diff --git a/Makefile.grf.in b/Makefile.grf.in index 81089efb11..1cc2642320 100644 --- a/Makefile.grf.in +++ b/Makefile.grf.in @@ -5,16 +5,13 @@ # OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see . # -# Building requires GRFCodec and NFORenum. Older versions of GRFCodec are -# known to miscompile the graphics. +# Building requires GRFCodec. # -# Recent nightlies (including sources) of both can be found at: +# Recent versions (including sources) can be found at: # http://www.openttd.org/download-grfcodec -# http://www.openttd.org/download-nforenum # -# The mercurial repository of both can be found at: +# The mercurial repository can be found at: # http://hg.openttdcoop.org/grfcodec -# http://hg.openttdcoop.org/nforenum # @@ -75,10 +72,10 @@ $(BIN_DIR)/%.obm: $(BASESET_DIR)/%.obm $(OBJS_DIR)/langfiles.tmp $(BASESET_DIR)/ $(Q) awk -v langfiles='$(OBJS_DIR)/langfiles.tmp' -f $(BASESET_DIR)/translations.awk $< >$@ # Compile extra grf -$(BIN_DIR)/openttd.grf: $(PNG_FILES) $(NFO_FILES) $(OBJS_DIR)/sprites +$(BIN_DIR)/openttd.grf: $(PNG_FILES) $(NFO_FILES) $(OBJS_DIR)/sprites $(GRF_DIR)/assemble_nfo.awk $(E) '$(STAGE) Assembling openttd.nfo' $(Q)-cp $(PNG_FILES) $(OBJS_DIR)/sprites 2> /dev/null - $(Q) $(CC_BUILD) -nostdinc -I$(GRF_DIR) -C -E - < "$(GRF_DIR)/openttd.nfo" | sed -e '/^#/d' -e '/^$$/d' > $(OBJS_DIR)/sprites/openttd.nfo + $(Q) awk -f $(GRF_DIR)/assemble_nfo.awk $(GRF_DIR)/openttd.nfo > $(OBJS_DIR)/sprites/openttd.nfo $(Q) $(NFORENUM) -s $(OBJS_DIR)/sprites/openttd.nfo $(E) '$(STAGE) Compiling openttd.grf' $(Q) $(GRFCODEC) -n -s -e -p1 $(OBJS_DIR)/openttd.grf diff --git a/Makefile.lang.in b/Makefile.lang.in index 3df524d74e..fbed06b790 100644 --- a/Makefile.lang.in +++ b/Makefile.lang.in @@ -43,23 +43,23 @@ RES := $(shell mkdir -p $(BIN_DIR)/lang ) all: table/strings.h $(LANGS) -strgen_base.o: $(SRC_DIR)/strgen/strgen_base.cpp $(SRC_DIR)/strgen/strgen.h endian_host.h $(SRC_DIR)/table/control_codes.h $(SRC_DIR)/table/strgen_tables.h +strgen_base.o: $(SRC_DIR)/strgen/strgen_base.cpp $(SRC_DIR)/strgen/strgen.h endian_host.h $(SRC_DIR)/table/control_codes.h $(SRC_DIR)/table/strgen_tables.h $(SRC_DIR)/safeguards.h $(E) '$(STAGE) Compiling $(<:$(SRC_DIR)/%.cpp=%.cpp)' $(Q)$(CXX_BUILD) $(CFLAGS_BUILD) $(CXXFLAGS_BUILD) -DSTRGEN -c -o $@ $< -strgen.o: $(SRC_DIR)/strgen/strgen.cpp $(SRC_DIR)/strgen/strgen.h endian_host.h $(SRC_DIR)/table/control_codes.h $(SRC_DIR)/table/strgen_tables.h +strgen.o: $(SRC_DIR)/strgen/strgen.cpp $(SRC_DIR)/strgen/strgen.h endian_host.h $(SRC_DIR)/table/control_codes.h $(SRC_DIR)/table/strgen_tables.h $(SRC_DIR)/safeguards.h $(E) '$(STAGE) Compiling $(<:$(SRC_DIR)/%.cpp=%.cpp)' $(Q)$(CXX_BUILD) $(CFLAGS_BUILD) $(CXXFLAGS_BUILD) -DSTRGEN -c -o $@ $< -string.o: $(SRC_DIR)/string.cpp endian_host.h +string.o: $(SRC_DIR)/string.cpp endian_host.h $(SRC_DIR)/safeguards.h $(E) '$(STAGE) Compiling $(<:$(SRC_DIR)/%.cpp=%.cpp)' $(Q)$(CXX_BUILD) $(CFLAGS_BUILD) $(CXXFLAGS_BUILD) -DSTRGEN -c -o $@ $< -alloc_func.o: $(SRC_DIR)/core/alloc_func.cpp endian_host.h +alloc_func.o: $(SRC_DIR)/core/alloc_func.cpp endian_host.h $(SRC_DIR)/safeguards.h $(E) '$(STAGE) Compiling $(<:$(SRC_DIR)/%.cpp=%.cpp)' $(Q)$(CXX_BUILD) $(CFLAGS_BUILD) $(CXXFLAGS_BUILD) -DSTRGEN -c -o $@ $< -getoptdata.o: $(SRC_DIR)/misc/getoptdata.cpp $(SRC_DIR)/misc/getoptdata.h +getoptdata.o: $(SRC_DIR)/misc/getoptdata.cpp $(SRC_DIR)/misc/getoptdata.h $(SRC_DIR)/safeguards.h $(E) '$(STAGE) Compiling $(<:$(SRC_DIR)/misc/%.cpp=%.cpp)' $(Q)$(CXX_BUILD) $(CFLAGS_BUILD) $(CXXFLAGS_BUILD) -DSTRGEN -c -o $@ $< diff --git a/Makefile.setting.in b/Makefile.setting.in index fa00c7b90a..d89501d21b 100644 --- a/Makefile.setting.in +++ b/Makefile.setting.in @@ -28,23 +28,23 @@ endif all: table/settings.h -settingsgen.o: $(SRC_DIR)/settingsgen/settingsgen.cpp $(SRC_DIR)/string_func.h $(SRC_DIR)/strings_type.h $(SRC_DIR)/misc/getoptdata.h $(SRC_DIR)/ini_type.h $(SRC_DIR)/core/smallvec_type.hpp +settingsgen.o: $(SRC_DIR)/settingsgen/settingsgen.cpp $(SRC_DIR)/string_func.h $(SRC_DIR)/strings_type.h $(SRC_DIR)/misc/getoptdata.h $(SRC_DIR)/ini_type.h $(SRC_DIR)/core/smallvec_type.hpp $(SRC_DIR)/safeguards.h $(E) '$(STAGE) Compiling $(<:$(SRC_DIR)/%.cpp=%.cpp)' $(Q)$(CXX_BUILD) $(CFLAGS_BUILD) $(CXXFLAGS_BUILD) -DSETTINGSGEN -c -o $@ $< -alloc_func.o: $(SRC_DIR)/core/alloc_func.cpp endian_host.h +alloc_func.o: $(SRC_DIR)/core/alloc_func.cpp endian_host.h $(SRC_DIR)/safeguards.h $(E) '$(STAGE) Compiling $(<:$(SRC_DIR)/%.cpp=%.cpp)' $(Q)$(CXX_BUILD) $(CFLAGS_BUILD) $(CXXFLAGS_BUILD) -DSETTINGSGEN -c -o $@ $< -getoptdata.o: $(SRC_DIR)/misc/getoptdata.cpp $(SRC_DIR)/misc/getoptdata.h +getoptdata.o: $(SRC_DIR)/misc/getoptdata.cpp $(SRC_DIR)/misc/getoptdata.h $(SRC_DIR)/safeguards.h $(E) '$(STAGE) Compiling $(<:$(SRC_DIR)/misc/%.cpp=%.cpp)' $(Q)$(CXX_BUILD) $(CFLAGS_BUILD) $(CXXFLAGS_BUILD) -DSETTINGSGEN -c -o $@ $< -string.o: $(SRC_DIR)/string.cpp endian_host.h +string.o: $(SRC_DIR)/string.cpp endian_host.h $(SRC_DIR)/safeguards.h $(E) '$(STAGE) Compiling $(<:$(SRC_DIR)/%.cpp=%.cpp)' $(Q)$(CXX_BUILD) $(CFLAGS_BUILD) $(CXXFLAGS_BUILD) -DSETTINGSGEN -c -o $@ $< -ini_load.o: $(SRC_DIR)/ini_load.cpp $(SRC_DIR)/core/alloc_func.hpp $(SRC_DIR)/core/mem_func.hpp $(SRC_DIR)/ini_type.h $(SRC_DIR)/string_func.h +ini_load.o: $(SRC_DIR)/ini_load.cpp $(SRC_DIR)/core/alloc_func.hpp $(SRC_DIR)/core/mem_func.hpp $(SRC_DIR)/ini_type.h $(SRC_DIR)/string_func.h $(SRC_DIR)/safeguards.h $(E) '$(STAGE) Compiling $(<:$(SRC_DIR)/%.cpp=%.cpp)' $(Q)$(CXX_BUILD) $(CFLAGS_BUILD) $(CXXFLAGS_BUILD) -DSETTINGSGEN -c -o $@ $< diff --git a/bin/ai/compat_1.5.nut b/bin/ai/compat_1.5.nut index fe985b90d0..71a46ff7a0 100644 --- a/bin/ai/compat_1.5.nut +++ b/bin/ai/compat_1.5.nut @@ -6,3 +6,5 @@ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see . */ + +AILog.Info("1.5 API compatibility in effect."); diff --git a/bin/ai/compat_1.6.nut b/bin/ai/compat_1.6.nut new file mode 100644 index 0000000000..fe985b90d0 --- /dev/null +++ b/bin/ai/compat_1.6.nut @@ -0,0 +1,8 @@ +/* $Id$ */ + +/* + * 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. + * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see . + */ diff --git a/bin/ai/regression/completeness.sh b/bin/ai/regression/completeness.sh index e2e4dccd80..9f5e96eb0b 100755 --- a/bin/ai/regression/completeness.sh +++ b/bin/ai/regression/completeness.sh @@ -2,12 +2,12 @@ # $Id$ -if ! [ -f ai/regression/regression.nut ]; then +if ! [ -f ai/regression/completeness.sh ]; then echo "Make sure you are in the root of OpenTTD before starting this script." exit 1 fi -cat ai/regression/regression.nut | tr ';' '\n' | awk ' +cat ai/regression/tst_*/main.nut | tr ';' '\n' | awk ' /^function/ { for (local in locals) { delete locals[local] @@ -61,7 +61,7 @@ cat ai/regression/regression.nut | tr ';' '\n' | awk ' } ' | sed 's/ //g' | sort | uniq > tmp.in_regression -grep 'DefSQ.*Method' ../src/ai/api/*.hpp.sq | grep -v 'AIError::' | grep -v 'AIAbstractList::Valuate' | grep -v '::GetClassName' | sed 's/^[^,]*, &//g;s/,[^,]*//g' | sort > tmp.in_api +grep 'DefSQ.*Method' ../src/script/api/ai/*.hpp.sq | grep -v 'AIError::' | grep -v 'AIAbstractList::Valuate' | grep -v '::GetClassName' | sed 's/^[^,]*, &//g;s/,[^,]*//g' | sort > tmp.in_api diff -u tmp.in_regression tmp.in_api | grep -v '^+++' | grep '^+' | sed 's/^+//' diff --git a/bin/ai/regression/regression.sav b/bin/ai/regression/empty.sav similarity index 100% rename from bin/ai/regression/regression.sav rename to bin/ai/regression/empty.sav diff --git a/bin/ai/regression/regression_info.nut b/bin/ai/regression/regression_info.nut index 6eb19140d1..4e7aec7568 100644 --- a/bin/ai/regression/regression_info.nut +++ b/bin/ai/regression/regression_info.nut @@ -4,9 +4,9 @@ class Regression extends AIInfo { function GetAuthor() { return "OpenTTD NoAI Developers Team"; } function GetName() { return "Regression"; } function GetShortName() { return "REGR"; } - function GetDescription() { return "This runs regression-tests on all commands. On the same map the result should always be the same."; } + 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.5"; } + function GetAPIVersion() { return "1.6"; } function GetDate() { return "2007-03-18"; } function CreateInstance() { return "Regression"; } } diff --git a/bin/ai/regression/run.sh b/bin/ai/regression/run.sh index 3420742e94..d47a664ea3 100755 --- a/bin/ai/regression/run.sh +++ b/bin/ai/regression/run.sh @@ -2,14 +2,11 @@ # $Id$ -if ! [ -f ai/regression/regression.nut ]; then +if ! [ -f ai/regression/run.sh ]; then echo "Make sure you are in the root of OpenTTD before starting this script." exit 1 fi -cp ai/regression/regression.nut ai/regression/main.nut -cp ai/regression/regression_info.nut ai/regression/info.nut - if [ -f scripts/game_start.scr ]; then mv scripts/game_start.scr scripts/game_start.scr.regression fi @@ -22,27 +19,46 @@ fi if [ "$1" = "-g" ]; then gdb="gdb --ex run --args " fi -if [ -n "$gdb" ]; then - $gdb ./openttd -x -c ai/regression/regression.cfg $params -g ai/regression/regression.sav + +if [ -d "ai/regression/tst_$1" ]; then + tests="ai/regression/tst_$1" +elif [ -d "ai/regression/tst_$2" ]; then + tests="ai/regression/tst_$2" else - ./openttd -x -c ai/regression/regression.cfg $params -g ai/regression/regression.sav -d script=2 -d misc=9 2>&1 | awk '{ gsub("0x(\\(nil\\)|0+)(x0)?", "0x00000000", $0); gsub("^dbg: \\[script\\]", "", $0); gsub("^ ", "ERROR: ", $0); gsub("ERROR: \\[1\\] ", "", $0); gsub("\\[P\\] ", "", $0); print $0; }' | grep -v '^dbg: \[.*\]' > tmp.regression + tests=ai/regression/tst_* fi ret=0 -if [ -z "$gdb" ]; then - res="`diff -ub ai/regression/regression.txt tmp.regression`" - if [ -z "$res" ]; then - echo "Regression test passed!" - else - echo "Regression test failed! Difference:" - echo "$res" - ret=1 - fi - echo "" - echo "Regression test done" -fi +for tst in $tests; do + echo -n "Running $tst... " -rm -f ai/regression/main.nut ai/regression/info.nut + # Make sure that only one info.nut is present for each test run. Otherwise openttd gets confused. + cp ai/regression/regression_info.nut $tst/info.nut + + sav=$tst/test.sav + if ! [ -f $sav ]; then + sav=ai/regression/empty.sav + fi + + if [ -n "$gdb" ]; then + $gdb ./openttd -x -c ai/regression/regression.cfg $params -g $sav + else + ./openttd -x -c ai/regression/regression.cfg $params -g $sav -d script=2 -d misc=9 2>&1 | awk '{ gsub("0x(\\(nil\\)|0+)(x0)?", "0x00000000", $0); gsub("^dbg: \\[script\\]", "", $0); gsub("^ ", "ERROR: ", $0); gsub("ERROR: \\[1\\] ", "", $0); gsub("\\[P\\] ", "", $0); print $0; }' | grep -v '^dbg: \[.*\]' > tmp.regression + fi + + if [ -z "$gdb" ]; then + res="`diff -ub $tst/result.txt tmp.regression`" + if [ -z "$res" ]; then + echo "passed!" + else + echo "failed! Difference:" + echo "$res" + ret=1 + fi + fi + + rm $tst/info.nut +done if [ -f scripts/game_start.scr.regression ]; then mv scripts/game_start.scr.regression scripts/game_start.scr diff --git a/bin/ai/regression/regression.nut b/bin/ai/regression/tst_regression/main.nut similarity index 96% rename from bin/ai/regression/regression.nut rename to bin/ai/regression/tst_regression/main.nut index 5e8533a2e8..f575f53fff 100644 --- a/bin/ai/regression/regression.nut +++ b/bin/ai/regression/tst_regression/main.nut @@ -972,48 +972,7 @@ function Regression::Order() print(" SetStopLocation(): " + AIOrder.SetStopLocation(20, 0, AIOrder.STOPLOCATION_MIDDLE)); print(" GetStopLocation(): " + AIOrder.GetStopLocation(20, 0)); - local list = AIStationList_Vehicle(12); - - print(""); - print("--StationList_Vehicle--"); - print(" Count(): " + list.Count()); - list.Valuate(AIStation.GetLocation); - print(" Location ListDump:"); - for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) { - print(" " + i + " => " + list.GetValue(i)); - } - list.Valuate(AIStation.GetCargoWaiting, 0); - print(" CargoWaiting(0) ListDump:"); - for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) { - print(" " + i + " => " + list.GetValue(i)); - } - list.Valuate(AIStation.GetCargoWaiting, 1); - print(" CargoWaiting(1) ListDump:"); - for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) { - print(" " + i + " => " + list.GetValue(i)); - } - list.Valuate(AIStation.GetCargoRating, 1); - print(" CargoRating(1) ListDump:"); - for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) { - print(" " + i + " => " + list.GetValue(i)); - } - list.Valuate(AIStation.GetDistanceManhattanToTile, 30000); - print(" DistanceManhattanToTile(30000) ListDump:"); - for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) { - print(" " + i + " => " + list.GetValue(i)); - } - list.Valuate(AIStation.GetDistanceSquareToTile, 30000); - print(" DistanceSquareToTile(30000) ListDump:"); - for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) { - print(" " + i + " => " + list.GetValue(i)); - } - list.Valuate(AIStation.IsWithinTownInfluence, 0); - print(" IsWithinTownInfluence(0) ListDump:"); - for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) { - print(" " + i + " => " + list.GetValue(i)); - } - - list = AIVehicleList_Station(3); + local list = AIVehicleList_Station(3); print(""); print("--VehicleList_Station--"); @@ -1234,10 +1193,6 @@ function Regression::Station() print(" GetLocation(1000): " + AIStation.GetLocation(1000)); print(" GetStationID(33411): " + AIStation.GetStationID(33411)); print(" GetStationID(34411): " + AIStation.GetStationID(34411)); - print(" GetCargoWaiting(0, 0): " + AIStation.GetCargoWaiting(0, 0)); - print(" GetCargoWaiting(1000, 0): " + AIStation.GetCargoWaiting(1000, 0)); - print(" GetCargoWaiting(0, 1000): " + AIStation.GetCargoWaiting(0, 1000)); - print(" GetStationID(33411): " + AIStation.GetStationID(33411)); print(" HasRoadType(3, TRAM): " + AIStation.HasRoadType(3, AIRoad.ROADTYPE_TRAM)); print(" HasRoadType(3, ROAD): " + AIStation.HasRoadType(3, AIRoad.ROADTYPE_ROAD)); @@ -1254,25 +1209,42 @@ function Regression::Station() print(" GetNearestTown(): " + AIStation.GetNearestTown(10000)); print(" GetNearestTown(): " + AIStation.GetNearestTown(3)); - local list = AIStationList(AIStation.STATION_BUS_STOP + AIStation.STATION_TRUCK_STOP); + print(""); + print("--CargoWaiting--"); + for (local cargo = 0; cargo <= 1000; cargo += 1000) { + for (local station0 = 0; station0 <= 1000; station0 += 1000) { + print(" GetCargoWaiting(" + station0 + ", " + cargo + "): " + + AIStation.GetCargoWaiting(station0, cargo)); + for (local station1 = 0; station1 <= 1000; station1 += 1000) { + print(" GetCargoWaitingFrom(" + station0 + ", " + station1 + ", " + cargo + "): " + + AIStation.GetCargoWaitingFrom(station0, station1, cargo)); + print(" GetCargoWaitingVia(" + station0 + ", " + station1 + ", " + cargo + "): " + + AIStation.GetCargoWaitingFrom(station0, station1, cargo)); + for (local station2 = 0; station2 <= 1000; station2 += 1000) { + print(" GetCargoWaitingFromVia(" + station0 + ", " + station1 + ", " + station2 + ", " + cargo + "): " + + AIStation.GetCargoWaitingFromVia(station0, station1, station2, cargo)); + } + } + } + } print(""); - print("--StationList--"); - print(" Count(): " + list.Count()); - list.Valuate(AIStation.GetLocation); - print(" Location ListDump:"); - for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) { - print(" " + i + " => " + list.GetValue(i)); - } - list.Valuate(AIStation.GetCargoWaiting, 0); - print(" CargoWaiting(0) ListDump:"); - for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) { - print(" " + i + " => " + list.GetValue(i)); - } - list.Valuate(AIStation.GetCargoWaiting, 1); - print(" CargoWaiting(1) ListDump:"); - for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) { - print(" " + i + " => " + list.GetValue(i)); + print("--CargoPlanned--"); + for (local cargo = 0; cargo <= 1000; cargo += 1000) { + for (local station0 = 0; station0 <= 1000; station0 += 1000) { + print(" GetCargoPlanned(" + station0 + ", " + cargo + "): " + + AIStation.GetCargoPlanned(station0, cargo)); + for (local station1 = 0; station1 <= 1000; station1 += 1000) { + print(" GetCargoPlannedFrom(" + station0 + ", " + station1 + ", " + cargo + "): " + + AIStation.GetCargoPlannedFrom(station0, station1, cargo)); + print(" GetCargoPlannedVia(" + station0 + ", " + station1 + ", " + cargo + "): " + + AIStation.GetCargoPlannedFrom(station0, station1, cargo)); + for (local station2 = 0; station2 <= 1000; station2 += 1000) { + print(" GetCargoPlannedFromVia(" + station0 + ", " + station1 + ", " + station2 + ", " + cargo + "): " + + AIStation.GetCargoPlannedFromVia(station0, station1, station2, cargo)); + } + } + } } } diff --git a/bin/ai/regression/require.nut b/bin/ai/regression/tst_regression/require.nut similarity index 100% rename from bin/ai/regression/require.nut rename to bin/ai/regression/tst_regression/require.nut diff --git a/bin/ai/regression/regression.txt b/bin/ai/regression/tst_regression/result.txt similarity index 98% rename from bin/ai/regression/regression.txt rename to bin/ai/regression/tst_regression/result.txt index 5eab441031..c909e79322 100644 --- a/bin/ai/regression/regression.txt +++ b/bin/ai/regression/tst_regression/result.txt @@ -7487,9 +7487,6 @@ ERROR: IsEnd() is invalid as Begin() is never called GetLocation(1000): -1 GetStationID(33411): 4 GetStationID(34411): 65535 - GetCargoWaiting(0, 0): 0 - GetCargoWaiting(1000, 0): -1 - GetCargoWaiting(0, 1000): -1 GetStationID(33411): 4 HasRoadType(3, TRAM): false HasRoadType(3, ROAD): false @@ -7504,17 +7501,81 @@ ERROR: IsEnd() is invalid as Begin() is never called GetNearestTown(): 65535 GetNearestTown(): 10 ---StationList-- - Count(): 2 - Location ListDump: - 5 => 33421 - 4 => 33411 - CargoWaiting(0) ListDump: - 5 => 0 - 4 => 0 - CargoWaiting(1) ListDump: - 5 => 0 - 4 => 0 +--CargoWaiting-- + GetCargoWaiting(0, 0): 0 + GetCargoWaitingFrom(0, 0, 0): 0 + GetCargoWaitingVia(0, 0, 0): 0 + GetCargoWaitingFromVia(0, 0, 0, 0): 0 + GetCargoWaitingFromVia(0, 0, 1000, 0): -1 + GetCargoWaitingFrom(0, 1000, 0): -1 + GetCargoWaitingVia(0, 1000, 0): -1 + GetCargoWaitingFromVia(0, 1000, 0, 0): -1 + GetCargoWaitingFromVia(0, 1000, 1000, 0): -1 + GetCargoWaiting(1000, 0): -1 + GetCargoWaitingFrom(1000, 0, 0): -1 + GetCargoWaitingVia(1000, 0, 0): -1 + GetCargoWaitingFromVia(1000, 0, 0, 0): -1 + GetCargoWaitingFromVia(1000, 0, 1000, 0): -1 + GetCargoWaitingFrom(1000, 1000, 0): -1 + GetCargoWaitingVia(1000, 1000, 0): -1 + GetCargoWaitingFromVia(1000, 1000, 0, 0): -1 + GetCargoWaitingFromVia(1000, 1000, 1000, 0): -1 + GetCargoWaiting(0, 1000): -1 + GetCargoWaitingFrom(0, 0, 1000): -1 + GetCargoWaitingVia(0, 0, 1000): -1 + GetCargoWaitingFromVia(0, 0, 0, 1000): -1 + GetCargoWaitingFromVia(0, 0, 1000, 1000): -1 + GetCargoWaitingFrom(0, 1000, 1000): -1 + GetCargoWaitingVia(0, 1000, 1000): -1 + GetCargoWaitingFromVia(0, 1000, 0, 1000): -1 + GetCargoWaitingFromVia(0, 1000, 1000, 1000): -1 + GetCargoWaiting(1000, 1000): -1 + GetCargoWaitingFrom(1000, 0, 1000): -1 + GetCargoWaitingVia(1000, 0, 1000): -1 + GetCargoWaitingFromVia(1000, 0, 0, 1000): -1 + GetCargoWaitingFromVia(1000, 0, 1000, 1000): -1 + GetCargoWaitingFrom(1000, 1000, 1000): -1 + GetCargoWaitingVia(1000, 1000, 1000): -1 + GetCargoWaitingFromVia(1000, 1000, 0, 1000): -1 + GetCargoWaitingFromVia(1000, 1000, 1000, 1000): -1 + +--CargoPlanned-- + GetCargoPlanned(0, 0): 0 + GetCargoPlannedFrom(0, 0, 0): 0 + GetCargoPlannedVia(0, 0, 0): 0 + GetCargoPlannedFromVia(0, 0, 0, 0): 0 + GetCargoPlannedFromVia(0, 0, 1000, 0): -1 + GetCargoPlannedFrom(0, 1000, 0): -1 + GetCargoPlannedVia(0, 1000, 0): -1 + GetCargoPlannedFromVia(0, 1000, 0, 0): -1 + GetCargoPlannedFromVia(0, 1000, 1000, 0): -1 + GetCargoPlanned(1000, 0): -1 + GetCargoPlannedFrom(1000, 0, 0): -1 + GetCargoPlannedVia(1000, 0, 0): -1 + GetCargoPlannedFromVia(1000, 0, 0, 0): -1 + GetCargoPlannedFromVia(1000, 0, 1000, 0): -1 + GetCargoPlannedFrom(1000, 1000, 0): -1 + GetCargoPlannedVia(1000, 1000, 0): -1 + GetCargoPlannedFromVia(1000, 1000, 0, 0): -1 + GetCargoPlannedFromVia(1000, 1000, 1000, 0): -1 + GetCargoPlanned(0, 1000): -1 + GetCargoPlannedFrom(0, 0, 1000): -1 + GetCargoPlannedVia(0, 0, 1000): -1 + GetCargoPlannedFromVia(0, 0, 0, 1000): -1 + GetCargoPlannedFromVia(0, 0, 1000, 1000): -1 + GetCargoPlannedFrom(0, 1000, 1000): -1 + GetCargoPlannedVia(0, 1000, 1000): -1 + GetCargoPlannedFromVia(0, 1000, 0, 1000): -1 + GetCargoPlannedFromVia(0, 1000, 1000, 1000): -1 + GetCargoPlanned(1000, 1000): -1 + GetCargoPlannedFrom(1000, 0, 1000): -1 + GetCargoPlannedVia(1000, 0, 1000): -1 + GetCargoPlannedFromVia(1000, 0, 0, 1000): -1 + GetCargoPlannedFromVia(1000, 0, 1000, 1000): -1 + GetCargoPlannedFrom(1000, 1000, 1000): -1 + GetCargoPlannedVia(1000, 1000, 1000): -1 + GetCargoPlannedFromVia(1000, 1000, 0, 1000): -1 + GetCargoPlannedFromVia(1000, 1000, 1000, 1000): -1 --Tile-- HasTreeOnTile(): false @@ -9106,30 +9167,6 @@ ERROR: IsEnd() is invalid as Begin() is never called SetStopLocation(): true GetStopLocation(): 1 ---StationList_Vehicle-- - Count(): 2 - Location ListDump: - 5 => 33421 - 4 => 33411 - CargoWaiting(0) ListDump: - 5 => 0 - 4 => 0 - CargoWaiting(1) ListDump: - 5 => 0 - 4 => 0 - CargoRating(1) ListDump: - 5 => -1 - 4 => -1 - DistanceManhattanToTile(30000) ListDump: - 5 => 106 - 4 => 96 - DistanceSquareToTile(30000) ListDump: - 5 => 8818 - 4 => 7058 - IsWithinTownInfluence(0) ListDump: - 5 => 0 - 4 => 0 - --VehicleList_Station-- Count(): 1 Location ListDump: diff --git a/bin/ai/regression/tst_stationlist/main.nut b/bin/ai/regression/tst_stationlist/main.nut new file mode 100644 index 0000000000..60f3e4a4a7 --- /dev/null +++ b/bin/ai/regression/tst_stationlist/main.nut @@ -0,0 +1,216 @@ +/* $Id$ */ + +class Regression extends AIController { + function Start(); +}; + + +function Regression::StationList() +{ + local list = AIStationList(AIStation.STATION_BUS_STOP + AIStation.STATION_TRUCK_STOP); + + print(""); + print("--StationList--"); + print(" Count(): " + list.Count()); + list.Valuate(AIStation.GetLocation); + print(" Location ListDump:"); + for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) { + print(" " + i + " => " + list.GetValue(i)); + } + list.Valuate(AIStation.GetCargoWaiting, 0); + print(" CargoWaiting(0) ListDump:"); + for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) { + print(" " + i + " => " + list.GetValue(i)); + } + list.Valuate(AIStation.GetCargoWaiting, 1); + print(" CargoWaiting(1) ListDump:"); + for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) { + print(" " + i + " => " + list.GetValue(i)); + } +}; + +function Regression::StationList_Cargo() +{ + print(""); + print("--StationList_Cargo--"); + + for (local mode = AIStationList_Cargo.CM_WAITING; mode <= AIStationList_Cargo.CM_PLANNED; ++mode) { + print(" " + mode); + for (local selector = AIStationList_Cargo.CS_BY_FROM; selector <= AIStationList_Cargo.CS_FROM_BY_VIA ; ++selector) { + print(" " + selector); + local list = AIStationList_Cargo(mode, selector, 6, 0, 7); + for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) { + print(" " + i + " => " + list.GetValue(i)); + } + } + } +}; + +function Regression::StationList_CargoPlanned() +{ + print(""); + print("--StationList_CargoPlanned--"); + + for (local selector = AIStationList_Cargo.CS_BY_FROM; selector <= AIStationList_Cargo.CS_FROM_BY_VIA; ++selector) { + print(" " + selector); + local list = AIStationList_CargoPlanned(selector, 6, 0, 7); + for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) { + print(" " + i + " => " + list.GetValue(i)); + } + } +}; + +function Regression::StationList_CargoPlannedByFrom() +{ + print(""); + print("--StationList_CargoPlannedByFrom--"); + local list = AIStationList_CargoPlannedByFrom(2, 0); + for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) { + print(" " + i + " => " + list.GetValue(i)); + } +}; + +function Regression::StationList_CargoPlannedByVia() +{ + print(""); + print("--StationList_CargoPlannedByVia--"); + local list = AIStationList_CargoPlannedByVia(2, 0); + for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) { + print(" " + i + " => " + list.GetValue(i)); + } +}; + +function Regression::StationList_CargoPlannedViaByFrom() +{ + print(""); + print("--StationList_CargoPlannedViaByFrom--"); + local list = AIStationList_CargoPlannedViaByFrom(6, 0, 7); + for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) { + print(" " + i + " => " + list.GetValue(i)); + } +}; + +function Regression::StationList_CargoPlannedFromByVia() +{ + print(""); + print("--StationList_CargoPlannedFromByVia--"); + local list = AIStationList_CargoPlannedFromByVia(6, 0, 7); + for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) { + print(" " + i + " => " + list.GetValue(i)); + } +}; + +function Regression::StationList_CargoWaiting() +{ + print(""); + print("--StationList_CargoWaiting--"); + + for (local selector = AIStationList_Cargo.CS_BY_FROM; selector <= AIStationList_Cargo.CS_FROM_BY_VIA; ++selector) { + print(" " + selector); + local list = AIStationList_CargoWaiting(selector, 6, 0, 7); + for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) { + print(" " + i + " => " + list.GetValue(i)); + } + } +}; + +function Regression::StationList_CargoWaitingByFrom() +{ + print(""); + print("--StationList_CargoWaitingByFrom--"); + local list = AIStationList_CargoWaitingByFrom(2, 0); + for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) { + print(" " + i + " => " + list.GetValue(i)); + } +}; + +function Regression::StationList_CargoWaitingByVia() +{ + print(""); + print("--StationList_CargoWaitingByVia--"); + local list = AIStationList_CargoWaitingByVia(2, 0); + for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) { + print(" " + i + " => " + list.GetValue(i)); + } +}; + +function Regression::StationList_CargoWaitingViaByFrom() +{ + print(""); + print("--StationList_CargoWaitingViaByFrom--"); + local list = AIStationList_CargoWaitingViaByFrom(6, 0, 7); + for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) { + print(" " + i + " => " + list.GetValue(i)); + } +}; + +function Regression::StationList_CargoWaitingFromByVia() +{ + print(""); + print("--StationList_CargoWaitingFromByVia--"); + local list = AIStationList_CargoWaitingFromByVia(2, 0, 2); + for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) { + print(" " + i + " => " + list.GetValue(i)); + } +}; + +function Regression::StationList_Vehicle() +{ + local list = AIStationList_Vehicle(12); + + print(""); + print("--StationList_Vehicle--"); + print(" Count(): " + list.Count()); + list.Valuate(AIStation.GetLocation); + print(" Location ListDump:"); + for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) { + print(" " + i + " => " + list.GetValue(i)); + } + list.Valuate(AIStation.GetCargoWaiting, 0); + print(" CargoWaiting(0) ListDump:"); + for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) { + print(" " + i + " => " + list.GetValue(i)); + } + list.Valuate(AIStation.GetCargoWaiting, 1); + print(" CargoWaiting(1) ListDump:"); + for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) { + print(" " + i + " => " + list.GetValue(i)); + } + list.Valuate(AIStation.GetCargoRating, 1); + print(" CargoRating(1) ListDump:"); + for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) { + print(" " + i + " => " + list.GetValue(i)); + } + list.Valuate(AIStation.GetDistanceManhattanToTile, 30000); + print(" DistanceManhattanToTile(30000) ListDump:"); + for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) { + print(" " + i + " => " + list.GetValue(i)); + } + list.Valuate(AIStation.GetDistanceSquareToTile, 30000); + print(" DistanceSquareToTile(30000) ListDump:"); + for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) { + print(" " + i + " => " + list.GetValue(i)); + } + list.Valuate(AIStation.IsWithinTownInfluence, 0); + print(" IsWithinTownInfluence(0) ListDump:"); + for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) { + print(" " + i + " => " + list.GetValue(i)); + } +} + +function Regression::Start() +{ + StationList(); + StationList_Cargo(); + StationList_CargoPlanned(); + StationList_CargoPlannedByFrom(); + StationList_CargoPlannedByVia(); + StationList_CargoPlannedViaByFrom(); + StationList_CargoPlannedFromByVia(); + StationList_CargoWaiting(); + StationList_CargoWaitingByFrom(); + StationList_CargoWaitingByVia(); + StationList_CargoWaitingViaByFrom(); + StationList_CargoWaitingFromByVia(); + StationList_Vehicle(); +} diff --git a/bin/ai/regression/tst_stationlist/result.txt b/bin/ai/regression/tst_stationlist/result.txt new file mode 100644 index 0000000000..20e594766f --- /dev/null +++ b/bin/ai/regression/tst_stationlist/result.txt @@ -0,0 +1,127 @@ + +--StationList-- + Count(): 5 + Location ListDump: + 6 => 42341 + 2 => 41831 + 7 => 41825 + 5 => 33421 + 4 => 33411 + CargoWaiting(0) ListDump: + 7 => 6 + 6 => 6 + 2 => 3 + 5 => 0 + 4 => 0 + CargoWaiting(1) ListDump: + 7 => 0 + 6 => 0 + 5 => 0 + 4 => 0 + 2 => 0 + +--StationList_Cargo-- + 0 + 0 + 6 => 6 + 1 + 6 => 2 + 2 + 2 => 4 + 7 => 2 + 3 + 1 + 0 + 7 => 18 + 6 => 16 + 2 => 7 + 1 + 6 => 8 + 2 => 3 + 2 + 2 => 16 + 6 => 14 + 7 => 11 + 3 + 6 => 10 + 2 => 8 + +--StationList_CargoPlanned-- + 0 + 7 => 18 + 6 => 16 + 2 => 7 + 1 + 6 => 8 + 2 => 3 + 2 + 2 => 16 + 6 => 14 + 7 => 11 + 3 + 6 => 10 + 2 => 8 + +--StationList_CargoPlannedByFrom-- + 7 => 8 + 6 => 8 + 2 => 7 + +--StationList_CargoPlannedByVia-- + 2 => 16 + 6 => 7 + +--StationList_CargoPlannedViaByFrom-- + 6 => 8 + 2 => 3 + +--StationList_CargoPlannedFromByVia-- + 6 => 10 + 2 => 8 + +--StationList_CargoWaiting-- + 0 + 6 => 6 + 1 + 6 => 2 + 2 + 2 => 4 + 7 => 2 + 3 + +--StationList_CargoWaitingByFrom-- + 2 => 3 + +--StationList_CargoWaitingByVia-- + 6 => 3 + +--StationList_CargoWaitingViaByFrom-- + 6 => 2 + +--StationList_CargoWaitingFromByVia-- + 6 => 3 + +--StationList_Vehicle-- + Count(): 2 + Location ListDump: + 5 => 33421 + 4 => 33411 + CargoWaiting(0) ListDump: + 5 => 0 + 4 => 0 + CargoWaiting(1) ListDump: + 5 => 0 + 4 => 0 + CargoRating(1) ListDump: + 5 => -1 + 4 => -1 + DistanceManhattanToTile(30000) ListDump: + 5 => 106 + 4 => 96 + DistanceSquareToTile(30000) ListDump: + 5 => 8818 + 4 => 7058 + IsWithinTownInfluence(0) ListDump: + 5 => 0 + 4 => 0 +ERROR: The script died unexpectedly. diff --git a/bin/ai/regression/tst_stationlist/test.sav b/bin/ai/regression/tst_stationlist/test.sav new file mode 100644 index 0000000000..ef551c74ff Binary files /dev/null and b/bin/ai/regression/tst_stationlist/test.sav differ diff --git a/bin/baseset/no_music.obm b/bin/baseset/no_music.obm index 9482979c26..f782d23ea0 100644 --- a/bin/baseset/no_music.obm +++ b/bin/baseset/no_music.obm @@ -24,6 +24,7 @@ description.es_ES = Un conjunto de música vacío. description.et_EE = Muusikakogu ilma muusikata. description.fi_FI = Musiikkipaketti, jossa ei ole musiikkia. description.fr_FR = Un pack de musiques sans musiques. +description.ga_IE = Pacáiste ceoil gan aon cheol iarbhír ann. description.gd_GB = Pacaid ciùil anns nach eil fonn sam bith. description.gl_ES = Un conxunto de músicas sen ningunha música. description.hr_HR = Muzički paket bez ikakve muzike. @@ -33,6 +34,7 @@ description.is_IS = Tónlistarpakki sem er í raun án tónlistar. description.it_IT = Un pacchetto musicale non contenente alcuna musica. description.ja_JP = 空の音楽パック description.ko_KR = 실제 음악이 없는 음악 목록입니다. +description.la_VA = Sarcina musicae sine ulla musica. description.lb_LU = E Musikpack ouni aktuell Musik. description.lt_LT = Muzikos pakas be muzikos. description.lv_LV = Mūzikas kopa bez mūzikas diff --git a/bin/baseset/no_sound.obs b/bin/baseset/no_sound.obs index 3fa75d2f9b..9954845a35 100644 --- a/bin/baseset/no_sound.obs +++ b/bin/baseset/no_sound.obs @@ -25,6 +25,7 @@ description.et_EE = Helikogu ilma helideta. description.eu_ES = Soinurik gabeko soinu pakete bat description.fi_FI = Äänipaketti, jossa ei ole ääniä. description.fr_FR = Un pack de sons sans sons. +description.ga_IE = Pacáiste fuaimeanna gan aon fhuaimeanna ann. description.gd_GB = Pacaid fhuaimean anns nach eil fuaim sam bith. description.gl_ES = Un conxunto de sons sen ningún son description.hr_HR = Zvučni paket bez ikakvih zvukova. @@ -34,7 +35,8 @@ description.is_IS = Hljóðpakki án hljóðs. description.it_IT = Un pacchetto sonoro non contenente alcun suono. description.ja_JP = 空の効果音パック description.ko_KR = 아무런 효과음도 없는 효과음 팩입니다. -description.lb_LU = En Soundpack mat all den Sounds. +description.la_VA = Sarcina sonorum sine ullis sonis. +description.lb_LU = E Soundpack ouni iergendee Sound. description.lt_LT = Garsų pakas be jokių garsų. description.nb_NO = En lydpakke uten noen lyder. description.nl_NL = Een geluidset zonder geluid. diff --git a/bin/baseset/openttd.grf b/bin/baseset/openttd.grf index 5ee3115802..efe35ffd38 100644 Binary files a/bin/baseset/openttd.grf and b/bin/baseset/openttd.grf differ diff --git a/bin/baseset/orig_dos.obg b/bin/baseset/orig_dos.obg index d5f20332b5..ffe230ccf2 100644 --- a/bin/baseset/orig_dos.obg +++ b/bin/baseset/orig_dos.obg @@ -25,6 +25,7 @@ description.es_ES = Gráficos originales de Transport Tycoon Deluxe versión DOS description.et_EE = Algse Transport Tycoon Deluxe DOSi versiooni graafika. description.fi_FI = Alkuperäiset Transport Tycoon Deluxen DOS-version grafiikat. description.fr_FR = Graphiques originaux de Transport Tycoon Deluxe (version DOS). +description.ga_IE = Grafaicí bunaidhTransport Tycoon Deluxe, eagrán DOS. description.gd_GB = Grafaigeachd aig an deasachadh DOS tùsail aig Transport Tycoon Deluxe. description.gl_ES = Graficos da edición orixinal de Transport Tycoon Deluxe para DOS. description.hr_HR = Originalna grafika za Transport Tycoon Deluxe DOS izdanje. @@ -34,6 +35,7 @@ description.is_IS = Upprunalega grafíkin úr Transport Tycoon Deluxe DOS útgá description.it_IT = Grafica originale di Transport Tycoon Deluxe, edizione DOS. description.ja_JP = Transport Tycoon Deluxe オリジナル版 グラフィック (DOS) description.ko_KR = 오리지널 트랜스포트 타이쿤 디럭스 도스 에디션의 그래픽입니다. +description.la_VA = Graphica ex editione originale Transport Tycoon Deluxe DOS. description.lb_LU = Original Transport Tycoon Deluxe DOS Editioun Grafik. description.lt_LT = Originali Transport Tycoon Deluxe DOS leidimo grafika. description.nb_NO = Original grafikk fra Transport Tycoon Deluxe for DOS. @@ -70,7 +72,7 @@ TRGI.GRF = da6a6c9dcc451eec88d79211437b76a8 TRGC.GRF = ed446637e034104c5559b32c18afe78d TRGH.GRF = ee6616fb0e6ef6b24892c58c93d86fc9 TRGT.GRF = e30e8a398ae86c03dc534a8ac7dfb3b6 -OPENTTD.GRF = 75a93cea2ed455c2fd5dcbda39e53538 +OPENTTD.GRF = 505d96061556d3bb5cec6234096ec5bc [origin] default = You can find it on your Transport Tycoon Deluxe CD-ROM. diff --git a/bin/baseset/orig_dos.obs b/bin/baseset/orig_dos.obs index 4546e0c730..5ae658692d 100644 --- a/bin/baseset/orig_dos.obs +++ b/bin/baseset/orig_dos.obs @@ -24,6 +24,7 @@ description.es_ES = Sonidos originales de Transport Tycoon Deluxe versión DOS. description.et_EE = Algse Transport Tycoon Deluxe DOSi versiooni helid. description.fi_FI = Alkuperäiset Transport Tycoon Deluxen DOS-version äänet. description.fr_FR = Sons originaux de Transport Tycoon Deluxe (version DOS). +description.ga_IE = Fuaimeanna bunaidh Transport Tycoon Deluxe, eagrán DOS. description.gd_GB = Fuaimean aig an deasachadh DOS tùsail aig Transport Tycoon Deluxe. description.gl_ES = Sons da edición orixinal de Transport Tycoon Deluxe para DOS. description.hr_HR = Originalni zvukovi za Transport Tycoon Deluxe DOS izdanje. @@ -33,6 +34,7 @@ description.is_IS = Upprunalega hljóðið úr Transport Tycoon Deluxe DOS útg description.it_IT = Suoni originali di Transport Tycoon Deluxe, edizione DOS. description.ja_JP = Transport Tycoon Deluxe オリジナル版 効果音 (DOS) description.ko_KR = 오리지널 트랜스포트 타이쿤 도스 에디션의 효과음입니다. +description.la_VA = Soni ex editione originale Transport Tycoon Deluxe DOS. description.lb_LU = Original Transport Tycoon Deluxe DOS Editioun Sound. description.lt_LT = Originalūs Transport Tycoon Deluxe DOS leidimo garsai. description.nb_NO = Originale lyder fra Transport Tycoon Deluxe for DOS. diff --git a/bin/baseset/orig_dos_de.obg b/bin/baseset/orig_dos_de.obg index 4cc59f48c3..5649613eef 100644 --- a/bin/baseset/orig_dos_de.obg +++ b/bin/baseset/orig_dos_de.obg @@ -25,6 +25,7 @@ description.es_ES = Gráficos originales de Transport Tycoon Deluxe versión DOS description.et_EE = Algse Transport Tycoon Deluxe DOSi (Saksa) versiooni graafika. description.fi_FI = Alkuperäiset Saksassa julkaistun Transport Tycoon Deluxen DOS-version grafiikat. description.fr_FR = Graphiques originaux de Transport Tycoon Deluxe (version DOS allemande). +description.ga_IE = Grafaicí bunaidhTransport Tycoon Deluxe, eagrán DOS (Gearmánach). description.gd_GB = Grafaigeachd aig an deasachadh DOS (Gearmailteach) tùsail aig Transport Tycoon Deluxe. description.gl_ES = Graficos da edición orixinal (alemá) de Transport Tycoon Deluxe para DOS. description.hr_HR = Originalna grafika za Transport Tycoon Deluxe DOS (Njemački) izdanje. @@ -34,6 +35,7 @@ description.is_IS = Upprunalega grafíkin úr Transport Tycoon Deluxe DOS (þýs description.it_IT = Grafica originale di Transport Tycoon Deluxe (tedesco), edizione DOS. description.ja_JP = Transport Tycoon Deluxe オリジナル版 グラフィック (DOS・ドイツ版) description.ko_KR = 오리지널 트랜스포트 타이쿤 디럭스 도스 에디션(독일)의 그래픽입니다. +description.la_VA = Graphica ex editione originale Transport Tycoon Deluxe DOS (Germanica). description.lb_LU = Original Transport Tycoon Deluxe DOS (Däitsch) Editioun Grafik. description.lt_LT = Originali Transport Tycoon Deluxe DOS (Vokiečių) leidimo grafika. description.nb_NO = Original grafikk fra Transport Tycoon Deluxe for DOS (tysk). @@ -70,7 +72,7 @@ TRGI.GRF = da6a6c9dcc451eec88d79211437b76a8 TRGC.GRF = ed446637e034104c5559b32c18afe78d TRGH.GRF = ee6616fb0e6ef6b24892c58c93d86fc9 TRGT.GRF = fcde1d7e8a74197d72a62695884b909e -OPENTTD.GRF = 75a93cea2ed455c2fd5dcbda39e53538 +OPENTTD.GRF = 505d96061556d3bb5cec6234096ec5bc [origin] default = You can find it on your Transport Tycoon Deluxe CD-ROM. diff --git a/bin/baseset/orig_win.obg b/bin/baseset/orig_win.obg index ac1165bb4e..f9bd77934c 100644 --- a/bin/baseset/orig_win.obg +++ b/bin/baseset/orig_win.obg @@ -25,6 +25,7 @@ description.es_ES = Gráficos originales de Transport Tycoon Deluxe versión Win description.et_EE = Algse Transport Tycoon Deluxe Windowsi versiooni graafika. description.fi_FI = Alkuperäiset Transport Tycoon Deluxen Windows-version grafiikat. description.fr_FR = Graphiques originaux de Transport Tycoon Deluxe (version Windows). +description.ga_IE = Grafaicí bunaidhTransport Tycoon Deluxe, eagrán Windows. description.gd_GB = Grafaigeachd aig an deasachadh Windows tùsail aig Transport Tycoon Deluxe. description.gl_ES = Graficos da edición orixinal de Transport Tycoon Deluxe para Windows. description.hr_HR = Originalna grafika za Transport Tycoon Deluxe Windows izdanje. @@ -34,6 +35,7 @@ description.is_IS = Upprunalega grafíkin úr Transport Tycoon Deluxe Windows ú description.it_IT = Grafica originale di Transport Tycoon Deluxe, edizione Windows. description.ja_JP = Transport Tycoon Deluxe オリジナル版 グラフィック (Windows) description.ko_KR = 오리지널 트랜스포트 타이쿤 디럭스 윈도 에디션의 그래픽입니다. +description.la_VA = Graphica ex editione originale Transport Tycoon Deluxe Windows. description.lb_LU = Original Transport Tycoon Deluxe Windows Editioun Grafik. description.lt_LT = Originali Transport Tycoon Deluxe Windows leidimo grafika. description.nb_NO = Original grafikk fra Transport Tycoon Deluxe for Windows. @@ -70,7 +72,7 @@ TRGIR.GRF = 0c2484ff6be49fc63a83be6ab5c38f32 TRGCR.GRF = 3668f410c761a050b5e7095a2b14879b TRGHR.GRF = 06bf2b7a31766f048baac2ebe43457b1 TRGTR.GRF = de53650517fe661ceaa3138c6edb0eb8 -OPENTTD.GRF = 75a93cea2ed455c2fd5dcbda39e53538 +OPENTTD.GRF = 505d96061556d3bb5cec6234096ec5bc [origin] default = You can find it on your Transport Tycoon Deluxe CD-ROM. diff --git a/bin/baseset/orig_win.obm b/bin/baseset/orig_win.obm index 73a3a6c52e..203c0417c3 100644 --- a/bin/baseset/orig_win.obm +++ b/bin/baseset/orig_win.obm @@ -24,6 +24,7 @@ description.es_ES = Música original de Transport Tycoon Deluxe versión Windows description.et_EE = Algse Transport Tycoon Deluxe Windowsi versiooni muusika. description.fi_FI = Alkuperäinen Transport Tycoon Deluxen Windows-version musiikki. description.fr_FR = Musiques originales de Transport Tycoon Deluxe (version Windows). +description.ga_IE = Ceol bunaidh Transport Tycoon Deluxe, eagrán Windows. description.gd_GB = Ceòl aig an deasachadh Windows tùsail aig Transport Tycoon Deluxe. description.gl_ES = Música da edición orixinal de Transport Tycoon Deluxe para Windows. description.hr_HR = Originalna muzika za Transport Tycoon Deluxe Windows izdanje. @@ -33,7 +34,8 @@ description.is_IS = Upprunalega tónlistin úr Transport Tycoon Deluxe Windows description.it_IT = Musica originale di Transport Tycoon Deluxe, edizione Windows. description.ja_JP = Transport Tycoon Deluxe オリジナル版 音楽 (Windows) description.ko_KR = 오리지널 트랜스포트 타이쿤 디럭스 윈도 에디션의 음악입니다. -description.lb_LU = Original Transport Tycoon Deluxe Windows Editioun Music. +description.la_VA = Musica ex editione originale Transport Tycoon Deluxe Windows. +description.lb_LU = Original Transport Tycoon Deluxe Windows Editioun Musik. description.lt_LT = Originali Transport Tycoon Deluxe Windows leidimo muzika. description.lv_LV = Oriģinālā Transport Tycoon Deluxe Windows izdevuma mūzika. description.nb_NO = Original musikk fra Transport Tycoon Deluxe for Windows. diff --git a/bin/baseset/orig_win.obs b/bin/baseset/orig_win.obs index 215ff16a3d..33164e9584 100644 --- a/bin/baseset/orig_win.obs +++ b/bin/baseset/orig_win.obs @@ -24,6 +24,7 @@ description.es_ES = Sonidos originales de Transport Tycoon Deluxe versión Windo description.et_EE = Algse Transport Tycoon Deluxe Windowsi versiooni helid. description.fi_FI = Alkuperäiset Transport Tycoon Deluxen Windows-version äänet. description.fr_FR = Sons originaux de Transport Tycoon Deluxe (version Windows). +description.ga_IE = Fuaimeanna bunaidh Transport Tycoon Deluxe, eagrán Windows. description.gd_GB = Fuaimean aig an deasachadh Windows tùsail aig Transport Tycoon Deluxe. description.gl_ES = Sons da edición orixinal de Transport Tycoon Deluxe para Windows. description.hr_HR = Originalni zvukovi za Transport Tycoon Deluxe Windows izdanje. @@ -33,6 +34,7 @@ description.is_IS = Upprunalega hljóðið úr Transport Tycoon Deluxe Windows description.it_IT = Suoni originali di Transport Tycoon Deluxe, edizione Windows. description.ja_JP = Transport Tycoon Deluxe オリジナル版 効果音 (Windows) description.ko_KR = 오리지널 트랜스포트 타이쿤 디럭스 윈도 에디션의 효과음입니다. +description.la_VA = Soni ex editione originale Transport Tycoon Deluxe Windows. description.lb_LU = Original Transport Tycoon Deluxe Windows Editioun Sound. description.lt_LT = Originalūs Transport Tycoon Deluxe Windows leidimo garsai. description.nb_NO = Originale lyder fra Transport Tycoon Deluxe for Windows. diff --git a/bin/game/compat_1.2.nut b/bin/game/compat_1.2.nut index 37ff5907df..aa5d48c3a3 100644 --- a/bin/game/compat_1.2.nut +++ b/bin/game/compat_1.2.nut @@ -16,3 +16,10 @@ GSTown.SetGrowthRate <- function(town_id, days_between_town_growth) if (days_between_town_growth == 0) days_between_town_growth = GSTown.TOWN_GROWTH_NORMAL; return GSTown._SetGrowthRate(town_id, days_between_town_growth); } + +/* 1.5 adds a game element reference to the news. */ +GSNews._Create <- GSNews.Create; +GSNews.Create <- function(type, text, company) +{ + return GSNews._Create(type, text, company, GSNews.NR_NONE, 0); +} diff --git a/bin/game/compat_1.3.nut b/bin/game/compat_1.3.nut index 4116addbbc..78a03534df 100644 --- a/bin/game/compat_1.3.nut +++ b/bin/game/compat_1.3.nut @@ -16,3 +16,10 @@ GSTown.SetGrowthRate <- function(town_id, days_between_town_growth) if (days_between_town_growth == 0) days_between_town_growth = GSTown.TOWN_GROWTH_NORMAL; return GSTown._SetGrowthRate(town_id, days_between_town_growth); } + +/* 1.5 adds a game element reference to the news. */ +GSNews._Create <- GSNews.Create; +GSNews.Create <- function(type, text, company) +{ + return GSNews._Create(type, text, company, GSNews.NR_NONE, 0); +} diff --git a/bin/game/compat_1.4.nut b/bin/game/compat_1.4.nut index 969c1e865b..a00431ed64 100644 --- a/bin/game/compat_1.4.nut +++ b/bin/game/compat_1.4.nut @@ -8,3 +8,10 @@ */ GSLog.Info("1.4 API compatibility in effect."); + +/* 1.5 adds a game element reference to the news. */ +GSNews._Create <- GSNews.Create; +GSNews.Create <- function(type, text, company) +{ + return GSNews._Create(type, text, company, GSNews.NR_NONE, 0); +} diff --git a/bin/game/compat_1.5.nut b/bin/game/compat_1.5.nut index fe985b90d0..96a7647ff6 100644 --- a/bin/game/compat_1.5.nut +++ b/bin/game/compat_1.5.nut @@ -6,3 +6,5 @@ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see . */ + +GSLog.Info("1.5 API compatibility in effect."); diff --git a/bin/game/compat_1.6.nut b/bin/game/compat_1.6.nut new file mode 100644 index 0000000000..fe985b90d0 --- /dev/null +++ b/bin/game/compat_1.6.nut @@ -0,0 +1,8 @@ +/* $Id$ */ + +/* + * 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. + * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see . + */ diff --git a/changelog.txt b/changelog.txt index c7576aed65..4fa211c9f9 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,3 +1,218 @@ +1.5.0-beta2 (2015-02-24) +------------------------------------------------------------------------ +- Feature: [NoGo] Game scripts can point to a location, station, industry, or town when publishing news. (r27164) +- Feature: Allow changing max heightlevel in scenario editor. (r27151) +- Feature: Make use of both rocky tile sets from the base graphics. (r27117) +- Change: Scale (non-custom) default window sizes according to GUI zoom. (r27147) +- Change: Make statusbar and chat-entry window use the same width as the toolbar. (r27146) +- Change: The chatbox-width setting now uses percent of screen width instead of pixels. (r27144) +- Change: [NewGRF] Interpret negative positions in industry layouts depending on GRF version. (r27138) +- Fix: [SDL, Windows] Right-mouse-button scrolling scrolled/jumped too far, when OpenTTD lagged during mouse event processing. (r27167) +- Fix: Toolbars were not invalidated when changing max-vehicles settings. [FS#6204] (r27163) +- Fix: Tile selection was drawn outside of map in some cases. [FS#6208] (r27162) +- Fix: Reimplement the viewport drawing algorithm. [FS#6156] [FS#6206] (r27161) +- Fix: Issues with smallmap and viewport coordinates and transformations. (r27160, r27159, r27158) +- Fix: Mark bridge middle tiles dirty when building/removing/changing bridges. (r27157) +- Fix: Rounding and unit-conversion inconsistencies in calls to MarkAllViewportsDirty. (r27148) +- Fix: Oilrig empty-tile checks were incorrect due to wrong TileIndexDiff->TileIndexDiffC conversion. (r27137) +- Fix: Misalignment in generate world window in case of small fonts. (r27135) +- Fix: Dragging of free wagons in depot failed with GUI zoom. (r27133) +- Fix: Reduce memory footprint of map array by shuffling its members. [FS#6218] (r27132, r27126) +- Fix: Dropdown- and tooltip-windows should not steal the focus. (r27131) +- Fix: [NewGRF] Action 7/9 condition 0A failed for present, but disabled, NewGRF. (r27119) +- Fix: Road vehicles could not reverse to be sent to depots when the following tile has the right type to run on, but could not be entered. [FS#6183] (r27107) +- Fix: Use the actual max speed of the vehicle in front when determining if a RV can overtake. [FS#6176] (r27106) +- Fix: grow_counter was not properly bounded by growth_rate, but by some other value used to calculate growth_rate. [FS#6195] (r27105) +- Fix: [Script] Support 64 bits integers in ScriptLists. [FS#6194] (r27104) +- Fix: [Script] Money values would end up wrong in strings when outside the bounds of a 32 bits integer. [FS#6194] (r27102) + + +1.5.0-beta1 (2014-12-24) +------------------------------------------------------------------------ +- Feature: Support .txt.gz and -txt.xz changelog, readme and license files in basesets, NewGRFs, etc (r27035, r27034) +- Feature: More height levels [FS#4126] (r27010) +- Feature: Latin translation (r26993) +- Feature: Add option to choose normal, double or quad-size interface (r26990) +- Feature: [Script] Swap method for script lists (r26894) +- Feature: [Script] ScriptStationList_Cargo for sorting cargo by from and via (r26893) +- Feature: [Script] API for retrieving planned flow (r26892) +- Feature: [CargoDist] Predict links for station-autorefitting vehicles (r26889) +- Feature: Setting for limiting the height of bridges (r26882) +- Feature: Make aircraft ascend/descend when they are too close to the ground or too far away (r26866) +- Feature: Allow hiding of non-interesting engines in the GUI (r26805, r26804) +- Feature: Vehicle sorting in autoreplace GUI [FS#1640] (r26800) +- Feature: [NewGRF] Advanced visual effects with multiple effect sprites independent of spawning model (r26988, r26747) +- Feature: Warn about missing industries after generating a map (r26729) +- Feature: Upgrade currently active NewGRFs to newest installed version (r26613) +- Feature: Save and load grfid and md5sum of NewGRFs in config file (r26611) +- Feature: Select an editable preset name for saving (r26610) +- Feature: Cancel cargo delivery from industries/houses to stations after about 21 months of not having picked up any of the cargo (r26582) +- Feature: Give a warning when a plane's orders tell it to use a runway which is too short for it [FS#6009] (r26566) +- Feature: [Script] Extended API for CargoDist (r26557) +- Feature: Show measured order times in timetable GUI also when not timetabled (r26550) +- Feature: Prompt for confirmation when deleting a vehicle group (r26455) +- Feature: Hierarchical vehicle subgroups (r26450) +- Feature: Allow more sound sleep for dedicated servers when there's nothing to do and nobody paying attention (r26449) +- Feature: [NewGRF] Add vehicle modflag 1 (unloading in progress) (r26430) +- Change: Improvements to the man page (r27091, r27012) +- Change: Allow to set the granularity of the tooltip hover time in milliseconds instead of seconds. New default value is 250ms (r26815) +- Change: Follow SI recommendation about spaces between numbers and units [FS#6086] (r26733) +- Change: [CargoDist] Save locations instead of distances in link graphs to reduce size (r26646) +- Change: [Squirrel] Make the internal integer for scripts always 64 bits, so scripts behave the same on 32 and 64 bit architectures and money can be represented properly (r26585, r26584) +- Change: Reshuffle advanced settings tree (r26614, r26536) +- Change: Add backend-independent config-file setting to disable 8bpp video modes, and disable 8bpp by default (r26522) +- Fix: [OS/2] Compile again [FS#6186] (r27092) +- Fix: Compilation with freetype2 version 2.5.4 and newer [FS#6185] (r27079) +- Fix: Variable 47 used the carge translation table of the wrong GRF in case of callback 1D [FS#6182] (r27075) +- Fix: Some lists did not use natural string sorting [FS#6172] (r27063) +- Fix: Mercurial version detection failed if personal presets were configured (r27059) +- Fix: [OSX] Don't require double-press from non-dead console hotkeys [FS#5812] (r27046) +- Fix: Crash when having the vehicle list opened from a buoy or oil rig when the buoy/oil rig is removed (r27030) +- Fix: Unit number was not always fully shown in depots [FS#6102] (r27014) +- Fix: [CargoDist] Reserve cargo only after unloading finished or if the vehicle has the desired cargo already [FS#6110] (r26918) +- Fix: [Squirrel] Loading a value saved as boolean caused it to be of type integer instead of boolean (r26785) +- Fix: [Squirrel] Harden string handling (r26777) +- Fix: [OSX] Implement more of the text editing API to prevent crashes and improve IME support [FS#5972] (r26758) +- Fix: Incorrect saving of order backups [FS#6066] (r26700) +- Fix: Ordering a vehicle to a competitor's rail waypoint displayed an error message. Ignore the click as is done for the other order types to competitor's stuff [FS#6059] (r26692) +- Fix: [Script] Loading/parsing of info .nuts was done in the same VM, causing e.g. constants to break the loading of info of other scripts [FS#5973] (r26617) +- Fix: [CargoDist] Improve estimation of link capacitites (r26549) +- Remove: A bunch of archaic settings from the GUI (r26528, r26526, r26525) + + +1.4.4 (2014-10-21) +------------------------------------------------------------------------ +(None) + + +1.4.4-RC1 (2014-10-08) +------------------------------------------------------------------------ +- Fix: Image widgets stored 32bit SpriteID in uint16 (r26971) +- Fix: Owner of road depot road types were not properly changed upon bankruptcy [FS#6126] (r26955) +- Fix: Compilation on HAIKU (r26922) +- Fix: Crash when enabling 'Full animation' if multiplayer chat text is on screen [FS#6096] (r26919) +- Fix: Height computation of game script text in town GUI did not consider margins [FS#6119] (r26859) +- Fix: [Squirrel] Debian lintian issues (r26853) +- Fix: Compilation of strgen on various platforms like Solaris (r26850) +- Fix: Better display of refit information for articulated vehicles [FS#6113] (r26849, r26848) +- Fix: Do not assign a next hop when returning cargo [FS#6110] (r26847) +- Fix: The ok-button in the OSK for the signs list should just close the OSK [FS#6116] (r26827) + + +1.4.3 (2014-09-23) +------------------------------------------------------------------------ +(None) + + +1.4.3-RC2 (2014-09-14) +------------------------------------------------------------------------ +- Fix: Crashes on joining a server with pending order backups [FS#6112] (r26819) +- Fix: Crashes on start due to dereferencing the -1 index of the file names array of music files (r26809) + + +1.4.3-RC1 (2014-09-07) +------------------------------------------------------------------------ +- Fix: TC_NO_SHADE did not work for 32bpp text rendering (r26792) +- Fix: Loading a game with order backups leaked Orders and left unreachable items in the pool (r26787) +- Fix: Buffer overrun in SQCompiler::Error (r26764) +- Fix: Desync due to not always properly restoring game state from the savegame (r26753) +- Fix: [Script] Crashes and infinite loops when using lists in item-descending order [FS#6085] (r26744) +- Fix: Incorrect CFLAGS when enabling gprof profiling (r26737, r26735) +- Fix: Do not reset the last selected airport or layout, unless it is really necessary [FS#6083] (r26732) +- Fix: Use the normal search path to look for xdg-open at Unix [FS#6077] (r26724) +- Fix: Properly check for cargo acceptance of houses [FS#5997] (r26723) + + +1.4.2 (2014-08-16) +------------------------------------------------------------------------ +(None) + + +1.4.2-RC2 (2014-08-03) +------------------------------------------------------------------------ +- Change: Use awk instead of trying to convince cpp to preprocess nfo files (r26708) +- Fix: CMD_CLEAR_ORDER_BACKUP should not be suppressed by pause modes (r26716) +- Fix: [NewGRF] Parameters to SCC_NEWGRF_PUSH_WORD and SCC_NEWGRF_UNPRINT were not skipped during drawing (r26713) +- Fix: [OSX] Compilation fails with some lzo2 versions, if __LP64__ is defined to 0 instead of checking whether it is defined [FS#6069] (r26709) +- Fix: Wrong breakdown sound was played for ships [FS#6015] (r26706) +- Fix: Integer overflows in acceleration code causing either too low acceleration or too high acceleration [FS#6067] (r26702) +- Fix: Discard incorrectly saved order backups when clients join [FS#6066] (r26700) +- Fix: Do not crash when trying to show an error about vehicle in a NewGRF and the NewGRF was not loaded at all (r26699) +- Fix: Slovak uses space as group separator in numbers [FS#6064] (r26695) +- Fix: Tighten parameter bound checks on GSCargoMonitor functions, and return -1 on out-of-bound parameters (r26685) + + +1.4.2-RC1 (2014-07-03) +------------------------------------------------------------------------ +- Fix: CargoPacket::SourceStation() returns a StationID (r26660) +- Fix: Days in dates are not represented by ordinal numbers in all languages [FS#6047] (r26657) +- Fix: Production cheat cannot be allowed to be active in multiplayer for desync reasons, even when activated in singleplayer previously [FS#6044] (r26656) +- Fix: Make sure an 'abs' is used that supports int64 when using 'abs' on those variables (r26651) +- Fix: Support save/load chunk lengths of up to (1 << 32) - 1 [FS#6041] (r26650) +- Fix: Incorrect usage of string commands in the base language [FS#6037] (r26642, r26640, r26639, r26632) +- Fix: Segmentation fault when encountering a .obg/.obs/.obm with empty string/zero length MD5 checksums [FS#6038] (r26637) +- Fix: The 'Load' button was not properly enabled/disabled for old savegames without NewGRF information (r26634) +- Fix: If the video driver fails to supply a list of resolutions, display an error message [FS#6012] (r26629) + + +1.4.1 (2014-06-02) +------------------------------------------------------------------------ +- Fix: First send packages about new company, then clients joining it to admin port [FS#6025] (r26616) + + +1.4.1-RC2 (2014-05-18) +------------------------------------------------------------------------ +- Fix: Save/load issues on big endian machines (r26593, r26590, r26589) +- Fix: Consider multiheaded trains in station refits [FS#5995] (r26586) +- Fix: Game script could be changed in game by double clicking [FS#5974] (r26583) +- Fix: Transfer stations also should have a cargo rating [FS#5989] (r26581, r26580) +- Fix: [Network] AIs would not reset certain network state information upon creation of their company [FS#6003] (r26578, r26576) +- Fix: [Network] Client of non-dedicated server was not correctly put into the first company for all state variables [FS#6001] (r26577) + + +1.4.1-RC1 (2014-05-04) +------------------------------------------------------------------------ +- Change: Remove demand calculation based on tiles (r26484) +- Change: Use pkg-config for libpng as well (r26435, r26433, r26432) +- Change: Use better distance metric for link graph [FS#5941] (r26411) +- Fix: [Windows] Crash when the operating system performs the "paint" callback during window creation [FS#5994] (r26539, r26538) +- Fix: OpenBSD compilation [FS#5992] (r26523) +- Fix: prevent from ever reading huge (or negative) amounts of data in strgen (r26521) +- Fix: Severity rating of dedicated server messages during world generation (r26518) +- Fix: Buffer overruns in handling of symbolic links inside tars (r26514) +- Fix: Incorrect usage of strecpy (r26505, r26485) +- Fix: Reading console input on dedicated server relied on unspecified behaviour (r26496) +- Fix: Allow single-vehicle consists to station-refit in a meaningful way (r26483) +- Fix: Prevent comparing to NULL when strndup could not allocate memory (r26476) +- Fix: Potentially undefined shifts in NewGRF code (r26475) +- Fix: Make sure there is no uninitialised sprite data (r26473) +- Fix: Draw text shadow for ellipses (r26467) +- Fix: Add special handling for PALETTE_CRASH to work for non-8bpp-mapped sprites (r26463) +- Fix: Avoid division by 0 when scaling flow values [FS#5970] (r26448) +- Fix: Draw links to match _settings_game.vehicle.road_side [FS#5961] (r26445) +- Fix: Load button for heightmap list was missing [FS#5953] (r26428) +- Fix: Do not crash when supplying an invalid filename without extension to cmd parameter -q (r26423) +- Fix: Some road constructions used the rail sound effect [FS#5946] (r26422) +- Fix: Goal GUI failed to shade [FS#5948] (r26420) +- Fix: Shares button state was not appropriately updated when switching setting or company [FS#5947] (r26416) + + +1.4.0 (2014-04-01) +------------------------------------------------------------------------ +(None) + + +1.4.0-RC1 (2014-03-18) +------------------------------------------------------------------------ +- Feature: [Script] APIs to get cargo waiting from/via other station (r26396) +- Fix: Do not explain "symmetric" cargodist mode when the setting does not allow it [FS#5939] (r26394) +- Fix: Update distances between link graph nodes when station sign is moved (r26393) +- Fix: No need to call OnFocus twice [FS#5933] (r26392) +- Fix: Select a specific font size when freetype fails to select one automatically [FS#5885] (r26389) +- Fix: Return correct values from ICU iterators in case of leading or trailing whitespace [FS#5924] (r26384) +- Fix: All goal commands invalidated the goal list of company 0 [FS#5932] (r26382) + + 1.4.0-beta5 (2014-02-25) ------------------------------------------------------------------------ - Feature: Warn the user about empty setting search results, and about missing setting search results due to filtering (r26322, r26321) diff --git a/config.lib b/config.lib index 0b355cdd3c..2c46e71279 100644 --- a/config.lib +++ b/config.lib @@ -526,10 +526,10 @@ check_params() { log 1 " PREPROCESSOR is only available for OSX" exit 1 fi - # OS only allows DETECT, UNIX, OSX, FREEBSD, OPENBSD, MORPHOS, BEOS, HAIKU, SUNOS, CYGWIN, MINGW, OS2, DOS, WINCE, and PSP - if [ -z "`echo $os | egrep '^(DETECT|UNIX|OSX|FREEBSD|OPENBSD|NETBSD|HPUX|MORPHOS|BEOS|HAIKU|SUNOS|CYGWIN|MINGW|OS2|DOS|WINCE|PSP)$'`" ]; then + # OS only allows DETECT, UNIX, OSX, FREEBSD, DRAGONFLY, OPENBSD, NETBSD, MORPHOS, BEOS, HAIKU, SUNOS, CYGWIN, MINGW, OS2, DOS, WINCE, and PSP + if [ -z "`echo $os | egrep '^(DETECT|UNIX|OSX|FREEBSD|DRAGONFLY|OPENBSD|NETBSD|HPUX|MORPHOS|BEOS|HAIKU|SUNOS|CYGWIN|MINGW|OS2|DOS|WINCE|PSP)$'`" ]; then log 1 "configure: error: invalid option --os=$os" - log 1 " Available options are: --os=[DETECT|UNIX|OSX|FREEBSD|OPENBSD|NETBSD|HPUX|MORPHOS|BEOS|HAIKU|SUNOS|CYGWIN|MINGW|OS2|DOS|WINCE|PSP]" + log 1 " Available options are: --os=[DETECT|UNIX|OSX|FREEBSD|DRAGONFLY|OPENBSD|NETBSD|HPUX|MORPHOS|BEOS|HAIKU|SUNOS|CYGWIN|MINGW|OS2|DOS|WINCE|PSP]" exit 1 fi # cpu_type can be either 32 or 64 @@ -1037,7 +1037,7 @@ check_params() { log 1 "checking revision... svn detection (tag)" elif [ -d "$ROOT_DIR/.git" ] && [ -n "`git help 2>/dev/null`" ]; then log 1 "checking revision... git detection" - elif [ -d "$ROOT_DIR/.hg" ] && [ -n "`hg help 2>/dev/null`" ]; then + elif [ -d "$ROOT_DIR/.hg" ] && [ -n "`HGPLAIN= hg help 2>/dev/null`" ]; then log 1 "checking revision... hg detection" elif [ -f "$ROOT_DIR/.ottdrev" ]; then log 1 "checking revision... source tarball" @@ -1054,7 +1054,7 @@ check_params() { fi if [ "$doc_dir" = "1" ]; then - if [ "$os" = "UNIX" ] || [ "$os" = "FREEBSD" ] || [ "$os" = "OPENBSD" ] || [ "$os" = "NETBSD" ] || [ "$os" = "HPUX" ] || [ "$os" = "SUNOS" ]; then + if [ "$os" = "UNIX" ] || [ "$os" = "FREEBSD" ] || [ "$os" = "DRAGONFLY" ] || [ "$os" = "OPENBSD" ] || [ "$os" = "NETBSD" ] || [ "$os" = "HPUX" ] || [ "$os" = "SUNOS" ]; then doc_dir="share/doc/openttd" else doc_dir="$data_dir/docs" @@ -1064,7 +1064,7 @@ check_params() { fi if [ "$icon_theme_dir" = "1" ]; then - if [ "$os" = "UNIX" ] || [ "$os" = "FREEBSD" ] || [ "$os" = "OPENBSD" ] || [ "$os" = "NETBSD" ] || [ "$os" = "HPUX" ] || [ "$os" = "SUNOS" ]; then + if [ "$os" = "UNIX" ] || [ "$os" = "FREEBSD" ] || [ "$os" = "DRAGONFLY" ] || [ "$os" = "OPENBSD" ] || [ "$os" = "NETBSD" ] || [ "$os" = "HPUX" ] || [ "$os" = "SUNOS" ]; then icon_theme_dir="share/icons/hicolor" else icon_theme_dir="" @@ -1098,7 +1098,7 @@ check_params() { if [ "$man_dir" = "1" ]; then # add manpage on UNIX systems - if [ "$os" = "UNIX" ] || [ "$os" = "FREEBSD" ] || [ "$os" = "OPENBSD" ] || [ "$os" = "NETBSD" ] || [ "$os" = "HPUX" ] || [ "$os" = "SUNOS" ] || [ "$os" = "OSX" ]; then + if [ "$os" = "UNIX" ] || [ "$os" = "FREEBSD" ] || [ "$os" = "DRAGONFLY" ] || [ "$os" = "OPENBSD" ] || [ "$os" = "NETBSD" ] || [ "$os" = "HPUX" ] || [ "$os" = "SUNOS" ] || [ "$os" = "OSX" ]; then man_dir="share/man/man6" else man_dir="" @@ -1109,7 +1109,7 @@ check_params() { if [ "$menu_dir" = "1" ]; then # add a freedesktop menu item only for some UNIX systems - if [ "$os" = "UNIX" ] || [ "$os" = "FREEBSD" ] || [ "$os" = "OPENBSD" ] || [ "$os" = "NETBSD" ] || [ "$os" = "HPUX" ] || [ "$os" = "SUNOS" ]; then + if [ "$os" = "UNIX" ] || [ "$os" = "FREEBSD" ] || [ "$os" = "DRAGONFLY" ] || [ "$os" = "OPENBSD" ] || [ "$os" = "NETBSD" ] || [ "$os" = "HPUX" ] || [ "$os" = "SUNOS" ]; then menu_dir="share/applications" else menu_dir="" @@ -1441,6 +1441,7 @@ make_cflags_and_ldflags() { make_compiler_cflags "$cc_host" "CFLAGS" "CXXFLAGS" "LDFLAGS" "FEATURES" CFLAGS="$CFLAGS -D$os" + CFLAGS_BUILD="$CFLAGS_BUILD -D$os" if [ "$enable_debug" = "0" ]; then # No debug, add default stuff @@ -1450,7 +1451,11 @@ make_cflags_and_ldflags() { LDFLAGS="$LDFLAGS -noixemul" fi - CFLAGS="-O2 -fomit-frame-pointer $CFLAGS" + if [ "$enable_profiling" = "0" ]; then + # -fomit-frame-pointer and -pg do not go well together (gcc errors they are incompatible) + CFLAGS="-fomit-frame-pointer $CFLAGS" + fi + CFLAGS="-O2 $CFLAGS" else OBJS_SUBDIR="debug" @@ -1494,7 +1499,7 @@ make_cflags_and_ldflags() { fi if [ "$enable_profiling" != "0" ]; then - CFLAGS="$CFLAGS -p" + CFLAGS="$CFLAGS -pg" LDFLAGS="$LDFLAGS -pg" fi @@ -1533,7 +1538,7 @@ make_cflags_and_ldflags() { fi fi - if [ "$os" != "CYGWIN" ] && [ "$os" != "HAIKU" ] && [ "$os" != "FREEBSD" ] && [ "$os" != "OPENBSD" ] && [ "$os" != "MINGW" ] && [ "$os" != "MORPHOS" ] && [ "$os" != "OSX" ] && [ "$os" != "DOS" ] && [ "$os" != "WINCE" ] && [ "$os" != "PSP" ] && [ "$os" != "OS2" ]; then + if [ "$os" != "CYGWIN" ] && [ "$os" != "HAIKU" ] && [ "$os" != "OPENBSD" ] && [ "$os" != "MINGW" ] && [ "$os" != "MORPHOS" ] && [ "$os" != "OSX" ] && [ "$os" != "DOS" ] && [ "$os" != "WINCE" ] && [ "$os" != "PSP" ] && [ "$os" != "OS2" ]; then LIBS="$LIBS -lpthread" fi @@ -1560,10 +1565,6 @@ make_cflags_and_ldflags() { LIBS="$LIBS -pthread" fi - if [ "$os" = "FREEBSD" ]; then - LIBS="$LIBS -lpthread" - fi - if [ "$os" = "OSX" ]; then LDFLAGS="$LDFLAGS -framework Cocoa" @@ -1605,7 +1606,7 @@ make_cflags_and_ldflags() { fi # Most targets act like UNIX, just with some additions - if [ "$os" = "BEOS" ] || [ "$os" = "HAIKU" ] || [ "$os" = "OSX" ] || [ "$os" = "MORPHOS" ] || [ "$os" = "FREEBSD" ] || [ "$os" = "OPENBSD" ] || [ "$os" = "NETBSD" ] || [ "$os" = "HPUX" ] || [ "$os" = "SUNOS" ] || [ "$os" = "OS2" ]; then + if [ "$os" = "BEOS" ] || [ "$os" = "HAIKU" ] || [ "$os" = "OSX" ] || [ "$os" = "MORPHOS" ] || [ "$os" = "FREEBSD" ] || [ "$os" = "DRAGONFLY" ] || [ "$os" = "OPENBSD" ] || [ "$os" = "NETBSD" ] || [ "$os" = "HPUX" ] || [ "$os" = "SUNOS" ] || [ "$os" = "OS2" ]; then CFLAGS="$CFLAGS -DUNIX" fi # And others like Windows @@ -2263,52 +2264,54 @@ detect_awk() { detect_os() { if [ "$os" = "DETECT" ]; then - # Detect UNIX, OSX, FREEBSD, OPENBSD, NETBSD, HPUX, MORPHOS, BEOS, SUNOS, CYGWIN, MINGW, OS2, DOS, WINCE, and PSP + # Detect UNIX, OSX, FREEBSD, DRAGONFLY, OPENBSD, NETBSD, HPUX, MORPHOS, BEOS, SUNOS, CYGWIN, MINGW, OS2, DOS, WINCE, and PSP # Try first via dumpmachine, then via uname os=`echo "$host" | tr '[A-Z]' '[a-z]' | $awk ' - /linux/ { print "UNIX"; exit} - /darwin/ { print "OSX"; exit} - /freebsd/ { print "FREEBSD"; exit} - /openbsd/ { print "OPENBSD"; exit} - /netbsd/ { print "NETBSD"; exit} - /hp-ux/ { print "HPUX"; exit} - /morphos/ { print "MORPHOS"; exit} - /beos/ { print "BEOS"; exit} - /haiku/ { print "HAIKU"; exit} - /sunos/ { print "SUNOS"; exit} - /solaris/ { print "SUNOS"; exit} - /cygwin/ { print "CYGWIN"; exit} - /mingw/ { print "MINGW"; exit} - /os2/ { print "OS2"; exit} - /dos/ { print "DOS"; exit} - /wince/ { print "WINCE"; exit} - /psp/ { print "PSP"; exit} + /linux/ { print "UNIX"; exit} + /darwin/ { print "OSX"; exit} + /freebsd/ { print "FREEBSD"; exit} + /dragonfly/ { print "DRAGONFLY"; exit} + /openbsd/ { print "OPENBSD"; exit} + /netbsd/ { print "NETBSD"; exit} + /hp-ux/ { print "HPUX"; exit} + /morphos/ { print "MORPHOS"; exit} + /beos/ { print "BEOS"; exit} + /haiku/ { print "HAIKU"; exit} + /sunos/ { print "SUNOS"; exit} + /solaris/ { print "SUNOS"; exit} + /cygwin/ { print "CYGWIN"; exit} + /mingw/ { print "MINGW"; exit} + /os2/ { print "OS2"; exit} + /dos/ { print "DOS"; exit} + /wince/ { print "WINCE"; exit} + /psp/ { print "PSP"; exit} '` if [ -z "$os" ]; then os=`LC_ALL=C uname | tr '[A-Z]' '[a-z]' | $awk ' - /linux/ { print "UNIX"; exit} - /darwin/ { print "OSX"; exit} - /freebsd/ { print "FREEBSD"; exit} - /openbsd/ { print "OPENBSD"; exit} - /netbsd/ { print "NETBSD"; exit} - /hp-ux/ { print "HPUX"; exit} - /morphos/ { print "MORPHOS"; exit} - /beos/ { print "BEOS"; exit} - /haiku/ { print "HAIKU"; exit} - /sunos/ { print "SUNOS"; exit} - /cygwin/ { print "CYGWIN"; exit} - /mingw/ { print "MINGW"; exit} - /os\/2/ { print "OS2"; exit} - /gnu/ { print "UNIX"; exit} + /linux/ { print "UNIX"; exit} + /darwin/ { print "OSX"; exit} + /freebsd/ { print "FREEBSD"; exit} + /dragonfly/ { print "DRAGONFLY"; exit} + /openbsd/ { print "OPENBSD"; exit} + /netbsd/ { print "NETBSD"; exit} + /hp-ux/ { print "HPUX"; exit} + /morphos/ { print "MORPHOS"; exit} + /beos/ { print "BEOS"; exit} + /haiku/ { print "HAIKU"; exit} + /sunos/ { print "SUNOS"; exit} + /cygwin/ { print "CYGWIN"; exit} + /mingw/ { print "MINGW"; exit} + /os\/2/ { print "OS2"; exit} + /gnu/ { print "UNIX"; exit} '` fi if [ -z "$os" ]; then log 1 "detecting OS... none detected" log 1 "I couldn't detect your OS. Please use --os=OS to force one" - log 1 "Allowed values are: UNIX, OSX, FREEBSD, OPENBSD, NETBSD, MORPHOS, HPUX, BEOS, HAIKU, SUNOS, CYGWIN, MINGW, OS2, DOS, WINCE, and PSP" + log 1 "Allowed values are: UNIX, OSX, FREEBSD, DRAGONFLY, OPENBSD, NETBSD, MORPHOS, HPUX, BEOS, HAIKU, SUNOS, CYGWIN, MINGW, OS2, DOS, WINCE, and PSP" exit 1 fi @@ -2937,7 +2940,7 @@ detect_icu() { # It was forced, so it should be found. if [ "$with_icu" != "1" ]; then log 1 "configure: error: icu-config couldn't be found" - log 1 "configure: error: you supplied '$with_icuconfig', but it seems invalid" + log 1 "configure: error: you supplied '$with_icu', but it seems invalid" exit 1 fi @@ -3178,9 +3181,9 @@ detect_grfcodec() { log 2 " returned $version" log 2 " exit code $ret" - if [ -z "$version" ] || [ "$ret" != "0" ] || [ "$version" -lt "949" ]; then - if [ -n "$version" ] && [ "$version" -lt "949" ]; then - log 1 "checking grfcodec... needs at least version 6.0.2 (r949), disabled" + if [ -z "$version" ] || [ "$ret" != "0" ] || [ "$version" -lt "985" ]; then + if [ -n "$version" ] && [ "$version" -lt "985" ]; then + log 1 "checking grfcodec... needs at least version 6.0.5 (r985), disabled" else log 1 "checking grfcodec... not found" fi @@ -3220,9 +3223,9 @@ detect_nforenum() { log 2 " returned $version" log 2 " exit code $ret" - if [ -z "$version" ] || [ "$ret" != "0" ] || [ "$version" -lt "949" ]; then - if [ -n "$version" ] && [ "$version" -lt "949" ]; then - log 1 "checking nforenum... needs at least version 6.0.2 (r949), disabled" + if [ -z "$version" ] || [ "$ret" != "0" ] || [ "$version" -lt "985" ]; then + if [ -n "$version" ] && [ "$version" -lt "985" ]; then + log 1 "checking nforenum... needs at least version 6.0.5 (r985), disabled" else log 1 "checking nforenum... not found" fi @@ -3587,9 +3590,9 @@ showhelp() { echo " --awk=AWK the awk to use in configure [awk]" echo " --lipo=LIPO the lipo to use (OSX ONLY) [HOST-lipo]" echo " --os=OS the OS we are compiling for [DETECT]" - echo " DETECT/UNIX/OSX/FREEBSD/OPENBSD/NETBSD/" - echo " MORPHOS/HPUX/BEOS/SUNOS/CYGWIN/MINGW/OS2/" - echo " DOS/WINCE/PSP/HAIKU" + echo " DETECT/UNIX/OSX/FREEBSD/DRAGONFLY/OPENBSD/" + echo " NETBSD/MORPHOS/HPUX/BEOS/SUNOS/CYGWIN/" + echo " MINGW/OS2/DOS/WINCE/PSP/HAIKU" echo " --endian=ENDIAN set the endian of the HOST (AUTO/LE/BE)" echo "" echo "Paths:" diff --git a/docs/desync.txt b/docs/desync.txt index fb53b62ae5..b0b6bd7d47 100644 --- a/docs/desync.txt +++ b/docs/desync.txt @@ -194,6 +194,7 @@ Table of contents - Get the same version of OpenTTD as the original server was running. - Uncomment/enable the define 'DEBUG_DUMP_COMMANDS' in 'src/network/network_func.h'. + (DEBUG_FAILED_DUMP_COMMANDS is explained later) - Put the 'commands-out.log' into the root save folder, and rename it to 'commands.log'. - Run 'openttd -D -d desync=3 -g startsavegame.sav'. @@ -217,6 +218,11 @@ Table of contents the last dmp_cmds that reproduces the replay and the first one that fails. + If the replay does not succeed without mismatch, you can check the logs + whether there were failed commands. Then you may try to replay with + DEBUG_FAILED_DUMP_COMMANDS enabled. If the replay then fails, the + command test-run of the failed command modified the game state. + If you have the original 'dmp_cmds_*.sav', you can also compare those savegames with your own ones from the replay. You can also comment/disable the 'NOT_REACHED' mentioned above, to get another 'dmp_cmds_*.sav' from diff --git a/docs/landscape.html b/docs/landscape.html index abf01c9d8b..f60e859fc3 100644 --- a/docs/landscape.html +++ b/docs/landscape.html @@ -15,20 +15,60 @@ For a graphical representation of the tile-layout have a look at Landscape grid page.

-

Eight attributes (counting "type_height") hold the informations about a tile.
+

Nine attributes (counting "type" and + "height") hold the informations about a tile.
These attributes are referred to as - "type_height", + "type", + "height", "m1", "m2", "m3", "m4", "m5", "m6" and "m7".
The most important value is the class of a tile, stored in the upper 4 bits - of the type_height attribute. The lower 4 bits are used to encode the height and - slope data. + of the type attribute.

Frequently repeating patterns:
    +
  • type +
      +
    • + + Bits 7..4: + + + + + + + + + + + + + +
      The tile type.
      00Ground
      01Railway tracks
      02Roads
      03Town building
      04Trees
      05Station tiles
      06Water
      07Void
      08Industries
      09Tunnel / bridge
      0AObjects
      +
    • + Bits 3..2: + + + + + +
      Presence and direction of bridge above.
      00no bridge
      01Axis X (North-East)
      02Axis Y (South-West)
      +
    • + + Bits 1..0: + + + + + +
      Only meaningfull in tropic climate. It contains the definition of the available zones
      00normal
      01desert
      02rain forest
      + In any other climate these 2 bits are theoretically free of use, however using them does not seem useful. +
    • +
  • m1
    • @@ -58,32 +98,6 @@
  • -
  • m6 -
      -
    • - - Bits 7..6: - - - - - -
      Presence and direction of bridge above, for tiles that support this.
      00no bridge
      01Axis X (North-East)
      02Axis Y (South-West)
      - Some tiles, such as houses do not support bridges over them and use these bits for other purposes. -
    • -
    • - - Bits 1..0: - - - - - -
      Only meaningfull in tropic climate. It contains the definition of the available zones
      00normal
      01desert
      02rain forest
      - In any other climate these 2 bits are theoretically free of use, however using them does not seem useful. -
    • -
    -
  • m7:
    Animation frame/state. Used for houses, industries, objects and stations.
  • @@ -196,9 +210,7 @@ -
  • m6 bits 7..6 : Possibility of a bridge above, in the direction specified
  • m6 bits 4..2: type of hedge on NW border of the tile
  • -
  • m6 bits 1..0 : Tropic zone definition
@@ -510,8 +522,6 @@
  • m5 bit 4: pbs reservation state
  • -
  • m6 bits 7..6 : Possibility of a bridge above, in the direction specified
  • -
  • m6 bits 1..0 : Tropic zone definition
  • @@ -539,6 +549,7 @@ +
  • m3 bits 7..4: owner of road type 1 (tram); OWNER_NONE (10) is stored as OWNER_TOWN (0F)
  • m5 bits 7 clear: road or level-crossing
    • m6 bits 5..3: @@ -573,7 +584,6 @@
    • -
    • m3 bits 7..4: owner of road type 1 (tram); OWNER_NONE (10) is stored as OWNER_TOWN (0F)
    • m5 bit 6 clear: road
      • m1 bits 4..0: owner of the road type 0 (normal road)
      • @@ -663,10 +673,9 @@ +
      • m7 bits 4..0: owner of the road type 0 (normal road)
    • -
    • m6 bits 7..6 : Possibility of a bridge above, in the direction specified
    • -
    • m6 bits 1..0 : Tropic zone definition
    @@ -713,7 +722,6 @@
  • bits 7..2 : lift position (for houses type 04 and 05)
  • -
  • bits 1..0 : tropic zone specifier
  • m7 : @@ -835,7 +843,6 @@
  • -
  • m6 bits 1..0 : Tropic zone definition
  • @@ -969,7 +976,6 @@
  • m6 bits 5..3: the station type (rail, airport, truck, bus, oilrig, dock, buoy, waypoint)
  • m6 bit 2: pbs reservation state for railway stations/waypoints
  • -
  • m6 bits 1..0 : Tropic zone definition
  • m7 bits 4..0: owner of road (road stops)
  • m7 bits 7..6: present road types (road stops)
  • m7: animation frame (railway stations/waypoints, airports)
  • @@ -1082,8 +1088,6 @@ -
  • m6 bits 7..6 : Possibility of a bridge above, in the direction specified
  • -
  • m6 bits 1..0 : Tropic zone definition
  • @@ -1101,7 +1105,7 @@ 8 - Industry tile + Industries   @@ -1425,7 +1429,6 @@
  • m6 bits 5..3: random triggers (NewGRF)
  • m6 bit 2: bit 8 of type (see m5)
  • -
  • m6 bits 1..0 : Tropic zone definition
  • m7: animation frame
  • @@ -1576,8 +1579,6 @@ -
  • m6 bits 7..6 : Possibility of a bridge above, in the direction specified
  • -
  • m6 bits 1..0 : Tropic zone definition
  • m7 bits 4..0: owner of road
  • m7 bit 5 set = on snow or desert
  • m7 bits 7..6: present road types for road
  • @@ -1598,8 +1599,6 @@
  • m2: index into the array of objects, bits 0 to 15 (upper bits in m5)
  • m3: random bits
  • m5: index into the array of objects, bits 16 to 23 (lower bits in m2)
  • -
  • m6 bits 7..6 : Possibility of a bridge above, in the direction specified
  • -
  • m6 bits 1..0 : Tropic zone definition
  • m7: animation counter
  • diff --git a/docs/landscape_grid.html b/docs/landscape_grid.html index e2f3c1f977..d34fe9840c 100644 --- a/docs/landscape_grid.html +++ b/docs/landscape_grid.html @@ -17,7 +17,7 @@

    Landscape

    -Six attributes hold the information about a tile. +Nine attributes hold the information about a tile. This can be seen in the Landscape document. This page tries to give an overview of used and free bits of the array so you can quickly see what is used and what is not.
      @@ -28,13 +28,14 @@ the array so you can quickly see what is used and what is not.

      -
    • type_height - 8 bits in size, stores tile height (lower 4 bits) and tile class (upper 4 bits)
    • +
    • type - 8 bits in size, tile class (bits 4..7), bridge (bits 2..3) tropic zone (bits 0..1, only valid in tropic climate)
    • +
    • height - 8 bits in size, stores tile height
    • m1 - 8 bits in size, used to identify the owner of that tile (eg piece of rail, bridge, etc.)
    • m2 - 16 bits in size, used to identify the index of the given tile (object) in the (object-)array
    • m3 - 8 bits in size, is used for general storage
    • m4 - 8 bits in size, is used for general storage
    • m5 - 8 bits in size, is used for general storage
    • -
    • m6 - 8 bits in size, special meaning : lower 2 bits only valid in tropic climate, upper 2 bits for bridges
    • +
    • m6 - 8 bits in size, is used for general storage
    • m7 - 8 bits in size, is used for general storage
    @@ -42,7 +43,8 @@ the array so you can quickly see what is used and what is not. class - type_height (8) + type (8) + height (8) m1 (8) m2 (16) m3 (8) @@ -55,6 +57,7 @@ the array so you can quickly see what is used and what is not. bits 7654 3210 7654 3210 + 7654 3210 FEDC BA98 7654 3210 7654 3210 7654 3210 @@ -66,69 +69,75 @@ the array so you can quickly see what is used and what is not. 0 ground XXXX XXXX + XXXX XXXX OOO~ ~~~~ OOOO OOOO OOOO OOOO XXXX OOOO XXXX XXOO XXXX XXXX - XXOX XXXX + OOOX XXOO OOOO OOOO farmland -inherit- -inherit- + -inherit- XXXX XXXX XXXX XXXX XXXX XXXX -inherit- -inherit- - XXOX XXXX + OOOX XXOO OOOO OOOO 1 rail XXXX XXXX + XXXX XXXX OOOX XXXX OOOO XXXX OOOO OOOO OOOO XXXX OOOO XXXX XXXX XXXX - XXOO OOXX + OOOO OOOO OOOO OOOO rail with signals -inherit- -inherit- + -inherit- OOOO XXXX XXXX XXXX XXXX XXXX XXXX XXXX -inherit- - XXOO OOXX + OOOO OOOO OOOO OOOO depot -inherit- -inherit- + -inherit- XXXX XXXX XXXX XXXX OOOO XXXX OOOO XXXX XXOX OOXX - XXOO OOXX + OOOO OOOO OOOO OOOO 2 road XXXX XXXX + XXXX XXXX OOOX XXXX XXXX XXXX XXXX XXXX XXXX XXXX OOOO OOOO XXXX XXXX - XXXX XOXX + OOXX XOOO XXXO XXXX @@ -136,10 +145,11 @@ the array so you can quickly see what is used and what is not. -inherit- -inherit- -inherit- + -inherit- XXXX XXXX -inherit- XXXX OOOX - XXXX XOXX + OOXX XOOO XXXX XXXX @@ -147,46 +157,50 @@ the array so you can quickly see what is used and what is not. -inherit- -inherit- -inherit- - OOOO OOOO + -inherit- + XXXX OOOO OOOO OOOO XXOO OOXX - XXOO OOXX - XXXO OOOO + OOOO OOOO + XXXO XXXX 3 house XXXX XXXX XXXX XXXX + XXXX XXXX XXXX XXXX XXXX XXXX XXO~ ~~XX XXXX XXXX XXXX XXXX - XXXX XXXX + XXXX XXOO XXXX XXXX 4 trees XXXX XXXX + XXXX XXXX OOO~ ~~~~ OOOO OOOX XXXX XXXX ~~XX XXXX OOOO OOOO XXOO OXXX - OOOO OOXX + OOOO OOOO OOOO OOOO 5 rail station XXXX XXXX + XXXX XXXX OXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX - OOXX XXXX + OOXX XXOO XXXX XXXX @@ -199,16 +213,18 @@ the array so you can quickly see what is used and what is not. -inherit- -inherit- -inherit- + -inherit- road stop -inherit- -inherit- -inherit- + -inherit- XXXX OOOO OOOO OOOO ~~~~ ~XXX - OOXX XOXX + OOXX XOOO XXOX XXXX @@ -216,10 +232,11 @@ the array so you can quickly see what is used and what is not. -inherit- -inherit- -inherit- + -inherit- OOOO OOOO OOOO OOOO ~~~~ ~XXX - OOXX XOXX + OOXX XOOO OOOO OOOO @@ -227,10 +244,11 @@ the array so you can quickly see what is used and what is not. -inherit- -inherit- -inherit- + -inherit- XXXX OOOO OOOO OOOO XXXX XXXX - OOXX XOXX + OOXX XOOO XXXX XXXX @@ -238,10 +256,11 @@ the array so you can quickly see what is used and what is not. -inherit- -inherit- -inherit- + -inherit- OOOO OOOO OOOO OOOO ~~~~ ~~~~ - OOXX XOXX + OOXX XOOO OOOO OOOO @@ -249,68 +268,74 @@ the array so you can quickly see what is used and what is not. -inherit- -inherit- -inherit- + -inherit- OOOO OOOO OOOO OOOO ~~~~ ~~~~ - OOXX XOXX + OOXX XOOO OOOO OOOO 6 sea, shore XXXX XXXX + XXXX XXXX OXXX XXXX OOOO OOOO OOOO OOOO OOOO OOOO OOOO OOOO X~~X XXXX - XXOO OOXX + OOOO OOOO OOOO OOOO canal, river -inherit- -inherit- + -inherit- OOOO OOOO OOOO OOOO OOOO OOOO XXXX XXXX -inherit- - XXOO OOXX + OOOO OOOO OOOO OOOO shipdepot -inherit- -inherit- + -inherit- XXXX XXXX XXXX XXXX OOOO OOOO OOOO OOOO -inherit- - XXOO OOXX + OOOO OOOO OOOO OOOO 8 industry XXXX XXXX + XXXX XXXX XXXO XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX - OOXX XXXX + OOXX XXOO XXXX XXXX 9 tunnel entrance XXXX XXXX + XXXX XXXX OOOX XXXX OOOO OOOO OOOO OOOO XXXX XXXX OOOO OOOO XOOX XXXX - XXOO OOXX + OOOO OOOO XXXX XXXX @@ -321,19 +346,21 @@ the array so you can quickly see what is used and what is not. -inherit- -inherit- -inherit- - XXXX XXXX + -inherit- + OOXX XXOO -inherit- A objects XXXX XXXX + XXXX XXXX OXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX OOOO OOOO XXXX XXXX - XXOO OOXX + OOOO OOOO XXXX XXXX diff --git a/docs/openttd.6 b/docs/openttd.6 index 0382306d7e..4e04be32c1 100644 --- a/docs/openttd.6 +++ b/docs/openttd.6 @@ -1,112 +1,152 @@ .\" Hey, EMACS: -*- nroff -*- .\" Please adjust this date whenever revising the manpage. -.Dd May 31, 2011 +.Dd October 13, 2014 .Dt OPENTTD 6 +.Os .Sh NAME .Nm openttd -.Nd An open source clone of the Microprose game "Transport Tycoon Deluxe" +.Nd open source clone of the Microprose game \(lqTransport Tycoon Deluxe\(rq .Sh SYNOPSIS .Nm .Op Fl efhx .Op Fl b Ar blitter .Op Fl c Ar config_file -.Op Fl d Ar [level | cat=lvl[,...]] -.Op Fl D Ar [host][:port] -.Op Fl g Ar [savegame] +.Op Fl d Op Ar level | Ar cat Ns = Ns Ar lvl Ns Op , Ns Ar ... +.Op Fl D Oo Ar host Oc Ns Op : Ns Ar port +.Op Fl g Op Ar savegame .Op Fl G Ar seed .Op Fl I Ar graphicsset -.Op Fl l Ar host[:port] +.Op Fl l Ar host Ns Op : Ns Ar port .Op Fl m Ar driver .Op Fl M Ar musicset -.Op Fl n Ar host[:port][#player] +.Op Fl n Ar host Ns Oo : Ns Ar port Oc Ns Op # Ns Ar player .Op Fl p Ar password .Op Fl P Ar password .Op Fl q Ar savegame -.Op Fl r Ar widthxheight +.Op Fl r Ar width Ns x Ns Ar height .Op Fl s Ar driver .Op Fl S Ar soundset .Op Fl t Ar year .Op Fl v Ar driver .Sh OPTIONS -.Bl -tag -width ".Fl n Ar host[:port][#player]" +.Bl -tag -width "-n host[:port][#player]" .It Fl b Ar blitter -Set the blitter, see +Select the blitter +.Ar blitter ; +see .Fl h -for a full list +for a full list. .It Fl c Ar config_file -Use 'config_file' instead of 'openttd.cfg' +Use +.Ar config_file +instead of +.Pa openttd.cfg . .It Fl d Ar [level] Set debug verbosity for all categories to -.Ar level -or 1 if omitted -.It Fl d Ar cat=level[,...] -Set debug verbosity for a specific category -.It Fl D Ar [host][:port] -Start a dedicated server. Sets network debug level to 6. If you want to change this, use +.Ar level , +or 1 if omitted. +.It Fl d Ar cat Ns = Ns Ar lvl Ns Op , Ns Ar ... +Set debug verbosity to +.Ar lvl +for a specific category +.Ar cat . +.It Fl D Oo Ar host Oc Ns Op : Ns Ar port +Start a dedicated server. +.Pp +Network debug level will be set to 6. +If you want to change this, set .Fl d -after -.Fl D -.It Fl G Ar seed -Seed the pseudo random number generator +after setting +.Fl D . .It Fl e -Start in world editor mode +Start in world editor mode. .It Fl f Fork into background (dedicated server only, see -.Fl D ) -.It Fl g Ar [savegame] +.Fl D ) . +.It Fl g Op Ar savegame Load .Ar savegame -at start or start a new game if omitted. The +at start or start a new game if omitted. .Ar savegame -must be either absolute or relative to the current path or one of the search paths. +must be either an absolute path or one relative to the current path or one of +the search paths. +.It Fl G Ar seed +Seed the pseudo random number generator with +.Ar seed . .It Fl h -Display a summary of all options and lists all the available AIs, blitters, sound, music and video drivers, graphics sets and sound sets. +Display a summary of all options and list all the available AIs, blitters, +sound, music and video drivers, graphics sets and sound sets. .It Fl I Ar graphicsset -Set the graphics set, see +Select the graphics set +.Ar graphicsset ; +see .Fl h -for a full list -.It Fl l Ar host[:port] -Redirect DEBUG(), See -.Fl D +for a full list. +.It Fl l Ar host Ns Op : Ns Ar port +Redirect +.Fn DEBUG +output; see +.Fl D . .It Fl m Ar driver -Set the music driver, see +Select the music driver +.Ar driver ; +see .Fl h -for a full list +for a full list. .It Fl M Ar musicset -Set the music set, see +Select the music set +.Ar musicset ; +see .Fl h -for a full list -.It Fl n Ar host[:port][#player] -Join a network game, optionally specify a port to connect to and player to play as +for a full list. +.It Fl n Ar host Ns Oo : Ns Ar port Oc Ns Op # Ns Ar player +Join a network game, optionally specifying a port to connect to and player to +play as. .It Fl p Ar password -Password used to join server. Only useful with -.Fl n +Password used to join server. +Only useful with +.Fl n . .It Fl P Ar password -Password used to join company. Only useful with -.Fl n +Password used to join company. +Only useful with +.Fl n . .It Fl q Ar savegame -Write some information about the savegame and exit -.It Fl r Ar widthxheight -Set the resolution +Write some information about the specified savegame and exit. +.It Fl r Ar width Ns x Ns Ar height +Set the resolution to +.Ar width +\(mu +.Ar height +pixels. .It Fl s Ar driver -Set the sound driver, see +Select the sound driver +.Ar driver ; +see .Fl h -for a full list +for a full list. .It Fl S Ar soundset -Set the sound set, see +Select the sound set +.Ar soundset ; +see .Fl h -for a full list +for a full list. .It Fl t Ar year -Set the starting year +Set the starting year to +.Ar year . .It Fl v Ar driver -Set the video driver, see +Select the video driver +.Ar driver ; +see .Fl h -for a full list +for a full list. .It Fl x -Do not automatically save to config file on exit +Do not automatically save to config file on exit. .El .Sh SEE ALSO -http://wiki.openttd.org/, http://www.openttd.org +.Lk https://wiki.openttd.org "Wiki" +(includes community maintained manual), +.Lk https://forum.openttd.org "Forum", +.Lk https://www.openttd.org "News" .Sh HISTORY Transport Tycoon Deluxe was written by Chris Sawyer and published by Microprose. .Nm diff --git a/findversion.sh b/findversion.sh index c0d500a8fd..6be52b696f 100755 --- a/findversion.sh +++ b/findversion.sh @@ -106,21 +106,21 @@ elif [ -d "$ROOT_DIR/.git" ]; then fi elif [ -d "$ROOT_DIR/.hg" ]; then # We are a hg checkout - if [ -n "`hg status | grep -v '^?'`" ]; then + if [ -n "`HGPLAIN= hg status | grep -v '^?'`" ]; then MODIFIED="2" fi - HASH=`LC_ALL=C hg id -i | cut -c1-12` + HASH=`LC_ALL=C HGPLAIN= hg id -i | cut -c1-12` REV="h`echo $HASH | cut -c1-8`" - BRANCH="`hg branch | sed 's@^default$@@'`" - TAG="`hg id -t | grep -v 'tip$'`" + BRANCH="`HGPLAIN= hg branch | sed 's@^default$@@'`" + TAG="`HGPLAIN= hg id -t | grep -v 'tip$'`" if [ -n "$TAG" ]; then BRANCH="" REV="$TAG" fi - REV_NR=`LC_ALL=C hg log -f -k "(svn r" -l 1 --template "{desc|firstline}\n" | grep "^(svn r[0-9]*)" | sed "s@.*(svn r\([0-9]*\)).*@\1@"` + REV_NR=`LC_ALL=C HGPLAIN= hg log -f -k "(svn r" -l 1 --template "{desc|firstline}\n" | grep "^(svn r[0-9]*)" | sed "s@.*(svn r\([0-9]*\)).*@\1@"` if [ -z "$REV_NR" ]; then # No rev? Maybe it is a custom hgsubversion clone - REV_NR=`LC_ALL=C hg parent --template="{svnrev}"` + REV_NR=`LC_ALL=C HGPLAIN= hg parent --template="{svnrev}"` fi elif [ -f "$ROOT_DIR/.ottdrev" ]; then # We are an exported source bundle diff --git a/known-bugs.txt b/known-bugs.txt index d26ef9ff86..34aca33002 100644 --- a/known-bugs.txt +++ b/known-bugs.txt @@ -1,6 +1,6 @@ OpenTTD's known bugs -Last updated: 2014-02-25 -Release version: 1.4.0-beta5 +Last updated: 2015-02-24 +Release version: 1.5.0-beta2 ------------------------------------------------------------------------ diff --git a/media/extra_grf/assemble_nfo.awk b/media/extra_grf/assemble_nfo.awk new file mode 100644 index 0000000000..cf6b425c1d --- /dev/null +++ b/media/extra_grf/assemble_nfo.awk @@ -0,0 +1,32 @@ +# $Id$ + +# 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. +# OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see . + +BEGIN { + # Very basic variant function; barely any error checking. + # Just use the first argument as the file to start from when assembling everything + path = ARGV[1]; + gsub("[^/\\\\]*$", "", path); + assemble(ARGV[1]); +} + +# Recursive function for assembling by means of resolving the #includes. +function assemble(filename) { + while ((getline < filename) > 0) { + if (NF == 2 && $1 == "#include" ) { + # Remove the quotes. + gsub("[\"'<>]", "", $2); + assemble(path $2); + } else { + print $0; + } + } + + if (close(filename) < 0) { + print "Could not open " filename > "/dev/stderr"; + exit -1; + } +} diff --git a/media/extra_grf/openttd.nfo b/media/extra_grf/openttd.nfo index e93b2066fb..66149a37e5 100644 --- a/media/extra_grf/openttd.nfo +++ b/media/extra_grf/openttd.nfo @@ -104,3 +104,4 @@ #include "rivers/tropic.nfo" #include "rivers/toyland.nfo" #include "tunnel_portals.nfo" +#include "palette.nfo" diff --git a/media/extra_grf/palette.nfo b/media/extra_grf/palette.nfo new file mode 100644 index 0000000000..4a6ae69505 --- /dev/null +++ b/media/extra_grf/palette.nfo @@ -0,0 +1,20 @@ +// +// $Id$ +// +// 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. +// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see . +// + + -1 * 0 0C "All black palette" + -1 * 0 05 18 01 + -1 * 0 00 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 + 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 + 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 + 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 + 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 + 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 + 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 + 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 + 01 diff --git a/media/extra_grf/shore.nfo b/media/extra_grf/shore.nfo index 70fae8f4d8..7b7c12ad3b 100644 --- a/media/extra_grf/shore.nfo +++ b/media/extra_grf/shore.nfo @@ -47,7 +47,7 @@ -1 sprites/shore.png 8bpp 82 200 64 32 -31 -1 normal -1 sprites/shore.png 8bpp 162 200 64 31 -31 -8 normal -1 * 6 07 83 01 \7! 03 0C - -1 * 44 0C "Missing shore tile graphics for the toyland climate" + -1 * 52 0C "Missing shore tile graphics for the toyland climate" -1 * 3 05 0D 0A -1 sprites/shore.png 8bpp 290 200 64 15 -31 0 normal -1 sprites/shore.png 8bpp 370 200 64 31 -31 -8 normal diff --git a/media/openttd.desktop.in b/media/openttd.desktop.in index c037e3c75b..513ff712df 100644 --- a/media/openttd.desktop.in +++ b/media/openttd.desktop.in @@ -9,4 +9,4 @@ Exec=!!TTD!! Terminal=false Categories=!!MENU_GROUP!! Comment=A clone of Transport Tycoon Deluxe -Keywords=game;simulation;transport;tycoon;deluxe;economics;multiplayer;money;train;ship;bus;truck;aircraft;cargo +Keywords=game;simulation;transport;tycoon;deluxe;economics;multiplayer;money;train;ship;bus;truck;aircraft;cargo; diff --git a/os/debian/changelog b/os/debian/changelog index ff655a1b4c..d56400af01 100644 --- a/os/debian/changelog +++ b/os/debian/changelog @@ -1,3 +1,93 @@ +openttd (1.5.0~beta2-0) unstable; urgency=low + + * New upstream release 1.5.0-beta2 + + -- OpenTTD Tue, 24 Feb 2015 21:00:00 +0100 + +openttd (1.5.0~beta1-0) unstable; urgency=low + + * New upstream release 1.5.0-beta1 + + -- OpenTTD Wed, 24 Dec 2014 21:00:00 +0100 + +openttd (1.4.4-0) unstable; urgency=low + + * New upstream release 1.4.4 + + -- OpenTTD Tue, 21 Oct 2014 21:00:00 +0200 + +openttd (1.4.4~RC1-0) unstable; urgency=low + + * New upstream release 1.4.4-RC1 + + -- OpenTTD Wed, 08 Oct 2014 19:00:00 +0200 + +openttd (1.4.3-0) unstable; urgency=low + + * New upstream release 1.4.3 + + -- OpenTTD Tue, 23 Sep 2014 21:00:00 +0200 + +openttd (1.4.3~RC2-0) unstable; urgency=low + + * New upstream release 1.4.3-RC2 + + -- OpenTTD Sun, 14 Sep 2014 19:00:00 +0200 + +openttd (1.4.3~RC1-0) unstable; urgency=low + + * New upstream release 1.4.3-RC1 + + -- OpenTTD Sun, 07 Sep 2014 19:00:00 +0200 + +openttd (1.4.2-0) unstable; urgency=low + + * New upstream release 1.4.2 + + -- OpenTTD Sat, 16 Aug 2014 21:00:00 +0200 + +openttd (1.4.2~RC2-0) unstable; urgency=low + + * New upstream release 1.4.2-RC2 + + -- OpenTTD Sun, 03 Aug 2014 18:00:00 +0200 + +openttd (1.4.2~RC1-0) unstable; urgency=low + + * New upstream release 1.4.2-RC1 + + -- OpenTTD Thu, 03 Jul 2014 21:00:00 +0200 + +openttd (1.4.1-0) unstable; urgency=low + + * New upstream release 1.4.1 + + -- OpenTTD Mon, 02 Jun 2014 21:00:00 +0200 + +openttd (1.4.1~RC2-0) unstable; urgency=low + + * New upstream release 1.4.1-RC2 + + -- OpenTTD Sun, 18 May 2014 21:00:00 +0200 + +openttd (1.4.1~RC1-0) unstable; urgency=low + + * New upstream release 1.4.1-RC1 + + -- OpenTTD Sun, 04 May 2014 21:00:00 +0200 + +openttd (1.4.0-0) unstable; urgency=low + + * New upstream release 1.4.0 + + -- OpenTTD Tue, 01 Apr 2014 21:00:00 +0200 + +openttd (1.4.0~RC1-0) unstable; urgency=low + + * New upstream release 1.4.0-RC1 + + -- OpenTTD Tue, 17 Mar 2014 21:00:00 +0100 + openttd (1.4.0~beta5-0) unstable; urgency=low * New upstream release 1.4.0-beta5 diff --git a/os/os2/installer/make_installer.cmd b/os/os2/installer/make_installer.cmd index 289b6ea54a..6fe6dace66 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.5.0 +set OPENTTD_VERSION=1.6.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 cd19fd9219..5ad5a53cab 100644 --- a/os/rpm/openttd.spec +++ b/os/rpm/openttd.spec @@ -17,9 +17,9 @@ # Name: openttd -Version: 1.5.beta1 +Version: 1.6.beta1 Release: 0 -%define srcver 1.5.0-beta1 +%define srcver 1.6.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 cca07eade1..ebe9ed3dcd 100644 --- a/os/windows/installer/install.nsi +++ b/os/windows/installer/install.nsi @@ -1,6 +1,6 @@ # Version numbers to update !define APPV_MAJOR 1 -!define APPV_MINOR 5 +!define APPV_MINOR 6 !define APPV_MAINT 0 !define APPV_BUILD 0 !define APPV_EXTRA "-beta1" diff --git a/projects/generate b/projects/generate index 542a27d6e1..42b684d2af 100755 --- a/projects/generate +++ b/projects/generate @@ -77,7 +77,7 @@ safety_check() { done } -grep '\.h' "$ROOT_DIR/source.list" | grep -v '../objs/langs/table/strings.h\|../objs/settings/table/settings.h' | sed 's/ //' | sort > tmp.headers.source.list +grep '\.h' "$ROOT_DIR/source.list" | grep -v '../objs/langs/table/strings.h\|../objs/settings/table/settings.h' | sed 's/ //g' | sort > tmp.headers.source.list find "$ROOT_DIR/src" \( -iname "*.h" -or -iname "*.hpp" \) -and -not -ipath "*/.svn/*" | sed "s~$ROOT_DIR/src/~~" | sort > tmp.headers.src if [ -n "`diff tmp.headers.source.list tmp.headers.src`" ]; then echo "The following headers are missing in source.list and not in /src/ or vice versa." diff --git a/projects/langs_vs100.vcxproj b/projects/langs_vs100.vcxproj index be9e0c6227..078a7b374a 100644 --- a/projects/langs_vs100.vcxproj +++ b/projects/langs_vs100.vcxproj @@ -227,6 +227,12 @@ ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs) ..\bin\lang\korean.lng;%(Outputs) + + Generating latin language file + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)" + ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs) + ..\bin\lang\latin.lng;%(Outputs) + Generating latvian language file ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)" diff --git a/projects/langs_vs100.vcxproj.filters b/projects/langs_vs100.vcxproj.filters index 64221319e2..fb16aa64e0 100644 --- a/projects/langs_vs100.vcxproj.filters +++ b/projects/langs_vs100.vcxproj.filters @@ -97,6 +97,9 @@ Translations + + Translations + Translations diff --git a/projects/langs_vs80.vcproj b/projects/langs_vs80.vcproj index 6cea19753f..1413a80d27 100644 --- a/projects/langs_vs80.vcproj +++ b/projects/langs_vs80.vcproj @@ -513,6 +513,21 @@ /> + + + + + diff --git a/projects/langs_vs90.vcproj b/projects/langs_vs90.vcproj index 5fe8dca8d8..db6fef1a43 100644 --- a/projects/langs_vs90.vcproj +++ b/projects/langs_vs90.vcproj @@ -514,6 +514,21 @@ /> + + + + + diff --git a/projects/openttd_vs100.vcxproj b/projects/openttd_vs100.vcxproj index 2feba86c26..37f9948032 100644 --- a/projects/openttd_vs100.vcxproj +++ b/projects/openttd_vs100.vcxproj @@ -311,6 +311,7 @@ + @@ -437,6 +438,7 @@ + @@ -568,6 +570,7 @@ + @@ -804,7 +807,6 @@ - @@ -881,6 +883,7 @@ + @@ -895,6 +898,7 @@ + @@ -950,13 +954,8 @@ - - - - - diff --git a/projects/openttd_vs100.vcxproj.filters b/projects/openttd_vs100.vcxproj.filters index 82b64ff76b..06800ffdaf 100644 --- a/projects/openttd_vs100.vcxproj.filters +++ b/projects/openttd_vs100.vcxproj.filters @@ -162,6 +162,9 @@ Source Files + + Source Files + Source Files @@ -540,6 +543,9 @@ Header Files + + Header Files + Header Files @@ -933,6 +939,9 @@ Header Files + + Header Files + Header Files @@ -1641,9 +1650,6 @@ Command handlers - - Command handlers - Command handlers @@ -1872,6 +1878,9 @@ Tables + + Tables + Tables @@ -1914,6 +1923,9 @@ Tables + + Tables + Tables @@ -2079,27 +2091,12 @@ Squirrel headers - - Squirrel headers - - - Squirrel headers - - - Squirrel headers - Squirrel headers - - Squirrel headers - Squirrel headers - - Squirrel headers - Squirrel headers diff --git a/projects/openttd_vs80.vcproj b/projects/openttd_vs80.vcproj index e417f4a136..f859fcf18a 100644 --- a/projects/openttd_vs80.vcproj +++ b/projects/openttd_vs80.vcproj @@ -514,6 +514,10 @@ RelativePath=".\..\src\depot.cpp" > + + @@ -1022,6 +1026,10 @@ RelativePath=".\..\src\direction_type.h" > + + @@ -1546,6 +1554,10 @@ RelativePath=".\..\src\roadveh.h" > + + @@ -2506,10 +2518,6 @@ RelativePath=".\..\src\depot_cmd.cpp" > - - @@ -2822,6 +2830,10 @@ RelativePath=".\..\src\table\genland.h" > + + @@ -2878,6 +2890,10 @@ RelativePath=".\..\src\table\strgen_tables.h" > + + @@ -3114,34 +3130,14 @@ RelativePath=".\..\src\3rdparty\squirrel\include\sqstdaux.h" > - - - - - - - - - - diff --git a/projects/openttd_vs90.vcproj b/projects/openttd_vs90.vcproj index 6d9c92c40c..0cf6627fef 100644 --- a/projects/openttd_vs90.vcproj +++ b/projects/openttd_vs90.vcproj @@ -511,6 +511,10 @@ RelativePath=".\..\src\depot.cpp" > + + @@ -1019,6 +1023,10 @@ RelativePath=".\..\src\direction_type.h" > + + @@ -1543,6 +1551,10 @@ RelativePath=".\..\src\roadveh.h" > + + @@ -2503,10 +2515,6 @@ RelativePath=".\..\src\depot_cmd.cpp" > - - @@ -2819,6 +2827,10 @@ RelativePath=".\..\src\table\genland.h" > + + @@ -2875,6 +2887,10 @@ RelativePath=".\..\src\table\strgen_tables.h" > + + @@ -3111,34 +3127,14 @@ RelativePath=".\..\src\3rdparty\squirrel\include\sqstdaux.h" > - - - - - - - - - - diff --git a/readme.txt b/readme.txt index e89965cc3c..817f397b51 100644 --- a/readme.txt +++ b/readme.txt @@ -1,5 +1,5 @@ -Last updated: 2014-02-25 -Release version: 1.4.0-beta5 +Last updated: 2015-02-24 +Release version: 1.5.0-beta2 ------------------------------------------------------------------------ @@ -308,9 +308,9 @@ chosen main OpenTTD directory: 32bpp Sets: newgrf (or a subdirectory thereof) Music Sets: baseset (or a subdirectory thereof) AIs: ai (or a subdirectory thereof) - AI Libraries: ai/libraries (or a subdirectory thereof) + AI Libraries: ai/library (or a subdirectory thereof) Game Scripts (GS): game (or a subdirectory thereof) - GS Libraries: game/libraries (or a subdirectory thereof) + GS Libraries: game/library (or a subdirectory thereof) Savegames: save Automatic Savegames: save/autosave Scenarios: scenario @@ -661,6 +661,12 @@ The md5 implementation in src/3rdparty/md5 is licensed under the Zlib license. See the comments in the source files in src/3rdparty/md5 for the complete license text. +The implementations of Posix getaddrinfo and getnameinfo for OS/2 in +src/3rdparty/os2 are distributed partly under the GNU Lesser General Public +License 2.1, and partly under the (3-clause) BSD license. The exact licensing +terms can be found in src/3rdparty/os2/getaddrinfo.c resp. +src/3rdparty/os2/getnameinfo.c. + The exe2coff implementation in os/dos/exe2coff is available under the GPL, with a number of additional terms. See os/dos/exe2coff/copying and os/dos/exe2coff/copying.dj for the exact licensing terms. @@ -674,46 +680,47 @@ http://homer.rice.edu/~sandmann/cwsdpmi/csdpmi5s.zip X.X) Credits ---- ------- The OpenTTD team (in alphabetical order): - Albert Hofkamp (Alberth) - GUI expert - Jean-François Claeys (Belugas) - GUI, newindustries and more - Matthijs Kooijman (blathijs) - Pathfinder-guru, pool rework - Ulf Hermann (fonsinchen) - Cargo Distribution - Christoph Elsenhans (frosch) - General coding - Loïc Guilloux (glx) - Windows Expert - Michael Lutz (michi_cc) - Path based signals - Owen Rudge (orudge) - Forum host, OS/2 port - Peter Nelson (peter1138) - Spiritual descendant from newGRF gods - Ingo von Borstel (planetmaker) - Support - Remko Bijker (Rubidium) - Lead coder and way more - Zdeněk Sojka (SmatZ) - Bug finder and fixer - José Soler (Terkhen) - General coding - Thijs Marinussen (Yexo) - AI Framework - Leif Linse (Zuu) - AI/Game Script + 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) + Christoph Elsenhans (frosch) - General coding (since 0.6) + Loïc Guilloux (glx) - Windows Expert (since 0.4.5) + Michael Lutz (michi_cc) - Path based signals (since 0.7) + Owen Rudge (orudge) - Forum host, OS/2 port (since 0.1) + Peter Nelson (peter1138) - Spiritual descendant from newGRF gods (since 0.4.5) + Ingo von Borstel (planetmaker) - General coding, Support (since 1.1) + Remko Bijker (Rubidium) - Lead coder and way more (since 0.4.5) + José Soler (Terkhen) - General coding (since 1.0) + Leif Linse (Zuu) - AI/Game Script (since 1.2) Inactive Developers: - Bjarni Corfitzen (Bjarni) - MacOSX port, coder and vehicles - Victor Fischer (Celestar) - Programming everywhere you need him to - Tamás Faragó (Darkvater) - Ex-Lead coder - Jaroslav Mazanec (KUDr) - YAPG (Yet Another Pathfinder God) ;) - Jonathan Coome (Maedhros) - High priest of the NewGRF Temple - Attila Bán (MiHaMiX) - WebTranslator 1 and 2 - Christoph Mallon (Tron) - Programmer, code correctness police + Jean-François Claeys (Belugas) - GUI, newindustries and more (0.4.5 - 1.0) + Bjarni Corfitzen (Bjarni) - MacOSX port, coder and vehicles (0.3 - 0.7) + Victor Fischer (Celestar) - Programming everywhere you need him to (0.3 - 0.6) + Jaroslav Mazanec (KUDr) - YAPG (Yet Another Pathfinder God) ;) (0.4.5 - 0.6) + Jonathan Coome (Maedhros) - High priest of the NewGRF Temple (0.5 - 0.6) + Attila Bán (MiHaMiX) - WebTranslator 1 and 2 (0.3 - 0.5) + Zdeněk Sojka (SmatZ) - Bug finder and fixer (0.6 - 1.3) + Christoph Mallon (Tron) - Programmer, code correctness police (0.3 - 0.5) + Patric Stout (TrueBrain) - NoProgrammer (0.3 - 1.2), sys op (active) + Thijs Marinussen (Yexo) - AI Framework, General (0.6 - 1.3) Retired Developers: - Ludvig Strigeus (ludde) - OpenTTD author, main coder (0.1 - 0.3.3) - Serge Paquet (vurlix) - Assistant project manager, coder (0.1 - 0.3.3) - Dominik Scherer (dominik81) - Lead programmer, GUI expert (0.3.0 - 0.3.6) - Benedikt Brüggemeier (skidd13) - Bug fixer and code reworker - Patric Stout (TrueBrain) - NoProgrammer (0.3 - 1.2), sys op (active) + Tamás Faragó (Darkvater) - Ex-Lead coder (0.3 - 0.5) + Dominik Scherer (dominik81) - Lead programmer, GUI expert (0.3 - 0.3) + Emil Djupfeld (egladil) - MacOSX port (0.4 - 0.6) + Simon Sasburg (HackyKid) - Bug fixer (0.4 - 0.4.5) + Ludvig Strigeus (ludde) - Original author of OpenTTD, main coder (0.1 - 0.3) + Cian Duffy (MYOB) - BeOS port / manual writing (0.1 - 0.3) + Petr Baudiš (pasky) - Many patches, newgrf support, etc. (0.3 - 0.3) + Benedikt Brüggemeier (skidd13) - Bug fixer and code reworker (0.6 - 0.7) + Serge Paquet (vurlix) - 2nd contributor after ludde (0.1 - 0.3) Thanks to: Josef Drexler - For his great work on TTDPatch. Marcin Grzegorczyk - For his TTDPatch work and documentation of Transport Tycoon Deluxe internals and track foundations - Petr Baudiš (pasky) - Many patches, newgrf support, etc. - Simon Sasburg (HackyKid) - For the many bugfixes he has blessed us with Stefan Meißner (sign_de) - For his work on the console Mike Ragsdale - OpenTTD installer - Cian Duffy (MYOB) - BeOS port / manual writing Christian Rosentreter (tokai) - MorphOS / AmigaOS port Richard Kempton (RichK67) - Additional airports, initial TGP implementation Alberto Demichelis - Squirrel scripting language diff --git a/source.list b/source.list index 17b937fb43..df35cdd26e 100644 --- a/source.list +++ b/source.list @@ -19,6 +19,7 @@ date.cpp debug.cpp dedicated.cpp depot.cpp +disaster_vehicle.cpp driver.cpp economy.cpp effectvehicle.cpp @@ -98,6 +99,10 @@ townname.cpp #else #if OS2 os/os2/os2.cpp + 3rdparty/os2/getaddrinfo.c + 3rdparty/os2/getaddrinfo.h + 3rdparty/os2/getnameinfo.c + 3rdparty/os2/getnameinfo.h #else #if OSX os/macosx/crashlog_osx.cpp @@ -172,6 +177,7 @@ depot_map.h depot_type.h direction_func.h direction_type.h +disaster_vehicle.h music/dmusic.h driver.h economy_base.h @@ -303,6 +309,7 @@ road_internal.h road_type.h roadstop_base.h roadveh.h +safeguards.h screenshot.h sdl.h sound/sdl_s.h @@ -562,7 +569,6 @@ autoreplace_cmd.cpp clear_cmd.cpp company_cmd.cpp depot_cmd.cpp -disaster_cmd.cpp group_cmd.cpp industry_cmd.cpp misc_cmd.cpp @@ -643,6 +649,7 @@ table/control_codes.h table/elrail_data.h table/engines.h table/genland.h +table/heightmap_colours.h table/industry_land.h table/landscape_sprite.h table/newgrf_debug_data.h @@ -657,6 +664,7 @@ table/roadveh_movement.h table/sprites.h table/station_land.h table/strgen_tables.h +table/string_colours.h ../objs/langs/table/strings.h table/town_land.h table/townname.h @@ -720,13 +728,8 @@ script/squirrel_std.hpp 3rdparty/squirrel/squirrel/sqpcheader.h 3rdparty/squirrel/squirrel/sqstate.h 3rdparty/squirrel/include/sqstdaux.h -3rdparty/squirrel/include/sqstdblob.h -3rdparty/squirrel/sqstdlib/sqstdblobimpl.h -3rdparty/squirrel/include/sqstdio.h 3rdparty/squirrel/include/sqstdmath.h -3rdparty/squirrel/sqstdlib/sqstdstream.h 3rdparty/squirrel/include/sqstdstring.h -3rdparty/squirrel/include/sqstdsystem.h 3rdparty/squirrel/squirrel/sqstring.h 3rdparty/squirrel/squirrel/sqtable.h 3rdparty/squirrel/include/squirrel.h @@ -1108,7 +1111,10 @@ music/null_m.cpp #else #if DOS #else - music/extmidi.cpp + #if MORPHOS + #else + music/extmidi.cpp + #end #end #end #end diff --git a/src/3rdparty/md5/md5.cpp b/src/3rdparty/md5/md5.cpp index d2d6fbab77..2111a8eb81 100644 --- a/src/3rdparty/md5/md5.cpp +++ b/src/3rdparty/md5/md5.cpp @@ -60,6 +60,8 @@ #include "../../core/endian_func.hpp" #include "md5.h" +#include "../../safeguards.h" + #define T_MASK ((uint32)~0) #define T1 /* 0xd76aa478 */ (T_MASK ^ 0x28955b87) #define T2 /* 0xe8c7b756 */ (T_MASK ^ 0x173848a9) diff --git a/src/3rdparty/os2/getaddrinfo.c b/src/3rdparty/os2/getaddrinfo.c new file mode 100644 index 0000000000..3cdda21f1b --- /dev/null +++ b/src/3rdparty/os2/getaddrinfo.c @@ -0,0 +1,299 @@ +/* + * This file is part of libESMTP, a library for submission of RFC 2822 + * formatted electronic mail messages using the SMTP protocol described + * in RFC 2821. + * + * Copyright (C) 2001,2002 Brian Stafford + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +/* An emulation of the RFC 2553 / Posix getaddrinfo resolver interface. + */ + +#if !HAVE_GETADDRINFO + +/* Need to turn off Posix features in glibc to build this */ +#undef _POSIX_C_SOURCE +#undef _XOPEN_SOURCE + +#include "getaddrinfo.h" +//#include "compat/inet_pton.h" + +#include +#include +#include +#include +#include +#include +#include + +static struct addrinfo * +dup_addrinfo (struct addrinfo *info, void *addr, size_t addrlen) { + struct addrinfo *ret; + + ret = malloc (sizeof (struct addrinfo)); + if (ret == NULL) + return NULL; + memcpy (ret, info, sizeof (struct addrinfo)); + ret->ai_addr = malloc (addrlen); + if (ret->ai_addr == NULL) { + free (ret); + return NULL; + } + memcpy (ret->ai_addr, addr, addrlen); + ret->ai_addrlen = addrlen; + return ret; +} + +int +getaddrinfo (const char *nodename, const char *servname, + const struct addrinfo *hints, struct addrinfo **res) +{ + struct hostent *hp; + struct servent *servent; + const char *socktype; + int port; + struct addrinfo hint, result; + struct addrinfo *ai, *sai, *eai; + char **addrs; + + if (servname == NULL && nodename == NULL) + return EAI_NONAME; + + memset (&result, 0, sizeof result); + + /* default for hints */ + if (hints == NULL) { + memset (&hint, 0, sizeof hint); + hint.ai_family = PF_UNSPEC; + hints = &hint; + } + + if (servname == NULL) + port = 0; + else { + /* check for tcp or udp sockets only */ + if (hints->ai_socktype == SOCK_STREAM) + socktype = "tcp"; + else if (hints->ai_socktype == SOCK_DGRAM) + socktype = "udp"; + else + return EAI_SERVICE; + result.ai_socktype = hints->ai_socktype; + + /* Note: maintain port in host byte order to make debugging easier */ + if (isdigit (*servname)) + port = strtol (servname, NULL, 10); + else if ((servent = getservbyname (servname, socktype)) != NULL) + port = ntohs (servent->s_port); + else + return EAI_NONAME; + } + + /* if nodename == NULL refer to the local host for a client or any + for a server */ + if (nodename == NULL) { + struct sockaddr_in sin; + + /* check protocol family is PF_UNSPEC or PF_INET - could try harder + for IPv6 but that's more code than I'm prepared to write */ + if (hints->ai_family == PF_UNSPEC || hints->ai_family == PF_INET) + result.ai_family = AF_INET; + else + return EAI_FAMILY; + + sin.sin_family = result.ai_family; + sin.sin_port = htons (port); + if (hints->ai_flags & AI_PASSIVE) + sin.sin_addr.s_addr = htonl (INADDR_ANY); + else + sin.sin_addr.s_addr = htonl (INADDR_LOOPBACK); + /* Duplicate result and addr and return */ + *res = dup_addrinfo (&result, &sin, sizeof sin); + return (*res == NULL) ? EAI_MEMORY : 0; + } + + /* If AI_NUMERIC is specified, use inet_pton to translate numbers and + dots notation. */ + if (hints->ai_flags & AI_NUMERICHOST) { + struct sockaddr_in sin; + + /* check protocol family is PF_UNSPEC or PF_INET */ + if (hints->ai_family == PF_UNSPEC || hints->ai_family == PF_INET) + result.ai_family = AF_INET; + else + return EAI_FAMILY; + + sin.sin_family = result.ai_family; + sin.sin_port = htons (port); + if (inet_pton(result.ai_family, nodename, &sin.sin_addr)==0) + return EAI_NONAME; + sin.sin_addr.s_addr = inet_addr (nodename); + /* Duplicate result and addr and return */ + *res = dup_addrinfo (&result, &sin, sizeof sin); + return (*res == NULL) ? EAI_MEMORY : 0; + } + +#if HAVE_H_ERRNO + h_errno = 0; +#endif + errno = 0; + hp = gethostbyname(nodename); + if (hp == NULL) { +#ifdef EAI_SYSTEM + if (errno != 0) { + return EAI_SYSTEM; + } +#endif + switch (h_errno) { + case HOST_NOT_FOUND: + return EAI_NODATA; + case NO_DATA: + return EAI_NODATA; +#if defined(NO_ADDRESS) && NO_ADDRESS != NO_DATA + case NO_ADDRESS: + return EAI_NODATA; +#endif + case NO_RECOVERY: + return EAI_FAIL; + case TRY_AGAIN: + return EAI_AGAIN; + default: + return EAI_FAIL; + } + return EAI_FAIL; + } + + /* Check that the address family is acceptable. + */ + switch (hp->h_addrtype) { + case AF_INET: + if (!(hints->ai_family == PF_UNSPEC || hints->ai_family == PF_INET)) + return EAI_FAMILY; + break; +#ifndef __OS2__ + case AF_INET6: + if (!(hints->ai_family == PF_UNSPEC || hints->ai_family == PF_INET6)) + return EAI_FAMILY; + break; +#endif + default: + return EAI_FAMILY; + } + + /* For each element pointed to by hp, create an element in the + result linked list. */ + sai = eai = NULL; + for (addrs = hp->h_addr_list; *addrs != NULL; addrs++) { + struct sockaddr sa; + size_t addrlen; + + if (hp->h_length < 1) + continue; + sa.sa_family = hp->h_addrtype; + switch (hp->h_addrtype) { + case AF_INET: + ((struct sockaddr_in *) &sa)->sin_port = htons (port); + memcpy (&((struct sockaddr_in *) &sa)->sin_addr, + *addrs, hp->h_length); + addrlen = sizeof (struct sockaddr_in); + break; +#ifndef __OS2__ + case AF_INET6: +#if SIN6_LEN + ((struct sockaddr_in6 *) &sa)->sin6_len = hp->h_length; +#endif + ((struct sockaddr_in6 *) &sa)->sin6_port = htons (port); + memcpy (&((struct sockaddr_in6 *) &sa)->sin6_addr, + *addrs, hp->h_length); + addrlen = sizeof (struct sockaddr_in6); + break; +#endif + default: + continue; + } + + result.ai_family = hp->h_addrtype; + ai = dup_addrinfo (&result, &sa, addrlen); + if (ai == NULL) { + freeaddrinfo (sai); + return EAI_MEMORY; + } + if (sai == NULL) + sai = ai; + else + eai->ai_next = ai; + eai = ai; + } + + if (sai == NULL) { + return EAI_NODATA; + } + + if (hints->ai_flags & AI_CANONNAME) { + sai->ai_canonname = malloc (strlen (hp->h_name) + 1); + if (sai->ai_canonname == NULL) { + freeaddrinfo (sai); + return EAI_MEMORY; + } + strcpy (sai->ai_canonname, hp->h_name); + } + + *res = sai; + return 0; +} + +void +freeaddrinfo (struct addrinfo *ai) +{ + struct addrinfo *next; + + while (ai != NULL) { + next = ai->ai_next; + if (ai->ai_canonname != NULL) + free (ai->ai_canonname); + if (ai->ai_addr != NULL) + free (ai->ai_addr); + free (ai); + ai = next; + } +} + +const char * +gai_strerror (int ecode) +{ + static const char *eai_descr[] = { + "no error", + "address family for nodename not supported", /* EAI_ADDRFAMILY */ + "temporary failure in name resolution", /* EAI_AGAIN */ + "invalid value for ai_flags", /* EAI_BADFLAGS */ + "non-recoverable failure in name resolution", /* EAI_FAIL */ + "ai_family not supported", /* EAI_FAMILY */ + "memory allocation failure", /* EAI_MEMORY */ + "no address associated with nodename", /* EAI_NODATA */ + "nodename nor servname provided, or not known", /* EAI_NONAME */ + "servname not supported for ai_socktype", /* EAI_SERVICE */ + "ai_socktype not supported", /* EAI_SOCKTYPE */ + "system error returned in errno", /* EAI_SYSTEM */ + "argument buffer overflow", /* EAI_OVERFLOW */ + }; + + if (ecode < 0 || ecode > (int) (sizeof eai_descr/ sizeof eai_descr[0])) + return "unknown error"; + return eai_descr[ecode]; +} + +#endif /* HAVE_GETADDRINFO */ diff --git a/src/3rdparty/os2/getaddrinfo.h b/src/3rdparty/os2/getaddrinfo.h new file mode 100644 index 0000000000..0a588a40a2 --- /dev/null +++ b/src/3rdparty/os2/getaddrinfo.h @@ -0,0 +1,101 @@ +#ifndef _getaddrinfo_h +#define _getaddrinfo_h + +/* + * Shamelessly duplicated from the fetchmail public sources + * for use by the Squid Project under GNU Public License. + * + * Update/Maintenance History: + * + * 15-Aug-2007 : Copied from fetchmail 6.3.8 + * - added protection around libray headers + * + * 16-Aug-2007 : Altered configure checks + * Un-hacked slightly to use system gethostbyname() + * + * Original License and code follows. + */ + +/* + * This file is part of libESMTP, a library for submission of RFC 2822 + * formatted electronic mail messages using the SMTP protocol described + * in RFC 2821. + * + * Copyright (C) 2001,2002 Brian Stafford + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +/* Structure and prototypes taken from RFC 2553 */ + +/* SG 23/09/2007: +On Windows the following definitions are already available, may be that +this could be needed on some other platform */ +typedef int socklen_t; + +struct addrinfo { + int ai_flags; /* AI_PASSIVE, AI_CANONNAME, AI_NUMERICHOST */ + int ai_family; /* PF_xxx */ + int ai_socktype; /* SOCK_xxx */ + int ai_protocol; /* 0 or IPPROTO_xxx for IPv4 and IPv6 */ + socklen_t ai_addrlen; /* length of ai_addr */ + char *ai_canonname; /* canonical name for nodename */ + struct sockaddr *ai_addr; /* binary address */ + struct addrinfo *ai_next; /* next structure in linked list */ +}; + +/* Supposed to be defined in */ +#define AI_ADDRCONFIG 0 +#define AI_PASSIVE 1 /* Socket address is intended for `bind'. */ +#define AI_CANONNAME 2 /* Request for canonical name. */ +#define AI_NUMERICHOST 4 /* Don't use name resolution. */ + +/* Supposed to be defined in */ +#define EAI_ADDRFAMILY 1 /* address family for nodename not supported */ +#define EAI_AGAIN 2 /* temporary failure in name resolution */ +#define EAI_BADFLAGS 3 /* invalid value for ai_flags */ +#define EAI_FAIL 4 /* non-recoverable failure in name resolution */ +#define EAI_FAMILY 5 /* ai_family not supported */ +#define EAI_MEMORY 6 /* memory allocation failure */ +#define EAI_NODATA 7 /* no address associated with nodename */ +#define EAI_NONAME 8 /* nodename nor servname provided, or not known */ +#define EAI_SERVICE 9 /* servname not supported for ai_socktype */ +#define EAI_SOCKTYPE 10 /* ai_socktype not supported */ + +#ifndef EAI_SYSTEM +/* Not defined on mingw32. */ +#define EAI_SYSTEM 11 /* System error returned in `errno'. */ +#endif +#ifndef EAI_OVERFLOW +/* Not defined on mingw32. */ +#define EAI_OVERFLOW 12 /* Argument buffer overflow. */ +#endif + +#ifdef __cplusplus +extern "C" { +#endif +/* RFC 2553 / Posix resolver */ +int getaddrinfo (const char *nodename, const char *servname, + const struct addrinfo *hints, struct addrinfo **res); +/* Free addrinfo structure and associated storage */ +void freeaddrinfo (struct addrinfo *ai); + +/* Convert error return from getaddrinfo() to string */ +const char *gai_strerror (int code); +#ifdef __cplusplus +} +#endif + +#endif /* _getaddrinfo_h */ diff --git a/src/3rdparty/os2/getnameinfo.c b/src/3rdparty/os2/getnameinfo.c new file mode 100644 index 0000000000..14fd89ef15 --- /dev/null +++ b/src/3rdparty/os2/getnameinfo.c @@ -0,0 +1,367 @@ +/* + * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the project nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +/* + * Issues to be discussed: + * - RFC2553 says that we should raise error on short buffer. X/Open says + * we need to truncate the result. We obey RFC2553 (and X/Open should be + * modified). ipngwg rough consensus seems to follow RFC2553. RFC3493 says + * nothing about it, but defines a new error code EAI_OVERFLOW which seems + * to be intended the code for this case. + * - What is "local" in NI_NOFQDN? (see comments in the code) + * - NI_NAMEREQD and NI_NUMERICHOST conflict with each other. + * - (KAME extension) always attach textual scopeid (fe80::1%lo0), if + * sin6_scope_id is filled - standardization status? + * - what should we do if we should do getservbyport("sctp")? + */ + +/* + * Considerations about thread-safeness + * The code in this file is thread-safe, and so the thread-safeness of + * getnameinfo() depends on the property of backend functions. + * - getservbyport() is not thread safe for most systems we are targeting. + * - getipnodebyaddr() is thread safe. However, many resolver libraries + * used in the function are not thread safe. + * - gethostbyaddr() is usually not thread safe. + */ + +#if !HAVE_GETNAMEINFO + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "getaddrinfo.h" +#include "getnameinfo.h" + +static const struct afd { + int a_af; + int a_addrlen; + int a_socklen; + int a_off; + int a_portoff; +} afdl [] = { +#if INET6 + {PF_INET6, sizeof(struct in6_addr), sizeof(struct sockaddr_in6), + offsetof(struct sockaddr_in6, sin6_addr), + offsetof(struct sockaddr_in6, sin6_port)}, +#endif + {PF_INET, sizeof(struct in_addr), sizeof(struct sockaddr_in), + offsetof(struct sockaddr_in, sin_addr), + offsetof(struct sockaddr_in, sin_port)}, + {0, 0, 0, 0, 0}, +}; + +#if INET6 +static int ip6_parsenumeric __P((const struct sockaddr *, const char *, char *, + size_t, int)); +static int ip6_sa2str __P((const struct sockaddr_in6 *, char *, size_t, int)); +#endif + +int +getnameinfo(sa, salen, host, hostlen, serv, servlen, flags) +const struct sockaddr *sa; +socklen_t salen; +char *host; +size_t hostlen; +char *serv; +size_t servlen; +int flags; +{ + const struct afd *afd; + struct servent *sp; + struct hostent *hp; + unsigned short port; + int family, i; + const char *addr; + uint32_t v4a; + char numserv[512]; + + if (sa == NULL) + return EAI_FAIL; + +#if HAVE_SA_LEN /*XXX*/ + if (sa->sa_len != salen) + return EAI_FAIL; +#endif + + family = sa->sa_family; + for (i = 0; afdl[i].a_af; i++) + if (afdl[i].a_af == family) { + afd = &afdl[i]; + goto found; + } + return EAI_FAMILY; + +found: + if (salen != afd->a_socklen) + return EAI_FAIL; + + /* network byte order */ + memcpy(&port, (const char *)sa + afd->a_portoff, sizeof(port)); + addr = (const char *)sa + afd->a_off; + + if (serv == NULL || servlen == 0) { + /* + * do nothing in this case. + * in case you are wondering if "&&" is more correct than + * "||" here: RFC3493 says that serv == NULL OR servlen == 0 + * means that the caller does not want the result. + */ + } else { + if (flags & NI_NUMERICSERV) + sp = NULL; + else { + sp = getservbyport(port, + (flags & NI_DGRAM) ? "udp" : "tcp"); + } + if (sp) { + if (strlen(sp->s_name) + 1 > servlen) + return EAI_OVERFLOW; + strncpy(serv, sp->s_name, servlen); + } else { + snprintf(numserv, sizeof(numserv), "%u", ntohs(port)); + if (strlen(numserv) + 1 > servlen) + return EAI_OVERFLOW; + strncpy(serv, numserv, servlen); + } + } + + switch (sa->sa_family) { + case AF_INET: + v4a = (uint32_t) + ntohl(((const struct sockaddr_in *)sa)->sin_addr.s_addr); + if (IN_MULTICAST(v4a) || IN_EXPERIMENTAL(v4a)) + flags |= NI_NUMERICHOST; + v4a >>= IN_CLASSA_NSHIFT; + if (v4a == 0) + flags |= NI_NUMERICHOST; + break; +#if INET6 + case AF_INET6: { + const struct sockaddr_in6 *sin6; + sin6 = (const struct sockaddr_in6 *)sa; + switch (sin6->sin6_addr.s6_addr[0]) { + case 0x00: + if (IN6_IS_ADDR_V4MAPPED(&sin6->sin6_addr)) + ; + else if (IN6_IS_ADDR_LOOPBACK(&sin6->sin6_addr)) + ; + else + flags |= NI_NUMERICHOST; + break; + default: + if (IN6_IS_ADDR_LINKLOCAL(&sin6->sin6_addr)) + flags |= NI_NUMERICHOST; + else if (IN6_IS_ADDR_MULTICAST(&sin6->sin6_addr)) + flags |= NI_NUMERICHOST; + break; + } + } + break; +#endif + } + if (host == NULL || hostlen == 0) { + /* + * do nothing in this case. + * in case you are wondering if "&&" is more correct than + * "||" here: RFC3493 says that host == NULL or hostlen == 0 + * means that the caller does not want the result. + */ + } else if (flags & NI_NUMERICHOST) { + /* NUMERICHOST and NAMEREQD conflicts with each other */ + if (flags & NI_NAMEREQD) + return EAI_NONAME; + + goto numeric; + } else { +#if USE_GETIPNODEBY + int h_error = 0; + hp = getipnodebyaddr(addr, afd->a_addrlen, afd->a_af, &h_error); +#else + hp = gethostbyaddr(addr, afd->a_addrlen, afd->a_af); +#if 0 // getnameinfo.c:161:9: error: variable 'h_error' set but not used +#if HAVE_H_ERRNO + h_error = h_errno; +#else + h_error = EINVAL; +#endif +#endif /* 0 */ +#endif + + if (hp) { +#if 0 + if (flags & NI_NOFQDN) { + /* + * According to RFC3493 section 6.2, NI_NOFQDN + * means "node name portion of the FQDN shall + * be returned for local hosts." The following + * code tries to implement it by returning the + * first label (the part before the first + * period) of the FQDN. However, it is not + * clear if this always makes sense, since the + * given address may be outside of "local + * hosts." Due to the unclear description, we + * disable the code in this implementation. + */ + char *p; + p = strchr(hp->h_name, '.'); + if (p) + *p = '\0'; + } +#endif + if (strlen(hp->h_name) + 1 > hostlen) { +#if USE_GETIPNODEBY + freehostent(hp); +#endif + return EAI_OVERFLOW; + } + strncpy(host, hp->h_name, hostlen); +#if USE_GETIPNODEBY + freehostent(hp); +#endif + } else { + if (flags & NI_NAMEREQD) + return EAI_NONAME; + +numeric: + switch (afd->a_af) { +#if INET6 + case AF_INET6: { + int error; + + if ((error = ip6_parsenumeric(sa, addr, host, + hostlen, + flags)) != 0) + return(error); + break; + } +#endif + default: + if (inet_ntop(afd->a_af, addr, host, + hostlen) == NULL) + return EAI_SYSTEM; + break; + } + } + } + return(0); +} + +#if INET6 +static int +ip6_parsenumeric(sa, addr, host, hostlen, flags) +const struct sockaddr *sa; +const char *addr; +char *host; +size_t hostlen; +int flags; +{ + int numaddrlen; + char numaddr[512]; + + if (inet_ntop(AF_INET6, addr, numaddr, sizeof(numaddr)) == NULL) + return EAI_SYSTEM; + + numaddrlen = strlen(numaddr); + if (numaddrlen + 1 > hostlen) /* don't forget terminator */ + return EAI_OVERFLOW; + strncpy(host, numaddr, hostlen); + + if (((const struct sockaddr_in6 *)sa)->sin6_scope_id) { + char zonebuf[SQUIDHOSTNAMELEN]; + int zonelen; + + zonelen = ip6_sa2str( + (const struct sockaddr_in6 *)(const void *)sa, + zonebuf, sizeof(zonebuf), flags); + if (zonelen < 0) + return EAI_OVERFLOW; + if (zonelen + 1 + numaddrlen + 1 > hostlen) + return EAI_OVERFLOW; + + /* construct */ + memcpy(host + numaddrlen + 1, zonebuf, + (size_t)zonelen); + host[numaddrlen] = SCOPE_DELIMITER; + host[numaddrlen + 1 + zonelen] = '\0'; + } + + return 0; +} + +/* ARGSUSED */ +static int +ip6_sa2str(sa6, buf, bufsiz, flags) +const struct sockaddr_in6 *sa6; +char *buf; +size_t bufsiz; +int flags; +{ + unsigned int ifindex; + const struct in6_addr *a6; + int n; + + ifindex = (unsigned int)sa6->sin6_scope_id; + a6 = &sa6->sin6_addr; + +#if NI_NUMERICSCOPE + if ((flags & NI_NUMERICSCOPE) != 0) { + n = snprintf(buf, bufsiz, "%u", sa6->sin6_scope_id); + if (n < 0 || n >= bufsiz) + return -1; + else + return n; + } +#endif + + /* if_indextoname() does not take buffer size. not a good api... */ + if ((IN6_IS_ADDR_LINKLOCAL(a6) || IN6_IS_ADDR_MC_LINKLOCAL(a6) || + IN6_IS_ADDR_MC_NODELOCAL(a6)) && bufsiz >= IF_NAMESIZE) { + char *p = if_indextoname(ifindex, buf); + if (p) + return (strlen(p)); + } + + /* last resort */ + n = snprintf(buf, bufsiz, "%u", sa6->sin6_scope_id); + if (n < 0 || n >= bufsiz) + return -1; + else + return n; +} +#endif /* INET6 */ +#endif diff --git a/src/3rdparty/os2/getnameinfo.h b/src/3rdparty/os2/getnameinfo.h new file mode 100644 index 0000000000..c1861aa033 --- /dev/null +++ b/src/3rdparty/os2/getnameinfo.h @@ -0,0 +1,29 @@ +#ifndef _getnameinfo_h +#define _getnameinfo_h +/* + * Reconstructed from KAME getnameinfo.c (in lib/) + */ + + /* getnameinfo flags */ +#define NI_NOFQDN 0x0001 +#define NI_NUMERICHOST 0x0002 /* return numeric form of address */ +#define NI_NAMEREQD 0x0004 /* request DNS name */ +#define NI_NUMERICSERV 0x0008 +#define NI_DGRAM 0x0010 + +#ifdef __cplusplus +extern "C" { +#endif +/* RFC 2553 / Posix resolver */ +int getnameinfo(const struct sockaddr *sa, + socklen_t salen, + char *host, + size_t hostlen, + char *serv, + size_t servlen, + int flags ); +#ifdef __cplusplus +} +#endif + +#endif /* _getnameinfo_h */ diff --git a/src/3rdparty/squirrel/COMPILE b/src/3rdparty/squirrel/COMPILE deleted file mode 100644 index 8dbbf8c2fc..0000000000 --- a/src/3rdparty/squirrel/COMPILE +++ /dev/null @@ -1,41 +0,0 @@ -Squirrel 2.2.4 stable --------------------------------------------------------- -What is in this distribution? - -squirrel - static library implementing the compiler and interpreter of the language - -sqstdlib - the standard utility libraries - -sq - stand alone interpreter - -doc - The manual - -etc - a minimalistic embedding sample - -samples - samples programs - - -HOW TO COMPILE ---------------------------------------------------------- -GCC USERS -......................................................... -There is a very simple makefile that compiles all libraries and exes -from the root of the project run 'make' - -for 32 bits systems - - $ make - -for 64 bits systems - - $ make sq64 - -VISUAL C++ USERS -......................................................... -Open squirrel.dsw from the root project directory and build(dho!) diff --git a/src/3rdparty/squirrel/HISTORY b/src/3rdparty/squirrel/HISTORY deleted file mode 100644 index 8de77ac16a..0000000000 --- a/src/3rdparty/squirrel/HISTORY +++ /dev/null @@ -1,357 +0,0 @@ -***version 2.2.5 stable*** --sq_getsize() now returns userdatasize for classes and instances --added parameter 'isstatic' to _newmember metamethod(thx G.Meyer) --now array.sort() is implemented with heapsort --added SQUIRREL_VERSION_NUMBER preprocessor definition --now floats in scientific notation also accept numbers with no '.' (eg. 1e+6 or 1e6) --fixed some compiler warning --fixed a minor compiler bug --fixed some bugs when SQUSEDOUBLE is used in 32bits systems --fixed bug in GC - -***2009-11-15 *** -***version 2.2.4 stable*** --fixed bug in functions with default parameters - -***2009-06-30 *** -***version 2.2.3 stable*** --added sq_getfunctioninfo --added compile time flag SQUSEDOUBLE to use double precision floats --added global slot _floatsize_ int the base lib to recognize single precision and double precision builds --sq_wakeupvm can now resume the vm with an exception --added sqstd_format --generators can now be instantiated by calling sq_call() or closure.call() --fixed a bug in sqstd_printcallstack(thx takayuki_h) --fixed modulo by zero(thx jup) --fixed negative enums and constants --fixed generator crash bug if invoked as tail call (thx Mr.Accident) --fixed some minor bug - -***2008-09-24 *** -***version 2.2.2 stable*** --fixed some behaviour inconsistencies in thread.call() and thread.wakeup() (thx Mr.Accident) --fixed coroutine error propagation --fixed lingering return value from native function (thx Tom Leonard) --fixed a bug if array.sort() is given a bad sort function (thx Tom Leonard) --fixed some minor api bug --added sq_arrayremove() and sq_arrayinsert() - -***2008-05-16 *** -***version 2.2.1 stable*** --fixed a tailcall bug - -***2008-02-17 *** -***version 2.2 stable *** --added _newslot metamethod in classes --added enums added constants --added sq_pushconsttable, sq_setconsttable --added default param --added octal literals(thx Dinosaur) --fixed debug hook, 'calls' and 'returns' are properly notified in the same number. --fixed a coroutine bug - -***2007-07-29 *** -***version 2.1.2 stable*** --new behaviour for generators iteration using foreach -now when a generator is iterated by foreach the value returned by a 'return val' statement -will terminate the iteration but will not be returned as foreach iteration --added sq_setclassudsize() --added sq_clear() --added table.clear(), array.clear() --fixed sq_cmp() (thx jyuill) --fixed minor bugs - -***2006-08-21 *** -***version 2.1.1 stable*** --vm refactoring --optimized internal function memory layout --new global symbol _version_ (is the version string) --code size optimization for float literals(on 32bits float builts) --now the raw ref API(sq_addref etc...) is fully reentrant. --fixed a bug in sq_getdelegate() now pushes null if the object doesn't have a delegate(thx MatzeB) --improved C reference performances in NO_GARBAGE_COLLECTOR builds --sq_getlocal() now enumerates also outer values. --fixed regexp library for GCC users. - -***2006-03-19 *** -***version 2.1 stable*** --added static class fields, new keyword static --added 64bits architecture support --added global slot _intsize_ int the base lib to recognize 32bits and 64bits builds --added functions with fixed environment, closure.bindenv() built-in function --all types except userdata and null implement the tostring() method --string concatenation now invokes metamethod _tostring --new metamethods for class objects _newmember and _inherited --sq_call() sq_resume() sq_wakeupvm() have a new signature --new C referencing implementation(scales more with the amount of references) --refactored hash table --new api functions sq_newslot(),sq_tobool(),sq_getbase(), sq_instanceof(), sq_bindenv() --the api func sq_createslot was deprecated but still supported in form of C macro on top of sq_newslot --sq_setreleasehook() now also works for classes --stream.readstr() and stream.writestr() have been deprecated(this affects file and blob) --fixed squirrel.h undeclared api calls --fixed few minor bugs --SQChar is now defined as wchar_t --removed warning when building with -Wall -pedantic for GCC users --added new std io function writeclosuretofile() --added new std string functions strip(),rstrip(),lstrip() and split() --regular expressions operators (+,*) now have more POSIX greedyness behaviour --class constructors are now invoked as normal functions - -***2005-10-02 *** -***version 2.0.5 stable*** --fixed some 64bits incompatibilities (thx sarge) --fixed minor bug in the stdlib format() function (thx Rick) --fixed a bug in dofile() that was preventing to compile empty files --added new API sq_poptop() & sq_getfreevariable() --some performance improvements - -***2005-08-14 *** -***version 2.0.4 stable*** --weak references and related API calls --added sq_objtobool() --class instances memory policies improved(1 mem allocation for the whole instance) --typetags are now declared as SQUserPointer instead of unsigned int --first pass for 64bits compatibility --fixed minor bug in the stdio stream --fixed a bug in format() --fixed bug in string.tointeger() and string.tofloat() - -***2005-06-24 *** -***version 2.0.3 stable*** --dofile() and loadfile() in the iolib now can decode ASCII, UTF8 files UCS2 big-endian and little-endian --sq_setparamscheck() : now typemesk can check for null --added string escape sequence \xhhhh --fixed some C++ standard incompatibilities - -***2005-05-15 *** -***version 2.0.2 stable*** --performances improvements (expecially for GCC users) --removed all dependencies from C++ exception handling --various bugfixes - -***2005-04-12 *** -***version 2.0.1 stable*** --various bugfixes --sq_setparamscheck() now allows spaces in the typemask - -***2005-04-03 *** -***version 2.0 stable*** --added API sq_gettypetag() --added built-in function to the bool type(tointeger, tostring etc...) - -***2005-02-27 *** -***version 2.0 release candidate 1(RC 1)*** --added API sq_reseterror() --modified sq_release() --now class instances can be cloned --various bufixes - -***2005-01-26 *** -***version 2.0 beta 1*** --added bool type --class properties can be redefined in a derived class --added ops *= /= and %= --new syntax for class attributes declaration instead of ( and ) --increased the max number of literals per function from 65535 to 16777215 --now free variables have proper lexical scoping --added API sq_createinstance(), sq_pushbool(), sq_getbool() --added built-in function type() --added built-in function obj.rawin(key) in table,class and instance --sq_rawget() and sq_rawset() now work also on classes and instances --the VM no longer uses C++ exception handling (more suitable for embedded devices) --various bufixes - -***2004-12-21 *** -***version 2.0 alpha 2*** --globals scoping changed, now if :: is omitted the VM automatically falls back on the root table --various bufixes --added class level attributes - -***2004-12-12 *** -***version 2.0 alpha 1*** --codebase branch from version 1.x --added classes --added functions with variable number of parameters(vargc & vargv and the ...) --0 and 0.0 are now considered 'false' by all conditional statements(if,while,for,?,do-while) --added new api functions sq_newclass() sq_setinstanceup() sq_getinstanceup() sq_getattributes() sq_setattributes() --modified api sq_settypetag() - -***2004-11-01 *** -***version 1.0 stable*** --fixed some minor bug --improoved operator 'delete' performances --added scientific notation for float numbers( eg. 2.e16 or 2.e-2) - -***2004-08-30 *** -***version 1.0 release candidate 2(RC 2)*** --fixed bug in the vm(thx Pierre Renaux) --fixed bug in the optimizer(thx Pierre Renaux) --fixed some bug in the documentation(thx JD) --added new api functions for raw object handling --removed nested multiline comments --reduced memory footprint in C references - -***2004-08-23 *** -***version 1.0 release candidate 1(RC 1)*** --fixed division by zero --the 'in' operator and obj.rawget() do not query the default delegate anymore --added function sq_getprintfunc() --added new standard library 'auxlib'(implements default error handlers) - -***2004-07-12 *** -***version 1.0 beta 4*** --fixed a bug in the integer.tochar() built-in method --fixed unary minus operator --fixed bug in dofile() --fixed inconsistency between != and == operators(on float/integer comparison) --added javascript style unsigned right shift operator '>>>' --added array(size) constructor built-in function --array.resize(size,[fill]) built-in function accepts an optional 'fill' value --improved debug API, added sq_getclosureinfo() and sq_setnativeclosurename() - -***2004-05-23 *** -***version 1.0 beta 3*** --minor vm bug fixes --string allocation is now faster --tables and array memory usage is now less conservative(they shrink) --added regular expression routines in the standard library --The 'c' expression now accepts only 1 character(thx irbrian) --multiline strings <[ ]> have been substituted with C# style verbatim strings (eg. @"string") --added new keyword 'parent' for accessing the delegate of tables and unserdata --The metamethod '_clone' has been renamed '_cloned' --the _delslot metamethod's behaviour and prototype have been changed --new default function in the integer and float object 'tochar()' --the built-in function chcode2string has been removed --the default method [table].getdelegate() has been removed --new api sq_rawdeleteslot() --new table built-in method rawdelete(key) --the dynamic mudule loading has been removed from the standard distribution --some optimizations in the VM - -***2004-04-21 *** -***version 1.0 beta 2*** --minor compiler/parser bug fixes --sq_newclosure has a different prototype, the "paramscheck" of paramter has been moved to the new function sq_setparamscheck() --sq_setparamscheck allows to add automatic parameters type checking in native closures --sq_compile() lost the lineinfo parameter --new api sq_enabledebuginfo() globally sets compiler's debug info generation --added consistency check on bytecode serialization --fixed += operator, now works on strings like + --added global slot in the base lib _charsize_ to recognize unicode builds from ascii builds runtime --added registry table --new api call sq_pushregistrytable() --added type tag to the userdata type sq_settypetag() --sq_getuserdata now queries the userdata typetag --the built in function collect_garbage() as been renamed collectgarbage() for consistency reasons --new standard libraries(sqlibs are now obsolete) - -***2004-02-20 *** -***version 1.0 beta 1*** --fixed a bug in the compiler (thanks Martin Kofler) --fixed bug in the switch case statement --fixed the _unm metamethod --fixed minor bugs in the API --fixed automatic stack resizing --first beta version - first pass code clean up in the VM and base lib - first pass code coverege test has been done on VM and built-in lib --new VM creation API sq_open() sq_close() (sq_newvm and sq_releasevm are now obsolete) --new api allows to specifiy a "print" function to output text(sq_printfunc) --added some small optimizations --new cooperative multi-threading capabilities in the base library(coroutines), VMs are now a built in type("thread") --new built in functions have been added for manipulating the new "thread" type --friend virtual machines share the same root table, error handler and debug hook by default --new compile time options - -***2004-01-19 *** -***version 0.9 alpha*** --fixed a garbage collection bug --fixed some API bugs(thanks to Joshua Jensen) --fixed tail calls (in the version 0.8 the tail call optimization was erroneously disabled) --new function parameters semantic, now passing a wrong number of parameters generates an exception --native closures have now a built in parameter number checking --sq_rawget and sq_rawset now work also on arrays --sq_getsize now woks also on userdata --the userdata release hook prototype is changed(now passes the size of the userdata) --the lexer reader function now returns an integer instead of a char that allows better error checking on the input(thx Joshua Jensen) --faster compiler --try/catch blocks do not cause any runtime memory allocation anymore - -***2003-12-06 *** -***version 0.8 alpha*** --fixed a bug that was preventing to have callable userdata throught the metamethod _call --fixed a garbage collection bug --fixed == operator now can compare correctly different types --new built in method getstackinfos(level) --improoved line informations precision for the debug hook --new api call sq_compilebuffer() --new built-in api function compilestring() --new syntactic sugar for function declarations inside tables --the debug API has been finalized - -***2003-11-17 *** -***version 0.7 alpha*** --fixed critical bug SQInteger the tail call system --fixed bug in the continue statement code generation --fixed func call param issue(thanks to Rewoonenco Andrew) --added _delslot metamethod(thanks to Rewoonenco Andrew) --new multiline string expression ( delimited by <[ and ]> ) --normal strings ("") do not allow embedded new line anymore --reduced vm memory footprint(C refs are shared between friend VMs) --new api method sq_deleteslot() --new debug hook event 'r' is triggered when a function returns - -***2003-11-04 *** -***version 0.6 alpha*** --fixed switch statement(was executing the default case after a break) --sq_call() doesn't pop the closure (just the params) --the vm execution can be suspended from the C API anytime (micro-threads) --new api calls sq_suspendvm() sq_wakeupvm() sq_getvmstate() and sq_reservestack() - -***2003-10-13 *** -***version 0.5 alpha*** --fixed some minor bug --tested with non ASCII identifiers in unicode mode(I've tried chinese chars) --added built-in function string.find() --the built-in function array.sort() optionally accepts a cmp(a,b) function --the debug hook function now has a new prototype debug_hook(event_type,sourcefile,line,functionname) --fixed some debug info imprecision - -***2003-10-01 *** -***version 0.4 alpha*** --faster VM --sq_call will pop arguments and closure also in case of failure --fixed a bug in sq_remove --now the VM detects delegation cycles(and throws an exception) --new operators ++ and -- --new operator ',' comma operator --fixed some expression precedence issue --fixed bug in sq_arraypop - -***2003-09-15 *** -***version 0.3 alpha*** --fixed a bug in array::insert() --optional Unicode core(define SQUNICODE or _UNICODE on Win32) --sq_compiler uses a new reader function SQLEXREADFUNC --the debug hook passes 'l' instead of 'line' for line callbacks - and 'c' instead of 'call' for call callbacks --new array.extend() bulit-in function --new API sq_clone() - -***2003-09-10 *** -***version 0.2 pre-alpha*** --new completely reentrant VM (sq_open and sq_close are now obsolete) --sq_newvm() has a new prototype --allocators are now global and linked in the VM --_newslot meta method added --rawset creates a slot if doesn't exists --the compiler error callback pass the vm handle(thanks Pierre Renaux) --sq_setforeignptr() sq_getforeingptr() are now public --sq_resume() now is possible to resume generators from C --sq_getlasterror() retrieve the last thrown error --improved docs - -***2003-09-06 *** -***version 0.1 pre-alpha*** -first release diff --git a/src/3rdparty/squirrel/Makefile b/src/3rdparty/squirrel/Makefile deleted file mode 100644 index 594ec8b1c2..0000000000 --- a/src/3rdparty/squirrel/Makefile +++ /dev/null @@ -1,23 +0,0 @@ - -SQUIRREL=. -MAKE=make - -sq32: - cd squirrel; $(MAKE) - cd sqstdlib; $(MAKE) - cd sq; $(MAKE) - -sqprof: - cd squirrel; $(MAKE) sqprof - cd sqstdlib; $(MAKE) sqprof - cd sq; $(MAKE) sqprof - -sq64: - cd squirrel; $(MAKE) sq64 - cd sqstdlib; $(MAKE) sq64 - cd sq; $(MAKE) sq64 - -clean: - $(MAKE) -C squirrel clean - $(MAKE) -C sqstdlib clean - $(MAKE) -C sq clean diff --git a/src/3rdparty/squirrel/README b/src/3rdparty/squirrel/README deleted file mode 100644 index 9c3bd7b76d..0000000000 --- a/src/3rdparty/squirrel/README +++ /dev/null @@ -1,22 +0,0 @@ -The programming language SQUIRREL 2.2.5 stable - --------------------------------------------------- -The project has been compiled and run on Windows(Windows XP/2000 on Intel x86 Windows XP Pro on AMD x64) and -Linux(Slackware 9.0 on Intel x86, Fedora Core 4 on AMD x64). - -Has been tested with the following compilers: - MS Visual C++ 6.0,7.0,7.1 and 8.0 (32 and 64bits) - MinGW gcc 3.2 (mingw special 20020817-1) - Cygnus gcc 3.2 - Linux gcc 3.2.3 - Linux gcc 4.0.0 (x86 64bits) - - -Feedback and suggestions are appreciated -project page - http://www.squirrel-lang.org -community forums - http://www.squirrel-lang.org/Forums -wiki - http://wiki.squirrel-lang.org -author - alberto@demichelis.net - -END OF README - diff --git a/src/3rdparty/squirrel/doc/sqstdlib2.chm b/src/3rdparty/squirrel/doc/sqstdlib2.chm deleted file mode 100644 index fbf53ec2af..0000000000 Binary files a/src/3rdparty/squirrel/doc/sqstdlib2.chm and /dev/null differ diff --git a/src/3rdparty/squirrel/doc/sqstdlib2.pdf b/src/3rdparty/squirrel/doc/sqstdlib2.pdf deleted file mode 100644 index 72fc15c505..0000000000 --- a/src/3rdparty/squirrel/doc/sqstdlib2.pdf +++ /dev/null @@ -1,1714 +0,0 @@ -%PDF-1.3 -% -4 0 obj -<< /Type /Info -/Producer (FOP 0.20.5) >> -endobj -5 0 obj -<< /Length 246 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gaqd[\IQJ1&-UA:?a4/j=Osr[Jq*pMi=8^1`.4Za_?id24lM2b[+uF7AnR]0Q4ej;k9Tg),:)c*7W;lXW&kJok9tubis9_(_4P/*D/T*8;Q*)>(=mXhjT`"b>?n0Pb;#0GGp)YQMZ:%Nr.,]Ee)267S5JJPh(qWc.2JUaBD$]k#7;O+_fr2/Q4AiQp[&KcBNMUK-,KPb[[BBjHJC?@,=d"kc#.j8KbXf_i75B.qI)8(I~> -endstream -endobj -6 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 5 0 R ->> -endobj -7 0 obj -<< /Length 1047 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gasao966RV&AJ$CE(_tHW'$$Ddo4`99KG>D'5hXt!eaDq&+nrXf8D?8/YXB;^F4ot&;YF>$C33$R8(!afRg9emADDoN/Gq^kFG<%$"-FhiSoSSum`^8D^FT^E01>:QhB:j8S4iIc_3g`<(ZIeSFbcT)eJi3m:JO/0#ego2NMb(gI!*VY0P8Z-r@N'UT(?F"h&Y_<=^n-jDu4[b6tEH.H$cf-MA$FdM91QcQO2Y@7BLign\JkFbaS>$e3FcoJ8#_N6]YFu[7/uM16Gq?!%D'plAM.ilY2J3tif8V;%hMiO1D))GSQfbBUk8fujAtdoh%J0tictI5qs*AfS5DYn(Z39C&Oq!\YQr0-]D2BYiB#%'CkGuNnB-rtlq5%>`+ohaG([_Q,;0ekW8V3\9YY*8O:nV)n_%m^$N_@a(U%h&K?iem:)hFG6`XgqAkXEtJb#>mX`8g\)2frpN&1dqs'E(s<="*3eS;[87[IUJu*[?gVp3qK5f\oWadQc"(BZkuPdi.GH%,8S(K?6hi/DHRaZ"p9eoW5gf3)U.`2-e1b0HE4V;_4N5Et!nH-l]A^eYNg`ShQa#iU^IbipEr$0fPPB-//Fbr\r#uldV%o!ih_KBDnR/Zn4JU,"Y((^5(AZrjJ5d\'KQN/A9ARObUYE/M=g&.6pIj4RWPm4;<3RfEBJpQs(EM&jBY#d$^AG6 -endstream -endobj -8 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 7 0 R ->> -endobj -9 0 obj -<< /Length 71 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Garg^iGoCd.c`?]8EV`b1=.gR0K1`91K?+0ZOMGdU/Zh'Y!=Te%#&:?HH*JE! -endstream -endobj -10 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 9 0 R ->> -endobj -11 0 obj -<< /Length 1275 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gb"/l9llag*6.GrMEQ\]$2_`c1!(]3FJdNRE9m.H8dl^SK@iclkmOSI`N7'NX((Wn%fY*'\qfHgs">qd@INiG'C+8p-fJpg+ep)):AID:a)$O@DI<]9P&O*DS:ja(N@j^PH(H$I.`b2)gH*!g-:L$GAet26_GB9i-)"(ZQ1E)@X&;t-\AG_S8(D1M?!Tj!j!WHB,0u#86'5]AEg05+)Qcb2rs+*?TU1HA;'B4)d>Ig?YAkY]\PIGdlW,j5(T1X&7JYAjVFa"5o#L%5-p.&P5p/usnSD4qoruWp7e&G3o-DZBZk;uafB`!XQcl&I9Et\%Fid0Z^G6EO)^G0GB)P9,OkJd)T;Al/+:s=""pb@c7ad<1,^krR=pQfQUKJmUEVLu55bS)06Tlt&hUo`"[1Y8$%nQa4#dat0il2.[oNC3Ff9<"$U,;ZZ/P7A6%hAR*5p4OT'JI[fpZT1"-0tSg#?lPM)m]Qr5eD1Cf?oHoK05ReFil6R-Bh:_&5@o(_(NFW1tB/H>B*-I'k])P$RFbfSdu)0g/d;b!cTD'"$e!UhAs]sXuf#ockl`a]d;C6G[G5]C_ngt)?YXc%m:./#kX/f&/a`&!pt`p@R#NY)^V6TV/NJj>m'(Ol%&J-#o\"PU!VR.jktbX]&B"?KRe.rU]?Ufq-#XNssdD'^NI*bRo([LB-,Na"/%TXR0ZUNj5/mn.U/XB%d/s[VJ[TY0'h8Q%5_;8WV&/dIZl[r(dK4jDXGKW$QO@QPScZYA#7H@AqAOAGa7CNW$kV&JP1:PY7:Vb?70sg:.rftX[KufNH4>6Uptf>`j8hDb?h(SHmJSST`;.3]!BXEX`)Rm/TYM'D#Rh1mO=;Ihgn&]L_amFbR\o0/fsEh!eL&^5:WUn>+=M_SnD4tE>M?(WCeQEEU\7(5jt2n.TqHOK'LJW@9gbn!mbuiJO!M:V4T>XTXYDWpH=:jHHOUIda06O2*3,G0tH\"l^`g3-b@1W`q,K#admI76]'m4n -endstream -endobj -12 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 11 0 R -/Annots 13 0 R ->> -endobj -13 0 obj -[ -14 0 R -16 0 R -18 0 R -20 0 R -22 0 R -24 0 R -26 0 R -28 0 R -30 0 R -32 0 R -34 0 R -36 0 R -38 0 R -40 0 R -42 0 R -44 0 R -46 0 R -48 0 R -50 0 R -52 0 R -54 0 R -56 0 R -58 0 R -60 0 R -62 0 R -64 0 R -66 0 R -68 0 R -70 0 R -72 0 R -74 0 R -76 0 R -78 0 R -80 0 R -82 0 R -84 0 R -86 0 R -88 0 R -] -endobj -14 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 120.0 655.001 179.44 645.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 15 0 R -/H /I ->> -endobj -16 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 120.0 644.001 228.88 634.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 17 0 R -/H /I ->> -endobj -18 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 633.001 194.83 623.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 19 0 R -/H /I ->> -endobj -20 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 622.001 231.06 612.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 21 0 R -/H /I ->> -endobj -22 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 611.001 205.5 601.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 23 0 R -/H /I ->> -endobj -24 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 600.001 169.28 590.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 25 0 R -/H /I ->> -endobj -26 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 589.001 219.11 579.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 27 0 R -/H /I ->> -endobj -28 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 578.001 210.5 568.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 29 0 R -/H /I ->> -endobj -30 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 567.001 292.71 557.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 31 0 R -/H /I ->> -endobj -32 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 120.0 556.001 196.66 546.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 33 0 R -/H /I ->> -endobj -34 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 545.001 194.83 535.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 35 0 R -/H /I ->> -endobj -36 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 534.001 231.06 524.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 37 0 R -/H /I ->> -endobj -38 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 523.001 225.77 513.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 39 0 R -/H /I ->> -endobj -40 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 512.001 169.28 502.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 41 0 R -/H /I ->> -endobj -42 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 501.001 219.11 491.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 43 0 R -/H /I ->> -endobj -44 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 490.001 214.39 480.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 45 0 R -/H /I ->> -endobj -46 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 120.0 479.001 198.32 469.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 47 0 R -/H /I ->> -endobj -48 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 468.001 194.83 458.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 49 0 R -/H /I ->> -endobj -50 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 457.001 231.06 447.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 51 0 R -/H /I ->> -endobj -52 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 446.001 169.28 436.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 53 0 R -/H /I ->> -endobj -54 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 435.001 219.11 425.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 55 0 R -/H /I ->> -endobj -56 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 120.0 424.001 206.66 414.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 57 0 R -/H /I ->> -endobj -58 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 413.001 194.83 403.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 59 0 R -/H /I ->> -endobj -60 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 402.001 231.06 392.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 61 0 R -/H /I ->> -endobj -62 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 391.001 169.28 381.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 63 0 R -/H /I ->> -endobj -64 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 380.001 219.11 370.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 65 0 R -/H /I ->> -endobj -66 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 120.0 369.001 201.66 359.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 67 0 R -/H /I ->> -endobj -68 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 358.001 194.83 348.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 69 0 R -/H /I ->> -endobj -70 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 347.001 231.06 337.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 71 0 R -/H /I ->> -endobj -72 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 336.001 220.49 326.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 73 0 R -/H /I ->> -endobj -74 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 325.001 169.28 315.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 75 0 R -/H /I ->> -endobj -76 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 314.001 219.11 304.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 77 0 R -/H /I ->> -endobj -78 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 303.001 212.45 293.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 79 0 R -/H /I ->> -endobj -80 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 292.001 247.16 282.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 81 0 R -/H /I ->> -endobj -82 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 120.0 281.001 194.43 271.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 83 0 R -/H /I ->> -endobj -84 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 270.001 169.28 260.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 85 0 R -/H /I ->> -endobj -86 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 259.001 226.6 249.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 87 0 R -/H /I ->> -endobj -88 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 120.0 248.001 142.77 238.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 89 0 R -/H /I ->> -endobj -90 0 obj -<< /Length 971 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gas1_9lHOU&A@P9n8Y3KKWesRgleV$dR2K`83JdmGer`M1,^j6$2sN;0Z5l'C8I3YH"NZH4C`H)D/MO-.#bjW+[T>Bn^2%a+?K1_oT0L)u?7'<'Uc<.IgYI(MXYSh0b7UseQ*4HA+>@ot>=.0YoI#q_d9RA:nfmE="Y]=WF]2C+F1.:S5Ptjk"\nDH/A/3%'Eaf\B&b/"qbEg=^47!#no2XVcga.TRAe30!LU%FfUH]Br5g^OuBPH.:?gGZ2J7ZhGJGWph&\0A'BQ7^Ea[i-@JF\X6RMQf*R;fF,"?Bp.'LHK8,r^ZQ>M<6J\)!\Q:IU03Ya@FDimSA(MM0+Zi+>n^7Y#om:hK)RFBB:X,nb=qJ6YCaT.u>UW24(%@8__iKUmj!F:YFl!J*m_#m,Pn9Tm.FO0TlR(S*ujDD!hQN/CC3L,\uI2JA^tAI5M1_nLm$C8>#~> -endstream -endobj -91 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 90 0 R ->> -endobj -92 0 obj -<< /Length 2083 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gau`Uhf%7-&:Vr4+loI0eh[)=$,[h8@NDb@D5`@U1ju$.3n>WNY!f\>rq]L'U[BPbEI^1d!Kt&>ms+b$hFB&6=')m",;5!EQ:9YFHf]Sb=+TP(T>4Zc_Y;J0(MUPSp.R^AYask)\7pQ0VJZ:H.-CDtTUA,k1rnN+qje3<\;K8CLZDb8c\l&3h$N(1iIk5rA[Gg\t$K]rH3F[^GJE@ci-o9W5?NJ)%:g_,>s>E>UnQM%0&leZ@jH,RIpud66mK:";sXK&@&88`gtY"9NG/D-[7X>(,W8iRljkFs@0*)F(P0&W,^'AmeUY[3PmY+.*`-nC!L.ML_/a.Ense3C#tYg1aLhGCq#F8S"DY\`?$F?hCuo!^JHsXSg't5\&#n;i]fn4T/ea.%7Nutfhi("INMFD>kE>`A+rM+ZndhR]WV`=7)So/K\9Q3!&!lmUfl5ZfeZ4p8-@3XQN?Ld]PkpY.g0$#:mUdlt/'8.l!NPCDp5am!!2=_Bl>+3120L'l2HmRZqht$:0E]G,cmK9)F-Pr"a?PgTaB<`a]@%O04b3`6;L-/TAFRpW%J"hLtL7C3.-l2gg:$q*9h;2^Q]("sg`7>7bc3IID(WRE"WRo%=Z=-`k6DI9SDRmW>MjT!9soB\5AEf\)>i;+(k%4rpWk\>*Rd)mtrZV8[",NO)%J\ZIoIJM%OLRa&PF2ke7Rnrr4VKGl2*,si=!;6gr]QY[jFPV&RMa)MF9]%2a]Y"9tW6po'#Phg',SjpQO[No).J<;iH6%V?qVjS`(,/O^;>agHSb1W<"W!0U>knB+4'4aN9?:Dss+PV<%.R[:8:K.KYY'nBi$5?68@'N[b8J"lB8$Z*JF($YiF)^q8KBn5-(7DXZ(noEf[a_=UR]\RQr6dqe%(!ME]udD*1N(*T0;5ep:h=6kFfI$)DG@;MMX:/N4YKI!la+%r#-]'@4h4C%id963q3e6(+#Uo-tgrGejS2;RLuZ]'d=2L"aZ_oG&,K2P?*S#W'TYuWs^[59F!96,BbL^$MEOEG`s3tg;^f&`L2Yq)J.r/7serVV.S,I/6]fiY.h^O/&mO7EF<\:nL49(C6c9AqXa">C>R?#Vk]IS/-=5g1#=^i8Gd=dO@K-Y0P:Zc~> -endstream -endobj -93 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 92 0 R ->> -endobj -94 0 obj -<< /Length 1700 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gatm=bAQW(&Dd46gf5=:@DnKR/\:-t=s+!+[X`SRG9P_*,?0t68PY@rI;+fZLPeL)Llk+oC*%#BUZ%a(bBi^N/&k4%TO>=U(;]RG^ro"Ba?=RsN%dO0?ET@4Y:EI-pWIKuol!_Wl#h;t)@tmfX3LSR]a"M8dNQnJO5PaDs`$bh=-Ml9g\:o@ms(#iQX6P+>*e8VqTmHeL\li477j7aIBKEtb0PHDB^oTM[RE<6I&0Yq,lr$Xl0BoO)!16bT;8$,KFR>k!hK:q1dF.@2h-GKm^dl884=/apD+9O1Sn^)9T$*[D\;8HRA4^GG2Y.3J4:Z4]9n"M0IK[P5&&[USOCN/N^Ni'KnjCLho:6$/D@/F6#5$1C1m!cHdi@@O+qCS<]_+MujCA3@o:'4O`*gkQ0E_.0pQcOo2a&H<,-q9Wn/OQF%D9@Z47$Pi^PZdd^/8IZ>#argK,<2unnoC?qJ$X]q9A/[2n]\*3l,IP=]6cRKNk(Z,\K+225AD59Yc&PcY!V]0?&.0oW_hQ?:!@,U@@"R++d\+S+rjfJl=-ZUFd&/2<&)32P\40j1s1ZOYS@dYWQ#&-ZTA`sXA2SFe=?0h5]dS`gd^A;/h#nLWSWO4>h>]dNSA4t",*g`b+oFbA4=!^0Sps]Z_I5k?TsS)Gg=;Z/kS<,`#.=4Nd9BrHc?ubqUomoGqZJq>Zg91KU7CtYn#NL*,Y+,kVM6p[%h%0u/SSZo/q[nqiSV&L,TR35&/pb_5LXML0'G0a1n>j=M@MCfVjl3dli)O`hQ^KIU1i_CAO`fO#PCh$'jOp%PC#4ce(XXK%>\rh?Q-!O]P.W$]`&C8Y-^e;hYd0IBh6F52dE;MA:(q@6>n27XZY#ftgmh][sQ(4A1b+fs;+/"E`2%cpK/[1c85Fn?nR&A*%\PO,-OSNiLTIT4k`Y-Up:lV08JK+PG;Gm.O1%qeT2#Ku)<;m"<)-S?OTePAs6)C@0%B$q"d:2hjN`M@-O65+6OXBih30CMVpk:cn*DQ^#pKZPJD#7I"g!N`l1&WK-6:02^Jni@!VQunC&)M7;^'+d?i#@Q%U0/X"R:);e.A(2QN"ZKr@*XSJ:RVe+k>m;^O*89VDAAXHen8lVn,*^"sLmG*6rd<;N^T87OW.24RJ$DP5b.GYFc,ced/@3<&M_FDd&R'?l*_I_=O(`FCL)99!GriE1J"0a=bNp#?[SH/_E<%/GON7:naUG-'kH`QBahBM%+$<-s3<~> -endstream -endobj -95 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 94 0 R ->> -endobj -96 0 obj -<< /Length 1355 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GatU495iiK&AJ$Cki`^d7\ltaHYS'JFcf+T7(\e'Z(PsfAlk;2&tNk8lUsg63Kbgq:(\W-ORqVY2cT4.amI;nE/7'G,jUH:W5Z@C8>TK^.MV.V4Jd$m[l^,,b"=JL@M5tj]kUJN%pg6,X0WFAbu;qj/;_%e,@2IO#P@>^o_.E04/UG4Y$"SERteI!K(&LU:jj8Zk1"'_QoFM=te-\g]CfES$e-J@)X'EbQak$ie<#kcQA94f2Wj"T'fatG$K;jraO=CT#MUKV;b!1d[mHpGp3jflfbi3=g?ouqJUN6pSh"dE-Wiejn]3#HaHANdEjD>SfZ41H?QCb-M'A[=G$]hY*uj\X?e#_'Q)9G_,b^8F;*ROT7j-qF$dL#)f:cCuN@JUt6ZOcgFi4Im=b/.e0ffGR5F_?;j)"^6Ds5>7kP-[U;a]`Ofbd\al3@1;MoPW,5b_DaFknlR>;RqFa:AhF-%O#GKH,WkoU_\*T1N=/pH3'+T-gGksN'lEB*`6[Zfa?oJ5>X^#K;qOe0YIm>pF=T*PQd.!fY68icQp0l`S80kfurblgr+hbT6/$5Yb;+qUOQ6Ob&er\CPD;H1g@7FE'S7@EQjQBF]L?,!1`Buo::2:/m4XWRI+RS2gs('f^c+F[G#%_#4;7J``Mlc$Al"Wi2UeS6[PP6HEfPHfFUXdFiOo[0q?t1k.GTa&/l_$3s/Hk%Sdp/I"_%?PGTR:ZXOq253[uc)DcHbU73'Dop/_Y3&?>=l6=E=TgN(B6>T8k&H%4m!5Ui8=_@rgDmIjfe;'m&RME'Df0p0E@9'UB+_:"mYlk.ap)L[FbP6k1ZK?M5."1`3!ZO+Cc!&.TY3$$:3Zm18d]c\#2H/76WPJ#Z?<*H]T(kGfE%^((b*(9(1'+%'-O'*~> -endstream -endobj -97 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 96 0 R ->> -endobj -98 0 obj -<< /Length 2063 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gb!;d?#SIU'Re<2&Gf;&881rYlJ#DZUO'.l;.eFoF.^mT$0on\A\!dYlo@dAtsHMjrJe%j0[,qYP2?QP.\:?.ThGFFR`QH!Ri5KGHM5]=!Z!M8U+T0HrS/,^_o`9Hf!r`b`jB=J+81+r(rWYH\>n1l?o8hT[C^/2`?_$kd[leJgGKYb`PaLg9ffXDbB]sVbQ"]JV_0=Vu$-fo+6&t!rjcI&Pm$NrXXFkB[e\hZ<*.ckf`Gg=F66$*\/CW%u5RR!)VOhWO-:h!1DsnFbA>Tl;j8em4J81#B-NDdn,\+M4YUfjXU8L2!m4&-;(.`U\WS+AtDuY.UdisRd:ATG5hPhq*?_-!=;gno;oK4>hd]qUCkW68TUT"EJS2%E3N^6c[iYLNu%UWA?%mpGkDi+Nn9tMF_K!\[DVm[C]1q9/gThE`U_CH?)keHgmkrU*a^8f;oj[gThg%q'hu^qaDM%Z#rX+;F(7b'fED+MPbj5SSoK_[j,P9qWTMkuE$p0g=?.7L<7hDQO?,Lp=<,X$FVLHlRXgFRSY*fQt^^l8D4A"]>i\q18U@Xu)';gPVcdR/j(QsjunnV0r<-a&\OYD0Kb"IEa%aBQjBri4K,lMEC<9$j-9>j_n^`/5`(']-HK`QFP^9OWc"71oj:H]>e<^eAck<:CL0H#;"jR^=u`>`F#7$:>HlVQmF-^K(/BKGEq3!nib1Nktr=U.(t[1ej0rW&+KoDG5.G&]/i/pQ2FQ<$D`=-17W("$:Eq)lsoO"9ML&>$P6WO.m9]`I_"H+=88C;+M0,p%KROD0bVLSHhM]W[m')Ua?q4,hSlJ4I1+4*^ekB5r]@qNu*VdS*3j99-ANe)Yl#iU>b.E"elgPg=m,LLkbs0Sj;q"8;B.;K@D4?p_'hB,n?n=^9p6H,%NV50`>[,&:GIZ(W%E"`bPT`E&D#oB&4^H4X%r6Q%cAp'73\XV`#3kJOap9#,c\)),f;[oDb!=T'K0=s":9GYpapa<1ipl.JC*oRSRehLrre]hX6'87PP".[0N#h('48qBBp0>`l!%L5RgrIJ>__6$b$.8oG26I=DKa0,^tPGJ%t'VU4%mL"5,l0\j$iu_RH^[)B_$oB&b>9L[N;2DFJ!5"#8Rlp5?%`>BDd8MUu.J_oMLca)t8b'OU9PjFP@-8jf&1<<'/uUZAVUY'IeHX4_nSm"Z6eg?AN4o-WS2oXNle1d$4m))9>_&Q,qC$N^>5MHGYSRSaEnDB4&(&ZNY(s:`cq-S,Hn>#?3muXUjH%f(Hn9KTR+9&/qSP(mTGR*BHB6hsj'h9!U#!:"Gg?+: -endstream -endobj -99 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 98 0 R ->> -endobj -100 0 obj -<< /Length 727 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gasan?#SFN'Rf.Gp^sB4il!Q^Hg='WVG7edmU_q9"&?*:P12Csm+9R?PM"5Yp(X-gHd;S3EZ=bMEUUI$JYsR[4m7I%(Vp[@lKmc!?m+^YHag.&.U>SuCDTD2Tu/P%V9!dD'A3)&"WlJg!0u\+1&aFb!!JDP=1eg%0o1&3B4!hq[JBbF\74b\Q[?PJT(%sR^b67KFbj&50nEhFLs,U'\pV#KCWFgC6>af02&V`l400skgq4Sg+@'Q`O8U`Tq87$RR,7l<2?6)YKdEXH\8f;Fc_PUNErL>W7<_mf^e&4H5A1Do.Roh-7X+3=n>T,8Hst).#-';#Wk>R/a0VZ$H,A7Se[iOIW*h]aQuL$!h9?JI[WA>'YU#X1bn>B#p=LX&cjNoZMs]f=m'V2EER+&4BWFQ;Zr4hS+f!QJab-_4+64>EbJ;YFih,\Y/clW%TGgo^j*>bgVq3qXOT&)D7Abhu`)2&crQ2.^fuNU[#D(9V+%-dg%g`Z$G+:fsJ!a`Tc<437e`cm:l%bH`?O83Bh*D@%_7ME(0@9DhpUlMWXO'28hjUb~> -endstream -endobj -101 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 100 0 R ->> -endobj -102 0 obj -<< /Length 1445 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gatm<9=(*G']/^gclIE[<4L`)>_I.G<_6E-JA'$cmmlM%#q/s=Fn/M$kLuOeJgM@OJ`sq_DqnZT,:uLk'5s1+=mE,7bJ',a`8G1uU-W,P[3(URB;rk*j\TBc:b;scias'hP]tJYt^$VHC"6SRXg9UEj[P;JT3"HU]P0S.ag*N"\ojQp@k''(cc5AINUqVTEfTSEfu.Yl1[&24FG-A2m+qR:]d]2/jZS=7+S,GkJ,KE?i!>J?5n-IjN_Zk:hpc@c@SUT_UR[4d6bdkW6Tb4Jj)MlaFcnnlS0JbFYO2^?p.8eMg`4j^mh-6pJc;E5U&mJLc8UHshu1c3Hi;9:ggONfci7CB]iH4TS5Kp0jTH5<6N('pl!M9#h`h@=k"7--I74I#EcF0#Y,1X1R"2CY(?LNLY9rU$E#n\nCZ$pn8C"I!Ekc#.7)C[E`+.E[d@daDg@R^pTfCsJ0TdLcu>CK.'f"3)KUT%s2epH!-];3jn9I"^^E*c-3-Qp=DVQrduY^S:$F$]fB&"Xm+dRfEI511H"FL&;D8;\2uJS\,?K-2;S*&R$3BfcC+HehLRXMm`Pm8A^SZB5F&gnEq[W#GC+9-.t6pc[_M.Wb,INa1tPF5H_o-q=NL;,Wq@N@5V]bJeNtXGXoNa`36WF9orV'sM;qF^#=_e^Pp'Wk13aj;48NX:S-Zfj;d^lCf2L9$TVG689b`B(d"De79eDPXmg?!c:[>#?JgM>6H\R/$J8+:"PWo)L$6"u."loP1.l]WNfG2g@`Jbgp_0XX6j9o[eFR^-6pf(rN2U[_GokHF,^KOW[jpkkcL#/R7,Z5cn07+oZG]Q+qM2=6`n)CCS&2*jqLB)_^EH*,US6t;1mUaI<9)kAWgQ&`pHWcq)@3n4Ab/+D3s6586mMo3tINQ5P.oku]-,^-Hs`]u@%hF%#l6Iht;OHWa99B:n!GSG=D#^M^bqqO^rnGR&NYd)-l2fE=od]_EMp[55[X7@[WLtO5kr>sU08p]1Qn'10AI#s,>:7dsAe,csi(e(o`US>U$ItpNe"9~> -endstream -endobj -103 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 102 0 R ->> -endobj -104 0 obj -<< /Length 1752 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gb!kuhiFNj&:Vr4_:rRu4V$KoR.dL`[F/*Ue4P"uS5(>\4]I#S5^'R0f67K1*YU5t\o1TE-oNm\^):eV2f0;HqhkYDI=@S0\PnpFi_a=,d/P:S$s%LSW[L:Um6GuIJ,RKJ/op!%CmBC,O1&HAOX(aid`=,D(GJ8J7+_q6r4,K3,9/md+en_+*"#(/FTH&!5GWZZVb+4=,u(lm]jF#CaigMu(?@Ur#L"mY/RXOuj`3$GpZ0P.C,fktS?`"]IEMt_1bakk'[@?@_K5@F$2&Lt"n[nh$%DoB*[+J["S!^WNIQ*M4a!12`B\"HDH4.>5:[('ho(Il6Vs"\d/"g?jbJn82^piB.,>J2XH%iMS_Y0_PVD3'^1@%`9b+J:ro--\U$I]C]WEqVE7Dbrg&;7_-bX>YpI=/0fAh\^4m42-F[$<=lu<%cP'1V7\qOJ2_8RW=-t@b3\Zdm:MolI%7Wt6PthnDVJ%M*sUgo[olDE]b#"aCNHHpa?.(,)"f2]jL[5/JrgPtUnuO?Q^"f!Mrf8o6ZSqaP6,,h*a/o_'F:"1NN+]d)kqh+4/`BiWW(g`e-^rcB&lX\P]NJ;[f,BhJkFS/?B6jNkfPUgAD"[JWJ^i\%at%X'[)F5iL>\%D#D4?o&`@43>7*GFj-V]g!T`)3<_Kdt.6N3JGb+1t:0\Q\8HF'eMomPF:X:5pNm2@Xh)jCZhn7Jgc",JKp3!dJU%+(WbJqZm*f]8Q@'T2N-fY8.&_DQFVE$X>?%mZg%]56f8kJNRQPX`ZU7P)ae,o8+_;;1"b9q(B*3OToe$GC]>P0MV1l2.kKJB2QBL-P3i<=`tq[%B^b;&'mjZ0]\'_nOnmEu2aA=D'HHd5U.5>c+N2U2q!&6bPOnUmck]I609lUj'jMgNI"k'5!\WN,`21@]ASfb$aNFSr5;fjGi6p:sa[aV%(/#KtWMYk="Q2I]DQf#>'c'F>f7<,a)Ni7%3-9h`V3W=%IBtnitJ9RUZrJL5!6'V*k'TD4VUP,aO1:ZY8eU@/8o4RlM*:1*iBL(ek(R:GcPC&0[,-LsFk77RZe\]bS3^KjB;SbjcU5bFRoTp9fpB5'Dh_qNRh&dpZ$erE(M"'&.&GY%];D28Q]mAHV8J8oC$$R\WCh6/,*_$8mCKFX]fO8R31$nE^Bao`2O-DsIE8TsCn>1_P64M?;9:I\pHoGqV`!@KE@uX_V_3lJK-.=p4i3`ApAS2"FP3Qm(=>6A-iq>kiTJ4]kc`W7&Zd?HH@3OA~> -endstream -endobj -105 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 104 0 R ->> -endobj -106 0 obj -<< /Length 1223 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gb!;c92jS!&AI=/pf?TTR3-B7ujSa8:?*-:^qs!2?k9N;(^`]1D@'H#k!3.+J&?[?)KL(9CoK)cPF#lHE3'B>qGCs6gqGdP.lB+4ZU'"A?;p($UJhQ[mEq+Lb>g8T1XS7in\0*IF\G3W+j`GflG]IhDo_j"nGSe4(Z?,b]pLEZID,R>H#SRV;lR+?+R:j_@03:n&X.;oK#?4(?;dF#[]B4uCq*C>dDW[\E&rXSj8t.Vr9E,?,Na47h4d>ir(RcXc.+T?GZMd!oUb>8gl_-#Zr3o0V;#dql+"]'(pgl"@UD>1-u^YLF&_';\.&0Hu%sRn'VPrlZ<^@`7>mXZd!B11`9;V5g`W,(5(7o\Y?S>@MTHI6T%4bDDpaN0fY^F(6U?9-L0aaM[/"tXQ8Bq.PL'nF!V`7^fVQLXd4UI'L'r:6OXOTRp+nNNfQ`d\tdYIeGH2n=Be,LPQiae>cohLK'-TcD5sr4?d*P)/+.^`k,ebKVnr'"FmCY+8E[OKn>\@raK:_o1so#>Ia\)r,Eb=Zc"s,?O6WEO)-K/)o._mNpk*Li4iiA78_.Y>Nj.?JcZ;$NISs9;,(LeheEg%BZ5.>!>j#NhgaZ?BjCK\*RJVBBFG08lBQ[mU$&`pQUYEf9c3-Yg[e2kC#@^@L!AsL2$ZN0WQe:IPn?HfHGF%!S"ZRYJA1j-"l[,8!?oW`\9K)Xh'*gk:JK#!Y4;;6eKTBDYp[it0DY=\5C:/'@-fh+H48t:?*32QqPMAdL;.:YTG^m/L]NW:T$O:isUnlQO-^C$sKn?jbqWhKoHemdH0Yi'1N>)C*#7&;R<(jh2c\[i/js_Qn,=7T2Z=BFW@iP'(+m))NOUj~> -endstream -endobj -107 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 106 0 R ->> -endobj -108 0 obj -<< /Length 452 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GasId3H)bg']/F34MlWRF#G&$5c&3#^h'K+38bck85dKYkc\n7A31>@AU2VBG)eP=RegFA4pXOAO`X0W%YV4bG=3!N`?]\[mS4Y48]Pg]^JN0hlBZdT(I1)P;aGO(0I](iR6I4X"9q:kVV,'?aMHBK,j*JE[P)i0M\6$^C*@lt/kT&KHC,lqtSlK9ifY1qS]ZVKpW]55f>K9"KcKV0\IDB58DGH._p?-.>)B2$KfM.@*MDGe^.q;%Jk+2lbY<)G(D%L!sX@&:#!N5kD:ZgBXqNoAl\5(8"p6>q/L%GU`D!Jh~> -endstream -endobj -109 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 108 0 R ->> -endobj -110 0 obj -<< /Length 1150 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GauHLac>C>&A@rkG]X&P)XaCTVp$7i&g0Gkpm0$QG%e>b/T+1PFT6d3D9F9f7@[a40ORusCO**UO!T9Xbhi:H#a\r$+H,oOP0JptMB>:r#>2?T5YFH[2>M=mn]>Wp+!/KJ2[0U^$Vfardd+l9:D\J&rDU:*Q-8+&lN?s@/:PDD'O_\c@Jh9,j80"^,qr7;K(fMb70/]Pb/q:[qE;$ThfN9Gg<\m<^.VOoXt*S?^-$k(f0d19bJnaf/hb5TS.HuAbIUr<@UGf'3"!02qQeE:?ImlRf=pM*j,qCpGtLKcQ#-UN^9QZ3N)27hLMCl2<$#oUGi"]/q!(g?8I_);s4bk^+(g&X$TG*DTE[>>M8XtZ[X#DH/o.U@dpU:mh1IC7i&X';@C(W,;Q>S$[f7cWFHjF9gcQe"..R?(FSLjAeK>tOU59-"'4Ias!$)pU\ptiEaVNB_@3YqQN91VaG%kr'IFVSB!FY0atG_WD9G8e\!^2@`b*UXhb9Rjk/L.%mIT(%(?%5dbKAQmj+cU'>\Nt@>];kF-Imks8qr86!PfP1rf8m?u;9>Oorcr]Ih2WH/He"?QKA\0d),2]%5Vn&X9rRg@0pig=QA4C-PGd8E.,@jQ26$Tad+esV#0l`mgI]bK5pg9J"fOQF`Y@-=hf<_IY8mRDNCWBKFhuVBO,r^%h?5bs^niLBn0W.0)\d?V0f6R,aGE>\'O0hEVO^^'g+Rl3q],`,)>O3B@IpO8BfVmh,ae`H2$K[fd=-2IS[X[(FQ:V6tZ7M!'6%paQ%hcEis-[\[GlQ$Fmt\mKq='0\+bjO#E$!j8VYDZdZC_"YqlgoUe>PT5pKcf]:kfAQW]p@$_UpmH^Dp)BYQ~> -endstream -endobj -111 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 110 0 R ->> -endobj -112 0 obj -<< /Length 1243 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gasap?#uJp'Rf_Zi6chK<^IFNmSg\kB=$(R1l9uOb^(W]A!o#.i!A,LrUgmIL+<=ma\2oT4nn!lUFZ/rC@T=LmLY>]Ze@"8'.o#mbo^q]>J:g(779,9`;+>N^8M!Jt1"T[k/eK%:H7B=>/9-Inij@L[YSDUt:V_"VQo\X5c)gPK8pTD4D@kJu$BM#e:-WJL)B*a2@Sbn"9$N^WrL,@H@#@n%=T?c4'Amp?UgS(,b5=j!3&U`L-kY>iCd[."PRI:RB8d6%FQ[.JH7I(R4t$1[F-H5WkE6n&nRCf\A#.AoAZU,##+HF6_oh,.+?LdT5:S`-Rh%[@P9f&W8Wh;8jpaL"&P]7W^!J?T);#Xc8sP^N4kNrKd]pr3rap#ZHj4N-0?7^*:E_B0'50U/2CoE\mgo%Ver"JPV"9k'"VREgs"m_@SW3,BlVG!VPNTS9?bp!r@q+.)Ft^]`2-l!j+6)^6]qgH<_?5"1"o:'q7&boW\Drl\)!g[Ym$(ObW.s]9D7t^PK+Kcenhuej.a#;MM+u,rH="kY;,.F75uok"4N5DSkkMdF+(;n0'$qRiE0b;_H'QJ/OhUYEj);:UC0p[9L?78AO33/DB;#l>YWL3_>:CXE.\M7?JieLq=iqJkM(cIRu^qE9TM>AX*`.aFF@a>gc12;*UR6%_)?u(^-cD(*G!oL`ITg?EK8rQKI#H@#4P/!R%mZ_h('Hi1QR^tWYXRDp.Y38Ck0`U,(c/lQ[:_+/%qAU2HKJppmtOh+'[1(Ki1>`nX-OW/ZR-<)4& -endstream -endobj -113 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 112 0 R ->> -endobj -114 0 obj -<< /Length 1631 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gau0D9lJcG&A@7.kS=D:=HV*GM`kmg?S,)^GN1h;iZ)X"ZAD,:.oAme?b_gOR6t2A($mOk'I'YI(q7\tQ73,:j=I=fC,\=[lmMS;I8TOW9GDh[1*u")gdoR#OU3ZP%t.V":'_(0i-k*C\G.F&>JV-sIWI6BUSV(@JofU+CS5%"RMqcJln%563i*6mOfLj2V;u]pW66@a0p&I-``Ujm++kNcm)tM4u*1)WJ5\P,q1qO-o\^ih&M;Mq-)LMn,R],/8nt>h,[PN-*9+VHLa")4#YWnk'.o9oX$k[;"D+A=]pY]PkhZC7ZrI'QO:ViYgKPHir4:1>sID/&b+K8"8B%lI9Mjq;\-3Di'o,NB>d%mqo&uOKSg(M70(!Vq!kfI6bRGc]hoN/=i`=WZU.[\VK=e:pN0jd\a-1h3(rKRi9iE2=K5cOj?hE)OBO5@1Uo<'I_<6XQam1-<\kJF:=_.2[#gDG!W_XX:#l(A"%.3+\BD2mV`.K$YT#Hgi&GjuK-'f,5jcmun?l6X;K?m6BD/nqiIP?iN/CK1g"tuLka9%1mqg^AbP?M$E$,YPdSAbS?A+b+JKHXe]_U"`:?Igq5P2=`0_u>XiqJ\?McLM)^7Ql#WOa>Xn)Yd7qJM6h1qa/3Q0GCE7EpeJL]"h\md2%K,b,!>sHiao<9I]Or6=L[jZW+9S&2[APW^#KN&A?X\LhI1cP`%hPE"R[7#3t.c:qk5Xbs43tD-&[W>QHV=\d#+JQ60tf)k]__+YApo_c'TKf$CG'BWd*R_9F^g"]6p>KQ]t(\^G?lABPj\@TH3%cQm;W]A3*V&u)=[r]/C"<3!![;9"ua>eM&1WrLnWm3J-"4a]-"%LnN,$4j^^Yo,0QaZ@%%a_pWKt%L]UH'\T@7JbE==kIG:t]KdP@f)"tpJfB+_8tMs_*p9_nYgLandlBOfYn>]-.Im"UY9:8dW@#SZ$`p34a[lbTD'6]CG=o$+7<\iq<$MLXYX4eD0AWA7=N@N?"p)q@>'=:d'JGCiZ'ZDb7E&Jde=ca>lJd^kt5)hu(>li1T;h`11'3*>%X0!Q1$hY.'kG_hC:0Fk`lnmEg[#N1!o/)^W]&NJ(7fu@.N-$AO>d6J'N.1NrrEepnV$~> -endstream -endobj -115 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 114 0 R ->> -endobj -116 0 obj -<< /Length 586 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GasIe9iJn_&A@g>j9Q!+dO$EnRklb`kQ*):`,Pj5R\:EhU5o5!e'Gs9o[M.Z]sfZ,41RtrET4ZX&>U?STFXh(q"Aoj)i!:r'rl8#m.pQH?o19?eO\W>"*Z,#F!!P[1MgZLpA.K^cl;d*3-co;\1m_#'dsUkW=:`4m88]GW=YQS!KIYu/3ZHB]G=`6+T-2XLCfqA&\68?A`AUeOarZ?/:Y*``i%)F(C+0T[qBamalK?oM#7B3(%9rR\%MJ4q]1dLm#alJkJiIlYUtXFD]'?A6_Ph"pZdf/"XDfbpu,L7R<%\`n+BH"ll3\"qG$+lpDJuY>d`5lF>g*C6UF:Tcf@id3XDI3S!;2b*;^lrCu=fC(5L[WQoaet<_gMdR]SB$m*bObkks'o5MU9OZd$c:5@1k\Y(hq,4mE\QZbr5Cp>#)`c[M+B,rfT8dG.e\gXCS<0KS_X[A0TrnIe67jJ2Q;8DI@o:Mk>`3GJctB=4t6R2IEUCE[MZ^&^uf5(`~> -endstream -endobj -117 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 116 0 R ->> -endobj -118 0 obj -<< /Length 1596 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gatm<>E@K-'Ro4H=K!`9b"g!$4-^]r8s3601h!B5.Scgk*PdhVCCf6,[JfPW@-fm`0P6N+(XI%Qhmn.kp?R"m]/QU!=N'f)D8,:4D;EYu$9qg;%72qmo8-tfg-!qM%43$[$(_[8CVt:Omnqui"qFM^o*nb[DFGTnCNV9;(HK[2L>$9Wr\Ird24]=X5YuaXNST?L=@@B3d_.%\gUfZS7;]G;K13;=1QQ,iWbBZsC*im^a**n4_*JHL4TYm!h.MBP&e)PDXL/N5ZR\[)0"-&20:ukia7jumb+gS#7HNC"Wr0#n\Ql$-h-RZb!^2-D\iI_tWd*_RM;cgqE[/g3oMSgC\XTjo`>ln!BLWb+l,-B6TciX?]]hm7A0^350**.*aNbrt+EdY`,\m0m`/u<\C:,s^iKu;#.Zb'XLt0%`;]Qc_rBH`$T]ErFrNnh"Y!sJhre]Z,:@a4Wr]"O?Rji/bA8btkhiD*DMr:IN=,F4tC#&]OP_2@"0s\`0o55\^;hPkg6_BQo_7TM60'D9H(GMiOA+rQmHRo^%^*lZ77W@r'+aAKX! -endstream -endobj -119 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 118 0 R ->> -endobj -120 0 obj -<< /Length 1842 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gatm+T$L,Ie[3(i2HYru;odXCu6Q>Frd''4("?:9M.O/+1eo#(+Zp,R<#Md0o+]PsFl"a4/H_[\$#9ShU(EOFkT@Aql0oCM=[Np!8Q6.!C+cM29WHJ?DWKEIf7`d`,,#5rT*]34$<3;r3(9g^d%>_Lb4+(P;03FN2c3a!<0Q?$+D,R0a.h9H52UH>;XI1cl-=*_SalJ-&N"A-(THH/rcPMH.UM8EM9n'9,mjCNgC(aST0U/47^!!R&/g'.?5_.;nS6sJZE1(.H<%CGJ0u6&b^g6ss;#m+mb?eFd!*$KSQ-]dR!(QE1Nq(249XgoYk@JK3%h3G#YqoE%K.agM7oUo2@ik7coLf3nfX-RU,#aa&7bJIL7Sbtf7Jed%CpL2jCK0@W*)+ubPBW67i)6e\Nn&#;+,qlFHpiU?nD^^ah_1q>Jo1!ge=XRH4sPHo1W)X%SDmK\h!`roMBNRbZb*RVFTG+E<'^*LPScUI][,M2Kp>9Gi)BB#'Qf:/[R-DVuIS6Z9UVs34k2$'k**XMEE8#pml7J4)jfr6PH"TQT?]"'#:/)kbpN)PEi$#,k)A!&Z@$+?.6/YL5Pbm7_@35Yh&DrQ"JbP.j.1de$$=%[C#kn?!i(_KLLpS&^)]DEB7_N2Kl+F`<.-":l\%OqC3io"$m8^@E#rQ]7/)-nQo-ds/W"eE<1F7#.,P6`eJceMIdlR*(RQU%RmGdaB)=cLkYOslCN]lqU4!G2ETm_E1Su?i,[P[n'3<9J3r)kgaB3+<)84Tf2TiLM/q!$/Wenc+&]HpXH7\@4\rUT(>rK)+Cn>Vhf"Ba>g>,rWZRZHHjpSo,AaO?lL+5XsgKO!Tm=]Ebn;o8Y$V's7P9Adl(*(J8W0?EFD(r2P$B=p!i43sX",/jM9JlgrQ+o>7T@PL=!(FRajL?MpohMlY1_*gYi^f<44#l;ZPA?Mnj60K!iI+-&_Xm;r]9nV`g'=uo=>Q$I>/huXG:PA&Ibm8jq]Be15@:&b7:DhMK~> -endstream -endobj -121 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 120 0 R ->> -endobj -122 0 obj -<< /Length 1681 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GauHLD/\/e&H;*)+UBK(@h'`HHtcp>$sqOITU+pMG6/6AD*7/]QDeUhhe'q8u<;8+,0cHNoIbAT&\WOIg@Fb*utGfa>1X*`%j4aCfp1^%8.V`VK'jOio^;(#=#HgIeGEOVB!+P/*Xg"8"Soe3VJp@l5ll-i3f0#kh)6]T[MfKL,aY"h_.V_E&=$,P<3Ma\$`UQ_KR:.!Z4'J[Q[!guHgC;HXaA[/>5'&6FcmQ;'NrSe/1XNc<`^;;Kij3'4FW-U120dkBVoT;TAg[KjNCh0`^s2>pfQsmqimAgau1l=&#]Xc3!)nrf+*o2eAk:-b;]Y5Y#V+`=[)j0+*4l!chhDPWu4X,B_<%">.fcjGOa@IpLet-@(CTsO(Mu\]?k2Z"t0baY%rQpm`hIgXOg@iKM!Cu78Z$Ye=]Fh)gOr(39(R&Oi*JmhmLU%549f6EU;7R>Zu$Ura6I!2i-\RT8N;/6`.p1S0`Ko(b9V8BI`36"4S)lG--c"X*j/GIZ!,6nT&!hcIk7Lkok0-)m&G*f=:E`e]L>l8*$TMm3oD>GW/sFOVf.>Lf,b(qJM%)7&JGUUPk1ba;6h<3^Kf#6Z+3't-aHkoOfR]/Y3JIYHk]dENBa#1.)L6;HmE0.IDb5:HI_)/d3Y6Q5,[kC2:*odc22f'AWP8W=N:(aPG/n:o`/[64RJr[k@ObNN]/1]Z'h_i?p]K$q/?rS2-U^e*YaCSA/A]r=^G$jKd@KqL"42C]q!R[g=.sUjs+VD(-/5HYR@e]FZX3TlOA4?OiG'"[Tdk@ZFF#=SF*n.P:kD6;XeR89s%c:9CQk2.6PaB_o"PRC3a7"eoJZOjX@C;noEKo&TRbU?H7o,K3_k]\>-B7CEh/k!=X&R5Jc$X"NUPm!W0aI0<)>YdP:b#U4]nB/4JCUFIM'2Gm_Yq%W.m&]#%4*BuaF^#k!#8F__.k^2_U0N,!_G#iMjkjgCdc=^B/G:4P6tkF`hd##eq%SjLJ'[P`^#Dj)G#bS+/(+"`gZpLo2`I(q^4)AZnotKhW-BJ&$mcA*8cu#)\E%NidT:Zr,K!+D3.Fe/BJuNo8KO;jmd"Na`s(TO.AGY=H+\iLm(E+=ZnVecf`[2,5$K82,/2khd0UjTmtR*Bo_JsT!P*C~> -endstream -endobj -123 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 122 0 R ->> -endobj -124 0 obj -<< /Length 1763 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GatU4968iG&AJ$CE,q*t%8?8noTkG!9ukM;D7Q"5PCY/R@RH7d#l2kT?P!3g,m@Im3kf"OphFM42S_@;@iJ@-bJ#/6&!]+L#-XZYB!t!Q+\>X6Z_+9$[^sqT`i5/N7SO6YQc2B\X&HW]-X)XPYnBsSf->u/Z3DOdAEue887=oG[Q3E5n#>H31!&Y;onN0G#Shitum2fc!AggK:;'.=bA-j!EV,c<@Y(12Wf5*>&Oq4][bNG^YqV`OD"Fr$_2g&>H:M>\=i3$*ZHCIZ-529H`@:UPk;.tO5;:,b4*9&N7IB,!DqFLjcY6p:@TphK[Ie/RD90N^fo?']ad+`0WPMWR]D(bF;7-%%e_Cf)^1h=/.V3mcg^\F9UN`A(Qcd9;qt0j);O3;$b(-;bq7cD>6L!Am`umK>fS4uC3k\$H8pm\af`;eV(b5MQ#<4:3@hCtq7CAl9+=ku1meT5K8QdVt5#^0)NnG]L3nsjk!#72_'s_ION&[]XN1(f;`M11c2"e22X"a@)Sd)OdH>Fn]k`LG>aF)?S0BaVX+F)JSFNlgCh^RC=0"WrTO/(U"pZ_lH_DH#fm=FVN:7/`Di9aI3GD";e-9RM2(?[2UD(JRdNICu!V,LSoefpg5+k;PbHP3]U:194(q%Pfo)hgqU*Ug:*kl4YI^;20==EMH!e!9g[Cp1:/n\+0+r5<6_KjV%Lm&ZVPH*ZBJ#_j45D%L!A!i8+bF'0E_p(SVW7e,pJF?jf^]u$f.k9AuopqYFMA@pc;H/G3904Eu`A7u5co3-$glSul]WZ?t!q9WC3q2/nE?'2$SS/6ALqCATOX)"/)[o]DS-:8p4,KgC,+To=?o*^IU:QR>6Xm28f6+HaEuq,MG6u;*WOmf[l--E?k#c7]I1.58'u?Q+5d)-YQ>>od&Jg)d)S9TtWF+%N0g#4Rdg#4)D?S/P(V0))eo>17G8O&XJZ!tTMYt.~> -endstream -endobj -125 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 124 0 R ->> -endobj -126 0 obj -<< /Length 1330 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gb!Slc#]@8&AS+Gi958$<>(+Kp6JHpGdfND]tDGu>K"`FOFmDirqB22+Y?e5aL(E_*#qQ,hsP5DIZ(biXM/OP5??E`?4i&,p*-"Ljot,jb>lNpCj!4uJV'[0$'RW4OAIPLE\(mg9Znm&9$V#Cdr"*,k'3(=Gu%%W`$:MT\-.MJ[s@NC?IqDVZ$WSIkqT4u^[hBo2Lbbtek?dPLa_eCbC$4A52?i\N#2[:,+Jk1IiXdM_#X>9^;'Qj:KQCqL`>=G#J9&pf8$C[7NFSb7/>+pjD/m"Ic,h0;?q'P>c2`oeQ'8bo?a"1/^.?SMqQgV_5/0qB'LR[.n7$JlKSDs^s1L7kuW"K,G&haT.B-pF^&QW.eqcC?[T7PX4,G>jf_Mk(R1!QJuofh-(:SS4j\G.0&]>1i6@h:I'Y3H9YC`1.lZ,Y!@YUZ/S8MPa@#T:qq*^T!7KmdnZ*0+C>2@");4iu7`cM[ei^'(f[^QWPU+H)(1Kal\EPmmJ:ABk:'4daOE5sIb-;IB@4%]&c:6Gp"Dj'>QAR5puNk%-Z8i(Kmahj_X@aEBLa\YH2/Hn.[noVBcK3C61KAjY([nDtiI/fUcH%#jaG,F&HKq!O9u3X@VA_N@HiDq+ctOfCMJWdj>*]lZD2VlnWIGDdXO0dnDN:>[)E2*Wc.q'X:ZbR6i[i6^=Zm0B#-`%L9TTi&6/Z7-& -endstream -endobj -127 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 126 0 R ->> -endobj -128 0 obj -<< /Length 1612 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gb!Sl997gc&AJ$CkdVRJ)3LY"a_cq=B[IkZ<_deBODW\a?qVG1DDqO/'M4ESRC;0F%RmXX--%e`B86#P*j`i_c`)\JjEoQtiHtG*p3cjp4\U02N!YBHQQJs$i!7+\YSP$Ug-,Mj1]TqB:I_Z^#`%\B8l1sKeHKo&E4KGYqiCS[_XkC)&2?JEJro`K=q28C'_Mf0DJ$_$_QI^.Jq.se]1l^tlJ2RO^YadRD->QQnbu4bm@(?7gU&OoPfL(>>FW;)0nK"\2u/SYX;UQmOKn%q[<:@oKXDJKW'FUP`"lWnr(%i_qdlV:.XIU>9Mbm?YsOP;glAK?l]+U>OC$^-+FP0P,eB:S:9ie0!CJjZ5i9EA!`ScDj?1Csm[,g4h7I=*IS%/=DTVn/=j@%:o_U#&2hb)MXC@P%cMJCu\h%QHE1#aFiX_UG_A/")'J+@:*N$a\AQL89\u72#^\@b-f2s4Bi/AXH@'(fo]?4Ci3Jobr(iA$%.;PCBCVPb/tI0pIc6G67QrSUmCU!o9g]_MhnT4JXkjZ.)8a9W5Nj21!PJ@(63(#`j4Zo6*GO:/f?DX&_@KBg@LRJ+FlSTqUi8T+_Df_H!B,OJS\I]h7S(#6?a_[7_'AEdeGF0oJ!=Xm9TU@@a`9^n)3/<>q$]`8[Ud$&b6d9_a5sCDh[9`&M/Q"*3YK&PPk05mRZ-<%DS&(gW:(kkF+Dh=djgi89V:Z3:C82l>Ei\&qNXb3W$DtN;H!o1:/'M>^L4`>LMVQ!<+)#5nAZlLj+nJ+).qI3KK]Onc6O-Fk?q&q\bl-rE6)0t$2+;rI(Di6tO!(>0GR0f)F?`ZC(hi!"MBi[ji0tgf;?_UC'-F3@f3Y5FM0c#Oe`gB)"TU*e`7<0NUj*<)C:_"JJafM=firg]hB/$BebukS4FXB4;!I;UO&:25A3'_7NBX+7epcN!^cOFCR9RI&12t+tfk[)-qTL.I`77grMYj[*;:eP*ob!3EA((Aj2ImAIBas=>,a@UADgo3WM^Sq8Segg8Z@A)_Wm2g&62DCZ3Hd1~> -endstream -endobj -129 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 128 0 R ->> -endobj -130 0 obj -<< /Length 263 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gas1X]afWJ(u5!&h["kB/Oe0O6j>S:2rfElYR-Ut^n8*FLp7tZl#K#%?8!%,T#Er$-6Od+TLKWO4VT:``Iop='+bu4"\/3Jhj@MV,ZH0^WVGmn#oOO,I/+d8r0]ulPcc$FeA7C3q7CO\EV-^l,1LpYK__O(;>8KH]09R>~> -endstream -endobj -131 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 130 0 R ->> -endobj -132 0 obj -<< /Length 907 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GatU2hf$st&:X(TiQ"t#cTgFmT%LE,+ct=^]MO8Jla@C>dO!2Wq!2o4Vfiu^l\>8a]A.hlqhUR+1N\(-/-KW,RquH6l>lY*HBduj7;e+68Jq--I7"kb]#1/D*<7W5$-2jt6Jgm42V%L<*&H%R?&?D.N$ii*1:38'Tn%`7^fh+3%S@%.PFK[>m"F@h5N%uikg1X^#C_n8'NF]YR(cUt3\:j2X$BnpKE3R^\WH1sb=h"MTE0bke,*2W4k91!ZT0qZ2[EqAu#p@e(;[nhuE$(B#rLA]-(cLPGhW$-Cdd0BTLB&K^97[:pN^9[<0^Ci;.!.BW,;1-cqb?rmL9M)4qOUkY:.0AB[RId84'7J/:eCRCB/6<(N>g4\N_GPTrS&$&]D4s%$79#mNOhY7VD#OR/=A1Rd%![D,s-e(d7GB8[s8bmasaE/spV7n^=;K_qFFEGd'-AKTC"M(-*DUk79;*7_4TG4dAR1?p^k3D-0eaaBeF#8f*lZ="M5V;pt_MF$NelRS\8[s&&C5Oo)bPlC^a&7^k~> -endstream -endobj -133 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 132 0 R ->> -endobj -134 0 obj -<< /Length 1408 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gat=lhf%7-&BE],=6Qmi2GH=5e75em6\i,&3^4$$MEnFX=/]rGP1jIFl[-'NPG1gL1'C,Lj$$!(m`W5;n!8mh?LnFjC^cAjRmds,(G&2JLIE-@,Z5tKQ-dp!(O^]$B"uW`DPBqSnk\=W`"KFBC.K`b1S&^-0/q:^+HL+fi$LM`F["76Nu0**j2>SNr#*:]D`hJQ(@L&KN4:g<`k]3gh$+Ak.S`]NS38^c-;X!TSk3_4Wb)6fYWu.RK7HY+"kmbs?sis778-0D8eWSBFnf5j>Z/XFS)4"8X<*+Q*c0,lgiHnTHk7sb*k8W8Pi%qU6%XY6b'Y;<:RJPno5$SQ(a;\/:iI;G;jV0T+1["@&lHXm9qHh@!`D+q@s3AF+k2Sb6%V09DtC7C!oRVeYqFbc$SY:0mSS<4R8bn"-8li)r:c;1\Q1HARa-5E*SPG>RiJ<(CW;W]Tr-X2ECC!N,K5`n?k[&RGF6#kK*?dHE/:f'IIZSPJH0a&\r9>f)c@D$hH/?rTjRubQ^ciXS[E`^F.g'2<1BW+LFjjW4^hg97>JVbDNCic)*nuc\sX0-"mNOA3]o'_8V5bjG4=hEDOJmSl[.sBS;,"iEX3("Fo.Phen>a#_HmSiWE5qpS9BSDQ5EY:g7Er)-`T!4TrJ>oGSuJ2L%%\e$)FQ.pSoBNO*0\r:DH50db9>VSV+7YRPk(VqOEYIWil`(8$ES/A2tR.M&2UqgVk5J%qLA=m4^iRq$!C;s!)_H@Y#coS)aNGWd&@["\n?c3t:[JC[5UXX=J0O?/DQ%^cc/o/Hud"A<>\RQ4'jf#?Tnq3*d7R.I]`/f;pp3%/ofNac/%U166s>_4UDkY(;M_<"(bA$4/?DqqbaW!f@OE2XgjQZCUcE%DdO?ec1Nh2)j7cFI1kqt5pHEFY+A\*m\\^UsGg"pWdaM6*TGZn.R_3r32B66t"PZLrO@oV$0@98/(3$uJ.=\>:MUk:ml+e)XXPJ64`O1A=JSlMK*tVh\gB6MkRX#NDn&68+7g!Co*AkaniJ[!BNn:92[V5=&uc[Y7\]kCjK:alG^91\S4FT+pc,AXs7eg[sS-Hpq2t:_rFu=`k.=4j/5TgDS2m6cq]`G(%-B)`3uh;OU'dP-ih7"ARqBb+hIJp#stLA-+qTDY%rs=NZ"*48,c)16YD)T%YQ2PnNkn824h+P\A`lXI.?uH`2jN]?3`^XkDW8#.-o<=2#'DO%%O[p&4FUAT@)`h>;_bcn7M>C?T(M#](cpM[)rSkFmqC]sD7F\VlY]!SVHT2fqnf8,BPurkgr^cO5.F1Ql4<5M`NCh-l]'Mj.R#(LKsFPb&pn>2XJto_f1Z`W,3cg+<50gatZN/,4HDAW3WMnH7%~> -endstream -endobj -135 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 134 0 R -/Annots 136 0 R ->> -endobj -136 0 obj -[ -] -endobj -137 0 obj -<< /Length 550 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gat=i92C1*&:j6IMESD)Y09)gC8-RA9Lq8_e'PC"&dl3dA,Z.>+3Kga9/R\3S,GN_L=tNDMf.r/JXFG&/#/I_,9X8+J8")s1b]9*A1R4+krq.0bcKLA8o)Z$P[$#TjX-'aaXbIS#A=MHFD5!hSt!tdi`R8\<>qLi([\eRit@me,cf]PhF8/T.LE>MamCCYe0e[o2p:af.A6s#c8] -endstream -endobj -138 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 137 0 R -/Annots 139 0 R ->> -endobj -139 0 obj -[ -] -endobj -142 0 obj -<< - /Title (\376\377\0\123\0\161\0\165\0\151\0\162\0\162\0\145\0\154\0\40\0\123\0\164\0\141\0\156\0\144\0\141\0\162\0\144\0\40\0\114\0\151\0\142\0\162\0\141\0\162\0\171\0\40\0\62\0\56\0\62) - /Parent 140 0 R - /Next 144 0 R - /A 141 0 R ->> endobj -144 0 obj -<< - /Title (\376\377\0\124\0\141\0\142\0\154\0\145\0\40\0\157\0\146\0\40\0\103\0\157\0\156\0\164\0\145\0\156\0\164\0\163) - /Parent 140 0 R - /Prev 142 0 R - /Next 145 0 R - /A 143 0 R ->> endobj -145 0 obj -<< - /Title (\376\377\0\103\0\150\0\141\0\160\0\164\0\145\0\162\0\240\0\61\0\56\0\240\0\111\0\156\0\164\0\162\0\157\0\144\0\165\0\143\0\164\0\151\0\157\0\156) - /Parent 140 0 R - /Prev 144 0 R - /Next 146 0 R - /A 15 0 R ->> endobj -146 0 obj -<< - /Title (\376\377\0\103\0\150\0\141\0\160\0\164\0\145\0\162\0\240\0\62\0\56\0\240\0\124\0\150\0\145\0\40\0\111\0\156\0\160\0\165\0\164\0\57\0\117\0\165\0\164\0\160\0\165\0\164\0\40\0\154\0\151\0\142\0\162\0\141\0\162\0\171) - /Parent 140 0 R - /First 147 0 R - /Last 150 0 R - /Prev 145 0 R - /Next 154 0 R - /Count -7 - /A 17 0 R ->> endobj -147 0 obj -<< - /Title (\376\377\0\123\0\161\0\165\0\151\0\162\0\162\0\145\0\154\0\40\0\101\0\120\0\111) - /Parent 146 0 R - /First 148 0 R - /Last 149 0 R - /Next 150 0 R - /Count -2 - /A 19 0 R ->> endobj -148 0 obj -<< - /Title (\376\377\0\107\0\154\0\157\0\142\0\141\0\154\0\40\0\163\0\171\0\155\0\142\0\157\0\154\0\163) - /Parent 147 0 R - /Next 149 0 R - /A 21 0 R ->> endobj -149 0 obj -<< - /Title (\376\377\0\106\0\151\0\154\0\145\0\40\0\143\0\154\0\141\0\163\0\163) - /Parent 147 0 R - /Prev 148 0 R - /A 23 0 R ->> endobj -150 0 obj -<< - /Title (\376\377\0\103\0\40\0\101\0\120\0\111) - /Parent 146 0 R - /First 151 0 R - /Last 153 0 R - /Prev 147 0 R - /Count -3 - /A 25 0 R ->> endobj -151 0 obj -<< - /Title (\376\377\0\111\0\156\0\151\0\164\0\151\0\141\0\154\0\151\0\172\0\141\0\164\0\151\0\157\0\156) - /Parent 150 0 R - /Next 152 0 R - /A 27 0 R ->> endobj -152 0 obj -<< - /Title (\376\377\0\106\0\151\0\154\0\145\0\40\0\157\0\142\0\152\0\145\0\143\0\164) - /Parent 150 0 R - /Prev 151 0 R - /Next 153 0 R - /A 29 0 R ->> endobj -153 0 obj -<< - /Title (\376\377\0\123\0\143\0\162\0\151\0\160\0\164\0\40\0\154\0\157\0\141\0\144\0\151\0\156\0\147\0\40\0\141\0\156\0\144\0\40\0\163\0\145\0\162\0\151\0\141\0\154\0\151\0\172\0\141\0\164\0\151\0\157\0\156) - /Parent 150 0 R - /Prev 152 0 R - /A 31 0 R ->> endobj -154 0 obj -<< - /Title (\376\377\0\103\0\150\0\141\0\160\0\164\0\145\0\162\0\240\0\63\0\56\0\240\0\124\0\150\0\145\0\40\0\102\0\154\0\157\0\142\0\40\0\154\0\151\0\142\0\162\0\141\0\162\0\171) - /Parent 140 0 R - /First 155 0 R - /Last 158 0 R - /Prev 146 0 R - /Next 161 0 R - /Count -6 - /A 33 0 R ->> endobj -155 0 obj -<< - /Title (\376\377\0\123\0\161\0\165\0\151\0\162\0\162\0\145\0\154\0\40\0\101\0\120\0\111) - /Parent 154 0 R - /First 156 0 R - /Last 157 0 R - /Next 158 0 R - /Count -2 - /A 35 0 R ->> endobj -156 0 obj -<< - /Title (\376\377\0\107\0\154\0\157\0\142\0\141\0\154\0\40\0\163\0\171\0\155\0\142\0\157\0\154\0\163) - /Parent 155 0 R - /Next 157 0 R - /A 37 0 R ->> endobj -157 0 obj -<< - /Title (\376\377\0\124\0\150\0\145\0\40\0\142\0\154\0\157\0\142\0\40\0\143\0\154\0\141\0\163\0\163) - /Parent 155 0 R - /Prev 156 0 R - /A 39 0 R ->> endobj -158 0 obj -<< - /Title (\376\377\0\103\0\40\0\101\0\120\0\111) - /Parent 154 0 R - /First 159 0 R - /Last 160 0 R - /Prev 155 0 R - /Count -2 - /A 41 0 R ->> endobj -159 0 obj -<< - /Title (\376\377\0\111\0\156\0\151\0\164\0\151\0\141\0\154\0\151\0\172\0\141\0\164\0\151\0\157\0\156) - /Parent 158 0 R - /Next 160 0 R - /A 43 0 R ->> endobj -160 0 obj -<< - /Title (\376\377\0\102\0\154\0\157\0\142\0\40\0\157\0\142\0\152\0\145\0\143\0\164) - /Parent 158 0 R - /Prev 159 0 R - /A 45 0 R ->> endobj -161 0 obj -<< - /Title (\376\377\0\103\0\150\0\141\0\160\0\164\0\145\0\162\0\240\0\64\0\56\0\240\0\124\0\150\0\145\0\40\0\115\0\141\0\164\0\150\0\40\0\154\0\151\0\142\0\162\0\141\0\162\0\171) - /Parent 140 0 R - /First 162 0 R - /Last 164 0 R - /Prev 154 0 R - /Next 166 0 R - /Count -4 - /A 47 0 R ->> endobj -162 0 obj -<< - /Title (\376\377\0\123\0\161\0\165\0\151\0\162\0\162\0\145\0\154\0\40\0\101\0\120\0\111) - /Parent 161 0 R - /First 163 0 R - /Last 163 0 R - /Next 164 0 R - /Count -1 - /A 49 0 R ->> endobj -163 0 obj -<< - /Title (\376\377\0\107\0\154\0\157\0\142\0\141\0\154\0\40\0\163\0\171\0\155\0\142\0\157\0\154\0\163) - /Parent 162 0 R - /A 51 0 R ->> endobj -164 0 obj -<< - /Title (\376\377\0\103\0\40\0\101\0\120\0\111) - /Parent 161 0 R - /First 165 0 R - /Last 165 0 R - /Prev 162 0 R - /Count -1 - /A 53 0 R ->> endobj -165 0 obj -<< - /Title (\376\377\0\111\0\156\0\151\0\164\0\151\0\141\0\154\0\151\0\172\0\141\0\164\0\151\0\157\0\156) - /Parent 164 0 R - /A 55 0 R ->> endobj -166 0 obj -<< - /Title (\376\377\0\103\0\150\0\141\0\160\0\164\0\145\0\162\0\240\0\65\0\56\0\240\0\124\0\150\0\145\0\40\0\123\0\171\0\163\0\164\0\145\0\155\0\40\0\154\0\151\0\142\0\162\0\141\0\162\0\171) - /Parent 140 0 R - /First 167 0 R - /Last 169 0 R - /Prev 161 0 R - /Next 171 0 R - /Count -4 - /A 57 0 R ->> endobj -167 0 obj -<< - /Title (\376\377\0\123\0\161\0\165\0\151\0\162\0\162\0\145\0\154\0\40\0\101\0\120\0\111) - /Parent 166 0 R - /First 168 0 R - /Last 168 0 R - /Next 169 0 R - /Count -1 - /A 59 0 R ->> endobj -168 0 obj -<< - /Title (\376\377\0\107\0\154\0\157\0\142\0\141\0\154\0\40\0\163\0\171\0\155\0\142\0\157\0\154\0\163) - /Parent 167 0 R - /A 61 0 R ->> endobj -169 0 obj -<< - /Title (\376\377\0\103\0\40\0\101\0\120\0\111) - /Parent 166 0 R - /First 170 0 R - /Last 170 0 R - /Prev 167 0 R - /Count -1 - /A 63 0 R ->> endobj -170 0 obj -<< - /Title (\376\377\0\111\0\156\0\151\0\164\0\151\0\141\0\154\0\151\0\172\0\141\0\164\0\151\0\157\0\156) - /Parent 169 0 R - /A 65 0 R ->> endobj -171 0 obj -<< - /Title (\376\377\0\103\0\150\0\141\0\160\0\164\0\145\0\162\0\240\0\66\0\56\0\240\0\124\0\150\0\145\0\40\0\123\0\164\0\162\0\151\0\156\0\147\0\40\0\154\0\151\0\142\0\162\0\141\0\162\0\171) - /Parent 140 0 R - /First 172 0 R - /Last 175 0 R - /Prev 166 0 R - /Next 179 0 R - /Count -7 - /A 67 0 R ->> endobj -172 0 obj -<< - /Title (\376\377\0\123\0\161\0\165\0\151\0\162\0\162\0\145\0\154\0\40\0\101\0\120\0\111) - /Parent 171 0 R - /First 173 0 R - /Last 174 0 R - /Next 175 0 R - /Count -2 - /A 69 0 R ->> endobj -173 0 obj -<< - /Title (\376\377\0\107\0\154\0\157\0\142\0\141\0\154\0\40\0\163\0\171\0\155\0\142\0\157\0\154\0\163) - /Parent 172 0 R - /Next 174 0 R - /A 71 0 R ->> endobj -174 0 obj -<< - /Title (\376\377\0\122\0\145\0\147\0\145\0\170\0\160\0\40\0\143\0\154\0\141\0\163\0\163) - /Parent 172 0 R - /Prev 173 0 R - /A 73 0 R ->> endobj -175 0 obj -<< - /Title (\376\377\0\103\0\40\0\101\0\120\0\111) - /Parent 171 0 R - /First 176 0 R - /Last 178 0 R - /Prev 172 0 R - /Count -3 - /A 75 0 R ->> endobj -176 0 obj -<< - /Title (\376\377\0\111\0\156\0\151\0\164\0\151\0\141\0\154\0\151\0\172\0\141\0\164\0\151\0\157\0\156) - /Parent 175 0 R - /Next 177 0 R - /A 77 0 R ->> endobj -177 0 obj -<< - /Title (\376\377\0\106\0\157\0\162\0\155\0\141\0\164\0\164\0\151\0\156\0\147) - /Parent 175 0 R - /Prev 176 0 R - /Next 178 0 R - /A 79 0 R ->> endobj -178 0 obj -<< - /Title (\376\377\0\122\0\145\0\147\0\165\0\154\0\141\0\162\0\40\0\105\0\170\0\160\0\145\0\163\0\163\0\151\0\157\0\156\0\163) - /Parent 175 0 R - /Prev 177 0 R - /A 81 0 R ->> endobj -179 0 obj -<< - /Title (\376\377\0\103\0\150\0\141\0\160\0\164\0\145\0\162\0\240\0\67\0\56\0\240\0\124\0\150\0\145\0\40\0\101\0\165\0\170\0\40\0\154\0\151\0\142\0\162\0\141\0\162\0\171) - /Parent 140 0 R - /First 180 0 R - /Last 180 0 R - /Prev 171 0 R - /Next 182 0 R - /Count -2 - /A 83 0 R ->> endobj -180 0 obj -<< - /Title (\376\377\0\103\0\40\0\101\0\120\0\111) - /Parent 179 0 R - /First 181 0 R - /Last 181 0 R - /Count -1 - /A 85 0 R ->> endobj -181 0 obj -<< - /Title (\376\377\0\105\0\162\0\162\0\157\0\162\0\40\0\150\0\141\0\156\0\144\0\154\0\151\0\156\0\147) - /Parent 180 0 R - /A 87 0 R ->> endobj -182 0 obj -<< - /Title (\376\377\0\111\0\156\0\144\0\145\0\170) - /Parent 140 0 R - /Prev 179 0 R - /A 89 0 R ->> endobj -183 0 obj -<< /Type /Font -/Subtype /Type1 -/Name /F11 -/BaseFont /Courier-Bold -/Encoding /WinAnsiEncoding >> -endobj -184 0 obj -<< /Type /Font -/Subtype /Type1 -/Name /F1 -/BaseFont /Helvetica -/Encoding /WinAnsiEncoding >> -endobj -185 0 obj -<< /Type /Font -/Subtype /Type1 -/Name /F10 -/BaseFont /Courier-Oblique -/Encoding /WinAnsiEncoding >> -endobj -186 0 obj -<< /Type /Font -/Subtype /Type1 -/Name /F5 -/BaseFont /Times-Roman -/Encoding /WinAnsiEncoding >> -endobj -187 0 obj -<< /Type /Font -/Subtype /Type1 -/Name /F3 -/BaseFont /Helvetica-Bold -/Encoding /WinAnsiEncoding >> -endobj -188 0 obj -<< /Type /Font -/Subtype /Type1 -/Name /F9 -/BaseFont /Courier -/Encoding /WinAnsiEncoding >> -endobj -189 0 obj -<< /Type /Font -/Subtype /Type1 -/Name /F6 -/BaseFont /Times-Italic -/Encoding /WinAnsiEncoding >> -endobj -190 0 obj -<< /Type /Font -/Subtype /Type1 -/Name /F7 -/BaseFont /Times-Bold -/Encoding /WinAnsiEncoding >> -endobj -1 0 obj -<< /Type /Pages -/Count 28 -/Kids [6 0 R 8 0 R 10 0 R 12 0 R 91 0 R 93 0 R 95 0 R 97 0 R 99 0 R 101 0 R 103 0 R 105 0 R 107 0 R 109 0 R 111 0 R 113 0 R 115 0 R 117 0 R 119 0 R 121 0 R 123 0 R 125 0 R 127 0 R 129 0 R 131 0 R 133 0 R 135 0 R 138 0 R ] >> -endobj -2 0 obj -<< /Type /Catalog -/Pages 1 0 R - /Outlines 140 0 R - /PageMode /UseOutlines - >> -endobj -3 0 obj -<< -/Font << /F1 184 0 R /F11 183 0 R /F10 185 0 R /F5 186 0 R /F3 187 0 R /F9 188 0 R /F6 189 0 R /F7 190 0 R >> -/ProcSet [ /PDF /ImageC /Text ] >> -endobj -15 0 obj -<< -/S /GoTo -/D [91 0 R /XYZ 115.0 725.0 null] ->> -endobj -17 0 obj -<< -/S /GoTo -/D [93 0 R /XYZ 115.0 725.0 null] ->> -endobj -19 0 obj -<< -/S /GoTo -/D [93 0 R /XYZ 115.0 666.009 null] ->> -endobj -21 0 obj -<< -/S /GoTo -/D [93 0 R /XYZ 115.0 632.684 null] ->> -endobj -23 0 obj -<< -/S /GoTo -/D [93 0 R /XYZ 115.0 233.665 null] ->> -endobj -25 0 obj -<< -/S /GoTo -/D [95 0 R /XYZ 115.0 127.26 null] ->> -endobj -27 0 obj -<< -/S /GoTo -/D [97 0 R /XYZ 115.0 725.0 null] ->> -endobj -29 0 obj -<< -/S /GoTo -/D [97 0 R /XYZ 115.0 514.701 null] ->> -endobj -31 0 obj -<< -/S /GoTo -/D [99 0 R /XYZ 115.0 725.0 null] ->> -endobj -33 0 obj -<< -/S /GoTo -/D [103 0 R /XYZ 115.0 725.0 null] ->> -endobj -35 0 obj -<< -/S /GoTo -/D [103 0 R /XYZ 115.0 655.009 null] ->> -endobj -37 0 obj -<< -/S /GoTo -/D [103 0 R /XYZ 115.0 621.684 null] ->> -endobj -39 0 obj -<< -/S /GoTo -/D [103 0 R /XYZ 115.0 347.085 null] ->> -endobj -41 0 obj -<< -/S /GoTo -/D [105 0 R /XYZ 115.0 177.98 null] ->> -endobj -43 0 obj -<< -/S /GoTo -/D [105 0 R /XYZ 115.0 144.655 null] ->> -endobj -45 0 obj -<< -/S /GoTo -/D [107 0 R /XYZ 115.0 570.14 null] ->> -endobj -47 0 obj -<< -/S /GoTo -/D [111 0 R /XYZ 115.0 725.0 null] ->> -endobj -49 0 obj -<< -/S /GoTo -/D [111 0 R /XYZ 115.0 655.009 null] ->> -endobj -51 0 obj -<< -/S /GoTo -/D [111 0 R /XYZ 115.0 621.684 null] ->> -endobj -53 0 obj -<< -/S /GoTo -/D [113 0 R /XYZ 115.0 415.7 null] ->> -endobj -55 0 obj -<< -/S /GoTo -/D [113 0 R /XYZ 115.0 382.375 null] ->> -endobj -57 0 obj -<< -/S /GoTo -/D [115 0 R /XYZ 115.0 725.0 null] ->> -endobj -59 0 obj -<< -/S /GoTo -/D [115 0 R /XYZ 115.0 655.009 null] ->> -endobj -61 0 obj -<< -/S /GoTo -/D [115 0 R /XYZ 115.0 621.684 null] ->> -endobj -63 0 obj -<< -/S /GoTo -/D [115 0 R /XYZ 115.0 145.225 null] ->> -endobj -65 0 obj -<< -/S /GoTo -/D [115 0 R /XYZ 115.0 111.9 null] ->> -endobj -67 0 obj -<< -/S /GoTo -/D [119 0 R /XYZ 115.0 725.0 null] ->> -endobj -69 0 obj -<< -/S /GoTo -/D [119 0 R /XYZ 115.0 666.009 null] ->> -endobj -71 0 obj -<< -/S /GoTo -/D [119 0 R /XYZ 115.0 632.684 null] ->> -endobj -73 0 obj -<< -/S /GoTo -/D [121 0 R /XYZ 115.0 209.54 null] ->> -endobj -75 0 obj -<< -/S /GoTo -/D [123 0 R /XYZ 115.0 281.78 null] ->> -endobj -77 0 obj -<< -/S /GoTo -/D [123 0 R /XYZ 115.0 248.455 null] ->> -endobj -79 0 obj -<< -/S /GoTo -/D [125 0 R /XYZ 115.0 662.0 null] ->> -endobj -81 0 obj -<< -/S /GoTo -/D [125 0 R /XYZ 115.0 335.841 null] ->> -endobj -83 0 obj -<< -/S /GoTo -/D [133 0 R /XYZ 115.0 725.0 null] ->> -endobj -85 0 obj -<< -/S /GoTo -/D [133 0 R /XYZ 115.0 666.009 null] ->> -endobj -87 0 obj -<< -/S /GoTo -/D [133 0 R /XYZ 115.0 632.684 null] ->> -endobj -89 0 obj -<< -/S /GoTo -/D [135 0 R /XYZ 67.0 725.0 null] ->> -endobj -140 0 obj -<< - /First 142 0 R - /Last 182 0 R ->> endobj -141 0 obj -<< -/S /GoTo -/D [10 0 R /XYZ 115.0 725.0 null] ->> -endobj -143 0 obj -<< -/S /GoTo -/D [12 0 R /XYZ 115.0 715.0 null] ->> -endobj -xref -0 191 -0000000000 65535 f -0000053910 00000 n -0000054176 00000 n -0000054269 00000 n -0000000015 00000 n -0000000071 00000 n -0000000408 00000 n -0000000514 00000 n -0000001653 00000 n -0000001759 00000 n -0000001920 00000 n -0000002027 00000 n -0000003395 00000 n -0000003518 00000 n -0000003804 00000 n -0000054435 00000 n -0000003940 00000 n -0000054500 00000 n -0000004076 00000 n -0000054565 00000 n -0000004212 00000 n -0000054632 00000 n -0000004348 00000 n -0000054699 00000 n -0000004483 00000 n -0000054766 00000 n -0000004619 00000 n -0000054832 00000 n -0000004755 00000 n -0000054897 00000 n -0000004890 00000 n -0000054964 00000 n -0000005026 00000 n -0000055029 00000 n -0000005162 00000 n -0000055095 00000 n -0000005298 00000 n -0000055163 00000 n -0000005434 00000 n -0000055231 00000 n -0000005570 00000 n -0000055299 00000 n -0000005706 00000 n -0000055366 00000 n -0000005842 00000 n -0000055434 00000 n -0000005978 00000 n -0000055501 00000 n -0000006114 00000 n -0000055567 00000 n -0000006250 00000 n -0000055635 00000 n -0000006386 00000 n -0000055703 00000 n -0000006522 00000 n -0000055769 00000 n -0000006658 00000 n -0000055837 00000 n -0000006794 00000 n -0000055903 00000 n -0000006930 00000 n -0000055971 00000 n -0000007066 00000 n -0000056039 00000 n -0000007202 00000 n -0000056107 00000 n -0000007338 00000 n -0000056173 00000 n -0000007474 00000 n -0000056239 00000 n -0000007610 00000 n -0000056307 00000 n -0000007746 00000 n -0000056375 00000 n -0000007882 00000 n -0000056442 00000 n -0000008018 00000 n -0000056509 00000 n -0000008154 00000 n -0000056577 00000 n -0000008290 00000 n -0000056643 00000 n -0000008426 00000 n -0000056711 00000 n -0000008562 00000 n -0000056777 00000 n -0000008698 00000 n -0000056845 00000 n -0000008833 00000 n -0000056913 00000 n -0000008969 00000 n -0000010032 00000 n -0000010140 00000 n -0000012316 00000 n -0000012424 00000 n -0000014217 00000 n -0000014325 00000 n -0000015773 00000 n -0000015881 00000 n -0000018037 00000 n -0000018145 00000 n -0000018965 00000 n -0000019075 00000 n -0000020614 00000 n -0000020724 00000 n -0000022570 00000 n -0000022680 00000 n -0000023997 00000 n -0000024107 00000 n -0000024652 00000 n -0000024762 00000 n -0000026006 00000 n -0000026116 00000 n -0000027453 00000 n -0000027563 00000 n -0000029288 00000 n -0000029398 00000 n -0000030077 00000 n -0000030187 00000 n -0000031877 00000 n -0000031987 00000 n -0000033923 00000 n -0000034033 00000 n -0000035808 00000 n -0000035918 00000 n -0000037775 00000 n -0000037885 00000 n -0000039309 00000 n -0000039419 00000 n -0000041125 00000 n -0000041235 00000 n -0000041591 00000 n -0000041701 00000 n -0000042701 00000 n -0000042811 00000 n -0000044313 00000 n -0000044439 00000 n -0000044460 00000 n -0000045103 00000 n -0000045229 00000 n -0000056978 00000 n -0000057032 00000 n -0000045250 00000 n -0000057098 00000 n -0000045504 00000 n -0000045705 00000 n -0000045941 00000 n -0000046288 00000 n -0000046486 00000 n -0000046654 00000 n -0000046798 00000 n -0000046954 00000 n -0000047123 00000 n -0000047288 00000 n -0000047562 00000 n -0000047862 00000 n -0000048060 00000 n -0000048228 00000 n -0000048395 00000 n -0000048551 00000 n -0000048720 00000 n -0000048870 00000 n -0000049170 00000 n -0000049368 00000 n -0000049521 00000 n -0000049677 00000 n -0000049831 00000 n -0000050143 00000 n -0000050341 00000 n -0000050494 00000 n -0000050650 00000 n -0000050804 00000 n -0000051116 00000 n -0000051314 00000 n -0000051482 00000 n -0000051638 00000 n -0000051794 00000 n -0000051963 00000 n -0000052123 00000 n -0000052315 00000 n -0000052609 00000 n -0000052750 00000 n -0000052903 00000 n -0000053018 00000 n -0000053131 00000 n -0000053240 00000 n -0000053356 00000 n -0000053467 00000 n -0000053581 00000 n -0000053688 00000 n -0000053800 00000 n -trailer -<< -/Size 191 -/Root 2 0 R -/Info 4 0 R ->> -startxref -57164 -%%EOF diff --git a/src/3rdparty/squirrel/doc/squirrel2.chm b/src/3rdparty/squirrel/doc/squirrel2.chm deleted file mode 100644 index f289edd1e6..0000000000 Binary files a/src/3rdparty/squirrel/doc/squirrel2.chm and /dev/null differ diff --git a/src/3rdparty/squirrel/doc/squirrel2.pdf b/src/3rdparty/squirrel/doc/squirrel2.pdf deleted file mode 100644 index af3e0fde9b..0000000000 --- a/src/3rdparty/squirrel/doc/squirrel2.pdf +++ /dev/null @@ -1,6426 +0,0 @@ -%PDF-1.3 -% -4 0 obj -<< /Type /Info -/Producer (FOP 0.20.5) >> -endobj -5 0 obj -<< /Length 242 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gaqco]*cD?&4QKpMCE&o3;_QsMHU9D\t)sA0PV_"go0+KHisl,*LLp9/;hPIK/+9qL3ODc"L/XD-R"&PP9?to9cdO^b_(UoJR,^t4fXaV*l1s(hf6dZA.$iuD"u).S!&PO>r7V:qqXVEI0U=0mG7sAWmV*Z%c@b(d,nP\Eb_Xje&sj6s,!HjU@qn5CB!ftO"(S1 -endstream -endobj -6 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 5 0 R ->> -endobj -7 0 obj -<< /Length 1100 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gasao968Q9&AI=/pdUZcKcb0YV5PX5.]$TD`djHhOm=Z8n=#bBB0ulWKOLp;rIK:J%!SknV>3/6R/#6>VLpZWMkUF9,F?<#%=hM6Mkp!uBj5X$B2#V2>=u>L)5!(7V&8*!fU%#V69""keG\0eUbVCc5.r[(!8>"DSYhfG[893-2tT1i8c%;:Z3D/uE8j?BK!h$XJApc)$;3-ItK1.bP!IVr357,=/cjMBSALe)R#Po&70$jj*1c,Haa9iTARZD>$lCoK*T6^XuqdGRg:a=7sCF&@T:+8e'qhSZ$hkpkh(3/N^S+25;.:g"Q8%WNhlUF6rg(0&1BXO((l>;:%"FU<.[UZE^W'Z'?VtckL)2MZNV3*-J>irIPqji:W.#TTu%jI5EX$d;62d51St5A8+Vm&R"8iCZ#^r&J,(ZM2DTb\)BGmcq+h5ghXK-Rii#oKG?CT>/@u_0ML$gnDYSfs)M.]auTrhRM/Hi8fGL2O"tk<&ncl4F46`Mlpi!2AtnGL!`:[)QlcS*7A8[R)7\pHK15rmH>*7]a?>;jh0J.0ln"S@mk-",=nfhiqo&j+^$Hd23H9aXfL8\GGK[=C2s>7'6p87ej'W@H'[TPF:ha)(JJ3*V^OLDAEAT7o\N/pk_klbaiBNK)d)dMIAX8?J!B;A5`pZL%t'I<)4e*Q2ef^NoVMGn\J!0L$d%f~> -endstream -endobj -8 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 7 0 R ->> -endobj -9 0 obj -<< /Length 71 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Garg^iGoCd.c`?]8EV`b1=.gR0K1`91K?+0ZOMGdU/Zh'Y!=Te%#&:?HH*JE! -endstream -endobj -10 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 9 0 R ->> -endobj -11 0 obj -<< /Length 1807 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gb"/lc#]C5(rl%A=)dGlK*hD4CSj8IC#!]tBr9-%4Z#;5ZEp.qndD\&+UTAM7%q7/dba*rb2SW+[6XLX*.U<3(_$_!5`E'Y>1UTB9Z=T`0d-Q!*>*.1K(\G_mrgb^ZFIGZ>SsBoLOT@.3WOISrcPKdUFuQ'a&s^WP_"9Ec55mkig$s)1OPsJ5bLV=#`J[6+WEd^R]jjn:K6>+\aYW35SL$R0W0Y8oI#b[9?Hku`/3cO?n0D$JO!!X#CaE-&Ao%TDC+A<=UDr)\p4kNi+Z:6>f5J[^Qp'ECW)2,&P(MrIe7Lu$H/%0D)-+WO@oE"Kofpe`qJIlp!2$N_=pdEPhKDSKMfL@6gqa7GVP/#94"kPdEq76GmBE:.;$Sa[f<[5fZX%Efbb3#e6;Z9O_N2i3Qj?g(Z,,P/T1oh2oJ:XTO,DN?=ecDF2hl0AOJ+4p^eFn`S:)pZU6=4uHD*R7;`mLIlj0PoH=(;Qa@PELC(dl=1Q7,7&BfZptLk@9tIfV)GA/58_#`+:r3[]qG=M6)'nVns*C.91'P25bK@"4j)_%<]lLG2n!bd@4a,Z@B>JpAOV%5pS[jo(6.0O&EjF1_`(h,Df2$bm[KVboVWhY!DofsXBu"@Sg/S@I@nf]b:74$^#/pOcNA`i2+[U?U*8;GZRnQlQ>rna'`1XW5_ht6..lst9:0.U9XhFG25G,d!pu;d'0O`bmJ_665/2TBcQ1S`?Rm)>V%+Z7`uH-WZB9V(roZKNC[m_~> -endstream -endobj -12 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 11 0 R -/Annots 13 0 R ->> -endobj -13 0 obj -[ -14 0 R -16 0 R -18 0 R -20 0 R -22 0 R -24 0 R -26 0 R -28 0 R -30 0 R -32 0 R -34 0 R -36 0 R -38 0 R -40 0 R -42 0 R -44 0 R -46 0 R -48 0 R -50 0 R -52 0 R -54 0 R -56 0 R -58 0 R -60 0 R -62 0 R -64 0 R -66 0 R -68 0 R -70 0 R -72 0 R -74 0 R -76 0 R -78 0 R -80 0 R -82 0 R -84 0 R -86 0 R -88 0 R -90 0 R -92 0 R -94 0 R -96 0 R -98 0 R -100 0 R -102 0 R -104 0 R -106 0 R -108 0 R -110 0 R -112 0 R -114 0 R -116 0 R -118 0 R -] -endobj -14 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 120.0 655.001 179.44 645.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 15 0 R -/H /I ->> -endobj -16 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 120.0 644.001 184.15 634.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 17 0 R -/H /I ->> -endobj -18 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 633.001 211.48 623.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 19 0 R -/H /I ->> -endobj -20 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 622.001 209.1 612.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 21 0 R -/H /I ->> -endobj -22 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 611.001 209.1 601.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 23 0 R -/H /I ->> -endobj -24 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 600.001 207.43 590.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 25 0 R -/H /I ->> -endobj -26 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 589.001 219.38 579.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 27 0 R -/H /I ->> -endobj -28 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 578.001 198.55 568.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 29 0 R -/H /I ->> -endobj -30 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 567.001 211.34 557.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 31 0 R -/H /I ->> -endobj -32 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 556.001 233.7 546.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 33 0 R -/H /I ->> -endobj -34 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 545.001 196.32 535.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 35 0 R -/H /I ->> -endobj -36 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 534.001 188.56 524.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 37 0 R -/H /I ->> -endobj -38 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 523.001 192.45 513.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 39 0 R -/H /I ->> -endobj -40 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 512.001 185.78 502.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 41 0 R -/H /I ->> -endobj -42 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 501.001 187.45 491.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 43 0 R -/H /I ->> -endobj -44 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 490.001 190.77 480.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 45 0 R -/H /I ->> -endobj -46 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 479.001 191.32 469.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 47 0 R -/H /I ->> -endobj -48 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 468.001 203.56 458.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 49 0 R -/H /I ->> -endobj -50 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 457.001 189.67 447.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 51 0 R -/H /I ->> -endobj -52 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 446.001 224.94 436.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 53 0 R -/H /I ->> -endobj -54 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 435.001 207.98 425.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 55 0 R -/H /I ->> -endobj -56 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 424.001 203.54 414.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 57 0 R -/H /I ->> -endobj -58 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 413.001 196.32 403.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 59 0 R -/H /I ->> -endobj -60 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 402.001 238.24 392.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 61 0 R -/H /I ->> -endobj -62 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 391.001 218.72 381.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 63 0 R -/H /I ->> -endobj -64 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 380.001 206.32 370.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 65 0 R -/H /I ->> -endobj -66 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 369.001 187.89 359.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 67 0 R -/H /I ->> -endobj -68 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 358.001 191.89 348.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 69 0 R -/H /I ->> -endobj -70 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 347.001 268.01 337.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 71 0 R -/H /I ->> -endobj -72 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 336.001 193.0 326.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 73 0 R -/H /I ->> -endobj -74 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 325.001 190.21 315.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 75 0 R -/H /I ->> -endobj -76 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 314.001 202.44 304.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 77 0 R -/H /I ->> -endobj -78 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 303.001 191.88 293.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 79 0 R -/H /I ->> -endobj -80 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 292.001 188.0 282.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 81 0 R -/H /I ->> -endobj -82 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 281.001 276.3 271.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 83 0 R -/H /I ->> -endobj -84 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 270.001 250.49 260.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 85 0 R -/H /I ->> -endobj -86 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 259.001 236.6 249.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 87 0 R -/H /I ->> -endobj -88 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 248.001 202.99 238.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 89 0 R -/H /I ->> -endobj -90 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 237.001 191.33 227.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 91 0 R -/H /I ->> -endobj -92 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 226.001 189.11 216.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 93 0 R -/H /I ->> -endobj -94 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 215.001 190.22 205.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 95 0 R -/H /I ->> -endobj -96 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 204.001 251.6 194.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 97 0 R -/H /I ->> -endobj -98 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 193.001 192.33 183.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 99 0 R -/H /I ->> -endobj -100 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 182.001 290.1 172.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 101 0 R -/H /I ->> -endobj -102 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 171.001 207.43 161.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 103 0 R -/H /I ->> -endobj -104 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 160.001 238.26 150.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 105 0 R -/H /I ->> -endobj -106 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 149.001 201.32 139.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 107 0 R -/H /I ->> -endobj -108 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 138.001 189.66 128.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 109 0 R -/H /I ->> -endobj -110 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 127.001 238.81 117.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 111 0 R -/H /I ->> -endobj -112 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 116.001 170.66 106.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 113 0 R -/H /I ->> -endobj -114 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 105.001 219.67 95.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 115 0 R -/H /I ->> -endobj -116 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 94.001 218.83 84.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 117 0 R -/H /I ->> -endobj -118 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 83.001 218.84 73.001 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 119 0 R -/H /I ->> -endobj -120 0 obj -<< /Length 2026 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gb"/l>Ar7S!/9>//,V6B&+r>QPiTk298a;D_cdk'(^>VYka7`*V6lIFqt8FW1?CoaHJ)]Z4tTTY@Ot#!FH1T+,d6C+T3q1EEMh$+^)B#l]+GoB`EtAIN"q%1EMp_sc]dmk=2,Rs*]K;Q/(^C.5J!:!a;kft"St#s.sJNJ_.=lG%\"nq3)bFBe*@ZDL'eNVSQMNn8<$tRV[P1?Y+1A[oH%SnRr>u##7qs)\df!9hhnH(KPkNdX&4VLf/F,50*_m8[+OhWMk3XEW(FlkV2DWM$B%uSq_6In\"9S6e\gmG&hb!Yk(7S%sT;Ei3Id;R2kEMVX3Mj!WnoS2/79GeOo$K[48l3KFY&o![muPmfN^(6u)A;](PCA^tDr*Q:=lCSWqZOpXkfB!eJ']m^uKdHtJRKmpmaXRB=r:IVF/L^2snlF@ac-B@e+6CsqU.e?Wa.Vl%s",8`3=JM*I=gr$HaZ(&+8Y@jsQr(e)HFe6[cl`KILGL8AMJ\Fd8h4[QgK*,;q,Rb7J%&h2HR*EK2H/14[%fh.b6B."niW.V!b5>D7`<5RR_+E,+0\G.U7poGe-Y_0"$HW\+A8gGIbr,Kgg(=F`"p&.%pH6+Z7>0Q%PLMn@+tW/mc15TnG*3=)rO_M+;J2fW$'"G_:/#]sD&irmj9$5\h`[na^eL+#?\1Sr))\gIJ6f7jqT,)SuW5i3jnFQq<8)hb\H2Y1L*.WM>lif?RB4gBT1\Cfl)!_H3!Fa1<.>!=TP'FK%e)!Ss7?S]G=j9mIYtk0"moi96i*X)ch$iPk+f`Ruc<-bC+.=1JfbgVXR2/V$)66&k*#mDrDE`'#&=HkWDN&R3@q*g:.R=3F=`d&I>%L*p?r[+:RMM*0(bI\V5*l"Wq<:60iO+OGC3UX<^Y7ChMM>\^$]FDBo_>;V\ABQ%7E&"dlRN%El&S=gH'!hC0FXahF*@_4pA62)W^O&l.7d,M4^]]ePJ/r![J(n'n1"SPu0CO6blq(e90ptj(gD>*[#?cB"CZq"b!^MshK586^t;d?fOUrGUj@B(E,B'FL.QTF>t!eF*uH8P*F"P6k[1*pE&cbU**M@D^6TRfq7lt>@q[B_rbjdNAWFkR@o#g7Y:R?('&5TimqT2[fa_JMuJZ&l)_-lpD_FiP.X"U#_NodH7hLD69bXmYd_A9HK?4oVR65c7D;+G9)3]5(ncmrP&!UfD8uq`St8Tqf,8W+-AW"T"`*q^gB&/!egEf1h^hX*Ci:9N^)'7bq-mCNE1+#(ZtP4dpS2''r*+#8Q,iQRke6DCZ!7)RNL/G<48=ZY?N\,=U1`TsqCYdqo2CFFuirUIOgM;t>LaO3PX!QL3V,N`l\-Lr\'WT6?q@N1PYSO;`8P>BScI8"W8rphj&,Nq=3WnhI2t.EKU#C@qDeHG5SOq$!!!*t2H]Ek53$*k[giBqu5CDs)=2kN1+r?'jIahuD[N:kohJS5.c2pHR:`qA3NsR&9~> -endstream -endobj -121 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 120 0 R -/Annots 122 0 R ->> -endobj -122 0 obj -[ -123 0 R -125 0 R -127 0 R -129 0 R -131 0 R -133 0 R -135 0 R -137 0 R -139 0 R -141 0 R -143 0 R -145 0 R -147 0 R -149 0 R -151 0 R -153 0 R -155 0 R -157 0 R -159 0 R -161 0 R -163 0 R -165 0 R -167 0 R -169 0 R -171 0 R -173 0 R -175 0 R -177 0 R -179 0 R -181 0 R -183 0 R -185 0 R -187 0 R -189 0 R -191 0 R -193 0 R -195 0 R -197 0 R -199 0 R -201 0 R -203 0 R -205 0 R -207 0 R -209 0 R -211 0 R -213 0 R -215 0 R -217 0 R -219 0 R -221 0 R -223 0 R -225 0 R -227 0 R -229 0 R -231 0 R -233 0 R -235 0 R -237 0 R -] -endobj -123 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 719.0 171.21 709.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 124 0 R -/H /I ->> -endobj -125 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 708.0 183.45 698.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 126 0 R -/H /I ->> -endobj -127 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 697.0 250.49 687.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 128 0 R -/H /I ->> -endobj -129 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 686.0 224.39 676.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 130 0 R -/H /I ->> -endobj -131 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 675.0 318.27 665.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 132 0 R -/H /I ->> -endobj -133 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 664.0 224.37 654.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 134 0 R -/H /I ->> -endobj -135 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 653.0 223.82 643.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 136 0 R -/H /I ->> -endobj -137 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 642.0 174.0 632.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 138 0 R -/H /I ->> -endobj -139 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 631.0 236.6 621.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 140 0 R -/H /I ->> -endobj -141 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 620.0 228.83 610.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 142 0 R -/H /I ->> -endobj -143 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 609.0 212.98 599.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 144 0 R -/H /I ->> -endobj -145 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 598.0 222.44 588.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 146 0 R -/H /I ->> -endobj -147 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 587.0 187.87 577.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 148 0 R -/H /I ->> -endobj -149 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 576.0 251.78 566.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 150 0 R -/H /I ->> -endobj -151 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 565.0 207.45 555.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 152 0 R -/H /I ->> -endobj -153 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 554.0 223.55 544.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 154 0 R -/H /I ->> -endobj -155 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 543.0 254.94 533.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 156 0 R -/H /I ->> -endobj -157 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 532.0 176.21 522.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 158 0 R -/H /I ->> -endobj -159 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 521.0 223.27 511.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 160 0 R -/H /I ->> -endobj -161 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 510.0 214.24 500.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 162 0 R -/H /I ->> -endobj -163 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 499.0 187.88 489.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 164 0 R -/H /I ->> -endobj -165 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 488.0 198.44 478.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 166 0 R -/H /I ->> -endobj -167 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 477.0 184.11 467.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 168 0 R -/H /I ->> -endobj -169 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 466.0 185.22 456.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 170 0 R -/H /I ->> -endobj -171 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 455.0 204.11 445.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 172 0 R -/H /I ->> -endobj -173 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 444.0 199.67 434.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 174 0 R -/H /I ->> -endobj -175 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 433.0 187.44 423.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 176 0 R -/H /I ->> -endobj -177 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 422.0 186.89 412.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 178 0 R -/H /I ->> -endobj -179 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 411.0 188.56 401.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 180 0 R -/H /I ->> -endobj -181 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 400.0 185.78 390.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 182 0 R -/H /I ->> -endobj -183 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 389.0 203.56 379.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 184 0 R -/H /I ->> -endobj -185 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 378.0 190.78 368.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 186 0 R -/H /I ->> -endobj -187 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 367.0 198.55 357.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 188 0 R -/H /I ->> -endobj -189 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 356.0 190.22 346.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 190 0 R -/H /I ->> -endobj -191 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 345.0 187.44 335.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 192 0 R -/H /I ->> -endobj -193 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 334.0 199.66 324.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 194 0 R -/H /I ->> -endobj -195 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 323.0 193.0 313.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 196 0 R -/H /I ->> -endobj -197 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 312.0 203.56 302.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 198 0 R -/H /I ->> -endobj -199 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 301.0 208.55 291.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 200 0 R -/H /I ->> -endobj -201 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 290.0 222.43 280.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 202 0 R -/H /I ->> -endobj -203 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 279.0 214.84 269.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 204 0 R -/H /I ->> -endobj -205 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 268.0 231.06 258.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 206 0 R -/H /I ->> -endobj -207 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 257.0 237.7 247.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 208 0 R -/H /I ->> -endobj -209 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 120.0 246.0 210.83 236.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 210 0 R -/H /I ->> -endobj -211 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 235.0 232.04 225.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 212 0 R -/H /I ->> -endobj -213 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 224.0 177.88 214.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 214 0 R -/H /I ->> -endobj -215 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 213.0 271.76 203.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 216 0 R -/H /I ->> -endobj -217 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 202.0 290.1 192.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 218 0 R -/H /I ->> -endobj -219 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 191.0 215.93 181.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 220 0 R -/H /I ->> -endobj -221 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 180.0 222.61 170.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 222 0 R -/H /I ->> -endobj -223 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 169.0 184.27 159.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 224 0 R -/H /I ->> -endobj -225 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 158.0 223.27 148.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 226 0 R -/H /I ->> -endobj -227 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.0 147.0 245.5 137.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 228 0 R -/H /I ->> -endobj -229 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 136.0 237.88 126.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 230 0 R -/H /I ->> -endobj -231 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 125.0 218.45 115.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 232 0 R -/H /I ->> -endobj -233 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 114.0 216.22 104.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 234 0 R -/H /I ->> -endobj -235 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 103.0 222.04 93.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 236 0 R -/H /I ->> -endobj -237 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 92.0 269.81 82.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 238 0 R -/H /I ->> -endobj -239 0 obj -<< /Length 835 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gb"/jbAs(+'Sc?EKpH.EMJc[bFkY-N1S1BKl))p`N+H3F#"Q[Ie#+k9"u-V]U=0TDI)_XOa+BFira,nM(a[J^NuVTco2.8eI'diHnuE9jR'A+X@cH>X,qJW\ibg"69U*C_D[89l>_mc>)s6JP6KP&nRjuQo@%pt]]C1<$J5-cW7@3o7u5gaFa3L(>iDYWs5D2kb%=O:idNDrlZFCgWSNgS8LFgpt4Y6F-5%n:[ug'!!35uk:T"nQQV)f(LWh]@)i)`9sXng:]uUt&C?hDj!nJeDSa6AYZeX_bJcc#>f;1kC1K)`?%OqPAtHc/V6YmFGAtoUpbcJ6j&ZN@9b_NQiEd,ffG:*=*_Vn:ZVE[)7VX5)ot->@NVLlL!<43 -endstream -endobj -240 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 239 0 R -/Annots 241 0 R ->> -endobj -241 0 obj -[ -242 0 R -244 0 R -246 0 R -248 0 R -250 0 R -252 0 R -254 0 R -256 0 R -258 0 R -260 0 R -262 0 R -264 0 R -266 0 R -268 0 R -270 0 R -] -endobj -242 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 719.0 250.64 709.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 243 0 R -/H /I ->> -endobj -244 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 708.0 214.54 698.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 245 0 R -/H /I ->> -endobj -246 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 697.0 398.68 687.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 247 0 R -/H /I ->> -endobj -248 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 686.0 208.69 676.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 249 0 R -/H /I ->> -endobj -250 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 120.0 675.0 189.14 665.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 251 0 R -/H /I ->> -endobj -252 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 664.0 209.82 654.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 253 0 R -/H /I ->> -endobj -254 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 653.0 181.78 643.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 255 0 R -/H /I ->> -endobj -256 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 642.0 212.6 632.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 257 0 R -/H /I ->> -endobj -258 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 631.0 259.81 621.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 259 0 R -/H /I ->> -endobj -260 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 620.0 164.56 610.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 261 0 R -/H /I ->> -endobj -262 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 609.0 229.83 599.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 263 0 R -/H /I ->> -endobj -264 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 598.0 233.15 588.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 265 0 R -/H /I ->> -endobj -266 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 587.0 226.77 577.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 267 0 R -/H /I ->> -endobj -268 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 144.0 576.0 208.14 566.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 269 0 R -/H /I ->> -endobj -270 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 120.0 565.0 142.77 555.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 271 0 R -/H /I ->> -endobj -272 0 obj -<< /Length 726 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GarnUa_oie&A@B[G]]$LeRgDR-:i[\&erluk^f$h'G2r)76,M*^=3orJdV[t]]Y^AbjZ&`9CL%sN2"8:o,*aP(Eh^k-nrCIAW\(-1b\b`a\^+,YJX:s3t:Hb*MY1WM``CcF9qgsr[,"8oh]?P`?"f7b4"JO'++i*c()"M9Xe&2d'@SZspI@s151\p$6mJ`H'sV)ou[_OOOjS5:cXJ-e>?WeR)X!OZLG[.YAT(=^G::sIotd8u3KH?5I>Ot?dh%H/#U+m9^-EM05Z%u[1'd@m8Fh_J/IZ#3uCo^qV%P='?J;I-ce)2n?Df"0]5)L>%)_!J!KLHRfW(iU&`$>$QefQE-RGgs[WPL6jFN^%mOWKr;'gKXg!o>VGLG7J/l_'91H4EF)E-L!L9$Vt=\I5XRD#jj9*0F-ouns[1p?IQ%ZYW,Ao6#rI-i^pKK\!ap\,G&Z3GfXn[\;KkGNDO1.srTF3.qt`_q=*mt^X>mN'P^(uOsiRuW-RnE.8`?f]S*p^\5kD&i~> -endstream -endobj -273 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 272 0 R ->> -endobj -274 0 obj -<< /Length 1558 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gasap>Ar7S'Roe[:]iOGPF.W6HPQijLBZ<6.#.P3Bi`RnAJ:=XQ_NKLbP'[\8X+LraE-:+o:87?)im22+6Jd]GHQW_'Lf/^cR-*.S2ch:IZ>.PA6V>6UVI8>q:`DEs)CIcP)=J7'Sdih,EcA,d!Y7;"gr>ed=BYOkCWlO.#\d+t)-OE,>*'Lk[AFop9kg"$[\2`5*T`;SnmjH5.591-iK>MK.meG[U4&H0Y;Q_n*uI)kbTre7=OFck>^!W1.F]X[+Tn=,L>mM2GUM4\TJOrkq1[G\MAs@1#K(RJuV!P?*YZ+,^NKp<<;0ecY!Gm7@k<"RMsF[#J>*XGdUlMHtKQUUV&W!][!PAe=\lhCq>h9-'NI]>h___TKf")gXGrVdlV)^IseAc&2ZCm`G+U&(]TD0Od%/S]U(6NKKL=0!B&=R8U4Kk:g*BaqKS&L8QO2EWSqd;V+ZNmm,DeBj.fK-(_iJVmBtX_bcBm,lr$muJD)Ff'9r06nB#0]Z-!4GBDJJjQmP_i#-1'3V0NN4t+%EYCf6Hqe87ig:S`:+/@2l>VAFK(K`Rn9]<%SJm-jgpW83$=mG"u09'>Pe-h9g4j74bG"d==o0s$9.3A0Te56@(O&/Cb\.WhV?Uc]8b20J6HdAF]oSd8r7?5jZqGCPa6k."QK#XLqogA\j#B,tmm3]f8ZYp)@cQb8QFMX"o,??bg55La\k#rjFB$HFg^p^LjrqtQlZ[r)I[#],0p=X:)hi>u$/U7`T^E**\]H#uh*OK4)B>E+JOT-4p_Zm5f#0[#Mo'N*N2`H@AhqfEF>:4BP)e(t>C: -endstream -endobj -275 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 274 0 R ->> -endobj -276 0 obj -<< /Length 1576 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gau0D95iQE&AJ$C#eA#JCPEPr>[W,[h$-ET=C;`9Qb!E*VB)@V30LpGJH#$nE--]msO7UZr9mY.%W!.O-nJ?r#9rc+9hV+`PERH$0*;\@&j>?;_6nlfpAWI]G`/S/(ue]9d'7%NBXNGJt6HR49Fj=6<@[[8[9,rNj/ic:QFlY=E2q=^-&)[Q0t+Y7gi+o`NK%e>hg*Zq<>r-3%pF-nZBU+P_O,&B@gUK5&6H,GI$N1)ULDU6MiE>kO/Bui)D@#85[_`+;5B4p`'In)I\jP7_FSUh!;FuP!oLD>10Z3!52rH?YUjJ$N=2a4X7M_?S:3jg^[WA(5@T.XJ7pf+#&l=sn$I9+>=L/n1o@*uJN.S\qs5cLF.UHK:W:"%HO-QEbb3FB&;8;ie]?=nMBHSq#?ZRm,Th`gbY`R&uEd\++?fG8X%EKS%XFfm"(1ee9,X&.b,E&,BWIqt8s1)35@oqDDl$Bn*TV@c.[qZSRHJN.g>5.jio_I:5KVY7+f@*G6W)Pe,0j9ol?'B:mOe1djeh`']TqeF0Jd.'cP/olr:26.Q@4:?n^ecN"6QC"t/a5Z6id/YCE_r?.&e1ph(_[!TKNRS@+Q''WTfNiKrCGElG%;E\A'8EmQ62PgDjA^`F%;&t9P,"fc_G[r!m?NuRM6cSk/!SaPUWs_(VE9X,DOlo.BLKih/qhSc);""r3.nTATDQ`6>.FD$#gm*Jk$s?%M:CiOdW4C]@=H[)GiL]DLD!`=ZVg1fW-SRulY>40q4AMEXVSlqIV4r9L>%c+_&i@h+!g;hQdn&l2pd(,gY#UOb^ibd:`D[^nKe-SmRN,$Oq7)W6/2^>,LU:i5!QPnP]2eUD.km;cHI=o6e`,"&1`HoT1m5PmHd:n5>0])HN^l3N$1gl&=4a>O*eqTt&CA-0R?jLfWF#.!4JR;+NoXt%1-(kE2uh[jl.Lj@T.LN17$(."@29mM#pVb][AWF@X6VI=L*ZojS1=oqb8AJ*h:G_L2[l%,".^ME"td;eTVkRWMB8ZA1=4iu/%#)Ga'De)'ijNd<8`,J@qV?]]:VA"n+!_73qPdOL^U567&CAad*"5gQlOm.@i'#+-7m+I9nlCYM`/MjfAjQ:lp8o$gbueTKBg@L$"0`g%tPO)#Bb;)43iTF;=$14=p4G<[#JLAsHe$T!&5ljqqcT^VeMmRJ\hrXN7FJtYU)#(R^MN$2])4O[4Egb![BU.5c1NWs*E*f?dTTHGS\1R*sk=6T6]4X8gVB*,prP="3<9dJpT.R]c~> -endstream -endobj -277 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 276 0 R ->> -endobj -278 0 obj -<< /Length 1831 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gau0D95iiK&AI=/(qq93Af896'j+kU72OSt$5>@DWI(;7Ysh'T*/a=Ihj4s)F6(\f(Q0VJ^_r:k_iODH^+A`E^W&(e,Mm7I\asFf4+HCl?[q2C4`fQc`*^`Sp$D.&5@6K!"B:GgO$ONpJ+gZ]4/[7*S2dWR:93YjRI[_;_NGYqgQ$0fEn\OYpJ`iXXoQQscn]O8,tb`RV]!1f-aZdnZK\eDg/%i+:r!8<>&9]qpU'4M\pn>8h_(Qo1B.cJ/EpPN&s/nJ?!fuuUV3+jG1t\D/;`?:S2G.d52D:\;LubA/n#.Ia`9:>6RAI2.2^qd#4JQ!Og<%-$&]VlK]R>=Q`T/%[07%lb,/8+!\!`e!9Fr4gYli$0.D6P8U1f%[;ME?Og5Zd$VOEYLopnY:e?L@r;8FBq$Rh2]iU7q/:u`73$;oJCFd,5Pg5&#,[=FmA7Q;KqU!RDl9,Ll)$4s_>2Z\TQJ-$iT_gIVC%]gq0l)j``9P`j>.3OCDTo_=%Dps\]4-)VAL-i+kuFL1;TVJBZXIJBa\MdW[)DQW!BI4X;iVZRdu;5M>PQo$gcKhR+(4mj*9k'r()]uCjj]F)FY%"'TZQ:Qd7HgUcn2hJMS;=1A'oQn"gY!Si26On5tHSQd5o&90mV7F@O9kA"64g\"ZH5Ls6b2c*gJ6,B@j*[o)69>om$@bgD<*M`,iXj'PA\Lh5Ahr4;*=p:"1CP,[iabYp&_pKK[PDlo;pr0X-g-u-jsF`s8-F\fg6N(f105>mJl<;;"1!phEBZgi*md5_lI5^)1_$NP3jEJG)TI*$l&*.sl5)P45%rRj4s1FAC/#C=Z'n7T$B9q,S\K?-UjZCOXI>$5G4dQ@/o=!sF?ZU9GM[:1).Gk#diC3:Ko^+fim_G4hcjf#XlRrG7FbM@_:9*3m+'aeZ!++kF#EC9nC0Fh]eXlnPsH%G/=PiQe^$=;*2IM6X<+RXD7Hg>rW9?*0\1kP"=3J9et0D+R9-As&@?2Mgbin*L6csiZCGr!c_pD;dE`62AA"2$>.?#VVD9g^=P:g1jj[rIO*SilqqAUDd-q+TVF)!gKTap>[-bS9)&XY![pbRu4afM69/a2FBnj"M3?4IY>\e.*3>:CU%/tRiCYBFI(;8dh',$D52!h$6kC-d<(RQBi;]?s.ej<:15_)gc`k&-Zj!N[%='bV0UcXakOAKcQ\NWa]3Ib8N+g&PL-s1,>!65Bg`_HrfJK:+m)Nb%Q3YoU?+$Bg1(V$-rh9iKl!C-61s`dI#_1coh!6iB$h1D&sm4l"Q&q!\9^,^_N/3dB4gW1AioI..7ni7^]!o0Wc!Q()O!^769%$DCq.Z-HDJd:SWVD6T]ag"GG9"AfcI:;*5b3DPQ/kP4"cJ:Z6[p]Gs\kJA@&]&+5t:EeO3(fCd@XGJ6:[hRf0]>"4FBr]3"s-:Oh>]Hki^00_a'j^he)da5*)Ym33>qab!X^9[DU7QFP;rDgjbI0@pi/hK, -endstream -endobj -279 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 278 0 R ->> -endobj -280 0 obj -<< /Length 1586 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gasaq9lK&O%)(h*(qm;qAi,h8:CM8WM]JI;=C?^8g)cJH8[N!N*F!6H*R'"?g9NNCfeFjT>4)Q_irq4("d2J0$D*Prn7.#F][.ajVDsAfk@_%mU+#B_E4%^89bNQo@.0M"+gc=fptgf=K&LSSnsWNY'^r5Z-qdDI@&c0R?YY[!]+qi<)lYQ7[s#t-BlaIDA?N$!q*p9!7;6_r$eVhjMYeFCkT+iPGO,(GEt=3Hunp4d\qh0,4KqD3s)(#m^^79hKpr>m8X%soS8tX:4"Q%K'FI_%&,OOC'5+,*">)=B0/AK?5"Y[LdG,H?5@%e:"$C&8ONA3Sb*k=](-`]AgR1,2&Y2"ToO.kZtl\?6jS@$/)hXe`*QC]]4_f<.HB3$s-6mbCVs(0:.TVkm#jCfjfr.o.Pe:gg\:D>-&eqXt9_8Y0+:j,2A+Hrtu8$;/Ur*X7SK/V1Q$sHB'+1<-LWA!#7e#Ad^d`Gel+as=P6=1O\Iu$G[Mu9g6%nul[obsMa5gW:XK$E<^1?KJp0]+0Bo)`XGg^[P\XUK>Ff.^JDWuS4_7(+lG[e'0]\.McYNhlel8orWSeJ,_U'%J>fpf=8aX-^##J7U+sr>(9BPmhG'I?nN^:*#"co"#ieFR.Z#0%F^;e=DehR':OTP>#QC[dkgsKMeNoM0:3NMd'(\uRS852^c.J'r14F.[sr3)1IiU^PNhq_4.eLtTX9)'Y=cqc9Ar@OE,%S@+<`IM]/M,n8H4Kr7r"9Qsu"'9O.ca;b&.T8d;>_jq\)_SE*$7QG'OeR9=A+/.aRi8_"Qa<=HpC)Zn4;J$Dq,ZOU()4X=cMj6f0.gn4Qm>u -endstream -endobj -281 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 280 0 R ->> -endobj -282 0 obj -<< /Length 1995 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gat%$968iG&AJ$CE,r3GP9>71<'*6"D3CdquaAuJg`!ddI1N)k:t2N(F^fqR?IT42,)FnaDmWubggGlO%>j1hD1j/&Va^6bc#&)@rlJ/Nf1oHfBm87EpU=nA*lj&O6qKU'rtU5M0D$g[_K,C*S[p?g[Y!]=^Bj0#A?6qP-r?D^M+,YV9<&e>3>4Q6$f<"p#(LK,FejrK,%I30/-e(O>NQ0V15sJt5ETdO>$DBep%#7A44@\W_tQ-mcnc2YNV'ZLZWemPU//\&)#RNB!VZ7WG.9;S_:H[4d%^MFa$K$A*aFIH\Z23E]li)U/1i)^\]dp=?m.AQfcnKf)t/&hZ`C8hiF3XsP^0R\@RJe.<:,:`qKPJ,k\3=Yoi_k-cSn7Gftl)d$8bU'JKPK*3[(12amZ$=[[*6AJu-Zgh%T"0"sXgB9BKb^T6bB9&BJV0&ZFd;Q90$6:BaKQ%mC&u.\8LL&Zbq&N5R^$'g9@/^P=_hnFq?FjCm\,p->\@7'fQ&RLjW.`#d>e5ZOG]N4'aGdId9oKeZ4CLXM]!'&MA"7@O,S$`4M-(84/bpPUpuJ6OW1[tJf$qbco-CE]9hoo\2JT$%e,Be;g[kt"a>FFn2eRc`-mBkgF]-Y_%]H,.f+d#`LcftsS03o<%_Tr3^hU61$%)>Y:%.\*'W`O-UjI7$7LOnL+\8TZSsWn.)Fbp5k0_(/`!gYC9IH6Ueajqbi)Z\]"YCGfrq4VcnAp&>BBeJXoS'l;2$JjjZ&sPOKFPK;oNLV6;p)m?A7,^S2Gi;&PXh:JhNJS;lIfG,iBf8^%(E>WaP4A/ZlOWW4!%IkH+/Ji,MuDegFIJ,],>Rmen`p2PrMtnhYJ*]VNY7N?gZd>+'CV^cbLO+]$>@'E1A"m_%#o(B_@KiFV9?P1C<)oro9S/U'Bh9""iY-rO6SlhU,/IN)Y'@$/4q+LB,FqVk["K&)T5#s1RVcEd5d&*+2VUD\ZBhlb(nR0nVp3-8mo]1!fm&I*9r\sJ[R+7Ub-fP1l4bpg`H4dTtt0D(N6)jQ_$4<^'(2;h5$%'oe]d3&=TOdNu8p-oCN-AHE9PD]XcsscNLqXrN"QIjioaW>-)%edthORU[>f`pl[2\h#)HhDE/akc3pq61RM=(n&\5(7STB>O`&kE#4n')ccT&#"SeBZ$$.W\ItbUjh#~> -endstream -endobj -283 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 282 0 R -/Annots 284 0 R ->> -endobj -284 0 obj -[ -285 0 R -287 0 R -288 0 R -290 0 R -292 0 R -294 0 R -295 0 R -] -endobj -285 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 505.14 668.561 540.12 658.561 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 286 0 R -/H /I ->> -endobj -287 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 120.0 657.561 132.22 647.561 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 286 0 R -/H /I ->> -endobj -288 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 191.92 596.122 298.56 586.122 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 289 0 R -/H /I ->> -endobj -290 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 161.11 484.244 231.35 474.244 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 291 0 R -/H /I ->> -endobj -292 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 526.45 407.919 549.78 397.919 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 293 0 R -/H /I ->> -endobj -294 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 120.0 396.919 139.45 386.919 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 293 0 R -/H /I ->> -endobj -295 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 314.494 374.919 352.814 364.919 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 296 0 R -/H /I ->> -endobj -297 0 obj -<< /Length 1193 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GatU39on$e&A@sB#e@$rV@5[Xa[%N[OqbSEF\cueZBk'eOMqYTmj9IZhb-P*88;^OG7.d!naLPnhTV)X\6HZDbT[/jN-js$V:t5AWd@@T\^Bsh[U-"N>K8WUkRX*sihhOX_@YQrKOHp>f0X;"Yj0D%uN$OG/XC2EqLqSrI5jr9[N.lG`ad=3UqTqdph'VI9W':1b&B[3sj%<\GQ\.*9q)ucRNg=VY^9Ld]UMUL9SS?u2=$k`h_J(806p@ESu:U#m9'\'\)(CTOsocUZB:7Y4&1fHB^X:B`<]K\[`&dTX=J^r_,fO-OpLNY<;U#1U5_g1OC_R]G]?clV3QC-&`2Nqo2GiXNTKVh):dfd?^##'flNn1ZI>Lqp.fN!*`pmfY&"k%BOP3s.:]bZ>"+hX]H.%<<%W4#p6SG):9eeHJ[ZePeb$#8,>0YRGC)NMeD1O6Ub<_1(tXB/`4KZ,'^r<5hB#Oq!^98JGpV&(]!*"[S0/U)$W2eIY$@-G.\)07uJ)L[&Bs15l711JJob84dFA*7&E2DbsAr2(OS6_ETg#-?(@=rOZ9Tf*osCJd,##-_*8R**:*1H4qm)Bk?sE^oB^MG#Z6#8QH`I?XV34sFt6^mYX#)H.3!b)MHV0@1D4I>(lU/pB,@o7E1YNn9YK%ac%>0r291Q%n`<&EYr@=V%CPb3-"n,8SQs$]A=W>=3ITc%PV'rsQ"+*Y'%JU%;p;`pQsj*0/$YDk<B*;$=c5k8]LGCr!~> -endstream -endobj -298 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 297 0 R ->> -endobj -299 0 obj -<< /Length 1682 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gat=,95iQE&AI=/#hXcH,[j*SeKPAX_<0,!U:sVfcn]/?Td?&"Op9V;pE_-.1Q(;*]?,a_*0TpQpJJY/?JI[B9m,Zlu?i^5!*0kPB8bqBD(!1Y*^2.0LdLt)C@HMH+hrga]8K-a;^Rf1RM`F?iNUjpGYK+MFK\oas:M@R[ai,1oX)'AhaJq*1jRmUeiXf!3RAl5`7jRH7\c\C>,kGRiYVMZ`3:Z!G(Ai<80%!BpVX5/FD!=qJ!ee9L'_r]^_]oZGdPl=#K]YH/5$)X3cX?X_NEL-`M:>-i+f+:D@.n>SQA%)?c0L>h\B/*WS=RZl%6,R6Of05:HNKdj+@0iWZTh5EKNB"s&YjB>dUIX6Z8/$G3lH+DH/XFmO43#B-`]ZB:EF^7PmqVFQXNPS-U/SsG)@hp`+HI9s@Yi)m7eY6Wn%71Z>P@d\3rg>L$eoQ3sRZ,BeZrC&KTph8\b@0>Mektu$j,URtYX]^Pm2>$R"k(^sJg/U0cFt/YKR3'2c71BW>=h&45U[A+%5DWDQg!q=(#fQg2q)HDpkDFh?CuneKP2Ud5tm83TZNt(S:i^Bd5WN:dMVg8$.A@4ks"[U!)-LK?q1l*rtst=B-pdbE?h-]M)g[n<"tpr&q-rRkOf:*\fntQGib*,Phpm.FU/-@QFd*'hN`e81'*#M_;i;/3ZTt,n`fgq^O(U+uGqc(I@i@D[V0P4>Ce(nm5C)*8<1[Hlp6tH\hP])#C0)c"?b`W.e)m%P=G:&5CXYbb7Xfo@2C-NO;&g&\b3&':Q+7CbrmWX#:&Tkne=*\te`Y%,p@P+'%BUAFpP6F=2n;:&=1@P7?Fg_2hcek"^I]rU5Nr#B#e.:m4V"2Feef876+fqg7Q!Y)+o$5+*,0=-`?ZL6OBd;.<7"Gh,,/M$^\sVqo,!3\T>[=LK68/Urq`F:+\bbfSo0VhIt>2;s&rb,k^T\tcAMe)8M]MLXr^1&'Gl7+gau;u>=)3s-#o"XC:S2<]6sB%Sj#htNVJ]M%K$%*YP%bZ4V26-)uU-bIM\m~> -endstream -endobj -300 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 299 0 R ->> -endobj -301 0 obj -<< /Length 1421 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gat%#>Ar7S'Roe[&GdRiD&ADbNSQ@_"^5:&Q,T8#]g^W"uGN(#]k=!#Mb0%Qg+<8I<\M(S#Q;1B\`s&YMJMu@dDu5=4OA-V9obSFP5DcG8uUsC?j2'PL$ZcSQQO@9/UfJS7F/>j)V'Ob2I^KF*.(E+S6OiV3!/N,SG.ACX]EVl.RHR39C2%qaD@tsJTe%WQH*LP&inB;pZ=b=L91hOWXI"1=Zo_5c^cnGjiF9"#^B5<%9pJWZ&qXe3M;LL_?%.$h7"b^l`Mk)EMa*u#nHV(L82K;M-!;Se_d>NB8/`TdfuSWf>KFkdr]PK%rmD7ln_bb1-t&]uFuc#&0F5($?i7ScG[GUm:\]u)U'^JlF`A-fLf#uedXQTAZljqBBWV5X9oM'#mT),C"RMSgEe50WXa4!tO21[ll7,Sp!(N[qqM#,Vk(";Dm"+lum)CEUW%ROG8BA$fqNPGLJ3AIb$am>L"^N^LDA$")F)$llJqm6r4/odne[rX;Jd1T,r>@W*2'ED/=^+O,fJQpBKkMC0#JqC>M8nNFR;T!6@HuFnTEljd6E1IDFkj\5ZGMTX)pSm'r#7n2__c'&&YSqOC1KpjG4aM$.%;!rg$N1_["'(^?j?Np86D2to/s4'fj.!2%Vl+tohF9<;r?@gTJ;)R^d?:%40E.;G"A6/RW6eu0#4gs;ocTU+a-,qoOs*kePqHg6Q^jWnG[PADDj#N%CO84@W^@KD7RDT@B!%2m/#dd\9[Q0eDoWk_(/eK28-TK0i$76Bck?Ef(H"jr>!+%8eY\6N9\D$I+kb&2*ZBKkAIf2]MOXk2/7eGXSuCOgb.Gb,Z/9S(Om'pdkBYqrmOkPhY6qS/-h)5U5Q9Gs"pB@*`;U!2pRh4oH.PACg-~> -endstream -endobj -302 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 301 0 R ->> -endobj -303 0 obj -<< /Length 1371 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gat%#bAQ>u']&X:KP[/$*h#kflH*Xg)5,e#n1G1X`hj`!AB?(<8HqW`]qd'E=0c:X&0N;QahrJnPPVSV/\_l;&<(S4:1lQ=cU`T2*si4\_?a'SO^NSC*cJ)_f"XB'"eS+tQYtu#;9m""EslT@3nLcc5&0Yl;Q0&8)o0$=Q=7CFOXZ=5-ZU.YC)WK-U=+5b;&ncE,+]j!t,IZI6-5E\GjKk>%qS.XP7H0+r(rAQC7%k*183M,?[.j(,g,1!4?Ek,fjMn4J-Vk26+>g"`u[B+3';#,R,F%c^[V]\_GdqjYhW^Y.DEL*tcYKHf8VEk*aDnP(?>KQ*FS=n1jDqY\Hro2Cs7*Z#,O@02g!%)^*a=@2_jiUkGE.1oJmZQ?+.`)U-\6qGa0ins8H+[]dt\I]0H!Ed=SbZnW(',WW^+V&ae+@^e3.(OadT)rSsIgHW1'GBh/c.ca[o%p28?[=Y,G(B3G/quSWY\M%<7OV8_dpWTD#SHMc8qH.'R%Q3=oaH#>O@4;WhfH([HIA`Gf.Lo&l`#X6"E"#-r(mX(jAb?p\M`QOVL&X'Cpq/kXW[s.0][2%G.o?^bmY!]^_'h9U;uPDNEr.((/3Bq+_Mlrj.(WN+F`=j@?!7dj/)DHg,3aOOWVmOIhi$G9[I\]j]H>5ThLmZA_:G8E)mO\]_-3[aSu;Q8SHo,_Q@*/`WV-ke#/]/b-VhMLcss,[KXC15mZ#js#-aFaMkn590]dXf?ZA+3t"8kI0Cm70001O\Ou&)]40Hp>47HQs*ZpJJ\oC*mV=`o3"ua=V!:\+[U!7QmjU);k_ojZ[?c>A!!ni/?A_auiPnIBQml,5tDmLYr<=iaI!0r=uu$qcH<\YT:?B1sGJMnsdsT<%^t07gMA?C=P2[8@#OeTZF(\rq@++:QJ$\M,V@XE\OM8&BqHk8oA/*HRo~> -endstream -endobj -304 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 303 0 R ->> -endobj -305 0 obj -<< /Length 1333 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GatU3997gc&AJ$CkU%6?[!_(Gm<1,h2FWKGD#k^cfKO7cg+-,5Q]gBOP5b3=+si6`);6oL?pP98^>XJ2T_rsj]6TI"K9:qZeUE7C_[JUtra?$F-&`E*,4)COB0EG5Wm(@:;bHM!M%gnGPmEL1u>d1dRp5B_J!-qOY/B]Z`gK,a"6-(5;68ho\6o.r9ZJ+a>?1jX$FtJQ9Wg.\k=lBUYgdAL'7@;q8h5SeP29j*&c8Z:j@r/(7Q=.Thgig$FS/gu/iIWW_JN0nYLE93qtnFcAX,*-l'$4!@K1KS4XW"Zjk#b-PAd!a9W[N9iACK7:2`#62fLm,l)?]S&KK"JM1X@$8pb^11:We;<5[sQ6#RbM,[>RoqX[@A5'RL.WC9*5`/,u["l"ZlS%:GUlZ!-=1kWjf.PEL+PY;D%&=)eaV=JeVBR$I:9s>DaMX87aeBV&"NZf>-"]9tXs2+oo4PYHOg#b*Mi6C2bHq7^.6q]2=6k_6+BX*E3sI\B3N[%@S,1?S+"S/E)mXA$BUs2%HmAa,+'XVI1QY1e],>P8&&3V*[5)?\=^1>+TFKT\i>EOYA^6+?4R+!Ki0;2=.qa;PgD\0msg"F(f2PT':3S"F+V&KE:f./*S[BY4;UPEh#>lk/Ua@&5bY:Ro~> -endstream -endobj -306 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 305 0 R -/Annots 307 0 R ->> -endobj -307 0 obj -[ -308 0 R -] -endobj -308 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 138.6 576.841 182.47 566.841 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 286 0 R -/H /I ->> -endobj -309 0 obj -<< /Length 1240 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GauHK997OU&AIm?6l]lAg,6,Uk5k4j@oi_O5ucjZEq$MT)j/i#O6s*#s,NX0nYDXl5XMDI2'-CB5(E0[o6N-:G/ZT1,Mu_,-bd'X@*dFhlsX@fO\ZOK]Z&1n10\S6Rk4`ajPe7\l+\S^GEg`mn'McQ:Ga#,g2n)b%-SO!W6qO5=&)23:"n'0l\6Fi=R4?<7kXhpTUBE&[UmB1R56ltBHLC[O^Nth48(<1um\n5X=f+7_S:hT1)H!*,gb#5DSQKcNF`>Na7c\Y#l#s>mAW_8GLEa?Y6M.LEOU"lq6g#9k:Kr7MhXE.gbuC;)i#7*I(s6#ju7A(^-M'C9p[Ecc?e,8/tT`h`,">fR?Q3qfq(13EqD\*mS-'-:;>TXa[)0Fl+46VdAJhRg`Yc`1:qJFSVLK]sV/^^noo/.?BaPq:'tITV]),U+W2WLX$3r!F0IBI-VL]V\^UIui`2l@N'H+n<9Cd?5GY-sc#=M0hG6t$/_7Bt(NSB5>>\`ag*Jk9e^a*k/+]i=E0[DT=9/SMZoe+EE4#oI$>_Qf;7k0\WiU;X[6F-=(trTe%_b\0*'9&QJ`"@mlR*n!*[I8[(ko6&\a3cAUQn/:N,WS-8fMWC+i]Im[OUc6;]LK>$u"OEr`Cio8'';bH5:YX]8D!i>=ihuf5%8'@$+QPE#SA$]Y&It(Y*(86k<^c[006l%b3GhE'p]p0%R_lh?\9&Eo];oq@:mJ*qB$ri\.JP3++.NmjtX-g2#8WT@LUU"qkq8[hN/]lLJiu?WTA9iT1-"3iVZjc\=!RB6-=aEXFd7#ho_*T4@o?kY[ND7BJlE_?aR5Z'EnA9US$]_Us%jj^Reoq-%OIOoh`^3N-Lr9=aQCPE1pZ$WiTjN"X#"PO[&pP`:fF\Z,?n$jR%?6m)(tI;H&>eC8L**#%N"2^kmqC]~> -endstream -endobj -310 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 309 0 R -/Annots 311 0 R ->> -endobj -311 0 obj -[ -312 0 R -314 0 R -] -endobj -312 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 218.85 516.542 326.63 506.542 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 313 0 R -/H /I ->> -endobj -314 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 240.51 386.943 348.29 376.943 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 313 0 R -/H /I ->> -endobj -315 0 obj -<< /Length 1695 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gau/YbAQ'(nF!Jf%Z0:<>4_]s_ZgF/!%D(SD1u;r,$7JgR0Z529@C+sI!g_)-"fbIQ4GipR@2lV5B`udMmLUQO^X[%1_uQ:e(C6pL'^)fYj@eqQo5='A$IihRICSom[H(VnnsJlAR8^\ru-f&6'TuXlAP07RlOZri`6&cm9i8-rH[ka,"G`5,Pu"cH_/EteqdL*;F8JlTfujX`>q`)?IAsejKr"PMRF:I!MZkOP3B0R15,^LQ'0qcRo=XcknJDd`'Q[fDLIU>j@Vi-uD&Gj-"%j0%WYQ`3GVo@i`%SkmZN2J_q+8P"-9"pl8aP>WY2f1^uDkh1EFGXV!:[*jYnP?.^L^^@ls8OqYYgN*aY+-OcBm`p5h&T3-T_tem1pT\o?5D/Rre;iI`5!#.Re1,SdWe/g:M*D@^aMU3^!)Ms@FW@lNp>e4cfBn`#RVFXs+Y\fdM/r*Ek=&[+hjVDVF4_aL:3=N?6I)s/GLU1W5IE]aTmFY#fE-\-Y.KrK-'8VTdm:eP(oiSimC%g@sT?7J/'UG=gLAP7Eoj,C,`[uQC8ok3)I)8?"UmPCRl%5BY?J<=OtT+,G\KsH<0R&ojfW?VMek9AL0mJI=\:d%R(&BS,;*X,?ttj$[^Lp$.B$8e/)\Z(#ca'8h,n1kpil7dcE!8gU=$KL`r5pMFBY&]<)(I*Wf\;jgTW,XIdnpQu(70ML.@5)ZjJ"IBmhB;af-^b%2Y/9@!B2e[lMo4?L6D,`!Y_&4*'HL!qkXr8_.o_Lb!XZHE1o=:R%@?/0-BU_gUrmQ)IMh;'".:rSF8^,"P!V9>7Sd/1oQNLHeh.l5(2#k]s'$sLDS=6(%;Z(kKs7O:%%g>"Z#l~> -endstream -endobj -316 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 315 0 R -/Annots 317 0 R ->> -endobj -317 0 obj -[ -318 0 R -] -endobj -318 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 385.406 679.14 412.066 669.14 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 319 0 R -/H /I ->> -endobj -320 0 obj -<< /Length 1396 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GatU395iQE&AJ$CBROlP\-tsB\*H\WbhHZ<NaN'Um:CUDba\:";:ZOFS`Idn3-9Aq/7C!9jQTJ`9E="`Hl)ns3:9W_R-9"A['ChVc)(VfcJIC%)u82,cVNp-B-f66_@C%5&F2/]J21Bu%CqANAoFNfSJ^\mnJO3C(cerOr!O-RdkTH(%:GH=D^!R@M@RZ$+?Afbq?94Dlf";4-.24mO;rk0$&\%lpj?dc\oobYW_ap#eM>L9PYQUijJ7rS7LKXb?#$@6c"Nk.0nElVgE`94X76a!Qr=H$00Nr&D:Ka1(Q/<-!#cC/Ra&F=AZj7h2>$m/u?HrLR*#u3Bba3cI9McQF`D;/AT-pX=QW\k!FYQeS1s-9O0>E;M=))XsMTs,Q8$giRe_!-/gVsf:\s90[.m3=]Huo,?&"aDt'*,6(neuJ&qa?W<,Xj.WD3MGlWUAtri_@Z=jtY$MbhMJ"IG45B-KtAEakHG7SKB15MQK%rq0L9LThE221c-/8SXkUlnRo_08.>[t8Zhh,lb&?R<$%CQR-3VSGq_5I%;YV4E,;ab$jWl$1N=Aqc;UdDiERE,fJRW39nJ$aJ3_CeYaIhHUEh0u:-BTs:VgM:'N&eb/p_2-QS0dZm7(n(Ro/=F4'U`t[EK+n6GqSuZIe&=De1/n4aM9XdjS4CSU0HV>Q+?)]NNM6D^Wph]_'N>)Q"oV%)PkEPoH%oMq!_.93kno#GRnR,tH7mATPj.;8:[V#M*i#BrDeG2PLJea@bPc[E1'Ga`h%BYnC1T*'%WmR4Zuc&V7aDsAlD=d"#VqTB4!^TOg@OccVm33fZgAi!F&S`2p55t9qcPp;U1imjgL.W^[(dSo9!d@+R76SSJiO`Z[ZR/f%q%;BngXH/$3XY$e<7\6rrF_ -endstream -endobj -321 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 320 0 R ->> -endobj -322 0 obj -<< /Length 1582 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gat%$hf#8L&:Vr4_*2*_]au!L+,4ZsPBsfg\@jLZ&04#c;n-.Yd,C)F#19F_%!FDS+'kkP>bJMd*^N1`)G[R;BD'ILt7B^S?kH8ZsHXpG>)hG/8&D!korpAC-&?dEQP]k67E7X2k\1_9?rF!b)3J\L93'OrEZos78Dc3A*c^7$2B#2njb!tQC>UcA+W0B%PbuSt!^6i9PTB=[h\QgV,T'XK7m*d`HU^Sq*ilr86/@Y/\l8tOI#FK`c&qZHPjEem)VT\'6.;:+,9*+mURa/Y^49&2@AAt]N,5VsAOr[D^:H8MT#0'kJZD3]P7]#A]-]+"\E"DIoD/OF3Lgl5t&][hjX$[!MZj6IEkYrS,H,1]u^s\#rpAS5i^<*FY%]A>IaL-E5W?mIhCr))'jIaQe$:+DImM^[#Fo<4H3$g>9FWFm]%kB*9fJb83,iBf_EVPN&8\=olH,FBT,Z_U_D\c[VWk@Va\dn;004R'+#Nl=jjLm17jq9@\1NPa0iuYGl?S$'iahl3c3!\iRCqGVVM-W![p[60>Q-sW^0\'KY#NO]:D[Dju#`W[+qfPVICo9S5G<<`/\..g6CgfNIaPniq]`:"45t4?q/0>%42#.$LBIoMJZ<`K0Z$fucKNk5V(H\j$YsBj@$ci^9(M!CSH!nC&d46bdHVJk.O4K\>EBiIC:gGk'V1>M!lo65N7OSMj:,]Cl9Z\bXd5*PIaEp5he5AondE-XA7f@Y__?ZF$]jI8m[)Vg;5,o*`WT)YL+(Z3iG.QbCBWN![>j"920n\j]uVlU5+Vcl;Ln"=g;:hIjOi@[_:Rg(`JW_07i8r"3ZI-b662*Fq0idm$8O`PA60<5Xq@^iNa+=1t5]b-a1Q^r@O4Z_kcmi&beKL -endstream -endobj -323 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 322 0 R ->> -endobj -324 0 obj -<< /Length 1021 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gau0B;/b/B&:WeD7(c>QlM2DI+g#uk[8#B3VFB2@n6j&YBH^eUBW8$2pK\C:4)G%@dY*:$cM>)acemEi$[No03YkOYX^Kt[etrZf`?/3tMFija!hL-CXm+B6TlnVM@eM8fMb%T(RD`7"m[&3^)NuArL5<.2iLc%TpmacESnW6lQ]Xg-*[^EZT)BDdpI5Ma7KV6V!Zl66f%^VH@nAqH2)X]>a$;bcl3UMti6i6GU5/M8`V#P;9e\K^Q.RR(0XKnRLCL"mb_A2MmB6VJ6>lmN1\Y78QVD5+NKfErQ*Tu-DPta&OD*ekD0D%p.TfApNnV1.(0254l/STO`g_F40/eXReJgg;PNS8B7nh<--*?q3ZFCZl<=?((?&?s<2Jc`Z1q?nW\`:O/EBI6(.eA('J;XqrgK%G=iu)PipV09K_jcC,QR[Y3EV6aDpPl4r]+q1cnjb.@DbdX^P$PngLr_<^D1P40fF75R,!+ApTo,\3N8t2toDB1*"UT=\iB_EmS6n(lTLQf'EL,u[.c\0]bMKnCIF!uYDBT9#pSV!`]7fKO6"s;\[%4;k=;Yh2^*),>9T2q_qksV7X@,d:7P:)ceqrb!]^e^JA(]0n/8I5f_f`#'Jbtno*PuAfbI*/-nIV*sc%^C+=8Q@-XhG=lCCqC.N4N$UAX(+L#grC'$`m9^,t_*h>%V,nhOj)l> -endstream -endobj -325 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 324 0 R -/Annots 326 0 R ->> -endobj -326 0 obj -[ -327 0 R -] -endobj -327 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 200.54 156.341 244.42 146.341 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 328 0 R -/H /I ->> -endobj -329 0 obj -<< /Length 1778 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gasa1bAQ>un=Hg[F)_7@MY3:(h*ZD@"^7RSU'>q"K*_V/.D!S=j+MOGk3rY"hh>3I,D9$,Y;J2k!7*!0DD3%'g%TAr2#HJq;KiDn4auOIBXp]SB_?bAP%VSb/$(u&HdG`+Y$Bc"5R%<8rO6n61]X^3Np`h%5clM6l0rQ4CA+]e*>M1ZBftK4<,\CkM[4Xm*]&l%9kul'>:c0]"pPm--KB+8`oY-R6i]5QN$=gOa$)m!GP3D@/Sdl?L^e\rD-H\nu\EB(MnZBIurBJ;gA^dI*4Vl:+SQr[KdW@,5",^PUX2.RDL^o#mo)ja5;(=eoIQbdsSq4&#u`\ZYZaD5oOIV/J9cZm%YHa0TdU.F\OG-LLdG"A*cVa`&p$%0's1Rn@^r^t)()Qb%ndM!A&O"=E7\;^AG<=.:1Sb;ucZ2DN))k))1_aIg:?Y[A1j3W$">,pM6u!n!>k58gC+H>E'LQ_\Drg3Q!WD9$^Ep4(Vm/$@fh.r\u[:3oU8\/TXn)g+!3Jo'YhHBo5tDN*[H/oUqb@`MoMP#-:%2i?rIE;Y:QPUL0aVP619!&ccVUb)@g!(l.D9n]-'RPeWJo*BiK5s59hc:%?TVg=M*PE&MMPnNM).j/=-J==eu0M!m)9^ogar^kP.\fKb3G-)gPPpWAHI37`KeSp?mj>*[lO%qO9d65F?P,$RXbA-IR!*05_7'/"o66s3Si/Y\[oC.!<")p33*-7JO%7Jj(6]s`PoW;_!/gHT*L7oOXa63#f0FDIH63Gi6dFdJsM4Nm13*+e]\`:=W[peo^2FLf$Eu1hhKXRjrQZk6RZ)3(MFobA"tVl$L`ti*Y+5kHWl%U_[XM]hR$\qH2T($FQ`5q?e=H]W7\,?<@)`A?_ZTt.,P'er-#c( -endstream -endobj -330 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 329 0 R -/Annots 331 0 R ->> -endobj -331 0 obj -[ -332 0 R -333 0 R -335 0 R -] -endobj -332 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 237.19 687.0 281.07 677.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 328 0 R -/H /I ->> -endobj -333 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 404.65 666.0 459.09 656.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 334 0 R -/H /I ->> -endobj -335 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 331.6 295.777 401.86 285.777 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 336 0 R -/H /I ->> -endobj -337 0 obj -<< /Length 1415 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GasIh95iQE&AJ$C#ek*`e;QqTH8M*Y]=S6PLBY9Z/^ApUBh,*Q3L#ab?0m(08>O1d,#p=)E/'nWHlVGCAo[d'44GRZZT0XCkHpnB$UeMIuC8mr]n"i-o>WIkjk&4'7G=q`>K927PCP@@No!M$['(cuTn]2k<9!V9kuja')oSk3]dF0GBOmTTA-1QZp38/QFu+9>$(f6=bP83!Z-[U(23XA+:NW&f+pE63cU4pIXS;m+gpFYV7=WVnR4pOJsdp4R:KnG9TTG6.IC6HK=hDa'7k%UIAWqaWm=D9f.XLKrrcf4($P[%D"rp[BN;&?:-RZACcMuPEm\j<*l,e0E^]kPAdY83[!B.MOTI_8etE1Nr*G"fME,=*%lQ"R*IV>:/2X?)ZeW*1>'pA+1jFH>2DM6LN#KqJlIlc#5/.cGd1*o`nU7&Te!ia97e&L[B@TFUpi5"`m=K6!N>:ig=*C@?"WouE]d%A,uGWDs5QTt-#VL:Bg!6-EG/U]L2?2M73u*I*Kb92gobNGqtf$2gX)h)L2(g)^pb_#o7Uua'RC3rn1=5,3s9mMXuG85qFN.+o*"AP1a/FNc''SDRpMg-J:\6Dn=4JG&O-Z+Z&[7Q"=LVH&(XZb0QAomBXs`q?a]4,X3WGll@$5I87'Tq+o+GO45;Z3Ac#"JH_TaQ>8@C\A&c>Ah[@qhiq?g(R!/db%#l8^lpfY%5P4*uj(L2M(_An;H@RI%/eZJ[n_cTK6M[K^#f(/4LJ/oX4Aj=$eEgCNV6lXp7U#86$0G`&jV0`R,[PCXG%394s%E:"2J26*tMW)';U/DPs17(:"qSVC99p:rn?#Q0iAUMt-^DDY(+:]r6^1koMUI[b<#"P0GBXoc9thcRHUAZ?Nn1dcZ.Z"eXW7k#:$a,@bEY1t)g5ME?&F][Zn=Nbk7"4Lhc3P^i$1Rj7uKt).^^^@)m9HJ*61q.R?hiD/BIog%#!>t%jdK#_jFC,l#5KH+gt,[@d)F*V3CL>6Y#=U1(_*JXqIRAg?1@?qh:9uPF3h_Q[oC@a?PnHhL5Y08^$rfEguR56cB"j0R;u2s9&T+D@^JQZM3>?^o$@rdrX,N]qiW3I\;hGGh43F'O)uI,8sOf;OKCLQbU0NOckpTsU\7@g3",Ge_bs_7QuO(*^Ii:*Zh(-R](W2Z~> -endstream -endobj -338 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 337 0 R -/Annots 339 0 R ->> -endobj -339 0 obj -[ -340 0 R -] -endobj -340 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 138.6 222.176 207.77 212.176 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 341 0 R -/H /I ->> -endobj -342 0 obj -<< /Length 895 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gat%b9lldX&;KZQ'tVq`-49T9-uBL>Zp"'2::W5F-q(M3&nh7me&g[cG;6st>lh3Y6"776HM$W_lZ@.B73N<&#c4RjK[pN_,5;g>BK$eZMA(QhHh;A^<1,Aacp\psDjL6PHX:R4XNdg:AuX*pca0)spZf:ImC"X\F`21OZ?Is7kSHk+6?oaGIhZ'_/6!_&WaS%*]CesF]5aThA)*aQ>IGF_ah4V?>1`XRC+L-sR*%VDYSWXGQKu]Jg!83sH9s>6rVG\e$dLhl#^0]DL5?$R$fE+2#kQ+?+QKQ4DE#.L)"P[0Rtkk[W!cOMn(VTCOT7k(%*nGKG?EWIhHu5_@0DtuA5l5G'7c%@PEBiM-J3*rET'[LLSTj*Ehbj!e)[ul3j9jmA>d=\!]\/.Da.^8],56?c&9:RZSL%E-cXaY@.pN.@W@0#%X,aq*8$`#=8n2jN&OB=PE*p0F>if2Pa#+"+FVFrl#kXX\-PC5L#rH,$+/eoA]45nW,s7h)rZ-.24;#'=[SaOehPQ!28U8XZPX4][,+ph -endstream -endobj -343 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 342 0 R ->> -endobj -344 0 obj -<< /Length 1837 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GatU4>Ar7S'RnB30`4fR;-B$mVqXQH[(ll^^eeNfW!\KLBUbJ9V%i;B)"uiWM3N6596Q4:5eqG/T$)=14S8ODc'sdA!rL&GXLC.f@X!G@^A>_T9Nl$J',3ooou#e\l=nSEgVmq@#:N`VjITL`H`RRrC\@MH@fd``#N?jFRt)*%PN@g]JdKb+HQ$MD8UQtlYmCHKX34&HSp=NZ7S3\UrtmJ_f<%ZelMtpX2-C^_Z1`uqN2jKB_NkBgp=g@F%hJ9A4Voh@k[B2rHAAMRN;%[LCSQIGF3[l:_].B/pr$)'Yd?p1)"#AI[,p6!l7o6):qtil^HsR(qc?gaXA_)3oBWe"qAKcAnR`)G'Qb)@/rfbWTKo2%h00EF3eKH*[;./U263Z+8U1L,jVK9V%3SE\&&?7L!aA)/4D^Sb0(amC#N/2u'>N3$G&h1&)YGE$1l;/9;7Rdotb9--"Ig^Gt@+S[R^i+F@kI,*D@=j)E`\sRfU=p5*.*To$qtimWauWl]Q&Z>DX(?Rsn!9/\0(6@sq96V//b?VYk-o9,XW\".Ha*O@"qr@48M4le1*s!q8I&q>X'#Po!"l#"n&!]$ddoWg&MNW?0CiR*nPX.N2t*`eV.\gpd*D?!2EgIs.am,V@tul,cfAFu;Ntd*RT7i%4b0qNJo)7KEcUi9b.I\>V`(pB_J%E#qG49>L."1$VHJsgcK=_jo"0Ie&I6ii4#DPp.V]Y^$"j8-[7e)WQ=EBotsJa_oOn7':@^M7YrpH%o1bck-(a6BjTQOHhNft#c\3K;F"jF@lbf=q1"N-5)!P/RLfo-T<2;7:jF2$Wf7+%*+Xd@Aj93:_^f=cG3)PO/`eWmKHrV^#S[6bfu+kOO#ePe]"Cl[BSeeJV=MBR0Gd\t:g_RD>#hA)tK:HA -endstream -endobj -345 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 344 0 R ->> -endobj -346 0 obj -<< /Length 2418 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gat$:?#Sa]niab)^caM?Z--2pA&.i+j+k(VI?dAVl^30p6CQ=4g7t4Gh)Vf4K(HOQ/\@3o^chrUR!<6Kn3j="`hJ5;3/eULu`PhUcImh_g4@X:,J+#"kGb9do3"A6")3l4)lEG!uPG70GSHOpEPrd8ONuh-hfL>DYkrb&H&*QF8=W*+Olu7mlp3.?jhmCV3;S9dWauG\#9F2LUeTmino+6qA@rc8TlNKJA1rr7A&n\3*BsN*/1iep9f6U]-i8/kd*iK!$A25g;B9Xeouklh[O10@c(>"V-%Ed*Znmd4Va4Tek\BL<=rY4l&r"0;.&jmk+/LF>ZdCJ<:=FXgelW<(Z*BNXlDZ!jF##?7=e[^:?H']_\4G/+B4i!gFm1r'"neiVHeB<%=EA&RQ20U\^HD*]b'&NVl"`MVY:V_hk`/8a9'\]TA9jVaHAe@I,BCUp)s;q>uad[4X*b#7RQiC2T$!3!3?'$mc':'1G^\%'->8#MN$bl5[pelNP#Yp+#eRFVFkT@uO`(B'GdQfc[N=ZUlQ!)=_S'%.dNn%cQt7+C(ER820<)%3nUUCO2bQ`*#_'eA#+4l7"AfO"qp,jN'1"%=F.L^b&EQkI#Q6c9P5E)+m+!`k:0pPmU9/\X2bCB5&?I0J.Z53j)DBLdP$ZqtoTT42>\dkWCCD.<4i(WYS^E*W#?La&^2&\4;5.iZYAja9]T=(6\_V``1g7$MVUWLTZQ>*jA;A>p_a*[*-dq#c"aRhJ$Sh?Y1?rfWd?B?qO-_4rEjBk-eH4ra;2uP6f!,gGlEQL?)[+%rP>h)f#GgIdcg27rqD7&.P:PRT@4>#A%`MKF(^Zh&[Y6@L&P16Jhe#/u!XkHkh+24@3&sX_`G;gN`a@@>]O)L)GX-6!om8l_i:]C?2gr?mjc)G/h]dtrtDGCHW1:^[h=H7im@D;f$:!Ij"pKu[[A_?_]!4o9@jl-\1Is0rO"6R8:7,Q[Vjf&C3[.)n=O/i(bpJI^&DNVuB1>t9$/>=Sl+5ndF5JSar(%Xf1+mJ[r$Y<3OP;A"f!PDlC`]bQB)PgF74F(`$-),#mqLM%I09)n55'IaRs+RJh(KTpH?P1pEkYn"(]"[q[2Vu)P/M(qpXs>;AP09'p6IfeV7VUr)JU&kY'ohsqM29HWqqBG7af@!rn?"+f69h](doX0'6EAEk\[eZj7\e"T@e)2UE'rCC'7FI+OpunL53>B38j@cQI/M&b70rEJm`iqVO$mC`8/!32enVq_PTf7+GA6;m=2Vitn$Z3K.G)A4P*u!'f6S^+k[P!9fh4mU5YuaUe#+IA)(dme_456m,[ptt(dKn#,/gEL.u@`]<_I$h>"b[ol5B1N?)D1$k9&1GGWi'@M\;:S3XMS\%SuqYH9"\XSO+4@9g7#,$;G)2#lEC81R_$"95c`#C*puEE?*@)^:sKhr.AXl@%R#h8M[@L]b5-]hu307bBd,Ue5'FKWd!`G0)+N2F!L#1o*k9`)rIG5#N>/g5S?^P$A$VI.t_`*~> -endstream -endobj -347 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 346 0 R ->> -endobj -348 0 obj -<< /Length 1287 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GauHK968iG&AII3E-.4)O^[7gLXR<59RZ+JP>9Y,PQOU1&n?eq#r8q:PQ0JC,ml>#;Jr&IGfBh:p4_<5+'7osPH,Yfi=M-m>G`(kgJ"j7_]SS=Jp]6D3Jmn+/U-'Lq>4E1IGnIp0LRY9baYeIP)E4;R49i%cee4'E5t-.K-bbX4^he&5t"O?n\Nao`_@!fm`gsHlX?i3^W<4Vqoh&n8gu7#[Xr6uWd;!o"k%;VjQ!p'*VEPKCM!ak/sia&R@I0?kNZ@aK[jPpm%0I*V".Vm*XgOJ;M]1P.e-n?\2fqWe?4L2+e_;d%6eOo:DXSJ<*US\:RS=_YogD_s6oCJ$mHq;dIpf3aLYI=jYK5qniI$E*J@kr@.h;`*R^:GIL<8Na^AI8/rQ3fQ)paH[i*Lg3tTZU0=!)XQDnC?l8Dioq3-*D*:c#<0:uuo5*s)6/aOtk(ISdp+5(J)8R`<6h(4i<%p3]GYkrbhO@0>k0n/Fd+a??S*\CAhulr"cW7)U]"7*KlBmqLZlG-MMT#]13j&Nh9Z'dbpSHTedK$4A(HqsAT>ar1kP6oQ2/eIo+T?9$_qtbiM$;'9WnNg1CSkj%AeMLpcK0]2m=G'Q6?(KcB`e66!^N,4U3\%(-3=%7-P9s:&Y=g"@?"VHmCL1frIdL3cgZi!Kpr#2s$A+J]#`mY#=JZG!r?(e3VkKo5>P%KT8kAW)LkHI2j)ieH2blkr1PB++7t`Tb?UI>:0Z76)_AA@]+K8X6X,q,md);oCuE`.rU25ZFY+Bpgr(l-T%Tca-nkZ_-SS(FRnVUh6QbeOYB*ViF!D:'0eH_\f^TM'Ur9BA:H;K$gir(qPQMpAj>5-K6'A\Vge_ggiGO~> -endstream -endobj -349 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 348 0 R ->> -endobj -350 0 obj -<< /Length 1932 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gat=,>Ar:F'RnB3Yk$41gFrhZSR/,KU37V.XZH?df`u=LM,fV)g:6B\ec3?kYQ;fn@dZW_YM@VrH5O:lC=3B^@lFg?YWiZB4';BnqXNb^Uq(h^@qR"G/$g(6n&1/W%@j&=b0s+=!S'IWEQR_*h0ItG?:+EgQtRq@gjJ\b!2dSOGkrP0L50nM?&8_>h\6jq+WH?/fCDjJNNsuc7k9[OMkG1#"N1)IM$9g#;E*_WT;UbbZN(@jN.i:h9V_@q(9du0`pbs;VHK%gX9f'J1^FSX`M=L#%QJqDQ10lAo/r*".XL`+e9d7eXSSE;OB9UktG_J2)gpn#jb'Ck64$61ua6,PqHE^t6piP]r,KM>WYklk^"LL+[m-o,CHpR&'o"4h\M=UhDP9m;^s&;Y-(@Sq1KSe.s3,XM2/l**M$^Jf#9eUTdFl!ugfJmaO"(fep]0A%(I\p0nQTnrh_J`(0qS:*>DcnU0;IflLjN(0lAW5mQC-1o99?p,p?'"0lBk[05"U@?Wq``F>dttiOb>%'."A&"G(l`l-C4Krb""QA(^?\MY\,!kb"#m/-3J*fJf[VDb1%<;Y#&rU'rX0r;gFU>-[1#Uke?tg3,U;X#KMZ3U7&pqn6#7:1D[aRdj&YZW`p$%!+QhLiJ\Qd2>#oV8h\JC;UCp/UV_R:ipKe%c*$/?Q34)l#Q<=>&:$3+Ee0mccDNK?*i[$G6l*WGZq88;*U="Wq]&$Rcr%3_DDGFKHCnTjHjB3g$bNS.CiWYojuJ%_OCWS.6ng5T.eJ+)^r:V'^LC#2^H#722$l(:=erB-oNbE+A)^YP^:^R&0rLlZ:A!G=%@U/gTk(MoSM3-@njYtcR(/AIHi97P.k)'Vs^!*E2S&F;Qch!#`_,E$Gn0:Wh$C@]&,8pCuW!@l23US@VB`3!/SfGlRC.+d(G6_;m[ENeChnQUkgKQ/\?8[^Wo'-)XH[X0HbKi>RBerQQo)H4:fuU.1;;``Ar]CDcR/)ibHKo+'Q78c^`2^LS;V#GBFKPKeG>684@*PdXW73gZLA(A@U%.+&`%W7!Nj:8a+jV;VLhfDUTN-7cSL8DhpW.MtCJT_E*#.1JRt2K(F[p,%:NJ1sbYaXlI??7DDd% -endstream -endobj -351 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 350 0 R ->> -endobj -352 0 obj -<< /Length 2292 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gat=-997gc&AIV:E;,N$A4)9LSk0hC%@TX[/S^r63!\03enem=Of7)PKDtV*6qSH@PW*7W"J"uj3V.5s<.je2HH+\Q?'d?-:okmB(_f`$]9!2u#S#n7gBD`/IN)Ni9b2rF($tmiH^^&&LN2rk/&@B!7"&5@-<$$9F$*OhcMHqXph/@!crHZYsa"?cn_e$bq4Cpp]Y!]\_MZELR[s&fMJaFi2-7M:.:p4sL@qO-[G?VpgjY7dA\"SR"-_?^7$XitK,tn(?h')bb!,N[Q-O\JQRQ3503e@ZDT(]:Zqs+T;ecouD$qY*h,"e.B%VZ-@_'5H!uU;Pt:S;pH!1'D7UAH\^gTn't*k:J&NLKcj=NT3kf*f:nXQgSV=!\<7`7O4gPU>.krMLV,L+Nm4\Sm?Mchq#cqPdRRfrejU>ljj^7r@j\-nGUekL#?#L`Y/M(#W$]9@KsSnjc5_L<\>$dKAu/C'DmC5gf-)I<0^b4EY"G65q5-3Hm]<$Sr!9ZJ;skP%^N@>8&7hdWWQ=gi^JD.Ba_0sGrjVoR$ub7?1UFX2MW+(J:HCc_^HW7dD/CCm0"VJ!V559A;I,nFk,=j-60+nCLs2G8\Cs<1lK0bH7?4d?t(]mBsS?Y+?a=&[JQHK$Y=>1_?Cs(U+Z7=N.&[5<*i8r.%Y7aKlYnX'DiAu-f,]ci!_lLqnt(k5OuMu)aXWgCkO]0>.'L#8@oBj61sQ4Y$0Uo?em9DDi2H5J95hj[&hT&)](ZCmTJms&[WOP].!b@sn%N5F5cVBQWi_E%UK!!PA`s?/W!0\d"o;*4:rg"@nl,m2lj1\,EK3]^K>aM55Z-tX?9huGo;I?KZh/KM)8!EhjJ*>*R<%1L]CFgqN'!5lT<<*LarAC$Ojb:p/`oAU`jti'WnY4t21/s6bYJ,u5A(VEj;qo\./;hfF@^S$$+q"aDJ.R_Od7t+7FiSA[&tHC90iMkqn[5ZR*7NaS0j<`f4sP`QYmY-5$o&B9-,R37p7F#Ap]4$ln%TD:IjeToV?G)':gV]67lS!2oE(9brqjaH>B';Z+UeL&Bqr__AZn(,38-21D;OT.rV-r1HDU(`H_A60rS_1bSEebKebQ\286HRZTVmd$s=?6,gsc&jk,JKR>Dn]U2c&3KfW0N;MBc=LjlUaa&l]ZX89f+jdR%O4E"9J#'P,%oo/Plq\R+WP#j(d5cB'd=e@"!]`AQfe-:g^dBESq?urri'(ipc`R_\VsNDQ!RNA'jba]:SA@K2N)4`YBQNM&h+mU23PE(tqY=rRtG-Q-F8Y\%:5>@MVZi3P0c^Y.aks-5Uf7XZtW[^dE$=MsgJ8^)tVq@'9^D_9oiql6AfGF;96J)55Q>#Fd@Y@r96qakWni*dB9W3Q8YEL6?ZX/tS_RG["isP>4,`Boa1!5(P%pp\^J)5R=oNFoZ4"2>SsY]uI7FX0;@a@X;SEJ -endstream -endobj -353 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 352 0 R -/Annots 354 0 R ->> -endobj -354 0 obj -[ -355 0 R -] -endobj -355 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 340.168 516.68 409.338 506.68 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 341 0 R -/H /I ->> -endobj -356 0 obj -<< /Length 1802 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GatlQbAQ>un=Hg;p6#PL(l?b#.=0W8)`.`ld)J<]FUtiJ>A@`s9@7a2UAnOlUr8Bift0Zb"Q0\Kn#-(tIeE1uB46=BfmJ2_bViP]/C8n*/As+q%5:DlfmGmYrFT'7VR`8R-UE*#o.+/s#Q9'4qdVPafo[YM7OJnF/@OW6DNrq[P`Ufm_d0OWooio';//X^RGoo7?_dgY`4S'o\LO*bhn.q-4$R^O&5E[S_95QH][XnT[8eh+.'i:9a8[>-.(0o+H!(@cX9h1L[JTol#VeWu7a5Pu+*btF?"Gqk$rOCFIBO6@&.%8trg7:n(Guh+.^bkJlP+3tmhgnu8Y'3e1\5Xc0,`qm9n85[UJ,nl9\QT_1#7+1,i_\2FLGD0_3GI)+8F@uV?PO!j@Coh<%PEH"*7u"6@S=rVBc7t8T)[#7+nEVr["Yna%do:_B5JpbMpQ=J(\-j>DTT>7]/0im'f%&lMH?DHj[<62aI.6IM\6FK_1H.lVs3%R[VkCQS%(N_"*ZfcXK3EDUeq)EJa4VlOBfnj^I$5GOCGsR+9E**pLU2hTsXL,?E$iP6NPPt!f1jK%M7i]ZG-(F.h.4l`X9*#l.GiIEAPfd?^5&YO6@B@qB/HsFc5Kaf4!n$e+mWuMWmtD/U^i>XQu"4VMBIQB'G+?+!.[NB+7ED):L%k.$0SQg79*P<1?qeX-;$c_(D_6]bD+mL4"Utd5`Qk2e%XGqEOW),ISaafFEFP]bp9kY3p:jNud!098c[^co(qGhoEd./8MB2LZd'TAAA>moYZoRKMiMVS]<"N.'ZDPY8Vj]4-EL+dSoO`m7i#2re%3W7?ia2II!94hkB;RtfZl/Qr5IP(6KVpdR*ZPpGcWoT;nUDF1Zh/[Sl"6'Z"CA3@I)=NG%^f_PJ$F09q5)$^!Rkf%bA$L/(hOq3^q=O6FSaF%>O8Kh_jl1@W.ohG$DjuLWFTXbY4F<9$N#]_kQ[GZ('Z26T"Fb#JKJH@t#%uSK-Y=,=]0A'#Tk"=+/W1.G#73+C9`X-k!/ZR7pQ7bZ>;*GnAEnUggO:N\VCt5DLQ=o(Nm";,Of%6I%J)XP76LL;sH\X.sRCC]$qB4?ulGO2M`Nl"tU_g[`p>/ZW^=8mgcZVAYT5eYqnIX0=h4'Q`T/ti"GBk<]X(2VO%iiia5?Wjeg2:R?-Qf5N/_%m>)m-*-4(k"H`WRKg99:-tQ*C[sj"u?^%S"rDRf,=Y!db`Q*e`c>9if"&,\!`3kC;Y,u0#9njlITaO=)08.*"$7e.1U*neDDFe-uo6lKhR($AO-mc@2(\SjU3d(G$"2cf,a@FgjGhV\1(P:G',W2gZ8HDG+r]nAT]8uq[`rc>HN-k7*3HAohs(r1u!0q91NpPhe]rbM9iFPG)ks%=5V3UYK5rp(_l;.9i9Ani,.>p@?GLoI`r<,KDlAI[jbn0u)Y7?gaX"`Hhu2c[e8O5$MCmEqO/7rrUPQL>l<6ALL58?QU#`2g`!lIUPg$Lf`03c3,;*J!JC0_(`p7j7G!K@aS`~> -endstream -endobj -357 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 356 0 R -/Annots 358 0 R ->> -endobj -358 0 obj -[ -359 0 R -] -endobj -359 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 240.6 477.24 309.77 467.24 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 341 0 R -/H /I ->> -endobj -360 0 obj -<< /Length 1377 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gau0D998*k%)1n+(jhYRk\@2S+53HUBfj-(:nX32RN=Sr-?7YB;Hoa[T\09N3g)'tEL`G+MHiQ>MpWW*tE7[!](,h8oV!u"MZU^g1mYq=fm::ES+tVJ!(?5+On-(G+7T*AO$+!$N:=^^C8*fNe&3lK$m1/qt0,T(R<]*5CC1*=@KV6Q?^UlnR8d#hD;#lMc53ef>bQ#&u=!;'8eJ$&na\@844%GiGHc>C$asmm8;C-;Hf+U>DXhR6q1P^OH#TcU<&"8HRk^W>o.c=S/c_JPPMR@V'tKpQ$bnq8pa@B=]mX=BtrZ"0o7@=8Um=n%HR?G-f(_T$t28&#.XjEQ>ClB(TS_=%$>5+)PWH>lIF)FI5KHf-QTIcFrmqVQOa^!Lk]>/Jn]MEWA3R5CpUS?`:Pb4N1%3rdj?N0Z-T")43^W=Mc77uo2pWLp1C^[=VfaYGe8F\$W!q;5PrWHhW%N^O.uCIlUM_ko([41,"[HC[/LBg2rAbC%$u-7mgC:"XaiMH0h&4?_rAiY=f<@hQK(6NVEc3./899QrJHo(.1tQi:4KPe!S_5Ko8G3eUKbJu?S+MnAZC`BfY$EHi3F/0.>rm<3!- -endstream -endobj -361 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 360 0 R ->> -endobj -362 0 obj -<< /Length 1722 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gat%$997gc&AIV:&:CGnG.8`q(L=D'Utm3qH737p&dJfI7GDQ&dA:BW]g_sJ7hTB2[\QXV$YRERk"3kFn!A5/O3GEmEh2=Sc?6R>fQ#l**?7J_$lD9mmjp9XbOj\=kGtreFM/nCLp:R4k)cdi7-=6h]>1O&Vn^<6j_DB<2k5B#:^@O\P`R(_)jJ>$;+f>1rn+D3TSS7'G*,Boi)A^qd2eIG5[46WYZ?@BU+h=BZcpCH+d0JdH+k&K,<'65q61YBm-iOs.#PBuWEf&%Me]2_D?5)od@e&l_RT8KYEHQ*gmEKe+Z!*.Zg<^+8rb*eoV23+6UYS$1@?J4&!,5V+X0c`3N[*g.T$g&(22CY7EI>_mUTR-"T;!4?0MJf,-"rEORf.:_nulp'6];Qdo=$uZLLX&lU+Ol/:$?g*]:Q)[VcQQ7<^o[0*#Ujl-6*,.:\jtoSUK!!C0UiqhYN/aS//,$c)"&ZUnQP@ef^Y`5[!!QT)b-9DZTcR-:oWN\Lb0[t.PD$3KT!^WW/=1.5R8*X).UB:?.K%b(gSAg&&htlQ`@,%>O:NoQX3_s,d([g&sk@a2e>On&5h'FgA8bJGRc.S%DjTY:W;;'6YD1]6c[A>o2+&Y*XkOYYaV+kj>A9m#>\Zn0*30f?F=D.L@#q*`iA!%P+/E]g*/5!E2[Vqa6cZ=##..NdBnG+_cHo.TZZ@^,OTbD'qjE5lbMO7s6pR8W0b8f:tKQQU6Ge@Q2HPXc8eaqE#5a(To%]h2F/]S/R^s-/XXkLk])QJGAZG_T4qpa=um-9L$;]VTsB&3)%6Z_Ql2qI)N>@C2TD4/Jgc485ASFIJipl9'RHX4O%jP=-6KaJb.F^rRHj[Q=KW@hal7Gt?B$-lc%OX^lha$&-qdkYSSh6VhV@\f+Y2DQg?=OR\jbl"r$l>aHRj#B92P\9O%U*"P>FGcl;j!&WpnJ'4%DD+K030MD\")n3e\T!mUH+QtYObU52KSD2$KCpI7+'7410l7U^:VS#)?c0Ktm4po+=R,+4[U)C1XDC@=&BSL6,m=)CcHA:t(?4%2MT67:4Y$O[Eke]=C9%GS<\EgrS+2ZL1X3Bka_p'RmOW<[N?KbFN`rGLn%kg@t/X[=O"l`ZD7?SbS[q7m[o1#;8b>.,Qib$lP5tu*p/C$`,bYV#Xf7_A%rM?(o=r_<5(sY(q,sfncr4CtJO^#ZL"AfW38:%,s]5l._'Ll0(P"rf7V#+$k4mXB"WS^>8TZ5SFHV2_m@fMO$%9Lo[KJhB81L+S\WjB:*g+]c3VJ;a"X\b1;qF,UR=bGZVol$GQ\@S44mE0>kYF\tfQI:B"0(8dWrktf7%O"q<,cOtZYYr?kh#26eIb>ZL!j`l!(OtX;E:#S&QF8RucaO.n(&c;50[a95QR[&rou*b)!=_!p%FTakM,()~> -endstream -endobj -363 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 362 0 R -/Annots 364 0 R ->> -endobj -364 0 obj -[ -365 0 R -] -endobj -365 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 154.932 500.661 209.372 490.661 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 334 0 R -/H /I ->> -endobj -366 0 obj -<< /Length 2066 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GasIi997gc&AIV:E-#\OaG/+>JaFMA+p$+ZJYE?hW-b1Kg*S:JNZR^/62u:%iaYNIb$nd1k7]iqIPVrRq-e^GmSg\(!tq]dqn$6Y\-l@=r.V1*)SnOl8=6U3Vq']!mpE9T`^rk@ebsq.t]e"3+tY_I47?q'CM=ku#6'HWWL/a]&$efsl/&VRn=RID-b!u7sZs/aedcUc1#d#]HrH[mhJ0n-at4goPDlVJ4Ronbi[Y`[\RjT9Ord,t5ISgU36jhY:`"2i$fT9kf<_&rejW%Ob-^t95O"_JC'>"D(DH@9Hd#kqb4F5>n?YYg_qV/>mX#I521rKU(q'["q#-Ph9L`F'\3ZA,e9U<"b)]4,V7-E!3`f5]Y1m3HfdI-#8^@(,%)cH9,AkQ7i2$7G@`fS15I0.V9JFh'brgf:9_8`^E#_g:G_<=gG\H]ok`Se27/p4kq$3]k_`;`/FXWlL1_/b1)Y;g"p5%uq1+9]:H./TFQ%A%&fpi27!i7>Xf>cb;1d5Cl[q56(=bcOWfour>K[r/]m=jA4Z2UdeO73b:SfKUAn2#n.8i`l'c^ALc+%ZZ`TRpFO_L5HZBSk6c[-qZfV8GHA#12NHXA_I#O:JJ_'At[4RtF,iU%mn0ri;N&h.b`,csR$qBsN1=bh$Nfm[[l)!^s0P[$nNO]2q_T>(WL9q`=Y>K6b,od%WdK?`_9);l&TF78neKb5J="LXCAj>X<,SoNBr2U)hK=Z#Lk-3*VuP$ic$[p8Qup^IpGa^ucpIqB:9U$8#4J898n31HZ\qX\*Kl?)$Q?"EE0F5%[im;0QDXX&78@<'C$+lH_^V<2c2Bf2S7Kdj_VYGjU0Li)^?FW;apl*4/*Xr,PK=RN9EieSCKtDn>ab>]-?K)8FQh3dL(IAh$@k7UBQ\D_;_8Uus+3[)At9S`cH?K1hJ@o4)m+m"HcJKu0g67AO773-1r_2ST#UTNW!C'Z6]?E;;DON:iI"o82VZCtgY"jh-o'Y/Y/be&+OZtKj@=GWk3I<=q2A647U1$u?d\(g)dE!+``^^>Pp^I8]p+kf)\Rp#I;1;p.4e"0(XAZq<-Bu9ZFZO.m$?(jWC79u@V(lqs!S=J'W?]Uf@PS_/K7DZifI^2:9U-[L[oOq;!fj,/hTbrP\l4M*aKUEAJE\W45c(d3GYb2o!Y5;7AHH@@GBYK`fSXecI013rCIQ,bC`C4l+c.F8UtX([Q8I&c*"\TUU_AcUcj9G\+=6i4,MQ&pYlebh65?l2)es.H05f7n9InG'-.c)dY<.?_*t>[7LBWN+Y-fr1O_MqocT>/n?n=EGKi$SC7P;><3^,f;hi*c_nj5O8>t%P]?bRbMOQ6e=F"EmV%E)iDXiSC&n5o:%-d&1fFX-./$;';[30rNk?_R,AP/^RqIlX2jYrTK"M]4g_o_]f_G@0I4ZSWd28IAJifFFS)ZISsBcas^'Dd&%hJs9+>U[T^GD7cg&%5?-2o1tYu,kfN[ouB?Xh:>,kPXbmlqB,5&O!=~> -endstream -endobj -367 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 366 0 R ->> -endobj -368 0 obj -<< /Length 1408 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gat=+9lK&M&A@sB#^^8`A/U5g/8:"`]#?;K*XWVSXkNq0;76HsoTJhn6.,_HPXoL:KoXV-(VULEK5ZL^n]0JJrc8i$0oD`3Z\bHp-Ac4'T0ru,K\J(JBbp*IkjP!5oLdS=X4ui$c;R\12cMOCn-AgNI6;JRVjou&6ri6bl8oP6;KRH]dBhD\NqI_gn`bYcRT8,KI)E>c2E-5/n^-t7&65Iu$rjS=+BcVCqqL>,B_VCmN@^LN@!sn9aNTFfr/D;3BIWf.V[UKS/a#c`3mq1o/7n5X+L$O%'Y2S+j8/O%Ya#jg)sjH`d>@i?[`&gFm-q>1N%$$e(Wc1X5fbKBVI!>Ri>*iu?P;5F6F#c_g79O`Fmr_hWMep3_@PTjkQ>4nY7-I^qm#\Zlae0uCKOih@>_)It2;7p,a!b=3+VPe[]]^/=K3%8g8:u;nr<2r"/nXbDl>g@c)\PI'B%"h`b#FJnh!FerXU'^-:!;aondR,K[j18NX@?XmH/W=B\.usC4Yau2k6>IDg;j=$gKmNMT.?d(7UauVLS[!H0H^AK$gtf%MM%^7"*9WJ,-5nI_8E^*3[":(h)i!YOFV0X%%)k'J]Y1`*.884'KW*Gl=E7q\`a(,eL!\e&;^;sY\&qDacs(N9M(P!`eTl];K_eiVrf=<,aiuYQn!;gs3g)-!Vl-[ct'YlBq1r8mduuL.X_OOp\4O:._r3@3]*.g>K9%iUs)[j0rgUdW9ZBF:Vt\@*0o3!@?.IkhdRN0COql-&=:]9IokA@+XWG1`M"oeA.9Jeo()0N_o'lYT=&&c:Vph^_r:/T>(Z&.CfS4X)qbu4-Xl`I&5\a%S/$ijY9k+,`Z&'&-^(,2\s#R(A%-EY!4ShjBhul0A,"M06XeZ9%a$&)IAH]Ec]DnRQ;`9c=F7'LZX0@@66#%0Ft24Ailg6L+LF^9okt'kX`-q*f</W\Duh`Nm12%W7h*Zq7$f11plieB1ApeM&Z/47rOdQB'_V.!t.3FVPa8Y^*`_&:50(GT[Xk"-!:!Rf`J2@~> -endstream -endobj -369 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 368 0 R ->> -endobj -370 0 obj -<< /Length 3038 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gat%&D/\IE&cSA/@I0=kJV;F_jJMm[=59KNTIl%u/W0.nTP`C`,E"b!X>`<7^R*@W3CBngB9=ip*g+@.iK0S'oA0#_it(Au$q.=EhVAV:rRSZK:anU"PcZL4UG)Dr[c\C&>q=fI1Z4AIs*PjJ69$(q/h?+p).=a+VaReGU9gTE!kr=tlIQ'P@.2mW.6ogH'eg/Q'C,O4I2o,f@*bEeiCSfB"'5pDK.cFWBaQ#Yt#Oaks3;TFOklJ-$YNDGulocRdo[LXErR!/Q[4&)E-0JdH[Ko\%;p9h>]U9_1baPM&7!JS"gW&lA"t@,6fe5.U-XlfAEp\h0`;7h2]LbWN@mG@),p@=o4l=`5`scDP($Pj(0C^0_GhqmHWcDU4MQ1"-`BCJV%K^5&fmdfUQAeV_86][WJ7ed@k8&nfS3)[#,Osplgcn!sH$PFXAA]$MG#U5e"5aXC&_>RBL3W_*=?rCSrp,-+C#Gg#k:11C8*^YfLn@q\IWhaGQh_nVKT\LQ1$^-?po`qP>j7L\\nGnR=pGC:(]G7:F2)(`uO;pL?AN"&:2;Q,a2PQENJ,*a)DZ(Yon(Yui?0YH$/T]f-q.Kb;YO_*4`ai>?1FHD::6Dp)DmO[a09f>GlL55R"h?]cs")ftk)Mt(LhN%]S=a4Rr,S4W.[?1UjZ7O!mLJ'=V6rVeKaR)^Clb6q_6QWC\W1IgniCV@FUC>1mqLXC3#-.BS[)7\l;UDD+dV#nC/HH9>^I#L"0\idS2_1O7Jo?_XtEe;MIleSWnHLGZAfJ1Y6DMaAjRil9(:hdD*)n4\M5%poRe]Tn>XeS[I"p^pXT:qM53r$[@'S)1Q;\&X0LqtTAWOUGUa)^7&H_;8O"PKQS">se%VF=ofB]a8X_VGNqiij%jl]]eP#X_;@I8S957X+4>Ki:mRk#K^2$s';L]>[6AVm)YgaagXn#UPCar%r%6Bgj;sGc3`>Xo,d]RE=+T54(F%oJW@a%9pQ*k@80p)D,Y)*FN9Vg`aY>P5!qr>=3UUu-up-K`F,'?=3J@9AlWeU'QWKMZnQJ2Z;7;[?UI\a5n#@M`KkAjg8qj!U;--O#]+`?$>`HA2\0gH>CbO/c>,GJ%@hphFYi9&iSnjp^ES3luAhT0a*NNjahMf?$=(EM$@r?.lRn96FYd0O46\VOuAb3Him1+AB-%@k_`OmiYt(5nj,-J/#[CkRT3R2Q'i2-V9'4EUemcH9'rW:m[DD6;*V.AThAO1.ni>hQhKg*G8C:9X\m2CA179Ta+`Y/m4K\(9;8b__.'SrSIS?Z"\qhY\6',p>;&=9-ZNKuiXEJaL&88m@WaMV>P93<3q'Nt8LIY^P7n@#mIdp2OjNCZS-%3lQF!.rn*-M[$3qb[]3m$jXaJkhSF.)"$='rfi5uJ=L^"MMWpU$rE-Qqf\@kQE]F'/8l!)0?f!6hBKD:c2X"?R72;A%@QfaS460Z@W4+)patUn2U?O%\>k-ZbR%k`R,<<(K>6l34[V^'7#\s9kTEZ57/QBi+BP1T7;/\qkDHTp;>k3?J$t3PdRD[T:hD/'^E[\Vnq^_([7%+aIbYNueAMW-'Uu4@q00IG30RrXOiQ,4NnUZ4*77qqclTP?Cb#mH6Ur']=.XDo*^%>"i(Nb0c:,j=gu2Q/,N6=B#A,(58'Tea[=iXlBWIIIV%oiSTA#,OkZh]8b-sS>A;OdJKYJ12n\uS6j(9N.WG7O4aj\A`sRF#",Lfbq0=mt6s/Rqnod)65A..PH7V[i^R!8dLYIL_"KSuJL]C1JdgHGSnC\+4gOK9_:J3C&$V28h?.&b*!@8`8<&qfJU]B]9KlO1t!5cE%c+>K#aBd^036Q)\k^/o:Q_*o1qh!];A-ZLT#=.Sa5\p)4D2gQXj4M+=ihVrPl$ucT/8GR,/P]0!(U1t:HWOtL/(ksYdg'_.p9KfU$uHIW@o35nqHDSVJhjgD/]I%Jn[:/Mhkr;ma4C,rBXs3MEJdbbZ+>.Nj[l]NUsa3S\/=A?Yt0N74=H&b4ud!I/eTc$iC5 -endstream -endobj -371 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 370 0 R ->> -endobj -372 0 obj -<< /Length 1130 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gau0C9on!^&A@ZcU0J&"*THO@C+h)[V=mrH>>nN&$q(O2c%ft4m=2<,6=R`b/ZTVQf[t+ShRp,6O0c[`.<(@RShjR[4D-fBNi.?I6/5P*_S[LX1YXtJL=>B>O4,j(7UpZ'I,J>ECZpfA@lFfp2]R5c3T$C\QSSmg@.7;$O^s@ul1a>Glj"("kB'm,`D3;RE9O`;rL_/Kai=qqB?n*M7eW;f=e8W)S8(tkoV^'R;,5pQ8.\%^0lpD!fFH.4@.Eq&0EMs%+p)5/V?@`_qZmH.*cqunH)b`]r,18MQ<>]nEsu=R`A%D.c/Z-UKgu.eUNGfE/A.g"?Z'm%.H\3P&N#.X*4hMiq'c,;/:4_^t,(Zf@hG2llW[qg8C-=[jC>gZ)Bk.9J4r.'%]/VN&a^XPn@hF"E@hc -endstream -endobj -373 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 372 0 R ->> -endobj -374 0 obj -<< /Length 2043 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GatU4968iG&AJ$CE-/?JZ"ZD?=54jcR:_oEg:ujO_"hPn$(Q/g]0)0=(p$f]b_S?\p7-(kTleSIiR_Gb?pbND48*:OMi@k]$O$<7!c1:SZqrB>X`sC*u:8LD?k6XQGp?eQURXTP2orR?TY2sK[5I8]6GZ`fRDr8d)b@\2qIFNumhT)3m72@7cEQ2f1.B?&,`t;GPaOt2D8X*e8OjA[(]D7YW]]ID,GGD!F9Tks>1b/DWdd\o4>T$-Y5:qa:pMQS1C"0N.1tAqD(=*Y"5;dXu`O9@T4`@5o$[^'YjqC!prc1XK^F]J#0l1RIC_Ar1!=*sUL*%/H-Ur4ui1_W60-s(i;ldA;BLBbfTQXeRS]LIn;D_5++d5ohkDe7IBrVa<>>rN4D-m7Oh)K@9fgYJ8DXH$<:hcGe!-UEJIfh7inc%+,>SJ:>A=0Rj-/'RlMo1NAad%:fPd3/!uCOYJEDN=AJC4E2XSi>^2]nIR?J#J%9*`90Ucho;3M:i*R.j=3G:**`U*RO+SG#G-GCt=t2cfGqlK(UO$CidqJO-D`6QkRUomuM>7SU#R8P*Q,@9DMCQ??h!:^3f_\P-"&<2Zje5m;d``I!r5]U=t`-HQBdIaMTL)]87oWk*SpNr;e^ZAFfj"X?fEK`3_pcU]6,gZPt#A**R%WQ!1l_Le'U)Dk)!pDLs_5,cVt+0J7XchXSi2R3b$d4H@GRnSkRIl7FhPYpJ3;iQ-_'S1s_1!2S;,8[!>3He;=n^1eIgID*Tcb6*_J^$66pM*IG&(I3lL'@!tjq]I286N`G'0a0)R)e(#bM/'S/:mA/k2Dd=s`hu>[&4YHlOR(Ee^VkL$Acu@4sAf[69Z&o,kD;*8$PM8AEqLRml+!.'al'tLj'dkLDA3B4/GtG7s&VjP+KV:R@%or),83E@kTLId(f4)&4O%,6+18[Vg,YsAB6&uiZo_Da06u)J\Krh5aHKY?c8eX)0>aou@D7sQWcIOaT1n[WB&?%2Mt%R$9l--N,`%rEGcNB8?*<5O9SeqUeVQ!^0;&P9tl6PQQ-i@9BP;K;3NgrH#>Il&)ukr`e<;$/Uh8JA^1TqY1`IgM3`f]3bF.U$_H(=L8GI[9GNDJ*"ut0kiK8HKue+#5u2mplbt4S:(<=dAiqaZJKKL_?+nj@+>d3s#Lj5_fBD-C'IOh7sUNc;[cLb:&5\GpRk.h+QQ\77eA0GrpI6;kL\=b`D<2?b<$to!A>Lop]\>FnFsW@Dd)]JCmgD[)/:"(2&/AlbuVh*Ta8un`iVn)fA[7t(sqXH\U.MXMeic*L(^t(gs?TW]?pa($6-p<32]fH5m?PcdNi7g,:Z^+[P7.qm@*6;"#^%1HLX*4s73hn6mB-WOWaU:dSonRinXP"ZJQFi]aF$FjE1A9`N<#:GET53J,KU2T@'?%%a~> -endstream -endobj -375 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 374 0 R ->> -endobj -376 0 obj -<< /Length 1996 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GatU4h/D%+&:`#5@J$BFO>%=?@4>mpXD83N5Tb_!gVZ,VZ:%o3,uGEA]%O=fI4'K"Ub(7;L*-]h7,Aa%]AN/'lK[ec[.$6>/QUUVDm?qF(EWMM$Qfo'35I$4(TV0"1WVu'bF6Ln_qeblk]Uc!glZoHKni.$0gIYD)[r`lNg:480$dH?cHInT*r*iaBr=>e`D"eg\o0LNV5fqp)L[$nW$knr]Bb.pAY.TP?_$Sgs_rnJ(mFq-u/\@'`%h^C0\_"qURfclb",Y!WO@O^duWQ?dQ'lD!&d0Vn/BSf&/P3Y;]gK/f!C@EV?P//6KmlK/1%i)!W]"6$7DE,V6%2ndgFihG1dmDO$/EJ;r-Z^[q"AEkfqIFf/-STq[-["3Rg_i]28O"Uu;I.d$Hse;Pn>_9#o*3PU8^LqH-DqQAop+8.4N#O(i_)?2kcBpaPZA$u6,q'e$d:'Y:@Dfb#kOt1\3hnQ"[q0jjbke*926uf0D*#TEE_\DlOC1"tkrR>EgjHbRHWBl?g$hjH0_V5!Xk2I:0j'-OH_Z!'=b>ZFiI=ET0dX3]7JbDoBrG%GY2-<=])653]F3*()#G^_TDQKjq"0."R@IECF(I5hUc]G1)8UqH"o<;5'/=so`(7i"3cBK);JK;Y\9I<"SkXkGQU)lsl5sC#0C%"=ailq''TQka]l^;qWA2F>fIFCXJmWafnC;@r@e.UaXiAc!^M/mPrTJ&Arp'#T,6_8^_>b9T]P6ONrg!V]@13ai?"P?Rg5CYEki/c_0W+J*@$9fHSZ*.AS'>,"pjEq`((;m7=FeG.5e@(5J%J1QT4KHf&?Fnsg"sLkc<=Q]!V.8.uo\OJ,O)J\RB![Fq#+eQFLJT;70^>*^%d\5TLB8&,?&k*lLaEh(`!Z]l1-(_Yah)"%Ve)[8N$F;R']=J^R%U^rFrj`oGLSb3GDp1u.f6\\X7?%0*_%M%?Tp.FIdZ*H9sA8>._E@bC&hujoi[LAm?4kA5Dk8G6#02haR0HeW@@*%c.Xfn:+VG1V[S@!T3%5?PjH5jY3fJrV!0q[CP2l,,groU1p9@?n3'_@9'+gRB^B<#5#gmm"cm'nKhq9Xd74dq_tb_ZGApXJ.qs&5[eoCGVX4.=WA6$1R1-YppX$4&$("cH(^@o@-4hI(_(L,kL%!S812=_lpIR\bNa)Z[$Csk\4MiM+]Cf!M&n)e?;mL%==QQ@G^a<]?42#& -endstream -endobj -377 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 376 0 R ->> -endobj -378 0 obj -<< /Length 1051 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gb!kr9lJ`N&A@ZcXIP*2%,NY@2[tn,k/'SLdrq\V<`->W)I0ULlZcRuos^c1dNs21]-_jc%Y7jupbJ\Vi&lH&:*"?%W[&;(P_7K`iJY9HjZ8#a`ONTW'^bG^YK037C5PXi(0ft4N4(V@nc[2`P$9P6+6eV2h/4hF?e#9uK2@i_n*:rbN&/S3e6$pl)8#tl&_@<=Gt?8e".$&#+3guM%-:59WHqVjWM!_*;\c*L(Ofo5/o5j0&+Fut^@kb6eZ"++gXis^m1[g$$7>[J5PMQ8Q`$4D4SFO20]%l8^4ZUGtTgEdSg4CAo=6gErDt'XHuiep-ZVPrN%>'<`r;^gUL5YFI8WJ=rks>"?!bfb`eW9e8L5mGGqE_P51("'JCL5Q9FiX)3CT8Qa"[T_agSS]V-r\@*kO3[(f8WHB\hm[@C:].#+YGX.2"_lsWVO1=6B4.J.i3oCYnmD#TMf&23bUq_&5m5k~> -endstream -endobj -379 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 378 0 R ->> -endobj -380 0 obj -<< /Length 962 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gau0Ba_oie&A@rkGU_QmTg_j)7A/lg5]c.kJ8]R=0G\4-dGfs];ZD0Ec(Yn$.LHi>4g9oH*]U;6nE^YdKI\GE0LQms;t+QC7lT?6Aj5j?&-5n&P8ZK(P+/.8-A@WAAa!*C@Vtba(M=,dN@^+4N-u5YGhY21d`T6U[0g=]Z+24^EJT6>g+JoU.[gqd0\V3K6^9LN[8HmN(nKoUt*P3=BOQk=uY!ASN'7V-`sEF*@p]K/b7lu)d#0"[Ul>CcTnLP]=BP4YO9KM'C;^bQ[RI4AC'^JQjH',3N@#.t_K_E!)=Cg_r!>-IgD!g7o;hV@SYESb/fj@Z\(;qR+#*lrXR$PiL6na'ap_+3'^&pP3+@lR][?:60&Kd\I`0=$TgUmbTi^(t7\MOi?,[X%)E>TfVJagQ=+N/g9.;E5Z^=T1VL!PJV>4q_Ae@Yq$lGBm`uYkm#P15#R2r:9$`-7U6&(!E;DtbKC;/BKP[i@5hPs./NN]geZdu"0Zf@chaGs#HgA\NFUut1W"G<5&)7A8YVeksfZd\AY^\m5=D]ST>CN6u_J)@E#RP3:TMq(=Z!l&'r`rueRU=IT?h=c^HF$""g[6'$,2q6EtPK<)mb+kCh^j_u>2tI[ne[#kaD/qu?9Rd'por)C~> -endstream -endobj -381 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 380 0 R ->> -endobj -382 0 obj -<< /Length 1306 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gatm;95iQE&AJ$Cki`!UbGQD>VM>6-6Z3-U>;$%]VJY`nPUk-QqX7'KPXsJ:jBWH#'$XsYTB7(j?T+sG?aC#(!2IeI"f()b7F:t*#iSgP5R\8>D9D(Gp#2Wc/M$K*4iX`)kP@1lceET=:SQ]04@FZhRr;C-EIn4rrjC+>=uFTrH_I7`i[F(VCm7.CWulaM,Qe@2@S/mZ,7%D)R/'a?kcjotqQfWBqh2X+lFc&ndT)#`_ecF@1V?:PrEpX0JRJ+2Qoqm]oLXB-IWgbmAt`ON$:o>9YJ&m8]b1Z[gm8gle](d1eVb/[p$(_d?BP7o@CQE(K%'l"agCQ)g9Crbn7fUeO'bJ3&qJGShM3(BRt;q(@$(%ASo\3PUC/"Y17`=&@R(-D8G,mZ/+t;AAmO-BP>G$6mSWR]+[.m]dYN4q[:`@emPuqFdl:4)7WXh&:ZMD_/\A.$(7p3e-OaPL*F>3hL=imr9#Z_O(>042?LtJU@`V$ALV]ch#4O;ncZrA:YGr/(1l26,nGe+3G@9$&\M[Dom$"q;\4Z+=&OMsB#%E8'B\UH-hY5rDplN>1iiC"eQAb6qN.E5trtXDJ31Ws*RVP.RmcSE36WFMcT:DXSWq.F[,[k9mP9A-k9\]6N(,'_.k+Nb_N)E"Vi[m6$[LnLR&5Q*ed]SEm/[]pX"n0_t/*[f"o7h9p-(Jq9FYiQ%_)!)4VqXo3?,oueidU7:4nhHd+Knakn`IdT&?snuN*8cs?T`]1'1*[d0>+e#YW18<`ZU#8*Gf"=\sDWkpni"&!);\%Cn$DNh/)i6rmHQAj<;JbkEY&;),nL+RTA=,rER8NQJc]pRWN=^;WHHkeF0b5b\<<)Gj=A'@@Oe8dl&O92=:0JV4Dt&?k=&>F>N0DnphO9CEgn02$uFNIA&j+4\[W/(1D>I[YoEDQ2"K(J@:Y\6%9?drB%gEX2Vfu@2d:p6=WNJuHCQS!;@`d.Wnfl`f?:fm)$L.TQ8_^0)irKmS@L%6!%$ud32obf=dHWrG8`X[a!8C!qPpGS>LSl!TruP;`jYnbHs*$K;&U;Mh(ZaZ1^:sIdc4Wc:ii7)1-G5WTB.o,+N=!,V'SDe9kJ"[OF6%terSrk2)D2TYS5"&\LR,qFY\S -endstream -endobj -383 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 382 0 R ->> -endobj -384 0 obj -<< /Length 1368 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gau0C95iiK&AJ$CW2D\,="ER<6S8DNM\bNMJC.$&=ND+d'.]2KP"M8DqN@Ri%V7`Q*eFAH8Wbgd]P!heMpG`C%g@F?Xd_c;m2!bNe0"6XW"63WoMObQ47@GdkR79=lNclWR-8J3L2jiAA[T"Z%X2+c^=Kf/9+E$WC=f:fWbXrRm?Z:@Rq4%HPY+La+jN8EDqPY6Obk_5m*7ohr4#?BnE/Z5k2+.jBXG]W9;pR9+Ee=+^A6aGVkTlQ--C=qE'p!9m),\%'=Tid*K4/\(LHg=G[?"5;H1?=dD0"%[S;dqAf`bK*WAA5NCSbX*mhLjYF+!M9SEb"p$S=lpNG*+W)2EE?:7OfCp.+h!,=`6X!RNe)^6KZg%l#G#lu6G].>.BY^u^d'acfOV&Ag[-+T9B=j(R2iW-bRa:QXX%W>Vamk:D;!J?eN-8uX<>/u>Ln\DSsi'HT>[_&;fZ3E0G*;0]R"I[[D0uU^EcK(Ko4ngC(3Ttm\`KNj@V/6Fq6Qu"4tP5DJ@tqdAT'M`SHCm=/7!a6=$A\alKF@4@m*9H6/=U:4!`G*L8a]*2Q-@L"K7bqamBiJi@1Ugf.:Tm\X.R^*-sO5X\B8NS2033eet@d1JCUR90j9(;M&1"`!(N\eDM%Glahpr9UDoP5AEd++e2!OMDFd:[UaV2bFeMEmcij-:*7H-G8oRqB\cM1_";l_F(c4r.P1KN01&eR(Hap4rI)^r(^)pEFLhts'VjRB5?G1c1"qls;hs53"VNe1E<8+HYV@W<2n<"tWVVWG8*,8ife[Q,DQJ/IDDPg&XcgKPBZ&Ti,1<0,Pm,cs/qsPWq]pd*3b2LtSX2MHQhO5VZ(>16$%;0pa@c*VpZ;;$pc1mQ#WJ/M!1nn=d_tA41+hkPfcnF\:[g!FV8IF$^W@_]8oMT$cA1^QStfRK7FA^-T_br[p4L#9\,[\"9X6uZB6:'*j7.?d]H*FFF/g.u3GgOQjX5Z3LPM#)j&`N3e2`050BO$IERILY*8&qqVjBcEC"6"iAK%u;Up`M=Mk=U;2oE6[q5VEaCDCb/a'Q+IBCW>5X^1?2@A7Z%k:tk^^=nb -endstream -endobj -385 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 384 0 R ->> -endobj -386 0 obj -<< /Length 1432 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gasap>EA&-&:WeD7(g<-kCbhhCrJcf9qkNid&D+0Q$tF1'82%O+:eGc5a*`g>7+u=<`L!N5W+V-P0uoO0&?$[R;/8I-)MRn(\5D4"B*:st_lGN%W]=sRA]bA7Z65Z:\aA`0LN>1j_4#,J\TYJ-PR+S$Em@-pN`*((=hL8T.(9*G%^)Nclg.Ss,MC=$I\']7JWJbhZ%W04!1u`00#`B!QD1J+ln><]&Z8,CY^eqCAs"iqP0R2bF)SAtUg8.j,&2[Mn5cc>1T0;-kWK(E8WTOLo5E%De-a3V=Hq%<\73T1`UZ\RhIP/s!k4<(DcEQe/+Ai;]>eAL:f5g+WtM4m4[7f!29Z[ldc9Lp^OtQGmRS!Meq9`2WdHi*`4h,+.&QIWe6"9_8!5!iX725[,K>S0l#Wd`!"'QXDUjPY`0rPG[jG$NdLj,GFoBJh/M"+pScjqf$^+ImETuU,6Ln&6$ERZ@)mcADI_.qeeg/dYe.(n>i3H6T0f3]n"94=*.1tiOE'B.jE#s*$;Sce,j1qf?c!4$dQfRgN3F0mi`eP;2\k/cO9E[rLqO39@"t+`tj!I="GDu9&&7dEA_7*Dt9/R48=:qU#SlqAe=mOpD6JcYu^VVBOQ1rS&`]]uA4@%)il*"V\a-BIWZY#JQ?;F/.S1X\C8rW)93a"f2(E:,6p:rL.<3@gG_&Q&Iu_PCe["Q[XT65?o*R2#hiKPF5KDnMVG[3;&AuURID+#ICbtd(j8r[[>`QjVN%/ENl[")G5Sr$?AEHghgQP:P@B!Vi9all7uj0ZEWcbh/Z3M2mmseA^8R7H@N2mbX!BbG6$UpT5cn`Vdqat>SCGpN=;S?q([[tm$Slgo!t;gEd)_gI^OBFiXQZ+9m]>pU&[Pho>(->Ee*"Pj6Q,06:jAIbgSCUs1SdD/pMl51XNu1d/huZ"k6'gdNKU9`E\g+KQ-.=YZ"r`7p@>Iu.KD?N`k\b9FMM,R)sR=&,+QVWdU)8#q_BO%@*,\t$U.B`A=qu(KT!SjfnS+qPig2A*OW54,9+T2gmU=02~> -endstream -endobj -387 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 386 0 R ->> -endobj -388 0 obj -<< /Length 963 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gb!#[bAs(+']&X:Zufmu'hJ\,D5PEK]B]m;V@1?YKU.B<6sBV=Ku"n9H._Y]j,J3?50g]?8)b[oI=<@?q%,=nKI[9q.g-j`6bpah!PUoEo-alBn72DcL8%B6*Os/(%lm'2=Dqap,GA[g#C_9_RgDRcEf?oQG)V)nAagOk5!a=ia1iS(X!8eOER#G(B4[7u/L&sC%:p^5j1ADoA0?:3M^^QNA;`R7hB6CqGNU,50PT&WeBD;QE"iVOc!:(e50T4.82\+BFuBPTbB]1'o;.>[tI-h)cBpbFr;XF44f\O4\5#c.IAPm8)A%1Dp'un>E*ImQrVZR+I=f%d,n=Z6fT)I*(M6n>L:uae(;is`.D)+,W=@oYS'#D$YchLc$\2?Es1Zo0O(tSoLFer8qtNf+LH20l,9KVYrc%T'p@UGl6p.b),Kp+Sq0R_"ps7T$P)_)cLEg!ga'X`OpUYp0UHTMJnaEE!P(4)hM:b.F4UV=JV7K%DM%-8&rJ-H+Y?_7m%T?)qu7A.1[KdC*)H$RH(Dglh"#E@:*InEa,fN8i3':dV3#';EF$LMSgUjhOc(B'alO_##jNC*clhOSB_':"REqR`du1,(V.ub?@.S*K#;4O7=ZVQ4np$[!&YkILp-,V7+EbEiR9-ce%=A0j)->hg,N\^6&j3gr"V_5QW5t\GEpc#gW1hS;8.`j2E/3lem=WpPHtc;FDbO4>Yc*Euj9S#9@]Ecu"@JhF78GI#E7V~> -endstream -endobj -389 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 388 0 R ->> -endobj -390 0 obj -<< /Length 1251 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gau`S6$&MV&AJ$C0KCH.P_&l;f66#?H10<5\$uY\(8=l5E^:u<^TTm(XV5N7R,^'7.*?27W]qJP,':LH'pIY6WEs.54b=@@;K=->eH)lP)+!>;Yoi'f`fQ>aK%:SJ)%9llj1TOI,O@fG,u8#\_a1B`R\YKj\kJs,0IBqXB[l'b=?;pm"=9I4cp52Q*6F^b.E)t-C+VIm;;+`8KJbBh/t4YGe5;W@`gLs_&U0$G.0d^,:6%>=&A;P:tU9_ZU*4Mp4fUAMlekZ;6OD(,FFGbac+FL9N:K`M4Ik;Pa=P2$7_sKkl7Wo9_(9S1^B&reo#>GnN,Mtk'o\^4*aBp;Dp>\KE7Dp6_u%=9N_orEHW^WmjWR*E8OdFdJ^+G(r`GMf/e&c#lD=/G5j6OB%;r"V&2Y"]lu`rEm3NdlY!X=bu4F.K'a^.i"3m+1P@Z6N+OOe,?a;$R*Q`+<_-^^WY&("\F.Q4$2^&U7Q"sCL%^dChmOY"n=B.*%3arK_-lpE(/BX'f'&P>KuId0QY*l,#VDVDSD>s17h2FJ/pQ,<_h>6S[gq_FO^7Q7M?]`Cl\Ec)SckBo9M+aR']1U-V#]HbTW@_:\XFS;H?Id]jOnjmfs]Q0)Wl(p>%U'_lFQF'"J>08(9.j^q!:s1@K`"D.Y+-11t7*?,(.h8>t5Kb38YKpE"qr*`M'o0US*iNfj$["m6Q2CURi36\/%s>\n`-u;4FO/nqmkBXs1sOl8iJ3(GUW`7skRW#&-KBaD\AX$"*aKLl!^B1K/>c=IU8I)[#Eh80TZ?;8n8eatrH?JPqYiahHq;uO,.o;GH^',]fe)#TNa'M`ODk1j#XR'sWCPX:?#VcDM6;:2I%3QY7Q9o7X4VeYhtJ@`1_02K& -endstream -endobj -391 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 390 0 R ->> -endobj -392 0 obj -<< /Length 1172 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gb!;c997OU&AIm?6sSqJ]-2?\VVq^l88pr]N?[FAPK%ER(WY@P^W1WRnKu0[/uXPO`h)?P1NqXDKO40=S\W#tRAY*kanq^CuXBCG.iON.^hIXMaQ[h#:ihqWJ6]\R4s+W`IBdT\P!/(*Y%]>NB_O4#l@H>?[!Qr0,RN]DHFOYWj6n9EuUb$mZ+Eq'Jie^^6eWoI1(31MWJJ#;QhAnOrWM+GdW5Ml1"s)EE(+4JFt!)Ku-o6*2BWO-.ab;&/[*E!Y68MHfY'L3pSrW$Xn#AKQo"]6X7_LClM%!Xj)[UOAa@=\fJ.o@Ft9Nf(?!F4E2!L_;<-mXLM+="BYg\g31o7-8jqB_E-$[]]N<*XZ+rbq$RQ$.m%pq)VfqsY.ek.S1P4])&t6k(=hm^#U6erF'hl>HH\BS/^7RH(`[.##0qFV,nY'i!LJ*Rl%0`]U8>.$_a2HjOF%#=;q&`':K9jL!7AtnVl#]%&AX=!=cs`i_V!e%*t!hc#bk;U-'D>-W2=bG+kl39VkfuSG)ER1ILe50Id\k'eet85.Q*3k>=1ubf/]O91Jr9qXSfccY9c2nL7Pf"H/XuZ&Gqqu%_7Gg:d111KNhp&Xb#l-5FADnm3ONMMnZ1&-j;i]*:./#]EgY7q-f_\IO)FH",/qY@I(rq+is7a]V0p69qk[a"QgD9\4O*T$S4c=/![%+IF6SY5')gq\Z6?+==0@BY\_'tHU3?FYsmiG*o8t1Bt\XMJ)uVC1`,5f#oBKYmITFC's>C4D>aD;)b8UpG`iNENMoLc;5f151r=;7GM_uQ_-"17)@`V?m\LQAL(2:;cCO/$0['Cb+MnC'd.(aPMcsH_3L6:S!k/cGh:UiDjC63JLY_6.qe=k+:Enl??IZ%Y[1_EZX"UOJ]?,`b6tI:W8kNIA]?snQf]c"'0PsKH*lCQR^&Chc?i<+ZUJ?)f[&.3N9uc`~> -endstream -endobj -393 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 392 0 R ->> -endobj -394 0 obj -<< /Length 1697 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GauHL9lK&M&A@sB#^_D\3ip%I[7(U1FFj'b^pdthcna^e.uRSnFuEXu^R#W\EMuF:cpJBfer5@$2ifa7;BL+`+$W2Sk9AO2'e@lrXusaiJ"G]r9"FVBjDCIDaa%&KjMW[(h`D?tUu&5m$SfL%QY.FM0k49@:'G3od:Bu[dDIp=iu9;HB#`l._/K(nB4pso`1@IkD;9-j!Sj4E9sV2'^Nh;B=anZa#7o4PLTNZ/cpf(s-lrq6Tgc=C1+d)H=fhbGV:!f&_'^Et1ViP9GBj&88!4f!Oc&-j#_A>8,Y>'\']A.3a_=&_!MC4drNMYmHu3N^V*0'Ek0Slkk.._9=?KRDFi<,Wmt)FZ6'MlKH-$381q>o:TIlhl?j=A'Efg$76kK$5"l0E5/mAHJI@&?kk5MED,'H&7V(h_S=O3cjLI6Oq4]IVN@br`J]MPF%Hnr]j,\_2bYpq<^Y(b(cFONa[hnf.#gn-ZEe#EZo[&MOXL]:&p;)#`n5,E<\sF(&X9EfAj7ioaA3ME1t@&hO"K?Z=bIDqct-<&IJqmrlDJBQ3&b5[Dq[bo+hrquPaiTff&\Pd>s?L-oHP&rI8dD+\3EbZlU<5e=SlaZ,)dhp[!-g>%@?]=8FKCG3#Xa)F%JquU_9?nZf6:XSnd;.M0!\n90ti[;"9_2Wc8F%Ls6U4%SNf[PXcK&QJu$,Q>X=_e;p+.Q3l;Z_o97W/Idr$j0M,Fb*,L2DT[>qn$h1T?dYeC]5u_aN0EPU_@8CWB625@1i0R2;CpNf!njHK8kieMO34A_Uj(7K.OPT*@f*oNR4a:\G5EFi)&J;!8BX>]4ao9l$]9+Bj:Bq2m[rDhLK#HF0P&JUJR!0=UQ:J$;AXL3rcW]%sK,n#4!&MFf3OZP#[mUC@iOfPhC/BVkkP!XOF;Rr9#uo(8RB].D/HaF:3!b>-P.U>Q%\jVq6U,Pu_'G8h$m4:FH+T9-l0W1dX[B]8dKd3N31;*[fD^FTIJF>KBqn0WhG=@=Jml]7Vhg?dSZIe^E:mbH:[3CaW4U!tG-(qu66bDY7"Z!7W+i64ZNU0Wq!Qq:#tR=T,f,\20bR[L#S)86VIoq@:eQip(d.7l!5YCgY"Ys+*cnGmcuJk -endstream -endobj -395 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 394 0 R ->> -endobj -396 0 obj -<< /Length 1637 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gb!#\hiFNj&:Vr4JaR*UdN.F^J3I;i9'o!B8pMr;aWXF=L=iI[S(mtW"rh.sODn3r<\*Rsch@/*Gl5g25AsW\rKK=VkBbGIYk"=Eb',uHj#__:J=A*/rP[AqSDVq";NS3.f0i7%re8F'Q+t$oIlQ1i[#qjW1,=sf]n'dAp$-o3ZGbQYCNZAu37PT;9Q3779V#c"='&S0"/C3n.">`)n-e=b5dC3M(+N\S5nKt.X.$d4kH:FrADp-+\PP_+jT;r?b`NSC]rDEDZlU*1+n9k3[-lC!6J\uiZ7L.LL#@hBcM2C8RnY+-30"4V2+2>`/;M=7c;mrQ*lN6?'*?DjN[JseEOXZ@dp:;0EA=36pmX7lBj\k_mn4T7EJ(HoPX7^CTt2Jf)%af-DhY'G"+20r.r.^t)t2-N.Ipf=EHnaTWt\1HRL)QpS<0\6e:G;H$ZQg*DdboM(kq[=HsMu2dcUhep[EGCN9a]3^OB;#5)T=_q_7piYkLDeGDu!u0'8-Q0&Rg_8?,>!BmZ9Hcjb:E0TGL$lVqgM!8B*4!c&r(YdVs+RB^GTgPWJZ9XLK"!kt'uf#'#'$F_'[=mV(9V+3&cr2Yr&3TitHCk.B,1H.%RlZ`<3#Ojt9FD)Z>NSDMD4BGQaDKt=O<)PkhWdj!nuBTd6$d+jL.[&ALnm;*SB^C%V]QUiI%)K,FBjA)H),;s(1^S=L]d'ptt`"]dYUO8++$JdKp]-,m>);F#A,t7,KP&t'R%SkJPp>11ZQq;)qI!X(7$6ZK9I*%GcV6RK$Z&"WV@LKecn.1E9q$aD'f?!FgZXY&Z-hR@NWO;Uk\-JL0?hR<"V3Ue;qD8RB.9QtG8]>Q\6rC*p[Yf5&J8VTMar5kk'mNB4YL]CFsKAhPd2Sg3#)Z=\2/EDOG#N)SY_Ul$RkKm'kuh*'"n8\P;F-?j'M^P:1L]jnu$$pN(:p[UOoH'ns,M[f^]$/Z<"b!.:8&-ng:t9X(4e?6,g<(mcm-^jqGdO$p]#^/i'CtJhYWj(N]OElh-7K`qSkp/4ll0'b*oogAolaHA,s+'],d[jpr:ak\rVm"#1$7[LS`8X+KFSH^je"(JiH"sP2)G-c-Gs08Mij7A?+"AG[ptYeoZ]b=/-A*d=A5Rapj/UH2A$or;[p_d''NK-=o:nLtrF%M2\Fj&^_sj>&V0b,m%IMc%mm86lE*3oS)h%+ehbJ#]r'9&3fg3Cab#dLL3]*;TGApoLR[`pX@4Q1R,#UjZ2S'l""3"#Ob5K7LA7ISn*;WH*E.gDmI4XI.AJN/cGT4rsk2Xl),akmjX4%`**,q(G&A[TF6f+8c(?kdTbde,__)9]eJ0GI1C@ir -endstream -endobj -397 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 396 0 R ->> -endobj -398 0 obj -<< /Length 1166 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GauHK995Pr&AI=/TNmdR=c+;Sd,R`8V;>BElCk:/D\s+u/5Th7c+gFg%iYS%XK'elefN.rB>/:H9HJA8&"buefp6LA_M)hH(J,o`_Vf);j@(>1S"Eob'5ad?_t$V)YXZL8/["-G`o7hHgEd/[;?j%VVhW",uN=D3;+'W3#,_UO"i-E_&.A,i,=ju*GdL8)K.ITmtU?&I-Gq+-3K+rXGPSKuS:EbD#^pbh!$W4Q'_sk!OfM0ZP3_%-H.>Fr7hcI`n@$J[h+s@?%4p11#VV@:/.7F$\oU1??pXTq$\(Geb\Ibc-3jEi"4/RDTX3%$4M\h5U,D5cP5As'&M;p4m:-rH9">#X>I+VX[EI@?F./J]j.S$MIE$+2i`Z)7L'>)^!5#LdRl$<-=<+GFDEVOcK6'00Y5IuOcO$ERhPBiqLsX_H`D&DbLdYpW)`8Is9cQ#-e=2=,rK)jJeXH/WVmB]f,41O$=r"WVKSd+j,fQT;22:(ZU-#XZL&,X2H3**ED$nt!!_r1VHl5="k`J&5S*R!GBt*k9rSFW?.?^6b?IlPiEA58K\&H7&O@nl^.2+ek9)Y:4l/`kjjA<&_$st?n1)[a*nP -endstream -endobj -399 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 398 0 R ->> -endobj -400 0 obj -<< /Length 293 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gas2D_/@+D%#44r$B%i0=GYFZQ5u*r"#m%2ef?g4QEi*u64g=rTNbL.A8"g\[qb=H\IZD]I?pu1.:DnA'2o@U#124!8$$9'B.Bo6QrFg&#Dauq*I2>#I`X7P!trKC[Iit9>l.HDDs -endstream -endobj -401 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 400 0 R ->> -endobj -402 0 obj -<< /Length 2721 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gasar93:/`'&N41Z3/D!^4+)DYQBQI_jk>K%I)_SmcgM!$IQ4j]-TO\k1>[\P$B;C)IT?/ZRhC,/a%.soUk$9=VuLD75S4cNr7SZ;)%V7IkXM_c_&Gu95blLZdise^QY]MWuEZeB-4uIop,u83M2j1Sr9drCS'^`HueJ,n#_\7(T4V>cW5P\D]#2[ek#oromK&lSLC'eU+0G(k:2[)bsuiae[%n*Q&Bo8X%T.VPSKr&fm"alN$d%s+YqW*HKIE%Eacf,Vj9JcQi0rccNVY8oN2uoGLDM4d%.IDnjp#WKSjWiS4hD:'&N#IT/9U%4fXod&60Z1O!E;^Z=S_KQo006XAOec?h0/`W`pbV;_KlKRk[HB5foHq^+tiNBR$Ml)%:)aH%qP@k[PHaADsWDeY;8ufeB',"85&>qHQSX=LJqjOb?T:`3(`fNgEIQM^dJ;!M5lc/Vd!tB0B^SKigtp&"^tI#,Sr\>a#,c/&b$E1D_Ot\AVcZK/[Z#a4P&C'0H@T)B:?3j03FNfk;icMHBKgc.)/,lF(*FB\f19ULWrYRSpQe^HpD`MtAX98A4iW\cC*sL+kOZOLZd\j.'`cPAF&)YU/Hm-X1C:M1F&c3$A?_IUF;I^mNM(-58ehd@1gG8q"gJ2_.9NHDf9b/B=Lm@ji<>aGlV9;@/pH!`1eq9nkEZe6qf_IbR[+b=(NQYJF$Pn,\E%5@Oij]4ColoKk4.O3lL>QC,7E"!lqBA>Tan*]42f^Q4kL361O(n13KguOn3*+NaB73o:5YGp=qorK1%eYtS:%l$Eu78"P./8AbddTp$@u?Sce%_,SP8UhHKMk0pr)7I(8d\EWhRkj[j!HRC`+Z7);TX6hA#(cqSpWX'q(G1XhEMZejC"C*cqaRA5Pf^8.&FpPZS`^i&"AT@Z)6m'M;3:#9JcK,a3B?aJ](1U3;)YL-)OJ[JE[./Z3Q/)l8.!fpQPH8upK&uMMg"^sF5^M:S7(\G&8:B\U@ooH)Ol(+s5N60$\W!3l:J;;=K>o3^:QorVCe]7QQ_[rO&>NrXLV,O+^9G`mf_eEG67UT(_\f``6.]*kSp@]cjV0h0o7^ir8N.O6`uNG99%U?`iba+&C4\QSWKfh3odu;"nKm6,=P%Xap4b(dob475YXaB%M=,FMM2m('Ih%T2\@+/[TK-R?<+n$JpI,_#"M5=:(X'pj=p8A2ld&%LQaS!nNB.#jd\eJm!3,"RT^^UO]qpT/0R`!J$<7TOf(n_E6XUXu"*%`Hh9f6Zq)gd$i8l>8jh@XC;-'TQbN7CP$WP`W(!/\\r+^9tkEm75V!2PA+Pdn63qr^c9a#\o7[kkkX(h)lj\epi==)[p]lA"uTq=NM",Y2Y1b((FCfPP+F28_/qM$Y7kE"r'-BD\S@[U*8!Y+]XT$YP;B9Nr:T#Vh8:d271OtFYuM+=73B*X86u2.U1Z3VpcnQN(NbA7on87IFT1@\q-4A>"9>\7fkjDP&%1$;Ork\6DK'!V(F+Q4LSrCM&bW8/-60<8a"])D78Q:]p(m0;(nD0,]]&Bb)1;_CpPja(@]ZP+Jihuo64HKU*/sRd"qJ-'Np^m2t'c&FYO3iQP`7@8QUt0cN?Hc?%u3NfCUI:bZ>>UFhpa[lf$iUF^W!$%p(\K#d^YI9P7Y"3(MEPR?.t!*8=^'U)\@BMMQHRnEKOO2ck4<>p#9>?dqkJ5rqLN5k0$3K+Y_E\NN;F4rR.$TJ$4jKA]l@h`Uhnfb"@.Wu8P;TSdq14k/^==tX1=Mt*)B^4^_P]@cP3%$UOJfl[:sjQ^Ru$:?K=-a)Sm/Vh5,&-0(qjoO[!8#@Id5t^a7OV#l1\ma"fa1W3^6Oq?1f8!/np_X<'p+eN1E:qC-#\qJ(bE?kAbbYPXq^!0-VI33KSu!ZPd#?[ZD*e)P?AW$6*GnJP8U:gtc/2:5E%g%Ab_e=A`1)eWZd&#%r$fuO>X+c5-@1HHEeMQ8ei'$#V_seIo0&DdS"aB:gHH>t]#pj&h)\`&D[QdAMDSg6]Xeq"OAg"%=8h;t6O_rm9LUh''m&#[X@Jf(0O;,4\Gkm`oArK`2bQ!%)4PFGTQdXIIgP*;:H`m7-s1f=_=\3c7g@YPc2R&+^ZFG\VGVG@CFVmI,VW#]%a)%NFgc)'`,d$PIl<8<_>:SleYR[9S`cZ\.=6W2ja0-K<@J1f`5pkM?1qXDY5qqZTcdZ;)kIR_#:ZGPMSqN0.Mkan-&?KLbeE_H#kIUAo`%bBui!>eC_4tH?Jj#IbF'&P3Tb6RDo-7q[b:RCif75k]/PP301adEh69Mj9PXm>0m15)UEEHIf\@!-0"~> -endstream -endobj -403 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 402 0 R ->> -endobj -404 0 obj -<< /Length 2090 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GatU4997gc&AIV:&:,b;`@`b-XTgp6RpBRZUhI&/06%PBD;$<\99((M,Xq`[7j]MlAbluQ^2QQ:Da)I*Ak9\(>`A,9l4&&_$iM@INVOluF+M]XN,sN_35)4p0o^Z/2dm'Xne-'8>EcUBEf-GE,809/Vm"E"Y$qU12*jB3!0*nYK=mf]fIZ`9M9-R$hLV9G&9l]lM=M$uOXHFYNp>AUXf`/M+_7jb<(5_WOjM^p@bA2GesX1?d<#VWIU04Y'K(#'"OimBMKXdVq(5fZTn6CFa#7Df-%Q/WtfL$7(g>mG#9=4^+asKK?s*g`pWY!\"$GCmV00g7nVAb?A4Giq7"N1gBka@qa+LA/Jpkah%WJi-PokDBdm9cN0,gb\H7jETV3Sk:rbIT+tl2DCFOLT^kb%og#ekA=i%2CC[ZR[WQ@K=,^uO_?9PrLJ,ermmH\%uQ&"`_qhkc6^C/n!S,]@PI^k='&ih4/lqV8\\GIH:A$@A>(=ItVW'Ai]+bNb>=[%Mp(8(C/kUt<0#4PbqR$sp9Hmf(!A8A],P\=MhM$tCun3@b&hAJ"QA@o+$dSo/oZoBT,/aTnTnum3j5Ls4](CK,,9'+7GI\o/,H]P8^S#FaGN=Pg\P:tlAYha`WE9O-3qjg&[Fd2rrWl,lhpDb(3Hm,GLs27tfC-NZs>hWWTKGSXXVOo.n5ng3FdLNg(j(1^OZ3f4VBC!F:ZfKEkipF^C#r8>bj]jB0Za3g]S6TIT"D(2la+OWEqJN[FI/5G=8@pRPtgNtNC5\:)3`K6[T$"`mAR7P]?V?_,A^aQEWF)VWB'Tr@!*+6(d4U#+&:8IqX?$l8l*![/h!q-C1h#9[NrPq4Ps8RJYIcU+2qI`d9qS?OB"#j(Br1dSGQaZq05g:\n6*-4J"*(*$5Q~> -endstream -endobj -405 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 404 0 R ->> -endobj -406 0 obj -<< /Length 1485 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gau0D9lo&I&A@C2E,q+'0hQi_X#\]JBBi5JNFSfO30U$]87kL,1-s'&IsmXd7=Z"9a_c)DJAps2LI^]o=0p$AD"9RU^%DLA+8K5r',5[NBV'Ws._3$WgeP"G_q$)l@h]*K%E4-*/P4I%3QG#$mjuMSLIkthq5gp=J\t=Ge(V';O$FZ`pb))U@kq7;HOp%"fY`BLq[sT4hJD5#T#/2Lmu'.%eSlT(-qLRti?3]A$TQOaW>0C!"7EuPLLA4I<'h$8NeuS=,4s72,sBCSE?@O<3c!Whl&a4F@>GNWpshum8L-A5@D)VXNP?+C+l62@;ZiG$Jbsec?X1DD4R4(,j2P(2-$J6JeI/LS<<@,*P[c>:s"NZAQSj],&FmP8mF_RL\DgHWW_\")tkq?dsU(i;@;"!bOFR`G=*?ld1B&7Wn(>6.Adm6G=c4tUYc!mc%btM#arc"V;@^Y3l_5?9T?DdNQKn`;Jo^fMW%sjHU6NYC=h!(5<>,?u:;J[?9G5#*OA]YAuZ=*i@rh7^P7]dYGFk,"ZnQJ_*`hOKg05[tK@)pr7-WKCmucEjNE97t'ThTXa,]`@^]chRdtQ)E*O0uBV?IBe2lp-fWq_E#E?1K\%)KVHi16HM1'<4b^iQe>O$n!%mF!Z"7]qCW*hQLCII7RNF8f'Eq)G.5]%@`cCLiVi9&OP/Nk4BN:Qn@>LVN\F&\AS"l>LUW!Z5)WST2RPBM0%)j(iLH#90fI8TYY6#JKgXM?R9KCRGIn@LSC=-N#Z\rd)CnZ;>Xrd!MKt[1GN=@BaSDR_'F^@6AER4$gD8dL=!KM/u?`g'(,/b;g$rt:2,7J54VDu_[%3/We'`=a/XZgkBXL:Z29N<.Z55o/\=^+`b&)H`l9(KfEkPFp,0D`i(06I[ZU73%ni?TG*X66T>EqT]-DnD8_97NsGn8hh3;sY*T@bh=f56$g"WgV"=fF,LMGNdZlXS\([I/&r*o0Eap,W[kU0$[n\E`KT(+FcHKkFd890oQ0IXI -endstream -endobj -407 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 406 0 R ->> -endobj -408 0 obj -<< /Length 2190 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GatmNke6A;dF7o`d5+Gs\g(,m3^%E=ql>584j>']ZYTPi3qjsC-4;!Rc0iWD&=20^3r^n+T0o6W4q`C*U3oqrQk4ggE>>VOo4Apb8+3(1Zf^;=45E?>q@DS,7P$DX!/D\)mPBfm(%A_O&C>O2^0TfmeA3e;$6G@[l)eP$GX?^$NEe*J*rD8JEI(@D#$*&c6j@`#1gh&jK<\"$f,q^)%r&1]la+6j5=X`ZXHsG*WgA)]D@QpV/lF=IjTaF]QE0CdXe:q665;+(lYP_poLXV_-0"SFJD=qS+U(*iFq8AG5gD9R4?Y5"t",DCGZA%";H&2e4p6bD4gm5uXqhr70o@p/o[9c#HL"$DkjO-.N'(Kj?e\*r,0e1lk@qOSm^5gkfTu_krV"^DB9'1l!9M/5:dfre!EVq;P1j1#eC?nepqD3]PG5+?B8TaE3I'Y:7`<[Zde.BuZS!?7/>:lU5[dWciT/V\R7*4K?iP@&TKT6NH)pr-\p`TBoLnBEj8!@X6AKd"WincuNs%:*NR^E<$@++-+BthEuJ_B:@n24Bp*&d3^VD.I?nnCd5$:jOXL9JXfePNE)&CLZ"3U+h/g.0SeLWmFp'FSkRaY7L;h&r*\/AqdC@:<:t>23\Km%Zfb%5hAAFcf:m7fWhhBiIR:C'%i)3QqgC26h\7M_37KRF];Vp;_>Q@gVZ"e$KE\&HbRmUfe?S9blK4C_2::6Ie"",X5h>.S-$VLXqS8LOIl\i3G.n_o]Z?Rgh(Hj's!1lOV>MSI)V'Bp.a9Ce5>s#BEk,cOWie;(\qm?5BJ`,4!_D!\K(>(T/j;*$R[D7G#VheuD\:&sS1M9i%ZpI9?q8pod[K*VHeRi^Jo+_>R0GWsNF#("IRUMboY;)&U3=9/S%PS:#?;GSqlMPMpCR`pBrY1%3>3R544*>fh"YY_!&L7?a.?Y,`5_q!H#tI!iH/&8gE)AoeN5FIAI^TRC(M+3<5kg-I+Ie#h>-q_=p*#GSX&t.!Sq"T=5m(5\*@lr#%p/^ipH\]Hk]dW*"t+/XGRp_tT6LlG/-'7G"C2P&o]X=*G:7_""3j[Q482FoP(NKdjqmpYfhqH=AVU#K6tPkkA=:m0eO-*c;dFrY=c&2j:NI*F#9Mj[60/[j;iMn5rJY=JIR\%MF=IES(7B!UDo8,B&uT4'q.qi&+=o4L^ksRk&f+!=0n2Va,o0[/`&i>r13Uuo^GmDtY#C/hd3pB-`bBN794Y`c5&I^T@B8,eQI*MjHe(`K=VepLIA_6@6(Dc[*W5mSEEL?.9-UlcBL'9MXK592i;0>_%AYj=eqJ$'!_N%5XKF/&=W+dD7[WcH+V$OPn5P#g@ -endstream -endobj -409 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 408 0 R ->> -endobj -410 0 obj -<< /Length 1658 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gat%$>Ar7S'Roe[d*lAA%P![<]80l%FE%C[>B7+/n&LLkDK2b#*QXI9u[$Mub(tGBW#gR\!L;-,RUI,q8Z-`+XgRq@j.A:`o@b7YCMA-!\3@(U4fd:`BFeOTfgU,lXSq.O/CmBBDpe/R$qYe>)mB$n(^Z7Mh'/B!"3*QAE2S^K^X).^_jfg;X@0*I:iW-YaCW;8kr=Teh;?nE$#+?dqJ,mF,_R56A+"IBj)=5%rb)hR3$>4Y^2]'7KqNDegq;[OF?Z$SHe=XfTCPjJ-9F682GO)pRYBLZ_N^A(/W5nfn/V4d]k#nR&`eA_fNfujeT=ntETt(dUZ0>T;[XIFTa5f-LfC3+Tp,BRS=MKjHl"`f\I^"[/Qe`h:L;?KO12@pX6,p=k&EMP-&4n(;0+J*lID`+LV0Lhf235,M(\([ISC<8jlYg/!TKX/NMoE/Z58iZ$oBF_GhX)1'I,$T$r\`$>*tmghMn0%ZFZRjH\N"+C#@0LaD*C\RFRWQaP/AoCc;cG+B/kSWf(9+O]tuq^2Zl3J3S39c*#Dh-i:CjEicLqdn*b.:"#>172CPlh._6@bD+[3q5@2-ZQ.]9gD:YEo!0iodr%d%[S@$.NKI78Du's$FDs>^>W7BYOHFuM2H=@WP3NOR,t`_=7UtADE/+cj8pUL4#t%:bc\_-g;/!u)c**c9VabQDpi+f-P),d,oGAF\b<9YEA`Cp;T$R2)k!7q7YqCCHm/Fmje,NA\Yr^$q98Z2\3agN>$S+(kGO^O;rM5J_!X6/88Mi$aGYK2E!LA*k@\7/8%'R@[a*%9/F#q\k1;=jliuGcUR/]"02QWSPMG=n<@o;)VpHnr]9\a@-VDK[PE?4Rn?1LjXFT!^oDX&FH[+fdN;9Vpu -endstream -endobj -411 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 410 0 R ->> -endobj -412 0 obj -<< /Length 1991 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gat=,hf%7-&:Vr4+VYdYX=5[bVqnEbD32+GdKE.smU7.D>,Gf'ZKP1adU<+Q8O.Ccjfq6,_f_B4YM.."kgPd-TU[fU7@#260<@8X_-_a6LG!V=?28i9rrN[!7tZm'4=)HM8V9SiWYngXn[-9anDXA$o!-)D%:`A*g?"#j8^!:d-BY,XT]aIc["2\J$BMXt.8$)Ms4P;7QZ<^*iWle?)2[e@uk@nZtdceai^M5IG8/#$t'Ob&IL[\)*Ks2M*Hg6r?WFV7KJ=8Q!K4G(SPLF6O<-u^7F0G9p=*7dpu/s"\_8;_rPn4a.9B$&&t=&]*R_37p)Rq]`rl1`"][Q@\6epTtXBW-ZfuZlfqLK",Zf&tUR1ofQ[cf0poV$Fk9Gr-6`cl4LN'\u'_ZiIk:q#COrHk=NEhsQ^OOAgOc4E!3&0#Ll_SK3=)J#M8dk(bm6)X=\aJJZ((P+j%YLQN[H/^!k$(XkHnRfDo\L3B$#HF96UnqAe*h4a2SW@t-Y=R8XCV5AMq+2&57D6Vo`G+8U\?C^*MCIHo-(,ZXBg5F"Y9\+8Pf@*b_3Zb*a/o"r[`b=?@Tq9?/9NZaZMOLS2IGAO9f<]Bs?S4"DO*FIm7I`V5OQUenc)WCBZ($V/#sI>gJejl>mlMsK8:cPJnIVM\ea34oq<\/3haph&?@=Ytc=]X3e7W1^q,_CrcjB!BCdadSX.u/Z&$u6k-ORg]2&'*NOV4^>k@/'VQ`X>lI>ITNMurPIl&42aoO8?A:?\H -endstream -endobj -413 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 412 0 R ->> -endobj -414 0 obj -<< /Length 1416 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GasapgMZ%0&:O:S#lEZs%O9guWI7ZBV<^$^)I(mhW/H22kmLOX*(ii3./ND/,g2o"0eNM1,W2)PS2l?E?cRf"gVA@mE1M52E1QY%3j/=3%YC9UA1dol3q:MkF1@RkZrkS.TCP=.et;(@5?p0t3UtG8*\TdoVp1fG.JQun$n;?jjs(E?NS/pHiki7ug^;-l5(8C,lauBXIeO6QL^clYInkY;ObWsHk7LQ"#db]]Vpk,G$R10'V$8+r-3)_[#\2crk7JjGHu)+@3/aXuL2gl-"Yg:M!NO@t>k3L$EOc3;GSV))#XHmklfRVap,KHZO89";^jrg`ZFlE25$XB;U=a)Br5+>Q1'/jfO3f,e@hs`]0HP_#5/p/#n4ho?]\'r5Y)^#1]!_QZ"@>@m?6Bq\i7\>);`'?.@=1;I^df(];^?.@$H\3"g6"Z.n9L^(QNCn88k$q\m`1MNZ="mX"eI00MOF?89nXN-nL7l/77.mqJP@s[GN!@M_<%ZrVIC;IcZ;/ll2c!5/qeHLgZ1,]bi3S^A)STI*[%=d[V9(;FCDrR#kELi?6hoV1RgpaO2>8$dB*Sh$#*LcofWS#;Y9h:\oq=&O&P5*1`mBSP$F3/V8fQQNEWnrta.pVZp^+I:;d^fb>o.)X="6>R!In^;n""4Q"J-SPL@>Qb^b2aPreKMbVtfaetP?Lb2kZC%To-@o4"JW+>%f`6?_s:V<("GbFM034Z0cVr6t;=<0s=$0iH-!'FgWVL#(fm/9n/c'tt(+::K[gM5:L]\aN4=n,`#6*t.C@4]._h*04MegW_?2q_Co.C*hB`Hn!iFllo#h6;<7NX,_+6H'skTYg&(gos&i72+`rSRg&/H)gefLS&2iO5oI]])2'!QI4+HiV%83'9DT0g-[f&AEk5a?Gd6(r-u1Jq+f-eH?5&[:"c6(s7F_@+[opb6=cKq7G[,U.bj`Z<"WD\ZE<@l/,IkR7[MK5fi8HRa3CT.4$N.Ko>hr_L3=?tdOI)VED8OSmMr)I.+9b)A>idm1m]0;93:.sV';PQHU[iUZr@R0I8Fk]i[[!hHduNQ[Pr]\oES,Q7^m'[I)iiI*kX);2nj=P/:?2*X:59Di'RR>")F27_7>3;U9=^61i)8'Mq@Al(Pp-~> -endstream -endobj -415 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 414 0 R ->> -endobj -416 0 obj -<< /Length 1006 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GauHKa_oie&A@rkFGtd(,t1Z=EbYRj9p$J:/%mc.6-$?!2m)[904E8QJa$0OSih`&u>7Ku5Ejo&16:&-UALf+Vg#'4aB(6O#:RV#sGB*5dhrmq7))2(hR#W6ZLfUDZucU^s"=JC/-K;jJjU&S`?M+0nCrKo@WO9jFrb"XQlu#a#(X2aDmUbKebP);'R0#Tu50)&r[_T60'Xi7<2HZ!bea!,6JO&uZB6[h&<1^+=U*X>:\4cmZU'B_tl8#m9RH2Nco,Z^@.Sj"n=L5nB!gk1]#o\nDu[W1-0EC0nh=E`(0.RLe&.je.G6hqfUgUQrgab)&m9pX408['RjA[is#B:9hjFF]`kS;%YuV&@W0-I0L?*)(O-4^ch5[S?OsQ$'^+.HOcsY97@Tp-B5)Nfp<0%?!+,['$j6@EuI?DK31N&_GaV\n>77j8l83f*-g9'PV9Y3qWf:e06M1j>BY`7EN!MqPNDFa"&qM*^dM6k6%De2-(lnQU>P:YF@M8j'h>F+=$!=FsA!?#WpJj02BMgK+q#.?=HG+'[G->j#44_?fdU@5A[[YB$_B_g -endstream -endobj -417 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 416 0 R ->> -endobj -418 0 obj -<< /Length 2487 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gasa2flH+2loe_7a/"nI&p;m`Vql35G'coP`bcg_:5>-KMiB96Fi:4`I:^KY%#Iu%`gn+j?_WTjj5<6D*7>0!mod=9okmqYDcoe=/ul*nAq/$jhh%DWhThgS8K)jF=PJ(M^[ITm`$E&0EthpIYa2FbG#.Fm*Z_L^DCHSN\Ok^2(0YVIq+iHLlH4-irNa!8G$(R8n*_RQajZQ6H%]1^2*FaI5CeYqu)=@)q")#rWf1aSWO$Vgg'q`:M=`K!?!*X%j)*GqEh"5D1ghPD1g;pQS4f@HaOU/,lARF\Z-jcV9jSMg=B]2EZdUW8cD<3\r^,D:NFWNAg@p$RY$'N00HYFgt1hbXIShT_X\ZmP^Q>,Z?c9Vs^HbREg(J&F7)5edcE,]"lh&1ja[-;VmG%:Ag41?][Au4&`aV@^c`5)EL3ZFtXXA4qs)"0.K)=_HZYt7G)T&AY=HfUk'1=H23A\]D(N>OlhL'KPEi$]^)c8[b`p;hb!F!n&FiV]!N[%E,7!]>klbEuh2FZ"4AORaMp9\O9Ne@`E,CW^[HLm58%CBFm"C$_9Vu^p"E.3V'Ft$V^=5lNJ>6*iuit0PiL3@,i,bd>RW8MqI7Or\iiqom3'HN%l2&sSUUs)="c&`?t\]JeYe0iQ#XuTsk$$)*E*^FoedDd5oCjTWq'JpEIE'[<;=%=j$]ti2HK0Tun`R%*[Y$"%t\CtCZ0mROg/Ft!q1<6J['%Pic%Y)MS$@tVR$HtJsIARb4,%B1.EX]dDfJ+d'eTNuMo=tOPe02-e]so_S)R5&h@kQRpY1$[oBGj!fRc6rQ`XdA*Y[YtG/OP?Lqc:1:]kFuG<5!,90)>s3+:Im(&J[mIjL@J_,SMdL&g;I[B$6c!J)pej.ZX4c#6aH3uaNiJc(uTAjoL%omj2p)f])M!Z&I.'H[ndMVJ,Jgu\1/$0jkC*=iNPDL!%pHlSb-7l7sE/jmp?s>:NZ1*bO*)CpIU5<+1!mt+?29FD_'RE_iUh/0fMO`oPZAe`j;_Ckg;f9[UAc$c#!1[0,ZJ-/'W_qh4P1.e@Fg6j(eF1BO?s!mAWLe;`FT9/%:^h8)h&ecrs^0jge.`_eCgi^_J#DguY^>+HC8Ii&Sq-`8C;uK0ti2PL<=;ZQJieBgg"eBX@l#_,\`7E.<^%GU!bA9]iphS>o)k3?9c_48&-d"`#S*"][VVIF\&"rb:faOFC-qa*pXnI*;mg]S1k'O@be#l*"B*Vln!cI$W&ATEK4`$r^ZQ;E%2A<`67UDd"s:p/F0LSNiu;&peLO`I_NY$&1c(`<`iLBno*;3"@QcT!R]5>>nAQa,04Im=F6h00:^$Xe_gM)D+KCZk5e!eb,g%%!0)JRamD\nE#bt'nH!BZ`qg8i,_>"hQ+?&\_qrrXd+\4(e8fmbnA*3V'\B.C]CPLL_gpOfU/[>YjZch:i@"0e<:IgAYRoJD--IqZMS0U&$al*7l3Aj2Uc(BrB>&+*]K[k>>+m=LQ?-8hR.3Wb>J:_2brA5pL0POorIJsnh~> -endstream -endobj -419 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 418 0 R ->> -endobj -420 0 obj -<< /Length 2168 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gb!S-bAu>qnF!L(Z"nd1fE;%;X>an,f?qhFB[^A5://s%u'tM8k,24?NDb\j7kG.cCd3Pf$`U_YB%D74EU$l,SF]4P-<(.V1U.%Oe"5T1Gq!"qm&Bqqt-DmY^J@N2leUX@;!42oih4]PddA3Y0=G-rsM_H;Bmgk'biB`9AE%&ioEbOk)VQEpATFDhol@LqV?J"T#qr`;IOhgDQ!7-*'[^C(\g:b,W6M9^gI3".+7rgHZJCDOV_,37@T1^/J?Kc;4Aol4A\;ZZL!V9\g_D(bZm)Ka7TpI&r"$U.V#qt]##fRRHPs"[Rum,O']u)0jQotlXm:?@+fV>YAW(5@[r)2&PkmtkLle&SDX]:(!MOuKJM<&["7*$LFE2`%3JT(n(.@KcZ#=50c3X=%t"H'[?LAA:"uMtF0CLV%eHh,DqI3166JdPO.hIPDDJAcoposE<7ssJl>lc^_W^8SDUd9t:mOrcWUd\1f*6CfWQ8bR"/_V1IZCje<d-+L5ukY_nDdK)XCJf/eq'nuTX"(\>Ak+6^U7[S;1O@#[V[rRn24$c(,&6P>f&sU:dJlW0@P#@kI9!br,O1(kelfsM%3hkFRZ/E*DA&<_73$uO]G\(V;%pVt`AV_9nQb_G:cg6d]!$4gKJlD-CFI$bC>#b(d:eK/eHCuAE9Znqo[L3\la!WJ6m1WaB-"r)[_NU!)BG1OO8"STShj/e;+Q*-QML13O6_iKYMS)W0+q9)[j@N=)K/s')';5aW@lNHRBE>M;-?%H,dq2^g])jH@(_VbmNPL?B+t7e;Q[,C8=8_hqf#"2gGK"Hm)-UC--ga(Ao4J6^p.6+i8s4`mJV=G01cP?+F<\#6_/ak=PPp0,j2o>s`Xuuk-uBVnb4oU?!q/#iJYj'\CRUT/T@#(-=hdok?E(p>@9_M&jaD-Y1ZJh.;*Z+6S7Pu;>l0lAOB6b-)3=@u"6'NJDgfs#$k5h]9mD?J@l:'5(\\Xb%ll<6([$#KlKc.%W-U*_*ep(t/eZ3sQjG:i?s8n4MYH9Y&ITsk0g?e3MV.b#VLkLOG'*NIqU[5rVM78VlLg58LsX0#(DL9`l'%VQZFl1%3n3h6?jQdY'C?XR_u-;qR3[,Ic=Y%O<7_Ge<&Yp5Q$R.5PM85Ll3&@B`oE[S*rl*P7Fs@NI;.Qs-S?3p&FA/;_,o'Q@F]E-HC!)lJ3B$&KH]SH99XgqXe'Ja._X!BE?'q^2eD(jljF%RLfqB'cu:1e]L+pLp4RG$Y:^:eCEMBV0D%Lq(`\AH0:F):fT7osp5EoBsfO-E4e7n5=XM!gkscGC>++DI8IGG9M+Ba>"1)DkOcJks-KWBI;^AC7L.FSdY -endstream -endobj -421 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 420 0 R ->> -endobj -422 0 obj -<< /Length 758 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gatm99lo#B&A@sBkQZ-\@Y6lmVe1ZWl*Q3KV`g8>8(`a%WK9EO+oM4@fWbQ:9b&0rqf]CEN4QP/I7e,3<;._i0Y($q%-H[2c'C5iMhOkrXG_)Y?+h\ben\eARi?0"O!.,8I%8485NJKLE'i.G*E:(c?PStj$0h@:'DLd<508otT8oTVWkU26P?X2]EV8H2XNBi'NS5"J^>IT%cf$4b_h%(;_#88*%B4@Ntq>q2;Aj2abkXPKc?g[,9nO.P5N<SL2(CPU^D;H$WWMGc'^b>CoYq[dlhGgV$XiP9.G=?OlS$'!6ErE@Z$phB9n4F_[GIJNS:T@r,o,dP!a36`orr*haG+2Y@>YR:;>G=U>[*q@tVWVm]q*?B.hg2XLWXm(O[cHl$2=Xon7o<3,?dSF]6iO*1APohjZY;J6CM+De]B1?eHsBpSIY-@=D:b'R['h$Xqm^ig-GG8KHF!]4ls?OAAd)o&5,=/\Md8c*!7js1]6N&QprYA"*Mq$q].Ja"lUlX,2C$J8~> -endstream -endobj -423 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 422 0 R ->> -endobj -424 0 obj -<< /Length 1063 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GatU3>Ar4L(k(RKpb>=?lYE#,:M\Kq9J($_g6XNg))Vs3'']V,T0ML.S7$#DeX+:Gms`Ouk:.Uih(p1,n;YLX`Mh]-M^U2\b:>kPW,kj4p)dmrbb0cF9F,:SZ%mk3i%O&&UiHNO,)a^[)t\95R+B_4Y-s;K=)$4Sf41Ec]+[ht2%1.1KrcMHD_iIPDmE#"kAr8TRM1)m*p`[DQ:=ZU:b?5/DM*r6bX7JT?;tR?Q8e%qofgGHI"a\Dl:`>A$o[BCkD>AL,2QkQ3[ViLjKu5>]hYDM8>#1Nht!bbsg#S$T6R-umhk"`O&Pg@[oiL77a_oLAKHo\D]Wl[pb+f?!RU7M1Am>6,\>X.4+gRC0^rGgI1P\NNVUj5BWFHl\/pN)'e`aM)5&%qjMKJal8&7^r\[BMmiXh@:B#Uhap;-_/hkaU6.B[Ui;EP(qQ,T=a=;Rk4E"M58t]k`GIQ-VPK\Ir`Q3fUhCjeLT%2imHPq/8G.'*5%!,Em9L#g.oN)L>]lo),-YM0l,H>#+GUMs?X8k=j"N1%8m3Gu[Nsl5l("]NcSDQ"LXM -endstream -endobj -425 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 424 0 R ->> -endobj -426 0 obj -<< /Length 1558 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gat=,D/\G_&H88.@I9CuUt0=sYBunMCA+g.h.k]?qrMju85'q/'0A&smG>$2$j;B=o5^j11#n[7#+0[d>`X3'^.'.Lr4j8rH@bhG"(&eCJ-TJW9EOF1`#C;A^FiQs`_40>9gABc^V/$eg_U+I=Z^4M=2_(Xr*t!OGl-taq"F<+hn+bu`o1C%0qpf:R"d0u2CI8p7`(GLqO'#^2m<@!2to95g:ntN?'d\BX"Zo7!"k#87=ON-:kkAa<\lPgZ.ghSR$?&L-b3)^C;r]aa>9eI:V9dChoI#]G#g11eQYm7)qD;FGu>rp0QCs?jCD;U,lcYk\Qo%dcncd#5Q1LD*.8\6So/J\%5'XD5QO-p)Hbl<*q/N7ms`#nj2&rn2gcVE(u3pUDLCP')"h3H&W$sQZH/*>:lGK?Wei\#h=n'BQ6F?ELFCuIJ0pf(/d_d?;*,LpfXV'5qO6df/;1kfnmaOIqYIS#2T/`u;%3C+8@qSrjJE[-5'#0HfL9sqPJNR2f\JeQU$U3`:)dA4/X,/lXY*8C.e<=Rs0i*4W$WNO+/s?_CHs.gZ^K`N/3I=r,2qm5c\k0[jFtU-5*/"X3IDK8+,c:#tBk(%if)N=Wm#_9-6"fMPj2C.]TKg_(1j0]LSlgX8iW#i-W'1:L+9Vg4HF:j5N#I-M'[FWo:"Umfl/>DIMt63Z^Z1_9O!O;.'E2=d#Qaj?Tq=aKX864A\M;R>.US3YM=3WGEFFTjk-TqOqT!FM#*jb^Z6(m7L8dOJt)<[0gWnY=SEEj>VkG>2M/TSaRM08UQKaA3EC>FoqAaG'rFseGuQ=Fm]X@M'nHB==RLA2X!um.qG>u9nTr$16M7,glDe;%:DT7rTOpm\r2l&"q5n&r%O=o=C2B>Cb1M:=)lH?II4%GYLh#L"eU_a;f+hHbqEf%gA($@j4@6)G1_C.1a=D[!*Ncrmg\q:)\jG6>@4`T<\!FqEGJ_2";7/51@"0W",[R`30 -endstream -endobj -427 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 426 0 R ->> -endobj -428 0 obj -<< /Length 965 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gatn&?#Q2d(kqGM/%A8*io2W,gXRd]>,P,!'=sZURRl]hX9k]\FP;3B$oll_-AAga'G5ECpDhCeE%]&E`AMe2$X>&a$s[F*J;u-Ed"/,4oN_Tmmt;YCa)Du/d=r%#jW?t;:FH&aCS=rKf7hG4"(%W.Vft)A=Ht^B5-.b906oHr`h$Bk*6(Q$ib4m@B`=7:s*/BPNuTls)ieARoj^s]&$,!oYB6J!%qUHYrY[*'WHB]]LLILCbfYa-N)Qs=)HCW<[Znl-)V#A9cdTN'S&saV[_0.c[Cn\]5+Ykb.QbHHX$/rTT!p8Iq+e5`#\0M5CP]%D[\[S?P.#(X84Vq9>TuiXg1TE`1n]@U=rbHq;7>QFE:qip-R8[5l,#Er(dQLMnd\"J>m^C::2g2b6i8^RN,t-[D'tl>$3JqJFL17cPneJnD"&4m0r'9G%^>E^]dM[h,MKd@hO*ND1\!A-S:rnf:4COnD\Q#uJe!$L&6@X[fFMo=>eh9%Vu#jT3M#GL^kK`)aCo%i\Jpi7unfr,VB&6B#gC&E4=Dq_:+Z* -endstream -endobj -429 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 428 0 R ->> -endobj -430 0 obj -<< /Length 1342 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GatU4h/h:0&:`lHn6oB8+,WqC$'H"k0hcD9=_T15QjftU9^GYs1Z?.f%S3`oS+1LZMWD,If+#,Q]9j.;\/cHpThcZpRXn-o?@Me37o`k57%>ZG2>Op)E270o_,99!%'FT0GKq4?S#$rUOsp9d5)UE3X14kRg4EO:HqMEoS(bdT&*rbdE`1YU.kUD"PEP7%&E:-AZuD4T"9:\@3<')SO=E+\p8u;%V;*Gb;UcNfk%Eh=:g]\$&\$&(>o-Dp4ZOF/Qk8EEE-AMh42Qa.)qOq:5ZUL$9eqd],nXO>WE!Fl*sN9g,^8SI\O/Ki\[>WXDp.=;qP,'P[&i1_lafEc+[>Cg#HlpMld&X;V?-:[+Om^`[h?L\-C%\0OkOTeMc#gbpR)iXLbPYEqYAg@]t1),14auro,+fLgc4kak[IHJ&U#5IG6,5+kXh*?#nO"e.gE;=>IkYpr6h1]pB=Xm;WPFUF04:-i;mE19Bo?Gld^o@'`,Nc1im4Cod/>79bSBmje=?5[Q*;>1XQ4Q0*l*N)og!4*4=>MY@f.B(M"O6VOiHA9YIg`gS,'4k6mDRS)Xe=)BhK'LI/>AO>F^0gcR0Z`*/G%3_ruGBej)NQ$2WhNifa?&d/L$:WLOKfb1lIRN5n,$Hlb]BJIl#O)>.3A(&lb/-ZT`FZc:IO!'03n>UfPcu)S(p:[%0!6JV<7pXJ7"qk1X#9b(V-hsXs?cbaf6'@s%)+)o*kuNlS+R9&_FmR9?4L,IV'W!B.h'c3o`AX>KLFf)19%.jk)LAn<\>d(*4,Bp*+)^MPlc6X3g!/Du?sF0RLQH[eSe(ITE(/J(Nffs2Bl[>rtoWN;]"@\kFr*tn"deQ#b4l,@cBVLpDTo+]QKfQ+#O>Hj!Rs/4[PLJuWGSOIZ\[Z5!!?!*s-+oXFN@2_%3@!X3V>?AfiBT.<#qt9;A_#8m>$t;UI.FsB>q$uS&,\kN?\6!,SoH6_UE;+U(lc,EPJj$5\kDj\6i/Xr)\!A/)B-Mhq>]E7q\tIn^_^6qo4lqL[tFLaFV6nilY\&/eEE$5Oa[@\9Fjb~> -endstream -endobj -431 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 430 0 R ->> -endobj -432 0 obj -<< /Length 1387 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GatU4>B?Pt'Roe[i6dra=9RX74uGFTBfb":3qd_=et!5SKjb&(&`=q`l$olJ!ZbbgPP.^@S=>PQF$AN*27m);?=oM.Rj$NA/].r`dl"@3>C=DG&^M6!>H!>r'ed@#"aPKhd;uR3GYq6@(4*R-T>#s_C:72`X)Dqd!u]1gKjAA<^9Ph?+7o'bYp:'Z[&TjuN*I6M)6;YF^51fpVN4pZ"&67&l-gH%qC'%241*@)J/NO=2BLSTkJ&VchsMR-m_8\rqiu0]=cLH!YeKtEpZ%k-ct88#duf+QFC0'0>9l.ge5E0nM(tbcGaO"OAJK'RJWF7JSrlVO.9K(_C/]\I^q+8*=61I--moa6<_7'=4,QAJ;3/C#Wpm5^D)hY''(fg;_1*!9EQr2c4?a\9+M9$$7<[I]i!frteb64QLO=+rV+1GGcRF[=cVj\Zs^jXi&,NY4hI?(s5tb)#c*R^rMYPQCN4p9Jt=1sM31XhM%[cfks1G36k:Oi?7t6B3#hMu04m42OrUak?<2aLllIb5=OC\1Fb&D9`=1FQW+K7]-9o`8c(E]-..U$%Qg!?7p+Ec'7!WQ(2[dm>`YrLFBdc+-mRIk]\G?FqQ#N8kVJfU[20$%[EKKHkf7Pp^qLpFChuN]LJq"lMYgr"C91uhBA_9.\nmBZX$LE`f.5Kog]'b">@j3Y&YCp/&+Ek=JV0'Ya_Q8L^[IjHKd;G.L!kYlpUkTY*j$([,d41IqO4+G6jn!C'r==U2:AasceDZ:9M<%6Xq;Yd]qgl\=O^^]M!Bb0ZU]);(MWjVt$gHJ7b1"+<-hJV~> -endstream -endobj -433 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 432 0 R ->> -endobj -434 0 obj -<< /Length 1821 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gb!"q>uTcAn=tSF3dK,UpIi-!rQ*[ikgO,0pn$e3oDH[N*fk]h'0k@\]pV,4C#JhdB3mWK*B-DmSN%^D=Ag5"/(,8j[sUQD-2pRI5_!=Hc!@XrUa7H$=l*1^O0PGIM=\24s&E1hHX"t,fm]A\Z`!fRm(8an\m>aNM:Y=,Uu7Im-;=J#nN[N<*f2=d+X2jK6')R](McZcf"pgUD(t,%(eDBlh+eDgL!QoIP',d!u9?ZrBti5(2a95MH%bVAVUC:9Qp]>=g@hr^]5N4.LIuX%8hWU<1[&SG?$W?1\u)R@)6Z+$/Utikt3!MEK`4RB3X[2_Qq1S2rng]PGO6i>Me#"LRp=t#6]=sW/RR40<-&dqpV\G,$._RlalT`?$`o:k2LW*iq=YmJL$.da]8J<:!9Q_6:@&mOd&/YoDa,`EHcmq2]3Al6GbRX@\d&8oh9GbQ+OUe_aQo.'Zm$fe@/=0RA8uYd::UE6A!,s.6?";2a\D9:Ba_p/Wl#cV5;H-.U<9"$Zdju?N7'"B[=6TqeW(7PAt[`"1KJ=R4G$6H2WUUd+db26HQ%D&;%O[2Cl#S:D(+G:p\0Zg6_&=35t#&9CDraTQ41stL9O1*DD(&=ZRD>4Q:5sHlSP<@0(6'gP17_gZV^AkND0.#T)m?hk)AMg&e1O*Bf7iR!OQ]lMOMs>VX,*3Y](Kjne\_6f:pr`AWXS19EnoF(`hhb>7Z%p0>P8]s1U!%hnk<8GLo@9a6In/4LL1P!&+WYl-+=O=t?\-!t*R!M\.nni;gQnHPXN(G2GP#^0!0"84bA$cS9o"+6n!2)2o3,TfP,FM\/k:+;Q_:QADkNO%7a3:Q>\>;@HG/U8/FN;;S%QDO(Df;Y.lLId[Nj.=N`GA]ms5@l^d:6uF4)UW-@=]o[A0%>[6jE>u5-!9H(GbSJ]ZYVV5"2F7;i?:u>cM[aQ3\0Y^>,K^q49KZ?b8(k!o#Z7oFR8&YL4]o6!FbS>u]b*t;gX\uS2 -endstream -endobj -435 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 434 0 R ->> -endobj -436 0 obj -<< /Length 1707 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gau0DlYkN9&HD156Jq&:N?[Y!]0ee66],I=J0f40AKD%ZVCWp;\>#53qs-cBH'7:ADD;hkH)H#ZmeGhi\')nE;C_R[?B>eklprh.(Qi"hD]?c!)G3)uL?DfK*0fGa.'1([g9JdXGWkRCe)dI;QA*M;*a`q9*N$VKG)B6fI_p94'J$9?)3](4RgH]os/U;e1U_R"L/Zd\`m0RAACad2;gr:8"8?-,hF0]f3fR2nNE1\3>H&Ptd>jn$Y929CCfT6Hl@=VV?RF9Nd':qdcF?O)Y"tUBS9-C?pP;4He/R"b(#pJiIdWC>-h#C<\NkO!YM--ETN?MlHte6>sk/^'/k]C2o=ag4(C4VWG6'tA^)@XlHd`[!lji!(NnRM<<^"GVN>aI8F2BI[lBUnJN&:o1R[HK7Y?->kb:XbR-^*?B)VoDEYMh4Z#teV1'gl:P^SDE7MBms'tp0V5n='8eYc?Df,F3dI+J/qG-KF@%4H2KTu[\-,H5glTre.kaFOqMY[gL%!fn5>qZ<6QpC8Nl"J&Ol@2nAfHtnKSpq6PJiU1Lq&$`J\A"Ii](nI.n$eKRkj9?G+bW!#$'@WP!^;H4+6L]OK%74KR:a+9FZRr+O\'0Ilr)pnZ/sE['CW@0C#*0N\qg(RO>O`^L6l;3eHBgK=0R-"H%#n=r#&"[n/O"N3MrP?$nsb1;#-E/Qbf*9Z$1)JL0oiqh06@-57-"c).TGPpVY(C8!cIZe9KHi.'1\lJVjCAepO*NW6kdQVXJ(M2Qcdccl4oW8s9:9_4aG,P@3UYM&C5]Zj9Bf(SM_8=iG;I1MGd[d1#PL=<%-,1kR,#`[lA8=>Z3U5Vr'nK3ra1,me?83Pub-D?\gH)Ch4^%Bg#u;^$q1:#R$k7`^CFJDBP+HVqoXL8;?()p;%g1.d9'X0nB'"$MOU<6sW]Ra-d75un[i^>k0Se?6dOWm0a>#,9>EH"np>Z8aUT,2O*/JUgYR2uJ;Q3:1X/D3>=5n;^WabNGWGFu<^(Cb.s!pe!7CP%nT0PaM6b,c`rr/L&fAW+J/B[@6=9%t'E(GePjNQ6hJV=@,TY(_rkS-j`g;/#`n)3@Xlbb<8[U78p9(![q2g\R(K^Q,&Hb+Bg+qP39_P(]380Vr$SlK9*:%@/`-=@j:^#1=H%'T_F'>/Ts-'Ga3Ud4Ya?\3E.'1_Ik#Qnes4fQp:/ZJ.('Q9n)s;hKjDlr8gMmKT&"V-G_Y.bB)#rR^*t>f$]%u[fZO~> -endstream -endobj -437 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 436 0 R ->> -endobj -438 0 obj -<< /Length 1136 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GauHK;,>q#&:X)OaCC?eM&k>B2MqW9d?r(,;YDlC.AUjNd3cg=Yb+/#F^c^meeFpn+PY\"GJ:]XMgIAH%4AieSo)`!&D=k-W:'gt@C`hcMDK&!]BPlSL+kQ[*`aVLMFE.<_%L^bSI-q8RK=S%q\ID:-aSfG,qLT\6%l&+&#a8<[NY-Wf2t`+Y3_]*i/5/1ROSS!TVh>#'8]%EdMkO0cgiqh_,MA6Ybd:rKe%@I=(S]lLOd\1`R%Hj/]Haa6`f`;]1O1kIe>OVSFX$Am$V=Oh=@P>;3`>/tu/&Q1VMt>]DHENl*D?io\r];FXps4BSkInarS/Z+Z^2T@\hmg9J1Ds1#=DHSpW%*OC:B=f1pRm*9u`>_9@B@WtQObc/lqSO@I0(,\`gqX^k-&F>Y/3El[b0lP#SL,R8(,E`#""#3&0:ph`6ViM88.+RX%GGC;W`JNPM-1?arT!\T[+s+"6C5uYhi6f)FM,(Sk0h9:/"V1D85Yhhs(5.`/JEm9o_mX@RYL\X;H$rTpm:V2pO8rSKs"*m(ltnS(qh/qT%UBP7F2O.7%+@uQLU-4djoR$e&@XBO[./LFu6%EpieNZhY/>MP=^3?H\lm3UNt2*CV6DBqIH'o[%Y>ta([2#q:B1QSBZq+_FW5LBJ>6/l%DjR>S86&j%G#bI:MK0^ll_4VfDHl>Vej%a:.#$?k"8:4kLEOmhE&J+Z4$e)^iWpn/O5GfZ_!B$5mR[b\KA4II<9(s][`NL>WOmd+*L@7p$I$fcR!JZPGWjs%Y)@#n<_a^9(>fMri;C4Q"6N$H?:P%NW;j;3U*-CfXM08TDQ!>"BfpZRDFFpFarD")S+XA$l\S7DirV$Xl+6DLsCVrTG_;euh<8FigBs\1>YLL>=O!/d9l>:-oH@:V"s?$XLV(Ru(KSEQFT$#mkSiA*G@#Pg;OD'fs;Pkq?d"Au>~> -endstream -endobj -439 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 438 0 R ->> -endobj -440 0 obj -<< /Length 952 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gau0C?#S1G'RfGRn7*u"M*DZk'9e.f!f;&R(PYbt\nb\J[`#;f^W6.`m&!PDF@(D4dsKBNn\+*H\X8B5Hk68]0EAH@-iiud"9SNh!9*K\LbK5LR'"2cnMX#U'CZ[Z5%tQp/ZM7D/u!Ueop@nN(i]hSs'\M9TmTR0n'4=@,VZ75Lq/d0*R2pj;siT7_oS`c.3]\*]>`p`#ZaF%#]=48-PMZob&8Zl0R_YeFn_lh:dZV/aFZLV&ioj]pf$-CGNn$t.lmf0tT$qIm6)msh\46X5!Xe9M)R(hX`?(ej,I#Ru",DkjlC!T^F1KT)db1`>LCfRk_nefa\bcmn)tdRY!tI:!)kf;OX8)5D]4Tr_B8=M&4AgBos0Z3]MF8anlJKL>bt!)Em;a4(.M+DO1Im-nn`!Ds#]7]/*#1A#B0,[rrh+pWpqH0Y*odV2"7G4HnkA$a[QbeaHj3Vk_b;-qLi$K71=sch2.'EPJ#TXn%7c]U$U#dS'L_Kqf7<*eeV9VN_t4JH&8UA~> -endstream -endobj -441 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 440 0 R ->> -endobj -442 0 obj -<< /Length 1438 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gau0C969,O%)2U?kdJc1U(p,^eXj?.kqnsuFH^rrflT9\9KDC\P!dC;[_KNj7>VRMq2q5.0*29(J3`#prF%F-s)[0Bch3es54b<;$ospS+U@hF1.&\o+_S'"^>4EW.!X,:>%@qe9S2O1FYLIb)i\o&sgQL^7Z/GHr!gY\)5cf$7#,,a3j98fiQ2!93/jD!H(nGTnZBSqc?\8'V79P3NG"oYARj&Les/7CcQ&F$d\M^Ep?+ZA8L>H[7Z?/GQb4lLYJ%W[O8]'$jCI`^V*'%7'!2;!+03`MSUhiaE/[qr3oC7tECoZGhB*:I:IG#?/SuYJY5Ik+MLpr;q9/i-AW'M91+`W;P4?%3rFn45am)&m,U-uX"";E'.#.4b>$j/M1B,IZ$SY7XDD4m$[9;fRb2&UAe2"fGR0*1e&34OWTTSJA@V&571?>lU+rAjK_#UUc^J)K.>%UB?E;P*ipQA]!4=7d5P[3%>0EW*O$em3_C^7#=nm22Tu1BBNlc$*1='K&-R4JASsUnb;*GRt]Mo]U4rVLO>P"TXohHa3"GFnt[5lI^oYNJ6pp9:K4P/M)?!ZA'hT^D`UCK^W1edAt*%-2"O^Cr'2)lpcc)PqBs=APA^[kNe&E^-.irF65Q9(%e+;%PNRanA3CCf;&\jP$(AFpPq$:oro[41UtIhdC^6]L^[BM`Do~> -endstream -endobj -443 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 442 0 R ->> -endobj -444 0 obj -<< /Length 1212 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gb!;c968Q9&AI=/pdWG'f6[2q-T]]dARL8$.2QA/,uKPtM%#Oei85bD,-;O5E=*MZQUos2p=n-c-i%443PPna'_m5<>ttIi@=l/-r#lU0E\e30O(*%=p-,&2DuA*H_dU**U,8?(qPW0dDu+Xt-]4&Zq9C6iF3UP-g";m'Ttgl>NbMHRL6h9GokmHs#IO7,fi.&_`8/4R,SJJ5TsdGh3pI,N_\9A"lE879:%DQ\]U%pV.Rg#CUl4occ?$i\=(aHqG5&CpT6.FhSc0MO.1jLUGi<;DKMU^V[g*5p[XmH*1&]4j2rS,ed2PE2_q5ll#]84`^+4'<>.Y-VBCSOLhhGc':d-8tZEE,#,\_DI:?K:R9?Zn1?#QbM4Ek.j6&VL\g_6Z>^M^nT3Ofl#*cd=tM7F'^Ync.Qk)gXXL0Y[)#JcGMDd!Tr@]f+Pu:4md[VntUNAMer2Ae_4rZg^,..1eQsZ#'bK8#i@LUbP/HIN'>l%jf7nliT4\QO8npK!DF(U)7ZlQ8LF..YJqZ10;j0]\rM\d_PDP)9?jbR;6UqtOZ"q8;<0SNl-S:IMYB!W6Sr%%8=Xfl:IM*\PVU2@s:8au/d>mt9dF@VuDaT)q(R5K0*om@:V+8mp*&XM5F``"=S<-=jZ6*LGQE?>l4O*_q@2lD774W!S(YYGW;<4g43_=;G+&f6Q$5S8jP?j7fU4gG']s^%ngM__\*GHNJo^W?5fiuk0L4cqZ`]`,%%FU1m&U!2r=!5M6Bp^%L1eFO7UmkdXqU&,IOrScJhhsr([]_^"A$4p(,%-!K9;`Z0fD:#'1+oMFl7M4&~> -endstream -endobj -445 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 444 0 R ->> -endobj -446 0 obj -<< /Length 1303 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gau`T>AqtE'RoMSa;Z':?@9qM4`/UoL-T3``sX#S[8%ZtD_c?t;%Md4:16c:!GX^/K[KbKO87TU.W2\7WM$A(FOYi%LA%.;(``tcn^q"uI\n4#NsCV1l(%X'NLQ!T8/hjJk95+NBP^FhTi![fBY.n3#dl)EY[F^E,VPRjd4j%E@+[f()s6CYJrMY0eJqlg=;cS+5=PmJ["V]8uDVSQDDp6(Ij81[FSeD-Dh-aGhU9rFu@NC;5bdV-1g1:G6fTHomHOIHD]Q!g6\#;P!;L]j(iLq&(d9@%5+u3)tZE$eHu#bee0s=cnq?Q@baX*ke;,VVdL66Xm2S=[dW.?'HNd?CPltDO2L$Zl]g=Q0)WnD=7mYs_[(tBX@COlBR!#&51Xu#T`BUK)nasi-g7jm^8(g+A&SWV"cEtDn@XRXF:gcZt,,tor7`U5q!Zko(QdR9I\Eh0,6[9g,"ZDu<3M%5Aa.#eB2o%4L/ANiPM%:IWc5ioT^mc2bSQSLcj6&Xuj<45:X($h-m:lKH0n3[JH,LY$*EFWQ[+*Ws]XQgJ:WbMtRPnGNHeUWEAj<'iQZR*^Q$H(RBB_:tt`Q\p'@&4I%^K7.gk!R4X&WV+g+_M=2VJ3*U=p>@18gRFN]oAU9UB4P4b%r?gjAbF\2:m)lge,,t8]0!qfGBNZC*S%u.eEe@K7IT+*/e'tp?S5WVFr7-TSbCE2gXn[=fW,!9tX6!9ocVl\e*>/"bbJbYpepQf%V`7lc:V!ULK!Rgg_:P)C9r#7J"'WRJg&^/p[p@.kscX"JVadKtW!heHJX^24nK/G<)asP!mEt5\>KRm'ONFIJCV-i=:%Z-M:o@p9V>PB/\;\[>tmK-T_!S7L7.rikZiBV5.V\kRiDEXGn5_6E#-ZM17KO:an;b[V48J8:\=F2f<"7grdM^M(Y8=2,E;-=>.krAK^Q_!m7b-hUl$4BW@)Hb!u[=#.1$u9'mBk!Ii28q@VAY%Zd!J)+hdZg0atu1iJ*Q=EMiY$,6Prr!PmEu!Zj8F&Q^:r[c]3\%[JU'!$b/JI2kU+Rh+g-a%8emH(N&\!5Kr'O;SIR0(S854cje4rl5ZiP>LF_d/A])U\L0OA8'udqb98KI!X9M)-AllG3^,@TAcAkbKQ_M&gEUV!+GORe`DQjA,KY4"7B.@*I.-l^XGAhZ2@>1W0ssZ"iet49G*?e~> -endstream -endobj -447 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 446 0 R ->> -endobj -448 0 obj -<< /Length 1352 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GatU4>BAOI'Roe[d%f([WWJkupM&ARB=$'X2Mo%!S"1%OZ(om9*.ck?^O@n(iWpc5:+$S2Li\92mss<@-a2F&^dEYpGk:#Bn5^4`"nE1L.#[3-35[pP]_TSEGC"Ua<=60DonE-E*:-CsYKX5\nG`%AIn>DmkHFQ4;e#S!6Q4rT)/cKA\uj3^;1\6>1IBKCmq/OQdZ7kN2A-g+bm#/9Vs>APq0)GjrDXc30#sE;?!Y1,Ag@cY"\bn8EI3+TH2IET>^O#O:EH"eCY[jdO$'/VJK34a>>D=KDs'@tATAta=KA+nE]`n;U)]cSdt*dU/+Dm!ftkBFN0R,sa1>m^pgqDIcYG$$LFldk(FdL_T:cr6miH-a&K1iZ*QCa.ANg[OPq5\sfQYe/Dm)B4h:u7apucRZ_Y9H94#"8q8m_F+G8J"96*)\:t^$>ejb*qjL@l6jhH3Mj8WU([\j/PD!50>?]JbPK!#MAg`5Kohk&e@:SNXMBbb6#-$^YG=Db<,r1FlGC)*;!-c_CGQ)\Z^eHJ[RQ^'U(Mj+c7QG:]AQ97;%YV@*rJiHQ#m/3&d/"\_7"bV`i7^X4`/S<=!^th/U0%q:=L'K/(Whc`)!-DAfpKVZ+.0'6euCe)):&CAnQd6`=#OB-($g<8PTl)baB4!!LkbL]>a0d7^LU+,e224W1XPcNaYUp754J4NQr4t][?Tej5N-pDcI*oH.1mVDn8]S2OP\**S8$qIlMG7ohG[?:to'W.C];OA/-iT4?6"O2Gd!Lg2GCrY-.n9khMoM'Vh4eIIVFS)s,bOe"4EF=FY=`rb2^ZdRb>iC1Y<65,rY9[Ck@;(e,03Qen\4#Sh`)B!1b3a4FF"Y]@%a9jj6fi: -endstream -endobj -449 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 448 0 R ->> -endobj -450 0 obj -<< /Length 1048 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gb!#[?#S1G'RfGRaC@;_kH?l8GhULkL-VhW`X>5VCY]NbOtFeqq"M;CLRlA#P>t/P06VF*\]<;La3I-#42!u-5nH:/R.m8[kTL22+*%p*l;,DS5b8YE45]npiH:O1Ko?8^>6[#8rRL7Gi-]a#Ns`oZ@1!8Ar>L=pg]B<(j&NV1ad8R6RqI\sP&Mu$V`6e;H'AuR8Ml_e*f_kn\"A6ljYH$_AeN0m+9Sc6[pu@+Z#o-A@IGBo!YJKE>`S@d[+P^XS4bd`LZ>\W=e)V`knS.)5/u=s#$AV%jRL8WVWfk%@V0J=lOi'K6I_8A."S(($'3ZC/1#,f0P.Z18cQ\QG^DRl?%2YH=f_&fNN#t5CM!\d#_nG5-\HVi[%+>T-%P&Ue,g8b"^rF[(O=C9lbfi!BZt"PY+i/fWt4QDW4'BAab,Dg]i7+XZbnuc6ChfIM`k@a*7c749b=SpWh+-:&+Q>W.`"/-CrXMKpkK>P)74PSUeC#IN:YZblrh7WEOW)!Dmu2_Bb\aVMCghje4)/GBcgc_KY)c^2P*Ngjl*S#WO<)VCM/4SCmFcJn>i/TkNkk*h+p%*"!)2:D[dCO=mH1lGKnh^R7OP;+rF>.Z.=N,dGAorTr=W+=c,,Vdo-h+c=q22J#%&pphclY_k'*s:M)PH8pF'4)kAc/F.R9[+nW^U;r3tL[i;+Ps^Dn&:eluut#@DI/TX.Kq#8sZT6h5".)ZYiYHqV%d'M5fq&^\mr+6Z*PThs -endstream -endobj -451 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 450 0 R ->> -endobj -452 0 obj -<< /Length 1205 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GauHK9iKe#&A@7.pt!fc_Qm_*C/6Mc;`_8f+nSYn*@4R=9rta0N*rPY[$//m;iZp1^qg-_L#m7q^IsY_uba5OQ&,>mEHoqI'VMVC!2T&.Y60KCc-jIhj0C%o@u=1om<#`lSS]:Eke:?n1-m+ue(o1nDLs-E17$AE_S`pPM0PF_cl6bi`^<=Y6A<'`9-=l`8n,p!#q_Ne08VGnB4g[Xc1H2GAqIORI;3o6?Wm8Si"1'BO.+1!L@#B9Z2N'ufH'j.X[.QlDN7,Egceb`/#!rlQCg,8`4CNcDQ9[W2/G3c`,!&]km>BDs&1ej*d(BSKHJJNkA5*m8pjOX$Z3Sb>.+jY^7Qh%-ID6Pj66NDf#"4'.u:5&aI+j#b!$[0nTX>5WcZ!8Qe9"#'RgJWJ+OndY3'@L])gl-*\!J(2TaeL__s>Z`N!V\fTI\r_p";qDj>#71IM)QTr*D#?DM>>&nH?W@b!n+BF/IXY@r_-)%&&'Ys"1HhSg=i6r\7;Q0R(kmDV&N#j-Tc%e)MJ`s=XQ`28*la$$GUbMBbkCBtdlB*j[5\$-$.Rr)'s7p10MJcCpPH#@4L-<%L2O]hR7P;L<4aZLdj@MVbUdR2K?jDD`qBod>0T#Y4-R)\fSt7aYJKq^;@)fQ>"Wc?Qu4D3fk/qj[`;R.@cIPOZ`u*f`(R:o#'iVgD7t,#7b`+N#7-N)U#/>H4i1#\CneVP(b\JYs3tQ)p$;SCUrPGO$[:34odk#J]NL<#l4Fc`mWr./!>+^ua-[LToM'X:dKXs:qn*oN7C_fAXfd%EWF>/D4Q"M?"8-)1s2oqAKbEK\^AX'FcOG>!Nb']j(Ss9FWWKIAT.I^NI3g?]4hq9d+/i!H%K~> -endstream -endobj -453 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 452 0 R ->> -endobj -454 0 obj -<< /Length 1295 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GatU4h/f>L&:aF]_:pt+M%1\cO7oR;,ZAoif-YM6dW@OU,@]@0Hij3!rq-F?U]lYYpYL(Yh;JZM/)A%sp8A>/(2oOgff2ITr,1rlE&k/g^P\_Y`.nrs3Gq(h&4EXDEqdp8j81hdUCG(_8Os3(8UjFacV\-M2XgrpXn$\@TGiq=*]G(Z&0U2_N;6V3N.jutKX=6\p9/_PpsqiBV\uM'BS_J)[$?5EU9$Y42Z"f0@\#P>=%*r`J%!N!;!oGqB0H_5[=icA3LS_?mGD'SIiU#pTO8XZm$N)oAJK**=##PE+r<\jUD2d'@I?h?j.G<;+Tk$5H?FPdi$n)_beBSL/\!,hgJO0a1^lq^@JROc65n+'XR6(mVa-f5HMW0rt-8rSORSd5934_[K"iInS7_;0/pP6[Jr(@&7rcX-hZB$g4(]SrRZoZU/QupT42"JHa$,EX9MKOAqTKu4.Y_"H^"Qtk:B>]'R9ioH#>M>E[4\3aL>/M!7QA$G8E3:-^DZ?HO+@im[E7s0..oTq+f#4.S"Zf8$$=;b^n&5X"#nuXiR%[@4'7*30Rh;pcgbP6@:Y'P(XaXOVscb#\%?3>h1P3@V/%X]t%*4C'_5L4GXSF3+_ACr4T;C!I/Z9Wf0$aN1EicOPXj>!b,V#>3onKHom>Ud3'to?rBr/RFbqg72%umhtmGp%Hs,9(e*s7W[Btr5s0ebB,Kpdb4%Nn-[q#;!>-.05mh7kJs`5WRJG2;)%(^3/poV.PC_nYlKcK`jn_`O9l;%;I_T4fr"5GWEsSn:-cVF`\0sb4k]uGX6Ln(_ETFEqoAp5p6P4lVNb4L^6*VJV-0c"r2*9OaBoGZr2FMS6n?fj-t.@.f9?D8AB$R3&?&kZK-Ni@5L!/iI$]$Tl5d[M>#2,3=eGH#@@?jfG40U)M*X@ap2OO^c_c-=`eG%3:&?mW?p7uPF["'S:T"=l!3tpL/6>7.GjE3g4RK(R=am!eRUHlUn\@)q24Z],aq&D0Qn7['(>].8df*r1SEo>sgM,:0`rN3N;Z^j!PpC]j,pq\\.L":L^f\1^&~> -endstream -endobj -455 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 454 0 R ->> -endobj -456 0 obj -<< /Length 965 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GauHJ?#S1G'RfGRn7*hsM8/$eSsZmA+cs,bnA5`W>IUZsOtFe1fWW>854#(OS#d7fM]L\rI!Y6E2`ZjFn'2)%!=V6+RKR"]5p4N=";!1-EeGT++MIqBVGHGgGliGHpp1/Je=p+LlQbtU?]"VXaSAlE5d>sZ..#o1VOt#p^0SrpB4&B&4TTK=TS-"2DGEC&4Dab@UGrr)P+$$G.9WTS1LQtp.d^+AZ^Y--)jW&Bk5I*MFZD@6ZVDL#>DF@TjPkBc[APZGXhK.MaZEM$/:VRO)smPY;'m]e(?eQ?T%r7[p*_tB$^n,^o=mn$_fZ_j*icY&igJ^YUk"n.!#`il=A>qFVm-nlKK`cUL5;98;dN6BUPA>Y@"!56ke#U$<=!(:i\9Y>j(#6tV(AFO3%UjZ@TBp5Yn"H@2i006^:qVgm6SEEH!Uk'R5FRZ*#Fm",o;aYeI^V*+rMM":Vlm>&D_DFe0'o?%p?:kILp0^"9i\/dFAW]&sfFo3aGo]1=Wsa[,CHMN9MGdUT#bC5dEM[D5k4f;1I\]Ej^eCcC[8[5dZ9QHq=GR,bGJIt;_deE;&_QqM;8nBJT./sI^]OWZ[#uLEuV_))YF(1R:!LE[N?N~> -endstream -endobj -457 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 456 0 R ->> -endobj -458 0 obj -<< /Length 1000 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GatU3a_oie&A@rkFL6s\&NMA&;3?f3M6C%f:cAZ,+&gW#8]90(6Bpk2$?B`iP8;g&pE8La!K$mq#$!SYW*]M.X[m#!=U);V&]dQ$c]7*k>8njIbr4hZ-LA'a0`Gh'9/f]N(p)Z!S&JkH3kp8C44+hND;fSEa1!inR']O7__:bn&(c#LQf!7>*sH:S=I9M(hja<;mIcKaGI3s#5&*#u5Jl\\,QbK!;hQNo,!]`/_o+*KeCMIUm.+,CNQdUNP<4>W)J;X-X@+Zrq8),HglIU7Q)ECS\l3V0U8[DgS"^L4Sn)o)RsdTW)%Rs\ba&"lBIna)1jb))e&2SG9s"3D(&29YP]bc(B1j]gLEId),,M;AOEd_R"'GH'J6b3QC6U2igm$03]3IDoMf8l0g..gE`BLn4S`Ll/]0klUOWS!?&DASJ.]2%i2-Fh9M,GTkpY'U/.2$/"s&4e5KqB&`NJ(dE=R=MT3+;m,*_ku%XF40cISGb=!kd2u1=$a%\[+2]E56ak2RY2Br6@c$EQcejR@.sD1:LV]cY6ht^3=0+g1$gIt*244fa_qie9U#,t=*K`An+3E$V_\!Fe4Otl18dNF$^V00n.PN+:^k\r8(K2o9'efirr]pC'F)BpH'/Pc-oi/FA7-`D&;1;aWRpnWtG")nh5@d92IK~> -endstream -endobj -459 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 458 0 R ->> -endobj -460 0 obj -<< /Length 1598 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gatm:H*KAf,t"ij3kIF^"2H-l-fCJ=oL$nJcVa(nFn%n`h]XWFKU5H)^^O!_J1V5dj1Lj%:Cq2cK^I%?3jT$LoSo9!K^/HeUZ2*Qr+D;jkrdG`fC\*i>G:2#hR8=(R7t7r>>Bn)`XW4HZE(AB>(f\]NYG)PfO@Yo!Jd=j0dMCU]W_nV^Lp!C_OR3TBp4EpH,"g%<[j/Q[_"/X"EGG8U:;pl1GpT(*Z;*)kh_!m]Q"CI9;pY7Jl\pfF:>WLZYj1l,UWYqdEBr-jWh0rWn2SgDd]BRr4F:?(QM9RU"NI(_\hM8hJ7r[:?hSIKAD>:%9)hP-LGrE.oarO-GR.AuTRl(%I&a/Tlq<2c:A"RC6&Z:$KY!>*&B]e+AJq'&E-,8<:QH2PSu(Og!tlqdS&[h`5GO&l,J8Z]e).1n*3/f8.V4Z(.M8k'#B_?KA^#I"IJ0Vf1K/C%562/Kf#oj9769WboI_0tseGq?1_@E+,k^Xd@Uq_kGV%Qc6t#cah-T$in^PJrWXoe:DY%4P?pGU,Ca]\c;T*doS_iNT8\D#kn0&`2d)R&gW4H_/5pAOdF2SGQ7ju?j9R'e\:";Y[sD-T-nJK%Q=i7[Va2_XqA^pei:41%k\Ngn54VOPs)he#-%rlT@0f6d#ec=%]EW*[1P&1VQQ>#l9\P*'hL+D9&(O_)O3nSKHohQnXPmS#I3U81O?JIL3d`KG[B!V6gQ-#m&'VXfi6Nj@2W%-SC+]4Th@j]#H"d"Clpr%T(ZtT0eJk9_tqh3h67=m_`PY/ZWPX,_J6qb)-:nU2([:?p?$e<[XYT[[p#]Z\(YZ`"=u+^q;ts=!US:g1gt$,5>$Z!S]/Tt?lZqFN?Q6@g";W2dt<&r)afE_Yjoh+jb(]DC43ZOa53s[=F^I*V=e=NC'q0;0i\^kBrM:NLBH`jfFlk=bgKUN9!?H6&X&(,89hK(4>0k=YH/_S/JW!#],7^Le20kmqCY7QlMq'DW/u8MhXL-n.IDTU-@>>0Yd6)-LV!-kq#34<]t>NM]T*'F4P^.QoS&H:H+=84k2CZu6`'^.@8O'<)qGd$NjCOg<#>A&PB`jE8D/HK?ZJIYB5E%pDP>E]'-kO>G^D.?1:LAs365!j.r$eYcA\g>[#APo&bL5?pTOG[h$INihDI\@[U"^Yf\?+2u8AEnbf/9/Lr/(o703"D\%`~> -endstream -endobj -461 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 460 0 R ->> -endobj -462 0 obj -<< /Length 2370 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GatTJ?#SIUn3+P'fSbq:;>"YV*Vtj5m@#UYR`$4#/42_HF=]g,>tN>^YTH)mG7m]YPVa6T_E6TjmuDT^qt18D)IWlhN^E=e4Dc\@a2lFQ#Lkcq>T[Fq&IAdT-&H9e-7pQlm8FZXF7K+q.OniEU\-H#_SQ!8AZ7-"PT8,F@g9O5"gZg%:,Uc=!)&O&I_%OUJqWO7nZ5PRT)eO>b?iq-Y;KPr0[!K$1Y8%?7l%DlAF50d>LM.*^4]-cTJJ?Ps0%=D=nnt$n)p;S4MrRO>\A92tDLm0Uo`,;n8&OmW&*NY5*d=I*_=iRp.?Wt\5EBs)0-Sder_^l(ch!.VaXh+EjYsg$/j]V@pou!f&%JI=ZRC02#P2[f6.=moBCr%`Sn+1igcj&2T,ILAr'Q\##>==>#]fUUXpLpPe&)-8m5!\5:7^#I10D`;.XR`/ImYeZ(ls%JrGPO4A7/ZL++&,[\l1_g&kc9A(L/D)H^<-W2hMfp?2ef"E5c9>ZY.ZOqUX#/o(4#UuIHWc_5h1ajn=:VK'IKjK`u"tb4&J90Rl>L2fqgF0:N$rUH:_h/-GIS)7K=mqg]3`KXX,J)3$Z4@_[q^ldX'O+fn4*[[IC,/ENj?@KQ,D%!J8o2XID0m(tn$BGof^-NcBo%=\iY9fi1+mo&Z$m0$]9ki^qMWHC\-t0$]uA_BLLR9*cc]G$uu$hpfR[E'(r4WI?06Y"HtGGfRs32k#W^=NSOlp'=+u=+,tcR.T3QT2+S<50j3+o)@,&eaHT2bHoO0RQbV`N^HA>S[5==@^mciZ8/^C[]2>DQVm,QhuIEm(<1]6&[o7]1YKhk59nEb@@sNm/^'O[qLKY9XR`aOH"L`i.q)3tZ9Pn2O0qZE$(MWu9oJ+>)Z;u]m\hfabBW`$0b77?iA5;>M0WNF/nJ!rP_<`8HuXRr:M2R>#lNZ]0pQ\EQ9NDcl!6kb#>SU!El`[@/#=$^n)ThN<>+'eP?B[mbItFo,HEm#%[Iu`;(%m$8LBgZfg)==u\8<=O/s5@aeO<+)R=a;fD+e]!LT67jmGIPbJq-t8<4,(nlQ5F+0o(RM-$s`jFq2p&ih\+Dbb`K&3]e6Y%JZ'_7DMtXUif,_3$N:Ni$B=5_jPB7'#GDPSrUg6C]SDNtP?pV;G=Mt5l:\`!a9-OAY4&VK-Go#88\s[IE,.4uV#YLi(mb!Ku-NN5W,3K>\)@$A:p=o&dqBJS-#jm*JVdI_cXhWpIY3+>ppFDW0n`3:;OfA#1b!qVe:9:8k!75Y>Er~> -endstream -endobj -463 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 462 0 R ->> -endobj -464 0 obj -<< /Length 1733 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gasa1gJ[&ioK?R?iIM+Y#g7G$:V/\B91ul)$%6MKN,b*#6XjUQ"ZF'lHR2n)NY<:RQsk*tF2'4IVh<1Yd(q>TS`sVA3m.PI>ks-qS4<')G!1LgB=`*^*"dqNS-puA;no8p7$,g-2*49HRq!5fg)F.i)7S)o;*,s);^9?P?2>]>#Or8gV%3H.NRimo8BE!c`kF&?tp7*D_/.UED^k[M;DF\s98e2\`k#Q,i,Ik'$'fHYH_9j'u\aNC%*3T_iT58u:4a2P4*7A3%WZSc`,>8rpLJc%2GHqSJ[BBCVJV_nK^\2b)=Wo-5p'c3r"QZfZ'_)ROabuhCtUYaZ=R+O$)\0h)2JLRYnM`h*]>J1o=e,*R:cDUsL4\%0V^.Le3c.i_lllO[M+V&7lV.?tih[KLSc91PWkWZF*F/_4\>PuJTn0&ZT-WjC-JC*6eBT#-;raRmG_K6)=/[_;;u0/l3h=Q>"Fp:9C%3qu`oU/e,a"5,[ZkpckHE\h4D=Ua^&+/]*;q82ZMN;TWk_+KXi0aoOtmiuT#253gR)$aK%(aIXfNfg0@G.89`LTNkK`\N6jk[/!XD^U@B_kRefF#)rUoZ=7aGW"6oR%YB"UMu`o?EH>4*^NWO#LT:rLWscOrDLaj?TqB)Iq:-a`db#fMI"?B"G_qKEVCrM^k.#k"KXrkhc+Y1+r!cW?,:mq2m[K[SliUJ7Mg@6uDP[(..!rJH76H(.D[g%:[J#t3r5ln6m9(Mnh[nL3ru8\R6Jl5!d8sjP2JrUI[dWL6EQcQaZB_3Adg*+uTTdPZq-c4sY:34PTW-5gj(s*E?-!6rN-RXUZtUTpTii=N(0"9Vo,8ODpHl3MY3G7l1TllILM)M">b+spq]D+qHZ'sJ].6qUH-)c:(C*!"2qH*LE._;:3oH54,fnO;kgY:i9AMoC[]c6i?C\3\Sh,mCQAf@;Z*KePP=9C-H4<'i8&k:0QmVY.q&Fnau;K]Ekl+OHa5kY!AYFj)=;>7H<3_B0knpV>?;C+Z^I0U`c]K!]Ibh32lXYd[M6@geHbQIFRf,GCGHa4cQ<'O%.KLGq4h]/eJQ-,e]!mNlg%B'4,Cik&/~> -endstream -endobj -465 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 464 0 R ->> -endobj -466 0 obj -<< /Length 1252 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gau0C95iQE&AJ$CkdF(10]GHaZop93K$C"t1l8Q*VHCntmAP0'KTt9cd/Uhe.$J//ZK2jQ!J@1[^3O\m%='ZLSR82o%T+(%kG'_5N,T?n*tAQdHBG*.`Ae]!"eSQ8hjam`4C$($bXsfpjccVao4$[E*eb;Gp?)90p`,7mmU@OH-'?$0U8he`<:IM[$;UD#,pk$7NQTRJic7/-0qOT:.UW5IJ2NN%7=c/hHuq0U(^!@"l46!f.,p3p?A!S-,M#+$(2Rh,6(`!5#9dkKST-tj*9uWM-*$7NZ`(/u2sLSr8n(1t,COcWH[0i8@GD3]?X[c[cY=b3/Yn'KEQ)dm/+64]b9mGR2=DA5KGfRXKAi6W3(a(l%d`3f'd92@KR4]-u:&K\4VC8aFHA[0\N71ZV\qo,g4:G0s)KlC@1jKX"s05]('m1.J7ZF(:))BT1bGNH!.WlSJX%0H;(@hRsmg*9G)0[I*Q9":S3a6:KJ.eDLS&''892$HWSs,YP+cZ;UU-K:22*l!lVd,4ld,H+q"TJLkdT[#Q0,a),,'*'8+ar^f/O/Vm_aOFaD\M!!PO2j-@`P%N[7IM0M3paTho#!B.Tm\JV6j([*dhaR\knH+e2+;M@qgt1C"2o[Z-s+[Z@*jJ'p_HK.XQ4jeOGoh@*9,;:ILlUq%dCBJW%OLm@eDW)8_)lEJ.PG(B%LJb*KG["m,lJ_"9[OISQXtZL/dQBd@hY7roS?=9mip3K:u$JfW*MXZlgF'fh7A'R8>=D28&n5jr.[C`%3QAD-"I3FM7gXMSoOEX>)`V:].tT&Lr_1U+Q+5%X;cC1n68\4L5[rq0h:>=:8%mGH00ji0^q5%JQ@M8]QUYD_Z-5admO=fd:X<0)VoSF*ekm'DmMVkooO/%CjfA+`a_Ep).fWW6OjS)kaM[*!\D'QWdqGj3+l;@16C#gp86ND9etU3A6i%lt?dOT~> -endstream -endobj -467 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 466 0 R ->> -endobj -468 0 obj -<< /Length 1441 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GatU4h/f>L&:aF]_.1nbF@[N]+Eba>O\_*!'sJhcG=n$](1WitkbMrU#A`="@X[=.d39gVPkSXn?:;>MBn$D#(sa%R%AdK`kiA>48T^B>5oacBFiQXOMDl&PWL3\$#N)R88MG.ko*T2!LlRPpp^R@^V/SPgG5J)8X%cTp&Ko)C\9,PfIJ4uV9nS'N8j#,Mdm>(TnHea;X:%9RTu2lIf@:U8PF\.47EPI_4e!`#RuELPC,qAN+)J^hD2)+_fEX`MJ)cWL%Ags_2k]SDU_d-eR7Y4!IHXn=.'.DAT?O56Mf:kQk@K)M\$j!\DcH14QGL7ZWCM]iO.#qR/B&abJ_mo>rl__o9QA!B\)0?leV(f@#d<*1W"7?eRH$'C.do?Zl9Z3#&W-?h^pRq#`i7f"pdntHa>K6(J^j&)3cfgH=b5k;fU`Nb%M`rBp+/e'\,TrYP7E7u]G_lN_L"*)UFqHJ`u]K^@K;t7@kF2#F!-\-)n198ODdlp$U'\Xf^G1+6Fje&o_f_fZf4EX"",QV28$n_B(f]&_Rr^,LY2tl)6k;-7Y%W@GF?66Bc@=d\!8nA\)N#6##`-4H?Hh(DNE>,3<%%AHudR=^7qFGOh5#M(5QCDl-(j??%\5g>dYM*)h=1TBDB1F%MM+LaO&Rk2,(<-JocnVL\"PQYu#sUR!aJ1.EtIKeWBp4;SG:[P>#4UZ3V:&"crAM@g(FM0@C7S&SnKWMWF;@kr?ug'VbQ2Yg%"QF"D;BtPLG\OMq5M;nqo?%`o*`7^>+c/gZs%.hhS^nISncSr=m./36&OZIWJMuN=dAeh?GCVk^6tN8i3&EGHXI0D^`j"`47/9R4F<7,7kS((HP/?iKQP?&\V*n\=.CA%4c/VPO6F\^hY()OPd$8\gB+,N1$^MgU$b`7RQnHiSlr,".3U]@lKWDXlV\5:AX".L`6MuuJc7AYk&=kVbsdTjYge18h*PpVf,LHd8X4H@W]_gnJsmbTQVD\HcU?*:sf5Fn_7D03d:#EL'bk0Ale'9#J*d!*YI^1TFPuW\fY[_If\'5/s$~> -endstream -endobj -469 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 468 0 R ->> -endobj -470 0 obj -<< /Length 1537 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GatU4?#R&-'Y_ns@!Aa&nmZ+C2XOt=qJ)S4=)48mAsju)E=u;e=rYoXhp5\_:L#&^N1>d,\^>Tg]13)_f`^-AB`[,t;T)WctrTPn_;34WcGmG4!fFJGHS5luT;LsL0i5a\W[:<7qoGL3]`f@#=(?LDh)4`/+<2!&MG^g:fr=5\)D7lK"/NPN3VElYu;E\LhM682^`WZ6=_eC1b%7EtbM/jKlb?Njq?lAd@]'G]PO,oEc:)E\1l4`(\[Kq3Sga,]9I?X$R=7a&."3RBO:f"tWt!746?):@=5fPVD(@'R2H0%Rr$,XG4$MiOR`pLn-YqM'su80s@$(E-1e0Cm!&J(G;U5-dm3fSHLN\Zet%WtB\^rScdi=auqXgA#3tK`&Op+V]<_Te('iOZ!&>`T59kIXV+jY;R6lT7gWDL]_X9TSa)!eQ-QqVtLd8Bb0o/MC@,K'pC_3?tO%kl:5!CV;Bn&k,Tsbq;H/8fBh=a3g;iOWJ`7eiKSHe3u9l\EXK5jQd003A#2bH/04[0_tHcf4NHtH4?'6aRV%(]:6C8pEX9'O3d@b(_5?sT3sDq[!VcdqQWM"fak/tn7T"YqV7nQVX1g&H?=Jkn>qXYl?ChZ3@tY/uT-ddA5eJ@F88QM6!4Vmkl=$KS(c+?PlNf3h+N)Fa^lj/DaPLu@8YB=J/D1cMD?inOI;-BghlYqLT(8hcAt@cAW\lC_a?!QBl%OOK)!D65e)2XFr?jl4i>o2B]_<:IcC)P14'E(V++isMC@`5p77S?i-U6T$u,,ra#Y\h_%7J%/d3lLYC&XBb[CLPJo?%Y%p-pNK\M=]eh'B%7ZHVEe.%C]4*sYe`n0\biU.#EU/RY[s=2>/>.qD*+fh`oW2#Rq;XYo`\T41hW70Ar7+`7cSmg^-'LDKP;=.D_N)C`DHB"PG]MN-'HR~> -endstream -endobj -471 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 470 0 R ->> -endobj -472 0 obj -<< /Length 1332 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GauHK99\*g%)2U?kd]C31*T/E;KHS6S*>+E8\K:nBf[-cVUoR!8YP3nr;0Af68WQ&aX#o)!!+/B!r-0:R87/&NBQVQhj^es^@s=tT!*Xr_k^1N9G#8$I-:HL24NI[c9An1?[Mg!o09T,`k?$R`Mqs!I/-`Z<;%T&b#IgJ+*\Df/C0AY^X&c!mdBO^hu3N:[FGd0RVMQ&"f7gj"@c&02tD/lY/7(=m@F-3Q,B;S^-)6o%+I9+J-"+2PJT6stf]M()RK!=Xm2$0^LUM+FpglZ?@0%*uQZ'2"``@kh,r55+a_oa\fNp_oldC'(Q(;q>L;Q'h')S(G_)il*8?l':)q(Mj?+O$*%Q7B0)P-'epV4Y$\SH'P9D1'tO$[=6<,Gi[@1*6*C2BAqnGXLMAJiL,3jSM+AULdD14@[f>"AH+p]W`O:BE>0#Te(qm)(hWL7ggf9L,X-;9?..90?cK565`JJn?Ck/f1j7OmV[`"6hfk_i94N9sPklc-@Ff.,Mq+e,2?bKk-oXGi80Mi@iE,_1Z1DO&0@mjQ<.[gU.FLg?SeM7(Z1cQg<*o5\b)WghLCi?bNULk4a.]8T/-`q\\-(3!m4gg,%d,)DAW/,;<%IWhqr4\s\K=dFS9'?9!G!o7_"DXSYEH+$L#F=G)KA0"DU)a^7*;e%CD/.WM.+h-J5+qcFP#7o2sq)gW#'_5%@-OO:Y:ha,k=_OX!t2fY'D!D2VXOPBA).''KYSEITr[+Rr+''Q`2Xq.G7#fbiU?V3k,4Fto8j&OD?t8Yr?U$A+Ie[=*Kf2i(u4k`ML-P&1?V#LId4EVY~> -endstream -endobj -473 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 472 0 R ->> -endobj -474 0 obj -<< /Length 1007 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gb!#[gJ6NX&:NH>n09Fu'AjG7I4>l.<)i6kkY%nTPkDm#2?>11g97]$g":)1h..+rDg$0`b`$1^-97S+Ni%H@5l`MB#R<$`Tb*:d>-7t@;A.1YUVWW56j4js["b5M00D3`9>[g@g2Vu@3BfDk*=@L`EHLAV0DInU&lg9)gdq!QD1*.O.IfD/+qdE;Dp)`(Yoji0-jRQ1uo4Tk*3Zifa*3nZ-Nbq/b2?!QmXpHCQl-XA\!g'qWis)8N9c@;W^kgmnG6`k9hR5mUO*Nq?sUfY]8?i2T8k4H)rWpFU/0DD$dT,)h[3$75:jQ0;uL;aIA2LP4"$1mE%udOl/&,6AJETQ)!&[I4I4:$'q@N^b"/7t:0qU^tn#Lm0X8=V$YT&]AHc?70'MMi_H6l5UGh#i06*GP^TmDKQc$mn]!"-q&L`SEl?]AOjk-C/\.9Dp56HWU6*V1i$NA9ln"q>-i7Tc`c]GHPKajS>Xq/[hu,gTDrL%"0hK)!W0tu-4pZ>X0C::Y@#:(U(EI$12^O)aNWTW.jH]7'4r+0CO`A;GjO(!V$EL8_]m7f)L2=m2?rQtN"$d!YP,b!kCLS';P'?XUb6s/D67F@pr_iRQ/u#<+^YIW(&5o6R*25KWO5E\@q,kq=P0&FM3sbLt`(#2RWja&-ZtALR0`;*5;RJX~> -endstream -endobj -475 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 474 0 R ->> -endobj -476 0 obj -<< /Length 1111 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GauHK966RV&AJ$CE-,\i)81:%Vl#YOdn-J1,J>q)%`,Gg>7Z->cVZY$mZmqe^I6D#nj#YGh6`b!Ml6icZ)PE(?gamn<+Di.2Q";3U&E+C`pa58(t)1,gqcHISFA)P3r^K#'%$OC*dECn?rm)9Y^En[r\rQjN_p#Tk/IeD_O57PXKVt"l/`oH#h;R!^12E;LHT5RIg1leLX($,Sk0Yjp\%N/N"i1aQDZ)fc27bZ9X*/"_;1Il^rf'j29(+^;@M6d0HjOp`s'(nl%1,Np!bLVbF=qF[=a`r^dS$PH'-1&p%+Dej;g"ma1"q`.[p8fH/B3KE36JZYhCNat8K_NJ"+eGeVGZRcheCRMTO_W,bP#Ubl[]=-VV[u7I6hVZ]1^)K>%kX[g0J2Tih,VMMI<5Z3g#Cp.5qhD$fb@\*kD2DRrgUIP\P!7W1n:d"-^>8"[rN`$7S'H0a4q'Zu"e[Pej.FVDW=dY6UM&aGA\(2bK -endstream -endobj -477 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 476 0 R ->> -endobj -478 0 obj -<< /Length 1456 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GauHL>Ar7S'Roe[d%^]=MC;?2mV)\7/40XnM7]+O-kqTF[E,'ea[uBu99Bp6`)+1Th3&Qpnm$Gm+6gtfm,C'JOQUr8U6p5OC5*^hr?DRCrF5-h/rH4=`q_H08@NC"pLhc5S-G?tc851]LHXPmrq>dFro8dQRIf*7r&MAmbasMLXsT#=2fpbRp=NG6S76Y']3G>*Pd68s$mZ4/6`*D7e5&$DUfaM4mV^cR)Zd31q2j,o)cX2tIaZ@jN[$.bS:FHQ:2b&DR3/!3*K\kF=Yp!\b@IqbTI7*R6rl>!)a.']QWt57.`GuQ94;T[6qYU9cVXDN_1jZ.F^HS1dV@80EA)Mp3cjceE/`!ijf7(mAFQt1J7(sQ9FhUr8-*)3"]Mp_01LB=s##!]^bGPGs[\P?cZe=ec9=jWpAR\eDdb7g+%sZT8O-QtZ']"]2*"Jn-*=%Z\4+,t*S;mYen\DgRX,+j7G[.026&>?F9,uJ[NQZ*g@r1h]XO/qpd0[Mc7u1X9Bsmd'Cc^Vj=AL9KW"7Kg,1t"FfP]K5ZqJ;Nk0bP&c7V7:-pJRd2gPRSA/h!_MOM+tH]E/eA2dBjH/9e15*j_G*C7$abhX9)T_q&;t5"L&;LLYjI2*-8aplrQHL]O1Q-&73t'J`;j!gNp4Nb:s\!fWfICa24=&XY5`UKgZ;::^M&1l4[[1a""(YO-tT:Y-MIbFpcee#?W;"HU9_5piNRhBEG&d+JpVtMF9maO?^#H0CW*W-&-E&g,I'"/gn\!5j+OABbmT[M'7;fcB2l#B.uI>/rN+)\X^a#.5DYQNO5EESp<:ofVJd]f`:nn6gtJOXaJ$1"l3lH;2WQkD7C4<'r6U:eM]=:0dKf3YBE+e4@+b^l`?p5CJ#+5B4S_%*qf!h_$_`.H+D@"""@iBKT$EB&*S7`+6+s0j,,f"uIZZQu&%=@XX8QKL+rF[:;SX>m2-as1GheUa4BshB9&M%P^Ed5DlFtMqNak(h9:hK_t`:)st]e.G,;b^BgpU\m[PMX$>MuN]hNie=L'MkrV_6W([~> -endstream -endobj -479 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 478 0 R ->> -endobj -480 0 obj -<< /Length 1242 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gau0D>AqtE'RoMSa;^U*9^F_tGQMT3Tcp\Cirp!7>IT:JdQ-Pos#j-D`2BTH?H,rEno<"OcGdhrm=#l^hHXI?_(Kc!iH4!=ZN55Sq8!Q$"$%7;"Q@]FB$U.7:Uer"QT$kd=5U`^3j/Xp2EH+CFacBhcP":e?s3gKd2k^KRnH]>2l7<'1L:s0L=KBKVHuA.m_E_D0Ct(I\1l;UPK2ML!/Mnmn4+-X0a5rf'l#K"_oG#;nh#T-`Pus>;O7]hIgW./Kct]K'_tsI7UrW^nUqd9gZt@#gUjM[*8sX*r^'^E6A741#m;E[8.N*F'+=%"Y-h&`<-W=KCAkF;@$32Lmm^[,XX%k4m1i]X`:oWGM]o!khq%r@b^V=B12g[&j&B!\5W4UCaoHI;KooNkh-%6JAd"il2`Y$2Z?)Cn\Kt1U_AOO4/;Kd#cP4@,u#l+*lE/:`u13>C7`=TpmLM;Yk#^*2fk@-lL5'L^Ra*L(G/EZC4o1Mp_qpk:9pfMJPqaRd3!;[E17MhtuH7s##!iB_Q[#?V\'uOoWPu;K7QtcRc,nH8LYolHOFo=nnje;i)rQi./\U`Bn_i6.G^40HlpiihAW#G+Iua)T*e<)A(o]2[rBr%d_9+#)"u0VU8V,,;'n+9W*m0OGcShn3+<:"1lfUj3\EH]#Rs[LSFLE'G!9B4J/9[m243X[+0uN..Rm3BVB]-C:9ogjbMT,$Iom!>^P:PMZQNoi`f/0+@`Ac+HI*Ids5.H/?:8H>*Gk1!aL%"8U+1T#CAl56lQH;2lXm#3d5%gb2t~> -endstream -endobj -481 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 480 0 R ->> -endobj -482 0 obj -<< /Length 1303 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GauHLgMYb*&:O:Skg<_4Wd)pnIG2%W2N)[^8Xt4.Mh83J>E'gePjG2q^Q_-SA"'^b"M4pNORgV`):$GD9'>6Nq_-$3OQUr8GWtVe`;hoir'LsO"8OX,Z&:q]r9/MIrc*:5GBn7NEV7Z0On13p.])*9jEu0kInC]1$e%H#L`-idP"SgAf;^,1$XW+H"fnkX:PM(Wg4J-e?Y1TkE1ss:AhV4'!>%g\j"K,=Hk*eNjD'/DP>B"YaZ:,oP"d$_9AQu(G#WIMk/CMS#H[9R>ieCP-9::f\u5E_RVP,XRJQUg<_T_f??/nj3)2@ger$Ah?gJXAD^I[uRB$KQSbsCU!6"n)IZl\cP>RAHV;d%3X0Or2,/E]T1\\!/1[&qqi9_gTOd)EB1>0HQaq#h.d=M:GCL/\8-E!.50RR)l477rT@FFYC&<60oOcYGV:lY[lU8hHoFp>7iT`p_h-F=N?(Lsq=<=d(5qW;I$J3DT4I;o\]ZAqjI8dW$:C//ZHsPG\"NqS9SgkA,+B=Ir4;;q@OB9]DiHV8>f%G/3aI\SP"Upb^ZX:M?3D36u>;#U:P?qijeUdAFXp;n3djjX(59M4lERa$#cpLX_D?NbI+qQc>@NWnYB?hP$TBk&eE[(P(ED%02=!d0$!/8qLl7c`>&Vm7*]dnW%$tjm'Vs6J+Rn.7#)-X/#-1;c1-7,kd7%+7#GQ4^2ZO.Z$5+co4ZY@IUrXX`>%UpI<.Dm$%Xn^$t'+"-jiJ_c`"af@#$&!QjE:1rJjm5haDXF"c$=]Z]!C5<_`M@R\mL`tuJ]/Mb]"D8pftu%lF[+)F/O"f]&B/OGqp6S)P59//HL)fRCc?sDd3BjRoe^S5nqDnAo]CKFZnW^i&8>qN4O;K/bSX_Ta(E.[Mq#,b7>lRr08eR^_0iE;<2a^djH-*rcN&95"YM*!0\Uu!q#0YSNIGA6L&%9j]&XttWS:]b2lK'(!fch*SH1ub~> -endstream -endobj -483 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 482 0 R ->> -endobj -484 0 obj -<< /Length 1725 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GatU4969,O%)2U?kgj8kdH^\oSsl)61nF$X-IMP8F?5@Ta(f-^92SITn!=Yo&1tqC3kbkBn,WYW&G/u-q",kUI*_JU@_M9$VhOSar9$.jcneTRE;e98[a*cC%AINo)5cf)kKZ:enH[\=4fte#o7So_bUEI>J,B3,mdBr;?[nY/Q\j#q2f7Sfak'D5jlD;HgCeQd`/Qk[11&',*Z&T[]VO#Po:2="8kP.Q-D/3:Jej:^Es5>9YhrcuE,1VfgC;apo-Kd-F1kn9gRj%Ea'c87O3UU2iM]^s>%0"7Lm)DdWI!bdL@V*q5+mi+eB95DkhP[?^iX$%Hd*uF):rq<4$p^'m:.T`euJLa&:6U1,MZ?#b[rqW*;,ki;`DWn.dDH^0H!C%2WYFmWGN8L`0HM+GX%TOMjZU!>1`:n?Q.6Ofo.6FZF\gZg[H)2,%6E.eq;52m/AO-R[.FA/_^1P.oYrR1Dk=uZCkW^HqrVi'YeDVqu)K'PdU6e0&V@]11tiRa6D[1Y%(PZ;:n7tA=L(br[lDLbUPR0#M4$BA#ZGkr/FHPXQ4/,28WU0N=FT@i3'!/Rpe@?=u>.!;u!YZ-\7`f+1,);*JMRlS27J2*9rP^%'KAe[gp3b]$*R87Bdd9F83`7-Z'@T*>&>tKbSQUtJr=k+p+oi(6mfAb>>ZXYAu^1^/Y?4](1ID;.5&n.)>-h\oLJ72__(.o2APeG2uVV[GJGg8gK109n'n7_M-h2p0Gij+G\Ke*)>;sR2&%Zq4V7gSi'/m>LHJ]T/GI5d#FN$]^?2#M%,Cbe@Sg(o:<9d_+Qk8>6\?Dg;W+OAgo5'8]5>%@3H\Ra>7eG8T=12#kXd`d]HTl45K&TsHFY'N(KDcp%kcsso1Rb44+jI@D"3B@F4%jZ`@>uf!tDbAF3"gFig=fP?jXm^]&,X4,g+U^'rT<\RuQOF9LC:sb[rTo"o>olS;A#U&<2toEfkV):WGGB?*6t"#KJq!!6q/?t1>gq>4uR_CTnTR(eP_94WCYLC>7oL8tLki'GDeXHI]7*s%lHOdD5JVDAi43[n+%#e-Eo;P?mEQThI%7kd0VV.Km/.:5URk^?PQP5+-ghDCD``p*DS1&^Jk?%X:0n8Rm7af@Bn>FoLIT(\YKNotTs8;ihmD_Qbc?,I'@nFTXlBElS*tAC%bfa.`B;n2n$#$/?k5~> -endstream -endobj -485 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 484 0 R ->> -endobj -486 0 obj -<< /Length 1451 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gau`SgMZ%0&:O:SkV3)N>Q[7N9nj7rV8Bl;-1mNU0TgZ!5h;UGu5+hjc"-.P+.nS`b+Jq_Z;gc>rZX'BgFU%UqY[&Hc?q)<7C*1`^0F[_VQAq\Z2fD.@^!8=>4Oins$]j/k?KkpJ!a#ZZS0J'H+H1hHia_!iSEKQ_01$%('k>j&el9KD'jb7b,=8$3("4#m@cFtsQ@F5m!i9[Dm'TL]]9S;%[Gl=aqu]N&#HmW@3.0S+5J"]@G>gM[#@QbGgQe\[iq\RK+B^[ucoVk3BV2bThE-(W4VU\VVNqXV\W0.Nfn"AjKhNs45r/Vj]bRPA,\="BnDJC[**cL6J5pl;kO>bWLJ#Ecm/%>iff;\H^,+`K^0Pdc"3,._5FUS.SsQa_!3:oq%oe2lBq*eIEL7bN=8*Q=t0>u)hT(BiOlon>@1c6bidiS649oUJ0G^<:]fneXWRi78196PV[;t0jFpGOmq9.+hhd?+uP_`1)07k>ee/Bb\Sl6HfKnUUSEXu;=)V%KoI,%/bbQNlo#X_OVJo8V"rOnoP^.3lk]5D^4dj9Xj3@\B;s%6RA\M>.\l\!4GXU\ocl#h)_;+/6dQqir7t^8pfscm@G,LE`B+-3d``;Jqd2&\>"OB?o[7:P90uf`tbQoH*M,*AZQ.\g.G'jfd+&^@Ti[KJ>,6rUoTL4TT(3E6L-$uP_6]1n@cuDTm)"/8_nQG-JG4]$GhJ(&cgMWdn?!BeQm7[1i[9_Our3Tn>h)OJLa<4JS.0J@AN$g8/^h^.22C -endstream -endobj -487 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 486 0 R ->> -endobj -488 0 obj -<< /Length 1348 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GauHLhf%O5%"?N0iPu^Ihh*<8^oI_.b(nAQTVm]T+7DEg+!,;arqZGfG9-R-Mi61;=?kYR-u8#u%"Yntf@e!DQ,E>mOOrb8o"I9;g1\n]Q-7Q3SEi^nC=B+lZ`ORW*7nU;luU[YB-7Df]oNeH+/*L=oiu8LWmGl@ftO)H)MkDM(*_'jqCf`a,<`mLLY.K]Q\p@F:EW^?R@=c"KO%s7%lnoEqaYCmkj:C@>J27g]H]q1Y".TM.mk_JQ:d?i"^49JirN@^`4qdr*cpNN&r1?rnk_2)Z9/i"5,P:1cFsZ!CClo;JSV&*BrQ\iA_r*TESV&*2IHM#Bl'ru,;.A!6jde3c6H0(in7-^1q4'-f":lS_BO\H*VsuI9!D.V@BjO[)$VXKkV!4j0N4k`IS/eVBF5QYGE\LLX+/Q[>]P]pk``$e61j;!()LYIEhf>$BgAFbl$`&Oj]m1]SmsNNA(h3K#i/583im8g%\t(V"oJK1s29R\l]4Y9h/_6>b$mGPP?Yk?TOG%`:s%;dnNCas86Z2p$oueFU!.U(\=ik+rh#V!X0n0a!d%>IGK/tjQ49_O!M\g5k~> -endstream -endobj -489 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 488 0 R ->> -endobj -490 0 obj -<< /Length 1421 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gau0D>B?Pt'Roe[i6e.d.M@PAqm:($Bfb"o-?8l[G<3#A%LiFl#WLLF?O6iJZ=;j#`\5d!SF7GgX5rTsm-,uVr&V#0CT?B`L%>>c*p+R-KWeZgnBE'D+)W-l5-5UGDpIW<"!rbbL@Rs:Qb%l:&.)K?$Co`P&VSMR"A=$5@iB\P#RSb"KGh_8.UU41;N1A3jq#%7@p2oopBBC$\gGs/_Z[m$VDbdt9qEE>^4jnR/`9bqWOV&r.DEBQLW!-UijLTC#iq]E0>H,'V%og3;J"j@p'cQp#Z2sYUuKoV6H=s-(Z:G*]8CEJ\hQ%[fCL(*n"9"h*c=1?ne7'(_QBs6h9eiiA]^F`o"fW?5P@A'b>:in!4G55J`Q.9[tDN2`N_!_kQ*4Xp>s"hjf;B:a(hR,p*J8VA/TQ[RZZuqL/B5M2p*uPN+m+9%Sj"+\T`Esl&*9NHCL7D;eZBOhVm7VFiL_md#:QQZqYQ*E53M$lmarWMS)hV/()c@I"TK=Dl_E4Q/FW-A0;C167?kl$o,&SO_RBD-OAA2p@/(9KB]oqX_Aeuc5mE=.h_\:+aBl`W[CT!an]H*#bF)CW0XdQdP7E#?pe[tka"t*Ys$FbI+%,0AI%$Mjlq_20C1]UEBMm#ae1QG2+Bb8UFCfsF(`)3KLmnL;(A,Vrm&,f5R-/<>h5=#;;1Y\:30'O)\i"69(fSP$X'O^BT'd>e#\pRm>5+Ubqecb?4Y-726Y\;;)f"+;\3.f22V$BOAVOnnh)\N1,W*aQR[D`-g$G;+qPTJs61Yr8F*gHQ5fI9/%9TBc6B'ds+(.X_0EBbcN7%.8_T0uHWolLCl\"kk"q8/.pg2_GIJseCkV6%-Ifn6i6eq~> -endstream -endobj -491 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 490 0 R ->> -endobj -492 0 obj -<< /Length 1332 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gatm;968iG&AII3n/-@c"onZfg/FNa;eON:QK@g:G<1fg=fc14+Xqcn?f*.9EgIJO8PR5A/@>fJ;@[=lF/I+mEumg+@IV;X0$;@f$'tnBoZ?phh*u&RaV6)F^HZf=FJb\GQF#/P22lpmn3]&1l1X9-H86@frpAl)kJCl._7SkG6g[-`i3`qiX:1I'WG-1&HmI,9J2hFtp2I_<8hjWfMD)80,n%Z-ipdPueg!/0Mk2h\D54DR'Fa=&XLah3GYKUAl`J^R3(?DB>5G`J!No[+5Kfdd4LRa4e'+hceW>>=UFD&+K0,c*?4\]JdN\]+iR\cW;O>28u57SQsh4=UD.\a_s\!k$-^MFN'(73C.'NJn+Q2@e=qo"UTa@SeM+^ZPp<=cK2ZBPjlg;u3@0PFJfg59X9pV]0VG=S"aEki3j/+0*5B7GG"XL2U+%BohnD,NqU\@U(M:BVo5/)oF6%="i&HH:%FAL1f1Q[bI`H3Ub>dA*:.7uE7rVg]DQ.5M1W@5WZ;Sn_>W$tDiB:%@,."_U)?FA?\`WN[\m'YKJXLqP%jf?6[i/*)uN%K+4']Z\1i2uBY1nC?(Br#S'upoQt;e0-?5PlYZaEtTcjKncL(&skb;Dl+cd$a0Ts[[iDUDS*eP&KF,0!I$]HQtV9^A_e)jm#rsB;?Y#q'f!+4Kf?=Z&n*Ado\'QnR/N)lp9/V(HB4NZ2Qf>PaY?G\nCKJjE_RaIdWtrmap6V'S5P24cpCWpn<3(*J_=^Vi*DrDMp6\o8*0qYK0sXnfie"7kAS+K2SKoX%`S!LpPY&:eoc/c;n.[Hg:hE?gde-!Kk=!(L+@&Cn-s6O#FS<23(Yu]g:)kkL/77YTS -endstream -endobj -493 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 492 0 R ->> -endobj -494 0 obj -<< /Length 1218 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gau0D968iG&AII3n5d)`TYuHn1oIkD9V"bQYq>]JG;>6_>"iVH+mCu^pB;W_Q4PHBP@T%AaaNW,ha0M6/Ui&a4mXEN>9s[7]3eslf72GjUja1iJg0Q`*kZuh2cnTI2n/6VBAS-plE++*\C^)T,%bPST0M,S9!(TmX&f"TM-Qajk]LRS#aETYSr-eIq'G'c=`\4Af!5q.^rh9X5*_*Flsg\8,p^m%W(h)":i&XPe@)*\Edt4.Z^)SRIiP&m?U;iqhM=.o43u&:fEGs&a#*\RB'5>1G?eqd_BW-+E@?4YfT1gbm@%!&cmrX/sfFQ]o_eGhrllDV%].>G,odqni6_f<)Lr;)_FG=2h]+[;d7]B/p2[ibpLt,\.bZQ2(EQ%[%;U:>iRmKJOkr9YB$+)-B<1LO=c_E];ke_Dnj,jXdj"hLLlq+bhFn/hl9kB!rI:+F")=`^GG@M%"q^EB")T8NP#<09<0r@!>-EpKjLJc9e7DNH4*OKGd4KbQ0]S9k@i>^h3pr^0AG&!01hK=nkWFkQKF7E\=Vc;c@C-Uhp96Ne\+NR#S!@P%Hg>1 -endstream -endobj -495 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 494 0 R ->> -endobj -496 0 obj -<< /Length 1108 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GauHK8Q4@t'Y`a3pf?Sm+j#n6p/DlrL7q6_oMR^jOXNjolsMosnF%l3N[5&nEEG948C)4(n,")soK1+Ve3OX2Va'H3BA>c_'L1Y$S-sb$!V2f\h"c)s?jW=oN$ml16g(r-^C[gZf;mdqSX6]U#Bf":Eu!SYfF,TcXM$/OZLO,J,(3cpBcb4ZeVbj<\MpsW!\XU3D8f3)NP/U-o^ORE]8OX2rX%r@`\F'g^R(tPbLU!\3IFIn5-hqQi5Ae5D=TikuM`1(':UOFhC@8VHXOq?g4c`)O%61RN=H$gTgKk:WTe_!M6g;nQKV=3_Zk:q.aq[0^+bY(r'hqNDdUWM1BQmLl(1^>[Q'@q5'QrZ#NI0%QrOH/H:m\mg%?fM8MlK7m'mJiH\s(Yi$&?L@#6Zmj->5mTM$)Z)-H/KL^^A^gNln9;^+h\u0H0Jq-I9Yo@DS@!(3dSZnoEY\"flaRj'RDIpYG(oFLSK!+$36C3u)9Mj<7Z8PjX)-7"Dd$X6>uiGY/r+D-R@bgYdHXhE<-R.Hh[-LN`8pi^_(fmnKEIGb?IY`HacER4da/JQC\;K4qfA)`,;_/HSP-_"/jVLo0\6`IbVVo,Y:Ei<\\o5@&V%LgM^h)F/jX0^!A?e*#r5,bf![7-`HTZ<,o=pE.@CU_744q3eDmVu#&BRd&AL;cnD2Rp4p!YTk;NSR&,!ARj/o$(8lk$"mtgR\/M=O5#Ca5-Q)0"1A2JXR\]+`7D7r7-=%i,uM8q;#??m>"_,"AjXuiA8bWDQh52W8Wr`g-jg#`"ba-oqhEY7p!+f9!P;eqi1[.)JeBj/a-F*$n8lFY4D2q>h[)&~> -endstream -endobj -497 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 496 0 R ->> -endobj -498 0 obj -<< /Length 1415 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GauHL968iG&AII3n.r''YlkC&d@BK&R6$O*.nf-'l?"E][*_^Gb_J=FYO@&r/1F,qijRkTYhI-Qh8QjrDc`.kh?=+g9ZpPW'?bWf&As)a@Lu`N4^sm%0igBrpRC:(2Tq8_nV=Aq%q^LeG.ilNO)0]O5BEFcYi*3#E+ES8A$bjQcca;*]DML$LYk9jNL=QRPFKJ!C(1NbgqKE\\5K&>e8h1`Vf2HolkjGb3]F9;V[]'c?$6441Rlo96FG$_b]B@Fkgqf?G"=PllYQ//O%Qg0%+B(1F0c$+!oT4_^cou[*A;\EI'7R,*?u)"Bh4M_5#l5*D[4k77JVbbj9[a.>K3C2l7X7EDf47`PRpThq?8GS2K%[E@'`@A'%4rd&9^p5NG\.S7Mh]rU:qX@&,6bpS43c)j:`DDY,`Q28N,U6"%fQ5fE`EImIjWjG;],dYk(?OR9@!@8`aNaoFd-/./QKI)\9rotpWJ;:g>#UolIjaLFj;;Il`Yc_=0(Im4=rY63OCD5$9n[)-^Q+#sZWO:tce!k$tu9NQr9i:GL[WM.o*jL/R0e=cKS17=8G,G$G5[k"7G!r.=L^.E"?6Y$ogMN$+=0.XK9)b"%K*ANbHQl0m;+7hL']1]3%Z4u`2cPlID-FROl"rgc[")*HZI9Ei>s"lR2B:5!,SI89Q\qsCN,##r4Hp.EE`WC:75/^H2JJ)PhQ"'j,GkG0X![$HJh,qJ14O4F`C3_QkA2"KhhW]*pO5N70u3JA>$4Z_s$\t3n#/bB!-'[&`]t>?Go1CKEQ,n=2k"SMBW),]UGT8(gnR1Y9k^X\]W[+/76DM]gV?85^0YudmoFd(9d"&HP;YOCbjmc6g)5uNU2#VW;<5Y%/\QL@-HVU5#rJ]CB$If-WE?Zk1!f8j>71.6"T]ha2kS`]1Lj1A$L9dP-2q*8cR%&I)hg`O(A:cIu28WTpFIN)6QM4:cDp>KspV;eHmRr!@RMHGgu,!g"Y$[a_DLCWD& -endstream -endobj -499 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 498 0 R ->> -endobj -500 0 obj -<< /Length 1175 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gat%#968iG&AII3n7JTY^]Xu5d@Qee4]NktW@ar0,af-95o)p(Tn&4[q=b%YO8r][Q:DbXEqe;n(*B1[bLu8GNaN:TBXs_RdIRc9Z229BQC1Y5E<9Mh/U,U/l[@#-+rP=U7IQEa"t7'cfp5fUc%Qm7dn8%fc=^UQHbn=8V?0kbgp#@%4"<1:A`Y#8Y+7h23>,Q.-r.RXk3YH22l@=T.b/;"fVqQY7E`HYAn32-S"YbV?/Me(eW_;dnfN$h1&qOHDE7UN2`^+dB/g,U6@'ZQQ(ZNNp+ZBJF:;TW5%H&r-EtZ<@#'jKI+?LFeomb&\+euD%:ep"U4%'DRGuuis0Yh/kgSL9_thl%p%m"R_rpjUj5%b*5,l6:@_ESuYO?oZEH%RCN>!Ou)OrtJ[rs:DMd<`J[GX+sRE=`JEO$!Fj*[TL_.V3$EqHpJ6ba.SL5o@?gT2Y0,pQs*+S:ODW@-+-3`r_-G>L/4B&0%%Q9Q`R^^+?clE_Q0(JZA`j#''G:cKc#uDV^M/%TD;))'B5*Z;RBR`Dj-(0WlHQT(r%DA41.T4koC-up:C<^"Dgo,I79>o0JBiTPi="NPQD*16k$+?1,KHEm*!e(0u_@Va`lmgF7=+Iqn6UfWhc0-a`l@0O*5=hh7m:E]$;B/4Q?/8U'DsErq)Yd>@='[%h"dK>?>ZpaHhD"n;21S%?_gTlBdZZItX?#i'?(IWnP[tt)QZ+RoMX8^oUjIZdM;9,bNHPoZ5iIf67jm+.]P(.a,#(@SHgAYgj5&_da5pI`bn[3R]L"?)[#;3Pl-jOse!.:&usPC6=*FpYqd+ordGBsQR./Qe)(U%IiMY\F:Un,Q)WYUi6HXkJ^tA3qlfI%`nI*SDp*b8uZZ.mYD@09kNqg"qs0mk]ZD?E#L2&0*j%10baeSFV)I]D9Fl9U%2HAO6%s&^og]D~> -endstream -endobj -501 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 500 0 R ->> -endobj -502 0 obj -<< /Length 1662 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GatUtgMZ%0&;KZF'Y6tg<\'ct(UR4IT-WJ!:s7>$Ssp/2]4.o[93N!p=`L:f"3N)_pAcC<6GmBnO(V0gsiIt\G9Wl[J8]@@<]HWrL#aPifX%:V;>k6r?S+Uk:`!QXm_9M"9$7dnT[%PpF\VT[bfO#\#Dku.6[LnXUQm(dR#@EMlhfnXQ62"GT]eU/Z9.Cki5JZf[Q2q%uT`9V?]`gM5(SspdF2,M(Q,EWcfh?4R='A'SAHe\o>udJpE5)bPZAH^kA87Wc7/@L/A7rh[PqMDUDq=^oZ\sriA>+9/G/$Nng,Iga+&kQc_]hn_n<;/h@YCDF+m;a'HBHL27Q@,9+;=kiW'p7D)-*=89iU\_g%9m:#fE#]l_FGDPu.2'CRW7>?jG5SYEZo?#,0s]UrMMcgnLb#cNbJ6^49L[J?JMSbRS9S&8Znl:G9>a+/]B$mp;V/gt06*Kq/EZ/YQZEH67<6!`QBCQg6\>=*gXna'Dhd9fV<\`\Dnss/2CI.75S'\i=m4S'7E=/kJUT*s`>[&Et1mU2_h&(`X$X:uh+q7%2k"L\h0pbH0sb**eti7OXrI\m^mC30k0#/Z[8&/57+mm&j!=%(Cs"3P[H]W6F=oF9*3B"P7qhFA[Y6#J*cb/#:R+FG@:>^V+.Ap_3S_-,9!2c/\(,m*\[9&kY%?IQl2sM$l3g^=.e@@/[FDd6r>dJfEZ1TBU+Of9?jKAs$W^S^6RRX^7hS2P+&m[qeg[>$FB8<]T;[O-aD2l[$88em#sM*RqSi(`E'cV2QOjre/fa![^40*,N-h/ZL67j"2L2l_@^9:!#kq'qT9sJS\J^)=HKN`:\a.n3) -endstream -endobj -503 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 502 0 R -/Annots 504 0 R ->> -endobj -504 0 obj -[ -] -endobj -505 0 obj -<< /Length 1658 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gat=lgMYb8&;KZP'YI+i7cBr*5d(6r5gLh82+9f&.u?.&>?.$tm?.dm#Ygo#(F^qeoV'pkfm^]=YB$hiXXd5GXs"<>Mmg.nWBQIk:SHoA/0\YN#P.+@JLfpg5/87k6W\em_XYBlp[=h9bL,j8,t9(@S1=M)TO6iH'l$DYN"p]pY"3W!@Bs?mpt/L62mul/pCeA6_9"LB8$YN$'O/E%nF4l>C,$#"0*b"G?Z,$3oe=J[0;;\2V=&Xa>FZS0]U^c'59$RLUS$4t4ZdWp)&o&?@2?V$r`RBO_E.sZEOPSFR$p<+DWRn9:k?i'8j;>tAYrHG'8VVs_T[mVqk!BY-Q,*Ri@(hmi"[X!Zb$lr.>Pqe/P/[U/]%XEpE9JqlV!j5oXTGh;a=W](tk"JGhieB7^=sNHK\*)=SQUd=Xd(.C7&rWD=:IfJ2qm@ld4<]))4RhuOE:-SqLF,5!_d_hJ3HC"rd%Aqc;]o0JWD]3l>)Cc`HoXJ'bK`O5(l7'e*'a;V/bNAahhE47%bDY3O:GJ3^()E?G-FYH/)b6fa]6haZY3\4:/(dFHXiWq=jf/>gFGDRJ,(MDXL+_/>dBfiTuXt:>'G]k-kGT?Q/ncq<^G1]l[@Is,@2s3/fFNFc&@5+P/(q$'1HdgLSs9-]%QGg">>anZkP8gg7mU]R"N:7Ae^O@_.=gFF%rRmV.R*me>MMD%R9maD2r8^h@&.ZGqaRF9#7&i!d/Za6TSHbEV5q8l?GK)a0EUh3#ZDLks!RBM51_@L6kS>\tnrYXi?QK551-)X/buNi4^mP"8f0]qIlW1=F]t\bQQ485ZW?(/Q#Cl3p^0>7WT'T*=o4rS=BpL\T&^8&97@>`8kTKV+b`G'C^WICPnd335dd!@'Ham%uH/?sl/Gj+1iUYD-QF_aXmAi_upNc%5ir5jOD(~> -endstream -endobj -506 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 505 0 R -/Annots 507 0 R ->> -endobj -507 0 obj -[ -] -endobj -508 0 obj -<< /Length 1693 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gasb]9lK&M&;KZQ'gD$eXWr:OdWL*nd,#,>]bEoOaL&'=(:=cd-iN_7D)ie1,?)ZpZd:M(L+d3%Xh63"7@7Ab(q]T`Hh>^&52ajgXVtFD(\f^ql[-]s22Q!RXDL_MorgAWoqF-RNlbD'+hZ02Y5bCiCr8<#-NLf:DPsT,f46:u,pE++Im9&"EiG$MpE-E8oR!8N>FO81P8%A)"M-=ks'##/N%`^$c&pq)!q%S6Cn,&#KY60a6Z=]"I(N?OfZpp:I>FXDd#_s`*C%jq&5ZjT5G9&aGYS9K6V="N('pi&]47@n$"UiniC`,SLKrf6@c?,S3D/lOddYn%Q=U\\do2TX:2('_]!&+n7g.nC@WZ%R@c7WKA?-6;PM4'_1pNQF!Z86ta"3tsSqnA9@jWQaRV@+.Sd(?meRbX/D=sW+;Zb>FUuMi?5W@U(;2nM?"%6:in^lWs/Ip5<^paWGhf\%16$pWc9-g=XW@9@RhU6aMor\WS$XW(3P"rkF/u'[.!8ctlrbs^6(IjGQT4E>dh1p5V3U#b8D!4eq[/eJf$dIP_6e+"(-2d&pVjuUN%)4k[1QshbddRDO%N/pSN:\.g@ge:L2kg&T;kW`Es:G-TCC]9=3+WB]u-:_t2Z!L)(+6@ctPR6XA32PQ.A$$n]t:8tXqNJI=WjV(Jf=>4'P.^6-"\kEE&c:u5&#YYbl\Mii86$U4uP*IA(P>H1nViF=JfTo7Wk[I<\],U[fQ1JLkW,N]!`/6-8T(Ef;BRQ@K0aKnC(WLC^eCLg.^(&n?Vo1"ObB.2XY=jo=SP,3PM1_oEm+qo@n7'BSS"/XD\P7Ni?eD#a&A1jp$AIFT1BP2`Y\2t;jQadu`LZt#u7FGdKkOuoA>JbQ&m=]l]W+_#7\hqa$Na(eCFG(+jP-o9$6nc"J"T -endstream -endobj -509 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 508 0 R -/Annots 510 0 R ->> -endobj -510 0 obj -[ -] -endobj -511 0 obj -<< /Length 341 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GasJN9hWDY&;KZL'm&.6NL=>JF^7hjRh-,C%uZp[`SHDg62gPT+.?5s8hZl`T4]L=C]_5Y;Ll[l6GWfk)1kC$Jg;taGfQXK#Y0,Ah6#WJ_G)42TLc\OpeG&HV4Hc*Np6;JI9FIue6R)pa!+P[YrU"BPT5*mLS_O+OhYq>n'%`#9::X(kTlg4#27\+XikHDV=[?:n4u,=V1pcS0nGq>6d.sIDVKDpg>NlK8XhYK1XCMZ&C"u7g579\4R$?jTN+nt,U)q6>$381(_Fg[,L-[g`Z>1>!P?2'6*kjgoq^&[p"Pct~> -endstream -endobj -512 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 511 0 R -/Annots 513 0 R ->> -endobj -513 0 obj -[ -] -endobj -516 0 obj -<< - /Title (\376\377\0\123\0\161\0\165\0\151\0\162\0\162\0\145\0\154\0\40\0\62\0\56\0\62\0\40\0\122\0\145\0\146\0\145\0\162\0\145\0\156\0\143\0\145\0\40\0\115\0\141\0\156\0\165\0\141\0\154) - /Parent 514 0 R - /Next 518 0 R - /A 515 0 R ->> endobj -518 0 obj -<< - /Title (\376\377\0\124\0\141\0\142\0\154\0\145\0\40\0\157\0\146\0\40\0\103\0\157\0\156\0\164\0\145\0\156\0\164\0\163) - /Parent 514 0 R - /Prev 516 0 R - /Next 519 0 R - /A 517 0 R ->> endobj -519 0 obj -<< - /Title (\376\377\0\103\0\150\0\141\0\160\0\164\0\145\0\162\0\240\0\61\0\56\0\240\0\111\0\156\0\164\0\162\0\157\0\144\0\165\0\143\0\164\0\151\0\157\0\156) - /Parent 514 0 R - /Prev 518 0 R - /Next 520 0 R - /A 15 0 R ->> endobj -520 0 obj -<< - /Title (\376\377\0\103\0\150\0\141\0\160\0\164\0\145\0\162\0\240\0\62\0\56\0\240\0\124\0\150\0\145\0\40\0\154\0\141\0\156\0\147\0\165\0\141\0\147\0\145) - /Parent 514 0 R - /First 521 0 R - /Last 656 0 R - /Prev 519 0 R - /Next 683 0 R - /Count -128 - /A 17 0 R ->> endobj -521 0 obj -<< - /Title (\376\377\0\114\0\145\0\170\0\151\0\143\0\141\0\154\0\40\0\163\0\164\0\162\0\165\0\143\0\164\0\165\0\162\0\145) - /Parent 520 0 R - /First 522 0 R - /Last 527 0 R - /Next 528 0 R - /Count -6 - /A 19 0 R ->> endobj -522 0 obj -<< - /Title (\376\377\0\111\0\144\0\145\0\156\0\164\0\151\0\146\0\151\0\145\0\162\0\163) - /Parent 521 0 R - /Next 523 0 R - /A 21 0 R ->> endobj -523 0 obj -<< - /Title (\376\377\0\113\0\145\0\171\0\167\0\157\0\162\0\144\0\163) - /Parent 521 0 R - /Prev 522 0 R - /Next 524 0 R - /A 23 0 R ->> endobj -524 0 obj -<< - /Title (\376\377\0\117\0\160\0\145\0\162\0\141\0\164\0\157\0\162\0\163) - /Parent 521 0 R - /Prev 523 0 R - /Next 525 0 R - /A 25 0 R ->> endobj -525 0 obj -<< - /Title (\376\377\0\117\0\164\0\150\0\145\0\162\0\40\0\164\0\157\0\153\0\145\0\156\0\163) - /Parent 521 0 R - /Prev 524 0 R - /Next 526 0 R - /A 27 0 R ->> endobj -526 0 obj -<< - /Title (\376\377\0\114\0\151\0\164\0\145\0\162\0\141\0\154\0\163) - /Parent 521 0 R - /Prev 525 0 R - /Next 527 0 R - /A 29 0 R ->> endobj -527 0 obj -<< - /Title (\376\377\0\103\0\157\0\155\0\155\0\145\0\156\0\164\0\163) - /Parent 521 0 R - /Prev 526 0 R - /A 31 0 R ->> endobj -528 0 obj -<< - /Title (\376\377\0\126\0\141\0\154\0\165\0\145\0\163\0\40\0\141\0\156\0\144\0\40\0\104\0\141\0\164\0\141\0\40\0\164\0\171\0\160\0\145\0\163) - /Parent 520 0 R - /First 529 0 R - /Last 542 0 R - /Prev 521 0 R - /Next 543 0 R - /Count -14 - /A 33 0 R ->> endobj -529 0 obj -<< - /Title (\376\377\0\111\0\156\0\164\0\145\0\147\0\145\0\162) - /Parent 528 0 R - /Next 530 0 R - /A 35 0 R ->> endobj -530 0 obj -<< - /Title (\376\377\0\106\0\154\0\157\0\141\0\164) - /Parent 528 0 R - /Prev 529 0 R - /Next 531 0 R - /A 37 0 R ->> endobj -531 0 obj -<< - /Title (\376\377\0\123\0\164\0\162\0\151\0\156\0\147) - /Parent 528 0 R - /Prev 530 0 R - /Next 532 0 R - /A 39 0 R ->> endobj -532 0 obj -<< - /Title (\376\377\0\116\0\165\0\154\0\154) - /Parent 528 0 R - /Prev 531 0 R - /Next 533 0 R - /A 41 0 R ->> endobj -533 0 obj -<< - /Title (\376\377\0\102\0\157\0\157\0\154) - /Parent 528 0 R - /Prev 532 0 R - /Next 534 0 R - /A 43 0 R ->> endobj -534 0 obj -<< - /Title (\376\377\0\124\0\141\0\142\0\154\0\145) - /Parent 528 0 R - /Prev 533 0 R - /Next 535 0 R - /A 45 0 R ->> endobj -535 0 obj -<< - /Title (\376\377\0\101\0\162\0\162\0\141\0\171) - /Parent 528 0 R - /Prev 534 0 R - /Next 536 0 R - /A 47 0 R ->> endobj -536 0 obj -<< - /Title (\376\377\0\106\0\165\0\156\0\143\0\164\0\151\0\157\0\156) - /Parent 528 0 R - /Prev 535 0 R - /Next 537 0 R - /A 49 0 R ->> endobj -537 0 obj -<< - /Title (\376\377\0\103\0\154\0\141\0\163\0\163) - /Parent 528 0 R - /Prev 536 0 R - /Next 538 0 R - /A 51 0 R ->> endobj -538 0 obj -<< - /Title (\376\377\0\103\0\154\0\141\0\163\0\163\0\40\0\151\0\156\0\163\0\164\0\141\0\156\0\143\0\145) - /Parent 528 0 R - /Prev 537 0 R - /Next 539 0 R - /A 53 0 R ->> endobj -539 0 obj -<< - /Title (\376\377\0\107\0\145\0\156\0\145\0\162\0\141\0\164\0\157\0\162) - /Parent 528 0 R - /Prev 538 0 R - /Next 540 0 R - /A 55 0 R ->> endobj -540 0 obj -<< - /Title (\376\377\0\125\0\163\0\145\0\162\0\144\0\141\0\164\0\141) - /Parent 528 0 R - /Prev 539 0 R - /Next 541 0 R - /A 57 0 R ->> endobj -541 0 obj -<< - /Title (\376\377\0\124\0\150\0\162\0\145\0\141\0\144) - /Parent 528 0 R - /Prev 540 0 R - /Next 542 0 R - /A 59 0 R ->> endobj -542 0 obj -<< - /Title (\376\377\0\127\0\145\0\141\0\153\0\40\0\122\0\145\0\146\0\145\0\162\0\145\0\156\0\143\0\145\0\163) - /Parent 528 0 R - /Prev 541 0 R - /A 61 0 R ->> endobj -543 0 obj -<< - /Title (\376\377\0\105\0\170\0\145\0\143\0\165\0\164\0\151\0\157\0\156\0\40\0\103\0\157\0\156\0\164\0\145\0\170\0\164) - /Parent 520 0 R - /First 544 0 R - /Last 544 0 R - /Prev 528 0 R - /Next 545 0 R - /Count -1 - /A 63 0 R ->> endobj -544 0 obj -<< - /Title (\376\377\0\126\0\141\0\162\0\151\0\141\0\142\0\154\0\145\0\163) - /Parent 543 0 R - /A 65 0 R ->> endobj -545 0 obj -<< - /Title (\376\377\0\123\0\164\0\141\0\164\0\145\0\155\0\145\0\156\0\164\0\163) - /Parent 520 0 R - /First 546 0 R - /Last 574 0 R - /Prev 543 0 R - /Next 575 0 R - /Count -22 - /A 67 0 R ->> endobj -546 0 obj -<< - /Title (\376\377\0\102\0\154\0\157\0\143\0\153) - /Parent 545 0 R - /Next 547 0 R - /A 69 0 R ->> endobj -547 0 obj -<< - /Title (\376\377\0\103\0\157\0\156\0\164\0\162\0\157\0\154\0\40\0\106\0\154\0\157\0\167\0\40\0\123\0\164\0\141\0\164\0\145\0\155\0\145\0\156\0\164\0\163) - /Parent 545 0 R - /First 549 0 R - /Last 557 0 R - /Prev 546 0 R - /Next 558 0 R - /Count -5 - /A 71 0 R ->> endobj -549 0 obj -<< - /Title (\376\377\0\164\0\162\0\165\0\145\0\40\0\141\0\156\0\144\0\40\0\146\0\141\0\154\0\163\0\145) - /Parent 547 0 R - /Next 551 0 R - /A 548 0 R ->> endobj -551 0 obj -<< - /Title (\376\377\0\151\0\146\0\57\0\145\0\154\0\163\0\145) - /Parent 547 0 R - /Prev 549 0 R - /Next 553 0 R - /A 550 0 R ->> endobj -553 0 obj -<< - /Title (\376\377\0\167\0\150\0\151\0\154\0\145) - /Parent 547 0 R - /Prev 551 0 R - /Next 555 0 R - /A 552 0 R ->> endobj -555 0 obj -<< - /Title (\376\377\0\144\0\157\0\57\0\167\0\150\0\151\0\154\0\145) - /Parent 547 0 R - /Prev 553 0 R - /Next 557 0 R - /A 554 0 R ->> endobj -557 0 obj -<< - /Title (\376\377\0\163\0\167\0\151\0\164\0\143\0\150) - /Parent 547 0 R - /Prev 555 0 R - /A 556 0 R ->> endobj -558 0 obj -<< - /Title (\376\377\0\114\0\157\0\157\0\160\0\163) - /Parent 545 0 R - /First 560 0 R - /Last 562 0 R - /Prev 547 0 R - /Next 563 0 R - /Count -2 - /A 73 0 R ->> endobj -560 0 obj -<< - /Title (\376\377\0\146\0\157\0\162) - /Parent 558 0 R - /Next 562 0 R - /A 559 0 R ->> endobj -562 0 obj -<< - /Title (\376\377\0\146\0\157\0\162\0\145\0\141\0\143\0\150) - /Parent 558 0 R - /Prev 560 0 R - /A 561 0 R ->> endobj -563 0 obj -<< - /Title (\376\377\0\142\0\162\0\145\0\141\0\153) - /Parent 545 0 R - /Prev 558 0 R - /Next 564 0 R - /A 75 0 R ->> endobj -564 0 obj -<< - /Title (\376\377\0\143\0\157\0\156\0\164\0\151\0\156\0\165\0\145) - /Parent 545 0 R - /Prev 563 0 R - /Next 565 0 R - /A 77 0 R ->> endobj -565 0 obj -<< - /Title (\376\377\0\162\0\145\0\164\0\165\0\162\0\156) - /Parent 545 0 R - /Prev 564 0 R - /Next 566 0 R - /A 79 0 R ->> endobj -566 0 obj -<< - /Title (\376\377\0\171\0\151\0\145\0\154\0\144) - /Parent 545 0 R - /Prev 565 0 R - /Next 567 0 R - /A 81 0 R ->> endobj -567 0 obj -<< - /Title (\376\377\0\114\0\157\0\143\0\141\0\154\0\40\0\166\0\141\0\162\0\151\0\141\0\142\0\154\0\145\0\163\0\40\0\144\0\145\0\143\0\154\0\141\0\162\0\141\0\164\0\151\0\157\0\156) - /Parent 545 0 R - /Prev 566 0 R - /Next 568 0 R - /A 83 0 R ->> endobj -568 0 obj -<< - /Title (\376\377\0\106\0\165\0\156\0\143\0\164\0\151\0\157\0\156\0\40\0\144\0\145\0\143\0\154\0\141\0\162\0\141\0\164\0\151\0\157\0\156) - /Parent 545 0 R - /Prev 567 0 R - /Next 569 0 R - /A 85 0 R ->> endobj -569 0 obj -<< - /Title (\376\377\0\103\0\154\0\141\0\163\0\163\0\40\0\144\0\145\0\143\0\154\0\141\0\162\0\141\0\164\0\151\0\157\0\156) - /Parent 545 0 R - /Prev 568 0 R - /Next 570 0 R - /A 87 0 R ->> endobj -570 0 obj -<< - /Title (\376\377\0\164\0\162\0\171\0\57\0\143\0\141\0\164\0\143\0\150) - /Parent 545 0 R - /Prev 569 0 R - /Next 571 0 R - /A 89 0 R ->> endobj -571 0 obj -<< - /Title (\376\377\0\164\0\150\0\162\0\157\0\167) - /Parent 545 0 R - /Prev 570 0 R - /Next 572 0 R - /A 91 0 R ->> endobj -572 0 obj -<< - /Title (\376\377\0\143\0\157\0\156\0\163\0\164) - /Parent 545 0 R - /Prev 571 0 R - /Next 573 0 R - /A 93 0 R ->> endobj -573 0 obj -<< - /Title (\376\377\0\145\0\156\0\165\0\155) - /Parent 545 0 R - /Prev 572 0 R - /Next 574 0 R - /A 95 0 R ->> endobj -574 0 obj -<< - /Title (\376\377\0\145\0\170\0\160\0\162\0\145\0\163\0\163\0\151\0\157\0\156\0\40\0\163\0\164\0\141\0\164\0\145\0\155\0\145\0\156\0\164) - /Parent 545 0 R - /Prev 573 0 R - /A 97 0 R ->> endobj -575 0 obj -<< - /Title (\376\377\0\105\0\170\0\160\0\162\0\145\0\163\0\163\0\151\0\157\0\156\0\163) - /Parent 520 0 R - /First 576 0 R - /Last 601 0 R - /Prev 545 0 R - /Next 602 0 R - /Count -16 - /A 99 0 R ->> endobj -576 0 obj -<< - /Title (\376\377\0\101\0\163\0\163\0\151\0\147\0\156\0\155\0\145\0\156\0\164\0\50\0\75\0\51\0\40\0\46\0\40\0\156\0\145\0\167\0\40\0\163\0\154\0\157\0\164\0\50\0\74\0\55\0\51) - /Parent 575 0 R - /Next 577 0 R - /A 101 0 R ->> endobj -577 0 obj -<< - /Title (\376\377\0\117\0\160\0\145\0\162\0\141\0\164\0\157\0\162\0\163) - /Parent 575 0 R - /First 579 0 R - /Last 597 0 R - /Prev 576 0 R - /Next 598 0 R - /Count -10 - /A 103 0 R ->> endobj -579 0 obj -<< - /Title (\376\377\0\77\0\72\0\40\0\117\0\160\0\145\0\162\0\141\0\164\0\157\0\162) - /Parent 577 0 R - /Next 581 0 R - /A 578 0 R ->> endobj -581 0 obj -<< - /Title (\376\377\0\101\0\162\0\151\0\164\0\150\0\155\0\145\0\164\0\151\0\143) - /Parent 577 0 R - /Prev 579 0 R - /Next 583 0 R - /A 580 0 R ->> endobj -583 0 obj -<< - /Title (\376\377\0\122\0\145\0\154\0\141\0\164\0\151\0\157\0\156\0\141\0\154) - /Parent 577 0 R - /Prev 581 0 R - /Next 585 0 R - /A 582 0 R ->> endobj -585 0 obj -<< - /Title (\376\377\0\114\0\157\0\147\0\151\0\143\0\141\0\154) - /Parent 577 0 R - /Prev 583 0 R - /Next 587 0 R - /A 584 0 R ->> endobj -587 0 obj -<< - /Title (\376\377\0\151\0\156\0\40\0\157\0\160\0\145\0\162\0\141\0\164\0\157\0\162) - /Parent 577 0 R - /Prev 585 0 R - /Next 589 0 R - /A 586 0 R ->> endobj -589 0 obj -<< - /Title (\376\377\0\151\0\156\0\163\0\164\0\141\0\156\0\143\0\145\0\157\0\146\0\40\0\157\0\160\0\145\0\162\0\141\0\164\0\157\0\162) - /Parent 577 0 R - /Prev 587 0 R - /Next 591 0 R - /A 588 0 R ->> endobj -591 0 obj -<< - /Title (\376\377\0\164\0\171\0\160\0\145\0\157\0\146\0\40\0\157\0\160\0\145\0\162\0\141\0\164\0\157\0\162) - /Parent 577 0 R - /Prev 589 0 R - /Next 593 0 R - /A 590 0 R ->> endobj -593 0 obj -<< - /Title (\376\377\0\143\0\157\0\155\0\155\0\141\0\40\0\157\0\160\0\145\0\162\0\141\0\164\0\157\0\162) - /Parent 577 0 R - /Prev 591 0 R - /Next 595 0 R - /A 592 0 R ->> endobj -595 0 obj -<< - /Title (\376\377\0\102\0\151\0\164\0\167\0\151\0\163\0\145\0\40\0\117\0\160\0\145\0\162\0\141\0\164\0\157\0\162\0\163) - /Parent 577 0 R - /Prev 593 0 R - /Next 597 0 R - /A 594 0 R ->> endobj -597 0 obj -<< - /Title (\376\377\0\117\0\160\0\145\0\162\0\141\0\164\0\157\0\162\0\163\0\40\0\160\0\162\0\145\0\143\0\145\0\144\0\145\0\156\0\143\0\145) - /Parent 577 0 R - /Prev 595 0 R - /A 596 0 R ->> endobj -598 0 obj -<< - /Title (\376\377\0\124\0\141\0\142\0\154\0\145\0\40\0\143\0\157\0\156\0\163\0\164\0\162\0\165\0\143\0\164\0\157\0\162) - /Parent 575 0 R - /Prev 577 0 R - /Next 599 0 R - /A 105 0 R ->> endobj -599 0 obj -<< - /Title (\376\377\0\144\0\145\0\154\0\145\0\147\0\141\0\164\0\145) - /Parent 575 0 R - /Prev 598 0 R - /Next 600 0 R - /A 107 0 R ->> endobj -600 0 obj -<< - /Title (\376\377\0\143\0\154\0\157\0\156\0\145) - /Parent 575 0 R - /Prev 599 0 R - /Next 601 0 R - /A 109 0 R ->> endobj -601 0 obj -<< - /Title (\376\377\0\101\0\162\0\162\0\141\0\171\0\40\0\143\0\157\0\156\0\163\0\164\0\162\0\165\0\143\0\164\0\157\0\162) - /Parent 575 0 R - /Prev 600 0 R - /A 111 0 R ->> endobj -602 0 obj -<< - /Title (\376\377\0\124\0\141\0\142\0\154\0\145\0\163) - /Parent 520 0 R - /First 603 0 R - /Last 605 0 R - /Prev 575 0 R - /Next 606 0 R - /Count -3 - /A 113 0 R ->> endobj -603 0 obj -<< - /Title (\376\377\0\103\0\157\0\156\0\163\0\164\0\162\0\165\0\143\0\164\0\151\0\157\0\156) - /Parent 602 0 R - /Next 604 0 R - /A 115 0 R ->> endobj -604 0 obj -<< - /Title (\376\377\0\123\0\154\0\157\0\164\0\40\0\143\0\162\0\145\0\141\0\164\0\151\0\157\0\156) - /Parent 602 0 R - /Prev 603 0 R - /Next 605 0 R - /A 117 0 R ->> endobj -605 0 obj -<< - /Title (\376\377\0\123\0\154\0\157\0\164\0\40\0\144\0\145\0\154\0\145\0\164\0\151\0\157\0\156) - /Parent 602 0 R - /Prev 604 0 R - /A 119 0 R ->> endobj -606 0 obj -<< - /Title (\376\377\0\101\0\162\0\162\0\141\0\171\0\163) - /Parent 520 0 R - /Prev 602 0 R - /Next 607 0 R - /A 124 0 R ->> endobj -607 0 obj -<< - /Title (\376\377\0\106\0\165\0\156\0\143\0\164\0\151\0\157\0\156\0\163) - /Parent 520 0 R - /First 608 0 R - /Last 616 0 R - /Prev 606 0 R - /Next 617 0 R - /Count -7 - /A 126 0 R ->> endobj -608 0 obj -<< - /Title (\376\377\0\106\0\165\0\156\0\143\0\164\0\151\0\157\0\156\0\40\0\144\0\145\0\143\0\154\0\141\0\162\0\141\0\164\0\151\0\157\0\156) - /Parent 607 0 R - /First 610 0 R - /Last 612 0 R - /Next 613 0 R - /Count -2 - /A 128 0 R ->> endobj -610 0 obj -<< - /Title (\376\377\0\104\0\145\0\146\0\141\0\165\0\154\0\164\0\40\0\120\0\141\0\162\0\141\0\155\0\141\0\164\0\145\0\162\0\163) - /Parent 608 0 R - /Next 612 0 R - /A 609 0 R ->> endobj -612 0 obj -<< - /Title (\376\377\0\106\0\165\0\156\0\143\0\164\0\151\0\157\0\156\0\40\0\167\0\151\0\164\0\150\0\40\0\166\0\141\0\162\0\151\0\141\0\142\0\154\0\145\0\40\0\156\0\165\0\155\0\142\0\145\0\162\0\40\0\157\0\146\0\40\0\160\0\141\0\162\0\141\0\155\0\141\0\164\0\145\0\162\0\163) - /Parent 608 0 R - /Prev 610 0 R - /A 611 0 R ->> endobj -613 0 obj -<< - /Title (\376\377\0\106\0\165\0\156\0\143\0\164\0\151\0\157\0\156\0\40\0\143\0\141\0\154\0\154\0\163) - /Parent 607 0 R - /Prev 608 0 R - /Next 614 0 R - /A 130 0 R ->> endobj -614 0 obj -<< - /Title (\376\377\0\102\0\151\0\156\0\144\0\151\0\156\0\147\0\40\0\141\0\156\0\40\0\145\0\156\0\166\0\151\0\162\0\157\0\156\0\155\0\145\0\156\0\164\0\40\0\164\0\157\0\40\0\141\0\40\0\146\0\165\0\156\0\143\0\164\0\151\0\157\0\156) - /Parent 607 0 R - /Prev 613 0 R - /Next 615 0 R - /A 132 0 R ->> endobj -615 0 obj -<< - /Title (\376\377\0\106\0\162\0\145\0\145\0\40\0\166\0\141\0\162\0\151\0\141\0\142\0\154\0\145\0\163) - /Parent 607 0 R - /Prev 614 0 R - /Next 616 0 R - /A 134 0 R ->> endobj -616 0 obj -<< - /Title (\376\377\0\124\0\141\0\151\0\154\0\40\0\162\0\145\0\143\0\165\0\162\0\163\0\151\0\157\0\156) - /Parent 607 0 R - /Prev 615 0 R - /A 136 0 R ->> endobj -617 0 obj -<< - /Title (\376\377\0\103\0\154\0\141\0\163\0\163\0\145\0\163) - /Parent 520 0 R - /First 618 0 R - /Last 625 0 R - /Prev 607 0 R - /Next 626 0 R - /Count -6 - /A 138 0 R ->> endobj -618 0 obj -<< - /Title (\376\377\0\103\0\154\0\141\0\163\0\163\0\40\0\144\0\145\0\143\0\154\0\141\0\162\0\141\0\164\0\151\0\157\0\156) - /Parent 617 0 R - /First 620 0 R - /Last 622 0 R - /Next 623 0 R - /Count -2 - /A 140 0 R ->> endobj -620 0 obj -<< - /Title (\376\377\0\123\0\164\0\141\0\164\0\151\0\143\0\40\0\166\0\141\0\162\0\151\0\141\0\142\0\154\0\145\0\163) - /Parent 618 0 R - /Next 622 0 R - /A 619 0 R ->> endobj -622 0 obj -<< - /Title (\376\377\0\103\0\154\0\141\0\163\0\163\0\40\0\141\0\164\0\164\0\162\0\151\0\142\0\165\0\164\0\145\0\163) - /Parent 618 0 R - /Prev 620 0 R - /A 621 0 R ->> endobj -623 0 obj -<< - /Title (\376\377\0\103\0\154\0\141\0\163\0\163\0\40\0\151\0\156\0\163\0\164\0\141\0\156\0\143\0\145\0\163) - /Parent 617 0 R - /Prev 618 0 R - /Next 624 0 R - /A 142 0 R ->> endobj -624 0 obj -<< - /Title (\376\377\0\111\0\156\0\150\0\145\0\162\0\151\0\164\0\141\0\156\0\143\0\145) - /Parent 617 0 R - /Prev 623 0 R - /Next 625 0 R - /A 144 0 R ->> endobj -625 0 obj -<< - /Title (\376\377\0\115\0\145\0\164\0\141\0\155\0\145\0\164\0\150\0\157\0\144\0\163) - /Parent 617 0 R - /Prev 624 0 R - /A 146 0 R ->> endobj -626 0 obj -<< - /Title (\376\377\0\107\0\145\0\156\0\145\0\162\0\141\0\164\0\157\0\162\0\163) - /Parent 520 0 R - /Prev 617 0 R - /Next 627 0 R - /A 148 0 R ->> endobj -627 0 obj -<< - /Title (\376\377\0\103\0\157\0\156\0\163\0\164\0\141\0\156\0\164\0\163\0\40\0\46\0\40\0\105\0\156\0\165\0\155\0\145\0\162\0\141\0\164\0\151\0\157\0\156\0\163) - /Parent 520 0 R - /First 628 0 R - /Last 630 0 R - /Prev 626 0 R - /Next 631 0 R - /Count -3 - /A 150 0 R ->> endobj -628 0 obj -<< - /Title (\376\377\0\103\0\157\0\156\0\163\0\164\0\141\0\156\0\164\0\163) - /Parent 627 0 R - /Next 629 0 R - /A 152 0 R ->> endobj -629 0 obj -<< - /Title (\376\377\0\105\0\156\0\165\0\155\0\145\0\162\0\141\0\164\0\151\0\157\0\156\0\163) - /Parent 627 0 R - /Prev 628 0 R - /Next 630 0 R - /A 154 0 R ->> endobj -630 0 obj -<< - /Title (\376\377\0\111\0\155\0\160\0\154\0\145\0\155\0\145\0\156\0\164\0\141\0\164\0\151\0\157\0\156\0\40\0\156\0\157\0\164\0\145\0\163) - /Parent 627 0 R - /Prev 629 0 R - /A 156 0 R ->> endobj -631 0 obj -<< - /Title (\376\377\0\124\0\150\0\162\0\145\0\141\0\144\0\163) - /Parent 520 0 R - /First 632 0 R - /Last 632 0 R - /Prev 627 0 R - /Next 633 0 R - /Count -1 - /A 158 0 R ->> endobj -632 0 obj -<< - /Title (\376\377\0\125\0\163\0\151\0\156\0\147\0\40\0\164\0\150\0\162\0\145\0\141\0\144\0\163) - /Parent 631 0 R - /A 160 0 R ->> endobj -633 0 obj -<< - /Title (\376\377\0\127\0\145\0\141\0\153\0\40\0\122\0\145\0\146\0\145\0\162\0\145\0\156\0\143\0\145\0\163) - /Parent 520 0 R - /First 635 0 R - /Last 635 0 R - /Prev 631 0 R - /Next 636 0 R - /Count -1 - /A 162 0 R ->> endobj -635 0 obj -<< - /Title (\376\377\0\110\0\141\0\156\0\144\0\154\0\151\0\156\0\147\0\40\0\167\0\145\0\141\0\153\0\40\0\162\0\145\0\146\0\145\0\162\0\145\0\156\0\143\0\145\0\163\0\40\0\145\0\170\0\160\0\154\0\151\0\143\0\151\0\164\0\154\0\171) - /Parent 633 0 R - /A 634 0 R ->> endobj -636 0 obj -<< - /Title (\376\377\0\104\0\145\0\154\0\145\0\147\0\141\0\164\0\151\0\157\0\156) - /Parent 520 0 R - /Prev 633 0 R - /Next 637 0 R - /A 164 0 R ->> endobj -637 0 obj -<< - /Title (\376\377\0\115\0\145\0\164\0\141\0\155\0\145\0\164\0\150\0\157\0\144\0\163) - /Parent 520 0 R - /First 638 0 R - /Last 655 0 R - /Prev 636 0 R - /Next 656 0 R - /Count -18 - /A 166 0 R ->> endobj -638 0 obj -<< - /Title (\376\377\0\137\0\163\0\145\0\164) - /Parent 637 0 R - /Next 639 0 R - /A 168 0 R ->> endobj -639 0 obj -<< - /Title (\376\377\0\137\0\147\0\145\0\164) - /Parent 637 0 R - /Prev 638 0 R - /Next 640 0 R - /A 170 0 R ->> endobj -640 0 obj -<< - /Title (\376\377\0\137\0\156\0\145\0\167\0\163\0\154\0\157\0\164) - /Parent 637 0 R - /Prev 639 0 R - /Next 641 0 R - /A 172 0 R ->> endobj -641 0 obj -<< - /Title (\376\377\0\137\0\144\0\145\0\154\0\163\0\154\0\157\0\164) - /Parent 637 0 R - /Prev 640 0 R - /Next 642 0 R - /A 174 0 R ->> endobj -642 0 obj -<< - /Title (\376\377\0\137\0\141\0\144\0\144) - /Parent 637 0 R - /Prev 641 0 R - /Next 643 0 R - /A 176 0 R ->> endobj -643 0 obj -<< - /Title (\376\377\0\137\0\163\0\165\0\142) - /Parent 637 0 R - /Prev 642 0 R - /Next 644 0 R - /A 178 0 R ->> endobj -644 0 obj -<< - /Title (\376\377\0\137\0\155\0\165\0\154) - /Parent 637 0 R - /Prev 643 0 R - /Next 645 0 R - /A 180 0 R ->> endobj -645 0 obj -<< - /Title (\376\377\0\137\0\144\0\151\0\166) - /Parent 637 0 R - /Prev 644 0 R - /Next 646 0 R - /A 182 0 R ->> endobj -646 0 obj -<< - /Title (\376\377\0\137\0\155\0\157\0\144\0\165\0\154\0\157) - /Parent 637 0 R - /Prev 645 0 R - /Next 647 0 R - /A 184 0 R ->> endobj -647 0 obj -<< - /Title (\376\377\0\137\0\165\0\156\0\155) - /Parent 637 0 R - /Prev 646 0 R - /Next 648 0 R - /A 186 0 R ->> endobj -648 0 obj -<< - /Title (\376\377\0\137\0\164\0\171\0\160\0\145\0\157\0\146) - /Parent 637 0 R - /Prev 647 0 R - /Next 649 0 R - /A 188 0 R ->> endobj -649 0 obj -<< - /Title (\376\377\0\137\0\143\0\155\0\160) - /Parent 637 0 R - /Prev 648 0 R - /Next 650 0 R - /A 190 0 R ->> endobj -650 0 obj -<< - /Title (\376\377\0\137\0\143\0\141\0\154\0\154) - /Parent 637 0 R - /Prev 649 0 R - /Next 651 0 R - /A 192 0 R ->> endobj -651 0 obj -<< - /Title (\376\377\0\137\0\143\0\154\0\157\0\156\0\145\0\144) - /Parent 637 0 R - /Prev 650 0 R - /Next 652 0 R - /A 194 0 R ->> endobj -652 0 obj -<< - /Title (\376\377\0\137\0\156\0\145\0\170\0\164\0\151) - /Parent 637 0 R - /Prev 651 0 R - /Next 653 0 R - /A 196 0 R ->> endobj -653 0 obj -<< - /Title (\376\377\0\137\0\164\0\157\0\163\0\164\0\162\0\151\0\156\0\147) - /Parent 637 0 R - /Prev 652 0 R - /Next 654 0 R - /A 198 0 R ->> endobj -654 0 obj -<< - /Title (\376\377\0\137\0\151\0\156\0\150\0\145\0\162\0\151\0\164\0\145\0\144) - /Parent 637 0 R - /Prev 653 0 R - /Next 655 0 R - /A 200 0 R ->> endobj -655 0 obj -<< - /Title (\376\377\0\137\0\156\0\145\0\167\0\155\0\145\0\155\0\142\0\145\0\162) - /Parent 637 0 R - /Prev 654 0 R - /A 202 0 R ->> endobj -656 0 obj -<< - /Title (\376\377\0\102\0\165\0\151\0\154\0\164\0\55\0\151\0\156\0\40\0\146\0\165\0\156\0\143\0\164\0\151\0\157\0\156\0\163) - /Parent 520 0 R - /First 657 0 R - /Last 658 0 R - /Prev 637 0 R - /Count -14 - /A 204 0 R ->> endobj -657 0 obj -<< - /Title (\376\377\0\107\0\154\0\157\0\142\0\141\0\154\0\40\0\163\0\171\0\155\0\142\0\157\0\154\0\163) - /Parent 656 0 R - /Next 658 0 R - /A 206 0 R ->> endobj -658 0 obj -<< - /Title (\376\377\0\104\0\145\0\146\0\141\0\165\0\154\0\164\0\40\0\144\0\145\0\154\0\145\0\147\0\141\0\164\0\145\0\163) - /Parent 656 0 R - /First 660 0 R - /Last 682 0 R - /Prev 657 0 R - /Count -12 - /A 208 0 R ->> endobj -660 0 obj -<< - /Title (\376\377\0\111\0\156\0\164\0\145\0\147\0\145\0\162) - /Parent 658 0 R - /Next 662 0 R - /A 659 0 R ->> endobj -662 0 obj -<< - /Title (\376\377\0\106\0\154\0\157\0\141\0\164) - /Parent 658 0 R - /Prev 660 0 R - /Next 664 0 R - /A 661 0 R ->> endobj -664 0 obj -<< - /Title (\376\377\0\102\0\157\0\157\0\154) - /Parent 658 0 R - /Prev 662 0 R - /Next 666 0 R - /A 663 0 R ->> endobj -666 0 obj -<< - /Title (\376\377\0\123\0\164\0\162\0\151\0\156\0\147) - /Parent 658 0 R - /Prev 664 0 R - /Next 668 0 R - /A 665 0 R ->> endobj -668 0 obj -<< - /Title (\376\377\0\124\0\141\0\142\0\154\0\145) - /Parent 658 0 R - /Prev 666 0 R - /Next 670 0 R - /A 667 0 R ->> endobj -670 0 obj -<< - /Title (\376\377\0\101\0\162\0\162\0\141\0\171) - /Parent 658 0 R - /Prev 668 0 R - /Next 672 0 R - /A 669 0 R ->> endobj -672 0 obj -<< - /Title (\376\377\0\106\0\165\0\156\0\143\0\164\0\151\0\157\0\156) - /Parent 658 0 R - /Prev 670 0 R - /Next 674 0 R - /A 671 0 R ->> endobj -674 0 obj -<< - /Title (\376\377\0\103\0\154\0\141\0\163\0\163) - /Parent 658 0 R - /Prev 672 0 R - /Next 676 0 R - /A 673 0 R ->> endobj -676 0 obj -<< - /Title (\376\377\0\103\0\154\0\141\0\163\0\163\0\40\0\111\0\156\0\163\0\164\0\141\0\156\0\143\0\145) - /Parent 658 0 R - /Prev 674 0 R - /Next 678 0 R - /A 675 0 R ->> endobj -678 0 obj -<< - /Title (\376\377\0\107\0\145\0\156\0\145\0\162\0\141\0\164\0\157\0\162) - /Parent 658 0 R - /Prev 676 0 R - /Next 680 0 R - /A 677 0 R ->> endobj -680 0 obj -<< - /Title (\376\377\0\124\0\150\0\162\0\145\0\141\0\144) - /Parent 658 0 R - /Prev 678 0 R - /Next 682 0 R - /A 679 0 R ->> endobj -682 0 obj -<< - /Title (\376\377\0\127\0\145\0\141\0\153\0\40\0\122\0\145\0\146\0\145\0\162\0\145\0\156\0\143\0\145) - /Parent 658 0 R - /Prev 680 0 R - /A 681 0 R ->> endobj -683 0 obj -<< - /Title (\376\377\0\103\0\150\0\141\0\160\0\164\0\145\0\162\0\240\0\63\0\56\0\240\0\105\0\155\0\142\0\145\0\144\0\144\0\151\0\156\0\147\0\40\0\123\0\161\0\165\0\151\0\162\0\162\0\145\0\154) - /Parent 514 0 R - /First 684 0 R - /Last 701 0 R - /Prev 520 0 R - /Next 702 0 R - /Count -18 - /A 210 0 R ->> endobj -684 0 obj -<< - /Title (\376\377\0\115\0\145\0\155\0\157\0\162\0\171\0\40\0\155\0\141\0\156\0\141\0\147\0\145\0\155\0\145\0\156\0\164) - /Parent 683 0 R - /Next 685 0 R - /A 212 0 R ->> endobj -685 0 obj -<< - /Title (\376\377\0\125\0\156\0\151\0\143\0\157\0\144\0\145) - /Parent 683 0 R - /Prev 684 0 R - /Next 686 0 R - /A 214 0 R ->> endobj -686 0 obj -<< - /Title (\376\377\0\123\0\161\0\165\0\151\0\162\0\162\0\145\0\154\0\40\0\157\0\156\0\40\0\66\0\64\0\40\0\142\0\151\0\164\0\163\0\40\0\141\0\162\0\143\0\150\0\151\0\164\0\145\0\143\0\164\0\165\0\162\0\145\0\163) - /Parent 683 0 R - /Prev 685 0 R - /Next 687 0 R - /A 216 0 R ->> endobj -687 0 obj -<< - /Title (\376\377\0\123\0\161\0\165\0\151\0\162\0\162\0\145\0\154\0\40\0\167\0\151\0\164\0\150\0\40\0\144\0\157\0\165\0\142\0\154\0\145\0\40\0\160\0\162\0\145\0\143\0\151\0\163\0\151\0\157\0\156\0\40\0\146\0\154\0\157\0\141\0\164\0\163) - /Parent 683 0 R - /Prev 686 0 R - /Next 688 0 R - /A 218 0 R ->> endobj -688 0 obj -<< - /Title (\376\377\0\105\0\162\0\162\0\157\0\162\0\40\0\143\0\157\0\156\0\166\0\145\0\156\0\164\0\151\0\157\0\156\0\163) - /Parent 683 0 R - /Prev 687 0 R - /Next 689 0 R - /A 220 0 R ->> endobj -689 0 obj -<< - /Title (\376\377\0\111\0\156\0\151\0\164\0\151\0\141\0\154\0\151\0\172\0\151\0\156\0\147\0\40\0\123\0\161\0\165\0\151\0\162\0\162\0\145\0\154) - /Parent 683 0 R - /Prev 688 0 R - /Next 690 0 R - /A 222 0 R ->> endobj -690 0 obj -<< - /Title (\376\377\0\124\0\150\0\145\0\40\0\123\0\164\0\141\0\143\0\153) - /Parent 683 0 R - /First 691 0 R - /Last 692 0 R - /Prev 689 0 R - /Next 693 0 R - /Count -2 - /A 224 0 R ->> endobj -691 0 obj -<< - /Title (\376\377\0\123\0\164\0\141\0\143\0\153\0\40\0\151\0\156\0\144\0\145\0\170\0\145\0\163) - /Parent 690 0 R - /Next 692 0 R - /A 226 0 R ->> endobj -692 0 obj -<< - /Title (\376\377\0\123\0\164\0\141\0\143\0\153\0\40\0\155\0\141\0\156\0\151\0\160\0\165\0\154\0\141\0\164\0\151\0\157\0\156) - /Parent 690 0 R - /Prev 691 0 R - /A 228 0 R ->> endobj -693 0 obj -<< - /Title (\376\377\0\122\0\165\0\156\0\164\0\151\0\155\0\145\0\40\0\145\0\162\0\162\0\157\0\162\0\40\0\150\0\141\0\156\0\144\0\154\0\151\0\156\0\147) - /Parent 683 0 R - /Prev 690 0 R - /Next 694 0 R - /A 230 0 R ->> endobj -694 0 obj -<< - /Title (\376\377\0\103\0\157\0\155\0\160\0\151\0\154\0\151\0\156\0\147\0\40\0\141\0\40\0\163\0\143\0\162\0\151\0\160\0\164) - /Parent 683 0 R - /Prev 693 0 R - /Next 695 0 R - /A 232 0 R ->> endobj -695 0 obj -<< - /Title (\376\377\0\103\0\141\0\154\0\154\0\151\0\156\0\147\0\40\0\141\0\40\0\146\0\165\0\156\0\143\0\164\0\151\0\157\0\156) - /Parent 683 0 R - /Prev 694 0 R - /Next 696 0 R - /A 234 0 R ->> endobj -696 0 obj -<< - /Title (\376\377\0\103\0\162\0\145\0\141\0\164\0\145\0\40\0\141\0\40\0\103\0\40\0\146\0\165\0\156\0\143\0\164\0\151\0\157\0\156) - /Parent 683 0 R - /Prev 695 0 R - /Next 697 0 R - /A 236 0 R ->> endobj -697 0 obj -<< - /Title (\376\377\0\124\0\141\0\142\0\154\0\145\0\163\0\40\0\141\0\156\0\144\0\40\0\141\0\162\0\162\0\141\0\171\0\163\0\40\0\155\0\141\0\156\0\151\0\160\0\165\0\154\0\141\0\164\0\151\0\157\0\156) - /Parent 683 0 R - /Prev 696 0 R - /Next 698 0 R - /A 238 0 R ->> endobj -698 0 obj -<< - /Title (\376\377\0\125\0\163\0\145\0\162\0\144\0\141\0\164\0\141\0\40\0\141\0\156\0\144\0\40\0\125\0\163\0\145\0\162\0\120\0\157\0\151\0\156\0\164\0\145\0\162\0\163) - /Parent 683 0 R - /Prev 697 0 R - /Next 699 0 R - /A 243 0 R ->> endobj -699 0 obj -<< - /Title (\376\377\0\124\0\150\0\145\0\40\0\162\0\145\0\147\0\151\0\163\0\164\0\162\0\171\0\40\0\164\0\141\0\142\0\154\0\145) - /Parent 683 0 R - /Prev 698 0 R - /Next 700 0 R - /A 245 0 R ->> endobj -700 0 obj -<< - /Title (\376\377\0\115\0\141\0\156\0\164\0\141\0\151\0\156\0\151\0\156\0\147\0\40\0\163\0\164\0\162\0\157\0\156\0\147\0\40\0\162\0\145\0\146\0\145\0\162\0\145\0\156\0\143\0\145\0\163\0\40\0\164\0\157\0\40\0\123\0\161\0\165\0\151\0\162\0\162\0\145\0\154\0\40\0\166\0\141\0\154\0\165\0\145\0\163\0\40\0\146\0\162\0\157\0\155\0\40\0\164\0\150\0\145\0\40\0\103\0\40\0\101\0\120\0\111) - /Parent 683 0 R - /Prev 699 0 R - /Next 701 0 R - /A 247 0 R ->> endobj -701 0 obj -<< - /Title (\376\377\0\104\0\145\0\142\0\165\0\147\0\40\0\111\0\156\0\164\0\145\0\162\0\146\0\141\0\143\0\145) - /Parent 683 0 R - /Prev 700 0 R - /A 249 0 R ->> endobj -702 0 obj -<< - /Title (\376\377\0\103\0\150\0\141\0\160\0\164\0\145\0\162\0\240\0\64\0\56\0\240\0\101\0\120\0\111\0\40\0\122\0\145\0\146\0\145\0\162\0\145\0\156\0\143\0\145) - /Parent 514 0 R - /First 703 0 R - /Last 711 0 R - /Prev 683 0 R - /Next 712 0 R - /Count -9 - /A 251 0 R ->> endobj -703 0 obj -<< - /Title (\376\377\0\126\0\151\0\162\0\164\0\165\0\141\0\154\0\40\0\115\0\141\0\143\0\150\0\151\0\156\0\145) - /Parent 702 0 R - /Next 704 0 R - /A 253 0 R ->> endobj -704 0 obj -<< - /Title (\376\377\0\103\0\157\0\155\0\160\0\151\0\154\0\145\0\162) - /Parent 702 0 R - /Prev 703 0 R - /Next 705 0 R - /A 255 0 R ->> endobj -705 0 obj -<< - /Title (\376\377\0\123\0\164\0\141\0\143\0\153\0\40\0\117\0\160\0\145\0\162\0\141\0\164\0\151\0\157\0\156\0\163) - /Parent 702 0 R - /Prev 704 0 R - /Next 706 0 R - /A 257 0 R ->> endobj -706 0 obj -<< - /Title (\376\377\0\117\0\142\0\152\0\145\0\143\0\164\0\40\0\143\0\162\0\145\0\141\0\164\0\151\0\157\0\156\0\40\0\141\0\156\0\144\0\40\0\150\0\141\0\156\0\144\0\154\0\151\0\156\0\147) - /Parent 702 0 R - /Prev 705 0 R - /Next 707 0 R - /A 259 0 R ->> endobj -707 0 obj -<< - /Title (\376\377\0\103\0\141\0\154\0\154\0\163) - /Parent 702 0 R - /Prev 706 0 R - /Next 708 0 R - /A 261 0 R ->> endobj -708 0 obj -<< - /Title (\376\377\0\117\0\142\0\152\0\145\0\143\0\164\0\163\0\40\0\155\0\141\0\156\0\151\0\160\0\165\0\154\0\141\0\164\0\151\0\157\0\156) - /Parent 702 0 R - /Prev 707 0 R - /Next 709 0 R - /A 263 0 R ->> endobj -709 0 obj -<< - /Title (\376\377\0\102\0\171\0\164\0\145\0\143\0\157\0\144\0\145\0\40\0\163\0\145\0\162\0\151\0\141\0\154\0\151\0\172\0\141\0\164\0\151\0\157\0\156) - /Parent 702 0 R - /Prev 708 0 R - /Next 710 0 R - /A 265 0 R ->> endobj -710 0 obj -<< - /Title (\376\377\0\122\0\141\0\167\0\40\0\157\0\142\0\152\0\145\0\143\0\164\0\40\0\150\0\141\0\156\0\144\0\154\0\151\0\156\0\147) - /Parent 702 0 R - /Prev 709 0 R - /Next 711 0 R - /A 267 0 R ->> endobj -711 0 obj -<< - /Title (\376\377\0\104\0\145\0\142\0\165\0\147\0\40\0\151\0\156\0\164\0\145\0\162\0\146\0\141\0\143\0\145) - /Parent 702 0 R - /Prev 710 0 R - /A 269 0 R ->> endobj -712 0 obj -<< - /Title (\376\377\0\111\0\156\0\144\0\145\0\170) - /Parent 514 0 R - /Prev 702 0 R - /A 271 0 R ->> endobj -713 0 obj -<< /Type /Font -/Subtype /Type1 -/Name /F11 -/BaseFont /Courier-Bold -/Encoding /WinAnsiEncoding >> -endobj -714 0 obj -<< /Type /Font -/Subtype /Type1 -/Name /F1 -/BaseFont /Helvetica -/Encoding /WinAnsiEncoding >> -endobj -715 0 obj -<< /Type /Font -/Subtype /Type1 -/Name /F10 -/BaseFont /Courier-Oblique -/Encoding /WinAnsiEncoding >> -endobj -716 0 obj -<< /Type /Font -/Subtype /Type1 -/Name /F5 -/BaseFont /Times-Roman -/Encoding /WinAnsiEncoding >> -endobj -717 0 obj -<< /Type /Font -/Subtype /Type1 -/Name /F3 -/BaseFont /Helvetica-Bold -/Encoding /WinAnsiEncoding >> -endobj -718 0 obj -<< /Type /Font -/Subtype /Type1 -/Name /F9 -/BaseFont /Courier -/Encoding /WinAnsiEncoding >> -endobj -719 0 obj -<< /Type /Font -/Subtype /Type1 -/Name /F6 -/BaseFont /Times-Italic -/Encoding /WinAnsiEncoding >> -endobj -720 0 obj -<< /Type /Font -/Subtype /Type1 -/Name /F7 -/BaseFont /Times-Bold -/Encoding /WinAnsiEncoding >> -endobj -1 0 obj -<< /Type /Pages -/Count 105 -/Kids [6 0 R 8 0 R 10 0 R 12 0 R 121 0 R 240 0 R 273 0 R 275 0 R 277 0 R 279 0 R 281 0 R 283 0 R 298 0 R 300 0 R 302 0 R 304 0 R 306 0 R 310 0 R 316 0 R 321 0 R 323 0 R 325 0 R 330 0 R 338 0 R 343 0 R 345 0 R 347 0 R 349 0 R 351 0 R 353 0 R 357 0 R 361 0 R 363 0 R 367 0 R 369 0 R 371 0 R 373 0 R 375 0 R 377 0 R 379 0 R 381 0 R 383 0 R 385 0 R 387 0 R 389 0 R 391 0 R 393 0 R 395 0 R 397 0 R 399 0 R 401 0 R 403 0 R 405 0 R 407 0 R 409 0 R 411 0 R 413 0 R 415 0 R 417 0 R 419 0 R 421 0 R 423 0 R 425 0 R 427 0 R 429 0 R 431 0 R 433 0 R 435 0 R 437 0 R 439 0 R 441 0 R 443 0 R 445 0 R 447 0 R 449 0 R 451 0 R 453 0 R 455 0 R 457 0 R 459 0 R 461 0 R 463 0 R 465 0 R 467 0 R 469 0 R 471 0 R 473 0 R 475 0 R 477 0 R 479 0 R 481 0 R 483 0 R 485 0 R 487 0 R 489 0 R 491 0 R 493 0 R 495 0 R 497 0 R 499 0 R 501 0 R 503 0 R 506 0 R 509 0 R 512 0 R ] >> -endobj -2 0 obj -<< /Type /Catalog -/Pages 1 0 R - /Outlines 514 0 R - /PageMode /UseOutlines - >> -endobj -3 0 obj -<< -/Font << /F1 714 0 R /F11 713 0 R /F10 715 0 R /F5 716 0 R /F3 717 0 R /F9 718 0 R /F6 719 0 R /F7 720 0 R >> -/ProcSet [ /PDF /ImageC /Text ] >> -endobj -15 0 obj -<< -/S /GoTo -/D [273 0 R /XYZ 115.0 725.0 null] ->> -endobj -17 0 obj -<< -/S /GoTo -/D [275 0 R /XYZ 115.0 725.0 null] ->> -endobj -19 0 obj -<< -/S /GoTo -/D [275 0 R /XYZ 115.0 666.009 null] ->> -endobj -21 0 obj -<< -/S /GoTo -/D [275 0 R /XYZ 115.0 632.684 null] ->> -endobj -23 0 obj -<< -/S /GoTo -/D [275 0 R /XYZ 115.0 519.385 null] ->> -endobj -25 0 obj -<< -/S /GoTo -/D [275 0 R /XYZ 115.0 322.946 null] ->> -endobj -27 0 obj -<< -/S /GoTo -/D [275 0 R /XYZ 115.0 192.507 null] ->> -endobj -29 0 obj -<< -/S /GoTo -/D [277 0 R /XYZ 115.0 725.0 null] ->> -endobj -31 0 obj -<< -/S /GoTo -/D [277 0 R /XYZ 115.0 414.541 null] ->> -endobj -33 0 obj -<< -/S /GoTo -/D [277 0 R /XYZ 115.0 119.922 null] ->> -endobj -35 0 obj -<< -/S /GoTo -/D [279 0 R /XYZ 115.0 682.0 null] ->> -endobj -37 0 obj -<< -/S /GoTo -/D [279 0 R /XYZ 115.0 552.401 null] ->> -endobj -39 0 obj -<< -/S /GoTo -/D [279 0 R /XYZ 115.0 442.522 null] ->> -endobj -41 0 obj -<< -/S /GoTo -/D [279 0 R /XYZ 115.0 137.763 null] ->> -endobj -43 0 obj -<< -/S /GoTo -/D [281 0 R /XYZ 115.0 654.42 null] ->> -endobj -45 0 obj -<< -/S /GoTo -/D [281 0 R /XYZ 115.0 543.401 null] ->> -endobj -47 0 obj -<< -/S /GoTo -/D [281 0 R /XYZ 115.0 394.082 null] ->> -endobj -49 0 obj -<< -/S /GoTo -/D [281 0 R /XYZ 115.0 274.343 null] ->> -endobj -51 0 obj -<< -/S /GoTo -/D [281 0 R /XYZ 115.0 212.904 null] ->> -endobj -53 0 obj -<< -/S /GoTo -/D [281 0 R /XYZ 115.0 140.465 null] ->> -endobj -55 0 obj -<< -/S /GoTo -/D [283 0 R /XYZ 115.0 714.0 null] ->> -endobj -57 0 obj -<< -/S /GoTo -/D [283 0 R /XYZ 115.0 652.561 null] ->> -endobj -59 0 obj -<< -/S /GoTo -/D [283 0 R /XYZ 115.0 591.122 null] ->> -endobj -61 0 obj -<< -/S /GoTo -/D [283 0 R /XYZ 115.0 540.683 null] ->> -endobj -63 0 obj -<< -/S /GoTo -/D [283 0 R /XYZ 115.0 479.244 null] ->> -endobj -65 0 obj -<< -/S /GoTo -/D [283 0 R /XYZ 115.0 358.919 null] ->> -endobj -67 0 obj -<< -/S /GoTo -/D [300 0 R /XYZ 115.0 705.0 null] ->> -endobj -69 0 obj -<< -/S /GoTo -/D [300 0 R /XYZ 115.0 555.815 null] ->> -endobj -71 0 obj -<< -/S /GoTo -/D [300 0 R /XYZ 115.0 475.516 null] ->> -endobj -73 0 obj -<< -/S /GoTo -/D [302 0 R /XYZ 115.0 148.088 null] ->> -endobj -75 0 obj -<< -/S /GoTo -/D [304 0 R /XYZ 115.0 298.444 null] ->> -endobj -77 0 obj -<< -/S /GoTo -/D [304 0 R /XYZ 115.0 207.145 null] ->> -endobj -79 0 obj -<< -/S /GoTo -/D [304 0 R /XYZ 115.0 115.846 null] ->> -endobj -81 0 obj -<< -/S /GoTo -/D [306 0 R /XYZ 115.0 652.14 null] ->> -endobj -83 0 obj -<< -/S /GoTo -/D [306 0 R /XYZ 115.0 571.841 null] ->> -endobj -85 0 obj -<< -/S /GoTo -/D [306 0 R /XYZ 115.0 380.522 null] ->> -endobj -87 0 obj -<< -/S /GoTo -/D [306 0 R /XYZ 115.0 270.643 null] ->> -endobj -89 0 obj -<< -/S /GoTo -/D [306 0 R /XYZ 115.0 141.044 null] ->> -endobj -91 0 obj -<< -/S /GoTo -/D [310 0 R /XYZ 115.0 682.0 null] ->> -endobj -93 0 obj -<< -/S /GoTo -/D [310 0 R /XYZ 115.0 601.701 null] ->> -endobj -95 0 obj -<< -/S /GoTo -/D [310 0 R /XYZ 115.0 511.542 null] ->> -endobj -97 0 obj -<< -/S /GoTo -/D [310 0 R /XYZ 115.0 381.943 null] ->> -endobj -99 0 obj -<< -/S /GoTo -/D [310 0 R /XYZ 115.0 290.644 null] ->> -endobj -101 0 obj -<< -/S /GoTo -/D [310 0 R /XYZ 115.0 257.319 null] ->> -endobj -103 0 obj -<< -/S /GoTo -/D [316 0 R /XYZ 115.0 663.14 null] ->> -endobj -105 0 obj -<< -/S /GoTo -/D [323 0 R /XYZ 115.0 245.758 null] ->> -endobj -107 0 obj -<< -/S /GoTo -/D [325 0 R /XYZ 115.0 242.64 null] ->> -endobj -109 0 obj -<< -/S /GoTo -/D [325 0 R /XYZ 115.0 151.341 null] ->> -endobj -111 0 obj -<< -/S /GoTo -/D [330 0 R /XYZ 115.0 629.0 null] ->> -endobj -113 0 obj -<< -/S /GoTo -/D [330 0 R /XYZ 115.0 428.541 null] ->> -endobj -115 0 obj -<< -/S /GoTo -/D [330 0 R /XYZ 115.0 341.216 null] ->> -endobj -117 0 obj -<< -/S /GoTo -/D [330 0 R /XYZ 115.0 290.777 null] ->> -endobj -119 0 obj -<< -/S /GoTo -/D [338 0 R /XYZ 115.0 583.84 null] ->> -endobj -124 0 obj -<< -/S /GoTo -/D [338 0 R /XYZ 115.0 383.801 null] ->> -endobj -126 0 obj -<< -/S /GoTo -/D [338 0 R /XYZ 115.0 217.176 null] ->> -endobj -128 0 obj -<< -/S /GoTo -/D [338 0 R /XYZ 115.0 140.851 null] ->> -endobj -130 0 obj -<< -/S /GoTo -/D [345 0 R /XYZ 115.0 380.624 null] ->> -endobj -132 0 obj -<< -/S /GoTo -/D [347 0 R /XYZ 115.0 725.0 null] ->> -endobj -134 0 obj -<< -/S /GoTo -/D [347 0 R /XYZ 115.0 582.427 null] ->> -endobj -136 0 obj -<< -/S /GoTo -/D [347 0 R /XYZ 115.0 370.388 null] ->> -endobj -138 0 obj -<< -/S /GoTo -/D [347 0 R /XYZ 115.0 158.489 null] ->> -endobj -140 0 obj -<< -/S /GoTo -/D [349 0 R /XYZ 115.0 725.0 null] ->> -endobj -142 0 obj -<< -/S /GoTo -/D [353 0 R /XYZ 115.0 311.78 null] ->> -endobj -144 0 obj -<< -/S /GoTo -/D [357 0 R /XYZ 115.0 352.5 null] ->> -endobj -146 0 obj -<< -/S /GoTo -/D [363 0 R /XYZ 115.0 557.1 null] ->> -endobj -148 0 obj -<< -/S /GoTo -/D [363 0 R /XYZ 115.0 132.021 null] ->> -endobj -150 0 obj -<< -/S /GoTo -/D [367 0 R /XYZ 115.0 307.36 null] ->> -endobj -152 0 obj -<< -/S /GoTo -/D [367 0 R /XYZ 115.0 242.035 null] ->> -endobj -154 0 obj -<< -/S /GoTo -/D [369 0 R /XYZ 115.0 572.98 null] ->> -endobj -156 0 obj -<< -/S /GoTo -/D [369 0 R /XYZ 115.0 107.761 null] ->> -endobj -158 0 obj -<< -/S /GoTo -/D [371 0 R /XYZ 115.0 445.68 null] ->> -endobj -160 0 obj -<< -/S /GoTo -/D [371 0 R /XYZ 115.0 325.355 null] ->> -endobj -162 0 obj -<< -/S /GoTo -/D [375 0 R /XYZ 115.0 685.28 null] ->> -endobj -164 0 obj -<< -/S /GoTo -/D [377 0 R /XYZ 115.0 613.56 null] ->> -endobj -166 0 obj -<< -/S /GoTo -/D [377 0 R /XYZ 115.0 276.755 null] ->> -endobj -168 0 obj -<< -/S /GoTo -/D [379 0 R /XYZ 115.0 328.76 null] ->> -endobj -170 0 obj -<< -/S /GoTo -/D [379 0 R /XYZ 115.0 248.461 null] ->> -endobj -172 0 obj -<< -/S /GoTo -/D [379 0 R /XYZ 115.0 168.162 null] ->> -endobj -174 0 obj -<< -/S /GoTo -/D [381 0 R /XYZ 115.0 693.0 null] ->> -endobj -176 0 obj -<< -/S /GoTo -/D [381 0 R /XYZ 115.0 591.701 null] ->> -endobj -178 0 obj -<< -/S /GoTo -/D [381 0 R /XYZ 115.0 511.402 null] ->> -endobj -180 0 obj -<< -/S /GoTo -/D [381 0 R /XYZ 115.0 460.963 null] ->> -endobj -182 0 obj -<< -/S /GoTo -/D [381 0 R /XYZ 115.0 410.524 null] ->> -endobj -184 0 obj -<< -/S /GoTo -/D [381 0 R /XYZ 115.0 360.085 null] ->> -endobj -186 0 obj -<< -/S /GoTo -/D [381 0 R /XYZ 115.0 309.646 null] ->> -endobj -188 0 obj -<< -/S /GoTo -/D [381 0 R /XYZ 115.0 229.347 null] ->> -endobj -190 0 obj -<< -/S /GoTo -/D [381 0 R /XYZ 115.0 149.048 null] ->> -endobj -192 0 obj -<< -/S /GoTo -/D [383 0 R /XYZ 115.0 608.64 null] ->> -endobj -194 0 obj -<< -/S /GoTo -/D [383 0 R /XYZ 115.0 528.341 null] ->> -endobj -196 0 obj -<< -/S /GoTo -/D [383 0 R /XYZ 115.0 448.042 null] ->> -endobj -198 0 obj -<< -/S /GoTo -/D [383 0 R /XYZ 115.0 335.743 null] ->> -endobj -200 0 obj -<< -/S /GoTo -/D [383 0 R /XYZ 115.0 223.444 null] ->> -endobj -202 0 obj -<< -/S /GoTo -/D [383 0 R /XYZ 115.0 111.145 null] ->> -endobj -204 0 obj -<< -/S /GoTo -/D [385 0 R /XYZ 115.0 653.14 null] ->> -endobj -206 0 obj -<< -/S /GoTo -/D [385 0 R /XYZ 115.0 598.815 null] ->> -endobj -208 0 obj -<< -/S /GoTo -/D [389 0 R /XYZ 115.0 725.0 null] ->> -endobj -210 0 obj -<< -/S /GoTo -/D [403 0 R /XYZ 115.0 725.0 null] ->> -endobj -212 0 obj -<< -/S /GoTo -/D [403 0 R /XYZ 115.0 601.009 null] ->> -endobj -214 0 obj -<< -/S /GoTo -/D [403 0 R /XYZ 115.0 343.684 null] ->> -endobj -216 0 obj -<< -/S /GoTo -/D [403 0 R /XYZ 115.0 278.359 null] ->> -endobj -218 0 obj -<< -/S /GoTo -/D [403 0 R /XYZ 115.0 213.034 null] ->> -endobj -220 0 obj -<< -/S /GoTo -/D [403 0 R /XYZ 115.0 136.709 null] ->> -endobj -222 0 obj -<< -/S /GoTo -/D [405 0 R /XYZ 115.0 633.56 null] ->> -endobj -224 0 obj -<< -/S /GoTo -/D [405 0 R /XYZ 115.0 418.775 null] ->> -endobj -226 0 obj -<< -/S /GoTo -/D [405 0 R /XYZ 115.0 331.45 null] ->> -endobj -228 0 obj -<< -/S /GoTo -/D [407 0 R /XYZ 115.0 662.75 null] ->> -endobj -230 0 obj -<< -/S /GoTo -/D [409 0 R /XYZ 115.0 483.82 null] ->> -endobj -232 0 obj -<< -/S /GoTo -/D [409 0 R /XYZ 115.0 323.635 null] ->> -endobj -234 0 obj -<< -/S /GoTo -/D [411 0 R /XYZ 115.0 313.78 null] ->> -endobj -236 0 obj -<< -/S /GoTo -/D [413 0 R /XYZ 115.0 663.14 null] ->> -endobj -238 0 obj -<< -/S /GoTo -/D [415 0 R /XYZ 115.0 161.14 null] ->> -endobj -243 0 obj -<< -/S /GoTo -/D [419 0 R /XYZ 115.0 565.68 null] ->> -endobj -245 0 obj -<< -/S /GoTo -/D [419 0 R /XYZ 115.0 219.335 null] ->> -endobj -247 0 obj -<< -/S /GoTo -/D [421 0 R /XYZ 115.0 725.0 null] ->> -endobj -249 0 obj -<< -/S /GoTo -/D [421 0 R /XYZ 115.0 486.03 null] ->> -endobj -251 0 obj -<< -/S /GoTo -/D [425 0 R /XYZ 115.0 725.0 null] ->> -endobj -253 0 obj -<< -/S /GoTo -/D [425 0 R /XYZ 115.0 687.009 null] ->> -endobj -255 0 obj -<< -/S /GoTo -/D [435 0 R /XYZ 115.0 578.0 null] ->> -endobj -257 0 obj -<< -/S /GoTo -/D [439 0 R /XYZ 115.0 524.14 null] ->> -endobj -259 0 obj -<< -/S /GoTo -/D [443 0 R /XYZ 115.0 422.28 null] ->> -endobj -261 0 obj -<< -/S /GoTo -/D [469 0 R /XYZ 115.0 653.0 null] ->> -endobj -263 0 obj -<< -/S /GoTo -/D [473 0 R /XYZ 115.0 559.14 null] ->> -endobj -265 0 obj -<< -/S /GoTo -/D [491 0 R /XYZ 115.0 219.42 null] ->> -endobj -267 0 obj -<< -/S /GoTo -/D [493 0 R /XYZ 115.0 326.28 null] ->> -endobj -269 0 obj -<< -/S /GoTo -/D [499 0 R /XYZ 115.0 359.28 null] ->> -endobj -271 0 obj -<< -/S /GoTo -/D [503 0 R /XYZ 67.0 725.0 null] ->> -endobj -286 0 obj -<< -/S /GoTo -/D [363 0 R /XYZ 115.0 98.696 null] ->> -endobj -289 0 obj -<< -/S /GoTo -/D [419 0 R /XYZ 115.0 532.355 null] ->> -endobj -291 0 obj -<< -/S /GoTo -/D [375 0 R /XYZ 115.0 651.955 null] ->> -endobj -293 0 obj -<< -/S /GoTo -/D [338 0 R /XYZ 115.0 183.851 null] ->> -endobj -296 0 obj -<< -/S /GoTo -/D [283 0 R /XYZ 115.0 329.48 null] ->> -endobj -313 0 obj -<< -/S /GoTo -/D [367 0 R /XYZ 115.0 274.035 null] ->> -endobj -319 0 obj -<< -/S /GoTo -/D [330 0 R /XYZ 115.0 395.216 null] ->> -endobj -328 0 obj -<< -/S /GoTo -/D [377 0 R /XYZ 115.0 580.235 null] ->> -endobj -334 0 obj -<< -/S /GoTo -/D [377 0 R /XYZ 115.0 243.43 null] ->> -endobj -336 0 obj -<< -/S /GoTo -/D [323 0 R /XYZ 115.0 216.319 null] ->> -endobj -341 0 obj -<< -/S /GoTo -/D [385 0 R /XYZ 115.0 619.815 null] ->> -endobj -514 0 obj -<< - /First 516 0 R - /Last 712 0 R ->> endobj -515 0 obj -<< -/S /GoTo -/D [10 0 R /XYZ 115.0 725.0 null] ->> -endobj -517 0 obj -<< -/S /GoTo -/D [12 0 R /XYZ 115.0 715.0 null] ->> -endobj -548 0 obj -<< -/S /GoTo -/D [300 0 R /XYZ 115.0 414.077 null] ->> -endobj -550 0 obj -<< -/S /GoTo -/D [300 0 R /XYZ 115.0 355.881 null] ->> -endobj -552 0 obj -<< -/S /GoTo -/D [300 0 R /XYZ 115.0 140.505 null] ->> -endobj -554 0 obj -<< -/S /GoTo -/D [302 0 R /XYZ 115.0 545.96 null] ->> -endobj -556 0 obj -<< -/S /GoTo -/D [302 0 R /XYZ 115.0 349.164 null] ->> -endobj -559 0 obj -<< -/S /GoTo -/D [302 0 R /XYZ 115.0 118.649 null] ->> -endobj -561 0 obj -<< -/S /GoTo -/D [304 0 R /XYZ 115.0 516.1 null] ->> -endobj -578 0 obj -<< -/S /GoTo -/D [316 0 R /XYZ 115.0 633.701 null] ->> -endobj -580 0 obj -<< -/S /GoTo -/D [316 0 R /XYZ 115.0 556.645 null] ->> -endobj -582 0 obj -<< -/S /GoTo -/D [316 0 R /XYZ 115.0 315.709 null] ->> -endobj -584 0 obj -<< -/S /GoTo -/D [316 0 R /XYZ 115.0 206.653 null] ->> -endobj -586 0 obj -<< -/S /GoTo -/D [321 0 R /XYZ 115.0 661.0 null] ->> -endobj -588 0 obj -<< -/S /GoTo -/D [321 0 R /XYZ 115.0 444.484 null] ->> -endobj -590 0 obj -<< -/S /GoTo -/D [321 0 R /XYZ 115.0 356.428 null] ->> -endobj -592 0 obj -<< -/S /GoTo -/D [321 0 R /XYZ 115.0 210.072 null] ->> -endobj -594 0 obj -<< -/S /GoTo -/D [323 0 R /XYZ 115.0 645.84 null] ->> -endobj -596 0 obj -<< -/S /GoTo -/D [323 0 R /XYZ 115.0 506.204 null] ->> -endobj -609 0 obj -<< -/S /GoTo -/D [343 0 R /XYZ 115.0 207.32 null] ->> -endobj -611 0 obj -<< -/S /GoTo -/D [345 0 R /XYZ 115.0 642.28 null] ->> -endobj -619 0 obj -<< -/S /GoTo -/D [351 0 R /XYZ 115.0 395.64 null] ->> -endobj -621 0 obj -<< -/S /GoTo -/D [351 0 R /XYZ 115.0 181.71 null] ->> -endobj -634 0 obj -<< -/S /GoTo -/D [375 0 R /XYZ 115.0 239.055 null] ->> -endobj -659 0 obj -<< -/S /GoTo -/D [389 0 R /XYZ 115.0 673.561 null] ->> -endobj -661 0 obj -<< -/S /GoTo -/D [389 0 R /XYZ 115.0 437.365 null] ->> -endobj -663 0 obj -<< -/S /GoTo -/D [389 0 R /XYZ 115.0 201.169 null] ->> -endobj -665 0 obj -<< -/S /GoTo -/D [391 0 R /XYZ 115.0 641.0 null] ->> -endobj -667 0 obj -<< -/S /GoTo -/D [391 0 R /XYZ 115.0 192.804 null] ->> -endobj -669 0 obj -<< -/S /GoTo -/D [393 0 R /XYZ 115.0 440.0 null] ->> -endobj -671 0 obj -<< -/S /GoTo -/D [395 0 R /XYZ 115.0 266.12 null] ->> -endobj -673 0 obj -<< -/S /GoTo -/D [397 0 R /XYZ 115.0 471.0 null] ->> -endobj -675 0 obj -<< -/S /GoTo -/D [397 0 R /XYZ 115.0 148.804 null] ->> -endobj -677 0 obj -<< -/S /GoTo -/D [399 0 R /XYZ 115.0 588.0 null] ->> -endobj -679 0 obj -<< -/S /GoTo -/D [399 0 R /XYZ 115.0 435.804 null] ->> -endobj -681 0 obj -<< -/S /GoTo -/D [399 0 R /XYZ 115.0 188.608 null] ->> -endobj -xref -0 721 -0000000000 65535 f -0000224367 00000 n -0000225255 00000 n -0000225348 00000 n -0000000015 00000 n -0000000071 00000 n -0000000404 00000 n -0000000510 00000 n -0000001702 00000 n -0000001808 00000 n -0000001969 00000 n -0000002076 00000 n -0000003976 00000 n -0000004099 00000 n -0000004500 00000 n -0000225514 00000 n -0000004636 00000 n -0000225580 00000 n -0000004772 00000 n -0000225646 00000 n -0000004908 00000 n -0000225714 00000 n -0000005043 00000 n -0000225782 00000 n -0000005178 00000 n -0000225850 00000 n -0000005314 00000 n -0000225918 00000 n -0000005450 00000 n -0000225986 00000 n -0000005586 00000 n -0000226052 00000 n -0000005722 00000 n -0000226120 00000 n -0000005857 00000 n -0000226188 00000 n -0000005993 00000 n -0000226254 00000 n -0000006129 00000 n -0000226322 00000 n -0000006265 00000 n -0000226390 00000 n -0000006401 00000 n -0000226458 00000 n -0000006537 00000 n -0000226525 00000 n -0000006673 00000 n -0000226593 00000 n -0000006809 00000 n -0000226661 00000 n -0000006945 00000 n -0000226729 00000 n -0000007081 00000 n -0000226797 00000 n -0000007217 00000 n -0000226865 00000 n -0000007353 00000 n -0000226931 00000 n -0000007489 00000 n -0000226999 00000 n -0000007625 00000 n -0000227067 00000 n -0000007761 00000 n -0000227135 00000 n -0000007897 00000 n -0000227203 00000 n -0000008033 00000 n -0000227271 00000 n -0000008169 00000 n -0000227337 00000 n -0000008305 00000 n -0000227405 00000 n -0000008441 00000 n -0000227473 00000 n -0000008576 00000 n -0000227541 00000 n -0000008712 00000 n -0000227609 00000 n -0000008848 00000 n -0000227677 00000 n -0000008984 00000 n -0000227745 00000 n -0000009119 00000 n -0000227812 00000 n -0000009254 00000 n -0000227880 00000 n -0000009390 00000 n -0000227948 00000 n -0000009525 00000 n -0000228016 00000 n -0000009661 00000 n -0000228084 00000 n -0000009797 00000 n -0000228150 00000 n -0000009933 00000 n -0000228218 00000 n -0000010069 00000 n -0000228286 00000 n -0000010204 00000 n -0000228354 00000 n -0000010340 00000 n -0000228422 00000 n -0000010477 00000 n -0000228491 00000 n -0000010615 00000 n -0000228559 00000 n -0000010753 00000 n -0000228628 00000 n -0000010891 00000 n -0000228696 00000 n -0000011029 00000 n -0000228765 00000 n -0000011167 00000 n -0000228832 00000 n -0000011305 00000 n -0000228901 00000 n -0000011442 00000 n -0000228970 00000 n -0000011578 00000 n -0000229039 00000 n -0000011714 00000 n -0000013834 00000 n -0000013960 00000 n -0000014445 00000 n -0000229107 00000 n -0000014579 00000 n -0000229176 00000 n -0000014713 00000 n -0000229245 00000 n -0000014847 00000 n -0000229314 00000 n -0000014981 00000 n -0000229383 00000 n -0000015115 00000 n -0000229450 00000 n -0000015249 00000 n -0000229519 00000 n -0000015383 00000 n -0000229588 00000 n -0000015516 00000 n -0000229657 00000 n -0000015649 00000 n -0000229724 00000 n -0000015783 00000 n -0000229792 00000 n -0000015917 00000 n -0000229859 00000 n -0000016051 00000 n -0000229926 00000 n -0000016185 00000 n -0000229995 00000 n -0000016319 00000 n -0000230063 00000 n -0000016453 00000 n -0000230132 00000 n -0000016587 00000 n -0000230200 00000 n -0000016721 00000 n -0000230269 00000 n -0000016855 00000 n -0000230337 00000 n -0000016989 00000 n -0000230406 00000 n -0000017123 00000 n -0000230474 00000 n -0000017257 00000 n -0000230542 00000 n -0000017391 00000 n -0000230611 00000 n -0000017525 00000 n -0000230679 00000 n -0000017659 00000 n -0000230748 00000 n -0000017793 00000 n -0000230817 00000 n -0000017927 00000 n -0000230884 00000 n -0000018061 00000 n -0000230953 00000 n -0000018195 00000 n -0000231022 00000 n -0000018329 00000 n -0000231091 00000 n -0000018463 00000 n -0000231160 00000 n -0000018597 00000 n -0000231229 00000 n -0000018731 00000 n -0000231298 00000 n -0000018865 00000 n -0000231367 00000 n -0000018999 00000 n -0000231436 00000 n -0000019133 00000 n -0000231504 00000 n -0000019267 00000 n -0000231573 00000 n -0000019400 00000 n -0000231642 00000 n -0000019534 00000 n -0000231711 00000 n -0000019668 00000 n -0000231780 00000 n -0000019802 00000 n -0000231849 00000 n -0000019936 00000 n -0000231917 00000 n -0000020070 00000 n -0000231986 00000 n -0000020203 00000 n -0000232053 00000 n -0000020337 00000 n -0000232120 00000 n -0000020471 00000 n -0000232189 00000 n -0000020605 00000 n -0000232258 00000 n -0000020739 00000 n -0000232327 00000 n -0000020872 00000 n -0000232396 00000 n -0000021006 00000 n -0000232465 00000 n -0000021140 00000 n -0000232533 00000 n -0000021274 00000 n -0000232602 00000 n -0000021408 00000 n -0000232670 00000 n -0000021541 00000 n -0000232738 00000 n -0000021675 00000 n -0000232806 00000 n -0000021809 00000 n -0000232875 00000 n -0000021943 00000 n -0000232943 00000 n -0000022076 00000 n -0000233011 00000 n -0000022208 00000 n -0000023136 00000 n -0000023262 00000 n -0000023403 00000 n -0000233079 00000 n -0000023537 00000 n -0000233147 00000 n -0000023671 00000 n -0000233216 00000 n -0000023805 00000 n -0000233283 00000 n -0000023939 00000 n -0000233351 00000 n -0000024073 00000 n -0000233418 00000 n -0000024207 00000 n -0000233487 00000 n -0000024341 00000 n -0000233554 00000 n -0000024474 00000 n -0000233622 00000 n -0000024608 00000 n -0000233690 00000 n -0000024742 00000 n -0000233757 00000 n -0000024876 00000 n -0000233825 00000 n -0000025010 00000 n -0000233893 00000 n -0000025144 00000 n -0000233961 00000 n -0000025278 00000 n -0000234029 00000 n -0000025412 00000 n -0000026231 00000 n -0000026341 00000 n -0000027993 00000 n -0000028103 00000 n -0000029773 00000 n -0000029883 00000 n -0000031808 00000 n -0000031918 00000 n -0000033598 00000 n -0000033708 00000 n -0000035797 00000 n -0000035923 00000 n -0000036000 00000 n -0000234095 00000 n -0000036139 00000 n -0000036277 00000 n -0000234163 00000 n -0000036416 00000 n -0000234232 00000 n -0000036555 00000 n -0000234301 00000 n -0000036694 00000 n -0000036832 00000 n -0000234370 00000 n -0000036973 00000 n -0000038260 00000 n -0000038370 00000 n -0000040146 00000 n -0000040256 00000 n -0000041771 00000 n -0000041881 00000 n -0000043346 00000 n -0000043456 00000 n -0000044883 00000 n -0000045009 00000 n -0000045038 00000 n -0000045176 00000 n -0000046510 00000 n -0000046636 00000 n -0000046673 00000 n -0000234438 00000 n -0000046812 00000 n -0000046951 00000 n -0000048740 00000 n -0000048866 00000 n -0000048895 00000 n -0000234507 00000 n -0000049034 00000 n -0000050524 00000 n -0000050634 00000 n -0000052310 00000 n -0000052420 00000 n -0000053535 00000 n -0000053661 00000 n -0000053690 00000 n -0000234576 00000 n -0000053829 00000 n -0000055701 00000 n -0000055827 00000 n -0000055872 00000 n -0000056007 00000 n -0000234645 00000 n -0000056142 00000 n -0000234713 00000 n -0000056280 00000 n -0000057789 00000 n -0000057915 00000 n -0000057944 00000 n -0000234782 00000 n -0000058082 00000 n -0000059070 00000 n -0000059180 00000 n -0000061111 00000 n -0000061221 00000 n -0000063733 00000 n -0000063843 00000 n -0000065224 00000 n -0000065334 00000 n -0000067360 00000 n -0000067470 00000 n -0000069856 00000 n -0000069982 00000 n -0000070011 00000 n -0000070150 00000 n -0000072046 00000 n -0000072172 00000 n -0000072201 00000 n -0000072337 00000 n -0000073808 00000 n -0000073918 00000 n -0000075734 00000 n -0000075860 00000 n -0000075889 00000 n -0000076030 00000 n -0000078190 00000 n -0000078300 00000 n -0000079802 00000 n -0000079912 00000 n -0000083044 00000 n -0000083154 00000 n -0000084378 00000 n -0000084488 00000 n -0000086625 00000 n -0000086735 00000 n -0000088825 00000 n -0000088935 00000 n -0000090080 00000 n -0000090190 00000 n -0000091245 00000 n -0000091355 00000 n -0000092755 00000 n -0000092865 00000 n -0000094327 00000 n -0000094437 00000 n -0000095963 00000 n -0000096073 00000 n -0000097129 00000 n -0000097239 00000 n -0000098584 00000 n -0000098694 00000 n -0000099960 00000 n -0000100070 00000 n -0000101861 00000 n -0000101971 00000 n -0000103702 00000 n -0000103812 00000 n -0000105072 00000 n -0000105182 00000 n -0000105568 00000 n -0000105678 00000 n -0000108493 00000 n -0000108603 00000 n -0000110787 00000 n -0000110897 00000 n -0000112476 00000 n -0000112586 00000 n -0000114870 00000 n -0000114980 00000 n -0000116732 00000 n -0000116842 00000 n -0000118927 00000 n -0000119037 00000 n -0000120547 00000 n -0000120657 00000 n -0000121757 00000 n -0000121867 00000 n -0000124448 00000 n -0000124558 00000 n -0000126820 00000 n -0000126930 00000 n -0000127781 00000 n -0000127891 00000 n -0000129048 00000 n -0000129158 00000 n -0000130810 00000 n -0000130920 00000 n -0000131978 00000 n -0000132088 00000 n -0000133524 00000 n -0000133634 00000 n -0000135115 00000 n -0000135225 00000 n -0000137140 00000 n -0000137250 00000 n -0000139051 00000 n -0000139161 00000 n -0000140391 00000 n -0000140501 00000 n -0000141546 00000 n -0000141656 00000 n -0000143188 00000 n -0000143298 00000 n -0000144604 00000 n -0000144714 00000 n -0000146111 00000 n -0000146221 00000 n -0000147667 00000 n -0000147777 00000 n -0000148919 00000 n -0000149029 00000 n -0000150328 00000 n -0000150438 00000 n -0000151827 00000 n -0000151937 00000 n -0000152995 00000 n -0000153105 00000 n -0000154199 00000 n -0000154309 00000 n -0000156001 00000 n -0000156111 00000 n -0000158575 00000 n -0000158685 00000 n -0000160512 00000 n -0000160622 00000 n -0000161968 00000 n -0000162078 00000 n -0000163613 00000 n -0000163723 00000 n -0000165354 00000 n -0000165464 00000 n -0000166890 00000 n -0000167000 00000 n -0000168101 00000 n -0000168211 00000 n -0000169416 00000 n -0000169526 00000 n -0000171076 00000 n -0000171186 00000 n -0000172522 00000 n -0000172632 00000 n -0000174029 00000 n -0000174139 00000 n -0000175958 00000 n -0000176068 00000 n -0000177613 00000 n -0000177723 00000 n -0000179165 00000 n -0000179275 00000 n -0000180790 00000 n -0000180900 00000 n -0000182326 00000 n -0000182436 00000 n -0000183748 00000 n -0000183858 00000 n -0000185060 00000 n -0000185170 00000 n -0000186679 00000 n -0000186789 00000 n -0000188058 00000 n -0000188168 00000 n -0000189924 00000 n -0000190050 00000 n -0000190071 00000 n -0000191823 00000 n -0000191949 00000 n -0000191970 00000 n -0000193757 00000 n -0000193883 00000 n -0000193904 00000 n -0000194338 00000 n -0000194464 00000 n -0000234851 00000 n -0000234905 00000 n -0000194485 00000 n -0000234971 00000 n -0000194739 00000 n -0000194940 00000 n -0000195176 00000 n -0000195455 00000 n -0000195683 00000 n -0000195834 00000 n -0000195982 00000 n -0000196136 00000 n -0000196307 00000 n -0000196455 00000 n -0000196588 00000 n -0000196854 00000 n -0000196981 00000 n -0000197111 00000 n -0000197247 00000 n -0000197371 00000 n -0000197495 00000 n -0000197625 00000 n -0000197755 00000 n -0000197903 00000 n -0000198033 00000 n -0000198216 00000 n -0000198370 00000 n -0000198518 00000 n -0000198654 00000 n -0000198828 00000 n -0000199071 00000 n -0000199195 00000 n -0000199398 00000 n -0000199513 00000 n -0000235037 00000 n -0000199791 00000 n -0000235106 00000 n -0000199959 00000 n -0000235175 00000 n -0000200101 00000 n -0000235244 00000 n -0000200232 00000 n -0000235312 00000 n -0000200380 00000 n -0000200502 00000 n -0000235381 00000 n -0000200674 00000 n -0000235450 00000 n -0000200778 00000 n -0000200906 00000 n -0000201036 00000 n -0000201184 00000 n -0000201320 00000 n -0000201450 00000 n -0000201710 00000 n -0000201929 00000 n -0000202130 00000 n -0000202283 00000 n -0000202413 00000 n -0000202543 00000 n -0000202667 00000 n -0000202871 00000 n -0000203080 00000 n -0000203323 00000 n -0000235517 00000 n -0000203521 00000 n -0000235586 00000 n -0000203670 00000 n -0000235655 00000 n -0000203831 00000 n -0000235724 00000 n -0000203992 00000 n -0000235793 00000 n -0000204135 00000 n -0000235860 00000 n -0000204301 00000 n -0000235929 00000 n -0000204515 00000 n -0000235998 00000 n -0000204705 00000 n -0000236067 00000 n -0000204889 00000 n -0000236135 00000 n -0000205091 00000 n -0000205296 00000 n -0000205498 00000 n -0000205647 00000 n -0000205778 00000 n -0000205965 00000 n -0000206144 00000 n -0000206302 00000 n -0000206480 00000 n -0000206643 00000 n -0000206780 00000 n -0000206977 00000 n -0000236204 00000 n -0000207224 00000 n -0000236272 00000 n -0000207417 00000 n -0000207756 00000 n -0000207940 00000 n -0000208252 00000 n -0000208436 00000 n -0000208605 00000 n -0000208790 00000 n -0000236340 00000 n -0000209019 00000 n -0000236408 00000 n -0000209200 00000 n -0000209381 00000 n -0000209571 00000 n -0000209738 00000 n -0000209890 00000 n -0000210051 00000 n -0000210335 00000 n -0000210475 00000 n -0000210648 00000 n -0000210853 00000 n -0000211038 00000 n -0000211186 00000 n -0000236476 00000 n -0000211418 00000 n -0000211696 00000 n -0000211857 00000 n -0000212067 00000 n -0000212177 00000 n -0000212302 00000 n -0000212451 00000 n -0000212600 00000 n -0000212725 00000 n -0000212850 00000 n -0000212975 00000 n -0000213100 00000 n -0000213243 00000 n -0000213368 00000 n -0000213511 00000 n -0000213636 00000 n -0000213767 00000 n -0000213910 00000 n -0000214047 00000 n -0000214202 00000 n -0000214363 00000 n -0000214509 00000 n -0000214744 00000 n -0000214913 00000 n -0000236545 00000 n -0000215143 00000 n -0000236614 00000 n -0000215271 00000 n -0000236683 00000 n -0000215402 00000 n -0000236752 00000 n -0000215527 00000 n -0000236819 00000 n -0000215664 00000 n -0000236888 00000 n -0000215795 00000 n -0000236955 00000 n -0000215926 00000 n -0000237023 00000 n -0000216075 00000 n -0000237090 00000 n -0000216206 00000 n -0000237159 00000 n -0000216390 00000 n -0000237226 00000 n -0000216545 00000 n -0000237295 00000 n -0000216682 00000 n -0000216851 00000 n -0000217166 00000 n -0000217353 00000 n -0000217496 00000 n -0000217789 00000 n -0000218108 00000 n -0000218310 00000 n -0000218536 00000 n -0000218732 00000 n -0000218895 00000 n -0000219088 00000 n -0000219319 00000 n -0000219526 00000 n -0000219733 00000 n -0000219945 00000 n -0000220223 00000 n -0000220472 00000 n -0000220679 00000 n -0000221143 00000 n -0000221318 00000 n -0000221602 00000 n -0000221777 00000 n -0000221926 00000 n -0000222122 00000 n -0000222388 00000 n -0000222519 00000 n -0000222739 00000 n -0000222971 00000 n -0000223184 00000 n -0000223359 00000 n -0000223475 00000 n -0000223588 00000 n -0000223697 00000 n -0000223813 00000 n -0000223924 00000 n -0000224038 00000 n -0000224145 00000 n -0000224257 00000 n -trailer -<< -/Size 721 -/Root 2 0 R -/Info 4 0 R ->> -startxref -237364 -%%EOF diff --git a/src/3rdparty/squirrel/etc/minimal.c b/src/3rdparty/squirrel/etc/minimal.c deleted file mode 100644 index fc59859f87..0000000000 --- a/src/3rdparty/squirrel/etc/minimal.c +++ /dev/null @@ -1,63 +0,0 @@ -#include -#include - -#include -#include -#include - -#ifdef _MSC_VER -#pragma comment (lib ,"squirrel.lib") -#pragma comment (lib ,"sqstdlib.lib") -#endif - -#ifdef SQUNICODE -#define scvprintf vwprintf -#else -#define scvprintf vprintf -#endif - -void printfunc(HSQUIRRELVM v, const SQChar *s, ...) -{ -va_list arglist; -va_start(arglist, s); -scvprintf(s, arglist); -va_end(arglist); -} - -void call_foo(HSQUIRRELVM v, int n,float f,const SQChar *s) -{ - SQInteger top = sq_gettop(v); //saves the stack size before the call - sq_pushroottable(v); //pushes the global table - sq_pushstring(v,_SC("foo"),-1); - if(SQ_SUCCEEDED(sq_get(v,-2))) { //gets the field 'foo' from the global table - sq_pushroottable(v); //push the 'this' (in this case is the global table) - sq_pushinteger(v,n); - sq_pushfloat(v,f); - sq_pushstring(v,s,-1); - sq_call(v,4,SQFalse,SQTrue); //calls the function - } - sq_settop(v,top); //restores the original stack size -} - -int main(int argc, char* argv[]) -{ - HSQUIRRELVM v; - v = sq_open(1024); // creates a VM with initial stack size 1024 - - //sq_pushroottable(v); //push the root table were to register the lib function - //sqstd_register_iolib(v); - sqstd_seterrorhandlers(v); //registers the default error handlers - - sq_setprintfunc(v, printfunc); //sets the print function - - sq_pushroottable(v); //push the root table(were the globals of the script will be stored) - if(SQ_SUCCEEDED(sqstd_dofile(v, _SC("test.nut"), SQFalse, SQTrue))) // also prints syntax errors if any - { - call_foo(v,1,2.5,_SC("teststring")); - } - - sq_pop(v,1); //pops the root table - sq_close(v); - - return 0; -} diff --git a/src/3rdparty/squirrel/etc/test.nut b/src/3rdparty/squirrel/etc/test.nut deleted file mode 100644 index 125df32cd8..0000000000 --- a/src/3rdparty/squirrel/etc/test.nut +++ /dev/null @@ -1,4 +0,0 @@ -function foo(i, f, s) -{ - print("Called foo(), i="+i+", f="+f+", s='"+s+"'\n"); -} diff --git a/src/3rdparty/squirrel/include/sqstdaux.h b/src/3rdparty/squirrel/include/sqstdaux.h index c16b04373b..ded3c12e8a 100644 --- a/src/3rdparty/squirrel/include/sqstdaux.h +++ b/src/3rdparty/squirrel/include/sqstdaux.h @@ -2,15 +2,7 @@ #ifndef _SQSTD_AUXLIB_H_ #define _SQSTD_AUXLIB_H_ -#ifdef __cplusplus -extern "C" { -#endif - -SQUIRREL_API void sqstd_seterrorhandlers(HSQUIRRELVM v); -SQUIRREL_API void sqstd_printcallstack(HSQUIRRELVM v); - -#ifdef __cplusplus -} /*extern "C"*/ -#endif +void sqstd_seterrorhandlers(HSQUIRRELVM v); +void sqstd_printcallstack(HSQUIRRELVM v); #endif /* _SQSTD_AUXLIB_H_ */ diff --git a/src/3rdparty/squirrel/include/sqstdblob.h b/src/3rdparty/squirrel/include/sqstdblob.h deleted file mode 100644 index 1d9a4cdc38..0000000000 --- a/src/3rdparty/squirrel/include/sqstdblob.h +++ /dev/null @@ -1,20 +0,0 @@ -/* see copyright notice in squirrel.h */ -#ifndef _SQSTDBLOB_H_ -#define _SQSTDBLOB_H_ - -#ifdef __cplusplus -extern "C" { -#endif - -SQUIRREL_API SQUserPointer sqstd_createblob(HSQUIRRELVM v, SQInteger size); -SQUIRREL_API SQRESULT sqstd_getblob(HSQUIRRELVM v,SQInteger idx,SQUserPointer *ptr); -SQUIRREL_API SQInteger sqstd_getblobsize(HSQUIRRELVM v,SQInteger idx); - -SQUIRREL_API SQRESULT sqstd_register_bloblib(HSQUIRRELVM v); - -#ifdef __cplusplus -} /*extern "C"*/ -#endif - -#endif /*_SQSTDBLOB_H_*/ - diff --git a/src/3rdparty/squirrel/include/sqstdio.h b/src/3rdparty/squirrel/include/sqstdio.h deleted file mode 100644 index 5eaec31c6d..0000000000 --- a/src/3rdparty/squirrel/include/sqstdio.h +++ /dev/null @@ -1,54 +0,0 @@ -/* see copyright notice in squirrel.h */ -#ifndef _SQSTDIO_H_ -#define _SQSTDIO_H_ - -#ifdef __cplusplus - -#define SQSTD_STREAM_TYPE_TAG 0x80000000 - -struct SQStream { - virtual ~SQStream() {} - virtual SQInteger Read(void *buffer, SQInteger size) = 0; - virtual SQInteger Write(void *buffer, SQInteger size) = 0; - virtual SQInteger Flush() = 0; - virtual SQInteger Tell() = 0; - virtual SQInteger Len() = 0; - virtual SQInteger Seek(SQInteger offset, SQInteger origin) = 0; - virtual bool IsValid() = 0; - virtual bool EOS() = 0; -}; - -extern "C" { -#endif - -#define SQ_SEEK_CUR 0 -#define SQ_SEEK_END 1 -#define SQ_SEEK_SET 2 - -typedef void* SQFILE; - -SQUIRREL_API SQFILE sqstd_fopen(const SQChar *,const SQChar *); -SQUIRREL_API SQInteger sqstd_fread(SQUserPointer, SQInteger, SQInteger, SQFILE); -SQUIRREL_API SQInteger sqstd_fwrite(const SQUserPointer, SQInteger, SQInteger, SQFILE); -SQUIRREL_API SQInteger sqstd_fseek(SQFILE , SQInteger , SQInteger); -SQUIRREL_API SQInteger sqstd_ftell(SQFILE); -SQUIRREL_API SQInteger sqstd_fflush(SQFILE); -SQUIRREL_API SQInteger sqstd_fclose(SQFILE); -SQUIRREL_API SQInteger sqstd_feof(SQFILE); - -SQUIRREL_API SQRESULT sqstd_createfile(HSQUIRRELVM v, SQFILE file,SQBool own); -SQUIRREL_API SQRESULT sqstd_getfile(HSQUIRRELVM v, SQInteger idx, SQFILE *file); - -//compiler helpers -SQUIRREL_API SQRESULT sqstd_loadfile(HSQUIRRELVM v,const SQChar *filename,SQBool printerror); -SQUIRREL_API SQRESULT sqstd_dofile(HSQUIRRELVM v,const SQChar *filename,SQBool retval,SQBool printerror); -SQUIRREL_API SQRESULT sqstd_writeclosuretofile(HSQUIRRELVM v,const SQChar *filename); - -SQUIRREL_API SQRESULT sqstd_register_iolib(HSQUIRRELVM v); - -#ifdef __cplusplus -} /*extern "C"*/ -#endif - -#endif /*_SQSTDIO_H_*/ - diff --git a/src/3rdparty/squirrel/include/sqstdmath.h b/src/3rdparty/squirrel/include/sqstdmath.h index 65de6fd72d..269a7e40d8 100644 --- a/src/3rdparty/squirrel/include/sqstdmath.h +++ b/src/3rdparty/squirrel/include/sqstdmath.h @@ -2,14 +2,6 @@ #ifndef _SQSTD_MATH_H_ #define _SQSTD_MATH_H_ -#ifdef __cplusplus -extern "C" { -#endif - -SQUIRREL_API SQRESULT sqstd_register_mathlib(HSQUIRRELVM v); - -#ifdef __cplusplus -} /*extern "C"*/ -#endif +SQRESULT sqstd_register_mathlib(HSQUIRRELVM v); #endif /*_SQSTD_MATH_H_*/ diff --git a/src/3rdparty/squirrel/include/sqstdstring.h b/src/3rdparty/squirrel/include/sqstdstring.h index 3c3bce826f..856c33f791 100644 --- a/src/3rdparty/squirrel/include/sqstdstring.h +++ b/src/3rdparty/squirrel/include/sqstdstring.h @@ -2,10 +2,6 @@ #ifndef _SQSTD_STRING_H_ #define _SQSTD_STRING_H_ -#ifdef __cplusplus -extern "C" { -#endif - typedef unsigned int SQRexBool; typedef struct SQRex SQRex; @@ -14,20 +10,16 @@ typedef struct { SQInteger len; } SQRexMatch; -SQUIRREL_API SQRex *sqstd_rex_compile(const SQChar *pattern,const SQChar **error); -SQUIRREL_API void sqstd_rex_free(SQRex *exp); -SQUIRREL_API SQBool sqstd_rex_match(SQRex* exp,const SQChar* text); -SQUIRREL_API SQBool sqstd_rex_search(SQRex* exp,const SQChar* text, const SQChar** out_begin, const SQChar** out_end); -SQUIRREL_API SQBool sqstd_rex_searchrange(SQRex* exp,const SQChar* text_begin,const SQChar* text_end,const SQChar** out_begin, const SQChar** out_end); -SQUIRREL_API SQInteger sqstd_rex_getsubexpcount(SQRex* exp); -SQUIRREL_API SQBool sqstd_rex_getsubexp(SQRex* exp, SQInteger n, SQRexMatch *subexp); +SQRex *sqstd_rex_compile(const SQChar *pattern,const SQChar **error); +void sqstd_rex_free(SQRex *exp); +SQBool sqstd_rex_match(SQRex* exp,const SQChar* text); +SQBool sqstd_rex_search(SQRex* exp,const SQChar* text, const SQChar** out_begin, const SQChar** out_end); +SQBool sqstd_rex_searchrange(SQRex* exp,const SQChar* text_begin,const SQChar* text_end,const SQChar** out_begin, const SQChar** out_end); +SQInteger sqstd_rex_getsubexpcount(SQRex* exp); +SQBool sqstd_rex_getsubexp(SQRex* exp, SQInteger n, SQRexMatch *subexp); -SQUIRREL_API SQRESULT sqstd_format(HSQUIRRELVM v,SQInteger nformatstringidx,SQInteger *outlen,SQChar **output); +SQRESULT sqstd_format(HSQUIRRELVM v,SQInteger nformatstringidx,SQInteger *outlen,SQChar **output); -SQUIRREL_API SQRESULT sqstd_register_stringlib(HSQUIRRELVM v); - -#ifdef __cplusplus -} /*extern "C"*/ -#endif +SQRESULT sqstd_register_stringlib(HSQUIRRELVM v); #endif /*_SQSTD_STRING_H_*/ diff --git a/src/3rdparty/squirrel/include/sqstdsystem.h b/src/3rdparty/squirrel/include/sqstdsystem.h deleted file mode 100644 index b155a91f8b..0000000000 --- a/src/3rdparty/squirrel/include/sqstdsystem.h +++ /dev/null @@ -1,15 +0,0 @@ -/* see copyright notice in squirrel.h */ -#ifndef _SQSTD_SYSTEMLIB_H_ -#define _SQSTD_SYSTEMLIB_H_ - -#ifdef __cplusplus -extern "C" { -#endif - -SQUIRREL_API SQInteger sqstd_register_systemlib(HSQUIRRELVM v); - -#ifdef __cplusplus -} /*extern "C"*/ -#endif - -#endif /* _SQSTD_SYSTEMLIB_H_ */ diff --git a/src/3rdparty/squirrel/include/squirrel.h b/src/3rdparty/squirrel/include/squirrel.h index 1fe023dfff..87e0ac0d69 100644 --- a/src/3rdparty/squirrel/include/squirrel.h +++ b/src/3rdparty/squirrel/include/squirrel.h @@ -1,81 +1,41 @@ /* -Copyright (c) 2003-2011 Alberto Demichelis - -This software is provided 'as-is', without any -express or implied warranty. In no event will the -authors be held liable for any damages arising from -the use of this software. - -Permission is granted to anyone to use this software -for any purpose, including commercial applications, -and to alter it and redistribute it freely, subject -to the following restrictions: - - 1. The origin of this software must not be - misrepresented; you must not claim that - you wrote the original software. If you - use this software in a product, an - acknowledgment in the product - documentation would be appreciated but is - not required. - - 2. Altered source versions must be plainly - marked as such, and must not be - misrepresented as being the original - software. - - 3. This notice may not be removed or - altered from any source distribution. - -*/ + * Copyright (c) 2003-2011 Alberto Demichelis + * + * This software is provided 'as-is', without any + * express or implied warranty. In no event will the + * authors be held liable for any damages arising from + * the use of this software. + * + * Permission is granted to anyone to use this software + * for any purpose, including commercial applications, + * and to alter it and redistribute it freely, subject + * to the following restrictions: + * + * 1. The origin of this software must not be + * misrepresented; you must not claim that + * you wrote the original software. If you + * use this software in a product, an + * acknowledgment in the product + * documentation would be appreciated but is + * not required. + * + * 2. Altered source versions must be plainly + * marked as such, and must not be + * misrepresented as being the original + * software. + * + * 3. This notice may not be removed or + * altered from any source distribution. + */ #ifndef _SQUIRREL_H_ #define _SQUIRREL_H_ -#ifdef __cplusplus -extern "C" { -#endif +#include "../../../string_type.h" -#if defined(_MSC_VER) -# define inline __forceinline -#endif /* _MSC_VER */ - -#if defined(_MSC_VER) && _MSC_VER >= 1400 // MSVC 2005 safety checks -# pragma warning(disable: 4996) // '_wfopen' was declared deprecated -# define _CRT_SECURE_NO_DEPRECATE // all deprecated 'unsafe string functions -# define _CRT_NON_CONFORMING_SWPRINTFS // another deprecated stuff -#endif /* _MSC_VER >= 1400 */ - -#ifndef SQUIRREL_API -#define SQUIRREL_API extern -#endif - -#if (defined(_WIN64) || defined(_LP64)) -#ifndef _SQ64 -#define _SQ64 -#endif -#endif - -#ifdef _SQ64 -#ifdef _MSC_VER typedef __int64 SQInteger; typedef unsigned __int64 SQUnsignedInteger; typedef unsigned __int64 SQHash; /*should be the same size of a pointer*/ -#elif defined(_WIN32) -typedef long long SQInteger; -typedef unsigned long long SQUnsignedInteger; -typedef unsigned long long SQHash; /*should be the same size of a pointer*/ -#else -typedef long SQInteger; -typedef unsigned long SQUnsignedInteger; -typedef unsigned long SQHash; /*should be the same size of a pointer*/ -#endif typedef int SQInt32; -#else -typedef int SQInteger; -typedef int SQInt32; /*must be 32 bits(also on 64bits processors)*/ -typedef unsigned int SQUnsignedInteger; -typedef unsigned int SQHash; /*should be the same size of a pointer*/ -#endif #ifdef SQUSEDOUBLE @@ -84,17 +44,8 @@ typedef double SQFloat; typedef float SQFloat; #endif -#if defined(SQUSEDOUBLE) && !defined(_SQ64) || !defined(SQUSEDOUBLE) && defined(_SQ64) -#ifdef _MSC_VER typedef __int64 SQRawObjectVal; //must be 64bits -#else -typedef long long SQRawObjectVal; //must be 64bits -#endif #define SQ_OBJECT_RAWINIT() { _unVal.raw = 0; } -#else -typedef SQUnsignedInteger SQRawObjectVal; //is 32 bits on 32 bits builds and 64 bits otherwise -#define SQ_OBJECT_RAWINIT() -#endif typedef void* SQUserPointer; typedef SQUnsignedInteger SQBool; @@ -117,78 +68,12 @@ struct SQClass; struct SQInstance; struct SQDelegable; -#ifdef _UNICODE -#define SQUNICODE -#endif - -#ifdef SQUNICODE -#if (defined(_MSC_VER) && _MSC_VER >= 1400) // 1400 = VS8 - -#ifndef _WCHAR_T_DEFINED //this is if the compiler considers wchar_t as native type -typedef unsigned short wchar_t; -#endif -#endif - -typedef wchar_t SQChar; -#define _SC(a) L##a -#define scstrcmp wcscmp -#define scsprintf swprintf -#define scsnprintf _snwprintf -#define scstrlen wcslen -#define scstrtod wcstod -#define scstrtol wcstol -#define scatoi _wtoi -#define scstrtoul wcstoul -#define scvsprintf vswprintf -#define scstrstr wcsstr -#define scisspace iswspace -#define scisdigit iswdigit -#define scisxdigit iswxdigit -#define scisalpha iswalpha -#define sciscntrl iswcntrl -#define scisalnum iswalnum -#define scprintf wprintf -#define scfprintf fwprintf -#define scvprintf vwprintf -#define scvfprintf vfwprintf -#define scvsnprintf _vsnwprintf -#define scstrdup _wcsdup -#define scstrrchr wcsrchr -#define scstrcat wcscat -#define MAX_CHAR 0xFFFF -#else typedef char SQChar; -#define _SC(a) a -#define scstrcmp strcmp -#define scsprintf sprintf -#define scsnprintf snprintf -#define scstrlen strlen -#define scstrtod strtod -#define scstrtol strtol -#define scatoi atoi -#define scstrtoul strtoul -#define scvsprintf vsprintf -#define scstrstr strstr -#define scisspace isspace -#define scisdigit isdigit -#define scisxdigit isxdigit -#define sciscntrl iscntrl -#define scisalpha isalpha -#define scisalnum isalnum -#define scprintf printf -#define scfprintf fprintf -#define scvprintf vprintf -#define scvfprintf vfprintf -#define scvsnprintf vsnprintf -#define scstrdup strdup -#define scstrrchr strrchr -#define scstrcat strcat #define MAX_CHAR 0xFFFF -#endif -#define SQUIRREL_VERSION _SC("Squirrel 2.2.5 stable - With custom OpenTTD modifications") -#define SQUIRREL_COPYRIGHT _SC("Copyright (C) 2003-2010 Alberto Demichelis") -#define SQUIRREL_AUTHOR _SC("Alberto Demichelis") +#define SQUIRREL_VERSION "Squirrel 2.2.5 stable - With custom OpenTTD modifications" +#define SQUIRREL_COPYRIGHT "Copyright (C) 2003-2010 Alberto Demichelis" +#define SQUIRREL_AUTHOR "Alberto Demichelis" #define SQUIRREL_VERSION_NUMBER 225 #define SQ_VMSTATE_IDLE 0 @@ -294,7 +179,7 @@ typedef void (*SQPRINTFUNCTION)(HSQUIRRELVM,const SQChar * ,...); typedef SQInteger (*SQWRITEFUNC)(SQUserPointer,SQUserPointer,SQInteger); typedef SQInteger (*SQREADFUNC)(SQUserPointer,SQUserPointer,SQInteger); -typedef SQInteger (*SQLEXREADFUNC)(SQUserPointer); +typedef WChar (*SQLEXREADFUNC)(SQUserPointer); typedef struct tagSQRegFunction{ const SQChar *name; @@ -311,147 +196,147 @@ typedef struct tagSQFunctionInfo { /*vm*/ -SQUIRREL_API bool sq_can_suspend(HSQUIRRELVM v); -SQUIRREL_API HSQUIRRELVM sq_open(SQInteger initialstacksize); -SQUIRREL_API HSQUIRRELVM sq_newthread(HSQUIRRELVM friendvm, SQInteger initialstacksize); -SQUIRREL_API void sq_seterrorhandler(HSQUIRRELVM v); -SQUIRREL_API void sq_close(HSQUIRRELVM v); -SQUIRREL_API void sq_setforeignptr(HSQUIRRELVM v,SQUserPointer p); -SQUIRREL_API SQUserPointer sq_getforeignptr(HSQUIRRELVM v); -SQUIRREL_API void sq_setprintfunc(HSQUIRRELVM v, SQPRINTFUNCTION printfunc); -SQUIRREL_API SQPRINTFUNCTION sq_getprintfunc(HSQUIRRELVM v); -SQUIRREL_API SQRESULT sq_suspendvm(HSQUIRRELVM v); -SQUIRREL_API bool sq_resumecatch(HSQUIRRELVM v, int suspend = -1); -SQUIRREL_API bool sq_resumeerror(HSQUIRRELVM v); -SQUIRREL_API SQRESULT sq_wakeupvm(HSQUIRRELVM v,SQBool resumedret,SQBool retval,SQBool raiseerror,SQBool throwerror); -SQUIRREL_API SQInteger sq_getvmstate(HSQUIRRELVM v); -SQUIRREL_API void sq_decreaseops(HSQUIRRELVM v, int amount); +bool sq_can_suspend(HSQUIRRELVM v); +HSQUIRRELVM sq_open(SQInteger initialstacksize); +HSQUIRRELVM sq_newthread(HSQUIRRELVM friendvm, SQInteger initialstacksize); +void sq_seterrorhandler(HSQUIRRELVM v); +void sq_close(HSQUIRRELVM v); +void sq_setforeignptr(HSQUIRRELVM v,SQUserPointer p); +SQUserPointer sq_getforeignptr(HSQUIRRELVM v); +void sq_setprintfunc(HSQUIRRELVM v, SQPRINTFUNCTION printfunc); +SQPRINTFUNCTION sq_getprintfunc(HSQUIRRELVM v); +SQRESULT sq_suspendvm(HSQUIRRELVM v); +bool sq_resumecatch(HSQUIRRELVM v, int suspend = -1); +bool sq_resumeerror(HSQUIRRELVM v); +SQRESULT sq_wakeupvm(HSQUIRRELVM v,SQBool resumedret,SQBool retval,SQBool raiseerror,SQBool throwerror); +SQInteger sq_getvmstate(HSQUIRRELVM v); +void sq_decreaseops(HSQUIRRELVM v, int amount); /*compiler*/ -SQUIRREL_API SQRESULT sq_compile(HSQUIRRELVM v,SQLEXREADFUNC read,SQUserPointer p,const SQChar *sourcename,SQBool raiseerror); -SQUIRREL_API SQRESULT sq_compilebuffer(HSQUIRRELVM v,const SQChar *s,SQInteger size,const SQChar *sourcename,SQBool raiseerror); -SQUIRREL_API void sq_enabledebuginfo(HSQUIRRELVM v, SQBool enable); -SQUIRREL_API void sq_notifyallexceptions(HSQUIRRELVM v, SQBool enable); -SQUIRREL_API void sq_setcompilererrorhandler(HSQUIRRELVM v,SQCOMPILERERROR f); +SQRESULT sq_compile(HSQUIRRELVM v,SQLEXREADFUNC read,SQUserPointer p,const SQChar *sourcename,SQBool raiseerror); +SQRESULT sq_compilebuffer(HSQUIRRELVM v,const SQChar *s,SQInteger size,const SQChar *sourcename,SQBool raiseerror); +void sq_enabledebuginfo(HSQUIRRELVM v, SQBool enable); +void sq_notifyallexceptions(HSQUIRRELVM v, SQBool enable); +void sq_setcompilererrorhandler(HSQUIRRELVM v,SQCOMPILERERROR f); /*stack operations*/ -SQUIRREL_API void sq_push(HSQUIRRELVM v,SQInteger idx); -SQUIRREL_API void sq_pop(HSQUIRRELVM v,SQInteger nelemstopop); -SQUIRREL_API void sq_poptop(HSQUIRRELVM v); -SQUIRREL_API void sq_remove(HSQUIRRELVM v,SQInteger idx); -SQUIRREL_API SQInteger sq_gettop(HSQUIRRELVM v); -SQUIRREL_API void sq_settop(HSQUIRRELVM v,SQInteger newtop); -SQUIRREL_API void sq_reservestack(HSQUIRRELVM v,SQInteger nsize); -SQUIRREL_API SQInteger sq_cmp(HSQUIRRELVM v); -SQUIRREL_API void sq_move(HSQUIRRELVM dest,HSQUIRRELVM src,SQInteger idx); +void sq_push(HSQUIRRELVM v,SQInteger idx); +void sq_pop(HSQUIRRELVM v,SQInteger nelemstopop); +void sq_poptop(HSQUIRRELVM v); +void sq_remove(HSQUIRRELVM v,SQInteger idx); +SQInteger sq_gettop(HSQUIRRELVM v); +void sq_settop(HSQUIRRELVM v,SQInteger newtop); +void sq_reservestack(HSQUIRRELVM v,SQInteger nsize); +SQInteger sq_cmp(HSQUIRRELVM v); +void sq_move(HSQUIRRELVM dest,HSQUIRRELVM src,SQInteger idx); /*object creation handling*/ -SQUIRREL_API SQUserPointer sq_newuserdata(HSQUIRRELVM v,SQUnsignedInteger size); -SQUIRREL_API void sq_newtable(HSQUIRRELVM v); -SQUIRREL_API void sq_newarray(HSQUIRRELVM v,SQInteger size); -SQUIRREL_API void sq_newclosure(HSQUIRRELVM v,SQFUNCTION func,SQUnsignedInteger nfreevars); -SQUIRREL_API SQRESULT sq_setparamscheck(HSQUIRRELVM v,SQInteger nparamscheck,const SQChar *typemask); -SQUIRREL_API SQRESULT sq_bindenv(HSQUIRRELVM v,SQInteger idx); -SQUIRREL_API void sq_pushstring(HSQUIRRELVM v,const SQChar *s,SQInteger len); -SQUIRREL_API void sq_pushfloat(HSQUIRRELVM v,SQFloat f); -SQUIRREL_API void sq_pushinteger(HSQUIRRELVM v,SQInteger n); -SQUIRREL_API void sq_pushbool(HSQUIRRELVM v,SQBool b); -SQUIRREL_API void sq_pushuserpointer(HSQUIRRELVM v,SQUserPointer p); -SQUIRREL_API void sq_pushnull(HSQUIRRELVM v); -SQUIRREL_API SQObjectType sq_gettype(HSQUIRRELVM v,SQInteger idx); -SQUIRREL_API SQInteger sq_getsize(HSQUIRRELVM v,SQInteger idx); -SQUIRREL_API SQRESULT sq_getbase(HSQUIRRELVM v,SQInteger idx); -SQUIRREL_API SQBool sq_instanceof(HSQUIRRELVM v); -SQUIRREL_API void sq_tostring(HSQUIRRELVM v,SQInteger idx); -SQUIRREL_API void sq_tobool(HSQUIRRELVM v, SQInteger idx, SQBool *b); -SQUIRREL_API SQRESULT sq_getstring(HSQUIRRELVM v,SQInteger idx,const SQChar **c); -SQUIRREL_API SQRESULT sq_getinteger(HSQUIRRELVM v,SQInteger idx,SQInteger *i); -SQUIRREL_API SQRESULT sq_getfloat(HSQUIRRELVM v,SQInteger idx,SQFloat *f); -SQUIRREL_API SQRESULT sq_getbool(HSQUIRRELVM v,SQInteger idx,SQBool *b); -SQUIRREL_API SQRESULT sq_getthread(HSQUIRRELVM v,SQInteger idx,HSQUIRRELVM *thread); -SQUIRREL_API SQRESULT sq_getuserpointer(HSQUIRRELVM v,SQInteger idx,SQUserPointer *p); -SQUIRREL_API SQRESULT sq_getuserdata(HSQUIRRELVM v,SQInteger idx,SQUserPointer *p,SQUserPointer *typetag); -SQUIRREL_API SQRESULT sq_settypetag(HSQUIRRELVM v,SQInteger idx,SQUserPointer typetag); -SQUIRREL_API SQRESULT sq_gettypetag(HSQUIRRELVM v,SQInteger idx,SQUserPointer *typetag); -SQUIRREL_API void sq_setreleasehook(HSQUIRRELVM v,SQInteger idx,SQRELEASEHOOK hook); -SQUIRREL_API SQChar *sq_getscratchpad(HSQUIRRELVM v,SQInteger minsize); -SQUIRREL_API SQRESULT sq_getfunctioninfo(HSQUIRRELVM v,SQInteger idx,SQFunctionInfo *fi); -SQUIRREL_API SQRESULT sq_getclosureinfo(HSQUIRRELVM v,SQInteger idx,SQUnsignedInteger *nparams,SQUnsignedInteger *nfreevars); -SQUIRREL_API SQRESULT sq_setnativeclosurename(HSQUIRRELVM v,SQInteger idx,const SQChar *name); -SQUIRREL_API SQRESULT sq_setinstanceup(HSQUIRRELVM v, SQInteger idx, SQUserPointer p); -SQUIRREL_API SQRESULT sq_getinstanceup(HSQUIRRELVM v, SQInteger idx, SQUserPointer *p,SQUserPointer typetag); -SQUIRREL_API SQRESULT sq_setclassudsize(HSQUIRRELVM v, SQInteger idx, SQInteger udsize); -SQUIRREL_API SQRESULT sq_newclass(HSQUIRRELVM v,SQBool hasbase); -SQUIRREL_API SQRESULT sq_createinstance(HSQUIRRELVM v,SQInteger idx); -SQUIRREL_API SQRESULT sq_setattributes(HSQUIRRELVM v,SQInteger idx); -SQUIRREL_API SQRESULT sq_getattributes(HSQUIRRELVM v,SQInteger idx); -SQUIRREL_API SQRESULT sq_getclass(HSQUIRRELVM v,SQInteger idx); -SQUIRREL_API void sq_weakref(HSQUIRRELVM v,SQInteger idx); -SQUIRREL_API SQRESULT sq_getdefaultdelegate(HSQUIRRELVM v,SQObjectType t); +SQUserPointer sq_newuserdata(HSQUIRRELVM v,SQUnsignedInteger size); +void sq_newtable(HSQUIRRELVM v); +void sq_newarray(HSQUIRRELVM v,SQInteger size); +void sq_newclosure(HSQUIRRELVM v,SQFUNCTION func,SQUnsignedInteger nfreevars); +SQRESULT sq_setparamscheck(HSQUIRRELVM v,SQInteger nparamscheck,const SQChar *typemask); +SQRESULT sq_bindenv(HSQUIRRELVM v,SQInteger idx); +void sq_pushstring(HSQUIRRELVM v,const SQChar *s,SQInteger len); +void sq_pushfloat(HSQUIRRELVM v,SQFloat f); +void sq_pushinteger(HSQUIRRELVM v,SQInteger n); +void sq_pushbool(HSQUIRRELVM v,SQBool b); +void sq_pushuserpointer(HSQUIRRELVM v,SQUserPointer p); +void sq_pushnull(HSQUIRRELVM v); +SQObjectType sq_gettype(HSQUIRRELVM v,SQInteger idx); +SQInteger sq_getsize(HSQUIRRELVM v,SQInteger idx); +SQRESULT sq_getbase(HSQUIRRELVM v,SQInteger idx); +SQBool sq_instanceof(HSQUIRRELVM v); +void sq_tostring(HSQUIRRELVM v,SQInteger idx); +void sq_tobool(HSQUIRRELVM v, SQInteger idx, SQBool *b); +SQRESULT sq_getstring(HSQUIRRELVM v,SQInteger idx,const SQChar **c); +SQRESULT sq_getinteger(HSQUIRRELVM v,SQInteger idx,SQInteger *i); +SQRESULT sq_getfloat(HSQUIRRELVM v,SQInteger idx,SQFloat *f); +SQRESULT sq_getbool(HSQUIRRELVM v,SQInteger idx,SQBool *b); +SQRESULT sq_getthread(HSQUIRRELVM v,SQInteger idx,HSQUIRRELVM *thread); +SQRESULT sq_getuserpointer(HSQUIRRELVM v,SQInteger idx,SQUserPointer *p); +SQRESULT sq_getuserdata(HSQUIRRELVM v,SQInteger idx,SQUserPointer *p,SQUserPointer *typetag); +SQRESULT sq_settypetag(HSQUIRRELVM v,SQInteger idx,SQUserPointer typetag); +SQRESULT sq_gettypetag(HSQUIRRELVM v,SQInteger idx,SQUserPointer *typetag); +void sq_setreleasehook(HSQUIRRELVM v,SQInteger idx,SQRELEASEHOOK hook); +SQChar *sq_getscratchpad(HSQUIRRELVM v,SQInteger minsize); +SQRESULT sq_getfunctioninfo(HSQUIRRELVM v,SQInteger idx,SQFunctionInfo *fi); +SQRESULT sq_getclosureinfo(HSQUIRRELVM v,SQInteger idx,SQUnsignedInteger *nparams,SQUnsignedInteger *nfreevars); +SQRESULT sq_setnativeclosurename(HSQUIRRELVM v,SQInteger idx,const SQChar *name); +SQRESULT sq_setinstanceup(HSQUIRRELVM v, SQInteger idx, SQUserPointer p); +SQRESULT sq_getinstanceup(HSQUIRRELVM v, SQInteger idx, SQUserPointer *p,SQUserPointer typetag); +SQRESULT sq_setclassudsize(HSQUIRRELVM v, SQInteger idx, SQInteger udsize); +SQRESULT sq_newclass(HSQUIRRELVM v,SQBool hasbase); +SQRESULT sq_createinstance(HSQUIRRELVM v,SQInteger idx); +SQRESULT sq_setattributes(HSQUIRRELVM v,SQInteger idx); +SQRESULT sq_getattributes(HSQUIRRELVM v,SQInteger idx); +SQRESULT sq_getclass(HSQUIRRELVM v,SQInteger idx); +void sq_weakref(HSQUIRRELVM v,SQInteger idx); +SQRESULT sq_getdefaultdelegate(HSQUIRRELVM v,SQObjectType t); /*object manipulation*/ -SQUIRREL_API void sq_pushroottable(HSQUIRRELVM v); -SQUIRREL_API void sq_pushregistrytable(HSQUIRRELVM v); -SQUIRREL_API void sq_pushconsttable(HSQUIRRELVM v); -SQUIRREL_API SQRESULT sq_setroottable(HSQUIRRELVM v); -SQUIRREL_API SQRESULT sq_setconsttable(HSQUIRRELVM v); -SQUIRREL_API SQRESULT sq_newslot(HSQUIRRELVM v, SQInteger idx, SQBool bstatic); -SQUIRREL_API SQRESULT sq_deleteslot(HSQUIRRELVM v,SQInteger idx,SQBool pushval); -SQUIRREL_API SQRESULT sq_set(HSQUIRRELVM v,SQInteger idx); -SQUIRREL_API SQRESULT sq_get(HSQUIRRELVM v,SQInteger idx); -SQUIRREL_API SQRESULT sq_rawget(HSQUIRRELVM v,SQInteger idx); -SQUIRREL_API SQRESULT sq_rawset(HSQUIRRELVM v,SQInteger idx); -SQUIRREL_API SQRESULT sq_rawdeleteslot(HSQUIRRELVM v,SQInteger idx,SQBool pushval); -SQUIRREL_API SQRESULT sq_arrayappend(HSQUIRRELVM v,SQInteger idx); -SQUIRREL_API SQRESULT sq_arraypop(HSQUIRRELVM v,SQInteger idx,SQBool pushval); -SQUIRREL_API SQRESULT sq_arrayresize(HSQUIRRELVM v,SQInteger idx,SQInteger newsize); -SQUIRREL_API SQRESULT sq_arrayreverse(HSQUIRRELVM v,SQInteger idx); -SQUIRREL_API SQRESULT sq_arrayremove(HSQUIRRELVM v,SQInteger idx,SQInteger itemidx); -SQUIRREL_API SQRESULT sq_arrayinsert(HSQUIRRELVM v,SQInteger idx,SQInteger destpos); -SQUIRREL_API SQRESULT sq_setdelegate(HSQUIRRELVM v,SQInteger idx); -SQUIRREL_API SQRESULT sq_getdelegate(HSQUIRRELVM v,SQInteger idx); -SQUIRREL_API SQRESULT sq_clone(HSQUIRRELVM v,SQInteger idx); -SQUIRREL_API SQRESULT sq_setfreevariable(HSQUIRRELVM v,SQInteger idx,SQUnsignedInteger nval); -SQUIRREL_API SQRESULT sq_next(HSQUIRRELVM v,SQInteger idx); -SQUIRREL_API SQRESULT sq_getweakrefval(HSQUIRRELVM v,SQInteger idx); -SQUIRREL_API SQRESULT sq_clear(HSQUIRRELVM v,SQInteger idx); +void sq_pushroottable(HSQUIRRELVM v); +void sq_pushregistrytable(HSQUIRRELVM v); +void sq_pushconsttable(HSQUIRRELVM v); +SQRESULT sq_setroottable(HSQUIRRELVM v); +SQRESULT sq_setconsttable(HSQUIRRELVM v); +SQRESULT sq_newslot(HSQUIRRELVM v, SQInteger idx, SQBool bstatic); +SQRESULT sq_deleteslot(HSQUIRRELVM v,SQInteger idx,SQBool pushval); +SQRESULT sq_set(HSQUIRRELVM v,SQInteger idx); +SQRESULT sq_get(HSQUIRRELVM v,SQInteger idx); +SQRESULT sq_rawget(HSQUIRRELVM v,SQInteger idx); +SQRESULT sq_rawset(HSQUIRRELVM v,SQInteger idx); +SQRESULT sq_rawdeleteslot(HSQUIRRELVM v,SQInteger idx,SQBool pushval); +SQRESULT sq_arrayappend(HSQUIRRELVM v,SQInteger idx); +SQRESULT sq_arraypop(HSQUIRRELVM v,SQInteger idx,SQBool pushval); +SQRESULT sq_arrayresize(HSQUIRRELVM v,SQInteger idx,SQInteger newsize); +SQRESULT sq_arrayreverse(HSQUIRRELVM v,SQInteger idx); +SQRESULT sq_arrayremove(HSQUIRRELVM v,SQInteger idx,SQInteger itemidx); +SQRESULT sq_arrayinsert(HSQUIRRELVM v,SQInteger idx,SQInteger destpos); +SQRESULT sq_setdelegate(HSQUIRRELVM v,SQInteger idx); +SQRESULT sq_getdelegate(HSQUIRRELVM v,SQInteger idx); +SQRESULT sq_clone(HSQUIRRELVM v,SQInteger idx); +SQRESULT sq_setfreevariable(HSQUIRRELVM v,SQInteger idx,SQUnsignedInteger nval); +SQRESULT sq_next(HSQUIRRELVM v,SQInteger idx); +SQRESULT sq_getweakrefval(HSQUIRRELVM v,SQInteger idx); +SQRESULT sq_clear(HSQUIRRELVM v,SQInteger idx); /*calls*/ -SQUIRREL_API SQRESULT sq_call(HSQUIRRELVM v,SQInteger params,SQBool retval,SQBool raiseerror, int suspend = -1); -SQUIRREL_API SQRESULT sq_resume(HSQUIRRELVM v,SQBool retval,SQBool raiseerror); -SQUIRREL_API const SQChar *sq_getlocal(HSQUIRRELVM v,SQUnsignedInteger level,SQUnsignedInteger idx); -SQUIRREL_API const SQChar *sq_getfreevariable(HSQUIRRELVM v,SQInteger idx,SQUnsignedInteger nval); -SQUIRREL_API SQRESULT sq_throwerror(HSQUIRRELVM v,const SQChar *err); -SQUIRREL_API void sq_reseterror(HSQUIRRELVM v); -SQUIRREL_API void sq_getlasterror(HSQUIRRELVM v); +SQRESULT sq_call(HSQUIRRELVM v,SQInteger params,SQBool retval,SQBool raiseerror, int suspend = -1); +SQRESULT sq_resume(HSQUIRRELVM v,SQBool retval,SQBool raiseerror); +const SQChar *sq_getlocal(HSQUIRRELVM v,SQUnsignedInteger level,SQUnsignedInteger idx); +const SQChar *sq_getfreevariable(HSQUIRRELVM v,SQInteger idx,SQUnsignedInteger nval); +SQRESULT sq_throwerror(HSQUIRRELVM v,const SQChar *err); +void sq_reseterror(HSQUIRRELVM v); +void sq_getlasterror(HSQUIRRELVM v); /*raw object handling*/ -SQUIRREL_API SQRESULT sq_getstackobj(HSQUIRRELVM v,SQInteger idx,HSQOBJECT *po); -SQUIRREL_API void sq_pushobject(HSQUIRRELVM v,HSQOBJECT obj); -SQUIRREL_API void sq_addref(HSQUIRRELVM v,HSQOBJECT *po); -SQUIRREL_API SQBool sq_release(HSQUIRRELVM v,HSQOBJECT *po); -SQUIRREL_API void sq_resetobject(HSQOBJECT *po); -SQUIRREL_API const SQChar *sq_objtostring(HSQOBJECT *o); -SQUIRREL_API SQBool sq_objtobool(HSQOBJECT *o); -SQUIRREL_API SQInteger sq_objtointeger(HSQOBJECT *o); -SQUIRREL_API SQFloat sq_objtofloat(HSQOBJECT *o); -SQUIRREL_API SQRESULT sq_getobjtypetag(HSQOBJECT *o,SQUserPointer * typetag); +SQRESULT sq_getstackobj(HSQUIRRELVM v,SQInteger idx,HSQOBJECT *po); +void sq_pushobject(HSQUIRRELVM v,HSQOBJECT obj); +void sq_addref(HSQUIRRELVM v,HSQOBJECT *po); +SQBool sq_release(HSQUIRRELVM v,HSQOBJECT *po); +void sq_resetobject(HSQOBJECT *po); +const SQChar *sq_objtostring(HSQOBJECT *o); +SQBool sq_objtobool(HSQOBJECT *o); +SQInteger sq_objtointeger(HSQOBJECT *o); +SQFloat sq_objtofloat(HSQOBJECT *o); +SQRESULT sq_getobjtypetag(HSQOBJECT *o,SQUserPointer * typetag); /*GC*/ -SQUIRREL_API SQInteger sq_collectgarbage(HSQUIRRELVM v); +SQInteger sq_collectgarbage(HSQUIRRELVM v); /*serialization*/ -SQUIRREL_API SQRESULT sq_writeclosure(HSQUIRRELVM vm,SQWRITEFUNC writef,SQUserPointer up); -SQUIRREL_API SQRESULT sq_readclosure(HSQUIRRELVM vm,SQREADFUNC readf,SQUserPointer up); +SQRESULT sq_writeclosure(HSQUIRRELVM vm,SQWRITEFUNC writef,SQUserPointer up); +SQRESULT sq_readclosure(HSQUIRRELVM vm,SQREADFUNC readf,SQUserPointer up); /*mem allocation*/ -SQUIRREL_API void *sq_malloc(SQUnsignedInteger size); -SQUIRREL_API void *sq_realloc(void* p,SQUnsignedInteger oldsize,SQUnsignedInteger newsize); -SQUIRREL_API void sq_free(void *p,SQUnsignedInteger size); +void *sq_malloc(SQUnsignedInteger size); +void *sq_realloc(void* p,SQUnsignedInteger oldsize,SQUnsignedInteger newsize); +void sq_free(void *p,SQUnsignedInteger size); /*debug*/ -SQUIRREL_API SQRESULT sq_stackinfos(HSQUIRRELVM v,SQInteger level,SQStackInfos *si); -SQUIRREL_API void sq_setdebughook(HSQUIRRELVM v); +SQRESULT sq_stackinfos(HSQUIRRELVM v,SQInteger level,SQStackInfos *si); +void sq_setdebughook(HSQUIRRELVM v); /*UTILITY MACRO*/ #define sq_isnumeric(o) ((o)._type&SQOBJECT_NUMERIC) @@ -483,8 +368,4 @@ SQUIRREL_API void sq_setdebughook(HSQUIRRELVM v); #define SQ_FAILED(res) (res<0) #define SQ_SUCCEEDED(res) (res>=0) -#ifdef __cplusplus -} /*extern "C"*/ -#endif - #endif /*_SQUIRREL_H_*/ diff --git a/src/3rdparty/squirrel/samples/ackermann.nut b/src/3rdparty/squirrel/samples/ackermann.nut deleted file mode 100644 index 9fdaff06b4..0000000000 --- a/src/3rdparty/squirrel/samples/ackermann.nut +++ /dev/null @@ -1,23 +0,0 @@ -/* -* -* Original Javascript version by David Hedbor(http://www.bagley.org/~doug/shootout/) -* -*/ - -function Ack(M, N) { - if (M == 0) return( N + 1 ); - if (N == 0) return( Ack(M - 1, 1) ); - return( Ack(M - 1, Ack(M, (N - 1))) ); -} - -local n; - -if(ARGS.len()!=0) { - n = ARGS[0].tointeger(); - if(n < 1) n = 1; -} else { - n = 1; -} -print("n="+n+"\n"); -print("Ack(3,"+ n+ "):"+ Ack(3, n)); - diff --git a/src/3rdparty/squirrel/samples/array.nut b/src/3rdparty/squirrel/samples/array.nut deleted file mode 100644 index 58f160b12d..0000000000 --- a/src/3rdparty/squirrel/samples/array.nut +++ /dev/null @@ -1,28 +0,0 @@ -/* -* -* Original Javascript version by David Hedbor(http://www.bagley.org/~doug/shootout/) -* -*/ -local n, i, k; - -if(ARGS.len()!=0) { - n = ARGS[0].tointeger(); - if(n < 1) n = 1; -} else { - n = 1; -} - -local x = []; x.resize(n); -local y = []; y.resize(n); - -for (i = 0; i < n; i+=1) { - x[i] = i + 1; - y[i] = 0; -} - -for (k = 0 ; k < n; k+=1) { - for (i = n-1; i >= 0; i-=1) { - y[i] = y[i]+ x[i]; - } -} -print(y[0].tostring()+" "+y[n-1]); diff --git a/src/3rdparty/squirrel/samples/class.nut b/src/3rdparty/squirrel/samples/class.nut deleted file mode 100644 index babe54f0b3..0000000000 --- a/src/3rdparty/squirrel/samples/class.nut +++ /dev/null @@ -1,49 +0,0 @@ -////////////////////////////////////////////////////////////////////////////////// -////////////////////////////////////////////////////////////////////////////////// -class BaseVector { - constructor(...) - { - if(vargc >= 3) { - x = vargv[0]; - y = vargv[1]; - z = vargv[2]; - } - } - - - x = 0; - y = 0; - z = 0; -} - -class Vector3 extends BaseVector { - function _add(other) - { - if(other instanceof this.getclass()) - return ::Vector3(x+other.x,y+other.y,z+other.z); - else - throw "wrong parameter"; - } - function Print() - { - ::print(x+","+y+","+z+"\n"); - } -} - -local v0 = Vector3(1,2,3) -local v1 = Vector3(11,12,13) -local v2 = v0 + v1; -v2.Print(); - -FakeNamespace <- { - Utils = {} -} - -class FakeNamespace.Utils.SuperClass { - constructor() - { - ::print("FakeNamespace.Utils.SuperClass") - } -} - -local testy = FakeNamespace.Utils.SuperClass(); diff --git a/src/3rdparty/squirrel/samples/classattributes.nut b/src/3rdparty/squirrel/samples/classattributes.nut deleted file mode 100644 index 01232002c2..0000000000 --- a/src/3rdparty/squirrel/samples/classattributes.nut +++ /dev/null @@ -1,35 +0,0 @@ -class Foo { - //constructor - constructor(a) - { - testy = ["stuff",1,2,3]; - } - //attributes of PrintTesty - - function PrintTesty() - { - foreach(i,val in testy) - { - ::print("idx = "+i+" = "+val+" \n"); - } - } - //attributes of testy - - testy = null; - -} - -foreach(member,val in Foo) -{ - ::print(member+"\n"); - local attr; - if((attr = Foo.getattributes(member)) != null) { - foreach(i,v in attr) - { - ::print("\t"+i+" = "+(typeof v)+"\n"); - } - } - else { - ::print("\t\n") - } -} diff --git a/src/3rdparty/squirrel/samples/coroutines.nut b/src/3rdparty/squirrel/samples/coroutines.nut deleted file mode 100644 index c7e4583c19..0000000000 --- a/src/3rdparty/squirrel/samples/coroutines.nut +++ /dev/null @@ -1,25 +0,0 @@ -function coroutine_test(a,b) -{ - ::print(a+" "+b+"\n"); - local ret = ::suspend("suspend 1"); - ::print("the coroutine says "+ret+"\n"); - ret = ::suspend("suspend 2"); - ::print("the coroutine says "+ret+"\n"); - ret = ::suspend("suspend 3"); - ::print("the coroutine says "+ret+"\n"); - return "I'm done" -} - -local coro = ::newthread(coroutine_test); - -local susparam = coro.call("test","coroutine"); //starts the coroutine - -local i = 1; -do -{ - ::print("suspend passed ["+susparam+"]\n") - susparam = coro.wakeup("ciao "+i); - ++i; -}while(coro.getstatus()=="suspended") - -::print("return passed ["+susparam+"]\n") diff --git a/src/3rdparty/squirrel/samples/delegation.nut b/src/3rdparty/squirrel/samples/delegation.nut deleted file mode 100644 index e9e86ca9a5..0000000000 --- a/src/3rdparty/squirrel/samples/delegation.nut +++ /dev/null @@ -1,52 +0,0 @@ - -PEntity <- { - name="noname" - pos={x=0,y=0,z=0} - type="entity" - //methamethod - _typeof=function() - { - return type; - } -} - -function PEntity::PrintPos() -{ - ::print("x="+pos.x+" y="+pos.y+" z="+pos.z+"\n"); -} - -function PEntity::new(name,pos) -{ - local newentity=clone ::PEntity; - if(name) - newentity.name=name; - if(pos) - newentity.pos=pos; - return newentity; -} - -PPlayer <- { - model="warrior.mdl" - weapon="fist" - health=100 - armor=0 - //overrides the parent type - type="player" -} - -function PPlayer::new(name,pos) -{ - local newplayer=delegate ::PEntity.new(name,pos) : clone ::PPlayer; - return newplayer; -} - -local player=PPlayer.new("godzilla",{x=10,y=20,z=30}); - -::print("PLAYER NAME"+player.name+"\n"); -::print("ENTITY TYPE"+typeof player+"\n"); - -player.PrintPos(); - -player.pos.x=123; - -player.PrintPos(); diff --git a/src/3rdparty/squirrel/samples/fibonacci.nut b/src/3rdparty/squirrel/samples/fibonacci.nut deleted file mode 100644 index 1db79423e5..0000000000 --- a/src/3rdparty/squirrel/samples/fibonacci.nut +++ /dev/null @@ -1,15 +0,0 @@ -/* -* -* Original Javascript version by David Hedbor(http://www.bagley.org/~doug/shootout/) -* -*/ - -function fib(n) -{ - if (n < 2) return 1 - return fib(n-2) + fib(n-1) -} - -local n = ARGS.len()!=0?ARGS[0].tointeger():1 - -print(fib(n)+"\n") diff --git a/src/3rdparty/squirrel/samples/flow.nut b/src/3rdparty/squirrel/samples/flow.nut deleted file mode 100644 index 1cd7cfcf4b..0000000000 --- a/src/3rdparty/squirrel/samples/flow.nut +++ /dev/null @@ -1,33 +0,0 @@ -function min(x,y) - return xy?x:y; - -if(min(100,200)>max(50,20)) - print("I'm useless statement just to show up the if/else\n"); -else - print("squirrel!!\n"); - -print("\n") - -function typy(obj) -{ - switch(typeof obj) - { - case "integer": - case "float": - return "is a number"; - case "table": - case "array": - return "is a container"; - default: - return "is other stuff" - } -} - -local a=1,b={},c=function(a,b){return a+b;} - -print("a "+typy(a)+"\n"); -print("b "+typy(b)+"\n"); -print("c "+typy(c)+"\n"); diff --git a/src/3rdparty/squirrel/samples/generators.nut b/src/3rdparty/squirrel/samples/generators.nut deleted file mode 100644 index 9853e09640..0000000000 --- a/src/3rdparty/squirrel/samples/generators.nut +++ /dev/null @@ -1,42 +0,0 @@ -/* -*Random number function from The Great Computer Language shootout -*converted to a generator func -*/ - -function gen_random(max) { - local last=42 - local IM = 139968; - local IA = 3877; - local IC = 29573; - for(;;){ //loops forever - yield (max * (last = (last * IA + IC) % IM) / IM); - } -} - -local randtor=gen_random(100); - -print("RAND NUMBERS \n") - -for(local i=0;i<10;i+=1) - print(">"+resume randtor+"\n"); - -print("FIBONACCI \n") -function fiboz(n) -{ - local prev=0; - local curr=1; - yield 1; - - for(local i=0;i"+val+"\n"); -} diff --git a/src/3rdparty/squirrel/samples/hello.nut b/src/3rdparty/squirrel/samples/hello.nut deleted file mode 100644 index 1dc45ac136..0000000000 --- a/src/3rdparty/squirrel/samples/hello.nut +++ /dev/null @@ -1 +0,0 @@ -print("Hello World!") \ No newline at end of file diff --git a/src/3rdparty/squirrel/samples/list.nut b/src/3rdparty/squirrel/samples/list.nut deleted file mode 100644 index 8ab1ab517b..0000000000 --- a/src/3rdparty/squirrel/samples/list.nut +++ /dev/null @@ -1,39 +0,0 @@ -/*translation of the list test from The Great Computer Language Shootout -*/ - -function compare_arr(a1,a2) -{ - foreach(i,val in a1) - if(val!=a2[i])return null; - return 1; -} - -function test() -{ - local size=10000 - local l1=[]; l1.resize(size); - for(local i=0;i0) - l3.append(l2.pop()); - while(l3.len()>0) - l2.append(l3.pop()); - l1.reverse(); - - if(compare_arr(l1,l2)) - return l1.len(); - return null; -} - -local n = ARGS.len()!=0?ARGS[0].tointeger():1 -for(local i=0;i\n"); -else - print("\n"); diff --git a/src/3rdparty/squirrel/samples/methcall.nut b/src/3rdparty/squirrel/samples/methcall.nut deleted file mode 100644 index 131d262288..0000000000 --- a/src/3rdparty/squirrel/samples/methcall.nut +++ /dev/null @@ -1,61 +0,0 @@ -/*translation of the methcall test from The Great Computer Language Shootout -*/ - -Toggle <- { - bool=null -} - -function Toggle::value() { - return bool; -} - -function Toggle::activate() { - bool = !bool; - return this; -} - -function Toggle::new(startstate) { - local newo=clone this; - newo.bool = startstate; - return newo; -} - -NthToggle <- { - count_max=null - count=0 -} - -function NthToggle::new(start_state,max_counter) -{ - local newo=delegate ::Toggle.new(start_state) : clone this; - newo.count_max <- max_counter - return newo; -} - -function NthToggle::activate () -{ - count+=1 - if (count >= count_max) { - bool = !bool; - count = 0; - } - return this; -} - - -local n = ARGS.len()!=0?ARGS[0].tointeger():1 - -local val = 1; -local toggle = Toggle.new(val); -for (local i=0; i -#include -#include -#include - -#if defined(_MSC_VER) && defined(_DEBUG) -#include -#include -#endif -#include -#include -#include -#include -#include -#include -#include - -#ifdef SQUNICODE -#define scfprintf fwprintf -#define scfopen _wfopen -#define scvprintf vwprintf -#else -#define scfprintf fprintf -#define scfopen fopen -#define scvprintf vprintf -#endif - - -void PrintVersionInfos(); - -#if defined(_MSC_VER) && defined(_DEBUG) -int MemAllocHook( int allocType, void *userData, size_t size, int blockType, - long requestNumber, const unsigned char *filename, int lineNumber) -{ -// if(requestNumber==585)_asm int 3; - return 1; -} -#endif - - -SQInteger quit(HSQUIRRELVM v) -{ - int *done; - sq_getuserpointer(v,-1,(SQUserPointer*)&done); - *done=1; - return 0; -} - -void printfunc(HSQUIRRELVM v,const SQChar *s,...) -{ - va_list vl; - va_start(vl, s); - scvprintf( s, vl); - va_end(vl); -} - -void PrintVersionInfos() -{ - scfprintf(stdout,_SC("%s %s (%d bits)\n"),SQUIRREL_VERSION,SQUIRREL_COPYRIGHT,sizeof(SQInteger)*8); - if(sizeof(SQFloat) != sizeof(float)) { - scfprintf(stdout,_SC("[%d bits floats]\n"),sizeof(SQFloat)*8); - } -} - -void PrintUsage() -{ - scfprintf(stderr,_SC("usage: sq .\n") - _SC("Available options are:\n") - _SC(" -c compiles the file to bytecode(default output 'out.cnut')\n") - _SC(" -o specifies output file for the -c option\n") - _SC(" -c compiles only\n") - _SC(" -d generates debug infos\n") - _SC(" -v displays version infos\n") - _SC(" -h prints help\n")); -} - -#define _INTERACTIVE 0 -#define _DONE 2 -//<> this func is a mess -int getargs(HSQUIRRELVM v,int argc, char* argv[]) -{ - int i; - int compiles_only = 0; - static SQChar temp[500]; - const SQChar *ret=NULL; - char * output = NULL; - int lineinfo=0; - if(argc>1) - { - int arg=1,exitloop=0; - while(arg < argc && !exitloop) - { - - if(argv[arg][0]=='-') - { - switch(argv[arg][1]) - { - case 'd': //DEBUG(debug infos) - sq_enabledebuginfo(v,1); - break; - case 'c': - compiles_only = 1; - break; - case 'o': - if(arg < argc) { - arg++; - output = argv[arg]; - } - break; - case 'v': - PrintVersionInfos(); - return _DONE; - - case 'h': - PrintVersionInfos(); - PrintUsage(); - return _DONE; - default: - PrintVersionInfos(); - scprintf(_SC("unknown prameter '-%c'\n"),argv[arg][1]); - PrintUsage(); - return _DONE; - } - }else break; - arg++; - } - - // src file - - if(arg")); - for(;;) { - int c; - if(done)return; - c = getchar(); - if (c == _SC('\n')) { - if (i>0 && buffer[i-1] == _SC('\\')) - { - buffer[i-1] = _SC('\n'); - } - else if(blocks==0)break; - buffer[i++] = _SC('\n'); - } - else if (c==_SC('}')) {blocks--; buffer[i++] = (SQChar)c;} - else if(c==_SC('{') && !string){ - blocks++; - buffer[i++] = (SQChar)c; - } - else if(c==_SC('"') || c==_SC('\'')){ - string=!string; - buffer[i++] = (SQChar)c; - } - else if (i >= MAXINPUT-1) { - scfprintf(stderr, _SC("sq : input line too long\n")); - break; - } - else{ - buffer[i++] = (SQChar)c; - } - } - buffer[i] = _SC('\0'); - - if(buffer[0]==_SC('=')){ - scsprintf(sq_getscratchpad(v,MAXINPUT),_SC("return (%s)"),&buffer[1]); - memcpy(buffer,sq_getscratchpad(v,-1),(scstrlen(sq_getscratchpad(v,-1))+1)*sizeof(SQChar)); - retval=1; - } - i=scstrlen(buffer); - if(i>0){ - SQInteger oldtop=sq_gettop(v); - if(SQ_SUCCEEDED(sq_compilebuffer(v,buffer,i,_SC("interactive console"),SQTrue))){ - sq_pushroottable(v); - if(SQ_SUCCEEDED(sq_call(v,1,retval,SQTrue)) && retval){ - scprintf(_SC("\n")); - sq_pushroottable(v); - sq_pushstring(v,_SC("print"),-1); - sq_get(v,-2); - sq_pushroottable(v); - sq_push(v,-4); - sq_call(v,2,SQFalse,SQTrue); - retval=0; - scprintf(_SC("\n")); - } - } - - sq_settop(v,oldtop); - } - } -} - -int main(int argc, char* argv[]) -{ - HSQUIRRELVM v; - - const SQChar *filename=NULL; -#if defined(_MSC_VER) && defined(_DEBUG) - _CrtSetAllocHook(MemAllocHook); -#endif - - v=sq_open(1024); - sq_setprintfunc(v,printfunc); - - sq_pushroottable(v); - - sqstd_register_bloblib(v); - sqstd_register_iolib(v); - sqstd_register_systemlib(v); - sqstd_register_mathlib(v); - sqstd_register_stringlib(v); - - //aux library - //sets error handlers - sqstd_seterrorhandlers(v); - - //gets arguments - switch(getargs(v,argc,argv)) - { - case _INTERACTIVE: - Interactive(v); - break; - case _DONE: - default: - break; - } - - sq_close(v); - -#if defined(_MSC_VER) && defined(_DEBUG) - _getch(); - _CrtMemDumpAllObjectsSince( NULL ); -#endif - return 0; -} - diff --git a/src/3rdparty/squirrel/sq/sq.dsp b/src/3rdparty/squirrel/sq/sq.dsp deleted file mode 100644 index 77887d0644..0000000000 --- a/src/3rdparty/squirrel/sq/sq.dsp +++ /dev/null @@ -1,101 +0,0 @@ -# Microsoft Developer Studio Project File - Name="sq" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=sq - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "sq.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "sq.mak" CFG="sq - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "sq - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "sq - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_LocalPath ".." -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "sq - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /W3 /GX /O2 /I "..\include" /I "..\sqstdlib" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD BASE RSC /l 0x410 /d "NDEBUG" -# ADD RSC /l 0x410 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 squirrel.lib sqstdlib.lib /nologo /subsystem:console /machine:I386 /out:"../bin/sq.exe" /libpath:"../lib" - -!ELSEIF "$(CFG)" == "sq - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "..\include" /I "..\sqstdlib" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD BASE RSC /l 0x410 /d "_DEBUG" -# ADD RSC /l 0x410 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 squirrel.lib sqstdlib.lib /nologo /subsystem:console /debug /machine:I386 /out:"../bin/sq.exe" /pdbtype:sept /libpath:"../lib" - -!ENDIF - -# Begin Target - -# Name "sq - Win32 Release" -# Name "sq - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE=.\sq.c -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/src/3rdparty/squirrel/sqstdlib/Makefile b/src/3rdparty/squirrel/sqstdlib/Makefile deleted file mode 100644 index d2c33c54a0..0000000000 --- a/src/3rdparty/squirrel/sqstdlib/Makefile +++ /dev/null @@ -1,31 +0,0 @@ -SQUIRREL= .. - - -OUT= $(SQUIRREL)/lib/libsqstdlib.a -INCZ= -I$(SQUIRREL)/include -I. -Iinclude - -SRCS= \ - sqstdblob.cpp \ - sqstdio.cpp \ - sqstdstream.cpp \ - sqstdmath.cpp \ - sqstdsystem.cpp \ - sqstdstring.cpp \ - sqstdaux.cpp \ - sqstdrex.cpp - - -sq32: - gcc -O2 -fno-rtti -Wall -c $(SRCS) $(INCZ) - ar rc $(OUT) *.o - -sqprof: - gcc -O2 -pg -fno-rtti -pie -gstabs -g3 -Wall -c $(SRCS) $(INCZ) - ar rc $(OUT) *.o - -sq64: - gcc -O2 -D_SQ64 -fno-rtti -Wall -c $(SRCS) $(INCZ) - ar rc $(OUT) *.o - -clean: - rm -f $(OUT) $(SRCS:%.cpp=%.o) diff --git a/src/3rdparty/squirrel/sqstdlib/sqstdaux.cpp b/src/3rdparty/squirrel/sqstdlib/sqstdaux.cpp index 78b8a9c603..67b299bcec 100644 --- a/src/3rdparty/squirrel/sqstdlib/sqstdaux.cpp +++ b/src/3rdparty/squirrel/sqstdlib/sqstdaux.cpp @@ -1,8 +1,11 @@ /* see copyright notice in squirrel.h */ + +#include "../../../stdafx.h" + #include #include -#include -#include + +#include "../../../safeguards.h" void sqstd_printcallstack(HSQUIRRELVM v) { @@ -16,30 +19,30 @@ void sqstd_printcallstack(HSQUIRRELVM v) SQInteger level=1; //1 is to skip this function that is level 0 const SQChar *name=0; SQInteger seq=0; - pf(v,_SC("\nCALLSTACK\n")); + pf(v,"\nCALLSTACK\n"); while(SQ_SUCCEEDED(sq_stackinfos(v,level,&si))) { - const SQChar *fn=_SC("unknown"); - const SQChar *src=_SC("unknown"); + const SQChar *fn="unknown"; + const SQChar *src="unknown"; if(si.funcname)fn=si.funcname; if(si.source) { /* We don't want to bother users with absolute paths to all AI files. * Since the path only reaches NoAI code in a formatted string we have * to strip it here. Let's hope nobody installs openttd in a subdirectory * of a directory named /ai/. */ - src = scstrstr(si.source, _SC("\\ai\\")); - if (!src) src = scstrstr(si.source, _SC("/ai/")); + src = strstr(si.source, "\\ai\\"); + if (!src) src = strstr(si.source, "/ai/"); if (src) { src += 4; } else { src = si.source; } } - pf(v,_SC("*FUNCTION [%s()] %s line [%d]\n"),fn,src,si.line); + pf(v,"*FUNCTION [%s()] %s line [%d]\n",fn,src,si.line); level++; } level=0; - pf(v,_SC("\nLOCALS\n")); + pf(v,"\nLOCALS\n"); for(level=0;level<10;level++){ seq=0; @@ -49,56 +52,56 @@ void sqstd_printcallstack(HSQUIRRELVM v) switch(sq_gettype(v,-1)) { case OT_NULL: - pf(v,_SC("[%s] NULL\n"),name); + pf(v,"[%s] NULL\n",name); break; case OT_INTEGER: sq_getinteger(v,-1,&i); - pf(v,_SC("[%s] %d\n"),name,i); + pf(v,"[%s] %d\n",name,i); break; case OT_FLOAT: sq_getfloat(v,-1,&f); - pf(v,_SC("[%s] %.14g\n"),name,f); + pf(v,"[%s] %.14g\n",name,f); break; case OT_USERPOINTER: - pf(v,_SC("[%s] USERPOINTER\n"),name); + pf(v,"[%s] USERPOINTER\n",name); break; case OT_STRING: sq_getstring(v,-1,&s); - pf(v,_SC("[%s] \"%s\"\n"),name,s); + pf(v,"[%s] \"%s\"\n",name,s); break; case OT_TABLE: - pf(v,_SC("[%s] TABLE\n"),name); + pf(v,"[%s] TABLE\n",name); break; case OT_ARRAY: - pf(v,_SC("[%s] ARRAY\n"),name); + pf(v,"[%s] ARRAY\n",name); break; case OT_CLOSURE: - pf(v,_SC("[%s] CLOSURE\n"),name); + pf(v,"[%s] CLOSURE\n",name); break; case OT_NATIVECLOSURE: - pf(v,_SC("[%s] NATIVECLOSURE\n"),name); + pf(v,"[%s] NATIVECLOSURE\n",name); break; case OT_GENERATOR: - pf(v,_SC("[%s] GENERATOR\n"),name); + pf(v,"[%s] GENERATOR\n",name); break; case OT_USERDATA: - pf(v,_SC("[%s] USERDATA\n"),name); + pf(v,"[%s] USERDATA\n",name); break; case OT_THREAD: - pf(v,_SC("[%s] THREAD\n"),name); + pf(v,"[%s] THREAD\n",name); break; case OT_CLASS: - pf(v,_SC("[%s] CLASS\n"),name); + pf(v,"[%s] CLASS\n",name); break; case OT_INSTANCE: - pf(v,_SC("[%s] INSTANCE\n"),name); + pf(v,"[%s] INSTANCE\n",name); break; case OT_WEAKREF: - pf(v,_SC("[%s] WEAKREF\n"),name); + pf(v,"[%s] WEAKREF\n",name); break; case OT_BOOL:{ sq_getbool(v,-1,&b); - pf(v,_SC("[%s] %s\n"),name,b?_SC("true"):_SC("false")); + pf(v,"[%s] %s\n",name,b?"true":"false"); } break; default: assert(0); break; @@ -116,10 +119,10 @@ static SQInteger _sqstd_aux_printerror(HSQUIRRELVM v) const SQChar *sErr = 0; if(sq_gettop(v)>=1) { if(SQ_SUCCEEDED(sq_getstring(v,2,&sErr))) { - pf(v,_SC("\nAN ERROR HAS OCCURED [%s]\n"),sErr); + pf(v,"\nAN ERROR HAS OCCURED [%s]\n",sErr); } else{ - pf(v,_SC("\nAN ERROR HAS OCCURED [unknown]\n")); + pf(v,"\nAN ERROR HAS OCCURED [unknown]\n"); } sqstd_printcallstack(v); } @@ -131,7 +134,7 @@ void _sqstd_compiler_error(HSQUIRRELVM v,const SQChar *sErr,const SQChar *sSourc { SQPRINTFUNCTION pf = sq_getprintfunc(v); if(pf) { - pf(v,_SC("%s line = (%d) column = (%d) : error %s\n"),sSource,line,column,sErr); + pf(v,"%s line = (%d) column = (%d) : error %s\n",sSource,line,column,sErr); } } diff --git a/src/3rdparty/squirrel/sqstdlib/sqstdblob.cpp b/src/3rdparty/squirrel/sqstdlib/sqstdblob.cpp deleted file mode 100644 index 23842ba6fd..0000000000 --- a/src/3rdparty/squirrel/sqstdlib/sqstdblob.cpp +++ /dev/null @@ -1,251 +0,0 @@ -/* see copyright notice in squirrel.h */ -#include -#include -#include -#include -#include -#include "sqstdstream.h" -#include "sqstdblobimpl.h" - -#define SQSTD_BLOB_TYPE_TAG (SQSTD_STREAM_TYPE_TAG | 0x00000002) - -//Blob - - -#define SETUP_BLOB(v) \ - SQBlob *self = NULL; \ - { if(SQ_FAILED(sq_getinstanceup(v,1,(SQUserPointer*)&self,(SQUserPointer)SQSTD_BLOB_TYPE_TAG))) \ - return SQ_ERROR; } - - -static SQInteger _blob_resize(HSQUIRRELVM v) -{ - SETUP_BLOB(v); - SQInteger size; - sq_getinteger(v,2,&size); - if(!self->Resize(size)) - return sq_throwerror(v,_SC("resize failed")); - return 0; -} - -static void __swap_dword(unsigned int *n) -{ - *n=(unsigned int)(((*n&0xFF000000)>>24) | - ((*n&0x00FF0000)>>8) | - ((*n&0x0000FF00)<<8) | - ((*n&0x000000FF)<<24)); -} - -static void __swap_word(unsigned short *n) -{ - *n=(unsigned short)((*n>>8)&0x00FF)| ((*n<<8)&0xFF00); -} - -static SQInteger _blob_swap4(HSQUIRRELVM v) -{ - SETUP_BLOB(v); - SQInteger num=(self->Len()-(self->Len()%4))>>2; - unsigned int *t=(unsigned int *)self->GetBuf(); - for(SQInteger i = 0; i < num; i++) { - __swap_dword(&t[i]); - } - return 0; -} - -static SQInteger _blob_swap2(HSQUIRRELVM v) -{ - SETUP_BLOB(v); - SQInteger num=(self->Len()-(self->Len()%2))>>1; - unsigned short *t = (unsigned short *)self->GetBuf(); - for(SQInteger i = 0; i < num; i++) { - __swap_word(&t[i]); - } - return 0; -} - -static SQInteger _blob__set(HSQUIRRELVM v) -{ - SETUP_BLOB(v); - SQInteger idx,val; - sq_getinteger(v,2,&idx); - sq_getinteger(v,3,&val); - if(idx < 0 || idx >= self->Len()) - return sq_throwerror(v,_SC("index out of range")); - ((unsigned char *)self->GetBuf())[idx] = (unsigned char) val; - sq_push(v,3); - return 1; -} - -static SQInteger _blob__get(HSQUIRRELVM v) -{ - SETUP_BLOB(v); - SQInteger idx; - sq_getinteger(v,2,&idx); - if(idx < 0 || idx >= self->Len()) - return sq_throwerror(v,_SC("index out of range")); - sq_pushinteger(v,((unsigned char *)self->GetBuf())[idx]); - return 1; -} - -static SQInteger _blob__nexti(HSQUIRRELVM v) -{ - SETUP_BLOB(v); - if(sq_gettype(v,2) == OT_NULL) { - sq_pushinteger(v, 0); - return 1; - } - SQInteger idx; - if(SQ_SUCCEEDED(sq_getinteger(v, 2, &idx))) { - if(idx+1 < self->Len()) { - sq_pushinteger(v, idx+1); - return 1; - } - sq_pushnull(v); - return 1; - } - return sq_throwerror(v,_SC("internal error (_nexti) wrong argument type")); -} - -static SQInteger _blob__typeof(HSQUIRRELVM v) -{ - sq_pushstring(v,_SC("blob"),-1); - return 1; -} - -static SQInteger _blob_releasehook(SQUserPointer p, SQInteger size) -{ - SQBlob *self = (SQBlob*)p; - delete self; - return 1; -} - -static SQInteger _blob_constructor(HSQUIRRELVM v) -{ - SQInteger nparam = sq_gettop(v); - SQInteger size = 0; - if(nparam == 2) { - sq_getinteger(v, 2, &size); - } - if(size < 0) return sq_throwerror(v, _SC("cannot create blob with negative size")); - SQBlob *b = new SQBlob(size); - if(SQ_FAILED(sq_setinstanceup(v,1,b))) { - delete b; - return sq_throwerror(v, _SC("cannot create blob with negative size")); - } - sq_setreleasehook(v,1,_blob_releasehook); - return 0; -} - -#define _DECL_BLOB_FUNC(name,nparams,typecheck) {_SC(#name),_blob_##name,nparams,typecheck} -static SQRegFunction _blob_methods[] = { - _DECL_BLOB_FUNC(constructor,-1,_SC("xn")), - _DECL_BLOB_FUNC(resize,2,_SC("xn")), - _DECL_BLOB_FUNC(swap2,1,_SC("x")), - _DECL_BLOB_FUNC(swap4,1,_SC("x")), - _DECL_BLOB_FUNC(_set,3,_SC("xnn")), - _DECL_BLOB_FUNC(_get,2,_SC("xn")), - _DECL_BLOB_FUNC(_typeof,1,_SC("x")), - _DECL_BLOB_FUNC(_nexti,2,_SC("x")), - {0,0,0,0} -}; - - - -//GLOBAL FUNCTIONS - -static SQInteger _g_blob_casti2f(HSQUIRRELVM v) -{ - SQInteger i; - sq_getinteger(v,2,&i); - sq_pushfloat(v,*((SQFloat *)&i)); - return 1; -} - -static SQInteger _g_blob_castf2i(HSQUIRRELVM v) -{ - SQFloat f; - sq_getfloat(v,2,&f); - sq_pushinteger(v,*((SQInteger *)&f)); - return 1; -} - -static SQInteger _g_blob_swap2(HSQUIRRELVM v) -{ - SQInteger i; - sq_getinteger(v,2,&i); - short s=(short)i; - sq_pushinteger(v,(s<<8)|((s>>8)&0x00FF)); - return 1; -} - -static SQInteger _g_blob_swap4(HSQUIRRELVM v) -{ - SQInteger i; - sq_getinteger(v,2,&i); - unsigned int t4 = (unsigned int)i; - __swap_dword(&t4); - sq_pushinteger(v,(SQInteger)t4); - return 1; -} - -static SQInteger _g_blob_swapfloat(HSQUIRRELVM v) -{ - SQFloat f; - sq_getfloat(v,2,&f); - __swap_dword((unsigned int *)&f); - sq_pushfloat(v,f); - return 1; -} - -#define _DECL_GLOBALBLOB_FUNC(name,nparams,typecheck) {_SC(#name),_g_blob_##name,nparams,typecheck} -static SQRegFunction bloblib_funcs[]={ - _DECL_GLOBALBLOB_FUNC(casti2f,2,_SC(".n")), - _DECL_GLOBALBLOB_FUNC(castf2i,2,_SC(".n")), - _DECL_GLOBALBLOB_FUNC(swap2,2,_SC(".n")), - _DECL_GLOBALBLOB_FUNC(swap4,2,_SC(".n")), - _DECL_GLOBALBLOB_FUNC(swapfloat,2,_SC(".n")), - {0,0,0,0} -}; - -SQRESULT sqstd_getblob(HSQUIRRELVM v,SQInteger idx,SQUserPointer *ptr) -{ - SQBlob *blob; - if(SQ_FAILED(sq_getinstanceup(v,idx,(SQUserPointer *)&blob,(SQUserPointer)SQSTD_BLOB_TYPE_TAG))) - return -1; - *ptr = blob->GetBuf(); - return SQ_OK; -} - -SQInteger sqstd_getblobsize(HSQUIRRELVM v,SQInteger idx) -{ - SQBlob *blob; - if(SQ_FAILED(sq_getinstanceup(v,idx,(SQUserPointer *)&blob,(SQUserPointer)SQSTD_BLOB_TYPE_TAG))) - return -1; - return blob->Len(); -} - -SQUserPointer sqstd_createblob(HSQUIRRELVM v, SQInteger size) -{ - SQInteger top = sq_gettop(v); - sq_pushregistrytable(v); - sq_pushstring(v,_SC("std_blob"),-1); - if(SQ_SUCCEEDED(sq_get(v,-2))) { - sq_remove(v,-2); //removes the registry - sq_push(v,1); // push the this - sq_pushinteger(v,size); //size - SQBlob *blob = NULL; - if(SQ_SUCCEEDED(sq_call(v,2,SQTrue,SQFalse)) - && SQ_SUCCEEDED(sq_getinstanceup(v,-1,(SQUserPointer *)&blob,(SQUserPointer)SQSTD_BLOB_TYPE_TAG))) { - sq_remove(v,-2); - return blob->GetBuf(); - } - } - sq_settop(v,top); - return NULL; -} - -SQRESULT sqstd_register_bloblib(HSQUIRRELVM v) -{ - return declare_stream(v,_SC("blob"),(SQUserPointer)SQSTD_BLOB_TYPE_TAG,_SC("std_blob"),_blob_methods,bloblib_funcs); -} - diff --git a/src/3rdparty/squirrel/sqstdlib/sqstdblobimpl.h b/src/3rdparty/squirrel/sqstdlib/sqstdblobimpl.h deleted file mode 100644 index 9f22c0ae2d..0000000000 --- a/src/3rdparty/squirrel/sqstdlib/sqstdblobimpl.h +++ /dev/null @@ -1,108 +0,0 @@ -/* see copyright notice in squirrel.h */ -#ifndef _SQSTD_BLOBIMPL_H_ -#define _SQSTD_BLOBIMPL_H_ - -struct SQBlob : public SQStream -{ - SQBlob(SQInteger size) { - _size = size; - _allocated = size; - _buf = (unsigned char *)sq_malloc(size); - memset(_buf, 0, _size); - _ptr = 0; - _owns = true; - } - virtual ~SQBlob() { - sq_free(_buf, _allocated); - } - SQInteger Write(void *buffer, SQInteger size) { - if(!CanAdvance(size)) { - GrowBufOf(_ptr + size - _size); - } - memcpy(&_buf[_ptr], buffer, size); - _ptr += size; - return size; - } - SQInteger Read(void *buffer,SQInteger size) { - SQInteger n = size; - if(!CanAdvance(size)) { - if((_size - _ptr) > 0) - n = _size - _ptr; - else return 0; - } - memcpy(buffer, &_buf[_ptr], n); - _ptr += n; - return n; - } - bool Resize(SQInteger n) { - if(!_owns) return false; - if(n != _allocated) { - unsigned char *newbuf = (unsigned char *)sq_malloc(n); - memset(newbuf,0,n); - if(_size > n) - memcpy(newbuf,_buf,n); - else - memcpy(newbuf,_buf,_size); - sq_free(_buf,_allocated); - _buf=newbuf; - _allocated = n; - if(_size > _allocated) - _size = _allocated; - if(_ptr > _allocated) - _ptr = _allocated; - } - return true; - } - bool GrowBufOf(SQInteger n) - { - bool ret = true; - if(_size + n > _allocated) { - if(_size + n > _size * 2) - ret = Resize(_size + n); - else - ret = Resize(_size * 2); - } - _size = _size + n; - return ret; - } - bool CanAdvance(SQInteger n) { - if(_ptr+n>_size)return false; - return true; - } - SQInteger Seek(SQInteger offset, SQInteger origin) { - switch(origin) { - case SQ_SEEK_SET: - if(offset > _size || offset < 0) return -1; - _ptr = offset; - break; - case SQ_SEEK_CUR: - if(_ptr + offset > _size || _ptr + offset < 0) return -1; - _ptr += offset; - break; - case SQ_SEEK_END: - if(_size + offset > _size || _size + offset < 0) return -1; - _ptr = _size + offset; - break; - default: return -1; - } - return 0; - } - bool IsValid() { - return _buf?true:false; - } - bool EOS() { - return _ptr == _size; - } - SQInteger Flush() { return 0; } - SQInteger Tell() { return _ptr; } - SQInteger Len() { return _size; } - SQUserPointer GetBuf(){ return _buf; } -private: - SQInteger _size; - SQInteger _allocated; - SQInteger _ptr; - unsigned char *_buf; - bool _owns; -}; - -#endif //_SQSTD_BLOBIMPL_H_ diff --git a/src/3rdparty/squirrel/sqstdlib/sqstdio.cpp b/src/3rdparty/squirrel/sqstdlib/sqstdio.cpp deleted file mode 100644 index 217205e5c9..0000000000 --- a/src/3rdparty/squirrel/sqstdlib/sqstdio.cpp +++ /dev/null @@ -1,410 +0,0 @@ -/* see copyright notice in squirrel.h */ -#include -#include -#include -#include -#include "sqstdstream.h" - -#define SQSTD_FILE_TYPE_TAG (SQSTD_STREAM_TYPE_TAG | 0x00000001) -//basic API -SQFILE sqstd_fopen(const SQChar *filename ,const SQChar *mode) -{ -#ifndef SQUNICODE - return (SQFILE)fopen(filename,mode); -#else - return (SQFILE)_wfopen(filename,mode); -#endif -} - -SQInteger sqstd_fread(void* buffer, SQInteger size, SQInteger count, SQFILE file) -{ - return (SQInteger)fread(buffer,size,count,(FILE *)file); -} - -SQInteger sqstd_fwrite(const SQUserPointer buffer, SQInteger size, SQInteger count, SQFILE file) -{ - return (SQInteger)fwrite(buffer,size,count,(FILE *)file); -} - -SQInteger sqstd_fseek(SQFILE file, SQInteger offset, SQInteger origin) -{ - SQInteger realorigin; - switch(origin) { - case SQ_SEEK_CUR: realorigin = SEEK_CUR; break; - case SQ_SEEK_END: realorigin = SEEK_END; break; - case SQ_SEEK_SET: realorigin = SEEK_SET; break; - default: return -1; //failed - } - return fseek((FILE *)file,(long)offset,(int)realorigin); -} - -SQInteger sqstd_ftell(SQFILE file) -{ - return ftell((FILE *)file); -} - -SQInteger sqstd_fflush(SQFILE file) -{ - return fflush((FILE *)file); -} - -SQInteger sqstd_fclose(SQFILE file) -{ - return fclose((FILE *)file); -} - -SQInteger sqstd_feof(SQFILE file) -{ - return feof((FILE *)file); -} - -//File -struct SQFile : public SQStream { - SQFile() { _handle = NULL; _owns = false;} - SQFile(SQFILE file, bool owns) { _handle = file; _owns = owns;} - virtual ~SQFile() { Close(); } - bool Open(const SQChar *filename ,const SQChar *mode) { - Close(); - if( (_handle = sqstd_fopen(filename,mode)) ) { - _owns = true; - return true; - } - return false; - } - void Close() { - if(_handle && _owns) { - sqstd_fclose(_handle); - _handle = NULL; - _owns = false; - } - } - SQInteger Read(void *buffer,SQInteger size) { - return sqstd_fread(buffer,1,size,_handle); - } - SQInteger Write(void *buffer,SQInteger size) { - return sqstd_fwrite(buffer,1,size,_handle); - } - SQInteger Flush() { - return sqstd_fflush(_handle); - } - SQInteger Tell() { - return sqstd_ftell(_handle); - } - SQInteger Len() { - SQInteger prevpos=Tell(); - Seek(0,SQ_SEEK_END); - SQInteger size=Tell(); - Seek(prevpos,SQ_SEEK_SET); - return size; - } - SQInteger Seek(SQInteger offset, SQInteger origin) { - return sqstd_fseek(_handle,offset,origin); - } - bool IsValid() { return _handle?true:false; } - bool EOS() { return Tell()==Len()?true:false;} - SQFILE GetHandle() {return _handle;} -private: - SQFILE _handle; - bool _owns; -}; - -static SQInteger _file__typeof(HSQUIRRELVM v) -{ - sq_pushstring(v,_SC("file"),-1); - return 1; -} - -static SQInteger _file_releasehook(SQUserPointer p, SQInteger size) -{ - SQFile *self = (SQFile*)p; - delete self; - return 1; -} - -static SQInteger _file_constructor(HSQUIRRELVM v) -{ - const SQChar *filename,*mode; - bool owns = true; - SQFile *f; - SQFILE newf; - if(sq_gettype(v,2) == OT_STRING && sq_gettype(v,3) == OT_STRING) { - sq_getstring(v, 2, &filename); - sq_getstring(v, 3, &mode); - newf = sqstd_fopen(filename, mode); - if(!newf) return sq_throwerror(v, _SC("cannot open file")); - } else if(sq_gettype(v,2) == OT_USERPOINTER) { - owns = !(sq_gettype(v,3) == OT_NULL); - sq_getuserpointer(v,2,&newf); - } else { - return sq_throwerror(v,_SC("wrong parameter")); - } - f = new SQFile(newf,owns); - if(SQ_FAILED(sq_setinstanceup(v,1,f))) { - delete f; - return sq_throwerror(v, _SC("cannot create blob with negative size")); - } - sq_setreleasehook(v,1,_file_releasehook); - return 0; -} - -//bindings -#define _DECL_FILE_FUNC(name,nparams,typecheck) {_SC(#name),_file_##name,nparams,typecheck} -static SQRegFunction _file_methods[] = { - _DECL_FILE_FUNC(constructor,3,_SC("x")), - _DECL_FILE_FUNC(_typeof,1,_SC("x")), - {0,0,0,0}, -}; - - - -SQRESULT sqstd_createfile(HSQUIRRELVM v, SQFILE file,SQBool own) -{ - SQInteger top = sq_gettop(v); - sq_pushregistrytable(v); - sq_pushstring(v,_SC("std_file"),-1); - if(SQ_SUCCEEDED(sq_get(v,-2))) { - sq_remove(v,-2); //removes the registry - sq_pushroottable(v); // push the this - sq_pushuserpointer(v,file); //file - if(own){ - sq_pushinteger(v,1); //true - } - else{ - sq_pushnull(v); //false - } - if(SQ_SUCCEEDED( sq_call(v,3,SQTrue,SQFalse) )) { - sq_remove(v,-2); - return SQ_OK; - } - } - sq_settop(v,top); - return SQ_OK; -} - -SQRESULT sqstd_getfile(HSQUIRRELVM v, SQInteger idx, SQFILE *file) -{ - SQFile *fileobj = NULL; - if(SQ_SUCCEEDED(sq_getinstanceup(v,idx,(SQUserPointer*)&fileobj,(SQUserPointer)SQSTD_FILE_TYPE_TAG))) { - *file = fileobj->GetHandle(); - return SQ_OK; - } - return sq_throwerror(v,_SC("not a file")); -} - - - -static SQInteger _io_file_lexfeed_ASCII(SQUserPointer file) -{ - SQInteger ret; - char c; - if( ( ret=sqstd_fread(&c,sizeof(c),1,(FILE *)file )>0) ) - return c; - return 0; -} - -static SQInteger _io_file_lexfeed_UTF8(SQUserPointer file) -{ -#define READ() \ - if(sqstd_fread(&inchar,sizeof(inchar),1,(FILE *)file) != 1) \ - return 0; - - static const SQInteger utf8_lengths[16] = - { - 1,1,1,1,1,1,1,1, /* 0000 to 0111 : 1 byte (plain ASCII) */ - 0,0,0,0, /* 1000 to 1011 : not valid */ - 2,2, /* 1100, 1101 : 2 bytes */ - 3, /* 1110 : 3 bytes */ - 4 /* 1111 :4 bytes */ - }; - static unsigned char byte_masks[5] = {0,0,0x1f,0x0f,0x07}; - unsigned char inchar; - SQInteger c = 0; - READ(); - c = inchar; - // - if(c >= 0x80) { - SQInteger tmp; - SQInteger codelen = utf8_lengths[c>>4]; - if(codelen == 0) - return 0; - //"invalid UTF-8 stream"; - tmp = c&byte_masks[codelen]; - for(SQInteger n = 0; n < codelen-1; n++) { - tmp<<=6; - READ(); - tmp |= inchar & 0x3F; - } - c = tmp; - } - return c; -} - -static SQInteger _io_file_lexfeed_UCS2_LE(SQUserPointer file) -{ - SQInteger ret; - wchar_t c; - if( ( ret=sqstd_fread(&c,sizeof(c),1,(FILE *)file )>0) ) - return (SQChar)c; - return 0; -} - -static SQInteger _io_file_lexfeed_UCS2_BE(SQUserPointer file) -{ - SQInteger ret; - unsigned short c; - if( ( ret=sqstd_fread(&c,sizeof(c),1,(FILE *)file )>0) ) { - c = ((c>>8)&0x00FF)| ((c<<8)&0xFF00); - return (SQChar)c; - } - return 0; -} - -SQInteger file_read(SQUserPointer file,SQUserPointer buf,SQInteger size) -{ - SQInteger ret; - if( ( ret = sqstd_fread(buf,1,size,(SQFILE)file ))!=0 )return ret; - return -1; -} - -SQInteger file_write(SQUserPointer file,SQUserPointer p,SQInteger size) -{ - return sqstd_fwrite(p,1,size,(SQFILE)file); -} - -SQRESULT sqstd_loadfile(HSQUIRRELVM v,const SQChar *filename,SQBool printerror) -{ - SQFILE file = sqstd_fopen(filename,_SC("rb")); - SQInteger ret; - unsigned short us; - unsigned char uc; - SQLEXREADFUNC func = _io_file_lexfeed_ASCII; - if(file){ - ret = sqstd_fread(&us,1,2,file); - if(ret != 2) { - //probably an empty file - us = 0; - } - if(us == SQ_BYTECODE_STREAM_TAG) { //BYTECODE - sqstd_fseek(file,0,SQ_SEEK_SET); - if(SQ_SUCCEEDED(sq_readclosure(v,file_read,file))) { - sqstd_fclose(file); - return SQ_OK; - } - } - else { //SCRIPT - switch(us) - { - //gotta swap the next 2 lines on BIG endian machines - case 0xFFFE: func = _io_file_lexfeed_UCS2_BE; break;//UTF-16 little endian; - case 0xFEFF: func = _io_file_lexfeed_UCS2_LE; break;//UTF-16 big endian; - case 0xBBEF: - if(sqstd_fread(&uc,1,sizeof(uc),file) == 0) { - sqstd_fclose(file); - return sq_throwerror(v,_SC("io error")); - } - if(uc != 0xBF) { - sqstd_fclose(file); - return sq_throwerror(v,_SC("Unrecognozed ecoding")); - } - func = _io_file_lexfeed_UTF8; - break;//UTF-8 ; - default: sqstd_fseek(file,0,SQ_SEEK_SET); break; // ascii - } - - if(SQ_SUCCEEDED(sq_compile(v,func,file,filename,printerror))){ - sqstd_fclose(file); - return SQ_OK; - } - } - sqstd_fclose(file); - return SQ_ERROR; - } - return sq_throwerror(v,_SC("cannot open the file")); -} - -SQRESULT sqstd_dofile(HSQUIRRELVM v,const SQChar *filename,SQBool retval,SQBool printerror) -{ - if(SQ_SUCCEEDED(sqstd_loadfile(v,filename,printerror))) { - sq_push(v,-2); - if(SQ_SUCCEEDED(sq_call(v,1,retval,SQTrue))) { - sq_remove(v,retval?-2:-1); //removes the closure - return 1; - } - sq_pop(v,1); //removes the closure - } - return SQ_ERROR; -} - -SQRESULT sqstd_writeclosuretofile(HSQUIRRELVM v,const SQChar *filename) -{ - SQFILE file = sqstd_fopen(filename,_SC("wb+")); - if(!file) return sq_throwerror(v,_SC("cannot open the file")); - if(SQ_SUCCEEDED(sq_writeclosure(v,file_write,file))) { - sqstd_fclose(file); - return SQ_OK; - } - sqstd_fclose(file); - return SQ_ERROR; //forward the error -} - -SQInteger _g_io_loadfile(HSQUIRRELVM v) -{ - const SQChar *filename; - SQBool printerror = SQFalse; - sq_getstring(v,2,&filename); - if(sq_gettop(v) >= 3) { - sq_getbool(v,3,&printerror); - } - if(SQ_SUCCEEDED(sqstd_loadfile(v,filename,printerror))) - return 1; - return SQ_ERROR; //propagates the error -} - -SQInteger _g_io_writeclosuretofile(HSQUIRRELVM v) -{ - const SQChar *filename; - sq_getstring(v,2,&filename); - if(SQ_SUCCEEDED(sqstd_writeclosuretofile(v,filename))) - return 1; - return SQ_ERROR; //propagates the error -} - -SQInteger _g_io_dofile(HSQUIRRELVM v) -{ - const SQChar *filename; - SQBool printerror = SQFalse; - sq_getstring(v,2,&filename); - if(sq_gettop(v) >= 3) { - sq_getbool(v,3,&printerror); - } - sq_push(v,1); //repush the this - if(SQ_SUCCEEDED(sqstd_dofile(v,filename,SQTrue,printerror))) - return 1; - return SQ_ERROR; //propagates the error -} - -#define _DECL_GLOBALIO_FUNC(name,nparams,typecheck) {_SC(#name),_g_io_##name,nparams,typecheck} -static SQRegFunction iolib_funcs[]={ - _DECL_GLOBALIO_FUNC(loadfile,-2,_SC(".sb")), - _DECL_GLOBALIO_FUNC(dofile,-2,_SC(".sb")), - _DECL_GLOBALIO_FUNC(writeclosuretofile,3,_SC(".sc")), - {0,0,0,0} -}; - -SQRESULT sqstd_register_iolib(HSQUIRRELVM v) -{ - SQInteger top = sq_gettop(v); - //create delegate - declare_stream(v,_SC("file"),(SQUserPointer)SQSTD_FILE_TYPE_TAG,_SC("std_file"),_file_methods,iolib_funcs); - sq_pushstring(v,_SC("stdout"),-1); - sqstd_createfile(v,stdout,SQFalse); - sq_createslot(v,-3); - sq_pushstring(v,_SC("stdin"),-1); - sqstd_createfile(v,stdin,SQFalse); - sq_createslot(v,-3); - sq_pushstring(v,_SC("stderr"),-1); - sqstd_createfile(v,stderr,SQFalse); - sq_createslot(v,-3); - sq_settop(v,top); - return SQ_OK; -} diff --git a/src/3rdparty/squirrel/sqstdlib/sqstdlib.dsp b/src/3rdparty/squirrel/sqstdlib/sqstdlib.dsp deleted file mode 100644 index ad0bcece30..0000000000 --- a/src/3rdparty/squirrel/sqstdlib/sqstdlib.dsp +++ /dev/null @@ -1,131 +0,0 @@ -# Microsoft Developer Studio Project File - Name="sqstdlib" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Static Library" 0x0104 - -CFG=sqstdlib - Win32 Release -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "sqstdlib.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "sqstdlib.mak" CFG="sqstdlib - Win32 Release" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "sqstdlib - Win32 Release" (based on "Win32 (x86) Static Library") -!MESSAGE "sqstdlib - Win32 Debug" (based on "Win32 (x86) Static Library") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_LocalPath ".." -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "sqstdlib - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c -# ADD CPP /nologo /W3 /GX /O2 /I "..\include" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c -# ADD BASE RSC /l 0x410 /d "NDEBUG" -# ADD RSC /l 0x410 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo -# ADD LIB32 /nologo /out:"..\lib\sqstdlib.lib" - -!ELSEIF "$(CFG)" == "sqstdlib - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c -# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "..\include" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c -# ADD BASE RSC /l 0x410 /d "_DEBUG" -# ADD RSC /l 0x410 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo -# ADD LIB32 /nologo /out:"..\lib\sqstdlib.lib" - -!ENDIF - -# Begin Target - -# Name "sqstdlib - Win32 Release" -# Name "sqstdlib - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE=.\sqstdblob.cpp -# End Source File -# Begin Source File - -SOURCE=.\sqstdio.cpp -# End Source File -# Begin Source File - -SOURCE=.\sqstdmath.cpp -# End Source File -# Begin Source File - -SOURCE=.\sqstdrex.cpp -# End Source File -# Begin Source File - -SOURCE=.\sqstdstream.cpp -# End Source File -# Begin Source File - -SOURCE=.\sqstdstring.cpp -# End Source File -# Begin Source File - -SOURCE=.\sqstdaux.cpp -# End Source File -# Begin Source File - -SOURCE=.\sqstdsystem.cpp -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# Begin Source File - -SOURCE=.\sqstdblobimpl.h -# End Source File -# Begin Source File - -SOURCE=.\sqstdstream.h -# End Source File -# End Group -# End Target -# End Project diff --git a/src/3rdparty/squirrel/sqstdlib/sqstdmath.cpp b/src/3rdparty/squirrel/sqstdlib/sqstdmath.cpp index 132f341f22..0ff0090209 100644 --- a/src/3rdparty/squirrel/sqstdlib/sqstdmath.cpp +++ b/src/3rdparty/squirrel/sqstdlib/sqstdmath.cpp @@ -1,9 +1,13 @@ /* see copyright notice in squirrel.h */ + +#include "../../../stdafx.h" + #include #include -#include #include +#include "../../../safeguards.h" + #define SINGLE_ARG_FUNC(_funcname, num_ops) static SQInteger math_##_funcname(HSQUIRRELVM v){ \ SQFloat f; \ sq_decreaseops(v,num_ops); \ @@ -26,7 +30,7 @@ static SQInteger math_srand(HSQUIRRELVM v) { SQInteger i; if(SQ_FAILED(sq_getinteger(v,2,&i))) - return sq_throwerror(v,_SC("invalid param")); + return sq_throwerror(v,"invalid param"); srand((unsigned int)i); return 0; } @@ -62,28 +66,28 @@ SINGLE_ARG_FUNC(floor, 1) SINGLE_ARG_FUNC(ceil, 1) SINGLE_ARG_FUNC(exp, 100) -#define _DECL_FUNC(name,nparams,tycheck) {_SC(#name),math_##name,nparams,tycheck} +#define _DECL_FUNC(name,nparams,tycheck) {#name,math_##name,nparams,tycheck} static SQRegFunction mathlib_funcs[] = { - _DECL_FUNC(sqrt,2,_SC(".n")), - _DECL_FUNC(sin,2,_SC(".n")), - _DECL_FUNC(cos,2,_SC(".n")), - _DECL_FUNC(asin,2,_SC(".n")), - _DECL_FUNC(acos,2,_SC(".n")), - _DECL_FUNC(log,2,_SC(".n")), - _DECL_FUNC(log10,2,_SC(".n")), - _DECL_FUNC(tan,2,_SC(".n")), - _DECL_FUNC(atan,2,_SC(".n")), - _DECL_FUNC(atan2,3,_SC(".nn")), - _DECL_FUNC(pow,3,_SC(".nn")), - _DECL_FUNC(floor,2,_SC(".n")), - _DECL_FUNC(ceil,2,_SC(".n")), - _DECL_FUNC(exp,2,_SC(".n")), + _DECL_FUNC(sqrt,2,".n"), + _DECL_FUNC(sin,2,".n"), + _DECL_FUNC(cos,2,".n"), + _DECL_FUNC(asin,2,".n"), + _DECL_FUNC(acos,2,".n"), + _DECL_FUNC(log,2,".n"), + _DECL_FUNC(log10,2,".n"), + _DECL_FUNC(tan,2,".n"), + _DECL_FUNC(atan,2,".n"), + _DECL_FUNC(atan2,3,".nn"), + _DECL_FUNC(pow,3,".nn"), + _DECL_FUNC(floor,2,".n"), + _DECL_FUNC(ceil,2,".n"), + _DECL_FUNC(exp,2,".n"), #ifdef EXPORT_DEFAULT_SQUIRREL_FUNCTIONS - _DECL_FUNC(srand,2,_SC(".n")), + _DECL_FUNC(srand,2,".n"), _DECL_FUNC(rand,1,NULL), #endif /* EXPORT_DEFAULT_SQUIRREL_FUNCTIONS */ - _DECL_FUNC(fabs,2,_SC(".n")), - _DECL_FUNC(abs,2,_SC(".n")), + _DECL_FUNC(fabs,2,".n"), + _DECL_FUNC(abs,2,".n"), {0,0,0,0}, }; @@ -103,11 +107,11 @@ SQRESULT sqstd_register_mathlib(HSQUIRRELVM v) i++; } #ifdef EXPORT_DEFAULT_SQUIRREL_FUNCTIONS - sq_pushstring(v,_SC("RAND_MAX"),-1); + sq_pushstring(v,"RAND_MAX",-1); sq_pushinteger(v,RAND_MAX); sq_createslot(v,-3); #endif /* EXPORT_DEFAULT_SQUIRREL_FUNCTIONS */ - sq_pushstring(v,_SC("PI"),-1); + sq_pushstring(v,"PI",-1); sq_pushfloat(v,(SQFloat)M_PI); sq_createslot(v,-3); return SQ_OK; diff --git a/src/3rdparty/squirrel/sqstdlib/sqstdrex.cpp b/src/3rdparty/squirrel/sqstdlib/sqstdrex.cpp index 90d980e104..2bc3684a5e 100644 --- a/src/3rdparty/squirrel/sqstdlib/sqstdrex.cpp +++ b/src/3rdparty/squirrel/sqstdlib/sqstdrex.cpp @@ -1,7 +1,5 @@ /* see copyright notice in squirrel.h */ #include -#include -#include #include #include "sqstdstring.h" @@ -12,14 +10,13 @@ #endif #ifdef _DEBUG -#include static const SQChar *g_nnames[] = { - _SC("NONE"),_SC("OP_GREEDY"), _SC("OP_OR"), - _SC("OP_EXPR"),_SC("OP_NOCAPEXPR"),_SC("OP_DOT"), _SC("OP_CLASS"), - _SC("OP_CCLASS"),_SC("OP_NCLASS"),_SC("OP_RANGE"),_SC("OP_CHAR"), - _SC("OP_EOL"),_SC("OP_BOL"),_SC("OP_WB") + "NONE","OP_GREEDY", "OP_OR", + "OP_EXPR","OP_NOCAPEXPR","OP_DOT", "OP_CLASS", + "OP_CCLASS","OP_NCLASS","OP_RANGE","OP_CHAR", + "OP_EOL","OP_BOL","OP_WB" }; #endif @@ -99,7 +96,7 @@ static void sqstd_rex_error(SQRex *exp,const SQChar *error) static void sqstd_rex_expect(SQRex *exp, SQChar n){ if((*exp->_p) != n) - sqstd_rex_error(exp, _SC("expected paren")); + sqstd_rex_error(exp, "expected paren"); exp->_p++; } @@ -115,7 +112,7 @@ static SQChar sqstd_rex_escapechar(SQRex *exp) case 'f': exp->_p++; return '\f'; default: return (*exp->_p++); } - } else if(!scisprint(*exp->_p)) sqstd_rex_error(exp,_SC("letter expected")); + } else if(!scisprint(*exp->_p)) sqstd_rex_error(exp,"letter expected"); return (*exp->_p++); } @@ -159,7 +156,7 @@ static SQInteger sqstd_rex_charnode(SQRex *exp,SQBool isclass) } else if(!scisprint(*exp->_p)) { - sqstd_rex_error(exp,_SC("letter expected")); + sqstd_rex_error(exp,"letter expected"); } t = *exp->_p; exp->_p++; return sqstd_rex_newnode(exp,t); @@ -173,15 +170,15 @@ static SQInteger sqstd_rex_class(SQRex *exp) exp->_p++; }else ret = sqstd_rex_newnode(exp,OP_CLASS); - if(*exp->_p == ']') sqstd_rex_error(exp,_SC("empty class")); + if(*exp->_p == ']') sqstd_rex_error(exp,"empty class"); chain = ret; while(*exp->_p != ']' && exp->_p != exp->_eol) { if(*exp->_p == '-' && first != -1){ SQInteger r; - if(*exp->_p++ == ']') sqstd_rex_error(exp,_SC("unfinished range")); + if(*exp->_p++ == ']') sqstd_rex_error(exp,"unfinished range"); r = sqstd_rex_newnode(exp,OP_RANGE); - if(exp->_nodes[first].type>*exp->_p) sqstd_rex_error(exp,_SC("invalid range")); - if(exp->_nodes[first].type == OP_CCLASS) sqstd_rex_error(exp,_SC("cannot use character classes in ranges")); + if(exp->_nodes[first].type>*exp->_p) sqstd_rex_error(exp,"invalid range"); + if(exp->_nodes[first].type == OP_CCLASS) sqstd_rex_error(exp,"cannot use character classes in ranges"); exp->_nodes[r].left = exp->_nodes[first].type; SQInteger t = sqstd_rex_escapechar(exp); exp->_nodes[r].right = t; @@ -220,7 +217,7 @@ static SQInteger sqstd_rex_parsenumber(SQRex *exp) exp->_p++; while(isdigit(*exp->_p)) { ret = ret*10+(*exp->_p++-'0'); - if(positions==1000000000) sqstd_rex_error(exp,_SC("overflow in numeric constant")); + if(positions==1000000000) sqstd_rex_error(exp,"overflow in numeric constant"); positions *= 10; }; return ret; @@ -238,7 +235,7 @@ static SQInteger sqstd_rex_element(SQRex *exp) if(*exp->_p =='?') { exp->_p++; - sqstd_rex_expect(exp,_SC(':')); + sqstd_rex_expect(exp,':'); expr = sqstd_rex_newnode(exp,OP_NOCAPEXPR); } else @@ -246,13 +243,13 @@ static SQInteger sqstd_rex_element(SQRex *exp) SQInteger newn = sqstd_rex_list(exp); exp->_nodes[expr].left = newn; ret = expr; - sqstd_rex_expect(exp,_SC(')')); + sqstd_rex_expect(exp,')'); } break; case '[': exp->_p++; ret = sqstd_rex_class(exp); - sqstd_rex_expect(exp,_SC(']')); + sqstd_rex_expect(exp,']'); break; case SQREX_SYMBOL_END_OF_STRING: exp->_p++; ret = sqstd_rex_newnode(exp,OP_EOL);break; case SQREX_SYMBOL_ANY_CHAR: exp->_p++; ret = sqstd_rex_newnode(exp,OP_DOT);break; @@ -271,7 +268,7 @@ static SQInteger sqstd_rex_element(SQRex *exp) case SQREX_SYMBOL_GREEDY_ZERO_OR_ONE: p0 = 0; p1 = 1; exp->_p++; isgreedy = SQTrue; break; case '{': exp->_p++; - if(!isdigit(*exp->_p)) sqstd_rex_error(exp,_SC("number expected")); + if(!isdigit(*exp->_p)) sqstd_rex_error(exp,"number expected"); p0 = (unsigned short)sqstd_rex_parsenumber(exp); /*******************************/ switch(*exp->_p) { @@ -284,10 +281,10 @@ static SQInteger sqstd_rex_element(SQRex *exp) if(isdigit(*exp->_p)){ p1 = (unsigned short)sqstd_rex_parsenumber(exp); } - sqstd_rex_expect(exp,_SC('}')); + sqstd_rex_expect(exp,'}'); break; default: - sqstd_rex_error(exp,_SC(", or } expected")); + sqstd_rex_error(exp,", or } expected"); } /*******************************/ isgreedy = SQTrue; @@ -526,7 +523,7 @@ SQRex *sqstd_rex_compile(const SQChar *pattern,const SQChar **error) SQRex *exp = (SQRex *)sq_malloc(sizeof(SQRex)); exp->_eol = exp->_bol = NULL; exp->_p = pattern; - exp->_nallocated = (SQInteger)scstrlen(pattern) * sizeof(SQChar); + exp->_nallocated = (SQInteger)strlen(pattern) * sizeof(SQChar); exp->_nodes = (SQRexNode *)sq_malloc(exp->_nallocated * sizeof(SQRexNode)); exp->_nsize = 0; exp->_matches = 0; @@ -537,23 +534,23 @@ SQRex *sqstd_rex_compile(const SQChar *pattern,const SQChar **error) SQInteger res = sqstd_rex_list(exp); exp->_nodes[exp->_first].left = res; if(*exp->_p!='\0') - sqstd_rex_error(exp,_SC("unexpected character")); + sqstd_rex_error(exp,"unexpected character"); #ifdef _DEBUG { SQInteger nsize,i; SQRexNode *t; nsize = exp->_nsize; t = &exp->_nodes[0]; - scprintf(_SC("\n")); + printf("\n"); /* XXX -- The (int) casts are needed to silent warnings on 64bit systems (SQInteger is 64bit, %d assumes 32bit, (int) is 32bit) */ for(i = 0;i < nsize; i++) { if(exp->_nodes[i].type>MAX_CHAR) - scprintf(_SC("[%02d] %10s "),(int)i,g_nnames[exp->_nodes[i].type-MAX_CHAR]); + printf("[%02d] %10s ",(int)i,g_nnames[exp->_nodes[i].type-MAX_CHAR]); else - scprintf(_SC("[%02d] %10c "),(int)i,exp->_nodes[i].type); - scprintf(_SC("left %02d right %02d next %02d\n"),(int)exp->_nodes[i].left,(int)exp->_nodes[i].right,(int)exp->_nodes[i].next); + printf("[%02d] %10c ",(int)i,exp->_nodes[i].type); + printf("left %02d right %02d next %02d\n",(int)exp->_nodes[i].left,(int)exp->_nodes[i].right,(int)exp->_nodes[i].next); } - scprintf(_SC("\n")); + printf("\n"); } #endif exp->_matches = (SQRexMatch *) sq_malloc(exp->_nsubexpr * sizeof(SQRexMatch)); @@ -579,7 +576,7 @@ SQBool sqstd_rex_match(SQRex* exp,const SQChar* text) { const SQChar* res = NULL; exp->_bol = text; - exp->_eol = text + scstrlen(text); + exp->_eol = text + strlen(text); exp->_currsubexp = 0; res = sqstd_rex_matchnode(exp,exp->_nodes,text,NULL); if(res == NULL || res != exp->_eol) @@ -618,7 +615,7 @@ SQBool sqstd_rex_searchrange(SQRex* exp,const SQChar* text_begin,const SQChar* t SQBool sqstd_rex_search(SQRex* exp,const SQChar* text, const SQChar** out_begin, const SQChar** out_end) { - return sqstd_rex_searchrange(exp,text,text + scstrlen(text),out_begin,out_end); + return sqstd_rex_searchrange(exp,text,text + strlen(text),out_begin,out_end); } SQInteger sqstd_rex_getsubexpcount(SQRex* exp) diff --git a/src/3rdparty/squirrel/sqstdlib/sqstdstream.cpp b/src/3rdparty/squirrel/sqstdlib/sqstdstream.cpp deleted file mode 100644 index 147fc66ca7..0000000000 --- a/src/3rdparty/squirrel/sqstdlib/sqstdstream.cpp +++ /dev/null @@ -1,330 +0,0 @@ -/* see copyright notice in squirrel.h */ -#include -#include -#include -#include -#include -#include -#include -#include "sqstdstream.h" -#include "sqstdblobimpl.h" - -#define SETUP_STREAM(v) \ - SQStream *self = NULL; \ - if(SQ_FAILED(sq_getinstanceup(v,1,(SQUserPointer*)&self,(SQUserPointer)SQSTD_STREAM_TYPE_TAG))) \ - return sq_throwerror(v,_SC("invalid type tag")); \ - if(!self->IsValid()) \ - return sq_throwerror(v,_SC("the stream is invalid")); - -SQInteger _stream_readblob(HSQUIRRELVM v) -{ - SETUP_STREAM(v); - SQUserPointer data,blobp; - SQInteger size,res; - sq_getinteger(v,2,&size); - if(size > self->Len()) { - size = self->Len(); - } - data = sq_getscratchpad(v,size); - res = self->Read(data,size); - if(res <= 0) - return sq_throwerror(v,_SC("no data left to read")); - blobp = sqstd_createblob(v,res); - memcpy(blobp,data,res); - return 1; -} - -#define SAFE_READN(ptr,len) { \ - if(self->Read(ptr,len) != len) return sq_throwerror(v,_SC("io error")); \ - } -SQInteger _stream_readn(HSQUIRRELVM v) -{ - SETUP_STREAM(v); - SQInteger format; - sq_getinteger(v, 2, &format); - switch(format) { - case 'l': { - SQInteger i; - SAFE_READN(&i, sizeof(i)); - sq_pushinteger(v, i); - } - break; - case 'i': { - SQInt32 i; - SAFE_READN(&i, sizeof(i)); - sq_pushinteger(v, i); - } - break; - case 's': { - short s; - SAFE_READN(&s, sizeof(short)); - sq_pushinteger(v, s); - } - break; - case 'w': { - unsigned short w; - SAFE_READN(&w, sizeof(unsigned short)); - sq_pushinteger(v, w); - } - break; - case 'c': { - char c; - SAFE_READN(&c, sizeof(char)); - sq_pushinteger(v, c); - } - break; - case 'b': { - unsigned char c; - SAFE_READN(&c, sizeof(unsigned char)); - sq_pushinteger(v, c); - } - break; - case 'f': { - float f; - SAFE_READN(&f, sizeof(float)); - sq_pushfloat(v, f); - } - break; - case 'd': { - double d; - SAFE_READN(&d, sizeof(double)); - sq_pushfloat(v, (SQFloat)d); - } - break; - default: - return sq_throwerror(v, _SC("invalid format")); - } - return 1; -} - -SQInteger _stream_writeblob(HSQUIRRELVM v) -{ - SQUserPointer data; - SQInteger size; - SETUP_STREAM(v); - if(SQ_FAILED(sqstd_getblob(v,2,&data))) - return sq_throwerror(v,_SC("invalid parameter")); - size = sqstd_getblobsize(v,2); - if(self->Write(data,size) != size) - return sq_throwerror(v,_SC("io error")); - sq_pushinteger(v,size); - return 1; -} - -SQInteger _stream_writen(HSQUIRRELVM v) -{ - SETUP_STREAM(v); - SQInteger format, ti; - SQFloat tf; - sq_getinteger(v, 3, &format); - switch(format) { - case 'l': { - SQInteger i; - sq_getinteger(v, 2, &ti); - i = ti; - self->Write(&i, sizeof(SQInteger)); - } - break; - case 'i': { - SQInt32 i; - sq_getinteger(v, 2, &ti); - i = (SQInt32)ti; - self->Write(&i, sizeof(SQInt32)); - } - break; - case 's': { - short s; - sq_getinteger(v, 2, &ti); - s = (short)ti; - self->Write(&s, sizeof(short)); - } - break; - case 'w': { - unsigned short w; - sq_getinteger(v, 2, &ti); - w = (unsigned short)ti; - self->Write(&w, sizeof(unsigned short)); - } - break; - case 'c': { - char c; - sq_getinteger(v, 2, &ti); - c = (char)ti; - self->Write(&c, sizeof(char)); - } - break; - case 'b': { - unsigned char b; - sq_getinteger(v, 2, &ti); - b = (unsigned char)ti; - self->Write(&b, sizeof(unsigned char)); - } - break; - case 'f': { - float f; - sq_getfloat(v, 2, &tf); - f = (float)tf; - self->Write(&f, sizeof(float)); - } - break; - case 'd': { - double d; - sq_getfloat(v, 2, &tf); - d = tf; - self->Write(&d, sizeof(double)); - } - break; - default: - return sq_throwerror(v, _SC("invalid format")); - } - return 0; -} - -SQInteger _stream_seek(HSQUIRRELVM v) -{ - SETUP_STREAM(v); - SQInteger offset, origin = SQ_SEEK_SET; - sq_getinteger(v, 2, &offset); - if(sq_gettop(v) > 2) { - SQInteger t; - sq_getinteger(v, 3, &t); - switch(t) { - case 'b': origin = SQ_SEEK_SET; break; - case 'c': origin = SQ_SEEK_CUR; break; - case 'e': origin = SQ_SEEK_END; break; - default: return sq_throwerror(v,_SC("invalid origin")); - } - } - sq_pushinteger(v, self->Seek(offset, origin)); - return 1; -} - -SQInteger _stream_tell(HSQUIRRELVM v) -{ - SETUP_STREAM(v); - sq_pushinteger(v, self->Tell()); - return 1; -} - -SQInteger _stream_len(HSQUIRRELVM v) -{ - SETUP_STREAM(v); - sq_pushinteger(v, self->Len()); - return 1; -} - -SQInteger _stream_flush(HSQUIRRELVM v) -{ - SETUP_STREAM(v); - if(!self->Flush()) - sq_pushinteger(v, 1); - else - sq_pushnull(v); - return 1; -} - -SQInteger _stream_eos(HSQUIRRELVM v) -{ - SETUP_STREAM(v); - if(self->EOS()) - sq_pushinteger(v, 1); - else - sq_pushnull(v); - return 1; -} - -static SQRegFunction _stream_methods[] = { - _DECL_STREAM_FUNC(readblob,2,_SC("xn")), - _DECL_STREAM_FUNC(readn,2,_SC("xn")), - _DECL_STREAM_FUNC(writeblob,-2,_SC("xx")), - _DECL_STREAM_FUNC(writen,3,_SC("xnn")), - _DECL_STREAM_FUNC(seek,-2,_SC("xnn")), - _DECL_STREAM_FUNC(tell,1,_SC("x")), - _DECL_STREAM_FUNC(len,1,_SC("x")), - _DECL_STREAM_FUNC(eos,1,_SC("x")), - _DECL_STREAM_FUNC(flush,1,_SC("x")), - {0,0,0,0} -}; - -void init_streamclass(HSQUIRRELVM v) -{ - sq_pushregistrytable(v); - sq_pushstring(v,_SC("std_stream"),-1); - if(SQ_FAILED(sq_get(v,-2))) { - sq_pushstring(v,_SC("std_stream"),-1); - sq_newclass(v,SQFalse); - sq_settypetag(v,-1,(SQUserPointer)SQSTD_STREAM_TYPE_TAG); - SQInteger i = 0; - while(_stream_methods[i].name != 0) { - SQRegFunction &f = _stream_methods[i]; - sq_pushstring(v,f.name,-1); - sq_newclosure(v,f.f,0); - sq_setparamscheck(v,f.nparamscheck,f.typemask); - sq_createslot(v,-3); - i++; - } - sq_createslot(v,-3); - sq_pushroottable(v); - sq_pushstring(v,_SC("stream"),-1); - sq_pushstring(v,_SC("std_stream"),-1); - sq_get(v,-4); - sq_createslot(v,-3); - sq_pop(v,1); - } - else { - sq_pop(v,1); //result - } - sq_pop(v,1); -} - -SQRESULT declare_stream(HSQUIRRELVM v,const SQChar* name,SQUserPointer typetag,const SQChar* reg_name,SQRegFunction *methods,SQRegFunction *globals) -{ - if(sq_gettype(v,-1) != OT_TABLE) - return sq_throwerror(v,_SC("table expected")); - SQInteger top = sq_gettop(v); - //create delegate - init_streamclass(v); - sq_pushregistrytable(v); - sq_pushstring(v,reg_name,-1); - sq_pushstring(v,_SC("std_stream"),-1); - if(SQ_SUCCEEDED(sq_get(v,-3))) { - sq_newclass(v,SQTrue); - sq_settypetag(v,-1,typetag); - SQInteger i = 0; - while(methods[i].name != 0) { - SQRegFunction &f = methods[i]; - sq_pushstring(v,f.name,-1); - sq_newclosure(v,f.f,0); - sq_setparamscheck(v,f.nparamscheck,f.typemask); - sq_setnativeclosurename(v,-1,f.name); - sq_createslot(v,-3); - i++; - } - sq_createslot(v,-3); - sq_pop(v,1); - - i = 0; - while(globals[i].name!=0) - { - SQRegFunction &f = globals[i]; - sq_pushstring(v,f.name,-1); - sq_newclosure(v,f.f,0); - sq_setparamscheck(v,f.nparamscheck,f.typemask); - sq_setnativeclosurename(v,-1,f.name); - sq_createslot(v,-3); - i++; - } - //register the class in the target table - sq_pushstring(v,name,-1); - sq_pushregistrytable(v); - sq_pushstring(v,reg_name,-1); - sq_get(v,-2); - sq_remove(v,-2); - sq_createslot(v,-3); - - sq_settop(v,top); - return SQ_OK; - } - sq_settop(v,top); - return SQ_ERROR; -} diff --git a/src/3rdparty/squirrel/sqstdlib/sqstdstream.h b/src/3rdparty/squirrel/sqstdlib/sqstdstream.h deleted file mode 100644 index 4dcc000545..0000000000 --- a/src/3rdparty/squirrel/sqstdlib/sqstdstream.h +++ /dev/null @@ -1,18 +0,0 @@ -/* see copyright notice in squirrel.h */ -#ifndef _SQSTD_STREAM_H_ -#define _SQSTD_STREAM_H_ - -SQInteger _stream_readblob(HSQUIRRELVM v); -SQInteger _stream_readline(HSQUIRRELVM v); -SQInteger _stream_readn(HSQUIRRELVM v); -SQInteger _stream_writeblob(HSQUIRRELVM v); -SQInteger _stream_writen(HSQUIRRELVM v); -SQInteger _stream_seek(HSQUIRRELVM v); -SQInteger _stream_tell(HSQUIRRELVM v); -SQInteger _stream_len(HSQUIRRELVM v); -SQInteger _stream_eos(HSQUIRRELVM v); -SQInteger _stream_flush(HSQUIRRELVM v); - -#define _DECL_STREAM_FUNC(name,nparams,typecheck) {_SC(#name),_stream_##name,nparams,typecheck} -SQRESULT declare_stream(HSQUIRRELVM v,const SQChar* name,SQUserPointer typetag,const SQChar* reg_name,SQRegFunction *methods,SQRegFunction *globals); -#endif /*_SQSTD_STREAM_H_*/ diff --git a/src/3rdparty/squirrel/sqstdlib/sqstdstring.cpp b/src/3rdparty/squirrel/sqstdlib/sqstdstring.cpp index 681029aa70..8639b6456a 100644 --- a/src/3rdparty/squirrel/sqstdlib/sqstdstring.cpp +++ b/src/3rdparty/squirrel/sqstdlib/sqstdstring.cpp @@ -1,22 +1,11 @@ /* see copyright notice in squirrel.h */ #include #include -#include -#include -#include -#include -#include #include -#ifdef SQUNICODE -#define scstrchr wcschr -#define scatoi _wtoi -#define scstrtok wcstok -#else #define scstrchr strchr #define scatoi atoi #define scstrtok strtok -#endif #define MAX_FORMAT_LEN 20 #define MAX_WFORMAT_LEN 3 #define ADDITIONAL_FORMAT_SPACE (100*sizeof(SQChar)) @@ -27,17 +16,17 @@ static SQInteger validate_format(HSQUIRRELVM v, SQChar *fmt, const SQChar *src, SQInteger wc = 0; SQInteger start = n; fmt[0] = '%'; - while (scstrchr(_SC("-+ #0"), src[n])) n++; - while (scisdigit(src[n])) { + while (scstrchr("-+ #0", src[n])) n++; + while (isdigit(src[n])) { swidth[wc] = src[n]; n++; wc++; if(wc>=MAX_WFORMAT_LEN) - return sq_throwerror(v,_SC("width format too long")); + return sq_throwerror(v,"width format too long"); } swidth[wc] = '\0'; if(wc > 0) { - width = scatoi(swidth); + width = atoi(swidth); } else width = 0; @@ -45,20 +34,20 @@ static SQInteger validate_format(HSQUIRRELVM v, SQChar *fmt, const SQChar *src, n++; wc = 0; - while (scisdigit(src[n])) { + while (isdigit(src[n])) { swidth[wc] = src[n]; n++; wc++; if(wc>=MAX_WFORMAT_LEN) - return sq_throwerror(v,_SC("precision format too long")); + return sq_throwerror(v,"precision format too long"); } swidth[wc] = '\0'; if(wc > 0) { - width += scatoi(swidth); + width += atoi(swidth); } } if (n-start > MAX_FORMAT_LEN ) - return sq_throwerror(v,_SC("format too long")); + return sq_throwerror(v,"format too long"); memcpy(&fmt[1],&src[start],((n-start)+1)*sizeof(SQChar)); fmt[(n-start)+2] = '\0'; return n; @@ -75,7 +64,7 @@ static void _append_string(SQInteger &i, SQChar *dest, SQInteger allocated, cons { va_list va; va_start(va, fmt); - i += scvsnprintf(&dest[i],allocated-i,fmt,va); + i += vsnprintf(&dest[i],allocated-i,fmt,va); va_end(va); } @@ -102,7 +91,7 @@ SQRESULT sqstd_format(HSQUIRRELVM v,SQInteger nformatstringidx,SQInteger *outlen else { n++; if( nparam > sq_gettop(v) ) - return sq_throwerror(v,_SC("not enough paramters for the given format string")); + return sq_throwerror(v,"not enough paramters for the given format string"); n = validate_format(v,fmt,format,n,w); if(n < 0) return -1; SQInteger addlen = 0; @@ -113,24 +102,24 @@ SQRESULT sqstd_format(HSQUIRRELVM v,SQInteger nformatstringidx,SQInteger *outlen switch(format[n]) { case 's': if(SQ_FAILED(sq_getstring(v,nparam,&ts))) - return sq_throwerror(v,_SC("string expected for the specified format")); + return sq_throwerror(v,"string expected for the specified format"); addlen = (sq_getsize(v,nparam)*sizeof(SQChar))+((w+1)*sizeof(SQChar)); valtype = 's'; break; case 'i': case 'd': case 'c':case 'o': case 'u': case 'x': case 'X': if(SQ_FAILED(sq_getinteger(v,nparam,&ti))) - return sq_throwerror(v,_SC("integer expected for the specified format")); + return sq_throwerror(v,"integer expected for the specified format"); addlen = (ADDITIONAL_FORMAT_SPACE)+((w+1)*sizeof(SQChar)); valtype = 'i'; break; case 'f': case 'g': case 'G': case 'e': case 'E': if(SQ_FAILED(sq_getfloat(v,nparam,&tf))) - return sq_throwerror(v,_SC("float expected for the specified format")); + return sq_throwerror(v,"float expected for the specified format"); addlen = (ADDITIONAL_FORMAT_SPACE)+((w+1)*sizeof(SQChar)); valtype = 'f'; break; default: - return sq_throwerror(v,_SC("invalid format")); + return sq_throwerror(v,"invalid format"); } n++; allocated += addlen + sizeof(SQChar); @@ -162,7 +151,7 @@ static SQInteger _string_format(HSQUIRRELVM v) static void __strip_l(const SQChar *str,const SQChar **start) { const SQChar *t = str; - while(((*t) != '\0') && scisspace(*t)){ t++; } + while(((*t) != '\0') && isspace(*t)){ t++; } *start = t; } @@ -173,7 +162,7 @@ static void __strip_r(const SQChar *str,SQInteger len,const SQChar **end) return; } const SQChar *t = &str[len-1]; - while(t != str && scisspace(*t)) { t--; } + while(t != str && isspace(*t)) { t--; } *end = t+1; } @@ -213,7 +202,7 @@ static SQInteger _string_split(HSQUIRRELVM v) SQChar *stemp,*tok; sq_getstring(v,2,&str); sq_getstring(v,3,&seps); - if(sq_getsize(v,3) == 0) return sq_throwerror(v,_SC("empty separators string")); + if(sq_getsize(v,3) == 0) return sq_throwerror(v,"empty separators string"); SQInteger memsize = (sq_getsize(v,2)+1)*sizeof(SQChar); stemp = sq_getscratchpad(v,memsize); memcpy(stemp,str,memsize); @@ -255,10 +244,10 @@ static SQInteger _regexp_match(HSQUIRRELVM v) static void _addrexmatch(HSQUIRRELVM v,const SQChar *str,const SQChar *begin,const SQChar *end) { sq_newtable(v); - sq_pushstring(v,_SC("begin"),-1); + sq_pushstring(v,"begin",-1); sq_pushinteger(v,begin - str); sq_rawset(v,-3); - sq_pushstring(v,_SC("end"),-1); + sq_pushstring(v,"end",-1); sq_pushinteger(v,end - str); sq_rawset(v,-3); } @@ -321,35 +310,35 @@ static SQInteger _regexp_constructor(HSQUIRRELVM v) static SQInteger _regexp__typeof(HSQUIRRELVM v) { - sq_pushstring(v,_SC("regexp"),-1); + sq_pushstring(v,"regexp",-1); return 1; } -#define _DECL_REX_FUNC(name,nparams,pmask) {_SC(#name),_regexp_##name,nparams,pmask} +#define _DECL_REX_FUNC(name,nparams,pmask) {#name,_regexp_##name,nparams,pmask} static SQRegFunction rexobj_funcs[]={ - _DECL_REX_FUNC(constructor,2,_SC(".s")), - _DECL_REX_FUNC(search,-2,_SC("xsn")), - _DECL_REX_FUNC(match,2,_SC("xs")), - _DECL_REX_FUNC(capture,-2,_SC("xsn")), - _DECL_REX_FUNC(subexpcount,1,_SC("x")), - _DECL_REX_FUNC(_typeof,1,_SC("x")), + _DECL_REX_FUNC(constructor,2,".s"), + _DECL_REX_FUNC(search,-2,"xsn"), + _DECL_REX_FUNC(match,2,"xs"), + _DECL_REX_FUNC(capture,-2,"xsn"), + _DECL_REX_FUNC(subexpcount,1,"x"), + _DECL_REX_FUNC(_typeof,1,"x"), {0,0,0,0} }; -#define _DECL_FUNC(name,nparams,pmask) {_SC(#name),_string_##name,nparams,pmask} +#define _DECL_FUNC(name,nparams,pmask) {#name,_string_##name,nparams,pmask} static SQRegFunction stringlib_funcs[]={ - _DECL_FUNC(format,-2,_SC(".s")), - _DECL_FUNC(strip,2,_SC(".s")), - _DECL_FUNC(lstrip,2,_SC(".s")), - _DECL_FUNC(rstrip,2,_SC(".s")), - _DECL_FUNC(split,3,_SC(".ss")), + _DECL_FUNC(format,-2,".s"), + _DECL_FUNC(strip,2,".s"), + _DECL_FUNC(lstrip,2,".s"), + _DECL_FUNC(rstrip,2,".s"), + _DECL_FUNC(split,3,".ss"), {0,0,0,0} }; SQInteger sqstd_register_stringlib(HSQUIRRELVM v) { - sq_pushstring(v,_SC("regexp"),-1); + sq_pushstring(v,"regexp",-1); sq_newclass(v,SQFalse); SQInteger i = 0; while(rexobj_funcs[i].name != 0) { diff --git a/src/3rdparty/squirrel/sqstdlib/sqstdsystem.cpp b/src/3rdparty/squirrel/sqstdlib/sqstdsystem.cpp deleted file mode 100644 index e1fcdfbd99..0000000000 --- a/src/3rdparty/squirrel/sqstdlib/sqstdsystem.cpp +++ /dev/null @@ -1,147 +0,0 @@ -/* see copyright notice in squirrel.h */ -#include -#include -#include -#include -#include - -#ifdef SQUNICODE -#include -#define scgetenv _wgetenv -#define scsystem _wsystem -#define scasctime _wasctime -#define scremove _wremove -#define screname _wrename -#else -#define scgetenv getenv -#define scsystem system -#define scasctime asctime -#define scremove remove -#define screname rename -#endif - -static SQInteger _system_getenv(HSQUIRRELVM v) -{ - const SQChar *s; - if(SQ_SUCCEEDED(sq_getstring(v,2,&s))){ - sq_pushstring(v,scgetenv(s),-1); - return 1; - } - return 0; -} - - -static SQInteger _system_system(HSQUIRRELVM v) -{ - const SQChar *s; - if(SQ_SUCCEEDED(sq_getstring(v,2,&s))){ - sq_pushinteger(v,scsystem(s)); - return 1; - } - return sq_throwerror(v,_SC("wrong param")); -} - - -static SQInteger _system_clock(HSQUIRRELVM v) -{ - sq_pushfloat(v,((SQFloat)clock())/(SQFloat)CLOCKS_PER_SEC); - return 1; -} - -static SQInteger _system_time(HSQUIRRELVM v) -{ - time_t t; - time(&t); - sq_pushinteger(v,*((SQInteger *)&t)); - return 1; -} - -static SQInteger _system_remove(HSQUIRRELVM v) -{ - const SQChar *s; - sq_getstring(v,2,&s); - if(scremove(s)==-1) - return sq_throwerror(v,_SC("remove() failed")); - return 0; -} - -static SQInteger _system_rename(HSQUIRRELVM v) -{ - const SQChar *oldn,*newn; - sq_getstring(v,2,&oldn); - sq_getstring(v,3,&newn); - if(screname(oldn,newn)==-1) - return sq_throwerror(v,_SC("rename() failed")); - return 0; -} - -static void _set_integer_slot(HSQUIRRELVM v,const SQChar *name,SQInteger val) -{ - sq_pushstring(v,name,-1); - sq_pushinteger(v,val); - sq_rawset(v,-3); -} - -static SQInteger _system_date(HSQUIRRELVM v) -{ - time_t t; - SQInteger it; - SQInteger format = 'l'; - if(sq_gettop(v) > 1) { - sq_getinteger(v,2,&it); - t = it; - if(sq_gettop(v) > 2) { - sq_getinteger(v,3,(SQInteger*)&format); - } - } - else { - time(&t); - } - tm *date; - if(format == 'u') - date = gmtime(&t); - else - date = localtime(&t); - if(!date) - return sq_throwerror(v,_SC("crt api failure")); - sq_newtable(v); - _set_integer_slot(v, _SC("sec"), date->tm_sec); - _set_integer_slot(v, _SC("min"), date->tm_min); - _set_integer_slot(v, _SC("hour"), date->tm_hour); - _set_integer_slot(v, _SC("day"), date->tm_mday); - _set_integer_slot(v, _SC("month"), date->tm_mon); - _set_integer_slot(v, _SC("year"), date->tm_year+1900); - _set_integer_slot(v, _SC("wday"), date->tm_wday); - _set_integer_slot(v, _SC("yday"), date->tm_yday); - return 1; -} - - - -#define _DECL_FUNC(name,nparams,pmask) {_SC(#name),_system_##name,nparams,pmask} -static SQRegFunction systemlib_funcs[]={ - _DECL_FUNC(getenv,2,_SC(".s")), - _DECL_FUNC(system,2,_SC(".s")), - _DECL_FUNC(clock,1,NULL), - _DECL_FUNC(time,1,NULL), - _DECL_FUNC(date,-1,_SC(".nn")), - _DECL_FUNC(remove,2,_SC(".s")), - _DECL_FUNC(rename,3,_SC(".ss")), - {0,0,0,0} -}; - - -SQInteger sqstd_register_systemlib(HSQUIRRELVM v) -{ - SQInteger i=0; - while(systemlib_funcs[i].name!=0) - { - sq_pushstring(v,systemlib_funcs[i].name,-1); - sq_newclosure(v,systemlib_funcs[i].f,0); - sq_setparamscheck(v,systemlib_funcs[i].nparamscheck,systemlib_funcs[i].typemask); - sq_setnativeclosurename(v,-1,systemlib_funcs[i].name); - sq_createslot(v,-3); - i++; - } - return 1; -} diff --git a/src/3rdparty/squirrel/squirrel.dsw b/src/3rdparty/squirrel/squirrel.dsw deleted file mode 100644 index 721509106c..0000000000 --- a/src/3rdparty/squirrel/squirrel.dsw +++ /dev/null @@ -1,77 +0,0 @@ -Microsoft Developer Studio Workspace File, Format Version 6.00 -# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! - -############################################################################### - -Project: "sq"=.\sq\sq.dsp - Package Owner=<4> - -Package=<5> -{{{ - begin source code control - . - end source code control -}}} - -Package=<4> -{{{ - Begin Project Dependency - Project_Dep_Name sqlibs - End Project Dependency - Begin Project Dependency - Project_Dep_Name squirrel - End Project Dependency - Begin Project Dependency - Project_Dep_Name sqstdlib - End Project Dependency -}}} - -############################################################################### - -Project: "sqstdlib"=.\sqstdlib\sqstdlib.dsp - Package Owner=<4> - -Package=<5> -{{{ - begin source code control - "$/squirrel", HAAAAAAA - . - end source code control -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "squirrel"=.\squirrel\squirrel.dsp - Package Owner=<4> - -Package=<5> -{{{ - begin source code control - "$/squirrel", HAAAAAAA - . - end source code control -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Global: - -Package=<5> -{{{ - begin source code control - "$/squirrel", HAAAAAAA - . - end source code control -}}} - -Package=<3> -{{{ -}}} - -############################################################################### - diff --git a/src/3rdparty/squirrel/squirrel/Makefile b/src/3rdparty/squirrel/squirrel/Makefile deleted file mode 100644 index e48eaffa0f..0000000000 --- a/src/3rdparty/squirrel/squirrel/Makefile +++ /dev/null @@ -1,52 +0,0 @@ -SQUIRREL= .. - - -OUT= $(SQUIRREL)/lib/libsquirrel.a -INCZ= -I$(SQUIRREL)/include -I. -Iinclude -DEFS= -LIB= - -OBJS= \ - sqapi.o \ - sqbaselib.o \ - sqcompiler.o \ - sqdebug.o \ - sqlexer.o \ - sqobject.o \ - sqparser.o \ - sqstate.o \ - sqtable.o \ - sqvm.o \ - sqmem.o \ - sqclass.o - -SRCS= \ - sqapi.cpp \ - sqbaselib.cpp \ - sqfuncstate.cpp \ - sqdebug.cpp \ - sqlexer.cpp \ - sqobject.cpp \ - sqcompiler.cpp \ - sqstate.cpp \ - sqtable.cpp \ - sqmem.cpp \ - sqvm.cpp \ - sqclass.cpp - - - -sq32: - gcc -O2 -fno-rtti -Wall -c $(SRCS) $(INCZ) $(DEFS) - ar rc $(OUT) *.o - -sqprof: - gcc -O2 -pg -fno-rtti -pie -gstabs -g3 -Wall -c $(SRCS) $(INCZ) $(DEFS) - ar rc $(OUT) *.o - -sq64: - gcc -O2 -D_SQ64 -fno-rtti -Wall -c $(SRCS) $(INCZ) $(DEFS) - ar rc $(OUT) *.o - -clean: - rm -f $(OUT) $(SRCS:%.cpp=%.o) diff --git a/src/3rdparty/squirrel/squirrel/sqapi.cpp b/src/3rdparty/squirrel/squirrel/sqapi.cpp index 3447e57626..f02fee29f6 100644 --- a/src/3rdparty/squirrel/squirrel/sqapi.cpp +++ b/src/3rdparty/squirrel/squirrel/sqapi.cpp @@ -1,6 +1,9 @@ /* - see copyright notice in squirrel.h -*/ + * see copyright notice in squirrel.h + */ + +#include "../../../stdafx.h" + #include #include "sqpcheader.h" #include "sqvm.h" @@ -14,12 +17,16 @@ #include "sqfuncstate.h" #include "sqclass.h" +#include "../../../string_func.h" + +#include "../../../safeguards.h" + bool sq_aux_gettypedarg(HSQUIRRELVM v,SQInteger idx,SQObjectType type,SQObjectPtr **o) { *o = &stack_get(v,idx); if(type(**o) != type){ SQObjectPtr oval = v->PrintObjVal(**o); - v->Raise_Error(_SC("wrong argument type, expected '%s' got '%.50s'"),IdType2Name(type),_stringval(oval)); + v->Raise_Error("wrong argument type, expected '%s' got '%.50s'",IdType2Name(type),_stringval(oval)); return false; } return true; @@ -29,7 +36,7 @@ bool sq_aux_gettypedarg(HSQUIRRELVM v,SQInteger idx,SQObjectType type,SQObjectPt #define sq_aux_paramscheck(v,count) \ { \ - if(sq_gettop(v) < count){ v->Raise_Error(_SC("not enough params in the stack")); return SQ_ERROR; }\ + if(sq_gettop(v) < count){ v->Raise_Error("not enough params in the stack"); return SQ_ERROR; }\ } SQInteger sq_aux_throwobject(HSQUIRRELVM v,SQObjectPtr &e) @@ -40,8 +47,9 @@ SQInteger sq_aux_throwobject(HSQUIRRELVM v,SQObjectPtr &e) SQInteger sq_aux_invalidtype(HSQUIRRELVM v,SQObjectType type) { - scsprintf(_ss(v)->GetScratchPad(100), _SC("unexpected type %s"), IdType2Name(type)); - return sq_throwerror(v, _ss(v)->GetScratchPad(-1)); + char buf[100]; + seprintf(buf, lastof(buf), "unexpected type %s", IdType2Name(type)); + return sq_throwerror(v, buf); } HSQUIRRELVM sq_open(SQInteger initialstacksize) @@ -49,7 +57,6 @@ HSQUIRRELVM sq_open(SQInteger initialstacksize) SQSharedState *ss; SQVM *v; sq_new(ss, SQSharedState); - ss->Init(); v = (SQVM *)SQ_MALLOC(sizeof(SQVM)); new (v) SQVM(ss); ss->_root_vm = v; @@ -253,7 +260,7 @@ SQRESULT sq_newclass(HSQUIRRELVM v,SQBool hasbase) if(hasbase) { SQObjectPtr &base = stack_get(v,-1); if(type(base) != OT_CLASS) - return sq_throwerror(v,_SC("invalid base type")); + return sq_throwerror(v,"invalid base type"); baseclass = _class(base); } SQClass *newclass = SQClass::Create(_ss(v), baseclass); @@ -267,7 +274,7 @@ SQBool sq_instanceof(HSQUIRRELVM v) SQObjectPtr &inst = stack_get(v,-1); SQObjectPtr &cl = stack_get(v,-2); if(type(inst) != OT_INSTANCE || type(cl) != OT_CLASS) - return sq_throwerror(v,_SC("invalid param type")); + return sq_throwerror(v,"invalid param type"); return _instance(inst)->InstanceOf(_class(cl))?SQTrue:SQFalse; } @@ -291,7 +298,7 @@ SQRESULT sq_arraypop(HSQUIRRELVM v,SQInteger idx,SQBool pushval) _array(*arr)->Pop(); return SQ_OK; } - return sq_throwerror(v, _SC("empty array")); + return sq_throwerror(v, "empty array"); } SQRESULT sq_arrayresize(HSQUIRRELVM v,SQInteger idx,SQInteger newsize) @@ -303,7 +310,7 @@ SQRESULT sq_arrayresize(HSQUIRRELVM v,SQInteger idx,SQInteger newsize) _array(*arr)->Resize(newsize); return SQ_OK; } - return sq_throwerror(v,_SC("negative size")); + return sq_throwerror(v,"negative size"); } @@ -332,7 +339,7 @@ SQRESULT sq_arrayremove(HSQUIRRELVM v,SQInteger idx,SQInteger itemidx) sq_aux_paramscheck(v, 1); SQObjectPtr *arr; _GETSAFE_OBJ(v, idx, OT_ARRAY,arr); - return _array(*arr)->Remove(itemidx) ? SQ_OK : sq_throwerror(v,_SC("index out of range")); + return _array(*arr)->Remove(itemidx) ? SQ_OK : sq_throwerror(v,"index out of range"); } SQRESULT sq_arrayinsert(HSQUIRRELVM v,SQInteger idx,SQInteger destpos) @@ -340,7 +347,7 @@ SQRESULT sq_arrayinsert(HSQUIRRELVM v,SQInteger idx,SQInteger destpos) sq_aux_paramscheck(v, 1); SQObjectPtr *arr; _GETSAFE_OBJ(v, idx, OT_ARRAY,arr); - SQRESULT ret = _array(*arr)->Insert(destpos, v->GetUp(-1)) ? SQ_OK : sq_throwerror(v,_SC("index out of range")); + SQRESULT ret = _array(*arr)->Insert(destpos, v->GetUp(-1)) ? SQ_OK : sq_throwerror(v,"index out of range"); v->Pop(); return ret; } @@ -349,7 +356,6 @@ SQRESULT sq_arrayinsert(HSQUIRRELVM v,SQInteger idx,SQInteger destpos) void sq_newclosure(HSQUIRRELVM v,SQFUNCTION func,SQUnsignedInteger nfreevars) { SQNativeClosure *nc = SQNativeClosure::Create(_ss(v), func); - nc->_nparamscheck = 0; for(SQUnsignedInteger i = 0; i < nfreevars; i++) { nc->_outervalues.push_back(v->Top()); v->Pop(); @@ -367,7 +373,7 @@ SQRESULT sq_getclosureinfo(HSQUIRRELVM v,SQInteger idx,SQUnsignedInteger *nparam *nfreevars = (SQUnsignedInteger)c->_outervalues.size(); return SQ_OK; } - return sq_throwerror(v,_SC("the object is not a closure")); + return sq_throwerror(v,"the object is not a closure"); } SQRESULT sq_setnativeclosurename(HSQUIRRELVM v,SQInteger idx,const SQChar *name) @@ -378,20 +384,20 @@ SQRESULT sq_setnativeclosurename(HSQUIRRELVM v,SQInteger idx,const SQChar *name) nc->_name = SQString::Create(_ss(v),name); return SQ_OK; } - return sq_throwerror(v,_SC("the object is not a nativeclosure")); + return sq_throwerror(v,"the object is not a nativeclosure"); } SQRESULT sq_setparamscheck(HSQUIRRELVM v,SQInteger nparamscheck,const SQChar *typemask) { SQObject o = stack_get(v, -1); if(!sq_isnativeclosure(o)) - return sq_throwerror(v, _SC("native closure expected")); + return sq_throwerror(v, "native closure expected"); SQNativeClosure *nc = _nativeclosure(o); nc->_nparamscheck = nparamscheck; if(typemask) { SQIntVec res; if(!CompileTypemask(res, typemask)) - return sq_throwerror(v, _SC("invalid typemask")); + return sq_throwerror(v, "invalid typemask"); nc->_typecheck.copy(res); } else { @@ -408,12 +414,12 @@ SQRESULT sq_bindenv(HSQUIRRELVM v,SQInteger idx) SQObjectPtr &o = stack_get(v,idx); if(!sq_isnativeclosure(o) && !sq_isclosure(o)) - return sq_throwerror(v,_SC("the target is not a closure")); + return sq_throwerror(v,"the target is not a closure"); SQObjectPtr &env = stack_get(v,-1); if(!sq_istable(env) && !sq_isclass(env) && !sq_isinstance(env)) - return sq_throwerror(v,_SC("invalid environment")); + return sq_throwerror(v,"invalid environment"); SQObjectPtr w = _refcounted(env)->GetWeakRef(type(env)); SQObjectPtr ret; if(sq_isclosure(o)) { @@ -438,7 +444,7 @@ SQRESULT sq_clear(HSQUIRRELVM v,SQInteger idx) case OT_TABLE: _table(o)->Clear(); break; case OT_ARRAY: _array(o)->Resize(0); break; default: - return sq_throwerror(v, _SC("clear only works on table and array")); + return sq_throwerror(v, "clear only works on table and array"); break; } @@ -468,7 +474,7 @@ SQRESULT sq_setroottable(HSQUIRRELVM v) v->Pop(); return SQ_OK; } - return sq_throwerror(v, _SC("ivalid type")); + return sq_throwerror(v, "ivalid type"); } SQRESULT sq_setconsttable(HSQUIRRELVM v) @@ -479,7 +485,7 @@ SQRESULT sq_setconsttable(HSQUIRRELVM v) v->Pop(); return SQ_OK; } - return sq_throwerror(v, _SC("ivalid type, expected table")); + return sq_throwerror(v, "ivalid type, expected table"); } void sq_setforeignptr(HSQUIRRELVM v,SQUserPointer p) @@ -605,7 +611,7 @@ SQRESULT sq_settypetag(HSQUIRRELVM v,SQInteger idx,SQUserPointer typetag) switch(type(o)) { case OT_USERDATA: _userdata(o)->_typetag = typetag; break; case OT_CLASS: _class(o)->_typetag = typetag; break; - default: return sq_throwerror(v,_SC("invalid object type")); + default: return sq_throwerror(v,"invalid object type"); } return SQ_OK; } @@ -625,7 +631,7 @@ SQRESULT sq_gettypetag(HSQUIRRELVM v,SQInteger idx,SQUserPointer *typetag) { SQObjectPtr &o = stack_get(v,idx); if(SQ_FAILED(sq_getobjtypetag(&o,typetag))) - return sq_throwerror(v,_SC("invalid object type")); + return sq_throwerror(v,"invalid object type"); return SQ_OK; } @@ -640,7 +646,7 @@ SQRESULT sq_getuserpointer(HSQUIRRELVM v, SQInteger idx, SQUserPointer *p) SQRESULT sq_setinstanceup(HSQUIRRELVM v, SQInteger idx, SQUserPointer p) { SQObjectPtr &o = stack_get(v,idx); - if(type(o) != OT_INSTANCE) return sq_throwerror(v,_SC("the object is not a class instance")); + if(type(o) != OT_INSTANCE) return sq_throwerror(v,"the object is not a class instance"); _instance(o)->_userpointer = p; return SQ_OK; } @@ -648,8 +654,8 @@ SQRESULT sq_setinstanceup(HSQUIRRELVM v, SQInteger idx, SQUserPointer p) SQRESULT sq_setclassudsize(HSQUIRRELVM v, SQInteger idx, SQInteger udsize) { SQObjectPtr &o = stack_get(v,idx); - if(type(o) != OT_CLASS) return sq_throwerror(v,_SC("the object is not a class")); - if(_class(o)->_locked) return sq_throwerror(v,_SC("the class is locked")); + if(type(o) != OT_CLASS) return sq_throwerror(v,"the object is not a class"); + if(_class(o)->_locked) return sq_throwerror(v,"the class is locked"); _class(o)->_udsize = udsize; return SQ_OK; } @@ -658,7 +664,7 @@ SQRESULT sq_setclassudsize(HSQUIRRELVM v, SQInteger idx, SQInteger udsize) SQRESULT sq_getinstanceup(HSQUIRRELVM v, SQInteger idx, SQUserPointer *p,SQUserPointer typetag) { SQObjectPtr &o = stack_get(v,idx); - if(type(o) != OT_INSTANCE) return sq_throwerror(v,_SC("the object is not a class instance")); + if(type(o) != OT_INSTANCE) return sq_throwerror(v,"the object is not a class instance"); (*p) = _instance(o)->_userpointer; if(typetag != 0) { SQClass *cl = _instance(o)->_class; @@ -667,7 +673,7 @@ SQRESULT sq_getinstanceup(HSQUIRRELVM v, SQInteger idx, SQUserPointer *p,SQUserP return SQ_OK; cl = cl->_base; }while(cl != NULL); - return sq_throwerror(v,_SC("invalid type tag")); + return sq_throwerror(v,"invalid type tag"); } return SQ_OK; } @@ -717,7 +723,7 @@ SQRESULT sq_newslot(HSQUIRRELVM v, SQInteger idx, SQBool bstatic) SQObjectPtr &self = stack_get(v, idx); if(type(self) == OT_TABLE || type(self) == OT_CLASS) { SQObjectPtr &key = v->GetUp(-2); - if(type(key) == OT_NULL) return sq_throwerror(v, _SC("null is not a valid key")); + if(type(key) == OT_NULL) return sq_throwerror(v, "null is not a valid key"); v->NewSlot(self, key, v->GetUp(-1),bstatic?true:false); v->Pop(2); } @@ -730,7 +736,7 @@ SQRESULT sq_deleteslot(HSQUIRRELVM v,SQInteger idx,SQBool pushval) SQObjectPtr *self; _GETSAFE_OBJ(v, idx, OT_TABLE,self); SQObjectPtr &key = v->GetUp(-1); - if(type(key) == OT_NULL) return sq_throwerror(v, _SC("null is not a valid key")); + if(type(key) == OT_NULL) return sq_throwerror(v, "null is not a valid key"); SQObjectPtr res; if(!v->DeleteSlot(*self, key, res)){ return SQ_ERROR; @@ -753,7 +759,7 @@ SQRESULT sq_set(HSQUIRRELVM v,SQInteger idx) SQRESULT sq_rawset(HSQUIRRELVM v,SQInteger idx) { SQObjectPtr &self = stack_get(v, idx); - if(type(v->GetUp(-2)) == OT_NULL) return sq_throwerror(v, _SC("null key")); + if(type(v->GetUp(-2)) == OT_NULL) return sq_throwerror(v, "null key"); switch(type(self)) { case OT_TABLE: _table(self)->NewSlot(v->GetUp(-2), v->GetUp(-1)); @@ -779,7 +785,7 @@ SQRESULT sq_rawset(HSQUIRRELVM v,SQInteger idx) break; default: v->Pop(2); - return sq_throwerror(v, _SC("rawset works only on array/table/class and instance")); + return sq_throwerror(v, "rawset works only on array/table/class and instance"); } v->Raise_IdxError(v->GetUp(-2));return SQ_ERROR; } @@ -792,7 +798,7 @@ SQRESULT sq_setdelegate(HSQUIRRELVM v,SQInteger idx) switch(type) { case OT_TABLE: if(type(mt) == OT_TABLE) { - if(!_table(self)->SetDelegate(_table(mt))) return sq_throwerror(v, _SC("delagate cycle")); v->Pop();} + if(!_table(self)->SetDelegate(_table(mt))) return sq_throwerror(v, "delagate cycle"); v->Pop();} else if(type(mt)==OT_NULL) { _table(self)->SetDelegate(NULL); v->Pop(); } else return sq_aux_invalidtype(v,type); @@ -841,7 +847,7 @@ SQRESULT sq_getdelegate(HSQUIRRELVM v,SQInteger idx) } v->Push(SQObjectPtr(_delegable(self)->_delegate)); break; - default: return sq_throwerror(v,_SC("wrong type")); break; + default: return sq_throwerror(v,"wrong type"); break; } return SQ_OK; @@ -853,7 +859,7 @@ SQRESULT sq_get(HSQUIRRELVM v,SQInteger idx) if(v->Get(self,v->GetUp(-1),v->GetUp(-1),false,false)) return SQ_OK; v->Pop(1); - return sq_throwerror(v,_SC("the index doesn't exist")); + return sq_throwerror(v,"the index doesn't exist"); } SQRESULT sq_rawget(HSQUIRRELVM v,SQInteger idx) @@ -878,10 +884,10 @@ SQRESULT sq_rawget(HSQUIRRELVM v,SQInteger idx) break; default: v->Pop(1); - return sq_throwerror(v,_SC("rawget works only on array/table/instance and class")); + return sq_throwerror(v,"rawget works only on array/table/instance and class"); } v->Pop(1); - return sq_throwerror(v,_SC("the index doesn't exist")); + return sq_throwerror(v,"the index doesn't exist"); } SQRESULT sq_getstackobj(HSQUIRRELVM v,SQInteger idx,HSQOBJECT *po) @@ -959,7 +965,7 @@ SQRESULT sq_resume(HSQUIRRELVM v,SQBool retval,SQBool raiseerror) v->Pop(); return SQ_OK; } - return sq_throwerror(v,_SC("only generators can be resumed")); + return sq_throwerror(v,"only generators can be resumed"); } SQRESULT sq_call(HSQUIRRELVM v,SQInteger params,SQBool retval,SQBool raiseerror, int suspend) @@ -981,9 +987,6 @@ SQRESULT sq_call(HSQUIRRELVM v,SQInteger params,SQBool retval,SQBool raiseerror, v->Pop(params); return SQ_ERROR; } - if(!v->_suspended) - v->Pop(params); - return sq_throwerror(v,_SC("call failed")); } SQRESULT sq_suspendvm(HSQUIRRELVM v) @@ -995,7 +998,7 @@ SQRESULT sq_wakeupvm(HSQUIRRELVM v,SQBool wakeupret,SQBool retval,SQBool raiseer { SQObjectPtr ret; if(!v->_suspended) - return sq_throwerror(v,_SC("cannot resume a vm that is not running any code")); + return sq_throwerror(v,"cannot resume a vm that is not running any code"); if(wakeupret) { v->GetAt(v->_stackbase+v->_suspended_target)=v->GetUp(-1); //retval v->Pop(); @@ -1051,7 +1054,7 @@ SQRESULT sq_writeclosure(HSQUIRRELVM v,SQWRITEFUNC w,SQUserPointer up) _GETSAFE_OBJ(v, -1, OT_CLOSURE,o); unsigned short tag = SQ_BYTECODE_STREAM_TAG; if(w(up,&tag,2) != 2) - return sq_throwerror(v,_SC("io error")); + return sq_throwerror(v,"io error"); if(!_closure(*o)->Save(v,up,w)) return SQ_ERROR; return SQ_OK; @@ -1063,9 +1066,9 @@ SQRESULT sq_readclosure(HSQUIRRELVM v,SQREADFUNC r,SQUserPointer up) unsigned short tag; if(r(up,&tag,2) != 2) - return sq_throwerror(v,_SC("io error")); + return sq_throwerror(v,"io error"); if(tag != SQ_BYTECODE_STREAM_TAG) - return sq_throwerror(v,_SC("invalid stream")); + return sq_throwerror(v,"invalid stream"); if(!SQClosure::Load(v,up,r,closure)) return SQ_ERROR; v->Push(closure); @@ -1110,13 +1113,13 @@ SQRESULT sq_setfreevariable(HSQUIRRELVM v,SQInteger idx,SQUnsignedInteger nval) if(_closure(self)->_outervalues.size()>nval){ _closure(self)->_outervalues[nval]=stack_get(v,-1); } - else return sq_throwerror(v,_SC("invalid free var index")); + else return sq_throwerror(v,"invalid free var index"); break; case OT_NATIVECLOSURE: if(_nativeclosure(self)->_outervalues.size()>nval){ _nativeclosure(self)->_outervalues[nval]=stack_get(v,-1); } - else return sq_throwerror(v,_SC("invalid free var index")); + else return sq_throwerror(v,"invalid free var index"); break; default: return sq_aux_invalidtype(v,type(self)); @@ -1144,7 +1147,7 @@ SQRESULT sq_setattributes(HSQUIRRELVM v,SQInteger idx) v->Push(attrs); return SQ_OK; } - return sq_throwerror(v,_SC("wrong index")); + return sq_throwerror(v,"wrong index"); } SQRESULT sq_getattributes(HSQUIRRELVM v,SQInteger idx) @@ -1164,7 +1167,7 @@ SQRESULT sq_getattributes(HSQUIRRELVM v,SQInteger idx) v->Push(attrs); return SQ_OK; } - return sq_throwerror(v,_SC("wrong index")); + return sq_throwerror(v,"wrong index"); } SQRESULT sq_getbase(HSQUIRRELVM v,SQInteger idx) @@ -1208,7 +1211,7 @@ SQRESULT sq_getweakrefval(HSQUIRRELVM v,SQInteger idx) { SQObjectPtr &o = stack_get(v,idx); if(type(o) != OT_WEAKREF) { - return sq_throwerror(v,_SC("the object must be a weakref")); + return sq_throwerror(v,"the object must be a weakref"); } v->Push(_weakref(o)->_obj); return SQ_OK; @@ -1228,7 +1231,7 @@ SQRESULT sq_getdefaultdelegate(HSQUIRRELVM v,SQObjectType t) case OT_CLASS: v->Push(ss->_class_default_delegate); break; case OT_INSTANCE: v->Push(ss->_instance_default_delegate); break; case OT_WEAKREF: v->Push(ss->_weakref_default_delegate); break; - default: return sq_throwerror(v,_SC("the type doesn't have a default delegate")); + default: return sq_throwerror(v,"the type doesn't have a default delegate"); } return SQ_OK; } @@ -1237,7 +1240,7 @@ SQRESULT sq_next(HSQUIRRELVM v,SQInteger idx) { SQObjectPtr o=stack_get(v,idx),&refpos = stack_get(v,-1),realkey,val; if(type(o) == OT_GENERATOR) { - return sq_throwerror(v,_SC("cannot iterate a generator")); + return sq_throwerror(v,"cannot iterate a generator"); } int faketojump; if(!v->FOREACH_OP(o,realkey,val,refpos,0,666,faketojump)) @@ -1256,12 +1259,30 @@ struct BufState{ SQInteger size; }; -SQInteger buf_lexfeed(SQUserPointer file) +WChar buf_lexfeed(SQUserPointer file) { - BufState *buf=(BufState*)file; - if(buf->size<(buf->ptr+1)) - return 0; - return buf->buf[buf->ptr++]; + /* Convert an UTF-8 character into a WChar */ + BufState *buf = (BufState *)file; + const char *p = &buf->buf[buf->ptr]; + + if (buf->size < buf->ptr + 1) return 0; + + /* Read the first character, and get the length based on UTF-8 specs. If invalid, bail out. */ + uint len = Utf8EncodedCharLen(*p); + if (len == 0) { + buf->ptr++; + return -1; + } + + /* Read the remaining bits. */ + if (buf->size < buf->ptr + len) return 0; + buf->ptr += len; + + /* Convert the character, and when definitely invalid, bail out as well. */ + WChar c; + if (Utf8Decode(&c, p) != len) return -1; + + return c; } SQRESULT sq_compilebuffer(HSQUIRRELVM v,const SQChar *s,SQInteger size,const SQChar *sourcename,SQBool raiseerror) { diff --git a/src/3rdparty/squirrel/squirrel/sqbaselib.cpp b/src/3rdparty/squirrel/squirrel/sqbaselib.cpp index 66a81edb4b..86a1b11858 100644 --- a/src/3rdparty/squirrel/squirrel/sqbaselib.cpp +++ b/src/3rdparty/squirrel/squirrel/sqbaselib.cpp @@ -1,8 +1,13 @@ /* - see copyright notice in squirrel.h -*/ -/* Needs to be first due to a squirrel header defining type() and type() - * being used in some versions of the headers included by algorithm. */ + * see copyright notice in squirrel.h + */ +/* + * Needs to be first due to a squirrel header defining type() and type() + * being used in some versions of the headers included by algorithm. + */ + +#include "../../../stdafx.h" + #include #include "sqpcheader.h" #include "sqvm.h" @@ -12,21 +17,22 @@ #include "sqfuncproto.h" #include "sqclosure.h" #include "sqclass.h" -#include #include #include +#include "../../../safeguards.h" + bool str2num(const SQChar *s,SQObjectPtr &res) { SQChar *end; - if(scstrstr(s,_SC("."))){ - SQFloat r = SQFloat(scstrtod(s,&end)); + if(strstr(s,".")){ + SQFloat r = SQFloat(strtod(s,&end)); if(s == end) return false; res = r; return true; } else{ - SQInteger r = SQInteger(scstrtol(s,&end,10)); + SQInteger r = SQInteger(strtol(s,&end,10)); if(s == end) return false; res = r; return true; @@ -104,21 +110,21 @@ static SQInteger base_getstackinfos(HSQUIRRELVM v) sq_getinteger(v, -1, &level); if (SQ_SUCCEEDED(sq_stackinfos(v, level, &si))) { - const SQChar *fn = _SC("unknown"); - const SQChar *src = _SC("unknown"); + const SQChar *fn = "unknown"; + const SQChar *src = "unknown"; if(si.funcname)fn = si.funcname; if(si.source)src = si.source; sq_newtable(v); - sq_pushstring(v, _SC("func"), -1); + sq_pushstring(v, "func", -1); sq_pushstring(v, fn, -1); sq_createslot(v, -3); - sq_pushstring(v, _SC("src"), -1); + sq_pushstring(v, "src", -1); sq_pushstring(v, src, -1); sq_createslot(v, -3); - sq_pushstring(v, _SC("line"), -1); + sq_pushstring(v, "line", -1); sq_pushinteger(v, si.line); sq_createslot(v, -3); - sq_pushstring(v, _SC("locals"), -1); + sq_pushstring(v, "locals", -1); sq_newtable(v); seq=0; while ((name = sq_getlocal(v, level, seq))) { @@ -139,7 +145,7 @@ static SQInteger base_getstackinfos(HSQUIRRELVM v) static SQInteger base_assert(HSQUIRRELVM v) { if(v->IsFalse(stack_get(v,2))){ - return sq_throwerror(v,_SC("assertion failed")); + return sq_throwerror(v,"assertion failed"); } return 0; } @@ -171,7 +177,7 @@ static SQInteger base_print(HSQUIRRELVM v) const SQChar *str; sq_tostring(v,2); sq_getstring(v,-1,&str); - if(_ss(v)->_printfunc) _ss(v)->_printfunc(v,_SC("%s"),str); + if(_ss(v)->_printfunc) _ss(v)->_printfunc(v,"%s",str); return 0; } @@ -179,7 +185,7 @@ static SQInteger base_print(HSQUIRRELVM v) static SQInteger base_compilestring(HSQUIRRELVM v) { SQInteger nargs=sq_gettop(v); - const SQChar *src=NULL,*name=_SC("unnamedbuffer"); + const SQChar *src=NULL,*name="unnamedbuffer"; SQInteger size; sq_getstring(v,2,&src); size=sq_getsize(v,2); @@ -213,7 +219,7 @@ static SQInteger base_array(HSQUIRRELVM v) SQInteger nInitialSize = tointeger(stack_get(v,2)); SQInteger ret = 1; if (nInitialSize < 0) { - v->Raise_Error(_SC("can't create/resize array with/to size %d"), nInitialSize); + v->Raise_Error("can't create/resize array with/to size %d", nInitialSize); nInitialSize = 0; ret = -1; } @@ -238,28 +244,28 @@ static SQInteger base_type(HSQUIRRELVM v) static SQRegFunction base_funcs[]={ //generic #ifdef EXPORT_DEFAULT_SQUIRREL_FUNCTIONS - {_SC("seterrorhandler"),base_seterrorhandler,2, NULL}, - {_SC("setdebughook"),base_setdebughook,2, NULL}, - {_SC("enabledebuginfo"),base_enabledebuginfo,2, NULL}, - {_SC("getstackinfos"),base_getstackinfos,2, _SC(".n")}, - {_SC("getroottable"),base_getroottable,1, NULL}, - {_SC("setroottable"),base_setroottable,2, NULL}, - {_SC("getconsttable"),base_getconsttable,1, NULL}, - {_SC("setconsttable"),base_setconsttable,2, NULL}, + {"seterrorhandler",base_seterrorhandler,2, NULL}, + {"setdebughook",base_setdebughook,2, NULL}, + {"enabledebuginfo",base_enabledebuginfo,2, NULL}, + {"getstackinfos",base_getstackinfos,2, ".n"}, + {"getroottable",base_getroottable,1, NULL}, + {"setroottable",base_setroottable,2, NULL}, + {"getconsttable",base_getconsttable,1, NULL}, + {"setconsttable",base_setconsttable,2, NULL}, #endif - {_SC("assert"),base_assert,2, NULL}, - {_SC("print"),base_print,2, NULL}, + {"assert",base_assert,2, NULL}, + {"print",base_print,2, NULL}, #ifdef EXPORT_DEFAULT_SQUIRREL_FUNCTIONS - {_SC("compilestring"),base_compilestring,-2, _SC(".ss")}, - {_SC("newthread"),base_newthread,2, _SC(".c")}, - {_SC("suspend"),base_suspend,-1, NULL}, + {"compilestring",base_compilestring,-2, ".ss"}, + {"newthread",base_newthread,2, ".c"}, + {"suspend",base_suspend,-1, NULL}, #endif - {_SC("array"),base_array,-2, _SC(".n")}, - {_SC("type"),base_type,2, NULL}, + {"array",base_array,-2, ".n"}, + {"type",base_type,2, NULL}, #ifdef EXPORT_DEFAULT_SQUIRREL_FUNCTIONS - {_SC("dummy"),base_dummy,0,NULL}, + {"dummy",base_dummy,0,NULL}, #ifndef NO_GARBAGE_COLLECTOR - {_SC("collectgarbage"),base_collectgarbage,1, _SC("t")}, + {"collectgarbage",base_collectgarbage,1, "t"}, #endif #endif {0,0,0,0} @@ -277,16 +283,16 @@ void sq_base_register(HSQUIRRELVM v) sq_createslot(v,-3); i++; } - sq_pushstring(v,_SC("_version_"),-1); + sq_pushstring(v,"_version_",-1); sq_pushstring(v,SQUIRREL_VERSION,-1); sq_createslot(v,-3); - sq_pushstring(v,_SC("_charsize_"),-1); + sq_pushstring(v,"_charsize_",-1); sq_pushinteger(v,sizeof(SQChar)); sq_createslot(v,-3); - sq_pushstring(v,_SC("_intsize_"),-1); + sq_pushstring(v,"_intsize_",-1); sq_pushinteger(v,sizeof(SQInteger)); sq_createslot(v,-3); - sq_pushstring(v,_SC("_floatsize_"),-1); + sq_pushstring(v,"_floatsize_",-1); sq_pushinteger(v,sizeof(SQFloat)); sq_createslot(v,-3); sq_pop(v,1); @@ -308,7 +314,7 @@ static SQInteger default_delegate_tofloat(HSQUIRRELVM v) v->Push(SQObjectPtr(tofloat(res))); break; }} - return sq_throwerror(v, _SC("cannot convert the string")); + return sq_throwerror(v, "cannot convert the string"); break; case OT_INTEGER:case OT_FLOAT: v->Push(SQObjectPtr(tofloat(o))); @@ -333,7 +339,7 @@ static SQInteger default_delegate_tointeger(HSQUIRRELVM v) v->Push(SQObjectPtr(tointeger(res))); break; }} - return sq_throwerror(v, _SC("cannot convert the string")); + return sq_throwerror(v, "cannot convert the string"); break; case OT_INTEGER:case OT_FLOAT: v->Push(SQObjectPtr(tointeger(o))); @@ -409,14 +415,14 @@ static SQInteger table_rawget(HSQUIRRELVM v) SQRegFunction SQSharedState::_table_default_delegate_funcz[]={ - {_SC("len"),default_delegate_len,1, _SC("t")}, - {_SC("rawget"),table_rawget,2, _SC("t")}, - {_SC("rawset"),table_rawset,3, _SC("t")}, - {_SC("rawdelete"),table_rawdelete,2, _SC("t")}, - {_SC("rawin"),container_rawexists,2, _SC("t")}, - {_SC("weakref"),obj_delegate_weakref,1, NULL }, - {_SC("tostring"),default_delegate_tostring,1, _SC(".")}, - {_SC("clear"),obj_clear,1, _SC(".")}, + {"len",default_delegate_len,1, "t"}, + {"rawget",table_rawget,2, "t"}, + {"rawset",table_rawset,3, "t"}, + {"rawdelete",table_rawdelete,2, "t"}, + {"rawin",container_rawexists,2, "t"}, + {"weakref",obj_delegate_weakref,1, NULL }, + {"tostring",default_delegate_tostring,1, "."}, + {"clear",obj_clear,1, "."}, {0,0,0,0} }; @@ -450,7 +456,7 @@ static SQInteger array_top(HSQUIRRELVM v) v->Push(_array(o)->Top()); return 1; } - else return sq_throwerror(v,_SC("top() on a empty array")); + else return sq_throwerror(v,"top() on a empty array"); } static SQInteger array_insert(HSQUIRRELVM v) @@ -459,7 +465,7 @@ static SQInteger array_insert(HSQUIRRELVM v) SQObject &idx=stack_get(v,2); SQObject &val=stack_get(v,3); if(!_array(o)->Insert(tointeger(idx),val)) - return sq_throwerror(v,_SC("index out of range")); + return sq_throwerror(v,"index out of range"); return 0; } @@ -467,14 +473,14 @@ static SQInteger array_remove(HSQUIRRELVM v) { SQObject &o = stack_get(v, 1); SQObject &idx = stack_get(v, 2); - if(!sq_isnumeric(idx)) return sq_throwerror(v, _SC("wrong type")); + if(!sq_isnumeric(idx)) return sq_throwerror(v, "wrong type"); SQObjectPtr val; if(_array(o)->Get(tointeger(idx), val)) { _array(o)->Remove(tointeger(idx)); v->Push(val); return 1; } - return sq_throwerror(v, _SC("idx out of range")); + return sq_throwerror(v, "idx out of range"); } static SQInteger array_resize(HSQUIRRELVM v) @@ -488,7 +494,7 @@ static SQInteger array_resize(HSQUIRRELVM v) _array(o)->Resize(tointeger(nsize),fill); return 0; } - return sq_throwerror(v, _SC("size must be a number")); + return sq_throwerror(v, "size must be a number"); } @@ -505,11 +511,11 @@ bool _sort_compare(HSQUIRRELVM v,SQObjectPtr &a,SQObjectPtr &b,SQInteger func,SQ v->Push(b); if(SQ_FAILED(sq_call(v, 3, SQTrue, SQFalse))) { if(!sq_isstring( v->_lasterror)) - v->Raise_Error(_SC("compare func failed")); + v->Raise_Error("compare func failed"); return false; } if(SQ_FAILED(sq_getinteger(v, -1, &ret))) { - v->Raise_Error(_SC("numeric value expected as return value of the compare function")); + v->Raise_Error("numeric value expected as return value of the compare function"); return false; } sq_settop(v, top); @@ -545,7 +551,7 @@ bool _hsort_sift_down(HSQUIRRELVM v,SQArray *arr, SQInteger root, SQInteger bott return false; if (ret < 0) { if (root == maxChild) { - v->Raise_Error(_SC("inconsistent compare function")); + v->Raise_Error("inconsistent compare function"); return false; // We'd be swapping ourselve. The compare function is incorrect } _Swap(arr->_values[root],arr->_values[maxChild]); @@ -596,8 +602,8 @@ static SQInteger array_slice(HSQUIRRELVM v) SQInteger alen = _array(o)->Size(); if(sidx < 0)sidx = alen + sidx; if(eidx < 0)eidx = alen + eidx; - if(eidx < sidx)return sq_throwerror(v,_SC("wrong indexes")); - if(eidx > alen)return sq_throwerror(v,_SC("slice out of range")); + if(eidx < sidx)return sq_throwerror(v,"wrong indexes"); + if(eidx > alen)return sq_throwerror(v,"slice out of range"); SQArray *arr=SQArray::Create(_ss(v),eidx-sidx); SQObjectPtr t; SQInteger count=0; @@ -611,21 +617,21 @@ static SQInteger array_slice(HSQUIRRELVM v) } SQRegFunction SQSharedState::_array_default_delegate_funcz[]={ - {_SC("len"),default_delegate_len,1, _SC("a")}, - {_SC("append"),array_append,2, _SC("a")}, - {_SC("extend"),array_extend,2, _SC("aa")}, - {_SC("push"),array_append,2, _SC("a")}, - {_SC("pop"),array_pop,1, _SC("a")}, - {_SC("top"),array_top,1, _SC("a")}, - {_SC("insert"),array_insert,3, _SC("an")}, - {_SC("remove"),array_remove,2, _SC("an")}, - {_SC("resize"),array_resize,-2, _SC("an")}, - {_SC("reverse"),array_reverse,1, _SC("a")}, - {_SC("sort"),array_sort,-1, _SC("ac")}, - {_SC("slice"),array_slice,-1, _SC("ann")}, - {_SC("weakref"),obj_delegate_weakref,1, NULL }, - {_SC("tostring"),default_delegate_tostring,1, _SC(".")}, - {_SC("clear"),obj_clear,1, _SC(".")}, + {"len",default_delegate_len,1, "a"}, + {"append",array_append,2, "a"}, + {"extend",array_extend,2, "aa"}, + {"push",array_append,2, "a"}, + {"pop",array_pop,1, "a"}, + {"top",array_top,1, "a"}, + {"insert",array_insert,3, "an"}, + {"remove",array_remove,2, "an"}, + {"resize",array_resize,-2, "an"}, + {"reverse",array_reverse,1, "a"}, + {"sort",array_sort,-1, "ac"}, + {"slice",array_slice,-1, "ann"}, + {"weakref",obj_delegate_weakref,1, NULL }, + {"tostring",default_delegate_tostring,1, "."}, + {"clear",obj_clear,1, "."}, {0,0,0,0} }; @@ -638,8 +644,8 @@ static SQInteger string_slice(HSQUIRRELVM v) SQInteger slen = _string(o)->_len; if(sidx < 0)sidx = slen + sidx; if(eidx < 0)eidx = slen + eidx; - if(eidx < sidx) return sq_throwerror(v,_SC("wrong indexes")); - if(eidx > slen) return sq_throwerror(v,_SC("slice out of range")); + if(eidx < sidx) return sq_throwerror(v,"wrong indexes"); + if(eidx > slen) return sq_throwerror(v,"slice out of range"); v->Push(SQString::Create(_ss(v),&_stringval(o)[sidx],eidx-sidx)); return 1; } @@ -651,7 +657,7 @@ static SQInteger string_find(HSQUIRRELVM v) if(((top=sq_gettop(v))>1) && SQ_SUCCEEDED(sq_getstring(v,1,&str)) && SQ_SUCCEEDED(sq_getstring(v,2,&substr))){ if(top>2)sq_getinteger(v,3,&start_idx); if((sq_getsize(v,1)>start_idx) && (start_idx>=0)){ - ret=scstrstr(&str[start_idx],substr); + ret=strstr(&str[start_idx],substr); if(ret){ sq_pushinteger(v,(SQInteger)(ret-str)); return 1; @@ -659,7 +665,7 @@ static SQInteger string_find(HSQUIRRELVM v) } return 0; } - return sq_throwerror(v,_SC("invalid param")); + return sq_throwerror(v,"invalid param"); } #define STRING_TOFUNCZ(func) static SQInteger string_##func(HSQUIRRELVM v) \ @@ -667,7 +673,7 @@ static SQInteger string_find(HSQUIRRELVM v) SQObject str=stack_get(v,1); \ SQInteger len=_string(str)->_len; \ const SQChar *sThis=_stringval(str); \ - SQChar *sNew=(_ss(v)->GetScratchPad(rsl(len))); \ + SQChar *sNew=(_ss(v)->GetScratchPad(len)); \ for(SQInteger i=0;iPush(SQString::Create(_ss(v),sNew,len)); \ return 1; \ @@ -678,25 +684,25 @@ STRING_TOFUNCZ(tolower) STRING_TOFUNCZ(toupper) SQRegFunction SQSharedState::_string_default_delegate_funcz[]={ - {_SC("len"),default_delegate_len,1, _SC("s")}, - {_SC("tointeger"),default_delegate_tointeger,1, _SC("s")}, - {_SC("tofloat"),default_delegate_tofloat,1, _SC("s")}, - {_SC("tostring"),default_delegate_tostring,1, _SC(".")}, - {_SC("slice"),string_slice,-1, _SC(" s n n")}, - {_SC("find"),string_find,-2, _SC("s s n ")}, - {_SC("tolower"),string_tolower,1, _SC("s")}, - {_SC("toupper"),string_toupper,1, _SC("s")}, - {_SC("weakref"),obj_delegate_weakref,1, NULL }, + {"len",default_delegate_len,1, "s"}, + {"tointeger",default_delegate_tointeger,1, "s"}, + {"tofloat",default_delegate_tofloat,1, "s"}, + {"tostring",default_delegate_tostring,1, "."}, + {"slice",string_slice,-1, " s n n"}, + {"find",string_find,-2, "s s n "}, + {"tolower",string_tolower,1, "s"}, + {"toupper",string_toupper,1, "s"}, + {"weakref",obj_delegate_weakref,1, NULL }, {0,0,0,0} }; //INTEGER DEFAULT DELEGATE////////////////////////// SQRegFunction SQSharedState::_number_default_delegate_funcz[]={ - {_SC("tointeger"),default_delegate_tointeger,1, _SC("n|b")}, - {_SC("tofloat"),default_delegate_tofloat,1, _SC("n|b")}, - {_SC("tostring"),default_delegate_tostring,1, _SC(".")}, - {_SC("tochar"),number_delegate_tochar,1, _SC("n|b")}, - {_SC("weakref"),obj_delegate_weakref,1, NULL }, + {"tointeger",default_delegate_tointeger,1, "n|b"}, + {"tofloat",default_delegate_tofloat,1, "n|b"}, + {"tostring",default_delegate_tostring,1, "."}, + {"tochar",number_delegate_tochar,1, "n|b"}, + {"weakref",obj_delegate_weakref,1, NULL }, {0,0,0,0} }; @@ -748,19 +754,19 @@ static SQInteger closure_getinfos(HSQUIRRELVM v) { _array(params)->Set((SQInteger)n,f->_parameters[n]); } if(f->_varparams) { - _array(params)->Set(nparams-1,SQString::Create(_ss(v),_SC("..."),-1)); + _array(params)->Set(nparams-1,SQString::Create(_ss(v),"...",-1)); } - res->NewSlot(SQString::Create(_ss(v),_SC("native"),-1),false); - res->NewSlot(SQString::Create(_ss(v),_SC("name"),-1),f->_name); - res->NewSlot(SQString::Create(_ss(v),_SC("src"),-1),f->_sourcename); - res->NewSlot(SQString::Create(_ss(v),_SC("parameters"),-1),params); - res->NewSlot(SQString::Create(_ss(v),_SC("varargs"),-1),f->_varparams); + res->NewSlot(SQString::Create(_ss(v),"native",-1),false); + res->NewSlot(SQString::Create(_ss(v),"name",-1),f->_name); + res->NewSlot(SQString::Create(_ss(v),"src",-1),f->_sourcename); + res->NewSlot(SQString::Create(_ss(v),"parameters",-1),params); + res->NewSlot(SQString::Create(_ss(v),"varargs",-1),f->_varparams); } else { //OT_NATIVECLOSURE SQNativeClosure *nc = _nativeclosure(o); - res->NewSlot(SQString::Create(_ss(v),_SC("native"),-1),true); - res->NewSlot(SQString::Create(_ss(v),_SC("name"),-1),nc->_name); - res->NewSlot(SQString::Create(_ss(v),_SC("paramscheck"),-1),nc->_nparamscheck); + res->NewSlot(SQString::Create(_ss(v),"native",-1),true); + res->NewSlot(SQString::Create(_ss(v),"name",-1),nc->_name); + res->NewSlot(SQString::Create(_ss(v),"paramscheck",-1),nc->_nparamscheck); SQObjectPtr typecheck; if(nc->_typecheck.size() > 0) { typecheck = @@ -769,7 +775,7 @@ static SQInteger closure_getinfos(HSQUIRRELVM v) { _array(typecheck)->Set((SQInteger)n,nc->_typecheck[n]); } } - res->NewSlot(SQString::Create(_ss(v),_SC("typecheck"),-1),typecheck); + res->NewSlot(SQString::Create(_ss(v),"typecheck",-1),typecheck); } v->Push(res); return 1; @@ -777,14 +783,14 @@ static SQInteger closure_getinfos(HSQUIRRELVM v) { SQRegFunction SQSharedState::_closure_default_delegate_funcz[]={ - {_SC("call"),closure_call,-1, _SC("c")}, - {_SC("pcall"),closure_pcall,-1, _SC("c")}, - {_SC("acall"),closure_acall,2, _SC("ca")}, - {_SC("pacall"),closure_pacall,2, _SC("ca")}, - {_SC("weakref"),obj_delegate_weakref,1, NULL }, - {_SC("tostring"),default_delegate_tostring,1, _SC(".")}, - {_SC("bindenv"),closure_bindenv,2, _SC("c x|y|t")}, - {_SC("getinfos"),closure_getinfos,1, _SC("c")}, + {"call",closure_call,-1, "c"}, + {"pcall",closure_pcall,-1, "c"}, + {"acall",closure_acall,2, "ca"}, + {"pacall",closure_pacall,2, "ca"}, + {"weakref",obj_delegate_weakref,1, NULL }, + {"tostring",default_delegate_tostring,1, "."}, + {"bindenv",closure_bindenv,2, "c x|y|t"}, + {"getinfos",closure_getinfos,1, "c"}, {0,0,0,0} }; @@ -793,17 +799,17 @@ static SQInteger generator_getstatus(HSQUIRRELVM v) { SQObject &o=stack_get(v,1); switch(_generator(o)->_state){ - case SQGenerator::eSuspended:v->Push(SQString::Create(_ss(v),_SC("suspended")));break; - case SQGenerator::eRunning:v->Push(SQString::Create(_ss(v),_SC("running")));break; - case SQGenerator::eDead:v->Push(SQString::Create(_ss(v),_SC("dead")));break; + case SQGenerator::eSuspended:v->Push(SQString::Create(_ss(v),"suspended"));break; + case SQGenerator::eRunning:v->Push(SQString::Create(_ss(v),"running"));break; + case SQGenerator::eDead:v->Push(SQString::Create(_ss(v),"dead"));break; } return 1; } SQRegFunction SQSharedState::_generator_default_delegate_funcz[]={ - {_SC("getstatus"),generator_getstatus,1, _SC("g")}, - {_SC("weakref"),obj_delegate_weakref,1, NULL }, - {_SC("tostring"),default_delegate_tostring,1, _SC(".")}, + {"getstatus",generator_getstatus,1, "g"}, + {"weakref",obj_delegate_weakref,1, NULL }, + {"tostring",default_delegate_tostring,1, "."}, {0,0,0,0} }; @@ -826,7 +832,7 @@ static SQInteger thread_call(HSQUIRRELVM v) v->_lasterror = _thread(o)->_lasterror; return SQ_ERROR; } - return sq_throwerror(v,_SC("wrong parameter")); + return sq_throwerror(v,"wrong parameter"); } static SQInteger thread_wakeup(HSQUIRRELVM v) @@ -838,10 +844,10 @@ static SQInteger thread_wakeup(HSQUIRRELVM v) if(state != SQ_VMSTATE_SUSPENDED) { switch(state) { case SQ_VMSTATE_IDLE: - return sq_throwerror(v,_SC("cannot wakeup a idle thread")); + return sq_throwerror(v,"cannot wakeup a idle thread"); break; case SQ_VMSTATE_RUNNING: - return sq_throwerror(v,_SC("cannot wakeup a running thread")); + return sq_throwerror(v,"cannot wakeup a running thread"); break; } } @@ -862,7 +868,7 @@ static SQInteger thread_wakeup(HSQUIRRELVM v) v->_lasterror = thread->_lasterror; return SQ_ERROR; } - return sq_throwerror(v,_SC("wrong parameter")); + return sq_throwerror(v,"wrong parameter"); } static SQInteger thread_getstatus(HSQUIRRELVM v) @@ -870,26 +876,26 @@ static SQInteger thread_getstatus(HSQUIRRELVM v) SQObjectPtr &o = stack_get(v,1); switch(sq_getvmstate(_thread(o))) { case SQ_VMSTATE_IDLE: - sq_pushstring(v,_SC("idle"),-1); + sq_pushstring(v,"idle",-1); break; case SQ_VMSTATE_RUNNING: - sq_pushstring(v,_SC("running"),-1); + sq_pushstring(v,"running",-1); break; case SQ_VMSTATE_SUSPENDED: - sq_pushstring(v,_SC("suspended"),-1); + sq_pushstring(v,"suspended",-1); break; default: - return sq_throwerror(v,_SC("internal VM error")); + return sq_throwerror(v,"internal VM error"); } return 1; } SQRegFunction SQSharedState::_thread_default_delegate_funcz[] = { - {_SC("call"), thread_call, -1, _SC("v")}, - {_SC("wakeup"), thread_wakeup, -1, _SC("v")}, - {_SC("getstatus"), thread_getstatus, 1, _SC("v")}, - {_SC("weakref"),obj_delegate_weakref,1, NULL }, - {_SC("tostring"),default_delegate_tostring,1, _SC(".")}, + {"call", thread_call, -1, "v"}, + {"wakeup", thread_wakeup, -1, "v"}, + {"getstatus", thread_getstatus, 1, "v"}, + {"weakref",obj_delegate_weakref,1, NULL }, + {"tostring",default_delegate_tostring,1, "."}, {0,0,0,0}, }; @@ -915,12 +921,12 @@ static SQInteger class_instance(HSQUIRRELVM v) } SQRegFunction SQSharedState::_class_default_delegate_funcz[] = { - {_SC("getattributes"), class_getattributes, 2, _SC("y.")}, - {_SC("setattributes"), class_setattributes, 3, _SC("y..")}, - {_SC("rawin"),container_rawexists,2, _SC("y")}, - {_SC("weakref"),obj_delegate_weakref,1, NULL }, - {_SC("tostring"),default_delegate_tostring,1, _SC(".")}, - {_SC("instance"),class_instance,1, _SC("y")}, + {"getattributes", class_getattributes, 2, "y."}, + {"setattributes", class_setattributes, 3, "y.."}, + {"rawin",container_rawexists,2, "y"}, + {"weakref",obj_delegate_weakref,1, NULL }, + {"tostring",default_delegate_tostring,1, "."}, + {"instance",class_instance,1, "y"}, {0,0,0,0} }; @@ -932,10 +938,10 @@ static SQInteger instance_getclass(HSQUIRRELVM v) } SQRegFunction SQSharedState::_instance_default_delegate_funcz[] = { - {_SC("getclass"), instance_getclass, 1, _SC("x")}, - {_SC("rawin"),container_rawexists,2, _SC("x")}, - {_SC("weakref"),obj_delegate_weakref,1, NULL }, - {_SC("tostring"),default_delegate_tostring,1, _SC(".")}, + {"getclass", instance_getclass, 1, "x"}, + {"rawin",container_rawexists,2, "x"}, + {"weakref",obj_delegate_weakref,1, NULL }, + {"tostring",default_delegate_tostring,1, "."}, {0,0,0,0} }; @@ -947,9 +953,9 @@ static SQInteger weakref_ref(HSQUIRRELVM v) } SQRegFunction SQSharedState::_weakref_default_delegate_funcz[] = { - {_SC("ref"),weakref_ref,1, _SC("r")}, - {_SC("weakref"),obj_delegate_weakref,1, NULL }, - {_SC("tostring"),default_delegate_tostring,1, _SC(".")}, + {"ref",weakref_ref,1, "r"}, + {"weakref",obj_delegate_weakref,1, NULL }, + {"tostring",default_delegate_tostring,1, "."}, {0,0,0,0} }; diff --git a/src/3rdparty/squirrel/squirrel/sqclass.cpp b/src/3rdparty/squirrel/squirrel/sqclass.cpp index 73c8848b5b..aa1bca0443 100644 --- a/src/3rdparty/squirrel/squirrel/sqclass.cpp +++ b/src/3rdparty/squirrel/squirrel/sqclass.cpp @@ -1,12 +1,17 @@ /* - see copyright notice in squirrel.h -*/ + * see copyright notice in squirrel.h + */ + +#include "../../../stdafx.h" + #include "sqpcheader.h" #include "sqvm.h" #include "sqtable.h" #include "sqclass.h" #include "sqclosure.h" +#include "../../../safeguards.h" + SQClass::SQClass(SQSharedState *ss,SQClass *base) { _base = base; diff --git a/src/3rdparty/squirrel/squirrel/sqclosure.h b/src/3rdparty/squirrel/squirrel/sqclosure.h index f872f2b8d3..a42dcd575a 100644 --- a/src/3rdparty/squirrel/squirrel/sqclosure.h +++ b/src/3rdparty/squirrel/squirrel/sqclosure.h @@ -80,7 +80,7 @@ public: struct SQNativeClosure : public CHAINABLE_OBJ { private: - SQNativeClosure(SQSharedState *ss,SQFUNCTION func){_function=func;INIT_CHAIN();ADD_TO_CHAIN(&_ss(this)->_gc_chain,this); } + SQNativeClosure(SQSharedState *ss,SQFUNCTION func) : _nparamscheck(0) {_function=func;INIT_CHAIN();ADD_TO_CHAIN(&_ss(this)->_gc_chain,this); } public: static SQNativeClosure *Create(SQSharedState *ss,SQFUNCTION func) { diff --git a/src/3rdparty/squirrel/squirrel/sqcompiler.cpp b/src/3rdparty/squirrel/squirrel/sqcompiler.cpp index b9eace1c63..ace9d201e9 100644 --- a/src/3rdparty/squirrel/squirrel/sqcompiler.cpp +++ b/src/3rdparty/squirrel/squirrel/sqcompiler.cpp @@ -1,6 +1,9 @@ /* - see copyright notice in squirrel.h -*/ + * see copyright notice in squirrel.h + */ + +#include "../../../stdafx.h" + #include #include "sqpcheader.h" #include @@ -13,6 +16,10 @@ #include "sqvm.h" #include "sqtable.h" +#include "../../../string_func.h" + +#include "../../../safeguards.h" + #define DEREF_NO_DEREF -1 #define DEREF_FIELD -2 @@ -50,23 +57,22 @@ typedef sqvector ExpStateVec; class SQCompiler { public: - SQCompiler(SQVM *v, SQLEXREADFUNC rg, SQUserPointer up, const SQChar* sourcename, bool raiseerror, bool lineinfo) + SQCompiler(SQVM *v, SQLEXREADFUNC rg, SQUserPointer up, const SQChar* sourcename, bool raiseerror, bool lineinfo) : _token(0), _fs(NULL), _lex(_ss(v), rg, up, ThrowError, this), _debugline(0), _debugop(0) { _vm=v; - _lex.Init(_ss(v), rg, up,ThrowError,this); _sourcename = SQString::Create(_ss(v), sourcename); _lineinfo = lineinfo;_raiseerror = raiseerror; } - static void ThrowError(void *ud, const SQChar *s) { + NORETURN static void ThrowError(void *ud, const SQChar *s) { SQCompiler *c = (SQCompiler *)ud; c->Error(s); } - void Error(const SQChar *s, ...) + NORETURN void Error(const SQChar *s, ...) { static SQChar temp[256]; va_list vl; va_start(vl, s); - scvsprintf(temp, s, vl); + vseprintf(temp, lastof(temp), s, vl); va_end(vl); throw temp; } @@ -75,7 +81,7 @@ public: bool IsDerefToken(SQInteger tok) { switch(tok){ - case _SC('='): case _SC('('): case TK_NEWSLOT: + case '=': case '(': case TK_NEWSLOT: case TK_MODEQ: case TK_MULEQ: case TK_DIVEQ: case TK_MINUSEQ: case TK_PLUSEQ: case TK_PLUSPLUS: case TK_MINUSMINUS: return true; } return false; @@ -91,7 +97,7 @@ public: if(_token != tok) { if(_token == TK_CONSTRUCTOR && tok == TK_IDENTIFIER) { - //ret = SQString::Create(_ss(_vm),_SC("constructor")); + //ret = SQString::Create(_ss(_vm),"constructor"); //do nothing } else { @@ -100,23 +106,23 @@ public: switch(tok) { case TK_IDENTIFIER: - etypename = _SC("IDENTIFIER"); + etypename = "IDENTIFIER"; break; case TK_STRING_LITERAL: - etypename = _SC("STRING_LITERAL"); + etypename = "STRING_LITERAL"; break; case TK_INTEGER: - etypename = _SC("INTEGER"); + etypename = "INTEGER"; break; case TK_FLOAT: - etypename = _SC("FLOAT"); + etypename = "FLOAT"; break; default: etypename = _lex.Tok2Str(tok); } - Error(_SC("expected '%s'"), etypename); + Error("expected '%s'", etypename); } - Error(_SC("expected '%c'"), tok); + Error("expected '%c'", tok); } } SQObjectPtr ret; @@ -138,12 +144,12 @@ public: Lex(); return ret; } - bool IsEndOfStatement() { return ((_lex._prevtoken == _SC('\n')) || (_token == SQUIRREL_EOB) || (_token == _SC('}')) || (_token == _SC(';'))); } + bool IsEndOfStatement() { return ((_lex._prevtoken == '\n') || (_token == SQUIRREL_EOB) || (_token == '}') || (_token == ';')); } void OptionalSemicolon() { - if(_token == _SC(';')) { Lex(); return; } + if(_token == ';') { Lex(); return; } if(!IsEndOfStatement()) { - Error(_SC("end of statement expected (; or lf)")); + Error("end of statement expected (; or lf)"); } } void MoveIfCurrentTargetIsLocal() { @@ -159,16 +165,16 @@ public: _debugop = 0; SQFuncState funcstate(_ss(_vm), NULL,ThrowError,this); - funcstate._name = SQString::Create(_ss(_vm), _SC("main")); + funcstate._name = SQString::Create(_ss(_vm), "main"); _fs = &funcstate; - _fs->AddParameter(_fs->CreateString(_SC("this"))); + _fs->AddParameter(_fs->CreateString("this")); _fs->_sourcename = _sourcename; SQInteger stacksize = _fs->GetStackSize(); try { Lex(); while(_token > 0){ Statement(); - if(_lex._prevtoken != _SC('}')) OptionalSemicolon(); + if(_lex._prevtoken != '}') OptionalSemicolon(); } CleanStack(stacksize); _fs->AddLineInfos(_lex._currentline, _lineinfo, true); @@ -182,7 +188,7 @@ public: } catch (SQChar *compilererror) { if(_raiseerror && _ss(_vm)->_compilererrorhandler) { - _ss(_vm)->_compilererrorhandler(_vm, compilererror, type(_sourcename) == OT_STRING?_stringval(_sourcename):_SC("unknown"), + _ss(_vm)->_compilererrorhandler(_vm, compilererror, type(_sourcename) == OT_STRING?_stringval(_sourcename):"unknown", _lex._currentline, _lex._currentcolumn); } _vm->_lasterror = SQString::Create(_ss(_vm), compilererror, -1); @@ -191,16 +197,16 @@ public: } void Statements() { - while(_token != _SC('}') && _token != TK_DEFAULT && _token != TK_CASE) { + while(_token != '}' && _token != TK_DEFAULT && _token != TK_CASE) { Statement(); - if(_lex._prevtoken != _SC('}') && _lex._prevtoken != _SC(';')) OptionalSemicolon(); + if(_lex._prevtoken != '}' && _lex._prevtoken != ';') OptionalSemicolon(); } } void Statement() { _fs->AddLineInfos(_lex._currentline, _lineinfo); switch(_token){ - case _SC(';'): Lex(); break; + case ';': Lex(); break; case TK_IF: IfStatement(); break; case TK_WHILE: WhileStatement(); break; case TK_DO: DoWhileStatement(); break; @@ -236,7 +242,7 @@ public: } break;} case TK_BREAK: - if(_fs->_breaktargets.size() <= 0)Error(_SC("'break' has to be in a loop block")); + if(_fs->_breaktargets.size() <= 0)Error("'break' has to be in a loop block"); if(_fs->_breaktargets.top() > 0){ _fs->AddInstruction(_OP_POPTRAP, _fs->_breaktargets.top(), 0); } @@ -246,7 +252,7 @@ public: Lex(); break; case TK_CONTINUE: - if(_fs->_continuetargets.size() <= 0)Error(_SC("'continue' has to be in a loop block")); + if(_fs->_continuetargets.size() <= 0)Error("'continue' has to be in a loop block"); if(_fs->_continuetargets.top() > 0) { _fs->AddInstruction(_OP_POPTRAP, _fs->_continuetargets.top(), 0); } @@ -264,11 +270,11 @@ public: case TK_ENUM: EnumStatement(); break; - case _SC('{'):{ + case '{':{ SQInteger stacksize = _fs->GetStackSize(); Lex(); Statements(); - Expect(_SC('}')); + Expect('}'); _fs->AddInstruction(_OP_SCOPE_END, stacksize, _fs->GetStackSize()); _fs->SetStackSize(stacksize); } @@ -348,7 +354,7 @@ public: _exst._funcarg = funcarg; LogicalOrExp(); switch(_token) { - case _SC('='): + case '=': case TK_NEWSLOT: case TK_MINUSEQ: case TK_PLUSEQ: @@ -359,19 +365,19 @@ public: SQInteger op = _token; SQInteger ds = _exst._deref; bool freevar = _exst._freevar; - if(ds == DEREF_NO_DEREF) Error(_SC("can't assign expression")); + if(ds == DEREF_NO_DEREF) Error("can't assign expression"); Lex(); Expression(); switch(op){ case TK_NEWSLOT: - if(freevar) Error(_SC("free variables cannot be modified")); + if(freevar) Error("free variables cannot be modified"); if(ds == DEREF_FIELD) EmitDerefOp(_OP_NEWSLOT); else //if _derefstate != DEREF_NO_DEREF && DEREF_FIELD so is the index of a local - Error(_SC("can't 'create' a local slot")); + Error("can't 'create' a local slot"); break; - case _SC('='): //ASSIGN - if(freevar) Error(_SC("free variables cannot be modified")); + case '=': //ASSIGN + if(freevar) Error("free variables cannot be modified"); if(ds == DEREF_FIELD) EmitDerefOp(_OP_SET); else {//if _derefstate != DEREF_NO_DEREF && DEREF_FIELD so is the index of a local @@ -390,7 +396,7 @@ public: } } break; - case _SC('?'): { + case '?': { Lex(); _fs->AddInstruction(_OP_JZ, _fs->PopTarget()); SQInteger jzpos = _fs->GetCurrentPos(); @@ -400,7 +406,7 @@ public: if(trg != first_exp) _fs->AddInstruction(_OP_MOVE, trg, first_exp); SQInteger endfirstexp = _fs->GetCurrentPos(); _fs->AddInstruction(_OP_JMP, 0, 0); - Expect(_SC(':')); + Expect(':'); SQInteger jmppos = _fs->GetCurrentPos(); Expression(); SQInteger second_exp = _fs->PopTarget(); @@ -422,7 +428,7 @@ public: void LogicalOrExp() { LogicalAndExp(); - for(;;) if(_token == TK_OR) { + if(_token == TK_OR) { SQInteger first_exp = _fs->PopTarget(); SQInteger trg = _fs->PushTarget(); _fs->AddInstruction(_OP_OR, trg, 0, first_exp, 0); @@ -434,8 +440,7 @@ public: if(trg != second_exp) _fs->AddInstruction(_OP_MOVE, trg, second_exp); _fs->SnoozeOpt(); _fs->SetIntructionParam(jpos, 1, (_fs->GetCurrentPos() - jpos)); - break; - }else return; + } } void LogicalAndExp() { @@ -464,21 +469,21 @@ public: void BitwiseOrExp() { BitwiseXorExp(); - for(;;) if(_token == _SC('|')) + for(;;) if(_token == '|') {BIN_EXP(_OP_BITW, &SQCompiler::BitwiseXorExp,BW_OR); }else return; } void BitwiseXorExp() { BitwiseAndExp(); - for(;;) if(_token == _SC('^')) + for(;;) if(_token == '^') {BIN_EXP(_OP_BITW, &SQCompiler::BitwiseAndExp,BW_XOR); }else return; } void BitwiseAndExp() { CompExp(); - for(;;) if(_token == _SC('&')) + for(;;) if(_token == '&') {BIN_EXP(_OP_BITW, &SQCompiler::CompExp,BW_AND); }else return; } @@ -487,8 +492,8 @@ public: ShiftExp(); for(;;) switch(_token) { case TK_EQ: BIN_EXP(_OP_EQ, &SQCompiler::ShiftExp); break; - case _SC('>'): BIN_EXP(_OP_CMP, &SQCompiler::ShiftExp,CMP_G); break; - case _SC('<'): BIN_EXP(_OP_CMP, &SQCompiler::ShiftExp,CMP_L); break; + case '>': BIN_EXP(_OP_CMP, &SQCompiler::ShiftExp,CMP_G); break; + case '<': BIN_EXP(_OP_CMP, &SQCompiler::ShiftExp,CMP_L); break; case TK_GE: BIN_EXP(_OP_CMP, &SQCompiler::ShiftExp,CMP_GE); break; case TK_LE: BIN_EXP(_OP_CMP, &SQCompiler::ShiftExp,CMP_LE); break; case TK_NE: BIN_EXP(_OP_NE, &SQCompiler::ShiftExp); break; @@ -509,7 +514,7 @@ public: { MultExp(); for(;;) switch(_token) { - case _SC('+'): case _SC('-'): + case '+': case '-': BIN_EXP(_OP_ARITH, &SQCompiler::MultExp,_token); break; default: return; } @@ -519,7 +524,7 @@ public: { PrefixedExpr(); for(;;) switch(_token) { - case _SC('*'): case _SC('/'): case _SC('%'): + case '*': case '/': case '%': BIN_EXP(_OP_ARITH, &SQCompiler::PrefixedExpr,_token); break; default: return; } @@ -531,13 +536,13 @@ public: for(;;) { switch(_token) { - case _SC('.'): { + case '.': { pos = -1; Lex(); if(_token == TK_PARENT) { Lex(); if(!NeedGet()) - Error(_SC("parent cannot be set")); + Error("parent cannot be set"); SQInteger src = _fs->PopTarget(); _fs->AddInstruction(_OP_GETPARENT, _fs->PushTarget(), src); } @@ -549,9 +554,9 @@ public: _exst._freevar = false; } break; - case _SC('['): - if(_lex._prevtoken == _SC('\n')) Error(_SC("cannot brake deref/or comma needed after [exp]=exp slot declaration")); - Lex(); Expression(); Expect(_SC(']')); + case '[': + if(_lex._prevtoken == '\n') Error("cannot brake deref/or comma needed after [exp]=exp slot declaration"); + Lex(); Expression(); Expect(']'); pos = -1; if(NeedGet()) Emit2ArgsOP(_OP_GET); _exst._deref = DEREF_FIELD; @@ -571,7 +576,7 @@ public: } return; break; - case _SC('('): + case '(': { if(_exst._deref != DEREF_NO_DEREF) { if(pos<0) { @@ -609,9 +614,9 @@ public: break; case TK_VARGC: Lex(); _fs->AddInstruction(_OP_VARGC, _fs->PushTarget()); break; case TK_VARGV: { Lex(); - Expect(_SC('[')); + Expect('['); Expression(); - Expect(_SC(']')); + Expect(']'); SQInteger src = _fs->PopTarget(); _fs->AddInstruction(_OP_GETVARGV, _fs->PushTarget(), src); } @@ -624,8 +629,8 @@ public: SQObject constant; switch(_token) { case TK_IDENTIFIER: id = _fs->CreateString(_lex._svalue); break; - case TK_THIS: id = _fs->CreateString(_SC("this")); break; - case TK_CONSTRUCTOR: id = _fs->CreateString(_SC("constructor")); break; + case TK_THIS: id = _fs->CreateString("this"); break; + case TK_CONSTRUCTOR: id = _fs->CreateString("constructor"); break; } SQInteger pos = -1; Lex(); @@ -643,7 +648,7 @@ public: Expect('.'); constid = Expect(TK_IDENTIFIER); if(!_table(constant)->Get(constid,constval)) { constval.Null(); - Error(_SC("invalid constant [%s.%s]"), _stringval(id),_stringval(constid)); + Error("invalid constant [%s.%s]", _stringval(id),_stringval(constid)); } } else { @@ -683,7 +688,7 @@ public: case TK_DOUBLE_COLON: // "::" _fs->AddInstruction(_OP_LOADROOTTABLE, _fs->PushTarget()); _exst._deref = DEREF_FIELD; - _token = _SC('.'); //hack + _token = '.'; //hack return -1; break; case TK_NULL: @@ -713,13 +718,13 @@ public: _fs->AddInstruction(_OP_LOADBOOL, _fs->PushTarget(),_token == TK_TRUE?1:0); Lex(); break; - case _SC('['): { + case '[': { _fs->AddInstruction(_OP_NEWARRAY, _fs->PushTarget()); SQInteger apos = _fs->GetCurrentPos(),key = 0; Lex(); - while(_token != _SC(']')) { + while(_token != ']') { Expression(); - if(_token == _SC(',')) Lex(); + if(_token == ',') Lex(); SQInteger val = _fs->PopTarget(); SQInteger array = _fs->TopTarget(); _fs->AddInstruction(_OP_APPENDARRAY, array, val); @@ -729,16 +734,16 @@ public: Lex(); } break; - case _SC('{'):{ + case '{':{ _fs->AddInstruction(_OP_NEWTABLE, _fs->PushTarget()); - Lex();ParseTableOrClass(_SC(',')); + Lex();ParseTableOrClass(','); } break; case TK_FUNCTION: FunctionExp(_token);break; case TK_CLASS: Lex(); ClassExp();break; - case _SC('-'): UnaryOP(_OP_NEG); break; - case _SC('!'): UnaryOP(_OP_NOT); break; - case _SC('~'): UnaryOP(_OP_BWNOT); break; + case '-': UnaryOP(_OP_NEG); break; + case '!': UnaryOP(_OP_NOT); break; + case '~': UnaryOP(_OP_BWNOT); break; case TK_TYPEOF : UnaryOP(_OP_TYPEOF); break; case TK_RESUME : UnaryOP(_OP_RESUME); break; case TK_CLONE : UnaryOP(_OP_CLONE); break; @@ -746,9 +751,9 @@ public: case TK_PLUSPLUS :PrefixIncDec(_token); break; case TK_DELETE : DeleteExpr(); break; case TK_DELEGATE : DelegateExpr(); break; - case _SC('('): Lex(); CommaExpr(); Expect(_SC(')')); + case '(': Lex(); CommaExpr(); Expect(')'); break; - default: Error(_SC("expression expected")); + default: Error("expression expected"); } return -1; } @@ -761,23 +766,23 @@ public: bool NeedGet() { switch(_token) { - case _SC('='): case _SC('('): case TK_NEWSLOT: case TK_PLUSPLUS: case TK_MINUSMINUS: + case '=': case '(': case TK_NEWSLOT: case TK_PLUSPLUS: case TK_MINUSMINUS: case TK_PLUSEQ: case TK_MINUSEQ: case TK_MULEQ: case TK_DIVEQ: case TK_MODEQ: return false; } - return (!_exst._class_or_delete) || (_exst._class_or_delete && (_token == _SC('.') || _token == _SC('['))); + return (!_exst._class_or_delete) || (_exst._class_or_delete && (_token == '.' || _token == '[')); } void FunctionCallArgs() { SQInteger nargs = 1;//this - while(_token != _SC(')')) { + while(_token != ')') { Expression(true); MoveIfCurrentTargetIsLocal(); nargs++; - if(_token == _SC(',')){ + if(_token == ','){ Lex(); - if(_token == ')') Error(_SC("expression expected, found ')'")); + if(_token == ')') Error("expression expected, found ')'"); } } Lex(); @@ -810,20 +815,20 @@ public: case TK_CONSTRUCTOR:{ SQInteger tk = _token; Lex(); - SQObject id = tk == TK_FUNCTION ? Expect(TK_IDENTIFIER) : _fs->CreateString(_SC("constructor")); - Expect(_SC('(')); + SQObject id = tk == TK_FUNCTION ? Expect(TK_IDENTIFIER) : _fs->CreateString("constructor"); + Expect('('); _fs->AddInstruction(_OP_LOAD, _fs->PushTarget(), _fs->GetConstant(id)); CreateFunction(id); _fs->AddInstruction(_OP_CLOSURE, _fs->PushTarget(), _fs->_functions.size() - 1, 0); } break; - case _SC('['): - Lex(); CommaExpr(); Expect(_SC(']')); - Expect(_SC('=')); Expression(); + case '[': + Lex(); CommaExpr(); Expect(']'); + Expect('='); Expression(); break; default : _fs->AddInstruction(_OP_LOAD, _fs->PushTarget(), _fs->GetConstant(Expect(TK_IDENTIFIER))); - Expect(_SC('=')); Expression(); + Expect('='); Expression(); } if(_token == separator) Lex();//optional comma/semicolon @@ -837,7 +842,7 @@ public: _fs->AddInstruction(_OP_NEWSLOTA, flags, table, key, val); //_fs->PopTarget(); } - if(separator == _SC(',')) //hack recognizes a table from the separator + if(separator == ',') //hack recognizes a table from the separator _fs->SetIntructionParam(tpos, 1, nkeys); Lex(); } @@ -846,7 +851,7 @@ public: SQObject varname; do { Lex(); varname = Expect(TK_IDENTIFIER); - if(_token == _SC('=')) { + if(_token == '=') { Lex(); Expression(); SQInteger src = _fs->PopTarget(); SQInteger dest = _fs->PushTarget(); @@ -858,20 +863,20 @@ public: _fs->PopTarget(); _fs->PushLocalVariable(varname); - } while(_token == _SC(',')); + } while(_token == ','); } void IfStatement() { SQInteger jmppos; bool haselse = false; - Lex(); Expect(_SC('(')); CommaExpr(); Expect(_SC(')')); + Lex(); Expect('('); CommaExpr(); Expect(')'); _fs->AddInstruction(_OP_JZ, _fs->PopTarget()); SQInteger jnepos = _fs->GetCurrentPos(); SQInteger stacksize = _fs->GetStackSize(); Statement(); // - if(_token != _SC('}') && _token != TK_ELSE) OptionalSemicolon(); + if(_token != '}' && _token != TK_ELSE) OptionalSemicolon(); CleanStack(stacksize); SQInteger endifblock = _fs->GetCurrentPos(); @@ -892,7 +897,7 @@ public: SQInteger jzpos, jmppos; SQInteger stacksize = _fs->GetStackSize(); jmppos = _fs->GetCurrentPos(); - Lex(); Expect(_SC('(')); CommaExpr(); Expect(_SC(')')); + Lex(); Expect('('); CommaExpr(); Expect(')'); BEGIN_BREAKBLE_BLOCK(); _fs->AddInstruction(_OP_JZ, _fs->PopTarget()); @@ -920,7 +925,7 @@ public: _fs->AddLineInfos(_lex._currentline, _lineinfo, true); Expect(TK_WHILE); SQInteger continuetrg = _fs->GetCurrentPos(); - Expect(_SC('(')); CommaExpr(); Expect(_SC(')')); + Expect('('); CommaExpr(); Expect(')'); _fs->AddInstruction(_OP_JNZ, _fs->PopTarget(), jzpos - _fs->GetCurrentPos() - 1); END_BREAKBLE_BLOCK(continuetrg); } @@ -928,25 +933,25 @@ public: { Lex(); SQInteger stacksize = _fs->GetStackSize(); - Expect(_SC('(')); + Expect('('); if(_token == TK_LOCAL) LocalDeclStatement(); - else if(_token != _SC(';')){ + else if(_token != ';'){ CommaExpr(); _fs->PopTarget(); } - Expect(_SC(';')); + Expect(';'); _fs->SnoozeOpt(); SQInteger jmppos = _fs->GetCurrentPos(); SQInteger jzpos = -1; - if(_token != _SC(';')) { CommaExpr(); _fs->AddInstruction(_OP_JZ, _fs->PopTarget()); jzpos = _fs->GetCurrentPos(); } - Expect(_SC(';')); + if(_token != ';') { CommaExpr(); _fs->AddInstruction(_OP_JZ, _fs->PopTarget()); jzpos = _fs->GetCurrentPos(); } + Expect(';'); _fs->SnoozeOpt(); SQInteger expstart = _fs->GetCurrentPos() + 1; - if(_token != _SC(')')) { + if(_token != ')') { CommaExpr(); _fs->PopTarget(); } - Expect(_SC(')')); + Expect(')'); _fs->SnoozeOpt(); SQInteger expend = _fs->GetCurrentPos(); SQInteger expsize = (expend - expstart) + 1; @@ -973,20 +978,20 @@ public: void ForEachStatement() { SQObject idxname, valname; - Lex(); Expect(_SC('(')); valname = Expect(TK_IDENTIFIER); - if(_token == _SC(',')) { + Lex(); Expect('('); valname = Expect(TK_IDENTIFIER); + if(_token == ',') { idxname = valname; Lex(); valname = Expect(TK_IDENTIFIER); } else{ - idxname = _fs->CreateString(_SC("@INDEX@")); + idxname = _fs->CreateString("@INDEX@"); } Expect(TK_IN); //save the stack size SQInteger stacksize = _fs->GetStackSize(); //put the table in the stack(evaluate the table expression) - Expression(); Expect(_SC(')')); + Expression(); Expect(')'); SQInteger container = _fs->TopTarget(); //push the index local var SQInteger indexpos = _fs->PushLocalVariable(idxname); @@ -995,7 +1000,7 @@ public: SQInteger valuepos = _fs->PushLocalVariable(valname); _fs->AddInstruction(_OP_LOADNULLS, valuepos,1); //push reference index - SQInteger itrpos = _fs->PushLocalVariable(_fs->CreateString(_SC("@ITERATOR@"))); //use invalid id to make it inaccessible + SQInteger itrpos = _fs->PushLocalVariable(_fs->CreateString("@ITERATOR@")); //use invalid id to make it inaccessible _fs->AddInstruction(_OP_LOADNULLS, itrpos,1); SQInteger jmppos = _fs->GetCurrentPos(); _fs->AddInstruction(_OP_FOREACH, container, 0, indexpos); @@ -1014,8 +1019,8 @@ public: } void SwitchStatement() { - Lex(); Expect(_SC('(')); CommaExpr(); Expect(_SC(')')); - Expect(_SC('{')); + Lex(); Expect('('); CommaExpr(); Expect(')'); + Expect('{'); SQInteger expr = _fs->TopTarget(); bool bfirst = true; SQInteger tonextcondjmp = -1; @@ -1030,7 +1035,7 @@ public: _fs->SetIntructionParam(tonextcondjmp, 1, _fs->GetCurrentPos() - tonextcondjmp); } //condition - Lex(); Expression(); Expect(_SC(':')); + Lex(); Expression(); Expect(':'); SQInteger trg = _fs->PopTarget(); _fs->AddInstruction(_OP_EQ, trg, trg, expr); _fs->AddInstruction(_OP_JZ, trg, 0); @@ -1049,13 +1054,13 @@ public: _fs->SetIntructionParam(tonextcondjmp, 1, _fs->GetCurrentPos() - tonextcondjmp); if(_token == TK_DEFAULT) { // _fs->AddLineInfos(_lex._currentline, _lineinfo); - Lex(); Expect(_SC(':')); + Lex(); Expect(':'); SQInteger stacksize = _fs->GetStackSize(); _last_stacksize = _fs->GetStackSize(); Statements(); _fs->SetStackSize(stacksize); } - Expect(_SC('}')); + Expect('}'); _fs->PopTarget(); __nbreaks__ = _fs->_unresolvedbreaks.size() - __nbreaks__; if(__nbreaks__ > 0)ResolveBreaks(_fs, __nbreaks__); @@ -1076,7 +1081,7 @@ public: _fs->AddInstruction(_OP_LOAD, _fs->PushTarget(), _fs->GetConstant(id)); if(_token == TK_DOUBLE_COLON) Emit2ArgsOP(_OP_GET); } - Expect(_SC('(')); + Expect('('); CreateFunction(id); _fs->AddInstruction(_OP_CLOSURE, _fs->PushTarget(), _fs->_functions.size() - 1, 0); EmitDerefOp(_OP_NEWSLOT); @@ -1090,13 +1095,13 @@ public: _exst._funcarg = false; PrefixedExpr(); es = PopExpState(); - if(es._deref == DEREF_NO_DEREF) Error(_SC("invalid class name")); + if(es._deref == DEREF_NO_DEREF) Error("invalid class name"); if(es._deref == DEREF_FIELD) { ClassExp(); EmitDerefOp(_OP_NEWSLOT); _fs->PopTarget(); } - else Error(_SC("cannot create a class in a local with the syntax(class )")); + else Error("cannot create a class in a local with the syntax(class )"); } SQObject ExpectScalar() { @@ -1126,12 +1131,12 @@ public: val._unVal.fFloat = -_lex._fvalue; break; default: - Error(_SC("scalar expected : integer,float")); + Error("scalar expected : integer,float"); val._type = OT_NULL; // Silent compile-warning } break; default: - Error(_SC("scalar expected : integer,float or string")); + Error("scalar expected : integer,float or string"); val._type = OT_NULL; // Silent compile-warning } Lex(); @@ -1142,14 +1147,14 @@ public: Lex(); SQObject id = Expect(TK_IDENTIFIER); - Expect(_SC('{')); + Expect('{'); SQObject table = _fs->CreateTable(); SQInteger nval = 0; - while(_token != _SC('}')) { + while(_token != '}') { SQObject key = Expect(TK_IDENTIFIER); SQObject val; - if(_token == _SC('=')) { + if(_token == '=') { Lex(); val = ExpectScalar(); } @@ -1165,7 +1170,7 @@ public: /*SQObjectPtr dummy; if(enums->Get(strongid,dummy)) { dummy.Null(); strongid.Null(); - Error(_SC("enumeration already exists")); + Error("enumeration already exists"); }*/ enums->NewSlot(SQObjectPtr(strongid),SQObjectPtr(table)); strongid.Null(); @@ -1189,7 +1194,7 @@ public: _fs->AddInstruction(_OP_JMP, 0, 0); SQInteger jmppos = _fs->GetCurrentPos(); _fs->SetIntructionParam(trappos, 1, (_fs->GetCurrentPos() - trappos)); - Expect(TK_CATCH); Expect(_SC('(')); exid = Expect(TK_IDENTIFIER); Expect(_SC(')')); + Expect(TK_CATCH); Expect('('); exid = Expect(TK_IDENTIFIER); Expect(')'); SQInteger stacksize = _fs->GetStackSize(); SQInteger ex_target = _fs->PushLocalVariable(exid); _fs->SetIntructionParam(trappos, 0, ex_target); @@ -1199,7 +1204,7 @@ public: } void FunctionExp(SQInteger ftype) { - Lex(); Expect(_SC('(')); + Lex(); Expect('('); CreateFunction(_null_); _fs->AddInstruction(_OP_CLOSURE, _fs->PushTarget(), _fs->_functions.size() - 1, ftype == TK_FUNCTION?0:1); } @@ -1214,19 +1219,19 @@ public: if(_token == TK_ATTR_OPEN) { Lex(); _fs->AddInstruction(_OP_NEWTABLE, _fs->PushTarget()); - ParseTableOrClass(_SC(','),TK_ATTR_CLOSE); + ParseTableOrClass(',',TK_ATTR_CLOSE); attrs = _fs->TopTarget(); } - Expect(_SC('{')); + Expect('{'); if(attrs != -1) _fs->PopTarget(); if(base != -1) _fs->PopTarget(); _fs->AddInstruction(_OP_CLASS, _fs->PushTarget(), base, attrs); - ParseTableOrClass(_SC(';')); + ParseTableOrClass(';'); } void DelegateExpr() { Lex(); CommaExpr(); - Expect(_SC(':')); + Expect(':'); CommaExpr(); SQInteger table = _fs->PopTarget(), delegate = _fs->PopTarget(); _fs->AddInstruction(_OP_DELEGATE, _fs->PushTarget(), table, delegate); @@ -1239,9 +1244,9 @@ public: _exst._funcarg = false; PrefixedExpr(); es = PopExpState(); - if(es._deref == DEREF_NO_DEREF) Error(_SC("can't delete an expression")); + if(es._deref == DEREF_NO_DEREF) Error("can't delete an expression"); if(es._deref == DEREF_FIELD) Emit2ArgsOP(_OP_DELETE); - else Error(_SC("cannot delete a local")); + else Error("cannot delete a local"); } void PrefixIncDec(SQInteger token) { @@ -1263,46 +1268,46 @@ public: SQFuncState *funcstate = _fs->PushChildState(_ss(_vm)); funcstate->_name = name; SQObject paramname; - funcstate->AddParameter(_fs->CreateString(_SC("this"))); + funcstate->AddParameter(_fs->CreateString("this")); funcstate->_sourcename = _sourcename; SQInteger defparams = 0; - while(_token!=_SC(')')) { + while(_token!=')') { if(_token == TK_VARPARAMS) { - if(defparams > 0) Error(_SC("function with default parameters cannot have variable number of parameters")); + if(defparams > 0) Error("function with default parameters cannot have variable number of parameters"); funcstate->_varparams = true; Lex(); - if(_token != _SC(')')) Error(_SC("expected ')'")); + if(_token != ')') Error("expected ')'"); break; } else { paramname = Expect(TK_IDENTIFIER); funcstate->AddParameter(paramname); - if(_token == _SC('=')) { + if(_token == '=') { Lex(); Expression(); funcstate->AddDefaultParam(_fs->TopTarget()); defparams++; } else { - if(defparams > 0) Error(_SC("expected '='")); + if(defparams > 0) Error("expected '='"); } - if(_token == _SC(',')) Lex(); - else if(_token != _SC(')')) Error(_SC("expected ')' or ','")); + if(_token == ',') Lex(); + else if(_token != ')') Error("expected ')' or ','"); } } - Expect(_SC(')')); + Expect(')'); for(SQInteger n = 0; n < defparams; n++) { _fs->PopTarget(); } //outer values - if(_token == _SC(':')) { - Lex(); Expect(_SC('(')); - while(_token != _SC(')')) { + if(_token == ':') { + Lex(); Expect('('); + while(_token != ')') { paramname = Expect(TK_IDENTIFIER); //outers are treated as implicit local variables funcstate->AddOuterValue(paramname); - if(_token == _SC(',')) Lex(); - else if(_token != _SC(')')) Error(_SC("expected ')' or ','")); + if(_token == ',') Lex(); + else if(_token != ')') Error("expected ')' or ','"); } Lex(); } @@ -1310,7 +1315,7 @@ public: SQFuncState *currchunk = _fs; _fs = funcstate; Statement(); - funcstate->AddLineInfos(_lex._prevtoken == _SC('\n')?_lex._lasttokenline:_lex._currentline, _lineinfo, true); + funcstate->AddLineInfos(_lex._prevtoken == '\n'?_lex._lasttokenline:_lex._currentline, _lineinfo, true); funcstate->AddInstruction(_OP_RETURN, -1); funcstate->SetStackSize(0); //_fs->->_stacksize = _fs->_stacksize; diff --git a/src/3rdparty/squirrel/squirrel/sqcompiler.h b/src/3rdparty/squirrel/squirrel/sqcompiler.h index dd55888b6e..b29917390b 100644 --- a/src/3rdparty/squirrel/squirrel/sqcompiler.h +++ b/src/3rdparty/squirrel/squirrel/sqcompiler.h @@ -71,7 +71,12 @@ struct SQVM; #define TK_ENUM 323 #define TK_CONST 324 - +/* MSVC doesn't like NORETURN for function prototypes, but we kinda need it for GCC. */ +#if defined(_MSC_VER) typedef void(*CompilerErrorFunc)(void *ud, const SQChar *s); +#else +typedef NORETURN void(*CompilerErrorFunc)(void *ud, const SQChar *s); +#endif + bool Compile(SQVM *vm, SQLEXREADFUNC rg, SQUserPointer up, const SQChar *sourcename, SQObjectPtr &out, bool raiseerror, bool lineinfo); #endif //_SQCOMPILER_H_ diff --git a/src/3rdparty/squirrel/squirrel/sqdebug.cpp b/src/3rdparty/squirrel/squirrel/sqdebug.cpp index c683697d7c..74272e432a 100644 --- a/src/3rdparty/squirrel/squirrel/sqdebug.cpp +++ b/src/3rdparty/squirrel/squirrel/sqdebug.cpp @@ -1,14 +1,21 @@ /* - see copyright notice in squirrel.h -*/ + * see copyright notice in squirrel.h + */ + +#include "../../../stdafx.h" + #include #include "sqpcheader.h" -#include #include "sqvm.h" #include "sqfuncproto.h" #include "sqclosure.h" #include "sqstring.h" +#include "../../../core/alloc_func.hpp" +#include "../../../string_func.h" + +#include "../../../safeguards.h" + SQRESULT sq_getfunctioninfo(HSQUIRRELVM v,SQInteger level,SQFunctionInfo *fi) { SQInteger cssize = v->_callsstacksize; @@ -18,12 +25,12 @@ SQRESULT sq_getfunctioninfo(HSQUIRRELVM v,SQInteger level,SQFunctionInfo *fi) SQClosure *c = _closure(ci._closure); SQFunctionProto *proto = _funcproto(c->_function); fi->funcid = proto; - fi->name = type(proto->_name) == OT_STRING?_stringval(proto->_name):_SC("unknown"); - fi->source = type(proto->_name) == OT_STRING?_stringval(proto->_sourcename):_SC("unknown"); + fi->name = type(proto->_name) == OT_STRING?_stringval(proto->_name):"unknown"; + fi->source = type(proto->_name) == OT_STRING?_stringval(proto->_sourcename):"unknown"; return SQ_OK; } } - return sq_throwerror(v,_SC("the object is not a closure")); + return sq_throwerror(v,"the object is not a closure"); } SQRESULT sq_stackinfos(HSQUIRRELVM v, SQInteger level, SQStackInfos *si) @@ -43,8 +50,8 @@ SQRESULT sq_stackinfos(HSQUIRRELVM v, SQInteger level, SQStackInfos *si) } break; case OT_NATIVECLOSURE: - si->source = _SC("NATIVE"); - si->funcname = _SC("unknown"); + si->source = "NATIVE"; + si->funcname = "unknown"; if(type(_nativeclosure(ci._closure)->_name) == OT_STRING) si->funcname = _stringval(_nativeclosure(ci._closure)->_name); si->line = -1; @@ -60,9 +67,12 @@ void SQVM::Raise_Error(const SQChar *s, ...) { va_list vl; va_start(vl, s); - scvsprintf(_sp(rsl((SQInteger)scstrlen(s)+(NUMBER_MAX_CHAR*2))), s, vl); + size_t len = strlen(s)+(NUMBER_MAX_CHAR*2); + char *buffer = MallocT(len + 1); + vseprintf(buffer, buffer + len, s, vl); va_end(vl); - _lasterror = SQString::Create(_ss(this),_spval,-1); + _lasterror = SQString::Create(_ss(this),buffer,-1); + free(buffer); } void SQVM::Raise_Error(SQObjectPtr &desc) @@ -72,20 +82,15 @@ void SQVM::Raise_Error(SQObjectPtr &desc) SQString *SQVM::PrintObjVal(const SQObject &o) { + char buf[NUMBER_MAX_CHAR+1]; switch(type(o)) { case OT_STRING: return _string(o); case OT_INTEGER: -#if defined(_SQ64) - scsprintf(_sp(rsl(NUMBER_MAX_CHAR+1)), _SC("%ld"), _integer(o)); -#else - scsprintf(_sp(rsl(NUMBER_MAX_CHAR+1)), _SC("%d"), _integer(o)); -#endif - return SQString::Create(_ss(this), _spval); - break; + seprintf(buf, lastof(buf), OTTD_PRINTF64, _integer(o)); + return SQString::Create(_ss(this), buf); case OT_FLOAT: - scsprintf(_sp(rsl(NUMBER_MAX_CHAR+1)), _SC("%.14g"), _float(o)); - return SQString::Create(_ss(this), _spval); - break; + seprintf(buf, lastof(buf), "%.14g", _float(o)); + return SQString::Create(_ss(this), buf); default: return SQString::Create(_ss(this), GetTypeName(o)); } @@ -94,28 +99,28 @@ SQString *SQVM::PrintObjVal(const SQObject &o) void SQVM::Raise_IdxError(const SQObject &o) { SQObjectPtr oval = PrintObjVal(o); - Raise_Error(_SC("the index '%.50s' does not exist"), _stringval(oval)); + Raise_Error("the index '%.50s' does not exist", _stringval(oval)); } void SQVM::Raise_CompareError(const SQObject &o1, const SQObject &o2) { SQObjectPtr oval1 = PrintObjVal(o1), oval2 = PrintObjVal(o2); - Raise_Error(_SC("comparsion between '%.50s' and '%.50s'"), _stringval(oval1), _stringval(oval2)); + Raise_Error("comparsion between '%.50s' and '%.50s'", _stringval(oval1), _stringval(oval2)); } void SQVM::Raise_ParamTypeError(SQInteger nparam,SQInteger typemask,SQInteger type) { - SQObjectPtr exptypes = SQString::Create(_ss(this), _SC(""), -1); + SQObjectPtr exptypes = SQString::Create(_ss(this), "", -1); SQInteger found = 0; for(SQInteger i=0; i<16; i++) { SQInteger mask = 0x00000001 << i; if(typemask & (mask)) { - if(found>0) StringCat(exptypes,SQString::Create(_ss(this), _SC("|"), -1), exptypes); + if(found>0) StringCat(exptypes,SQString::Create(_ss(this), "|", -1), exptypes); found ++; StringCat(exptypes,SQString::Create(_ss(this), IdType2Name((SQObjectType)mask), -1), exptypes); } } - Raise_Error(_SC("parameter %d has an invalid type '%s' ; expected: '%s'"), nparam, IdType2Name((SQObjectType)type), _stringval(exptypes)); + Raise_Error("parameter %d has an invalid type '%s' ; expected: '%s'", nparam, IdType2Name((SQObjectType)type), _stringval(exptypes)); } diff --git a/src/3rdparty/squirrel/squirrel/sqfuncproto.h b/src/3rdparty/squirrel/squirrel/sqfuncproto.h index faac9e925a..e58ccd2994 100644 --- a/src/3rdparty/squirrel/squirrel/sqfuncproto.h +++ b/src/3rdparty/squirrel/squirrel/sqfuncproto.h @@ -7,13 +7,13 @@ enum SQOuterType { otLOCAL = 0, otSYMBOL = 1, - otOUTER = 2 + otOUTER = 2, }; struct SQOuterVar { - SQOuterVar(){} + SQOuterVar() : _type(otLOCAL) {} SQOuterVar(const SQObjectPtr &name,const SQObjectPtr &src,SQOuterType t) { _name = name; @@ -33,7 +33,7 @@ struct SQOuterVar struct SQLocalVarInfo { - SQLocalVarInfo():_start_op(0),_end_op(0){} + SQLocalVarInfo():_start_op(0),_end_op(0), _pos(0){} SQLocalVarInfo(const SQLocalVarInfo &lvi) { _name=lvi._name; @@ -73,9 +73,37 @@ typedef sqvector SQLineInfoVec; struct SQFunctionProto : public SQRefCounted { private: - SQFunctionProto(){ - _stacksize=0; - _bgenerator=false;} + SQFunctionProto(SQInteger ninstructions, + SQInteger nliterals,SQInteger nparameters, + SQInteger nfunctions,SQInteger noutervalues, + SQInteger nlineinfos,SQInteger nlocalvarinfos,SQInteger ndefaultparams) + { + _stacksize=0; + _bgenerator=false; + _varparams = false; + _ninstructions = ninstructions; + _literals = (SQObjectPtr*)&_instructions[ninstructions]; + _nliterals = nliterals; + _parameters = (SQObjectPtr*)&_literals[nliterals]; + _nparameters = nparameters; + _functions = (SQObjectPtr*)&_parameters[nparameters]; + _nfunctions = nfunctions; + _outervalues = (SQOuterVar*)&_functions[nfunctions]; + _noutervalues = noutervalues; + _lineinfos = (SQLineInfo *)&_outervalues[noutervalues]; + _nlineinfos = nlineinfos; + _localvarinfos = (SQLocalVarInfo *)&_lineinfos[nlineinfos]; + _nlocalvarinfos = nlocalvarinfos; + _defaultparams = (SQInteger *)&_localvarinfos[nlocalvarinfos]; + _ndefaultparams = ndefaultparams; + + _CONSTRUCT_VECTOR(SQObjectPtr,_nliterals,_literals); + _CONSTRUCT_VECTOR(SQObjectPtr,_nparameters,_parameters); + _CONSTRUCT_VECTOR(SQObjectPtr,_nfunctions,_functions); + _CONSTRUCT_VECTOR(SQOuterVar,_noutervalues,_outervalues); + //_CONSTRUCT_VECTOR(SQLineInfo,_nlineinfos,_lineinfos); //not required are 2 integers + _CONSTRUCT_VECTOR(SQLocalVarInfo,_nlocalvarinfos,_localvarinfos); + } public: static SQFunctionProto *Create(SQInteger ninstructions, SQInteger nliterals,SQInteger nparameters, @@ -85,29 +113,7 @@ public: SQFunctionProto *f; //I compact the whole class and members in a single memory allocation f = (SQFunctionProto *)sq_vm_malloc(_FUNC_SIZE(ninstructions,nliterals,nparameters,nfunctions,noutervalues,nlineinfos,nlocalvarinfos,ndefaultparams)); - new (f) SQFunctionProto; - f->_ninstructions = ninstructions; - f->_literals = (SQObjectPtr*)&f->_instructions[ninstructions]; - f->_nliterals = nliterals; - f->_parameters = (SQObjectPtr*)&f->_literals[nliterals]; - f->_nparameters = nparameters; - f->_functions = (SQObjectPtr*)&f->_parameters[nparameters]; - f->_nfunctions = nfunctions; - f->_outervalues = (SQOuterVar*)&f->_functions[nfunctions]; - f->_noutervalues = noutervalues; - f->_lineinfos = (SQLineInfo *)&f->_outervalues[noutervalues]; - f->_nlineinfos = nlineinfos; - f->_localvarinfos = (SQLocalVarInfo *)&f->_lineinfos[nlineinfos]; - f->_nlocalvarinfos = nlocalvarinfos; - f->_defaultparams = (SQInteger *)&f->_localvarinfos[nlocalvarinfos]; - f->_ndefaultparams = ndefaultparams; - - _CONSTRUCT_VECTOR(SQObjectPtr,f->_nliterals,f->_literals); - _CONSTRUCT_VECTOR(SQObjectPtr,f->_nparameters,f->_parameters); - _CONSTRUCT_VECTOR(SQObjectPtr,f->_nfunctions,f->_functions); - _CONSTRUCT_VECTOR(SQOuterVar,f->_noutervalues,f->_outervalues); - //_CONSTRUCT_VECTOR(SQLineInfo,f->_nlineinfos,f->_lineinfos); //not required are 2 integers - _CONSTRUCT_VECTOR(SQLocalVarInfo,f->_nlocalvarinfos,f->_localvarinfos); + new (f) SQFunctionProto(ninstructions, nliterals, nparameters, nfunctions, noutervalues, nlineinfos, nlocalvarinfos, ndefaultparams); return f; } void Release(){ diff --git a/src/3rdparty/squirrel/squirrel/sqfuncstate.cpp b/src/3rdparty/squirrel/squirrel/sqfuncstate.cpp index b4f3541731..5415b566e8 100644 --- a/src/3rdparty/squirrel/squirrel/sqfuncstate.cpp +++ b/src/3rdparty/squirrel/squirrel/sqfuncstate.cpp @@ -1,6 +1,9 @@ /* - see copyright notice in squirrel.h -*/ + * see copyright notice in squirrel.h + */ + +#include "../../../stdafx.h" + #include "sqpcheader.h" #include "sqcompiler.h" #include "sqfuncproto.h" @@ -9,84 +12,82 @@ #include "sqopcodes.h" #include "sqfuncstate.h" +#include "../../../safeguards.h" + #ifdef _DEBUG_DUMP SQInstructionDesc g_InstrDesc[]={ - {_SC("_OP_LINE")}, - {_SC("_OP_LOAD")}, - {_SC("_OP_LOADINT")}, - {_SC("_OP_LOADFLOAT")}, - {_SC("_OP_DLOAD")}, - {_SC("_OP_TAILCALL")}, - {_SC("_OP_CALL")}, - {_SC("_OP_PREPCALL")}, - {_SC("_OP_PREPCALLK")}, - {_SC("_OP_GETK")}, - {_SC("_OP_MOVE")}, - {_SC("_OP_NEWSLOT")}, - {_SC("_OP_DELETE")}, - {_SC("_OP_SET")}, - {_SC("_OP_GET")}, - {_SC("_OP_EQ")}, - {_SC("_OP_NE")}, - {_SC("_OP_ARITH")}, - {_SC("_OP_BITW")}, - {_SC("_OP_RETURN")}, - {_SC("_OP_LOADNULLS")}, - {_SC("_OP_LOADROOTTABLE")}, - {_SC("_OP_LOADBOOL")}, - {_SC("_OP_DMOVE")}, - {_SC("_OP_JMP")}, - {_SC("_OP_JNZ")}, - {_SC("_OP_JZ")}, - {_SC("_OP_LOADFREEVAR")}, - {_SC("_OP_VARGC")}, - {_SC("_OP_GETVARGV")}, - {_SC("_OP_NEWTABLE")}, - {_SC("_OP_NEWARRAY")}, - {_SC("_OP_APPENDARRAY")}, - {_SC("_OP_GETPARENT")}, - {_SC("_OP_COMPARITH")}, - {_SC("_OP_COMPARITHL")}, - {_SC("_OP_INC")}, - {_SC("_OP_INCL")}, - {_SC("_OP_PINC")}, - {_SC("_OP_PINCL")}, - {_SC("_OP_CMP")}, - {_SC("_OP_EXISTS")}, - {_SC("_OP_INSTANCEOF")}, - {_SC("_OP_AND")}, - {_SC("_OP_OR")}, - {_SC("_OP_NEG")}, - {_SC("_OP_NOT")}, - {_SC("_OP_BWNOT")}, - {_SC("_OP_CLOSURE")}, - {_SC("_OP_YIELD")}, - {_SC("_OP_RESUME")}, - {_SC("_OP_FOREACH")}, - {_SC("_OP_POSTFOREACH")}, - {_SC("_OP_DELEGATE")}, - {_SC("_OP_CLONE")}, - {_SC("_OP_TYPEOF")}, - {_SC("_OP_PUSHTRAP")}, - {_SC("_OP_POPTRAP")}, - {_SC("_OP_THROW")}, - {_SC("_OP_CLASS")}, - {_SC("_OP_NEWSLOTA")}, - {_SC("_OP_SCOPE_END")} + {"_OP_LINE"}, + {"_OP_LOAD"}, + {"_OP_LOADINT"}, + {"_OP_LOADFLOAT"}, + {"_OP_DLOAD"}, + {"_OP_TAILCALL"}, + {"_OP_CALL"}, + {"_OP_PREPCALL"}, + {"_OP_PREPCALLK"}, + {"_OP_GETK"}, + {"_OP_MOVE"}, + {"_OP_NEWSLOT"}, + {"_OP_DELETE"}, + {"_OP_SET"}, + {"_OP_GET"}, + {"_OP_EQ"}, + {"_OP_NE"}, + {"_OP_ARITH"}, + {"_OP_BITW"}, + {"_OP_RETURN"}, + {"_OP_LOADNULLS"}, + {"_OP_LOADROOTTABLE"}, + {"_OP_LOADBOOL"}, + {"_OP_DMOVE"}, + {"_OP_JMP"}, + {"_OP_JNZ"}, + {"_OP_JZ"}, + {"_OP_LOADFREEVAR"}, + {"_OP_VARGC"}, + {"_OP_GETVARGV"}, + {"_OP_NEWTABLE"}, + {"_OP_NEWARRAY"}, + {"_OP_APPENDARRAY"}, + {"_OP_GETPARENT"}, + {"_OP_COMPARITH"}, + {"_OP_COMPARITHL"}, + {"_OP_INC"}, + {"_OP_INCL"}, + {"_OP_PINC"}, + {"_OP_PINCL"}, + {"_OP_CMP"}, + {"_OP_EXISTS"}, + {"_OP_INSTANCEOF"}, + {"_OP_AND"}, + {"_OP_OR"}, + {"_OP_NEG"}, + {"_OP_NOT"}, + {"_OP_BWNOT"}, + {"_OP_CLOSURE"}, + {"_OP_YIELD"}, + {"_OP_RESUME"}, + {"_OP_FOREACH"}, + {"_OP_POSTFOREACH"}, + {"_OP_DELEGATE"}, + {"_OP_CLONE"}, + {"_OP_TYPEOF"}, + {"_OP_PUSHTRAP"}, + {"_OP_POPTRAP"}, + {"_OP_THROW"}, + {"_OP_CLASS"}, + {"_OP_NEWSLOTA"}, + {"_OP_SCOPE_END"} }; #endif void DumpLiteral(SQObjectPtr &o) { switch(type(o)){ - case OT_STRING: scprintf(_SC("\"%s\""),_stringval(o));break; - case OT_FLOAT: scprintf(_SC("{%f}"),_float(o));break; -#if defined(_SQ64) - case OT_INTEGER: scprintf(_SC("{%ld}"),_integer(o));break; -#else - case OT_INTEGER: scprintf(_SC("{%d}"),_integer(o));break; -#endif - case OT_BOOL: scprintf(_SC("%s"),_integer(o)?_SC("true"):_SC("false"));break; - default: scprintf(_SC("(%s %p)"),GetTypeName(o),(void*)_rawval(o));break; break; //shut up compiler + case OT_STRING: printf("\"%s\"",_stringval(o));break; + case OT_FLOAT: printf("{%f}",_float(o));break; + case OT_INTEGER: printf("{" OTTD_PRINTF64 "}",_integer(o));break; + case OT_BOOL: printf("%s",_integer(o)?"true":"false");break; + default: printf("(%s %p)",GetTypeName(o),(void*)_rawval(o));break; break; //shut up compiler } } @@ -119,11 +120,11 @@ void SQFuncState::Dump(SQFunctionProto *func) { SQUnsignedInteger n=0,i; SQInteger si; - scprintf(_SC("SQInstruction sizeof %d\n"),sizeof(SQInstruction)); - scprintf(_SC("SQObject sizeof %d\n"),sizeof(SQObject)); - scprintf(_SC("--------------------------------------------------------------------\n")); - scprintf(_SC("*****FUNCTION [%s]\n"),type(func->_name)==OT_STRING?_stringval(func->_name):_SC("unknown")); - scprintf(_SC("-----LITERALS\n")); + printf("SQInstruction sizeof %d\n",sizeof(SQInstruction)); + printf("SQObject sizeof %d\n",sizeof(SQObject)); + printf("--------------------------------------------------------------------\n"); + printf("*****FUNCTION [%s]\n",type(func->_name)==OT_STRING?_stringval(func->_name):"unknown"); + printf("-----LITERALS\n"); SQObjectPtr refidx,key,val; SQInteger idx; SQObjectPtrVec templiterals; @@ -133,43 +134,43 @@ void SQFuncState::Dump(SQFunctionProto *func) templiterals[_integer(val)]=key; } for(i=0;i>\n")); + printf("<>\n"); n=0; for(i=0;i<_parameters.size();i++){ - scprintf(_SC("[%d] "),n); + printf("[%d] ",n); DumpLiteral(_parameters[i]); - scprintf(_SC("\n")); + printf("\n"); n++; } - scprintf(_SC("-----LOCALS\n")); + printf("-----LOCALS\n"); for(si=0;si_nlocalvarinfos;si++){ SQLocalVarInfo lvi=func->_localvarinfos[si]; - scprintf(_SC("[%d] %s \t%d %d\n"),lvi._pos,_stringval(lvi._name),lvi._start_op,lvi._end_op); + printf("[%d] %s \t%d %d\n",lvi._pos,_stringval(lvi._name),lvi._start_op,lvi._end_op); n++; } - scprintf(_SC("-----LINE INFO\n")); + printf("-----LINE INFO\n"); for(i=0;i<_lineinfos.size();i++){ SQLineInfo li=_lineinfos[i]; - scprintf(_SC("op [%d] line [%d] \n"),li._op,li._line); + printf("op [%d] line [%d] \n",li._op,li._line); n++; } - scprintf(_SC("-----dump\n")); + printf("-----dump\n"); n=0; for(i=0;i<_instructions.size();i++){ SQInstruction &inst=_instructions[i]; if(inst.op==_OP_LOAD || inst.op==_OP_DLOAD || inst.op==_OP_PREPCALLK || inst.op==_OP_GETK ){ SQInteger lidx = inst._arg1; - scprintf(_SC("[%03d] %15s %d "),n,g_InstrDesc[inst.op].name,inst._arg0); + printf("[%03d] %15s %d ",n,g_InstrDesc[inst.op].name,inst._arg0); if(lidx >= 0xFFFFFFFF) - scprintf(_SC("null")); + printf("null"); else { SQInteger refidx; SQObjectPtr val,key,refo; @@ -179,13 +180,13 @@ void SQFuncState::Dump(SQFunctionProto *func) DumpLiteral(key); } if(inst.op != _OP_DLOAD) { - scprintf(_SC(" %d %d \n"),inst._arg2,inst._arg3); + printf(" %d %d \n",inst._arg2,inst._arg3); } else { - scprintf(_SC(" %d "),inst._arg2); + printf(" %d ",inst._arg2); lidx = inst._arg3; if(lidx >= 0xFFFFFFFF) - scprintf(_SC("null")); + printf("null"); else { SQInteger refidx; SQObjectPtr val,key,refo; @@ -193,23 +194,23 @@ void SQFuncState::Dump(SQFunctionProto *func) refo = refidx; } DumpLiteral(key); - scprintf(_SC("\n")); + printf("\n"); } } } else if(inst.op==_OP_LOADFLOAT) { - scprintf(_SC("[%03d] %15s %d %f %d %d\n"),n,g_InstrDesc[inst.op].name,inst._arg0,*((SQFloat*)&inst._arg1),inst._arg2,inst._arg3); + printf("[%03d] %15s %d %f %d %d\n",n,g_InstrDesc[inst.op].name,inst._arg0,*((SQFloat*)&inst._arg1),inst._arg2,inst._arg3); } else if(inst.op==_OP_ARITH){ - scprintf(_SC("[%03d] %15s %d %d %d %c\n"),n,g_InstrDesc[inst.op].name,inst._arg0,inst._arg1,inst._arg2,inst._arg3); + printf("[%03d] %15s %d %d %d %c\n",n,g_InstrDesc[inst.op].name,inst._arg0,inst._arg1,inst._arg2,inst._arg3); } else - scprintf(_SC("[%03d] %15s %d %d %d %d\n"),n,g_InstrDesc[inst.op].name,inst._arg0,inst._arg1,inst._arg2,inst._arg3); + printf("[%03d] %15s %d %d %d %d\n",n,g_InstrDesc[inst.op].name,inst._arg0,inst._arg1,inst._arg2,inst._arg3); n++; } - scprintf(_SC("-----\n")); - scprintf(_SC("stack size[%d]\n"),func->_stacksize); - scprintf(_SC("--------------------------------------------------------------------\n\n")); + printf("-----\n"); + printf("stack size[%d]\n",func->_stacksize); + printf("--------------------------------------------------------------------\n\n"); } #endif @@ -233,7 +234,7 @@ SQInteger SQFuncState::GetConstant(const SQObject &cons) _nliterals++; if(_nliterals > MAX_LITERALS) { val.Null(); - Error(_SC("internal compiler error: too many literals")); + Error("internal compiler error: too many literals"); } } return _integer(val); @@ -262,7 +263,7 @@ SQInteger SQFuncState::AllocStackPos() SQInteger npos=_vlocals.size(); _vlocals.push_back(SQLocalVarInfo()); if(_vlocals.size()>((SQUnsignedInteger)_stacksize)) { - if(_stacksize>MAX_FUNC_STACKSIZE) Error(_SC("internal compiler error: too many locals")); + if(_stacksize>MAX_FUNC_STACKSIZE) Error("internal compiler error: too many locals"); _stacksize=_vlocals.size(); } return npos; @@ -418,7 +419,6 @@ void SQFuncState::AddInstruction(SQInstruction &i) break; case _OP_GET: if( pi.op == _OP_LOAD && pi._arg0 == i._arg2 && (!IsLocal(pi._arg0))){ - pi._arg1 = pi._arg1; pi._arg2 = (unsigned char)i._arg1; pi.op = _OP_GETK; pi._arg0 = i._arg0; @@ -430,7 +430,6 @@ void SQFuncState::AddInstruction(SQInstruction &i) if( pi.op == _OP_LOAD && pi._arg0 == i._arg1 && (!IsLocal(pi._arg0))){ pi.op = _OP_PREPCALLK; pi._arg0 = i._arg0; - pi._arg1 = pi._arg1; pi._arg2 = i._arg2; pi._arg3 = i._arg3; return; @@ -440,7 +439,6 @@ void SQFuncState::AddInstruction(SQInstruction &i) if(pi.op == _OP_LOAD && pi._arg0 == i._arg1 && (!IsLocal(pi._arg0))){ pi.op = _OP_APPENDARRAY; pi._arg0 = i._arg0; - pi._arg1 = pi._arg1; pi._arg2 = MAX_FUNC_STACKSIZE; pi._arg3 = MAX_FUNC_STACKSIZE; return; @@ -475,7 +473,6 @@ void SQFuncState::AddInstruction(SQInstruction &i) { pi.op = i.op; pi._arg0 = i._arg0; - pi._arg1 = pi._arg1; pi._arg2 = i._arg2; pi._arg3 = MAX_FUNC_STACKSIZE; return; @@ -541,7 +538,7 @@ SQFunctionProto *SQFuncState::BuildProto() for(SQUnsignedInteger no = 0; no < _lineinfos.size(); no++) f->_lineinfos[no] = _lineinfos[no]; for(SQUnsignedInteger no = 0; no < _defaultparams.size(); no++) f->_defaultparams[no] = _defaultparams[no]; - memcpy(f->_instructions,&_instructions[0],_instructions.size()*sizeof(SQInstruction)); + memcpy(f->_instructions,&_instructions[0],(size_t)_instructions.size()*sizeof(SQInstruction)); f->_varparams = _varparams; diff --git a/src/3rdparty/squirrel/squirrel/sqlexer.cpp b/src/3rdparty/squirrel/squirrel/sqlexer.cpp index c03048e9a2..77c487a269 100644 --- a/src/3rdparty/squirrel/squirrel/sqlexer.cpp +++ b/src/3rdparty/squirrel/squirrel/sqlexer.cpp @@ -1,30 +1,41 @@ /* - see copyright notice in squirrel.h -*/ + * see copyright notice in squirrel.h + */ + +#include "../../../stdafx.h" + #include "sqpcheader.h" #include -#include #include "sqtable.h" #include "sqstring.h" #include "sqcompiler.h" #include "sqlexer.h" +#include "../../../string_func.h" + +#include "../../../safeguards.h" + #define CUR_CHAR (_currdata) #define RETURN_TOKEN(t) { _prevtoken = _curtoken; _curtoken = t; return t;} #define IS_EOB() (CUR_CHAR <= SQUIRREL_EOB) #define NEXT() {Next();_currentcolumn++;} -#define INIT_TEMP_STRING() { _longstr.resize(0);} -#define APPEND_CHAR(c) { _longstr.push_back(c);} -#define TERMINATE_BUFFER() {_longstr.push_back(_SC('\0'));} -#define ADD_KEYWORD(key,id) _keywords->NewSlot( SQString::Create(ss, _SC(#key)) ,SQInteger(id)) +#define ADD_KEYWORD(key,id) _keywords->NewSlot( SQString::Create(ss, #key) ,SQInteger(id)) -SQLexer::SQLexer(){} SQLexer::~SQLexer() { _keywords->Release(); } -void SQLexer::Init(SQSharedState *ss, SQLEXREADFUNC rg, SQUserPointer up,CompilerErrorFunc efunc,void *ed) +void SQLexer::APPEND_CHAR(WChar c) +{ + char buf[4]; + size_t chars = Utf8Encode(buf, c); + for (size_t i = 0; i < chars; i++) { + _longstr.push_back(buf[i]); + } +} + +SQLexer::SQLexer(SQSharedState *ss, SQLEXREADFUNC rg, SQUserPointer up,CompilerErrorFunc efunc,void *ed) { _errfunc = efunc; _errtarget = ed; @@ -74,20 +85,26 @@ void SQLexer::Init(SQSharedState *ss, SQLEXREADFUNC rg, SQUserPointer up,Compile _lasttokenline = _currentline = 1; _currentcolumn = 0; _prevtoken = -1; + _curtoken = -1; + + _svalue = NULL; + _nvalue = 0; + _fvalue = 0; + Next(); } -void SQLexer::Error(const SQChar *err) +NORETURN void SQLexer::Error(const SQChar *err) { _errfunc(_errtarget,err); } void SQLexer::Next() { - SQInteger t = _readf(_up); - if(t > MAX_CHAR) Error(_SC("Invalid character")); + WChar t = _readf(_up); + if(t > MAX_CHAR) Error("Invalid character"); if(t != 0) { - _currdata = (LexChar)t; + _currdata = t; return; } _currdata = SQUIRREL_EOB; @@ -110,9 +127,9 @@ void SQLexer::LexBlockComment() bool done = false; while(!done) { switch(CUR_CHAR) { - case _SC('*'): { NEXT(); if(CUR_CHAR == _SC('/')) { done = true; NEXT(); }}; continue; - case _SC('\n'): _currentline++; NEXT(); continue; - case SQUIRREL_EOB: Error(_SC("missing \"*/\" in comment")); + case '*': { NEXT(); if(CUR_CHAR == '/') { done = true; NEXT(); }}; continue; + case '\n': _currentline++; NEXT(); continue; + case SQUIRREL_EOB: Error("missing \"*/\" in comment"); default: NEXT(); } } @@ -123,136 +140,134 @@ SQInteger SQLexer::Lex() _lasttokenline = _currentline; while(CUR_CHAR != SQUIRREL_EOB) { switch(CUR_CHAR){ - case _SC('\t'): case _SC('\r'): case _SC(' '): NEXT(); continue; - case _SC('\n'): + case '\t': case '\r': case ' ': NEXT(); continue; + case '\n': _currentline++; _prevtoken=_curtoken; - _curtoken=_SC('\n'); + _curtoken='\n'; NEXT(); _currentcolumn=1; continue; - case _SC('/'): + case '/': NEXT(); switch(CUR_CHAR){ - case _SC('*'): + case '*': NEXT(); LexBlockComment(); continue; - case _SC('/'): - do { NEXT(); } while (CUR_CHAR != _SC('\n') && (!IS_EOB())); + case '/': + do { NEXT(); } while (CUR_CHAR != '\n' && (!IS_EOB())); continue; - case _SC('='): + case '=': NEXT(); RETURN_TOKEN(TK_DIVEQ); - continue; - case _SC('>'): + case '>': NEXT(); RETURN_TOKEN(TK_ATTR_CLOSE); - continue; default: RETURN_TOKEN('/'); } - case _SC('='): + case '=': NEXT(); - if (CUR_CHAR != _SC('=')){ RETURN_TOKEN('=') } + if (CUR_CHAR != '='){ RETURN_TOKEN('=') } else { NEXT(); RETURN_TOKEN(TK_EQ); } - case _SC('<'): + case '<': NEXT(); - if ( CUR_CHAR == _SC('=') ) { NEXT(); RETURN_TOKEN(TK_LE) } - else if ( CUR_CHAR == _SC('-') ) { NEXT(); RETURN_TOKEN(TK_NEWSLOT); } - else if ( CUR_CHAR == _SC('<') ) { NEXT(); RETURN_TOKEN(TK_SHIFTL); } - else if ( CUR_CHAR == _SC('/') ) { NEXT(); RETURN_TOKEN(TK_ATTR_OPEN); } - //else if ( CUR_CHAR == _SC('[') ) { NEXT(); ReadMultilineString(); RETURN_TOKEN(TK_STRING_LITERAL); } + if ( CUR_CHAR == '=' ) { NEXT(); RETURN_TOKEN(TK_LE) } + else if ( CUR_CHAR == '-' ) { NEXT(); RETURN_TOKEN(TK_NEWSLOT); } + else if ( CUR_CHAR == '<' ) { NEXT(); RETURN_TOKEN(TK_SHIFTL); } + else if ( CUR_CHAR == '/' ) { NEXT(); RETURN_TOKEN(TK_ATTR_OPEN); } + //else if ( CUR_CHAR == '[' ) { NEXT(); ReadMultilineString(); RETURN_TOKEN(TK_STRING_LITERAL); } else { RETURN_TOKEN('<') } - case _SC('>'): + case '>': NEXT(); - if (CUR_CHAR == _SC('=')){ NEXT(); RETURN_TOKEN(TK_GE);} - else if(CUR_CHAR == _SC('>')){ + if (CUR_CHAR == '='){ NEXT(); RETURN_TOKEN(TK_GE);} + else if(CUR_CHAR == '>'){ NEXT(); - if(CUR_CHAR == _SC('>')){ + if(CUR_CHAR == '>'){ NEXT(); RETURN_TOKEN(TK_USHIFTR); } RETURN_TOKEN(TK_SHIFTR); } else { RETURN_TOKEN('>') } - case _SC('!'): + case '!': NEXT(); - if (CUR_CHAR != _SC('=')){ RETURN_TOKEN('!')} + if (CUR_CHAR != '='){ RETURN_TOKEN('!')} else { NEXT(); RETURN_TOKEN(TK_NE); } - case _SC('@'): { + case '@': { SQInteger stype; NEXT(); - if(CUR_CHAR != _SC('"')) - Error(_SC("string expected")); - if((stype=ReadString(_SC('"'),true))!=-1) { + if(CUR_CHAR != '"') + Error("string expected"); + if((stype=ReadString('"',true))!=-1) { RETURN_TOKEN(stype); } - Error(_SC("error parsing the string")); + Error("error parsing the string"); } - case _SC('"'): - case _SC('\''): { + case '"': + case '\'': { SQInteger stype; if((stype=ReadString(CUR_CHAR,false))!=-1){ RETURN_TOKEN(stype); } - Error(_SC("error parsing the string")); + Error("error parsing the string"); } - case _SC('{'): case _SC('}'): case _SC('('): case _SC(')'): case _SC('['): case _SC(']'): - case _SC(';'): case _SC(','): case _SC('?'): case _SC('^'): case _SC('~'): + case '{': case '}': case '(': case ')': case '[': case ']': + case ';': case ',': case '?': case '^': case '~': {SQInteger ret = CUR_CHAR; NEXT(); RETURN_TOKEN(ret); } - case _SC('.'): + case '.': NEXT(); - if (CUR_CHAR != _SC('.')){ RETURN_TOKEN('.') } + if (CUR_CHAR != '.'){ RETURN_TOKEN('.') } NEXT(); - if (CUR_CHAR != _SC('.')){ Error(_SC("invalid token '..'")); } + if (CUR_CHAR != '.'){ Error("invalid token '..'"); } NEXT(); RETURN_TOKEN(TK_VARPARAMS); - case _SC('&'): + case '&': NEXT(); - if (CUR_CHAR != _SC('&')){ RETURN_TOKEN('&') } + if (CUR_CHAR != '&'){ RETURN_TOKEN('&') } else { NEXT(); RETURN_TOKEN(TK_AND); } - case _SC('|'): + case '|': NEXT(); - if (CUR_CHAR != _SC('|')){ RETURN_TOKEN('|') } + if (CUR_CHAR != '|'){ RETURN_TOKEN('|') } else { NEXT(); RETURN_TOKEN(TK_OR); } - case _SC(':'): + case ':': NEXT(); - if (CUR_CHAR != _SC(':')){ RETURN_TOKEN(':') } + if (CUR_CHAR != ':'){ RETURN_TOKEN(':') } else { NEXT(); RETURN_TOKEN(TK_DOUBLE_COLON); } - case _SC('*'): + case '*': NEXT(); - if (CUR_CHAR == _SC('=')){ NEXT(); RETURN_TOKEN(TK_MULEQ);} + if (CUR_CHAR == '='){ NEXT(); RETURN_TOKEN(TK_MULEQ);} else RETURN_TOKEN('*'); - case _SC('%'): + case '%': NEXT(); - if (CUR_CHAR == _SC('=')){ NEXT(); RETURN_TOKEN(TK_MODEQ);} + if (CUR_CHAR == '='){ NEXT(); RETURN_TOKEN(TK_MODEQ);} else RETURN_TOKEN('%'); - case _SC('-'): + case '-': NEXT(); - if (CUR_CHAR == _SC('=')){ NEXT(); RETURN_TOKEN(TK_MINUSEQ);} - else if (CUR_CHAR == _SC('-')){ NEXT(); RETURN_TOKEN(TK_MINUSMINUS);} + if (CUR_CHAR == '='){ NEXT(); RETURN_TOKEN(TK_MINUSEQ);} + else if (CUR_CHAR == '-'){ NEXT(); RETURN_TOKEN(TK_MINUSMINUS);} else RETURN_TOKEN('-'); - case _SC('+'): + case '+': NEXT(); - if (CUR_CHAR == _SC('=')){ NEXT(); RETURN_TOKEN(TK_PLUSEQ);} - else if (CUR_CHAR == _SC('+')){ NEXT(); RETURN_TOKEN(TK_PLUSPLUS);} + if (CUR_CHAR == '='){ NEXT(); RETURN_TOKEN(TK_PLUSEQ);} + else if (CUR_CHAR == '+'){ NEXT(); RETURN_TOKEN(TK_PLUSPLUS);} else RETURN_TOKEN('+'); case SQUIRREL_EOB: return 0; default:{ - if (scisdigit(CUR_CHAR)) { + if (isdigit(CUR_CHAR)) { SQInteger ret = ReadNumber(); RETURN_TOKEN(ret); } - else if (scisalpha(CUR_CHAR) || CUR_CHAR == _SC('_')) { + else if (isalpha(CUR_CHAR) || CUR_CHAR == '_') { SQInteger t = ReadID(); RETURN_TOKEN(t); } else { SQInteger c = CUR_CHAR; - if (sciscntrl((int)c)) Error(_SC("unexpected character(control)")); + if (iscntrl((int)c)) Error("unexpected character(control)"); NEXT(); RETURN_TOKEN(c); } @@ -273,7 +288,7 @@ SQInteger SQLexer::GetIDType(SQChar *s) } -SQInteger SQLexer::ReadString(SQChar ndelim,bool verbatim) +SQInteger SQLexer::ReadString(WChar ndelim,bool verbatim) { INIT_TEMP_STRING(); NEXT(); @@ -282,22 +297,22 @@ SQInteger SQLexer::ReadString(SQChar ndelim,bool verbatim) while(CUR_CHAR != ndelim) { switch(CUR_CHAR) { case SQUIRREL_EOB: - Error(_SC("unfinished string")); + Error("unfinished string"); return -1; - case _SC('\n'): - if(!verbatim) Error(_SC("newline in a constant")); + case '\n': + if(!verbatim) Error("newline in a constant"); APPEND_CHAR(CUR_CHAR); NEXT(); _currentline++; break; - case _SC('\\'): + case '\\': if(verbatim) { APPEND_CHAR('\\'); NEXT(); } else { NEXT(); switch(CUR_CHAR) { - case _SC('x'): NEXT(); { - if(!isxdigit(CUR_CHAR)) Error(_SC("hexadecimal number expected")); + case 'x': NEXT(); { + if(!isxdigit(CUR_CHAR)) Error("hexadecimal number expected"); const SQInteger maxdigits = 4; SQChar temp[maxdigits+1]; SQInteger n = 0; @@ -308,22 +323,22 @@ SQInteger SQLexer::ReadString(SQChar ndelim,bool verbatim) } temp[n] = 0; SQChar *sTemp; - APPEND_CHAR((SQChar)scstrtoul(temp,&sTemp,16)); + APPEND_CHAR((SQChar)strtoul(temp,&sTemp,16)); } break; - case _SC('t'): APPEND_CHAR(_SC('\t')); NEXT(); break; - case _SC('a'): APPEND_CHAR(_SC('\a')); NEXT(); break; - case _SC('b'): APPEND_CHAR(_SC('\b')); NEXT(); break; - case _SC('n'): APPEND_CHAR(_SC('\n')); NEXT(); break; - case _SC('r'): APPEND_CHAR(_SC('\r')); NEXT(); break; - case _SC('v'): APPEND_CHAR(_SC('\v')); NEXT(); break; - case _SC('f'): APPEND_CHAR(_SC('\f')); NEXT(); break; - case _SC('0'): APPEND_CHAR(_SC('\0')); NEXT(); break; - case _SC('\\'): APPEND_CHAR(_SC('\\')); NEXT(); break; - case _SC('"'): APPEND_CHAR(_SC('"')); NEXT(); break; - case _SC('\''): APPEND_CHAR(_SC('\'')); NEXT(); break; + case 't': APPEND_CHAR('\t'); NEXT(); break; + case 'a': APPEND_CHAR('\a'); NEXT(); break; + case 'b': APPEND_CHAR('\b'); NEXT(); break; + case 'n': APPEND_CHAR('\n'); NEXT(); break; + case 'r': APPEND_CHAR('\r'); NEXT(); break; + case 'v': APPEND_CHAR('\v'); NEXT(); break; + case 'f': APPEND_CHAR('\f'); NEXT(); break; + case '0': APPEND_CHAR('\0'); NEXT(); break; + case '\\': APPEND_CHAR('\\'); NEXT(); break; + case '"': APPEND_CHAR('"'); NEXT(); break; + case '\'': APPEND_CHAR('\''); NEXT(); break; default: - Error(_SC("unrecognised escaper char")); + Error("unrecognised escaper char"); break; } } @@ -344,9 +359,9 @@ SQInteger SQLexer::ReadString(SQChar ndelim,bool verbatim) } TERMINATE_BUFFER(); SQInteger len = _longstr.size()-1; - if(ndelim == _SC('\'')) { - if(len == 0) Error(_SC("empty constant")); - if(len > 1) Error(_SC("constant too long")); + if(ndelim == '\'') { + if(len == 0) Error("empty constant"); + if(len > 1) Error("constant too long"); _nvalue = _longstr[0]; return TK_INTEGER; } @@ -359,8 +374,8 @@ void LexHexadecimal(const SQChar *s,SQUnsignedInteger *res) *res = 0; while(*s != 0) { - if(scisdigit(*s)) *res = (*res)*16+((*s++)-'0'); - else if(scisxdigit(*s)) *res = (*res)*16+(toupper(*s++)-'A'+10); + if(isdigit(*s)) *res = (*res)*16+((*s++)-'0'); + else if(isxdigit(*s)) *res = (*res)*16+(toupper(*s++)-'A'+10); else { assert(0); } } } @@ -374,7 +389,7 @@ void LexInteger(const SQChar *s,SQUnsignedInteger *res) } } -SQInteger scisodigit(SQChar c) { return c >= _SC('0') && c <= _SC('7'); } +SQInteger scisodigit(SQChar c) { return c >= '0' && c <= '7'; } void LexOctal(const SQChar *s,SQUnsignedInteger *res) { @@ -401,14 +416,14 @@ SQInteger SQLexer::ReadNumber() SQChar *sTemp; INIT_TEMP_STRING(); NEXT(); - if(firstchar == _SC('0') && (toupper(CUR_CHAR) == _SC('X') || scisodigit(CUR_CHAR)) ) { + if(firstchar == '0' && (toupper(CUR_CHAR) == 'X' || scisodigit(CUR_CHAR)) ) { if(scisodigit(CUR_CHAR)) { type = TOCTAL; while(scisodigit(CUR_CHAR)) { APPEND_CHAR(CUR_CHAR); NEXT(); } - if(scisdigit(CUR_CHAR)) Error(_SC("invalid octal number")); + if(isdigit(CUR_CHAR)) Error("invalid octal number"); } else { NEXT(); @@ -417,15 +432,15 @@ SQInteger SQLexer::ReadNumber() APPEND_CHAR(CUR_CHAR); NEXT(); } - if(_longstr.size() > MAX_HEX_DIGITS) Error(_SC("too many digits for an Hex number")); + if(_longstr.size() > MAX_HEX_DIGITS) Error("too many digits for an Hex number"); } } else { APPEND_CHAR((int)firstchar); - while (CUR_CHAR == _SC('.') || scisdigit(CUR_CHAR) || isexponent(CUR_CHAR)) { - if(CUR_CHAR == _SC('.') || isexponent(CUR_CHAR)) type = TFLOAT; + while (CUR_CHAR == '.' || isdigit(CUR_CHAR) || isexponent(CUR_CHAR)) { + if(CUR_CHAR == '.' || isexponent(CUR_CHAR)) type = TFLOAT; if(isexponent(CUR_CHAR)) { - if(type != TFLOAT) Error(_SC("invalid numeric format")); + if(type != TFLOAT) Error("invalid numeric format"); type = TSCIENTIFIC; APPEND_CHAR(CUR_CHAR); NEXT(); @@ -433,7 +448,7 @@ SQInteger SQLexer::ReadNumber() APPEND_CHAR(CUR_CHAR); NEXT(); } - if(!scisdigit(CUR_CHAR)) Error(_SC("exponent expected")); + if(!isdigit(CUR_CHAR)) Error("exponent expected"); } APPEND_CHAR(CUR_CHAR); @@ -444,7 +459,7 @@ SQInteger SQLexer::ReadNumber() switch(type) { case TSCIENTIFIC: case TFLOAT: - _fvalue = (SQFloat)scstrtod(&_longstr[0],&sTemp); + _fvalue = (SQFloat)strtod(&_longstr[0],&sTemp); return TK_FLOAT; case TINT: LexInteger(&_longstr[0],(SQUnsignedInteger *)&_nvalue); @@ -466,7 +481,7 @@ SQInteger SQLexer::ReadID() do { APPEND_CHAR(CUR_CHAR); NEXT(); - } while(scisalnum(CUR_CHAR) || CUR_CHAR == _SC('_')); + } while(isalnum(CUR_CHAR) || CUR_CHAR == '_'); TERMINATE_BUFFER(); res = GetIDType(&_longstr[0]); if(res == TK_IDENTIFIER || res == TK_CONSTRUCTOR) { diff --git a/src/3rdparty/squirrel/squirrel/sqlexer.h b/src/3rdparty/squirrel/squirrel/sqlexer.h index 1d81ab3c8b..b53b309d6b 100644 --- a/src/3rdparty/squirrel/squirrel/sqlexer.h +++ b/src/3rdparty/squirrel/squirrel/sqlexer.h @@ -2,25 +2,26 @@ #ifndef _SQLEXER_H_ #define _SQLEXER_H_ -typedef unsigned short LexChar; - struct SQLexer { - SQLexer(); ~SQLexer(); - void Init(SQSharedState *ss,SQLEXREADFUNC rg,SQUserPointer up,CompilerErrorFunc efunc,void *ed); - void Error(const SQChar *err); + SQLexer(SQSharedState *ss,SQLEXREADFUNC rg,SQUserPointer up,CompilerErrorFunc efunc,void *ed); + NORETURN void Error(const SQChar *err); SQInteger Lex(); const SQChar *Tok2Str(SQInteger tok); private: SQInteger GetIDType(SQChar *s); - SQInteger ReadString(SQChar ndelim,bool verbatim); + SQInteger ReadString(WChar ndelim,bool verbatim); SQInteger ReadNumber(); void LexBlockComment(); SQInteger ReadID(); void Next(); SQInteger _curtoken; SQTable *_keywords; + void INIT_TEMP_STRING() { _longstr.resize(0); } + void APPEND_CHAR(WChar c); + void TERMINATE_BUFFER() { _longstr.push_back('\0'); } + public: SQInteger _prevtoken; SQInteger _currentline; @@ -31,7 +32,7 @@ public: SQFloat _fvalue; SQLEXREADFUNC _readf; SQUserPointer _up; - LexChar _currdata; + WChar _currdata; SQSharedState *_sharedstate; sqvector _longstr; CompilerErrorFunc _errfunc; diff --git a/src/3rdparty/squirrel/squirrel/sqmem.cpp b/src/3rdparty/squirrel/squirrel/sqmem.cpp index 6faf8165ae..5c1b3966aa 100644 --- a/src/3rdparty/squirrel/squirrel/sqmem.cpp +++ b/src/3rdparty/squirrel/squirrel/sqmem.cpp @@ -1,9 +1,16 @@ /* - see copyright notice in squirrel.h -*/ -#include "sqpcheader.h" -void *sq_vm_malloc(SQUnsignedInteger size){ return malloc(size); } + * see copyright notice in squirrel.h + */ -void *sq_vm_realloc(void *p, SQUnsignedInteger oldsize, SQUnsignedInteger size){ return realloc(p, size); } +#include "../../../stdafx.h" + +#include "sqpcheader.h" + +#include "../../../core/alloc_func.hpp" +#include "../../../safeguards.h" + +void *sq_vm_malloc(SQUnsignedInteger size){ return MallocT((size_t)size); } + +void *sq_vm_realloc(void *p, SQUnsignedInteger oldsize, SQUnsignedInteger size){ return ReallocT(static_cast(p), (size_t)size); } void sq_vm_free(void *p, SQUnsignedInteger size){ free(p); } diff --git a/src/3rdparty/squirrel/squirrel/sqobject.cpp b/src/3rdparty/squirrel/squirrel/sqobject.cpp index c19e71fa9b..d48baca1e9 100644 --- a/src/3rdparty/squirrel/squirrel/sqobject.cpp +++ b/src/3rdparty/squirrel/squirrel/sqobject.cpp @@ -1,6 +1,9 @@ /* - see copyright notice in squirrel.h -*/ + * see copyright notice in squirrel.h + */ + +#include "../../../stdafx.h" + #include "sqpcheader.h" #include "sqvm.h" #include "sqstring.h" @@ -11,30 +14,32 @@ #include "sqclass.h" #include "sqclosure.h" +#include "../../../safeguards.h" + const SQChar *IdType2Name(SQObjectType type) { switch(_RAW_TYPE(type)) { - case _RT_NULL:return _SC("null"); - case _RT_INTEGER:return _SC("integer"); - case _RT_FLOAT:return _SC("float"); - case _RT_BOOL:return _SC("bool"); - case _RT_STRING:return _SC("string"); - case _RT_TABLE:return _SC("table"); - case _RT_ARRAY:return _SC("array"); - case _RT_GENERATOR:return _SC("generator"); + case _RT_NULL:return "null"; + case _RT_INTEGER:return "integer"; + case _RT_FLOAT:return "float"; + case _RT_BOOL:return "bool"; + case _RT_STRING:return "string"; + case _RT_TABLE:return "table"; + case _RT_ARRAY:return "array"; + case _RT_GENERATOR:return "generator"; case _RT_CLOSURE: case _RT_NATIVECLOSURE: - return _SC("function"); + return "function"; case _RT_USERDATA: case _RT_USERPOINTER: - return _SC("userdata"); - case _RT_THREAD: return _SC("thread"); - case _RT_FUNCPROTO: return _SC("function"); - case _RT_CLASS: return _SC("class"); - case _RT_INSTANCE: return _SC("instance"); - case _RT_WEAKREF: return _SC("weakref"); + return "userdata"; + case _RT_THREAD: return "thread"; + case _RT_FUNCPROTO: return "function"; + case _RT_CLASS: return "class"; + case _RT_INSTANCE: return "instance"; + case _RT_WEAKREF: return "weakref"; default: return NULL; } @@ -130,8 +135,8 @@ bool SQDelegable::SetDelegate(SQTable *mt) bool SQGenerator::Yield(SQVM *v) { - if(_state==eSuspended) { v->Raise_Error(_SC("internal vm error, yielding dead generator")); return false;} - if(_state==eDead) { v->Raise_Error(_SC("internal vm error, yielding a dead generator")); return false; } + if(_state==eSuspended) { v->Raise_Error("internal vm error, yielding dead generator"); return false;} + if(_state==eDead) { v->Raise_Error("internal vm error, yielding a dead generator"); return false; } SQInteger size = v->_top-v->_stackbase; _ci=*v->ci; _stack.resize(size); @@ -156,8 +161,8 @@ bool SQGenerator::Yield(SQVM *v) bool SQGenerator::Resume(SQVM *v,SQInteger target) { SQInteger size=_stack.size(); - if(_state==eDead){ v->Raise_Error(_SC("resuming dead generator")); return false; } - if(_state==eRunning){ v->Raise_Error(_SC("resuming active generator")); return false; } + if(_state==eDead){ v->Raise_Error("resuming dead generator"); return false; } + if(_state==eRunning){ v->Raise_Error("resuming active generator"); return false; } SQInteger prevtop=v->_top-v->_stackbase; PUSH_CALLINFO(v,_ci); SQInteger oldstackbase=v->_stackbase; @@ -184,7 +189,7 @@ bool SQGenerator::Resume(SQVM *v,SQInteger target) v->ci->_prevstkbase = (SQInt32)(v->_stackbase - oldstackbase); _state=eRunning; if (type(v->_debughook) != OT_NULL && _rawval(v->_debughook) != _rawval(v->ci->_closure)) - v->CallDebugHook(_SC('c')); + v->CallDebugHook('c'); return true; } @@ -232,7 +237,7 @@ SQInteger SQFunctionProto::GetLine(SQInstruction *curr) bool SafeWrite(HSQUIRRELVM v,SQWRITEFUNC write,SQUserPointer up,SQUserPointer dest,SQInteger size) { if(write(up,dest,size) != size) { - v->Raise_Error(_SC("io error (write function failure)")); + v->Raise_Error("io error (write function failure)"); return false; } return true; @@ -241,7 +246,7 @@ bool SafeWrite(HSQUIRRELVM v,SQWRITEFUNC write,SQUserPointer up,SQUserPointer de bool SafeRead(HSQUIRRELVM v,SQWRITEFUNC read,SQUserPointer up,SQUserPointer dest,SQInteger size) { if(size && read(up,dest,size) != size) { - v->Raise_Error(_SC("io error, read function failure, the origin stream could be corrupted/trucated")); + v->Raise_Error("io error, read function failure, the origin stream could be corrupted/trucated"); return false; } return true; @@ -257,7 +262,7 @@ bool CheckTag(HSQUIRRELVM v,SQWRITEFUNC read,SQUserPointer up,SQInteger tag) SQInteger t; _CHECK_IO(SafeRead(v,read,up,&t,sizeof(t))); if(t != tag){ - v->Raise_Error(_SC("invalid or corrupted closure stream")); + v->Raise_Error("invalid or corrupted closure stream"); return false; } return true; @@ -269,7 +274,7 @@ bool WriteObject(HSQUIRRELVM v,SQUserPointer up,SQWRITEFUNC write,SQObjectPtr &o switch(type(o)){ case OT_STRING: _CHECK_IO(SafeWrite(v,write,up,&_string(o)->_len,sizeof(SQInteger))); - _CHECK_IO(SafeWrite(v,write,up,_stringval(o),rsl(_string(o)->_len))); + _CHECK_IO(SafeWrite(v,write,up,_stringval(o),_string(o)->_len)); break; case OT_INTEGER: _CHECK_IO(SafeWrite(v,write,up,&_integer(o),sizeof(SQInteger)));break; @@ -278,7 +283,7 @@ bool WriteObject(HSQUIRRELVM v,SQUserPointer up,SQWRITEFUNC write,SQObjectPtr &o case OT_NULL: break; default: - v->Raise_Error(_SC("cannot serialize a %s"),GetTypeName(o)); + v->Raise_Error("cannot serialize a %s",GetTypeName(o)); return false; } return true; @@ -292,7 +297,7 @@ bool ReadObject(HSQUIRRELVM v,SQUserPointer up,SQREADFUNC read,SQObjectPtr &o) case OT_STRING:{ SQInteger len; _CHECK_IO(SafeRead(v,read,up,&len,sizeof(SQInteger))); - _CHECK_IO(SafeRead(v,read,up,_ss(v)->GetScratchPad(rsl(len)),rsl(len))); + _CHECK_IO(SafeRead(v,read,up,_ss(v)->GetScratchPad(len),len)); o=SQString::Create(_ss(v),_ss(v)->GetScratchPad(-1),len); } break; @@ -308,7 +313,7 @@ bool ReadObject(HSQUIRRELVM v,SQUserPointer up,SQREADFUNC read,SQObjectPtr &o) o=_null_; break; default: - v->Raise_Error(_SC("cannot serialize a %s"),IdType2Name(t)); + v->Raise_Error("cannot serialize a %s",IdType2Name(t)); return false; } return true; diff --git a/src/3rdparty/squirrel/squirrel/sqobject.h b/src/3rdparty/squirrel/squirrel/sqobject.h index ac367ae02c..d71e515a8d 100644 --- a/src/3rdparty/squirrel/squirrel/sqobject.h +++ b/src/3rdparty/squirrel/squirrel/sqobject.h @@ -32,24 +32,24 @@ enum SQMetaMethod{ MT_LAST = 18 }; -#define MM_ADD _SC("_add") -#define MM_SUB _SC("_sub") -#define MM_MUL _SC("_mul") -#define MM_DIV _SC("_div") -#define MM_UNM _SC("_unm") -#define MM_MODULO _SC("_modulo") -#define MM_SET _SC("_set") -#define MM_GET _SC("_get") -#define MM_TYPEOF _SC("_typeof") -#define MM_NEXTI _SC("_nexti") -#define MM_CMP _SC("_cmp") -#define MM_CALL _SC("_call") -#define MM_CLONED _SC("_cloned") -#define MM_NEWSLOT _SC("_newslot") -#define MM_DELSLOT _SC("_delslot") -#define MM_TOSTRING _SC("_tostring") -#define MM_NEWMEMBER _SC("_newmember") -#define MM_INHERITED _SC("_inherited") +#define MM_ADD "_add" +#define MM_SUB "_sub" +#define MM_MUL "_mul" +#define MM_DIV "_div" +#define MM_UNM "_unm" +#define MM_MODULO "_modulo" +#define MM_SET "_set" +#define MM_GET "_get" +#define MM_TYPEOF "_typeof" +#define MM_NEXTI "_nexti" +#define MM_CMP "_cmp" +#define MM_CALL "_call" +#define MM_CLONED "_cloned" +#define MM_NEWSLOT "_newslot" +#define MM_DELSLOT "_delslot" +#define MM_TOSTRING "_tostring" +#define MM_NEWMEMBER "_newmember" +#define MM_INHERITED "_inherited" #define MINPOWER2 4 diff --git a/src/3rdparty/squirrel/squirrel/sqopcodes.h b/src/3rdparty/squirrel/squirrel/sqopcodes.h index d20ef4f3f5..a9e4a8743c 100644 --- a/src/3rdparty/squirrel/squirrel/sqopcodes.h +++ b/src/3rdparty/squirrel/squirrel/sqopcodes.h @@ -92,8 +92,7 @@ struct SQInstructionDesc { struct SQInstruction { - SQInstruction(){}; - SQInstruction(SQOpcode _op,SQInteger a0=0,SQInteger a1=0,SQInteger a2=0,SQInteger a3=0) + SQInstruction(SQOpcode _op=_OP_SCOPE_END,SQInteger a0=0,SQInteger a1=0,SQInteger a2=0,SQInteger a3=0) { op = _op; _arg0 = (unsigned char)a0;_arg1 = (SQInt32)a1; _arg2 = (unsigned char)a2;_arg3 = (unsigned char)a3; diff --git a/src/3rdparty/squirrel/squirrel/sqpcheader.h b/src/3rdparty/squirrel/squirrel/sqpcheader.h index db49f5e0d1..3cebdd11ac 100644 --- a/src/3rdparty/squirrel/squirrel/sqpcheader.h +++ b/src/3rdparty/squirrel/squirrel/sqpcheader.h @@ -6,10 +6,6 @@ #include #endif -#include -#include -#include -#include #include //squirrel stuff #include diff --git a/src/3rdparty/squirrel/squirrel/sqstate.cpp b/src/3rdparty/squirrel/squirrel/sqstate.cpp index 45b533776a..35878e197b 100644 --- a/src/3rdparty/squirrel/squirrel/sqstate.cpp +++ b/src/3rdparty/squirrel/squirrel/sqstate.cpp @@ -1,6 +1,9 @@ /* - see copyright notice in squirrel.h -*/ + * see copyright notice in squirrel.h + */ + +#include "../../../stdafx.h" + #include "sqpcheader.h" #include "sqopcodes.h" #include "sqvm.h" @@ -12,20 +15,14 @@ #include "squserdata.h" #include "sqclass.h" +#include "../../../safeguards.h" + SQObjectPtr _null_; SQObjectPtr _true_(true); SQObjectPtr _false_(false); SQObjectPtr _one_((SQInteger)1); SQObjectPtr _minusone_((SQInteger)-1); -SQSharedState::SQSharedState() -{ - _compilererrorhandler = NULL; - _printfunc = NULL; - _debuginfo = false; - _notifyallexceptions = false; -} - #define newsysstring(s) { \ _systemstrings->push_back(SQString::Create(this,s)); \ } @@ -94,8 +91,12 @@ SQTable *CreateDefaultDelegate(SQSharedState *ss,SQRegFunction *funcz) return t; } -void SQSharedState::Init() +SQSharedState::SQSharedState() { + _compilererrorhandler = NULL; + _printfunc = NULL; + _debuginfo = false; + _notifyallexceptions = false; _scratchpad=NULL; _scratchpadsize=0; #ifndef NO_GARBAGE_COLLECTOR @@ -108,21 +109,21 @@ void SQSharedState::Init() _metamethodsmap = SQTable::Create(this,MT_LAST-1); //adding type strings to avoid memory trashing //types names - newsysstring(_SC("null")); - newsysstring(_SC("table")); - newsysstring(_SC("array")); - newsysstring(_SC("closure")); - newsysstring(_SC("string")); - newsysstring(_SC("userdata")); - newsysstring(_SC("integer")); - newsysstring(_SC("float")); - newsysstring(_SC("userpointer")); - newsysstring(_SC("function")); - newsysstring(_SC("generator")); - newsysstring(_SC("thread")); - newsysstring(_SC("class")); - newsysstring(_SC("instance")); - newsysstring(_SC("bool")); + newsysstring("null"); + newsysstring("table"); + newsysstring("array"); + newsysstring("closure"); + newsysstring("string"); + newsysstring("userdata"); + newsysstring("integer"); + newsysstring("float"); + newsysstring("userpointer"); + newsysstring("function"); + newsysstring("generator"); + newsysstring("thread"); + newsysstring("class"); + newsysstring("instance"); + newsysstring("bool"); //meta methods newmetamethod(MM_ADD); newmetamethod(MM_SUB); @@ -143,7 +144,7 @@ void SQSharedState::Init() newmetamethod(MM_NEWMEMBER); newmetamethod(MM_INHERITED); - _constructoridx = SQString::Create(this,_SC("constructor")); + _constructoridx = SQString::Create(this,"constructor"); _registry = SQTable::Create(this,0); _consts = SQTable::Create(this,0); _table_default_delegate = CreateDefaultDelegate(this,_table_default_delegate_funcz); @@ -486,10 +487,10 @@ void RefTable::AllocNodes(SQUnsignedInteger size) ////////////////////////////////////////////////////////////////////////// //SQStringTable /* -* The following code is based on Lua 4.0 (Copyright 1994-2002 Tecgraf, PUC-Rio.) -* http://www.lua.org/copyright.html#4 -* http://www.lua.org/source/4.0.1/src_lstring.c.html -*/ + * The following code is based on Lua 4.0 (Copyright 1994-2002 Tecgraf, PUC-Rio.) + * http://www.lua.org/copyright.html#4 + * http://www.lua.org/source/4.0.1/src_lstring.c.html + */ SQStringTable::SQStringTable() { @@ -507,26 +508,22 @@ void SQStringTable::AllocNodes(SQInteger size) { _numofslots = size; _strings = (SQString**)SQ_MALLOC(sizeof(SQString*)*_numofslots); - memset(_strings,0,sizeof(SQString*)*_numofslots); + memset(_strings,0,sizeof(SQString*)*(size_t)_numofslots); } SQString *SQStringTable::Add(const SQChar *news,SQInteger len) { if(len<0) - len = (SQInteger)scstrlen(news); - SQHash h = ::_hashstr(news,len)&(_numofslots-1); + len = (SQInteger)strlen(news); + SQHash h = ::_hashstr(news,(size_t)len)&(_numofslots-1); SQString *s; for (s = _strings[h]; s; s = s->_next){ - if(s->_len == len && (!memcmp(news,s->_val,rsl(len)))) + if(s->_len == len && (!memcmp(news,s->_val,(size_t)len))) return s; //found } - SQString *t=(SQString *)SQ_MALLOC(rsl(len)+sizeof(SQString)); - new (t) SQString; - memcpy(t->_val,news,rsl(len)); - t->_val[len] = _SC('\0'); - t->_len = len; - t->_hash = ::_hashstr(news,len); + SQString *t=(SQString *)SQ_MALLOC(len+sizeof(SQString)); + new (t) SQString(news, len); t->_next = _strings[h]; _strings[h] = t; _slotused++; @@ -535,6 +532,16 @@ SQString *SQStringTable::Add(const SQChar *news,SQInteger len) return t; } +SQString::SQString(const SQChar *news, SQInteger len) +{ + memcpy(_val,news,(size_t)len); + _val[len] = '\0'; + _len = len; + _hash = ::_hashstr(news,(size_t)len); + _next = NULL; + _sharedstate = NULL; +} + void SQStringTable::Resize(SQInteger size) { SQInteger oldsize=_numofslots; @@ -568,7 +575,7 @@ void SQStringTable::Remove(SQString *bs) _slotused--; SQInteger slen = s->_len; s->~SQString(); - SQ_FREE(s,sizeof(SQString) + rsl(slen)); + SQ_FREE(s,sizeof(SQString) + slen); return; } prev = s; diff --git a/src/3rdparty/squirrel/squirrel/sqstate.h b/src/3rdparty/squirrel/squirrel/sqstate.h index 302f68611a..da6bf9ae64 100644 --- a/src/3rdparty/squirrel/squirrel/sqstate.h +++ b/src/3rdparty/squirrel/squirrel/sqstate.h @@ -58,7 +58,6 @@ struct SQSharedState { SQSharedState(); ~SQSharedState(); - void Init(); public: SQChar* GetScratchPad(SQInteger size); SQInteger GetMetaMethodIdxByName(const SQObjectPtr &name); @@ -123,12 +122,6 @@ private: #define _instance_ddel _table(_sharedstate->_instance_default_delegate) #define _weakref_ddel _table(_sharedstate->_weakref_default_delegate) -#ifdef SQUNICODE //rsl REAL STRING LEN -#define rsl(l) ((l)<<1) -#else -#define rsl(l) (l) -#endif - extern SQObjectPtr _null_; extern SQObjectPtr _true_; extern SQObjectPtr _false_; diff --git a/src/3rdparty/squirrel/squirrel/sqstring.h b/src/3rdparty/squirrel/squirrel/sqstring.h index 14f09e1b0f..a5f298e1e2 100644 --- a/src/3rdparty/squirrel/squirrel/sqstring.h +++ b/src/3rdparty/squirrel/squirrel/sqstring.h @@ -13,7 +13,7 @@ inline SQHash _hashstr (const SQChar *s, size_t l) struct SQString : public SQRefCounted { - SQString(){} + SQString(const SQChar *news, SQInteger len); ~SQString(){} public: static SQString *Create(SQSharedState *ss, const SQChar *, SQInteger len = -1 ); diff --git a/src/3rdparty/squirrel/squirrel/sqtable.cpp b/src/3rdparty/squirrel/squirrel/sqtable.cpp index bb5feba3e7..60146fe738 100644 --- a/src/3rdparty/squirrel/squirrel/sqtable.cpp +++ b/src/3rdparty/squirrel/squirrel/sqtable.cpp @@ -1,12 +1,17 @@ /* -see copyright notice in squirrel.h -*/ + * see copyright notice in squirrel.h + */ + +#include "../../../stdafx.h" + #include "sqpcheader.h" #include "sqvm.h" #include "sqtable.h" #include "sqfuncproto.h" #include "sqclosure.h" +#include "../../../safeguards.h" + SQTable::SQTable(SQSharedState *ss,SQInteger nInitialSize) { SQInteger pow2size=MINPOWER2; diff --git a/src/3rdparty/squirrel/squirrel/sqtable.h b/src/3rdparty/squirrel/squirrel/sqtable.h index 2b4a3d4de4..52d9ba41ab 100644 --- a/src/3rdparty/squirrel/squirrel/sqtable.h +++ b/src/3rdparty/squirrel/squirrel/sqtable.h @@ -2,10 +2,10 @@ #ifndef _SQTABLE_H_ #define _SQTABLE_H_ /* -* The following code is based on Lua 4.0 (Copyright 1994-2002 Tecgraf, PUC-Rio.) -* http://www.lua.org/copyright.html#4 -* http://www.lua.org/source/4.0.1/src_ltable.c.html -*/ + * The following code is based on Lua 4.0 (Copyright 1994-2002 Tecgraf, PUC-Rio.) + * http://www.lua.org/copyright.html#4 + * http://www.lua.org/source/4.0.1/src_ltable.c.html + */ #include "sqstring.h" diff --git a/src/3rdparty/squirrel/squirrel/squirrel.dsp b/src/3rdparty/squirrel/squirrel/squirrel.dsp deleted file mode 100644 index eb8a0c1774..0000000000 --- a/src/3rdparty/squirrel/squirrel/squirrel.dsp +++ /dev/null @@ -1,302 +0,0 @@ -# Microsoft Developer Studio Project File - Name="squirrel" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Static Library" 0x0104 - -CFG=squirrel - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "squirrel.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "squirrel.mak" CFG="squirrel - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "squirrel - Win32 Release" (based on "Win32 (x86) Static Library") -!MESSAGE "squirrel - Win32 Debug" (based on "Win32 (x86) Static Library") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_LocalPath ".." -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "squirrel - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c -# ADD CPP /nologo /W3 /GX /O2 /I "..\include" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /D "GARBAGE_COLLECTOR" /YX /FD /c -# ADD BASE RSC /l 0x410 /d "NDEBUG" -# ADD RSC /l 0x410 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo -# ADD LIB32 /nologo /out:"..\lib\squirrel.lib" - -!ELSEIF "$(CFG)" == "squirrel - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c -# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "..\include" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /D "GARBAGE_COLLECTOR" /YX /FD /GZ /c -# ADD BASE RSC /l 0x410 /d "_DEBUG" -# ADD RSC /l 0x410 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo -# ADD LIB32 /nologo /out:"..\lib\squirrel.lib" - -!ENDIF - -# Begin Target - -# Name "squirrel - Win32 Release" -# Name "squirrel - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE=.\sqapi.cpp - -!IF "$(CFG)" == "squirrel - Win32 Release" - -!ELSEIF "$(CFG)" == "squirrel - Win32 Debug" - -# ADD CPP /YX"stdafx.h" - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE=.\sqbaselib.cpp - -!IF "$(CFG)" == "squirrel - Win32 Release" - -!ELSEIF "$(CFG)" == "squirrel - Win32 Debug" - -# ADD CPP /YX"stdafx.h" - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE=.\sqcompiler.cpp - -!IF "$(CFG)" == "squirrel - Win32 Release" - -!ELSEIF "$(CFG)" == "squirrel - Win32 Debug" - -# ADD CPP /YX"stdafx.h" - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE=.\sqdebug.cpp - -!IF "$(CFG)" == "squirrel - Win32 Release" - -!ELSEIF "$(CFG)" == "squirrel - Win32 Debug" - -# ADD CPP /YX"stdafx.h" - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE=.\sqfuncstate.cpp - -!IF "$(CFG)" == "squirrel - Win32 Release" - -!ELSEIF "$(CFG)" == "squirrel - Win32 Debug" - -# ADD CPP /YX"stdafx.h" - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE=.\sqlexer.cpp - -!IF "$(CFG)" == "squirrel - Win32 Release" - -!ELSEIF "$(CFG)" == "squirrel - Win32 Debug" - -# ADD CPP /YX"stdafx.h" - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE=.\sqmem.cpp -# End Source File -# Begin Source File - -SOURCE=.\sqobject.cpp - -!IF "$(CFG)" == "squirrel - Win32 Release" - -!ELSEIF "$(CFG)" == "squirrel - Win32 Debug" - -# ADD CPP /YX"stdafx.h" - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE=.\sqstate.cpp - -!IF "$(CFG)" == "squirrel - Win32 Release" - -!ELSEIF "$(CFG)" == "squirrel - Win32 Debug" - -# ADD CPP /YX"stdafx.h" - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE=.\sqtable.cpp - -!IF "$(CFG)" == "squirrel - Win32 Release" - -!ELSEIF "$(CFG)" == "squirrel - Win32 Debug" - -# ADD CPP /YX"stdafx.h" - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE=.\sqclass.cpp - -!IF "$(CFG)" == "squirrel - Win32 Release" - -!ELSEIF "$(CFG)" == "squirrel - Win32 Debug" - -# ADD CPP /YX"stdafx.h" - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE=.\sqvm.cpp - -!IF "$(CFG)" == "squirrel - Win32 Release" - -!ELSEIF "$(CFG)" == "squirrel - Win32 Debug" - -# ADD CPP /YX"stdafx.h" - -!ENDIF - -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# Begin Source File - -SOURCE=.\sqarray.h -# End Source File -# Begin Source File - -SOURCE=.\sqclosure.h -# End Source File -# Begin Source File - -SOURCE=.\sqcompiler.h -# End Source File -# Begin Source File - -SOURCE=.\sqfuncproto.h -# End Source File -# Begin Source File - -SOURCE=.\sqfuncstate.h -# End Source File -# Begin Source File - -SOURCE=.\sqlexer.h -# End Source File -# Begin Source File - -SOURCE=.\sqobject.h -# End Source File -# Begin Source File - -SOURCE=.\sqopcodes.h -# End Source File -# Begin Source File - -SOURCE=.\sqpcheader.h -# End Source File -# Begin Source File - -SOURCE=.\sqstate.h -# End Source File -# Begin Source File - -SOURCE=.\sqstring.h -# End Source File -# Begin Source File - -SOURCE=.\sqtable.h -# End Source File -# Begin Source File - -SOURCE=.\squserdata.h -# End Source File -# Begin Source File - -SOURCE=.\squtils.h -# End Source File -# Begin Source File - -SOURCE=.\sqclass.h -# End Source File -# Begin Source File - -SOURCE=.\sqvm.h -# End Source File -# End Group -# End Target -# End Project diff --git a/src/3rdparty/squirrel/squirrel/squserdata.h b/src/3rdparty/squirrel/squirrel/squserdata.h index 8b6b431481..3bf1a9dbad 100644 --- a/src/3rdparty/squirrel/squirrel/squserdata.h +++ b/src/3rdparty/squirrel/squirrel/squserdata.h @@ -4,7 +4,8 @@ struct SQUserData : SQDelegable { - SQUserData(SQSharedState *ss){ _delegate = 0; _hook = NULL; INIT_CHAIN(); ADD_TO_CHAIN(&_ss(this)->_gc_chain, this); } + SQUserData(SQSharedState *ss, SQInteger size){ _delegate = 0; _hook = NULL; INIT_CHAIN(); ADD_TO_CHAIN(&_ss(this)->_gc_chain, this); _size = size; _typetag = 0; +} ~SQUserData() { REMOVE_FROM_CHAIN(&_ss(this)->_gc_chain, this); @@ -13,9 +14,7 @@ struct SQUserData : SQDelegable static SQUserData* Create(SQSharedState *ss, SQInteger size) { SQUserData* ud = (SQUserData*)SQ_MALLOC(sizeof(SQUserData)+(size-1)); - new (ud) SQUserData(ss); - ud->_size = size; - ud->_typetag = 0; + new (ud) SQUserData(ss, size); return ud; } #ifndef NO_GARBAGE_COLLECTOR diff --git a/src/3rdparty/squirrel/squirrel/squtils.h b/src/3rdparty/squirrel/squirrel/squtils.h index 111a1c383a..28c6cbec2b 100644 --- a/src/3rdparty/squirrel/squirrel/squtils.h +++ b/src/3rdparty/squirrel/squirrel/squtils.h @@ -41,7 +41,7 @@ public: size_t allocated_size = _allocated * sizeof(T); _allocated = 0; - for(SQUnsignedInteger i = 0; i < _size; i++) + for(size_t i = 0; i < _size; i++) _vals[i].~T(); SQ_FREE(_vals, allocated_size); } @@ -61,7 +61,7 @@ public: for(SQUnsignedInteger i = newsize; i < _size; i++) { _vals[i].~T(); } - _size = newsize; + _size = (size_t)newsize; } } void shrinktofit() { if(_size > 4) { _realloc(_size); } } @@ -90,7 +90,7 @@ public: { _vals[idx].~T(); if(idx < (_size - 1)) { - memmove(&_vals[idx], &_vals[idx+1], sizeof(T) * (_size - idx - 1)); + memmove(&_vals[idx], &_vals[idx+1], sizeof(T) * (_size - (size_t)idx - 1)); } _size--; } @@ -103,10 +103,10 @@ private: { newsize = (newsize > 0)?newsize:4; _vals = (T*)SQ_REALLOC(_vals, _allocated * sizeof(T), newsize * sizeof(T)); - _allocated = newsize; + _allocated = (size_t)newsize; } - SQUnsignedInteger _size; - SQUnsignedInteger _allocated; + size_t _size; + size_t _allocated; }; #endif //_SQUTILS_H_ diff --git a/src/3rdparty/squirrel/squirrel/sqvm.cpp b/src/3rdparty/squirrel/squirrel/sqvm.cpp index c8f4db674a..973002b49d 100644 --- a/src/3rdparty/squirrel/squirrel/sqvm.cpp +++ b/src/3rdparty/squirrel/squirrel/sqvm.cpp @@ -1,10 +1,12 @@ /* - see copyright notice in squirrel.h -*/ + * see copyright notice in squirrel.h + */ + +#include "../../../stdafx.h" + #include #include "sqpcheader.h" #include -#include #include "sqopcodes.h" #include "sqfuncproto.h" #include "sqvm.h" @@ -15,6 +17,10 @@ #include "sqarray.h" #include "sqclass.h" +#include "../../../string_func.h" + +#include "../../../safeguards.h" + #define TOP() (_stack._vals[_top-1]) #define CLEARSTACK(_last_top) { if((_last_top) >= _top) ClearStack(_last_top); } @@ -45,10 +51,10 @@ bool SQVM::BW_OP(SQUnsignedInteger op,SQObjectPtr &trg,const SQObjectPtr &o1,con case BW_SHIFTL: res = i1 << i2; break; case BW_SHIFTR: res = i1 >> i2; break; case BW_USHIFTR:res = (SQInteger)(*((SQUnsignedInteger*)&i1) >> i2); break; - default: { Raise_Error(_SC("internal vm error bitwise op failed")); return false; } + default: { Raise_Error("internal vm error bitwise op failed"); return false; } } } - else { Raise_Error(_SC("bitwise op between '%s' and '%s'"),GetTypeName(o1),GetTypeName(o2)); return false;} + else { Raise_Error("bitwise op between '%s' and '%s'",GetTypeName(o1),GetTypeName(o2)); return false;} trg = res; return true; } @@ -61,11 +67,11 @@ bool SQVM::ARITH_OP(SQUnsignedInteger op,SQObjectPtr &trg,const SQObjectPtr &o1, switch(op) { case '+': res = i1 + i2; break; case '-': res = i1 - i2; break; - case '/': if(i2 == 0) { Raise_Error(_SC("division by zero")); return false; } + case '/': if(i2 == 0) { Raise_Error("division by zero"); return false; } res = i1 / i2; break; case '*': res = i1 * i2; break; - case '%': if(i2 == 0) { Raise_Error(_SC("modulo by zero")); return false; } + case '%': if(i2 == 0) { Raise_Error("modulo by zero"); return false; } res = i1 % i2; break; default: res = 0xDEADBEEF; @@ -88,7 +94,7 @@ bool SQVM::ARITH_OP(SQUnsignedInteger op,SQObjectPtr &trg,const SQObjectPtr &o1, if(!StringCat(o1, o2, trg)) return false; } else if(!ArithMetaMethod(op,o1,o2,trg)) { - Raise_Error(_SC("arith op %c on between '%s' and '%s'"),op,GetTypeName(o1),GetTypeName(o2)); return false; + Raise_Error("arith op %c on between '%s' and '%s'",op,GetTypeName(o1),GetTypeName(o2)); return false; } } return true; @@ -109,6 +115,11 @@ SQVM::SQVM(SQSharedState *ss) _can_suspend = false; _in_stackoverflow = false; _ops_till_suspend = 0; + _callsstack = NULL; + _callsstacksize = 0; + _alloccallsstacksize = 0; + _top = 0; + _stackbase = 0; ci = NULL; INIT_CHAIN();ADD_TO_CHAIN(&_ss(this)->_gc_chain,this); } @@ -137,11 +148,11 @@ bool SQVM::ArithMetaMethod(SQInteger op,const SQObjectPtr &o1,const SQObjectPtr { SQMetaMethod mm; switch(op){ - case _SC('+'): mm=MT_ADD; break; - case _SC('-'): mm=MT_SUB; break; - case _SC('/'): mm=MT_DIV; break; - case _SC('*'): mm=MT_MUL; break; - case _SC('%'): mm=MT_MODULO; break; + case '+': mm=MT_ADD; break; + case '-': mm=MT_SUB; break; + case '/': mm=MT_DIV; break; + case '*': mm=MT_MUL; break; + case '%': mm=MT_MODULO; break; default: mm = MT_ADD; assert(0); break; //shutup compiler } if(is_delegable(o1) && _delegable(o1)->_delegate) { @@ -173,7 +184,7 @@ bool SQVM::NEG_OP(SQObjectPtr &trg,const SQObjectPtr &o) } default:break; //shutup compiler } - Raise_Error(_SC("attempt to negate a %s"), GetTypeName(o)); + Raise_Error("attempt to negate a %s", GetTypeName(o)); return false; } @@ -185,7 +196,7 @@ bool SQVM::ObjCmp(const SQObjectPtr &o1,const SQObjectPtr &o2,SQInteger &result) SQObjectPtr res; switch(type(o1)){ case OT_STRING: - _RET_SUCCEED(scstrcmp(_stringval(o1),_stringval(o2))); + _RET_SUCCEED(strcmp(_stringval(o1),_stringval(o2))); case OT_INTEGER: /* FS#3954: wrong integer comparison */ _RET_SUCCEED((_integer(o1)<_integer(o2))?-1:(_integer(o1)==_integer(o2))?0:1); @@ -198,7 +209,7 @@ bool SQVM::ObjCmp(const SQObjectPtr &o1,const SQObjectPtr &o2,SQInteger &result) Push(o1);Push(o2); if(CallMetaMethod(_delegable(o1),MT_CMP,2,res)) { if(type(res) != OT_INTEGER) { - Raise_Error(_SC("_cmp must return an integer")); + Raise_Error("_cmp must return an integer"); return false; } _RET_SUCCEED(_integer(res)) @@ -251,22 +262,19 @@ bool SQVM::CMP_OP(CmpOP op, const SQObjectPtr &o1,const SQObjectPtr &o2,SQObject void SQVM::ToString(const SQObjectPtr &o,SQObjectPtr &res) { + char buf[64]; switch(type(o)) { case OT_STRING: res = o; return; case OT_FLOAT: - scsprintf(_sp(rsl(NUMBER_MAX_CHAR+1)),_SC("%g"),_float(o)); + seprintf(buf, lastof(buf),"%g",_float(o)); break; case OT_INTEGER: -#if defined(_SQ64) - scsprintf(_sp(rsl(NUMBER_MAX_CHAR+1)),_SC("%ld"),_integer(o)); -#else - scsprintf(_sp(rsl(NUMBER_MAX_CHAR+1)),_SC("%d"),_integer(o)); -#endif + seprintf(buf, lastof(buf),OTTD_PRINTF64,_integer(o)); break; case OT_BOOL: - scsprintf(_sp(rsl(6)),_integer(o)?_SC("true"):_SC("false")); + seprintf(buf, lastof(buf),_integer(o)?"true":"false"); break; case OT_TABLE: case OT_USERDATA: @@ -280,9 +288,9 @@ void SQVM::ToString(const SQObjectPtr &o,SQObjectPtr &res) } } default: - scsprintf(_sp(rsl(sizeof(void*)+20)),_SC("(%s : 0x%p)"),GetTypeName(o),(void*)_rawval(o)); + seprintf(buf, lastof(buf),"(%s : 0x%p)",GetTypeName(o),(void*)_rawval(o)); } - res = SQString::Create(_ss(this),_spval); + res = SQString::Create(_ss(this),buf); } @@ -292,9 +300,9 @@ bool SQVM::StringCat(const SQObjectPtr &str,const SQObjectPtr &obj,SQObjectPtr & ToString(str, a); ToString(obj, b); SQInteger l = _string(a)->_len , ol = _string(b)->_len; - SQChar *s = _sp(rsl(l + ol + 1)); - memcpy(s, _stringval(a), rsl(l)); - memcpy(s + l, _stringval(b), rsl(ol)); + SQChar *s = _sp(l + ol + 1); + memcpy(s, _stringval(a), (size_t)l); + memcpy(s + l, _stringval(b), (size_t)ol); dest = SQString::Create(_ss(this), _spval, l + ol); return true; } @@ -350,7 +358,7 @@ bool SQVM::StartCall(SQClosure *closure,SQInteger target,SQInteger args,SQIntege else if(func->_varparams) { if (nargs < paramssize) { - Raise_Error(_SC("wrong number of parameters")); + Raise_Error("wrong number of parameters"); return false; } for(SQInteger n = 0; n < nargs - paramssize; n++) { @@ -359,7 +367,7 @@ bool SQVM::StartCall(SQClosure *closure,SQInteger target,SQInteger args,SQIntege } } else { - Raise_Error(_SC("wrong number of parameters")); + Raise_Error("wrong number of parameters"); return false; } } @@ -396,7 +404,7 @@ bool SQVM::StartCall(SQClosure *closure,SQInteger target,SQInteger args,SQIntege _top = newtop; _stackbase = stackbase; if (type(_debughook) != OT_NULL && _rawval(_debughook) != _rawval(ci->_closure)) - CallDebugHook(_SC('c')); + CallDebugHook('c'); return true; } @@ -404,7 +412,7 @@ bool SQVM::Return(SQInteger _arg0, SQInteger _arg1, SQObjectPtr &retval) { if (type(_debughook) != OT_NULL && _rawval(_debughook) != _rawval(ci->_closure)) for(SQInteger i=0;i_ncalls;i++) - CallDebugHook(_SC('r')); + CallDebugHook('r'); SQBool broot = ci->_root; SQInteger last_top = _top; @@ -470,9 +478,9 @@ bool SQVM::DerefInc(SQInteger op,SQObjectPtr &target, SQObjectPtr &self, SQObjec SQRESULT SQVM::Suspend() { if (_suspended) - return sq_throwerror(this, _SC("cannot suspend an already suspended vm")); + return sq_throwerror(this, "cannot suspend an already suspended vm"); if (_nnativecalls!=2) - return sq_throwerror(this, _SC("cannot suspend through native calls/metamethods")); + return sq_throwerror(this, "cannot suspend through native calls/metamethods"); return SQ_SUSPEND_FLAG; } @@ -510,12 +518,12 @@ bool SQVM::FOREACH_OP(SQObjectPtr &o1,SQObjectPtr &o2,SQObjectPtr o4 = o2 = itr; if(type(itr) == OT_NULL) _FINISH(exitpos); if(!Get(o1, itr, o3, false,false)) { - Raise_Error(_SC("_nexti returned an invalid idx")); + Raise_Error("_nexti returned an invalid idx"); return false; } _FINISH(1); } - Raise_Error(_SC("_nexti failed")); + Raise_Error("_nexti failed"); return false; } break; @@ -531,19 +539,20 @@ bool SQVM::FOREACH_OP(SQObjectPtr &o1,SQObjectPtr &o2,SQObjectPtr _generator(o1)->Resume(this, arg_2+1); _FINISH(0); } + /* FALL THROUGH */ default: - Raise_Error(_SC("cannot iterate %s"), GetTypeName(o1)); + Raise_Error("cannot iterate %s", GetTypeName(o1)); } return false; //cannot be hit(just to avoid warnings) } bool SQVM::DELEGATE_OP(SQObjectPtr &trg,SQObjectPtr &o1,SQObjectPtr &o2) { - if(type(o1) != OT_TABLE) { Raise_Error(_SC("delegating a '%s'"), GetTypeName(o1)); return false; } + if(type(o1) != OT_TABLE) { Raise_Error("delegating a '%s'", GetTypeName(o1)); return false; } switch(type(o2)) { case OT_TABLE: if(!_table(o1)->SetDelegate(_table(o2))){ - Raise_Error(_SC("delegate cycle detected")); + Raise_Error("delegate cycle detected"); return false; } break; @@ -551,7 +560,7 @@ bool SQVM::DELEGATE_OP(SQObjectPtr &trg,SQObjectPtr &o1,SQObjectPtr &o2) _table(o1)->SetDelegate(NULL); break; default: - Raise_Error(_SC("using '%s' as delegate"), GetTypeName(o2)); + Raise_Error("using '%s' as delegate", GetTypeName(o2)); return false; break; } @@ -603,15 +612,15 @@ bool SQVM::CLOSURE_OP(SQObjectPtr &target, SQFunctionProto *func) bool SQVM::GETVARGV_OP(SQObjectPtr &target,SQObjectPtr &index,CallInfo *ci) { if(ci->_vargs.size == 0) { - Raise_Error(_SC("the function doesn't have var args")); + Raise_Error("the function doesn't have var args"); return false; } if(!sq_isnumeric(index)){ - Raise_Error(_SC("indexing 'vargv' with %s"),GetTypeName(index)); + Raise_Error("indexing 'vargv' with %s",GetTypeName(index)); return false; } SQInteger idx = tointeger(index); - if(idx < 0 || idx >= ci->_vargs.size){ Raise_Error(_SC("vargv index out of range")); return false; } + if(idx < 0 || idx >= ci->_vargs.size){ Raise_Error("vargv index out of range"); return false; } target = _vargsstack[ci->_vargs.base+idx]; return true; } @@ -621,7 +630,7 @@ bool SQVM::CLASS_OP(SQObjectPtr &target,SQInteger baseclass,SQInteger attributes SQClass *base = NULL; SQObjectPtr attrs; if(baseclass != -1) { - if(type(_stack._vals[_stackbase+baseclass]) != OT_CLASS) { Raise_Error(_SC("trying to inherit from a %s"),GetTypeName(_stack._vals[_stackbase+baseclass])); return false; } + if(type(_stack._vals[_stackbase+baseclass]) != OT_CLASS) { Raise_Error("trying to inherit from a %s",GetTypeName(_stack._vals[_stackbase+baseclass])); return false; } base = _class(_stack._vals[_stackbase + baseclass]); } if(attributes != MAX_FUNC_STACKSIZE) { @@ -676,7 +685,7 @@ bool SQVM::GETPARENT_OP(SQObjectPtr &o,SQObjectPtr &target) case OT_CLASS: target = _class(o)->_base?_class(o)->_base:_null_; break; default: - Raise_Error(_SC("the %s type doesn't have a parent slot"), GetTypeName(o)); + Raise_Error("the %s type doesn't have a parent slot", GetTypeName(o)); return false; } return true; @@ -684,7 +693,7 @@ bool SQVM::GETPARENT_OP(SQObjectPtr &o,SQObjectPtr &target) bool SQVM::Execute(SQObjectPtr &closure, SQInteger target, SQInteger nargs, SQInteger stackbase,SQObjectPtr &outres, SQBool raiseerror,ExecutionType et) { - if ((_nnativecalls + 1) > MAX_NATIVE_CALLS) { Raise_Error(_SC("Native stack overflow")); return false; } + if ((_nnativecalls + 1) > MAX_NATIVE_CALLS) { Raise_Error("Native stack overflow"); return false; } _nnativecalls++; AutoDec ad(&_nnativecalls); SQInteger traps = 0; @@ -739,12 +748,12 @@ exception_restore: const SQInstruction &_i_ = *ci->_ip++; //dumpstack(_stackbase); - //scprintf("%s %d %d %d %d\n",g_InstrDesc[_i_.op].name,arg0,arg1,arg2,arg3); + //printf("%s %d %d %d %d\n",g_InstrDesc[_i_.op].name,arg0,arg1,arg2,arg3); switch(_i_.op) { case _OP_LINE: if(type(_debughook) != OT_NULL && _rawval(_debughook) != _rawval(ci->_closure)) - CallDebugHook(_SC('l'),arg1); + CallDebugHook('l',arg1); continue; case _OP_LOAD: TARGET = ci->_literals[arg1]; continue; case _OP_LOADINT: TARGET = (SQInteger)arg1; continue; @@ -760,6 +769,7 @@ exception_restore: ct_stackbase = _stackbase; goto common_call; } + /* FALL THROUGH */ case _OP_CALL: { ct_tailcall = false; ct_target = arg0; @@ -829,11 +839,11 @@ common_call: STK(ct_target) = clo; break; } - Raise_Error(_SC("attempt to call '%s'"), GetTypeName(clo)); + Raise_Error("attempt to call '%s'", GetTypeName(clo)); SQ_THROW(); } default: - Raise_Error(_SC("attempt to call '%s'"), GetTypeName(clo)); + Raise_Error("attempt to call '%s'", GetTypeName(clo)); SQ_THROW(); } } @@ -935,7 +945,7 @@ common_call: case _OP_EXISTS: TARGET = Get(STK(arg1), STK(arg2), temp_reg, true,false)?_true_:_false_;continue; case _OP_INSTANCEOF: if(type(STK(arg1)) != OT_CLASS || type(STK(arg2)) != OT_INSTANCE) - {Raise_Error(_SC("cannot apply instanceof between a %s and a %s"),GetTypeName(STK(arg1)),GetTypeName(STK(arg2))); SQ_THROW();} + {Raise_Error("cannot apply instanceof between a %s and a %s",GetTypeName(STK(arg1)),GetTypeName(STK(arg2))); SQ_THROW();} TARGET = _instance(STK(arg2))->InstanceOf(_class(STK(arg1)))?_true_:_false_; continue; case _OP_AND: @@ -958,7 +968,7 @@ common_call: TARGET = SQInteger(~t); continue; } - Raise_Error(_SC("attempt to perform a bitwise op on a %s"), GetTypeName(STK(arg1))); + Raise_Error("attempt to perform a bitwise op on a %s", GetTypeName(STK(arg1))); SQ_THROW(); case _OP_CLOSURE: { SQClosure *c = ci->_closure._unVal.pClosure; @@ -973,7 +983,7 @@ common_call: traps -= ci->_etraps; if(sarg1 != MAX_FUNC_STACKSIZE) STK(arg1) = temp_reg; } - else { Raise_Error(_SC("trying to yield a '%s',only genenerator can be yielded"), GetTypeName(ci->_closure)); SQ_THROW();} + else { Raise_Error("trying to yield a '%s',only genenerator can be yielded", GetTypeName(ci->_closure)); SQ_THROW();} if(Return(arg0, arg1, temp_reg)){ assert(traps == 0); outres = temp_reg; @@ -983,7 +993,7 @@ common_call: } continue; case _OP_RESUME: - if(type(STK(arg1)) != OT_GENERATOR){ Raise_Error(_SC("trying to resume a '%s',only genenerator can be resumed"), GetTypeName(STK(arg1))); SQ_THROW();} + if(type(STK(arg1)) != OT_GENERATOR){ Raise_Error("trying to resume a '%s',only genenerator can be resumed", GetTypeName(STK(arg1))); SQ_THROW();} _GUARD(_generator(STK(arg1))->Resume(this, arg0)); traps += ci->_etraps; continue; @@ -999,7 +1009,7 @@ common_call: case _OP_DELEGATE: _GUARD(DELEGATE_OP(TARGET,STK(arg1),STK(arg2))); continue; case _OP_CLONE: if(!Clone(STK(arg1), TARGET)) - { Raise_Error(_SC("cloning a %s"), GetTypeName(STK(arg1))); SQ_THROW();} + { Raise_Error("cloning a %s", GetTypeName(STK(arg1))); SQ_THROW();} continue; case _OP_TYPEOF: TypeOf(STK(arg1), TARGET); continue; case _OP_PUSHTRAP:{ @@ -1015,7 +1025,7 @@ common_call: } } continue; - case _OP_THROW: Raise_Error(TARGET); SQ_THROW(); continue; + case _OP_THROW: Raise_Error(TARGET); SQ_THROW(); case _OP_CLASS: _GUARD(CLASS_OP(TARGET,arg1,arg2)); continue; case _OP_NEWSLOTA: bool bstatic = (arg0&NEW_SLOT_STATIC_FLAG)?true:false; @@ -1125,11 +1135,11 @@ void SQVM::CallDebugHook(SQInteger type,SQInteger forcedline) bool SQVM::CallNative(SQNativeClosure *nclosure,SQInteger nargs,SQInteger stackbase,SQObjectPtr &retval,bool &suspend) { - if (_nnativecalls + 1 > MAX_NATIVE_CALLS) { Raise_Error(_SC("Native stack overflow")); return false; } + if (_nnativecalls + 1 > MAX_NATIVE_CALLS) { Raise_Error("Native stack overflow"); return false; } SQInteger nparamscheck = nclosure->_nparamscheck; if(((nparamscheck > 0) && (nparamscheck != nargs)) || ((nparamscheck < 0) && (nargs < (-nparamscheck)))) { - Raise_Error(_SC("wrong number of parameters")); + Raise_Error("wrong number of parameters"); return false; } @@ -1337,10 +1347,10 @@ bool SQVM::Set(const SQObjectPtr &self,const SQObjectPtr &key,const SQObjectPtr } break; case OT_ARRAY: - if(!sq_isnumeric(key)) {Raise_Error(_SC("indexing %s with %s"),GetTypeName(self),GetTypeName(key)); return false; } + if(!sq_isnumeric(key)) {Raise_Error("indexing %s with %s",GetTypeName(self),GetTypeName(key)); return false; } return _array(self)->Set(tointeger(key),val); default: - Raise_Error(_SC("trying to set '%s'"),GetTypeName(self)); + Raise_Error("trying to set '%s'",GetTypeName(self)); return false; } if(fetchroot) { @@ -1379,7 +1389,7 @@ cloned_mt: bool SQVM::NewSlot(const SQObjectPtr &self,const SQObjectPtr &key,const SQObjectPtr &val,bool bstatic) { - if(type(key) == OT_NULL) { Raise_Error(_SC("null cannot be used as index")); return false; } + if(type(key) == OT_NULL) { Raise_Error("null cannot be used as index"); return false; } switch(type(self)) { case OT_TABLE: { bool rawcall = true; @@ -1397,25 +1407,25 @@ bool SQVM::NewSlot(const SQObjectPtr &self,const SQObjectPtr &key,const SQObject SQObjectPtr res; Push(self);Push(key);Push(val); if(!CallMetaMethod(_instance(self),MT_NEWSLOT,3,res)) { - Raise_Error(_SC("class instances do not support the new slot operator")); + Raise_Error("class instances do not support the new slot operator"); return false; } break;} case OT_CLASS: if(!_class(self)->NewSlot(_ss(this),key,val,bstatic)) { if(_class(self)->_locked) { - Raise_Error(_SC("trying to modify a class that has already been instantiated")); + Raise_Error("trying to modify a class that has already been instantiated"); return false; } else { SQObjectPtr oval = PrintObjVal(key); - Raise_Error(_SC("the property '%s' already exists"),_stringval(oval)); + Raise_Error("the property '%s' already exists",_stringval(oval)); return false; } } break; default: - Raise_Error(_SC("indexing %s with %s"),GetTypeName(self),GetTypeName(key)); + Raise_Error("indexing %s with %s",GetTypeName(self),GetTypeName(key)); return false; break; } @@ -1446,7 +1456,7 @@ bool SQVM::DeleteSlot(const SQObjectPtr &self,const SQObjectPtr &key,SQObjectPtr } } else { - Raise_Error(_SC("cannot delete a slot from %s"),GetTypeName(self)); + Raise_Error("cannot delete a slot from %s",GetTypeName(self)); return false; } } @@ -1454,7 +1464,7 @@ bool SQVM::DeleteSlot(const SQObjectPtr &self,const SQObjectPtr &key,SQObjectPtr } break; default: - Raise_Error(_SC("attempt to delete a slot from a %s"),GetTypeName(self)); + Raise_Error("attempt to delete a slot from a %s",GetTypeName(self)); return false; } return true; @@ -1558,37 +1568,37 @@ void SQVM::dumpstack(SQInteger stackbase,bool dumpall) { SQInteger size=dumpall?_stack.size():_top; SQInteger n=0; - scprintf(_SC("\n>>>>stack dump<<<<\n")); + printf("\n>>>>stack dump<<<<\n"); CallInfo &ci=_callsstack[_callsstacksize-1]; - scprintf(_SC("IP: %p\n"),ci._ip); - scprintf(_SC("prev stack base: %d\n"),ci._prevstkbase); - scprintf(_SC("prev top: %d\n"),ci._prevtop); + printf("IP: %p\n",ci._ip); + printf("prev stack base: %d\n",ci._prevstkbase); + printf("prev top: %d\n",ci._prevtop); for(SQInteger i=0;i"));else scprintf(_SC(" ")); - scprintf(_SC("[%d]:"),n); + if(stackbase==i)printf(">");else printf(" "); + printf("[%d]:",n); switch(type(obj)){ - case OT_FLOAT: scprintf(_SC("FLOAT %.3f"),_float(obj));break; - case OT_INTEGER: scprintf(_SC("INTEGER %d"),_integer(obj));break; - case OT_BOOL: scprintf(_SC("BOOL %s"),_integer(obj)?"true":"false");break; - case OT_STRING: scprintf(_SC("STRING %s"),_stringval(obj));break; - case OT_NULL: scprintf(_SC("NULL")); break; - case OT_TABLE: scprintf(_SC("TABLE %p[%p]"),_table(obj),_table(obj)->_delegate);break; - case OT_ARRAY: scprintf(_SC("ARRAY %p"),_array(obj));break; - case OT_CLOSURE: scprintf(_SC("CLOSURE [%p]"),_closure(obj));break; - case OT_NATIVECLOSURE: scprintf(_SC("NATIVECLOSURE"));break; - case OT_USERDATA: scprintf(_SC("USERDATA %p[%p]"),_userdataval(obj),_userdata(obj)->_delegate);break; - case OT_GENERATOR: scprintf(_SC("GENERATOR %p"),_generator(obj));break; - case OT_THREAD: scprintf(_SC("THREAD [%p]"),_thread(obj));break; - case OT_USERPOINTER: scprintf(_SC("USERPOINTER %p"),_userpointer(obj));break; - case OT_CLASS: scprintf(_SC("CLASS %p"),_class(obj));break; - case OT_INSTANCE: scprintf(_SC("INSTANCE %p"),_instance(obj));break; - case OT_WEAKREF: scprintf(_SC("WEAKERF %p"),_weakref(obj));break; + case OT_FLOAT: printf("FLOAT %.3f",_float(obj));break; + case OT_INTEGER: printf("INTEGER %d",_integer(obj));break; + case OT_BOOL: printf("BOOL %s",_integer(obj)?"true":"false");break; + case OT_STRING: printf("STRING %s",_stringval(obj));break; + case OT_NULL: printf("NULL"); break; + case OT_TABLE: printf("TABLE %p[%p]",_table(obj),_table(obj)->_delegate);break; + case OT_ARRAY: printf("ARRAY %p",_array(obj));break; + case OT_CLOSURE: printf("CLOSURE [%p]",_closure(obj));break; + case OT_NATIVECLOSURE: printf("NATIVECLOSURE");break; + case OT_USERDATA: printf("USERDATA %p[%p]",_userdataval(obj),_userdata(obj)->_delegate);break; + case OT_GENERATOR: printf("GENERATOR %p",_generator(obj));break; + case OT_THREAD: printf("THREAD [%p]",_thread(obj));break; + case OT_USERPOINTER: printf("USERPOINTER %p",_userpointer(obj));break; + case OT_CLASS: printf("CLASS %p",_class(obj));break; + case OT_INSTANCE: printf("INSTANCE %p",_instance(obj));break; + case OT_WEAKREF: printf("WEAKERF %p",_weakref(obj));break; default: assert(0); break; }; - scprintf(_SC("\n")); + printf("\n"); ++n; } } diff --git a/src/3rdparty/squirrel/squirrel/sqvm.h b/src/3rdparty/squirrel/squirrel/sqvm.h index d272d152e7..89a592e136 100644 --- a/src/3rdparty/squirrel/squirrel/sqvm.h +++ b/src/3rdparty/squirrel/squirrel/sqvm.h @@ -203,7 +203,7 @@ inline SQObjectPtr &stack_get(HSQUIRRELVM v,SQInteger idx){return ((idx>=0)?(v-> if(v->_callsstacksize == v->_alloccallsstacksize) { \ if (v->_callsstacksize > 65535 && !v->_in_stackoverflow) {\ v->_in_stackoverflow = true; \ - v->Raise_Error(_SC("stack overflow"));\ + v->Raise_Error("stack overflow");\ v->CallErrorHandler(v->_lasterror);\ return false;\ }\ diff --git a/src/ai/ai_config.cpp b/src/ai/ai_config.cpp index 3b3c09a429..f920d31014 100644 --- a/src/ai/ai_config.cpp +++ b/src/ai/ai_config.cpp @@ -11,10 +11,13 @@ #include "../stdafx.h" #include "../settings_type.h" +#include "../string_func.h" #include "ai.hpp" #include "ai_config.hpp" #include "ai_info.hpp" +#include "../safeguards.h" + /** Configuration for AI start date, every AI has this setting. */ ScriptConfigItem _start_date_config = { "start_date", @@ -107,7 +110,7 @@ void AIConfig::SetSetting(const char *name, int value) if (it != this->settings.end()) { (*it).second = value; } else { - this->settings[strdup(name)] = value; + this->settings[stredup(name)] = value; } return; diff --git a/src/ai/ai_core.cpp b/src/ai/ai_core.cpp index 3f4381b0c5..d4ff233116 100644 --- a/src/ai/ai_core.cpp +++ b/src/ai/ai_core.cpp @@ -22,6 +22,8 @@ #include "ai_info.hpp" #include "ai.hpp" +#include "../safeguards.h" + /* static */ uint AI::frame_counter = 0; /* static */ AIScannerInfo *AI::scanner_info = NULL; /* static */ AIScannerLibrary *AI::scanner_library = NULL; diff --git a/src/ai/ai_gui.cpp b/src/ai/ai_gui.cpp index 8bcc41455d..0c557d790b 100644 --- a/src/ai/ai_gui.cpp +++ b/src/ai/ai_gui.cpp @@ -40,11 +40,12 @@ #include "../game/game_info.hpp" #include "../game/game_instance.hpp" - #include "table/strings.h" #include +#include "../safeguards.h" + static ScriptConfig *GetConfig(CompanyID slot) { if (slot == OWNER_DEITY) return GameConfig::GetConfig(); @@ -345,7 +346,7 @@ struct AISettingsWindow : public Window { virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) { if (widget == WID_AIS_BACKGROUND) { - this->line_height = FONT_HEIGHT_NORMAL + WD_MATRIX_TOP + WD_MATRIX_BOTTOM; + this->line_height = max(SETTING_BUTTON_HEIGHT, FONT_HEIGHT_NORMAL) + WD_MATRIX_TOP + WD_MATRIX_BOTTOM; resize->width = 1; resize->height = this->line_height; @@ -370,6 +371,7 @@ struct AISettingsWindow : public Window { int y = r.top; int button_y_offset = (this->line_height - SETTING_BUTTON_HEIGHT) / 2; + int text_y_offset = (this->line_height - FONT_HEIGHT_NORMAL) / 2; for (; this->vscroll->IsVisible(i) && it != visible_settings.end(); i++, it++) { const ScriptConfigItem &config_item = **it; int current_value = config->GetSetting((config_item).name); @@ -411,7 +413,7 @@ struct AISettingsWindow : public Window { } } - DrawString(text_left, text_right, y + WD_MATRIX_TOP, str, colour); + DrawString(text_left, text_right, y + text_y_offset, str, colour); y += this->line_height; } } @@ -853,7 +855,7 @@ struct AIConfigWindow : public Window { case WID_AIC_GAMELIST: { this->selected_slot = OWNER_DEITY; this->InvalidateData(); - if (click_count > 1 && this->selected_slot != INVALID_COMPANY) ShowAIListWindow((CompanyID)this->selected_slot); + if (click_count > 1 && this->selected_slot != INVALID_COMPANY && _game_mode != GM_NORMAL) ShowAIListWindow((CompanyID)this->selected_slot); break; } @@ -968,7 +970,7 @@ struct AIDebugWindow : public Window { static const int top_offset; ///< Offset of the text at the top of the WID_AID_LOG_PANEL. static const int bottom_offset; ///< Offset of the text at the bottom of the WID_AID_LOG_PANEL. - static const unsigned int MAX_BREAK_STR_STRING_LENGTH = 256; ///< Maximum length of the break string. + static const uint MAX_BREAK_STR_STRING_LENGTH = 256; ///< Maximum length of the break string. static CompanyID ai_debug_company; ///< The AI that is (was last) being debugged. int redraw_timer; ///< Timer for redrawing the window, otherwise it'll happen every tick. diff --git a/src/ai/ai_info.cpp b/src/ai/ai_info.cpp index 375248d7d2..ec7c896cee 100644 --- a/src/ai/ai_info.cpp +++ b/src/ai/ai_info.cpp @@ -15,8 +15,11 @@ #include "ai_info.hpp" #include "ai_scanner.hpp" #include "../debug.h" +#include "../string_func.h" #include "../rev.h" +#include "../safeguards.h" + /** * Check if the API version provided by the AI is supported. * @param api_version The API version as provided by the AI. @@ -25,7 +28,7 @@ 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.5") == 0 || strcmp(api_version, "1.6") == 0; } #if defined(WIN32) @@ -62,15 +65,15 @@ template <> const char *GetClassName() { return "AIInfo"; } { /* Get the AIInfo */ SQUserPointer instance = NULL; - if (SQ_FAILED(sq_getinstanceup(vm, 2, &instance, 0)) || instance == NULL) return sq_throwerror(vm, _SC("Pass an instance of a child class of AIInfo to RegisterAI")); + if (SQ_FAILED(sq_getinstanceup(vm, 2, &instance, 0)) || instance == NULL) return sq_throwerror(vm, "Pass an instance of a child class of AIInfo to RegisterAI"); AIInfo *info = (AIInfo *)instance; SQInteger res = ScriptInfo::Constructor(vm, info); if (res != 0) return res; ScriptConfigItem config = _start_date_config; - config.name = strdup(config.name); - config.description = strdup(config.description); + config.name = stredup(config.name); + config.description = stredup(config.description); info->config_list.push_front(config); if (info->engine->MethodExists(*info->SQ_instance, "MinVersionToLoad")) { @@ -92,7 +95,7 @@ template <> const char *GetClassName() { return "AIInfo"; } return SQ_ERROR; } } else { - info->api_version = strdup("0.7"); + info->api_version = stredup("0.7"); } /* Remove the link to the real instance, else it might get deleted by RegisterAI() */ @@ -115,7 +118,7 @@ template <> const char *GetClassName() { return "AIInfo"; } char buf[8]; seprintf(buf, lastof(buf), "%d.%d", GB(_openttd_newgrf_version, 28, 4), GB(_openttd_newgrf_version, 24, 4)); - info->api_version = strdup(buf); + info->api_version = stredup(buf); /* Remove the link to the real instance, else it might get deleted by RegisterAI() */ sq_setinstanceup(vm, 2, NULL); diff --git a/src/ai/ai_instance.cpp b/src/ai/ai_instance.cpp index f109a09260..c03e745992 100644 --- a/src/ai/ai_instance.cpp +++ b/src/ai/ai_instance.cpp @@ -82,6 +82,8 @@ #include "../company_base.h" #include "../company_func.h" +#include "../safeguards.h" + AIInstance::AIInstance() : ScriptInstance("AI") {} @@ -169,6 +171,17 @@ void AIInstance::RegisterAPI() SQAISignList_Register(this->engine); SQAIStation_Register(this->engine); SQAIStationList_Register(this->engine); + SQAIStationList_Cargo_Register(this->engine); + SQAIStationList_CargoPlanned_Register(this->engine); + SQAIStationList_CargoPlannedByFrom_Register(this->engine); + SQAIStationList_CargoPlannedByVia_Register(this->engine); + SQAIStationList_CargoPlannedFromByVia_Register(this->engine); + SQAIStationList_CargoPlannedViaByFrom_Register(this->engine); + SQAIStationList_CargoWaiting_Register(this->engine); + SQAIStationList_CargoWaitingByFrom_Register(this->engine); + SQAIStationList_CargoWaitingByVia_Register(this->engine); + SQAIStationList_CargoWaitingFromByVia_Register(this->engine); + SQAIStationList_CargoWaitingViaByFrom_Register(this->engine); SQAIStationList_Vehicle_Register(this->engine); SQAISubsidy_Register(this->engine); SQAISubsidyList_Register(this->engine); diff --git a/src/ai/ai_scanner.cpp b/src/ai/ai_scanner.cpp index 64b877c6c8..4eb2071479 100644 --- a/src/ai/ai_scanner.cpp +++ b/src/ai/ai_scanner.cpp @@ -18,6 +18,8 @@ #include "ai_info.hpp" #include "ai_scanner.hpp" +#include "../safeguards.h" + AIScannerInfo::AIScannerInfo() : ScriptScanner(), @@ -31,7 +33,7 @@ void AIScannerInfo::Initialize() /* Create the dummy AI */ free(this->main_script); - this->main_script = strdup("%_dummy"); + this->main_script = stredup("%_dummy"); extern void Script_CreateDummyInfo(HSQUIRRELVM vm, const char *type, const char *dir); Script_CreateDummyInfo(this->engine->GetVM(), "AI", "ai"); } @@ -46,9 +48,9 @@ AIScannerInfo::~AIScannerInfo() delete this->info_dummy; } -void AIScannerInfo::GetScriptName(ScriptInfo *info, char *name, int len) +void AIScannerInfo::GetScriptName(ScriptInfo *info, char *name, const char *last) { - snprintf(name, len, "%s", info->GetName()); + seprintf(name, last, "%s", info->GetName()); } void AIScannerInfo::RegisterAPI(class Squirrel *engine) @@ -96,7 +98,7 @@ AIInfo *AIScannerInfo::FindInfo(const char *nameParam, int versionParam, bool fo if (nameParam == NULL) return NULL; char ai_name[1024]; - ttd_strlcpy(ai_name, nameParam, sizeof(ai_name)); + strecpy(ai_name, nameParam, lastof(ai_name)); strtolower(ai_name); AIInfo *info = NULL; @@ -118,7 +120,7 @@ AIInfo *AIScannerInfo::FindInfo(const char *nameParam, int versionParam, bool fo if (force_exact_match) { /* Try to find a direct 'name.version' match */ char ai_name_tmp[1024]; - snprintf(ai_name_tmp, sizeof(ai_name_tmp), "%s.%d", ai_name, versionParam); + seprintf(ai_name_tmp, lastof(ai_name_tmp), "%s.%d", ai_name, versionParam); strtolower(ai_name_tmp); if (this->info_list.find(ai_name_tmp) != this->info_list.end()) return static_cast(this->info_list[ai_name_tmp]); } @@ -143,10 +145,10 @@ void AIScannerLibrary::Initialize() ScriptScanner::Initialize("AIScanner"); } -void AIScannerLibrary::GetScriptName(ScriptInfo *info, char *name, int len) +void AIScannerLibrary::GetScriptName(ScriptInfo *info, char *name, const char *last) { AILibrary *library = static_cast(info); - snprintf(name, len, "%s.%s", library->GetCategory(), library->GetInstanceName()); + seprintf(name, last, "%s.%s", library->GetCategory(), library->GetInstanceName()); } void AIScannerLibrary::RegisterAPI(class Squirrel *engine) @@ -158,7 +160,7 @@ AILibrary *AIScannerLibrary::FindLibrary(const char *library, int version) { /* Internally we store libraries as 'library.version' */ char library_name[1024]; - snprintf(library_name, sizeof(library_name), "%s.%d", library, version); + seprintf(library_name, lastof(library_name), "%s.%d", library, version); strtolower(library_name); /* Check if the library + version exists */ diff --git a/src/ai/ai_scanner.hpp b/src/ai/ai_scanner.hpp index e09eca9d9c..d8e8a6993d 100644 --- a/src/ai/ai_scanner.hpp +++ b/src/ai/ai_scanner.hpp @@ -42,7 +42,7 @@ public: void SetDummyAI(class AIInfo *info); protected: - /* virtual */ void GetScriptName(ScriptInfo *info, char *name, int len); + /* virtual */ void GetScriptName(ScriptInfo *info, char *name, const char *last); /* virtual */ const char *GetFileName() const { return PATHSEP "info.nut"; } /* virtual */ Subdirectory GetDirectory() const { return AI_DIR; } /* virtual */ const char *GetScannerName() const { return "AIs"; } @@ -65,7 +65,7 @@ public: class AILibrary *FindLibrary(const char *library, int version); protected: - /* virtual */ void GetScriptName(ScriptInfo *info, char *name, int len); + /* virtual */ void GetScriptName(ScriptInfo *info, char *name, const char *last); /* virtual */ const char *GetFileName() const { return PATHSEP "library.nut"; } /* virtual */ Subdirectory GetDirectory() const { return AI_LIBRARY_DIR; } /* virtual */ const char *GetScannerName() const { return "AI Libraries"; } diff --git a/src/aircraft.h b/src/aircraft.h index d151f92a6b..0805ae8ec6 100644 --- a/src/aircraft.h +++ b/src/aircraft.h @@ -15,6 +15,17 @@ #include "station_map.h" #include "vehicle_base.h" +/** + * Base values for flight levels above ground level for 'normal' flight and holding patterns. + * Due to speed and direction, the actual flight level may be higher. + */ +enum AircraftFlyingAltitude { + AIRCRAFT_MIN_FLYING_ALTITUDE = 120, ///< Minimum flying altitude above tile. + AIRCRAFT_MAX_FLYING_ALTITUDE = 360, ///< Maximum flying altitude above tile. + PLANE_HOLD_MAX_FLYING_ALTITUDE = 150, ///< holding flying altitude above tile of planes. + HELICOPTER_HOLD_MAX_FLYING_ALTITUDE = 184 ///< holding flying altitude above tile of helicopters. +}; + struct Aircraft; /** An aircraft can be one of those types. */ @@ -25,11 +36,18 @@ enum AircraftSubType { AIR_ROTOR = 6, ///< rotor of an helicopter }; -/** Aircraft flags. */ -enum VehicleAirFlags { - VAF_DEST_TOO_FAR = 0, ///< Next destination is too far away. +/** Flags for air vehicles; shared with disaster vehicles. */ +enum AirVehicleFlags { + VAF_DEST_TOO_FAR = 0, ///< Next destination is too far away. + + /* The next two flags are to prevent stair climbing of the aircraft. The idea is that the aircraft + * will ascend or descend multiple flight levels at a time instead of following the contours of the + * landscape at a fixed altitude. This only has effect when there are more than 15 height levels. */ + VAF_IN_MAX_HEIGHT_CORRECTION = 1, ///< The vehicle is currently lowering its altitude because it hit the upper bound. + VAF_IN_MIN_HEIGHT_CORRECTION = 2, ///< The vehicle is currently raising its altitude because it hit the lower bound. }; +static const int ROTOR_Z_OFFSET = 5; ///< Z Offset between helicopter- and rotorsprite. void HandleAircraftEnterHangar(Aircraft *v); void GetAircraftSpriteSize(EngineID engine, uint &width, uint &height, int &xoffs, int &yoffs, EngineImageType image_type); @@ -39,7 +57,10 @@ void UpdateAircraftCache(Aircraft *v, bool update_range = false); void AircraftLeaveHangar(Aircraft *v, Direction exit_dir); void AircraftNextAirportPos_and_Order(Aircraft *v); void SetAircraftPosition(Aircraft *v, int x, int y, int z); -int GetAircraftFlyingAltitude(const Aircraft *v); + +void GetAircraftFlightLevelBounds(const Vehicle *v, int *min, int *max); +template +int GetAircraftFlightLevel(T *v, bool takeoff = false); /** Variables that are cached to improve performance and such. */ struct AircraftCache { @@ -59,7 +80,7 @@ struct Aircraft FINAL : public SpecializedVehicle { DirectionByte last_direction; byte number_consecutive_turns; ///< Protection to prevent the aircraft of making a lot of turns in order to reach a specific point. byte turn_counter; ///< Ticks between each turn to prevent > 45 degree turns. - byte flags; ///< Aircraft flags. @see VehicleAirFlags + byte flags; ///< Aircraft flags. @see AirVehicleFlags AircraftCache acache; diff --git a/src/aircraft_cmd.cpp b/src/aircraft_cmd.cpp index ee89fbf0df..18dcbea27b 100644 --- a/src/aircraft_cmd.cpp +++ b/src/aircraft_cmd.cpp @@ -36,14 +36,11 @@ #include "core/random_func.hpp" #include "core/backup_type.hpp" #include "zoom_func.h" +#include "disaster_vehicle.h" #include "table/strings.h" -static const int ROTOR_Z_OFFSET = 5; ///< Z Offset between helicopter- and rotorsprite. - -static const int PLANE_HOLDING_ALTITUDE = 150; ///< Altitude of planes in holding pattern (= lowest flight altitude). -static const int HELI_FLIGHT_ALTITUDE = 184; ///< Normal flight altitude of helicopters. - +#include "safeguards.h" void Aircraft::UpdateDeltaXY(Direction direction) { @@ -204,13 +201,15 @@ void DrawAircraftEngine(int left, int right, int preferred_x, int y, EngineID en { SpriteID sprite = GetAircraftIcon(engine, image_type); const Sprite *real_sprite = GetSprite(sprite, ST_NORMAL); - preferred_x = Clamp(preferred_x, left - UnScaleByZoom(real_sprite->x_offs, ZOOM_LVL_GUI), right - UnScaleByZoom(real_sprite->width, ZOOM_LVL_GUI) - UnScaleByZoom(real_sprite->x_offs, ZOOM_LVL_GUI)); + preferred_x = Clamp(preferred_x, + left - UnScaleGUI(real_sprite->x_offs), + right - UnScaleGUI(real_sprite->width) - UnScaleGUI(real_sprite->x_offs)); DrawSprite(sprite, pal, preferred_x, y); if (!(AircraftVehInfo(engine)->subtype & AIR_CTOL)) { SpriteID rotor_sprite = GetCustomRotorIcon(engine, image_type); if (rotor_sprite == 0) rotor_sprite = SPR_ROTOR_STOPPED; - DrawSprite(rotor_sprite, PAL_NONE, preferred_x, y - 5); + DrawSprite(rotor_sprite, PAL_NONE, preferred_x, y - ScaleGUITrad(5)); } } @@ -227,10 +226,10 @@ void GetAircraftSpriteSize(EngineID engine, uint &width, uint &height, int &xoff { const Sprite *spr = GetSprite(GetAircraftIcon(engine, image_type), ST_NORMAL); - width = UnScaleByZoom(spr->width, ZOOM_LVL_GUI); - height = UnScaleByZoom(spr->height, ZOOM_LVL_GUI); - xoffs = UnScaleByZoom(spr->x_offs, ZOOM_LVL_GUI); - yoffs = UnScaleByZoom(spr->y_offs, ZOOM_LVL_GUI); + width = UnScaleGUI(spr->width); + height = UnScaleGUI(spr->height); + xoffs = UnScaleGUI(spr->x_offs); + yoffs = UnScaleGUI(spr->y_offs); } /** @@ -335,8 +334,8 @@ CommandCost CmdBuildAircraft(TileIndex tile, DoCommandFlag flags, const Engine * UpdateAircraftCache(v, true); - VehicleUpdatePosition(v); - VehicleUpdatePosition(u); + v->UpdatePosition(); + u->UpdatePosition(); /* Aircraft with 3 vehicles (chopper)? */ if (v->subtype == AIR_HELICOPTER) { @@ -357,7 +356,7 @@ CommandCost CmdBuildAircraft(TileIndex tile, DoCommandFlag flags, const Engine * w->UpdateDeltaXY(INVALID_DIR); u->SetNext(w); - VehicleUpdatePosition(w); + w->UpdatePosition(); } } @@ -485,7 +484,7 @@ static void HelicopterTickHandler(Aircraft *v) u->cur_image = img; - VehicleUpdatePositionAndViewport(u); + u->UpdatePositionAndViewport(); } /** @@ -501,7 +500,7 @@ void SetAircraftPosition(Aircraft *v, int x, int y, int z) v->y_pos = y; v->z_pos = z; - VehicleUpdatePosition(v); + v->UpdatePosition(); v->UpdateViewport(true, false); if (v->subtype == AIR_HELICOPTER) v->Next()->Next()->cur_image = GetRotorImage(v, EIT_ON_MAP); @@ -516,7 +515,7 @@ void SetAircraftPosition(Aircraft *v, int x, int y, int z) u->z_pos = GetSlopePixelZ(safe_x, safe_y); u->cur_image = v->cur_image; - VehicleUpdatePositionAndViewport(u); + u->UpdatePositionAndViewport(); u = u->Next(); if (u != NULL) { @@ -524,7 +523,7 @@ void SetAircraftPosition(Aircraft *v, int x, int y, int z) u->y_pos = y; u->z_pos = z + ROTOR_Z_OFFSET; - VehicleUpdatePositionAndViewport(u); + u->UpdatePositionAndViewport(); } } @@ -663,20 +662,35 @@ static int UpdateAircraftSpeed(Aircraft *v, uint speed_limit = SPEED_LIMIT_NONE, } /** - * Gets the cruise altitude of an aircraft. - * The cruise altitude is determined by the velocity of the vehicle - * and the direction it is moving - * @param v The vehicle. Should be an aircraft - * @returns Altitude in pixel units + * Get the tile height below the aircraft. + * This function is needed because aircraft can leave the mapborders. + * + * @param v The vehicle to get the height for. + * @return The height in pixels from 'z_pos' 0. */ -int GetAircraftFlyingAltitude(const Aircraft *v) +int GetTileHeightBelowAircraft(const Vehicle *v) { - if (v->subtype == AIR_HELICOPTER) return HELI_FLIGHT_ALTITUDE; + int safe_x = Clamp(v->x_pos, 0, MapMaxX() * TILE_SIZE); + int safe_y = Clamp(v->y_pos, 0, MapMaxY() * TILE_SIZE); + return TileHeight(TileVirtXY(safe_x, safe_y)) * TILE_HEIGHT; +} - /* Make sure Aircraft fly no lower so that they don't conduct - * CFITs (controlled flight into terrain) - */ - int base_altitude = PLANE_HOLDING_ALTITUDE; +/** + * Get the 'flight level' bounds, in pixels from 'z_pos' 0 for a particular + * vehicle for normal flight situation. + * When the maximum is reached the vehicle should consider descending. + * When the minimum is reached the vehicle should consider ascending. + * + * @param v The vehicle to get the flight levels for. + * @param [out] min_level The minimum bounds for flight level. + * @param [out] max_level The maximum bounds for flight level. + */ +void GetAircraftFlightLevelBounds(const Vehicle *v, int *min_level, int *max_level) +{ + int base_altitude = GetTileHeightBelowAircraft(v); + if (v->type == VEH_AIRCRAFT && Aircraft::From(v)->subtype == AIR_HELICOPTER) { + base_altitude += HELICOPTER_HOLD_MAX_FLYING_ALTITUDE - PLANE_HOLD_MAX_FLYING_ALTITUDE; + } /* Make sure eastbound and westbound planes do not "crash" into each * other by providing them with vertical separation @@ -693,11 +707,67 @@ int GetAircraftFlyingAltitude(const Aircraft *v) } /* Make faster planes fly higher so that they can overtake slower ones */ - base_altitude += min(20 * (v->vcache.cached_max_speed / 200), 90); + base_altitude += min(20 * (v->vcache.cached_max_speed / 200) - 90, 0); - return base_altitude; + if (min_level != NULL) *min_level = base_altitude + AIRCRAFT_MIN_FLYING_ALTITUDE; + if (max_level != NULL) *max_level = base_altitude + AIRCRAFT_MAX_FLYING_ALTITUDE; } +/** + * Gets the maximum 'flight level' for the holding pattern of the aircraft, + * in pixels 'z_pos' 0, depending on terrain below.. + * + * @param v The aircraft that may or may not need to decrease its altitude. + * @return Maximal aircraft holding altitude, while in normal flight, in pixels. + */ +int GetAircraftHoldMaxAltitude(const Aircraft *v) +{ + int tile_height = GetTileHeightBelowAircraft(v); + + return tile_height + ((v->subtype == AIR_HELICOPTER) ? HELICOPTER_HOLD_MAX_FLYING_ALTITUDE : PLANE_HOLD_MAX_FLYING_ALTITUDE); +} + +template +int GetAircraftFlightLevel(T *v, bool takeoff) +{ + /* Aircraft is in flight. We want to enforce it being somewhere + * between the minimum and the maximum allowed altitude. */ + int aircraft_min_altitude; + int aircraft_max_altitude; + GetAircraftFlightLevelBounds(v, &aircraft_min_altitude, &aircraft_max_altitude); + int aircraft_middle_altitude = (aircraft_min_altitude + aircraft_max_altitude) / 2; + + /* If those assumptions would be violated, aircrafts would behave fairly strange. */ + assert(aircraft_min_altitude < aircraft_middle_altitude); + assert(aircraft_middle_altitude < aircraft_max_altitude); + + int z = v->z_pos; + if (z < aircraft_min_altitude || + (HasBit(v->flags, VAF_IN_MIN_HEIGHT_CORRECTION) && z < aircraft_middle_altitude)) { + /* Ascend. And don't fly into that mountain right ahead. + * And avoid our aircraft become a stairclimber, so if we start + * correcting altitude, then we stop correction not too early. */ + SetBit(v->flags, VAF_IN_MIN_HEIGHT_CORRECTION); + z += takeoff ? 2 : 1; + } else if (!takeoff && (z > aircraft_max_altitude || + (HasBit(v->flags, VAF_IN_MAX_HEIGHT_CORRECTION) && z > aircraft_middle_altitude))) { + /* Descend lower. You are an aircraft, not an space ship. + * And again, don't stop correcting altitude too early. */ + SetBit(v->flags, VAF_IN_MAX_HEIGHT_CORRECTION); + z--; + } else if (HasBit(v->flags, VAF_IN_MIN_HEIGHT_CORRECTION) && z >= aircraft_middle_altitude) { + /* Now, we have corrected altitude enough. */ + ClrBit(v->flags, VAF_IN_MIN_HEIGHT_CORRECTION); + } else if (HasBit(v->flags, VAF_IN_MAX_HEIGHT_CORRECTION) && z <= aircraft_middle_altitude) { + /* Now, we have corrected altitude enough. */ + ClrBit(v->flags, VAF_IN_MAX_HEIGHT_CORRECTION); + } + + return z; +} + +template int GetAircraftFlightLevel(DisasterVehicle *v, bool takeoff); + /** * Find the entry point to an airport depending on direction which * the airport is being approached from. Each airport can have up to @@ -710,7 +780,7 @@ int GetAircraftFlyingAltitude(const Aircraft *v) * @param v The vehicle that is approaching the airport * @param apc The Airport Class being approached. * @param rotation The rotation of the airport. - * @returns The index of the entry point + * @return The index of the entry point */ static byte AircraftGetEntryPoint(const Aircraft *v, const AirportFTAClass *apc, Direction rotation) { @@ -787,7 +857,7 @@ static bool AircraftController(Aircraft *v) UpdateAircraftCache(v); AircraftNextAirportPos_and_Order(v); /* get aircraft back on running altitude */ - SetAircraftPosition(v, v->x_pos, v->y_pos, GetAircraftFlyingAltitude(v)); + SetAircraftPosition(v, v->x_pos, v->y_pos, GetAircraftFlightLevel(v)); return false; } } @@ -815,7 +885,9 @@ static bool AircraftController(Aircraft *v) count = UpdateAircraftSpeed(v); if (count > 0) { v->tile = 0; - int z_dest = GetAircraftFlyingAltitude(v); + + int z_dest; + GetAircraftFlightLevelBounds(v, &z_dest, NULL); /* Reached altitude? */ if (v->z_pos >= z_dest) { @@ -972,12 +1044,14 @@ static bool AircraftController(Aircraft *v) int z = v->z_pos; if (amd.flag & AMED_TAKEOFF) { - z = min(z + 2, GetAircraftFlyingAltitude(v)); + z = GetAircraftFlightLevel(v, true); + } else if (amd.flag & AMED_HOLD) { + /* Let the plane drop from normal flight altitude to holding pattern altitude */ + if (z > GetAircraftHoldMaxAltitude(v)) z--; + } else if ((amd.flag & AMED_SLOWTURN) && (amd.flag & AMED_NOSPDCLAMP)) { + z = GetAircraftFlightLevel(v); } - /* Let the plane drop from normal flight altitude to holding pattern altitude */ - if ((amd.flag & AMED_HOLD) && (z > PLANE_HOLDING_ALTITUDE)) z--; - if (amd.flag & AMED_LAND) { if (st->airport.tile == INVALID_TILE) { /* Airport has been removed, abort the landing procedure */ @@ -985,7 +1059,7 @@ static bool AircraftController(Aircraft *v) UpdateAircraftCache(v); AircraftNextAirportPos_and_Order(v); /* get aircraft back on running altitude */ - SetAircraftPosition(v, gp.x, gp.y, GetAircraftFlyingAltitude(v)); + SetAircraftPosition(v, gp.x, gp.y, GetAircraftFlightLevel(v)); continue; } diff --git a/src/aircraft_gui.cpp b/src/aircraft_gui.cpp index 6db75d3af8..c3379d3951 100644 --- a/src/aircraft_gui.cpp +++ b/src/aircraft_gui.cpp @@ -21,6 +21,8 @@ #include "table/strings.h" +#include "safeguards.h" + /** * Draw the details for the given vehicle at the given position * @@ -84,22 +86,26 @@ void DrawAircraftImage(const Vehicle *v, int left, int right, int y, VehicleID s SpriteID sprite = v->GetImage(rtl ? DIR_E : DIR_W, image_type); const Sprite *real_sprite = GetSprite(sprite, ST_NORMAL); - int width = UnScaleByZoom(real_sprite->width, ZOOM_LVL_GUI); - int x_offs = UnScaleByZoom(real_sprite->x_offs, ZOOM_LVL_GUI); + int width = UnScaleGUI(real_sprite->width); + int x_offs = UnScaleGUI(real_sprite->x_offs); int x = rtl ? right - width - x_offs : left - x_offs; bool helicopter = v->subtype == AIR_HELICOPTER; + int y_offs = ScaleGUITrad(10); + int heli_offs = 0; + PaletteID pal = (v->vehstatus & VS_CRASHED) ? PALETTE_CRASH : GetVehiclePalette(v); - DrawSprite(sprite, pal, x, y + 10); + DrawSprite(sprite, pal, x, y + y_offs); if (helicopter) { const Aircraft *a = Aircraft::From(v); SpriteID rotor_sprite = GetCustomRotorSprite(a, true, image_type); if (rotor_sprite == 0) rotor_sprite = SPR_ROTOR_STOPPED; - DrawSprite(rotor_sprite, PAL_NONE, x, y + 5); + heli_offs = ScaleGUITrad(5); + DrawSprite(rotor_sprite, PAL_NONE, x, y + y_offs - heli_offs); } if (v->index == selection) { x += x_offs; - y += UnScaleByZoom(real_sprite->y_offs, ZOOM_LVL_GUI) + 10 - (helicopter ? 5 : 0); - DrawFrameRect(x - 1, y - 1, x + width + 1, y + UnScaleByZoom(real_sprite->height, ZOOM_LVL_GUI) + (helicopter ? 5 : 0) + 1, COLOUR_WHITE, FR_BORDERONLY); + y += UnScaleGUI(real_sprite->y_offs) + y_offs - heli_offs; + DrawFrameRect(x - 1, y - 1, x + width + 1, y + UnScaleGUI(real_sprite->height) + heli_offs + 1, COLOUR_WHITE, FR_BORDERONLY); } } diff --git a/src/airport.cpp b/src/airport.cpp index c3c67effc5..a50c049c23 100644 --- a/src/airport.cpp +++ b/src/airport.cpp @@ -15,6 +15,8 @@ #include "table/airport_movement.h" #include "table/airporttile_ids.h" +#include "safeguards.h" + /** * Define a generic airport. diff --git a/src/airport_gui.cpp b/src/airport_gui.cpp index 4ad4789ff6..6437f236cd 100644 --- a/src/airport_gui.cpp +++ b/src/airport_gui.cpp @@ -31,6 +31,8 @@ #include "widgets/airport_widget.h" +#include "safeguards.h" + static AirportClassID _selected_airport_class; ///< the currently visible airport class static int _selected_airport_index; ///< the index of the selected airport in the current class or -1 @@ -80,6 +82,18 @@ struct BuildAirToolbarWindow : Window { if (_settings_client.gui.link_terraform_toolbar) DeleteWindowById(WC_SCEN_LAND_GEN, 0, false); } + /** + * Some data on this window has become invalid. + * @param data Information about the changed data. + * @param gui_scope Whether the call is done from GUI scope. You may not do everything when not in GUI scope. See #InvalidateWindowData() for details. + */ + virtual void OnInvalidateData(int data = 0, bool gui_scope = true) + { + if (!gui_scope) return; + + if (!CanBuildVehicleInfrastructure(VEH_AIRCRAFT)) delete this; + } + virtual void OnClick(Point pt, int widget, int click_count) { switch (widget) { @@ -226,8 +240,27 @@ public: this->SetWidgetLoweredState(WID_AP_BTN_DOHILIGHT, _settings_client.gui.station_show_coverage); this->OnInvalidateData(); - this->vscroll->SetCount(AirportClass::Get(_selected_airport_class)->GetSpecCount()); - this->SelectFirstAvailableAirport(true); + /* Ensure airport class is valid (changing NewGRFs). */ + _selected_airport_class = Clamp(_selected_airport_class, APC_BEGIN, (AirportClassID)(AirportClass::GetClassCount() - 1)); + const AirportClass *ac = AirportClass::Get(_selected_airport_class); + this->vscroll->SetCount(ac->GetSpecCount()); + + /* Ensure the airport index is valid for this class (changing NewGRFs). */ + _selected_airport_index = Clamp(_selected_airport_index, -1, ac->GetSpecCount() - 1); + + /* Only when no valid airport was selected, we want to select the first airport. */ + bool selectFirstAirport = true; + if (_selected_airport_index != -1) { + const AirportSpec *as = ac->GetSpec(_selected_airport_index); + if (as->IsAvailable()) { + /* Ensure the airport layout is valid. */ + _selected_airport_layout = Clamp(_selected_airport_layout, 0, as->num_table - 1); + selectFirstAirport = false; + this->UpdateSelectSize(); + } + } + + if (selectFirstAirport) this->SelectFirstAvailableAirport(true); } virtual ~BuildAirportWindow() @@ -392,7 +425,7 @@ public: * Never make the window smaller to avoid oscillating if the size change affects the acceptance. * (This is the case, if making the window bigger moves the mouse into the window.) */ if (top > bottom) { - ResizeWindow(this, 0, top - bottom); + ResizeWindow(this, 0, top - bottom, false); } } diff --git a/src/animated_tile.cpp b/src/animated_tile.cpp index 8995275e90..78dda8b3b6 100644 --- a/src/animated_tile.cpp +++ b/src/animated_tile.cpp @@ -14,6 +14,8 @@ #include "tile_cmd.h" #include "viewport_func.h" +#include "safeguards.h" + /** The table/list with animated tiles. */ TileIndex *_animated_tile_list = NULL; /** The number of animated tiles in the current state. */ diff --git a/src/articulated_vehicles.cpp b/src/articulated_vehicles.cpp index 501af719de..193c5ac4a8 100644 --- a/src/articulated_vehicles.cpp +++ b/src/articulated_vehicles.cpp @@ -19,6 +19,8 @@ #include "table/strings.h" +#include "safeguards.h" + static const uint MAX_ARTICULATED_PARTS = 100; ///< Maximum of articulated parts per vehicle, i.e. when to abort calling the articulated vehicle callback. /** @@ -160,6 +162,41 @@ CargoArray GetCapacityOfArticulatedParts(EngineID engine) return capacity; } +/** + * Get the default cargoes and refits of an articulated vehicle. + * The refits are linked to a cargo rather than an articulated part to prevent a long list of parts. + * @param engine Model to investigate. + * @param[out] cargoes Total amount of units that can be transported, summed by cargo. + * @param[out] refits Whether a (possibly partial) refit for each cargo is possible. + */ +void GetArticulatedVehicleCargoesAndRefits(EngineID engine, CargoArray *cargoes, uint32 *refits) +{ + cargoes->Clear(); + *refits = 0; + + const Engine *e = Engine::Get(engine); + + CargoID cargo_type; + uint16 cargo_capacity = GetVehicleDefaultCapacity(engine, &cargo_type); + if (cargo_type < NUM_CARGO && cargo_capacity > 0) { + (*cargoes)[cargo_type] += cargo_capacity; + if (IsEngineRefittable(engine)) SetBit(*refits, cargo_type); + } + + if (!e->IsGroundVehicle() || !HasBit(e->info.callback_mask, CBM_VEHICLE_ARTIC_ENGINE)) return; + + for (uint i = 1; i < MAX_ARTICULATED_PARTS; i++) { + EngineID artic_engine = GetNextArticulatedPart(i, engine); + if (artic_engine == INVALID_ENGINE) break; + + cargo_capacity = GetVehicleDefaultCapacity(artic_engine, &cargo_type); + if (cargo_type < NUM_CARGO && cargo_capacity > 0) { + (*cargoes)[cargo_type] += cargo_capacity; + if (IsEngineRefittable(artic_engine)) SetBit(*refits, cargo_type); + } + } +} + /** * Checks whether any of the articulated parts is refittable * @param engine the first part @@ -408,6 +445,6 @@ void AddArticulatedParts(Vehicle *first) if (flip_image) v->spritenum++; - VehicleUpdatePosition(v); + v->UpdatePosition(); } } diff --git a/src/autoreplace.cpp b/src/autoreplace.cpp index 0788fccb36..3b7f739726 100644 --- a/src/autoreplace.cpp +++ b/src/autoreplace.cpp @@ -15,6 +15,8 @@ #include "autoreplace_base.h" #include "core/pool_func.hpp" +#include "safeguards.h" + /** The pool of autoreplace "orders". */ EngineRenewPool _enginerenew_pool("EngineRenew"); INSTANTIATE_POOL_METHODS(EngineRenew) diff --git a/src/autoreplace_cmd.cpp b/src/autoreplace_cmd.cpp index 2e13caffba..e69ac66eb2 100644 --- a/src/autoreplace_cmd.cpp +++ b/src/autoreplace_cmd.cpp @@ -22,6 +22,8 @@ #include "table/strings.h" +#include "safeguards.h" + extern void ChangeVehicleViewports(VehicleID from_index, VehicleID to_index); extern void ChangeVehicleNews(VehicleID from_index, VehicleID to_index); extern void ChangeVehicleViewWindow(VehicleID from_index, VehicleID to_index); diff --git a/src/autoreplace_gui.cpp b/src/autoreplace_gui.cpp index dc1f5ed738..691042a1d5 100644 --- a/src/autoreplace_gui.cpp +++ b/src/autoreplace_gui.cpp @@ -28,8 +28,8 @@ #include "widgets/autoreplace_widget.h" +#include "safeguards.h" -uint GetEngineListHeight(VehicleType type); void DrawEngineList(VehicleType type, int x, int r, int y, const GUIEngineList *eng_list, uint16 min, uint16 max, EngineID selected_id, bool show_count, GroupID selected_group); static int CDECL EngineNumberSorter(const EngineID *a, const EngineID *b) @@ -84,6 +84,9 @@ class ReplaceVehicleWindow : public Window { bool reset_sel_engine; ///< Also reset #sel_engine while updating left and/or right (#update_left and/or #update_right) and no valid engine selected. GroupID sel_group; ///< Group selected to replace. int details_height; ///< Minimal needed height of the details panels (found so far). + byte sort_criteria; ///< Criteria of sorting vehicles. + bool descending_sort_order; ///< Order of sorting vehicles. + bool show_hidden_engines; ///< Whether to show the hidden engines. RailType sel_railtype; ///< Type of rail tracks selected. Scrollbar *vscroll[2]; @@ -124,6 +127,7 @@ class ReplaceVehicleWindow : public Window { const Engine *e; FOR_ALL_ENGINES_OF_TYPE(e, type) { + if (!draw_left && !this->show_hidden_engines && e->IsHidden(_local_company)) continue; EngineID eid = e->index; if (type == VEH_TRAIN && !this->GenerateReplaceRailList(eid, draw_left, this->replace_engines)) continue; // special rules for trains @@ -140,7 +144,12 @@ class ReplaceVehicleWindow : public Window { if (eid == this->sel_engine[side]) selected_engine = eid; // The selected engine is still in the list } this->sel_engine[side] = selected_engine; // update which engine we selected (the same or none, if it's not in the list anymore) - EngList_Sort(list, &EngineNumberSorter); + if (draw_left) { + EngList_Sort(list, &EngineNumberSorter); + } else { + _engine_sort_direction = this->descending_sort_order; + EngList_Sort(list, _engine_sort_functions[this->window_number][this->sort_criteria]); + } } /** Generate the lists */ @@ -227,12 +236,20 @@ public: this->details_height = ((vehicletype == VEH_TRAIN) ? 10 : 9) * FONT_HEIGHT_NORMAL + WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM; this->sel_engine[0] = INVALID_ENGINE; this->sel_engine[1] = INVALID_ENGINE; + this->show_hidden_engines = _engine_sort_show_hidden_engines[vehicletype]; this->CreateNestedTree(); this->vscroll[0] = this->GetScrollbar(WID_RV_LEFT_SCROLLBAR); this->vscroll[1] = this->GetScrollbar(WID_RV_RIGHT_SCROLLBAR); + + NWidgetCore *widget = this->GetWidget(WID_RV_SHOW_HIDDEN_ENGINES); + widget->widget_data = STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN + vehicletype; + widget->tool_tip = STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP + vehicletype; + widget->SetLowered(this->show_hidden_engines); this->FinishInitNested(vehicletype); + this->sort_criteria = _engine_sort_last_criteria[vehicletype]; + this->descending_sort_order = _engine_sort_last_order[vehicletype]; this->owner = _local_company; this->sel_group = id_g; } @@ -240,6 +257,14 @@ public: virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) { switch (widget) { + case WID_RV_SORT_ASCENDING_DESCENDING: { + Dimension d = GetStringBoundingBox(this->GetWidget(widget)->widget_data); + d.width += padding.width + Window::SortButtonWidth() * 2; // Doubled since the string is centred and it also looks better. + d.height += padding.height; + *size = maxdim(*size, d); + break; + } + case WID_RV_LEFT_MATRIX: case WID_RV_RIGHT_MATRIX: resize->height = GetEngineListHeight((VehicleType)this->window_number); @@ -276,10 +301,8 @@ public: } case WID_RV_INFO_TAB: { - SetDParam(0, STR_REPLACE_NOT_REPLACING); - Dimension d = GetStringBoundingBox(STR_BLACK_STRING); - SetDParam(0, STR_REPLACE_NOT_REPLACING_VEHICLE_SELECTED); - d = maxdim(d, GetStringBoundingBox(STR_BLACK_STRING)); + Dimension d = GetStringBoundingBox(STR_REPLACE_NOT_REPLACING); + d = maxdim(d, GetStringBoundingBox(STR_REPLACE_NOT_REPLACING_VEHICLE_SELECTED)); d.width += WD_FRAMETEXT_LEFT + WD_FRAMETEXT_RIGHT; d.height += WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM; *size = maxdim(*size, d); @@ -334,6 +357,10 @@ public: } break; + case WID_RV_SORT_DROPDOWN: + SetDParam(0, _engine_sort_listing[this->window_number][this->sort_criteria]); + break; + case WID_RV_TRAIN_WAGONREMOVE_TOGGLE: { const Company *c = Company::Get(_local_company); SetDParam(0, c->settings.renew_keep_length ? STR_CONFIG_SETTING_ON : STR_CONFIG_SETTING_OFF); @@ -349,22 +376,27 @@ public: virtual void DrawWidget(const Rect &r, int widget) const { switch (widget) { + case WID_RV_SORT_ASCENDING_DESCENDING: + this->DrawSortButtonState(WID_RV_SORT_ASCENDING_DESCENDING, this->descending_sort_order ? SBS_DOWN : SBS_UP); + break; + case WID_RV_INFO_TAB: { const Company *c = Company::Get(_local_company); + StringID str; if (this->sel_engine[0] != INVALID_ENGINE) { if (!EngineHasReplacementForCompany(c, this->sel_engine[0], this->sel_group)) { - SetDParam(0, STR_REPLACE_NOT_REPLACING); + str = STR_REPLACE_NOT_REPLACING; } else { bool when_old = false; EngineID e = EngineReplacementForCompany(c, this->sel_engine[0], this->sel_group, &when_old); - SetDParam(0, when_old ? STR_REPLACE_REPLACING_WHEN_OLD : STR_ENGINE_NAME); - SetDParam(1, e); + str = when_old ? STR_REPLACE_REPLACING_WHEN_OLD : STR_ENGINE_NAME; + SetDParam(0, e); } } else { - SetDParam(0, STR_REPLACE_NOT_REPLACING_VEHICLE_SELECTED); + str = STR_REPLACE_NOT_REPLACING_VEHICLE_SELECTED; } - DrawString(r.left + WD_FRAMETEXT_LEFT, r.right - WD_FRAMETEXT_RIGHT, r.top + WD_FRAMERECT_TOP, STR_BLACK_STRING, TC_FROMSTRING, SA_HOR_CENTER); + DrawString(r.left + WD_FRAMETEXT_LEFT, r.right - WD_FRAMETEXT_RIGHT, r.top + WD_FRAMERECT_TOP, str, TC_BLACK, SA_HOR_CENTER); break; } @@ -392,16 +424,12 @@ public: * Either engines list is empty * or The selected replacement engine has a replacement (to prevent loops). */ this->SetWidgetDisabledState(WID_RV_START_REPLACE, - this->sel_engine[0] == INVALID_ENGINE || - this->sel_engine[1] == INVALID_ENGINE || - EngineReplacementForCompany(c, this->sel_engine[1], this->sel_group) != INVALID_ENGINE); + this->sel_engine[0] == INVALID_ENGINE || this->sel_engine[1] == INVALID_ENGINE || EngineReplacementForCompany(c, this->sel_engine[1], this->sel_group) != INVALID_ENGINE); /* Disable the "Stop Replacing" button if: * The left engines list (existing vehicle) is empty * or The selected vehicle has no replacement set up */ - this->SetWidgetDisabledState(WID_RV_STOP_REPLACE, - this->sel_engine[0] == INVALID_ENGINE || - !EngineHasReplacementForCompany(c, this->sel_engine[0], this->sel_group)); + this->SetWidgetDisabledState(WID_RV_STOP_REPLACE, this->sel_engine[0] == INVALID_ENGINE || !EngineHasReplacementForCompany(c, this->sel_engine[0], this->sel_group)); if (this->window_number == VEH_TRAIN) { /* sets the colour of that art thing */ @@ -436,6 +464,25 @@ public: virtual void OnClick(Point pt, int widget, int click_count) { switch (widget) { + case WID_RV_SORT_ASCENDING_DESCENDING: + this->descending_sort_order ^= true; + _engine_sort_last_order[this->window_number] = this->descending_sort_order; + this->engines[1].ForceRebuild(); + this->SetDirty(); + break; + + case WID_RV_SHOW_HIDDEN_ENGINES: + this->show_hidden_engines ^= true; + _engine_sort_show_hidden_engines[this->window_number] = this->show_hidden_engines; + this->engines[1].ForceRebuild(); + this->SetWidgetLoweredState(widget, this->show_hidden_engines); + this->SetDirty(); + break; + + case WID_RV_SORT_DROPDOWN: + DisplayVehicleSortDropDown(this, static_cast(this->window_number), this->sort_criteria, WID_RV_SORT_DROPDOWN); + break; + case WID_RV_TRAIN_ENGINEWAGON_TOGGLE: this->replace_engines = !(this->replace_engines); this->engines[0].ForceRebuild(); @@ -495,6 +542,15 @@ public: virtual void OnDropdownSelect(int widget, int index) { switch (widget) { + case WID_RV_SORT_DROPDOWN: + if (this->sort_criteria != index) { + this->sort_criteria = index; + _engine_sort_last_criteria[this->window_number] = this->sort_criteria; + this->engines[1].ForceRebuild(); + this->SetDirty(); + } + break; + case WID_RV_TRAIN_RAILTYPE_DROPDOWN: { RailType temp = (RailType)index; if (temp == sel_railtype) return; // we didn't select a new one. No need to change anything @@ -546,6 +602,27 @@ static const NWidgetPart _nested_replace_rail_vehicle_widgets[] = { NWidget(WWT_DEFSIZEBOX, COLOUR_GREY), NWidget(WWT_STICKYBOX, COLOUR_GREY), EndContainer(), + NWidget(NWID_HORIZONTAL, NC_EQUALSIZE), + NWidget(WWT_PANEL, COLOUR_GREY), + NWidget(WWT_LABEL, COLOUR_GREY), SetDataTip(STR_REPLACE_VEHICLE_VEHICLES_IN_USE, STR_REPLACE_VEHICLE_VEHICLES_IN_USE_TOOLTIP), SetFill(1, 1), SetMinimalSize(0, 12), SetResize(1, 0), + EndContainer(), + NWidget(WWT_PANEL, COLOUR_GREY), + NWidget(WWT_LABEL, COLOUR_GREY), SetDataTip(STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES, STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES_TOOLTIP), SetFill(1, 1), SetMinimalSize(0, 12), SetResize(1, 0), + EndContainer(), + EndContainer(), + NWidget(NWID_HORIZONTAL, NC_EQUALSIZE), + NWidget(WWT_PANEL, COLOUR_GREY), SetResize(1, 0), EndContainer(), + NWidget(NWID_VERTICAL), + NWidget(NWID_HORIZONTAL), + NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_RV_SORT_ASCENDING_DESCENDING), SetDataTip(STR_BUTTON_SORT_BY, STR_TOOLTIP_SORT_ORDER), SetFill(1, 1), + NWidget(WWT_DROPDOWN, COLOUR_GREY, WID_RV_SORT_DROPDOWN), SetResize(1, 0), SetFill(1, 1), SetDataTip(STR_JUST_STRING, STR_TOOLTIP_SORT_CRITERIA), + EndContainer(), + NWidget(NWID_HORIZONTAL), + NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_RV_SHOW_HIDDEN_ENGINES), SetDataTip(STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN, STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP), + NWidget(WWT_PANEL, COLOUR_GREY), SetResize(1, 0), SetFill(1, 1), EndContainer(), + EndContainer(), + EndContainer(), + EndContainer(), NWidget(NWID_HORIZONTAL, NC_EQUALSIZE), NWidget(WWT_MATRIX, COLOUR_GREY, WID_RV_LEFT_MATRIX), SetMinimalSize(216, 0), SetFill(1, 1), SetMatrixDataTip(1, 0, STR_REPLACE_HELP_LEFT_ARRAY), SetResize(1, 1), SetScrollbar(WID_RV_LEFT_SCROLLBAR), NWidget(NWID_VSCROLLBAR, COLOUR_GREY, WID_RV_LEFT_SCROLLBAR), @@ -587,6 +664,27 @@ static const NWidgetPart _nested_replace_vehicle_widgets[] = { NWidget(WWT_DEFSIZEBOX, COLOUR_GREY), NWidget(WWT_STICKYBOX, COLOUR_GREY), EndContainer(), + NWidget(NWID_HORIZONTAL, NC_EQUALSIZE), + NWidget(WWT_PANEL, COLOUR_GREY), + NWidget(WWT_LABEL, COLOUR_GREY), SetDataTip(STR_REPLACE_VEHICLE_VEHICLES_IN_USE, STR_REPLACE_VEHICLE_VEHICLES_IN_USE_TOOLTIP), SetFill(1, 1), SetMinimalSize(0, 12), SetResize(1, 0), + EndContainer(), + NWidget(WWT_PANEL, COLOUR_GREY), + NWidget(WWT_LABEL, COLOUR_GREY), SetDataTip(STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES, STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES_TOOLTIP), SetFill(1, 1), SetMinimalSize(0, 12), SetResize(1, 0), + EndContainer(), + EndContainer(), + NWidget(NWID_HORIZONTAL, NC_EQUALSIZE), + NWidget(WWT_PANEL, COLOUR_GREY), SetResize(1, 0), EndContainer(), + NWidget(NWID_VERTICAL), + NWidget(NWID_HORIZONTAL), + NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_RV_SORT_ASCENDING_DESCENDING), SetDataTip(STR_BUTTON_SORT_BY, STR_TOOLTIP_SORT_ORDER), + NWidget(WWT_DROPDOWN, COLOUR_GREY, WID_RV_SORT_DROPDOWN), SetResize(1, 0), SetFill(1, 1), SetDataTip(STR_JUST_STRING, STR_TOOLTIP_SORT_CRITERIA), + EndContainer(), + NWidget(NWID_HORIZONTAL), + NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_RV_SHOW_HIDDEN_ENGINES), SetDataTip(STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN, STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP), + NWidget(WWT_PANEL, COLOUR_GREY), SetResize(1, 0), SetFill(1, 1), EndContainer(), + EndContainer(), + EndContainer(), + EndContainer(), NWidget(NWID_HORIZONTAL, NC_EQUALSIZE), NWidget(WWT_MATRIX, COLOUR_GREY, WID_RV_LEFT_MATRIX), SetMinimalSize(216, 0), SetFill(1, 1), SetMatrixDataTip(1, 0, STR_REPLACE_HELP_LEFT_ARRAY), SetResize(1, 1), SetScrollbar(WID_RV_LEFT_SCROLLBAR), NWidget(NWID_VSCROLLBAR, COLOUR_GREY, WID_RV_LEFT_SCROLLBAR), diff --git a/src/base_consist.cpp b/src/base_consist.cpp index 005c886723..200512786c 100644 --- a/src/base_consist.cpp +++ b/src/base_consist.cpp @@ -12,6 +12,9 @@ #include "stdafx.h" #include "base_consist.h" #include "vehicle_base.h" +#include "string_func.h" + +#include "safeguards.h" BaseConsist::~BaseConsist() { @@ -27,7 +30,7 @@ void BaseConsist::CopyConsistPropertiesFrom(const BaseConsist *src) if (this == src) return; free(this->name); - this->name = src->name != NULL ? strdup(src->name) : NULL; + this->name = src->name != NULL ? stredup(src->name) : NULL; this->current_order_time = src->current_order_time; this->lateness_counter = src->lateness_counter; @@ -41,4 +44,8 @@ void BaseConsist::CopyConsistPropertiesFrom(const BaseConsist *src) if (HasBit(src->vehicle_flags, VF_TIMETABLE_STARTED)) SetBit(this->vehicle_flags, VF_TIMETABLE_STARTED); if (HasBit(src->vehicle_flags, VF_AUTOFILL_TIMETABLE)) SetBit(this->vehicle_flags, VF_AUTOFILL_TIMETABLE); if (HasBit(src->vehicle_flags, VF_AUTOFILL_PRES_WAIT_TIME)) SetBit(this->vehicle_flags, VF_AUTOFILL_PRES_WAIT_TIME); + if (HasBit(src->vehicle_flags, VF_SERVINT_IS_PERCENT) != HasBit(this->vehicle_flags, VF_SERVINT_IS_PERCENT)) { + ToggleBit(this->vehicle_flags, VF_SERVINT_IS_PERCENT); + } + if (HasBit(src->vehicle_flags, VF_SERVINT_IS_CUSTOM)) SetBit(this->vehicle_flags, VF_SERVINT_IS_CUSTOM); } diff --git a/src/base_media_func.h b/src/base_media_func.h index 6322ba1dba..e3678d5a15 100644 --- a/src/base_media_func.h +++ b/src/base_media_func.h @@ -51,16 +51,16 @@ bool BaseSet::FillSetDetails(IniFile *ini, const IniItem *item; fetch_metadata("name"); - this->name = strdup(item->value); + this->name = stredup(item->value); fetch_metadata("description"); - this->description[strdup("")] = strdup(item->value); + this->description[stredup("")] = stredup(item->value); /* Add the translations of the descriptions too. */ for (const IniItem *item = metadata->item; item != NULL; item = item->next) { if (strncmp("description.", item->name, 12) != 0) continue; - this->description[strdup(item->name + 12)] = strdup(item->value); + this->description[stredup(item->name + 12)] = stredup(item->value); } fetch_metadata("shortname"); @@ -100,7 +100,7 @@ bool BaseSet::FillSetDetails(IniFile *ini, const /* Then find the MD5 checksum */ item = md5s->GetItem(filename, false); - if (item == NULL) { + if (item == NULL || item->value == NULL) { DEBUG(grf, 0, "No MD5 checksum specified for: %s (in %s)", filename, full_filename); return false; } @@ -129,9 +129,9 @@ bool BaseSet::FillSetDetails(IniFile *ini, const if (item == NULL) item = origin->GetItem("default", false); if (item == NULL) { DEBUG(grf, 1, "No origin warning message specified for: %s", filename); - file->missing_warning = strdup(""); + file->missing_warning = stredup(""); } else { - file->missing_warning = strdup(item->value); + file->missing_warning = stredup(item->value); } switch (T::CheckMD5(file, BASESET_DIR)) { @@ -164,7 +164,7 @@ bool BaseMedia::AddFile(const char *filename, size_t basepath_length, IniFile *ini = new IniFile(); ini->LoadFromDisk(filename, BASESET_DIR); - char *path = strdup(filename + basepath_length); + char *path = stredup(filename + basepath_length); char *psep = strrchr(path, PATHSEPCHAR); if (psep != NULL) { psep[1] = '\0'; diff --git a/src/blitter/32bpp_anim.cpp b/src/blitter/32bpp_anim.cpp index 80ec54da43..a3083e40b3 100644 --- a/src/blitter/32bpp_anim.cpp +++ b/src/blitter/32bpp_anim.cpp @@ -15,6 +15,8 @@ #include "../table/sprites.h" +#include "../safeguards.h" + /** Instantiation of the 32bpp with animation blitter factory. */ static FBlitter_32bppAnim iFBlitter_32bppAnim; @@ -173,6 +175,16 @@ inline void Blitter_32bppAnim::Draw(const Blitter::BlitterParams *bp, ZoomLevel } break; + + case BM_BLACK_REMAP: + do { + *dst++ = Colour(0, 0, 0); + *anim++ = 0; + src_px++; + src_n++; + } while (--n != 0); + break; + case BM_TRANSPARENT: /* TODO -- We make an assumption here that the remap in fact is transparency, not some colour. * This is never a problem with the code we produce, but newgrfs can make it fail... or at least: @@ -249,6 +261,7 @@ void Blitter_32bppAnim::Draw(Blitter::BlitterParams *bp, BlitterMode mode, ZoomL case BM_COLOUR_REMAP: Draw(bp, zoom); return; case BM_TRANSPARENT: Draw (bp, zoom); return; case BM_CRASH_REMAP: Draw (bp, zoom); return; + case BM_BLACK_REMAP: Draw (bp, zoom); return; } } @@ -480,7 +493,7 @@ void Blitter_32bppAnim::PaletteAnimate(const Palette &palette) } /* Make sure the backend redraws the whole screen */ - _video_driver->MakeDirty(0, 0, _screen.width, _screen.height); + VideoDriver::GetInstance()->MakeDirty(0, 0, _screen.width, _screen.height); } Blitter::PaletteAnimation Blitter_32bppAnim::UsePaletteAnimation() diff --git a/src/blitter/32bpp_anim_sse4.cpp b/src/blitter/32bpp_anim_sse4.cpp index d456da22da..7d4b66fca6 100644 --- a/src/blitter/32bpp_anim_sse4.cpp +++ b/src/blitter/32bpp_anim_sse4.cpp @@ -17,6 +17,8 @@ #include "32bpp_anim_sse4.hpp" #include "32bpp_sse_func.hpp" +#include "../safeguards.h" + /** Instantiation of the SSE4 32bpp blitter factory. */ static FBlitter_32bppSSE4_Anim iFBlitter_32bppSSE4_Anim; @@ -332,6 +334,19 @@ bmcr_alpha_blend_single: anim++; } break; + + case BM_BLACK_REMAP: + for (uint x = (uint) bp->width; x > 0; x--) { + if (src->a != 0) { + *dst = Colour(0, 0, 0); + *anim = 0; + } + src_mv++; + dst++; + src++; + anim++; + } + break; } next_line: @@ -393,6 +408,7 @@ bm_normal: break; case BM_TRANSPARENT: Draw(bp, zoom); return; case BM_CRASH_REMAP: Draw(bp, zoom); return; + case BM_BLACK_REMAP: Draw(bp, zoom); return; } } diff --git a/src/blitter/32bpp_base.cpp b/src/blitter/32bpp_base.cpp index 3ea03327f6..26dd2f037e 100644 --- a/src/blitter/32bpp_base.cpp +++ b/src/blitter/32bpp_base.cpp @@ -12,6 +12,8 @@ #include "../stdafx.h" #include "32bpp_base.hpp" +#include "../safeguards.h" + void *Blitter_32bppBase::MoveTo(void *video, int x, int y) { return (uint32 *)video + x + y * _screen.pitch; diff --git a/src/blitter/32bpp_optimized.cpp b/src/blitter/32bpp_optimized.cpp index 5d2332883c..cc056f5b59 100644 --- a/src/blitter/32bpp_optimized.cpp +++ b/src/blitter/32bpp_optimized.cpp @@ -14,6 +14,8 @@ #include "../settings_type.h" #include "32bpp_optimized.hpp" +#include "../safeguards.h" + /** Instantiation of the optimized 32bpp blitter factory. */ static FBlitter_32bppOptimized iFBlitter_32bppOptimized; @@ -175,6 +177,15 @@ inline void Blitter_32bppOptimized::Draw(const Blitter::BlitterParams *bp, ZoomL } break; + case BM_BLACK_REMAP: + do { + *dst = Colour(0, 0, 0); + dst++; + src_px++; + src_n++; + } while (--n != 0); + break; + case BM_TRANSPARENT: /* TODO -- We make an assumption here that the remap in fact is transparency, not some colour. * This is never a problem with the code we produce, but newgrfs can make it fail... or at least: @@ -239,6 +250,7 @@ void Blitter_32bppOptimized::Draw(Blitter::BlitterParams *bp, BlitterMode mode, case BM_COLOUR_REMAP: Draw(bp, zoom); return; case BM_TRANSPARENT: Draw (bp, zoom); return; case BM_CRASH_REMAP: Draw (bp, zoom); return; + case BM_BLACK_REMAP: Draw (bp, zoom); return; } } diff --git a/src/blitter/32bpp_simple.cpp b/src/blitter/32bpp_simple.cpp index 30443c50bb..92375be165 100644 --- a/src/blitter/32bpp_simple.cpp +++ b/src/blitter/32bpp_simple.cpp @@ -15,6 +15,8 @@ #include "../table/sprites.h" +#include "../safeguards.h" + /** Instantiation of the simple 32bpp blitter factory. */ static FBlitter_32bppSimple iFBlitter_32bppSimple; @@ -56,6 +58,12 @@ void Blitter_32bppSimple::Draw(Blitter::BlitterParams *bp, BlitterMode mode, Zoo } break; + case BM_BLACK_REMAP: + if (src->a != 0) { + *dst = Colour(0, 0, 0); + } + break; + case BM_TRANSPARENT: /* TODO -- We make an assumption here that the remap in fact is transparency, not some colour. * This is never a problem with the code we produce, but newgrfs can make it fail... or at least: diff --git a/src/blitter/32bpp_sse2.cpp b/src/blitter/32bpp_sse2.cpp index 40b3620a26..ae2b3ccc52 100644 --- a/src/blitter/32bpp_sse2.cpp +++ b/src/blitter/32bpp_sse2.cpp @@ -17,6 +17,8 @@ #include "32bpp_sse2.hpp" #include "32bpp_sse_func.hpp" +#include "../safeguards.h" + /** Instantiation of the SSE2 32bpp blitter factory. */ static FBlitter_32bppSSE2 iFBlitter_32bppSSE2; @@ -36,6 +38,7 @@ Sprite *Blitter_32bppSSE_Base::Encode(const SpriteLoader::Sprite *sprite, Alloca /* Calculate sizes and allocate. */ SpriteData sd; + memset(&sd, 0, sizeof(sd)); uint all_sprites_size = 0; for (ZoomLevel z = zoom_min; z <= zoom_max; z++) { const SpriteLoader::Sprite *src_sprite = &sprite[z]; diff --git a/src/blitter/32bpp_sse4.cpp b/src/blitter/32bpp_sse4.cpp index dab0d8f3e9..723264f03f 100644 --- a/src/blitter/32bpp_sse4.cpp +++ b/src/blitter/32bpp_sse4.cpp @@ -17,6 +17,8 @@ #include "32bpp_sse4.hpp" #include "32bpp_sse_func.hpp" +#include "../safeguards.h" + /** Instantiation of the SSE4 32bpp blitter factory. */ static FBlitter_32bppSSE4 iFBlitter_32bppSSE4; diff --git a/src/blitter/32bpp_sse_func.hpp b/src/blitter/32bpp_sse_func.hpp index 6b60ba6642..fb0ce9eb6e 100644 --- a/src/blitter/32bpp_sse_func.hpp +++ b/src/blitter/32bpp_sse_func.hpp @@ -159,7 +159,7 @@ static inline __m128i AdjustBrightnessOfTwoPixels(__m128i from, uint32 brightnes __m128i briAB = _mm_cvtsi32_si128(brightness); briAB = _mm_shuffle_epi8(briAB, BRIGHTNESS_LOW_CONTROL_MASK); // DEFAULT_BRIGHTNESS in 0, 0x00 in 2. colAB = _mm_mullo_epi16(colAB, briAB); - __m128i colAB_ob = _mm_srli_epi16(colAB, 8+7); + __m128i colAB_ob = _mm_srli_epi16(colAB, 8 + 7); colAB = _mm_srli_epi16(colAB, 7); /* Sum overbright. @@ -394,6 +394,17 @@ bmcr_alpha_blend_single: src++; } break; + + case BM_BLACK_REMAP: + for (uint x = (uint) bp->width; x > 0; x--) { + if (src->a != 0) { + *dst = Colour(0, 0, 0); + } + src_mv++; + dst++; + src++; + } + break; } next_line: @@ -447,6 +458,7 @@ bm_normal: } case BM_TRANSPARENT: Draw(bp, zoom); return; case BM_CRASH_REMAP: Draw(bp, zoom); return; + case BM_BLACK_REMAP: Draw(bp, zoom); return; } } #endif /* FULL_ANIMATION */ diff --git a/src/blitter/32bpp_ssse3.cpp b/src/blitter/32bpp_ssse3.cpp index 33d49648e7..ab6c9eba5d 100644 --- a/src/blitter/32bpp_ssse3.cpp +++ b/src/blitter/32bpp_ssse3.cpp @@ -17,6 +17,8 @@ #include "32bpp_ssse3.hpp" #include "32bpp_sse_func.hpp" +#include "../safeguards.h" + /** Instantiation of the SSSE3 32bpp blitter factory. */ static FBlitter_32bppSSSE3 iFBlitter_32bppSSSE3; diff --git a/src/blitter/8bpp_base.cpp b/src/blitter/8bpp_base.cpp index f2ba704054..eab6eaa0db 100644 --- a/src/blitter/8bpp_base.cpp +++ b/src/blitter/8bpp_base.cpp @@ -13,6 +13,8 @@ #include "../gfx_func.h" #include "8bpp_base.hpp" +#include "../safeguards.h" + void Blitter_8bppBase::DrawColourMappingRect(void *dst, int width, int height, PaletteID pal) { const uint8 *ctab = GetNonSprite(pal, ST_RECOLOUR) + 1; diff --git a/src/blitter/8bpp_optimized.cpp b/src/blitter/8bpp_optimized.cpp index 31661c360d..0f07e7c7bb 100644 --- a/src/blitter/8bpp_optimized.cpp +++ b/src/blitter/8bpp_optimized.cpp @@ -13,8 +13,11 @@ #include "../zoom_func.h" #include "../settings_type.h" #include "../core/math_func.hpp" +#include "../core/mem_func.hpp" #include "8bpp_optimized.hpp" +#include "../safeguards.h" + /** Instantiation of the 8bpp optimised blitter factory. */ static FBlitter_8bppOptimized iFBlitter_8bppOptimized; @@ -94,6 +97,11 @@ void Blitter_8bppOptimized::Draw(Blitter::BlitterParams *bp, BlitterMode mode, Z break; } + case BM_BLACK_REMAP: + MemSetT(dst, 0, pixels); + dst += pixels; + break; + case BM_TRANSPARENT: { const uint8 *remap = bp->remap; src += pixels; @@ -105,7 +113,7 @@ void Blitter_8bppOptimized::Draw(Blitter::BlitterParams *bp, BlitterMode mode, Z } default: - memcpy(dst, src, pixels); + MemCpyT(dst, src, pixels); dst += pixels; src += pixels; break; } diff --git a/src/blitter/8bpp_simple.cpp b/src/blitter/8bpp_simple.cpp index d98cff1c92..ed5dd3f7ae 100644 --- a/src/blitter/8bpp_simple.cpp +++ b/src/blitter/8bpp_simple.cpp @@ -13,6 +13,8 @@ #include "../zoom_func.h" #include "8bpp_simple.hpp" +#include "../safeguards.h" + /** Instantiation of the simple 8bpp blitter factory. */ static FBlitter_8bppSimple iFBlitter_8bppSimple; @@ -45,6 +47,10 @@ void Blitter_8bppSimple::Draw(Blitter::BlitterParams *bp, BlitterMode mode, Zoom if (*src != 0) colour = bp->remap[*dst]; break; + case BM_BLACK_REMAP: + colour = 0; + break; + default: colour = *src; break; diff --git a/src/blitter/base.cpp b/src/blitter/base.cpp index d30f4054b7..e83df2e714 100644 --- a/src/blitter/base.cpp +++ b/src/blitter/base.cpp @@ -13,6 +13,8 @@ #include "base.hpp" #include "../core/math_func.hpp" +#include "../safeguards.h" + void Blitter::DrawLine(void *video, int x, int y, int x2, int y2, int screen_width, int screen_height, uint8 colour, int width, int dash) { int dy; diff --git a/src/blitter/base.hpp b/src/blitter/base.hpp index 3314eddfec..a9403b339d 100644 --- a/src/blitter/base.hpp +++ b/src/blitter/base.hpp @@ -21,6 +21,7 @@ enum BlitterMode { BM_COLOUR_REMAP, ///< Perform a colour remapping. BM_TRANSPARENT, ///< Perform transparency colour remapping. BM_CRASH_REMAP, ///< Perform a crash remapping. + BM_BLACK_REMAP, ///< Perform remapping to a completely blackened sprite }; /** diff --git a/src/blitter/factory.hpp b/src/blitter/factory.hpp index cda470510b..01faca68fd 100644 --- a/src/blitter/factory.hpp +++ b/src/blitter/factory.hpp @@ -63,7 +63,7 @@ protected: * @pre There is no blitter registered with this name. */ BlitterFactory(const char *name, const char *description, bool usable = true) : - name(strdup(name)), description(strdup(description)) + name(stredup(name)), description(stredup(description)) { if (usable) { /* diff --git a/src/blitter/null.cpp b/src/blitter/null.cpp index 1c2b379d1b..e968abe13f 100644 --- a/src/blitter/null.cpp +++ b/src/blitter/null.cpp @@ -12,6 +12,8 @@ #include "../stdafx.h" #include "null.hpp" +#include "../safeguards.h" + /** Instantiation of the null blitter factory. */ static FBlitter_Null iFBlitter_Null; diff --git a/src/bmp.cpp b/src/bmp.cpp index 2cb3dbf787..1033d89f11 100644 --- a/src/bmp.cpp +++ b/src/bmp.cpp @@ -15,6 +15,8 @@ #include "core/alloc_func.hpp" #include "core/mem_func.hpp" +#include "safeguards.h" + void BmpInitializeBuffer(BmpBuffer *buffer, FILE *file) { buffer->pos = -1; diff --git a/src/bootstrap_gui.cpp b/src/bootstrap_gui.cpp index c2b76f0b1c..7abc38563c 100644 --- a/src/bootstrap_gui.cpp +++ b/src/bootstrap_gui.cpp @@ -29,6 +29,8 @@ #include "table/strings.h" +#include "safeguards.h" + /** Widgets for the background window to prevent smearing. */ static const struct NWidgetPart _background_widgets[] = { NWidget(WWT_PANEL, COLOUR_DARK_BLUE, WID_BB_BACKGROUND), SetResize(1, 1), @@ -244,7 +246,7 @@ bool HandleBootstrap() new BootstrapAskForDownloadWindow(); /* Process the user events. */ - _video_driver->MainLoop(); + VideoDriver::GetInstance()->MainLoop(); /* _exit_game is used to get out of the video driver's main loop. * In case GM_BOOTSTRAP is still set we did not exit it via the diff --git a/src/bridge_gui.cpp b/src/bridge_gui.cpp index 61c477aeac..797ead1f51 100644 --- a/src/bridge_gui.cpp +++ b/src/bridge_gui.cpp @@ -29,6 +29,8 @@ #include "table/strings.h" +#include "safeguards.h" + /** The type of the last built rail bridge */ static BridgeType _last_railbridge_type = 0; /** The type of the last built road bridge */ @@ -166,7 +168,7 @@ public: switch (widget) { case WID_BBS_DROPDOWN_ORDER: { Dimension d = GetStringBoundingBox(this->GetWidget(widget)->widget_data); - d.width += padding.width + WD_SORTBUTTON_ARROW_WIDTH * 2; // Doubled since the string is centred and it also looks better. + d.width += padding.width + Window::SortButtonWidth() * 2; // Doubled since the string is centred and it also looks better. d.height += padding.height; *size = maxdim(*size, d); break; diff --git a/src/bridge_map.cpp b/src/bridge_map.cpp index 6ebf80424e..d1e0d6024a 100644 --- a/src/bridge_map.cpp +++ b/src/bridge_map.cpp @@ -13,6 +13,8 @@ #include "landscape.h" #include "tunnelbridge_map.h" +#include "safeguards.h" + /** * Finds the end of a bridge in the specified direction starting at a middle tile diff --git a/src/bridge_map.h b/src/bridge_map.h index 8ee658ce75..74c6974db2 100644 --- a/src/bridge_map.h +++ b/src/bridge_map.h @@ -37,28 +37,14 @@ static inline bool IsBridgeTile(TileIndex t) return IsTileType(t, MP_TUNNELBRIDGE) && IsBridge(t); } -/** - * checks for the possibility that a bridge may be on this tile - * These are in fact all the tile types on which a bridge can be found - * @param t The tile to analyze - * @return true if a bridge might be present - */ -static inline bool MayHaveBridgeAbove(TileIndex t) -{ - return IsTileType(t, MP_CLEAR) || IsTileType(t, MP_RAILWAY) || IsTileType(t, MP_ROAD) || - IsTileType(t, MP_WATER) || IsTileType(t, MP_TUNNELBRIDGE) || IsTileType(t, MP_OBJECT); -} - /** * checks if a bridge is set above the ground of this tile * @param t The tile to analyze - * @pre MayHaveBridgeAbove(t) * @return true if a bridge is detected above */ static inline bool IsBridgeAbove(TileIndex t) { - assert(MayHaveBridgeAbove(t)); - return GB(_m[t].m6, 6, 2) != 0; + return GB(_m[t].type, 2, 2) != 0; } /** @@ -70,7 +56,7 @@ static inline bool IsBridgeAbove(TileIndex t) static inline BridgeType GetBridgeType(TileIndex t) { assert(IsBridgeTile(t)); - return GB(_m[t].m6, 2, 4); + return GB(_me[t].m6, 2, 4); } /** @@ -82,7 +68,7 @@ static inline BridgeType GetBridgeType(TileIndex t) static inline Axis GetBridgeAxis(TileIndex t) { assert(IsBridgeAbove(t)); - return (Axis)(GB(_m[t].m6, 6, 2) - 1); + return (Axis)(GB(_m[t].type, 2, 2) - 1); } TileIndex GetNorthernBridgeEnd(TileIndex t); @@ -104,18 +90,15 @@ static inline int GetBridgePixelHeight(TileIndex tile) * Remove the bridge over the given axis. * @param t the tile to remove the bridge from * @param a the axis of the bridge to remove - * @pre MayHaveBridgeAbove(t) */ static inline void ClearSingleBridgeMiddle(TileIndex t, Axis a) { - assert(MayHaveBridgeAbove(t)); - ClrBit(_m[t].m6, 6 + a); + ClrBit(_m[t].type, 2 + a); } /** * Removes bridges from the given, that is bridges along the X and Y axis. * @param t the tile to remove the bridge from - * @pre MayHaveBridgeAbove(t) */ static inline void ClearBridgeMiddle(TileIndex t) { @@ -127,12 +110,10 @@ static inline void ClearBridgeMiddle(TileIndex t) * Set that there is a bridge over the given axis. * @param t the tile to add the bridge to * @param a the axis of the bridge to add - * @pre MayHaveBridgeAbove(t) */ static inline void SetBridgeMiddle(TileIndex t, Axis a) { - assert(MayHaveBridgeAbove(t)); - SetBit(_m[t].m6, 6 + a); + SetBit(_m[t].type, 2 + a); } /** @@ -153,7 +134,7 @@ static inline void MakeBridgeRamp(TileIndex t, Owner o, BridgeType bridgetype, D _m[t].m3 = rt; _m[t].m4 = 0; _m[t].m5 = 1 << 7 | tt << 2 | d; - SB(_m[t].m6, 2, 4, bridgetype); + SB(_me[t].m6, 2, 4, bridgetype); _me[t].m7 = 0; } diff --git a/src/build_vehicle_gui.cpp b/src/build_vehicle_gui.cpp index 0719f29ec6..bd4bf3b59b 100644 --- a/src/build_vehicle_gui.cpp +++ b/src/build_vehicle_gui.cpp @@ -37,6 +37,8 @@ #include "table/strings.h" +#include "safeguards.h" + /** * Get the height of a single 'entry' in the engine lists. * @param type the vehicle type to get the height of @@ -56,13 +58,13 @@ static const NWidgetPart _nested_build_vehicle_widgets[] = { NWidget(WWT_STICKYBOX, COLOUR_GREY), EndContainer(), NWidget(WWT_PANEL, COLOUR_GREY), - NWidget(NWID_HORIZONTAL), - NWidget(NWID_VERTICAL), - NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_BV_SORT_ASSENDING_DESCENDING), SetDataTip(STR_BUTTON_SORT_BY, STR_TOOLTIP_SORT_ORDER), SetFill(1, 0), - NWidget(NWID_SPACER), SetFill(1, 1), - EndContainer(), - NWidget(NWID_VERTICAL), + NWidget(NWID_VERTICAL), + NWidget(NWID_HORIZONTAL), + NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_BV_SORT_ASCENDING_DESCENDING), SetDataTip(STR_BUTTON_SORT_BY, STR_TOOLTIP_SORT_ORDER), NWidget(WWT_DROPDOWN, COLOUR_GREY, WID_BV_SORT_DROPDOWN), SetResize(1, 0), SetFill(1, 0), SetDataTip(STR_JUST_STRING, STR_TOOLTIP_SORT_CRITERIA), + EndContainer(), + NWidget(NWID_HORIZONTAL), + NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_BV_SHOW_HIDDEN_ENGINES), NWidget(WWT_DROPDOWN, COLOUR_GREY, WID_BV_CARGO_FILTER_DROPDOWN), SetResize(1, 0), SetFill(1, 0), SetDataTip(STR_JUST_STRING, STR_TOOLTIP_FILTER_CRITERIA), EndContainer(), EndContainer(), @@ -79,6 +81,7 @@ static const NWidgetPart _nested_build_vehicle_widgets[] = { NWidget(NWID_SELECTION, INVALID_COLOUR, WID_BV_BUILD_SEL), NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_BV_BUILD), SetResize(1, 0), SetFill(1, 0), EndContainer(), + NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_BV_SHOW_HIDE), SetResize(1, 0), SetFill(1, 0), SetDataTip(STR_JUST_STRING, STR_NULL), NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_BV_RENAME), SetResize(1, 0), SetFill(1, 0), NWidget(WWT_RESIZEBOX, COLOUR_GREY), EndContainer(), @@ -88,10 +91,11 @@ static const NWidgetPart _nested_build_vehicle_widgets[] = { static const CargoID CF_ANY = CT_NO_REFIT; ///< Show all vehicles independent of carried cargo (i.e. no filtering) static const CargoID CF_NONE = CT_INVALID; ///< Show only vehicles which do not carry cargo (e.g. train engines) -static bool _internal_sort_order; ///< false = descending, true = ascending -static byte _last_sort_criteria[] = {0, 0, 0, 0}; -static bool _last_sort_order[] = {false, false, false, false}; -static CargoID _last_filter_criteria[] = {CF_ANY, CF_ANY, CF_ANY, CF_ANY}; +bool _engine_sort_direction; ///< \c false = descending, \c true = ascending. +byte _engine_sort_last_criteria[] = {0, 0, 0, 0}; ///< Last set sort criteria, for each vehicle type. +bool _engine_sort_last_order[] = {false, false, false, false}; ///< Last set direction of the sort order, for each vehicle type. +bool _engine_sort_show_hidden_engines[] = {false, false, false, false}; ///< Last set 'show hidden engines' setting for each vehicle type. +static CargoID _engine_sort_last_cargo_criteria[] = {CF_ANY, CF_ANY, CF_ANY, CF_ANY}; ///< Last set filter criteria, for each vehicle type. /** * Determines order of engines by engineID @@ -103,7 +107,7 @@ static int CDECL EngineNumberSorter(const EngineID *a, const EngineID *b) { int r = Engine::Get(*a)->list_position - Engine::Get(*b)->list_position; - return _internal_sort_order ? -r : r; + return _engine_sort_direction ? -r : r; } /** @@ -120,7 +124,7 @@ static int CDECL EngineIntroDateSorter(const EngineID *a, const EngineID *b) /* Use EngineID to sort instead since we want consistent sorting */ if (r == 0) return EngineNumberSorter(a, b); - return _internal_sort_order ? -r : r; + return _engine_sort_direction ? -r : r; } /** @@ -153,7 +157,7 @@ static int CDECL EngineNameSorter(const EngineID *a, const EngineID *b) /* Use EngineID to sort instead since we want consistent sorting */ if (r == 0) return EngineNumberSorter(a, b); - return _internal_sort_order ? -r : r; + return _engine_sort_direction ? -r : r; } /** @@ -170,7 +174,7 @@ static int CDECL EngineReliabilitySorter(const EngineID *a, const EngineID *b) /* Use EngineID to sort instead since we want consistent sorting */ if (r == 0) return EngineNumberSorter(a, b); - return _internal_sort_order ? -r : r; + return _engine_sort_direction ? -r : r; } /** @@ -187,7 +191,7 @@ static int CDECL EngineCostSorter(const EngineID *a, const EngineID *b) /* Use EngineID to sort instead since we want consistent sorting */ if (r == 0) return EngineNumberSorter(a, b); - return _internal_sort_order ? -r : r; + return _engine_sort_direction ? -r : r; } /** @@ -204,7 +208,7 @@ static int CDECL EngineSpeedSorter(const EngineID *a, const EngineID *b) /* Use EngineID to sort instead since we want consistent sorting */ if (r == 0) return EngineNumberSorter(a, b); - return _internal_sort_order ? -r : r; + return _engine_sort_direction ? -r : r; } /** @@ -221,7 +225,7 @@ static int CDECL EnginePowerSorter(const EngineID *a, const EngineID *b) /* Use EngineID to sort instead since we want consistent sorting */ if (r == 0) return EngineNumberSorter(a, b); - return _internal_sort_order ? -r : r; + return _engine_sort_direction ? -r : r; } /** @@ -238,7 +242,7 @@ static int CDECL EngineTractiveEffortSorter(const EngineID *a, const EngineID *b /* Use EngineID to sort instead since we want consistent sorting */ if (r == 0) return EngineNumberSorter(a, b); - return _internal_sort_order ? -r : r; + return _engine_sort_direction ? -r : r; } /** @@ -255,7 +259,7 @@ static int CDECL EngineRunningCostSorter(const EngineID *a, const EngineID *b) /* Use EngineID to sort instead since we want consistent sorting */ if (r == 0) return EngineNumberSorter(a, b); - return _internal_sort_order ? -r : r; + return _engine_sort_direction ? -r : r; } /** @@ -281,7 +285,7 @@ static int CDECL EnginePowerVsRunningCostSorter(const EngineID *a, const EngineI /* Use EngineID to sort instead since we want consistent sorting */ if (r == 0) return EngineNumberSorter(a, b); - return _internal_sort_order ? -r : r; + return _engine_sort_direction ? -r : r; } /* Train sorting functions */ @@ -303,7 +307,7 @@ static int CDECL TrainEngineCapacitySorter(const EngineID *a, const EngineID *b) /* Use EngineID to sort instead since we want consistent sorting */ if (r == 0) return EngineNumberSorter(a, b); - return _internal_sort_order ? -r : r; + return _engine_sort_direction ? -r : r; } /** @@ -320,7 +324,7 @@ static int CDECL TrainEnginesThenWagonsSorter(const EngineID *a, const EngineID /* Use EngineID to sort instead since we want consistent sorting */ if (r == 0) return EngineNumberSorter(a, b); - return _internal_sort_order ? -r : r; + return _engine_sort_direction ? -r : r; } /* Road vehicle sorting functions */ @@ -339,7 +343,7 @@ static int CDECL RoadVehEngineCapacitySorter(const EngineID *a, const EngineID * /* Use EngineID to sort instead since we want consistent sorting */ if (r == 0) return EngineNumberSorter(a, b); - return _internal_sort_order ? -r : r; + return _engine_sort_direction ? -r : r; } /* Ship vehicle sorting functions */ @@ -361,7 +365,7 @@ static int CDECL ShipEngineCapacitySorter(const EngineID *a, const EngineID *b) /* Use EngineID to sort instead since we want consistent sorting */ if (r == 0) return EngineNumberSorter(a, b); - return _internal_sort_order ? -r : r; + return _engine_sort_direction ? -r : r; } /* Aircraft sorting functions */ @@ -391,7 +395,7 @@ static int CDECL AircraftEngineCargoSorter(const EngineID *a, const EngineID *b) return EngineNumberSorter(a, b); } } - return _internal_sort_order ? -r : r; + return _engine_sort_direction ? -r : r; } /** @@ -409,10 +413,11 @@ static int CDECL AircraftRangeSorter(const EngineID *a, const EngineID *b) /* Use EngineID to sort instead since we want consistent sorting */ if (r == 0) return EngineNumberSorter(a, b); - return _internal_sort_order ? -r : r; + return _engine_sort_direction ? -r : r; } -static EngList_SortTypeFunction * const _sorter[][11] = {{ +/** Sort functions for the vehicle sort criteria, for each vehicle type. */ +EngList_SortTypeFunction * const _engine_sort_functions[][11] = {{ /* Trains */ &EngineNumberSorter, &EngineCostSorter, @@ -461,7 +466,8 @@ static EngList_SortTypeFunction * const _sorter[][11] = {{ &AircraftRangeSorter, }}; -static const StringID _sort_listing[][12] = {{ +/** Dropdown menu strings for the vehicle sort criteria. */ +const StringID _engine_sort_listing[][12] = {{ /* Trains */ STR_SORT_BY_ENGINE_ID, STR_SORT_BY_COST, @@ -526,21 +532,20 @@ static GUIEngineList::FilterFunction * const _filter_funcs[] = { &CargoFilter, }; -static int DrawCargoCapacityInfo(int left, int right, int y, EngineID engine, bool refittable) +static int DrawCargoCapacityInfo(int left, int right, int y, EngineID engine) { - CargoArray cap = GetCapacityOfArticulatedParts(engine); + CargoArray cap; + uint32 refits; + GetArticulatedVehicleCargoesAndRefits(engine, &cap, &refits); for (CargoID c = 0; c < NUM_CARGO; c++) { if (cap[c] == 0) continue; SetDParam(0, c); SetDParam(1, cap[c]); - SetDParam(2, refittable ? STR_PURCHASE_INFO_REFITTABLE : STR_EMPTY); + SetDParam(2, HasBit(refits, c) ? STR_PURCHASE_INFO_REFITTABLE : STR_EMPTY); DrawString(left, right, y, STR_PURCHASE_INFO_CAPACITY); y += FONT_HEIGHT_NORMAL; - - /* Only show as refittable once */ - refittable = false; } return y; @@ -825,7 +830,7 @@ int DrawVehiclePurchaseInfo(int left, int right, int y, EngineID engine_number) if (articulated_cargo) { /* Cargo type + capacity, or N/A */ - int new_y = DrawCargoCapacityInfo(left, right, y, engine_number, refittable); + int new_y = DrawCargoCapacityInfo(left, right, y, engine_number); if (new_y == y) { SetDParam(0, CT_INVALID); @@ -911,8 +916,13 @@ void DrawEngineList(VehicleType type, int l, int r, int y, const GUIEngineList * /* Note: num_engines is only used in the autoreplace GUI, so it is correct to use _local_company here. */ const uint num_engines = GetGroupNumEngines(_local_company, selected_group, engine); + const Engine *e = Engine::Get(engine); + bool hidden = HasBit(e->company_hidden, _local_company); + StringID str = hidden ? STR_HIDDEN_ENGINE_NAME : STR_ENGINE_NAME; + TextColour tc = (engine == selected_id) ? TC_WHITE : (TC_NO_SHADE | (hidden ? TC_GREY : TC_BLACK)); + SetDParam(0, engine); - DrawString(text_left, text_right, y + normal_text_y_offset, STR_ENGINE_NAME, engine == selected_id ? TC_WHITE : TC_BLACK); + DrawString(text_left, text_right, y + normal_text_y_offset, str, tc); DrawVehicleEngine(l, r, sprite_x, y + sprite_y_offset, engine, (show_count && num_engines == 0) ? PALETTE_CRASH : GetEnginePalette(engine, _local_company), EIT_PURCHASE); if (show_count) { SetDParam(0, num_engines); @@ -922,18 +932,42 @@ void DrawEngineList(VehicleType type, int l, int r, int y, const GUIEngineList * } } +/** + * Display the dropdown for the vehicle sort criteria. + * @param w Parent window (holds the dropdown button). + * @param vehicle_type %Vehicle type being sorted. + * @param selected Currently selected sort criterium. + * @param button Widget button. + */ +void DisplayVehicleSortDropDown(Window *w, VehicleType vehicle_type, int selected, int button) +{ + uint32 hidden_mask = 0; + /* Disable sorting by power or tractive effort when the original acceleration model for road vehicles is being used. */ + if (vehicle_type == VEH_ROAD && _settings_game.vehicle.roadveh_acceleration_model == AM_ORIGINAL) { + SetBit(hidden_mask, 3); // power + SetBit(hidden_mask, 4); // tractive effort + SetBit(hidden_mask, 8); // power by running costs + } + /* Disable sorting by tractive effort when the original acceleration model for trains is being used. */ + if (vehicle_type == VEH_TRAIN && _settings_game.vehicle.train_acceleration_model == AM_ORIGINAL) { + SetBit(hidden_mask, 4); // tractive effort + } + ShowDropDownMenu(w, _engine_sort_listing[vehicle_type], selected, button, 0, hidden_mask); +} +/** GUI for building vehicles. */ struct BuildVehicleWindow : Window { - VehicleType vehicle_type; + VehicleType vehicle_type; ///< Type of vehicles shown in the window. union { - RailTypeByte railtype; - RoadTypes roadtypes; - } filter; - bool descending_sort_order; - byte sort_criteria; - bool listview_mode; - EngineID sel_engine; - EngineID rename_engine; + RailTypeByte railtype; ///< Rail type to show, or #RAILTYPE_END. + RoadTypes roadtypes; ///< Road type to show, or #ROADTYPES_ALL. + } filter; ///< Filter to apply. + bool descending_sort_order; ///< Sort direction, @see _engine_sort_direction + byte sort_criteria; ///< Current sort criterium. + bool show_hidden_engines; ///< State of the 'show hidden engines' button. + bool listview_mode; ///< If set, only display the available vehicles and do not show a 'build' button. + EngineID sel_engine; ///< Currently selected engine, or #INVALID_ENGINE + EngineID rename_engine; ///< Engine being renamed. GUIEngineList eng_list; CargoID cargo_filter[NUM_CARGO + 2]; ///< Available cargo filters; CargoID or CF_ANY or CF_NONE StringID cargo_filter_texts[NUM_CARGO + 3]; ///< Texts for filter_cargo, terminated by INVALID_STRING_ID @@ -946,10 +980,11 @@ struct BuildVehicleWindow : Window { this->vehicle_type = type; this->window_number = tile == INVALID_TILE ? (int)type : tile; - this->sel_engine = INVALID_ENGINE; + this->sel_engine = INVALID_ENGINE; - this->sort_criteria = _last_sort_criteria[type]; - this->descending_sort_order = _last_sort_order[type]; + this->sort_criteria = _engine_sort_last_criteria[type]; + this->descending_sort_order = _engine_sort_last_order[type]; + this->show_hidden_engines = _engine_sort_show_hidden_engines[type]; switch (type) { default: NOT_REACHED(); @@ -979,6 +1014,9 @@ struct BuildVehicleWindow : Window { NWidgetCore *widget = this->GetWidget(WID_BV_LIST); widget->tool_tip = STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP + type; + widget = this->GetWidget(WID_BV_SHOW_HIDE); + widget->tool_tip = STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP + type; + widget = this->GetWidget(WID_BV_BUILD); widget->widget_data = STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON + type; widget->tool_tip = STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP + type; @@ -987,6 +1025,11 @@ struct BuildVehicleWindow : Window { widget->widget_data = STR_BUY_VEHICLE_TRAIN_RENAME_BUTTON + type; widget->tool_tip = STR_BUY_VEHICLE_TRAIN_RENAME_TOOLTIP + type; + widget = this->GetWidget(WID_BV_SHOW_HIDDEN_ENGINES); + widget->widget_data = STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN + type; + widget->tool_tip = STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP + type; + widget->SetLowered(this->show_hidden_engines); + this->details_height = ((this->vehicle_type == VEH_TRAIN) ? 10 : 9) * FONT_HEIGHT_NORMAL + WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM; this->FinishInitNested(tile == INVALID_TILE ? (int)type : tile); @@ -1033,7 +1076,7 @@ struct BuildVehicleWindow : Window { /* Find the last cargo filter criteria. */ for (uint i = 0; i < filter_items; i++) { - if (this->cargo_filter[i] == _last_filter_criteria[this->vehicle_type]) { + if (this->cargo_filter[i] == _engine_sort_last_cargo_criteria[this->vehicle_type]) { this->cargo_filter_criteria = i; break; } @@ -1083,6 +1126,7 @@ struct BuildVehicleWindow : Window { * when engines become obsolete and are removed */ const Engine *e; FOR_ALL_ENGINES_OF_TYPE(e, VEH_TRAIN) { + if (!this->show_hidden_engines && e->IsHidden(_local_company)) continue; EngineID eid = e->index; const RailVehicleInfo *rvi = &e->u.rail; @@ -1106,15 +1150,15 @@ struct BuildVehicleWindow : Window { this->sel_engine = sel_id; /* make engines first, and then wagons, sorted by selected sort_criteria */ - _internal_sort_order = false; + _engine_sort_direction = false; EngList_Sort(&this->eng_list, TrainEnginesThenWagonsSorter); /* and then sort engines */ - _internal_sort_order = this->descending_sort_order; - EngList_SortPartial(&this->eng_list, _sorter[0][this->sort_criteria], 0, num_engines); + _engine_sort_direction = this->descending_sort_order; + EngList_SortPartial(&this->eng_list, _engine_sort_functions[0][this->sort_criteria], 0, num_engines); /* and finally sort wagons */ - EngList_SortPartial(&this->eng_list, _sorter[0][this->sort_criteria], num_engines, num_wagons); + EngList_SortPartial(&this->eng_list, _engine_sort_functions[0][this->sort_criteria], num_engines, num_wagons); } /* Figure out what road vehicle EngineIDs to put in the list */ @@ -1126,6 +1170,7 @@ struct BuildVehicleWindow : Window { const Engine *e; FOR_ALL_ENGINES_OF_TYPE(e, VEH_ROAD) { + if (!this->show_hidden_engines && e->IsHidden(_local_company)) continue; EngineID eid = e->index; if (!IsEngineBuildable(eid, VEH_ROAD, _local_company)) continue; if (!HasBit(this->filter.roadtypes, HasBit(EngInfo(eid)->misc_flags, EF_ROAD_TRAM) ? ROADTYPE_TRAM : ROADTYPE_ROAD)) continue; @@ -1144,6 +1189,7 @@ struct BuildVehicleWindow : Window { const Engine *e; FOR_ALL_ENGINES_OF_TYPE(e, VEH_SHIP) { + if (!this->show_hidden_engines && e->IsHidden(_local_company)) continue; EngineID eid = e->index; if (!IsEngineBuildable(eid, VEH_SHIP, _local_company)) continue; *this->eng_list.Append() = eid; @@ -1168,6 +1214,7 @@ struct BuildVehicleWindow : Window { * when planes become obsolete and are removed */ const Engine *e; FOR_ALL_ENGINES_OF_TYPE(e, VEH_AIRCRAFT) { + if (!this->show_hidden_engines && e->IsHidden(_local_company)) continue; EngineID eid = e->index; if (!IsEngineBuildable(eid, VEH_AIRCRAFT, _local_company)) continue; /* First VEH_END window_numbers are fake to allow a window open for all different types at once */ @@ -1204,8 +1251,8 @@ struct BuildVehicleWindow : Window { this->FilterEngineList(); - _internal_sort_order = this->descending_sort_order; - EngList_Sort(&this->eng_list, _sorter[this->vehicle_type][this->sort_criteria]); + _engine_sort_direction = this->descending_sort_order; + EngList_Sort(&this->eng_list, _engine_sort_functions[this->vehicle_type][this->sort_criteria]); this->eng_list.Compact(); this->eng_list.RebuildDone(); @@ -1214,44 +1261,50 @@ struct BuildVehicleWindow : Window { void OnClick(Point pt, int widget, int click_count) { switch (widget) { - case WID_BV_SORT_ASSENDING_DESCENDING: + case WID_BV_SORT_ASCENDING_DESCENDING: this->descending_sort_order ^= true; - _last_sort_order[this->vehicle_type] = this->descending_sort_order; + _engine_sort_last_order[this->vehicle_type] = this->descending_sort_order; this->eng_list.ForceRebuild(); this->SetDirty(); break; + case WID_BV_SHOW_HIDDEN_ENGINES: + this->show_hidden_engines ^= true; + _engine_sort_show_hidden_engines[this->vehicle_type] = this->show_hidden_engines; + this->eng_list.ForceRebuild(); + this->SetWidgetLoweredState(widget, this->show_hidden_engines); + this->SetDirty(); + break; + case WID_BV_LIST: { uint i = this->vscroll->GetScrolledRowFromWidget(pt.y, this, WID_BV_LIST); size_t num_items = this->eng_list.Length(); this->sel_engine = (i < num_items) ? this->eng_list[i] : INVALID_ENGINE; this->SetDirty(); - if (click_count > 1 && !this->listview_mode) this->OnClick(pt, WID_BV_BUILD, 1); + if (_ctrl_pressed) { + this->OnClick(pt, WID_BV_SHOW_HIDE, 1); + } else if (click_count > 1 && !this->listview_mode) { + this->OnClick(pt, WID_BV_BUILD, 1); + } break; } - case WID_BV_SORT_DROPDOWN: { // Select sorting criteria dropdown menu - uint32 hidden_mask = 0; - /* Disable sorting by power or tractive effort when the original acceleration model for road vehicles is being used. */ - if (this->vehicle_type == VEH_ROAD && - _settings_game.vehicle.roadveh_acceleration_model == AM_ORIGINAL) { - SetBit(hidden_mask, 3); // power - SetBit(hidden_mask, 4); // tractive effort - SetBit(hidden_mask, 8); // power by running costs - } - /* Disable sorting by tractive effort when the original acceleration model for trains is being used. */ - if (this->vehicle_type == VEH_TRAIN && - _settings_game.vehicle.train_acceleration_model == AM_ORIGINAL) { - SetBit(hidden_mask, 4); // tractive effort - } - ShowDropDownMenu(this, _sort_listing[this->vehicle_type], this->sort_criteria, WID_BV_SORT_DROPDOWN, 0, hidden_mask); + case WID_BV_SORT_DROPDOWN: // Select sorting criteria dropdown menu + DisplayVehicleSortDropDown(this, this->vehicle_type, this->sort_criteria, WID_BV_SORT_DROPDOWN); break; - } case WID_BV_CARGO_FILTER_DROPDOWN: // Select cargo filtering criteria dropdown menu ShowDropDownMenu(this, this->cargo_filter_texts, this->cargo_filter_criteria, WID_BV_CARGO_FILTER_DROPDOWN, 0, 0); break; + case WID_BV_SHOW_HIDE: { + const Engine *e = (this->sel_engine == INVALID_ENGINE) ? NULL : Engine::Get(this->sel_engine); + if (e != NULL) { + DoCommandP(0, 0, this->sel_engine | (e->IsHidden(_current_company) ? 0 : (1u << 31)), CMD_SET_VEHICLE_VISIBILITY); + } + break; + } + case WID_BV_BUILD: { EngineID sel_eng = this->sel_engine; if (sel_eng != INVALID_ENGINE) { @@ -1286,7 +1339,7 @@ struct BuildVehicleWindow : Window { _settings_game.vehicle.roadveh_acceleration_model == AM_ORIGINAL && this->sort_criteria > 7) { this->sort_criteria = 0; - _last_sort_criteria[VEH_ROAD] = 0; + _engine_sort_last_criteria[VEH_ROAD] = 0; } this->eng_list.ForceRebuild(); } @@ -1304,11 +1357,22 @@ struct BuildVehicleWindow : Window { break; case WID_BV_SORT_DROPDOWN: - SetDParam(0, _sort_listing[this->vehicle_type][this->sort_criteria]); + SetDParam(0, _engine_sort_listing[this->vehicle_type][this->sort_criteria]); break; case WID_BV_CARGO_FILTER_DROPDOWN: SetDParam(0, this->cargo_filter_texts[this->cargo_filter_criteria]); + break; + + case WID_BV_SHOW_HIDE: { + const Engine *e = (this->sel_engine == INVALID_ENGINE) ? NULL : Engine::Get(this->sel_engine); + if (e != NULL && e->IsHidden(_local_company)) { + SetDParam(0, STR_BUY_VEHICLE_TRAIN_SHOW_TOGGLE_BUTTON + this->vehicle_type); + } else { + SetDParam(0, STR_BUY_VEHICLE_TRAIN_HIDE_TOGGLE_BUTTON + this->vehicle_type); + } + break; + } } } @@ -1318,19 +1382,27 @@ struct BuildVehicleWindow : Window { case WID_BV_LIST: resize->height = GetEngineListHeight(this->vehicle_type); size->height = 3 * resize->height; + size->width = max(size->width, GetVehicleImageCellSize(this->vehicle_type, EIT_PURCHASE).extend_left + GetVehicleImageCellSize(this->vehicle_type, EIT_PURCHASE).extend_right + 165); break; case WID_BV_PANEL: size->height = this->details_height; break; - case WID_BV_SORT_ASSENDING_DESCENDING: { + case WID_BV_SORT_ASCENDING_DESCENDING: { Dimension d = GetStringBoundingBox(this->GetWidget(widget)->widget_data); - d.width += padding.width + WD_SORTBUTTON_ARROW_WIDTH * 2; // Doubled since the string is centred and it also looks better. + d.width += padding.width + Window::SortButtonWidth() * 2; // Doubled since the string is centred and it also looks better. d.height += padding.height; *size = maxdim(*size, d); break; } + + case WID_BV_SHOW_HIDE: + *size = GetStringBoundingBox(STR_BUY_VEHICLE_TRAIN_HIDE_TOGGLE_BUTTON + this->vehicle_type); + *size = maxdim(*size, GetStringBoundingBox(STR_BUY_VEHICLE_TRAIN_SHOW_TOGGLE_BUTTON + this->vehicle_type)); + size->width += padding.width; + size->height += padding.height; + break; } } @@ -1341,8 +1413,8 @@ struct BuildVehicleWindow : Window { DrawEngineList(this->vehicle_type, r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, r.top + WD_FRAMERECT_TOP, &this->eng_list, this->vscroll->GetPosition(), min(this->vscroll->GetPosition() + this->vscroll->GetCapacity(), this->eng_list.Length()), this->sel_engine, false, DEFAULT_GROUP); break; - case WID_BV_SORT_ASSENDING_DESCENDING: - this->DrawSortButtonState(WID_BV_SORT_ASSENDING_DESCENDING, this->descending_sort_order ? SBS_DOWN : SBS_UP); + case WID_BV_SORT_ASCENDING_DESCENDING: + this->DrawSortButtonState(WID_BV_SORT_ASCENDING_DESCENDING, this->descending_sort_order ? SBS_DOWN : SBS_UP); break; } } @@ -1352,6 +1424,8 @@ struct BuildVehicleWindow : Window { this->GenerateBuildList(); this->vscroll->SetCount(this->eng_list.Length()); + this->SetWidgetDisabledState(WID_BV_SHOW_HIDE, this->sel_engine == INVALID_ENGINE); + this->DrawWidgets(); if (!this->IsShaded()) { @@ -1385,7 +1459,7 @@ struct BuildVehicleWindow : Window { case WID_BV_SORT_DROPDOWN: if (this->sort_criteria != index) { this->sort_criteria = index; - _last_sort_criteria[this->vehicle_type] = this->sort_criteria; + _engine_sort_last_criteria[this->vehicle_type] = this->sort_criteria; this->eng_list.ForceRebuild(); } break; @@ -1393,7 +1467,7 @@ struct BuildVehicleWindow : Window { case WID_BV_CARGO_FILTER_DROPDOWN: // Select a cargo filter criteria if (this->cargo_filter_criteria != index) { this->cargo_filter_criteria = index; - _last_filter_criteria[this->vehicle_type] = this->cargo_filter[this->cargo_filter_criteria]; + _engine_sort_last_cargo_criteria[this->vehicle_type] = this->cargo_filter[this->cargo_filter_criteria]; /* deactivate filter if criteria is 'Show All', activate it otherwise */ this->eng_list.SetFilterState(this->cargo_filter[this->cargo_filter_criteria] != CF_ANY); this->eng_list.ForceRebuild(); diff --git a/src/cargoaction.cpp b/src/cargoaction.cpp index 48c49e99f1..96ddc3708e 100644 --- a/src/cargoaction.cpp +++ b/src/cargoaction.cpp @@ -14,6 +14,8 @@ #include "cargoaction.h" #include "station_base.h" +#include "safeguards.h" + /** * Decides if a packet needs to be split. * @param cp Packet to be either split or moved in one piece. diff --git a/src/cargomonitor.cpp b/src/cargomonitor.cpp index 5120967854..b1d52d6b18 100644 --- a/src/cargomonitor.cpp +++ b/src/cargomonitor.cpp @@ -13,15 +13,17 @@ #include "cargomonitor.h" #include "station_base.h" +#include "safeguards.h" + CargoMonitorMap _cargo_pickups; ///< Map of monitored pick-ups to the amount since last query/activation. CargoMonitorMap _cargo_deliveries; ///< Map of monitored deliveries to the amount since last query/activation. /** - * Helper method for ClearCargoPickupMonitoring and ClearCargoDeliveryMonitoring. - * Clears all monitors that belong to the specified company or all if INVALID_OWNER + * Helper method for #ClearCargoPickupMonitoring and #ClearCargoDeliveryMonitoring. + * Clears all monitors that belong to the specified company or all if #INVALID_OWNER * is specified as company. * @param cargo_monitor_map reference to the cargo monitor map to operate on. - * @param company company to clear cargo monitors for or INVALID_OWNER if all cargo monitors should be cleared. + * @param company company to clear cargo monitors for or #INVALID_OWNER if all cargo monitors should be cleared. */ static void ClearCargoMonitoring(CargoMonitorMap &cargo_monitor_map, CompanyID company = INVALID_OWNER) { @@ -42,7 +44,7 @@ static void ClearCargoMonitoring(CargoMonitorMap &cargo_monitor_map, CompanyID c /** * Clear all pick-up cargo monitors. - * @param company clear all pick-up monitors for this company or if INVALID_OWNER + * @param company clear all pick-up monitors for this company or if #INVALID_OWNER * is passed, all pick-up monitors are cleared regardless of company. */ void ClearCargoPickupMonitoring(CompanyID company) @@ -52,7 +54,7 @@ void ClearCargoPickupMonitoring(CompanyID company) /** * Clear all delivery cargo monitors. - * @param company clear all delivery monitors for this company or if INVALID_OWNER + * @param company clear all delivery monitors for this company or if #INVALID_OWNER * is passed, all delivery monitors are cleared regardless of company. */ void ClearCargoDeliveryMonitoring(CompanyID company) @@ -67,7 +69,7 @@ void ClearCargoDeliveryMonitoring(CompanyID company) * @param keep_monitoring After returning from this call, continue monitoring. * @return Amount collected since last query/activation for the monitored combination. */ -static uint32 GetAmount(CargoMonitorMap &monitor_map, CargoMonitorID monitor, bool keep_monitoring) +static int32 GetAmount(CargoMonitorMap &monitor_map, CargoMonitorID monitor, bool keep_monitoring) { CargoMonitorMap::iterator iter = monitor_map.find(monitor); if (iter == monitor_map.end()) { @@ -77,7 +79,7 @@ static uint32 GetAmount(CargoMonitorMap &monitor_map, CargoMonitorID monitor, bo } return 0; } else { - uint32 result = iter->second; + int32 result = iter->second; iter->second = 0; if (!keep_monitoring) monitor_map.erase(iter); return result; @@ -90,7 +92,7 @@ static uint32 GetAmount(CargoMonitorMap &monitor_map, CargoMonitorID monitor, bo * @param keep_monitoring After returning from this call, continue monitoring. * @return Amount of delivered cargo for the monitored combination. */ -uint32 GetDeliveryAmount(CargoMonitorID monitor, bool keep_monitoring) +int32 GetDeliveryAmount(CargoMonitorID monitor, bool keep_monitoring) { return GetAmount(_cargo_deliveries, monitor, keep_monitoring); } @@ -102,7 +104,7 @@ uint32 GetDeliveryAmount(CargoMonitorID monitor, bool keep_monitoring) * @return Amount of picked up cargo for the monitored combination. * @note Cargo pick up is counted on final delivery, to prevent users getting credit for picking up cargo without delivering it. */ -uint32 GetPickupAmount(CargoMonitorID monitor, bool keep_monitoring) +int32 GetPickupAmount(CargoMonitorID monitor, bool keep_monitoring) { return GetAmount(_cargo_pickups, monitor, keep_monitoring); } diff --git a/src/cargomonitor.h b/src/cargomonitor.h index ce9a8e5d6d..061a1821a4 100644 --- a/src/cargomonitor.h +++ b/src/cargomonitor.h @@ -16,6 +16,7 @@ #include "company_func.h" #include "industry.h" #include "town.h" +#include "core/overflowsafe_type.hpp" #include struct Station; @@ -31,7 +32,7 @@ struct Station; typedef uint32 CargoMonitorID; ///< Type of the cargo monitor number. /** Map type for storing and updating active cargo monitor numbers and their amounts. */ -typedef std::map CargoMonitorMap; +typedef std::map CargoMonitorMap; extern CargoMonitorMap _cargo_pickups; extern CargoMonitorMap _cargo_deliveries; @@ -141,8 +142,8 @@ static inline TownID DecodeMonitorTown(CargoMonitorID num) void ClearCargoPickupMonitoring(CompanyID company = INVALID_OWNER); void ClearCargoDeliveryMonitoring(CompanyID company = INVALID_OWNER); -uint32 GetDeliveryAmount(CargoMonitorID monitor, bool keep_monitoring); -uint32 GetPickupAmount(CargoMonitorID monitor, bool keep_monitoring); +int32 GetDeliveryAmount(CargoMonitorID monitor, bool keep_monitoring); +int32 GetPickupAmount(CargoMonitorID monitor, bool keep_monitoring); void AddCargoDelivery(CargoID cargo_type, CompanyID company, uint32 amount, SourceType src_type, SourceID src, const Station *st); #endif /* CARGOMONITOR_H */ diff --git a/src/cargopacket.cpp b/src/cargopacket.cpp index 67d00554b6..9b96be62eb 100644 --- a/src/cargopacket.cpp +++ b/src/cargopacket.cpp @@ -17,6 +17,8 @@ #include "cargoaction.h" #include "order_type.h" +#include "safeguards.h" + /* Initialize the cargopacket-pool */ CargoPacketPool _cargopacket_pool("CargoPacket"); INSTANTIATE_POOL_METHODS(CargoPacket) @@ -357,6 +359,7 @@ void VehicleCargoList::AddToCache(const CargoPacket *cp) */ void VehicleCargoList::RemoveFromMeta(const CargoPacket *cp, MoveToAction action, uint count) { + assert(count <= this->action_counts[action]); this->AssertCountConsistency(); this->RemoveFromCache(cp, count); this->action_counts[action] -= count; diff --git a/src/cargopacket.h b/src/cargopacket.h index 5d0f671661..0ed4fd9bbc 100644 --- a/src/cargopacket.h +++ b/src/cargopacket.h @@ -157,7 +157,7 @@ public: * Gets the ID of the station where the cargo was loaded for the first time. * @return StationID. */ - inline SourceID SourceStation() const + inline StationID SourceStation() const { return this->source; } diff --git a/src/cargotype.cpp b/src/cargotype.cpp index 6d601e2558..863c585616 100644 --- a/src/cargotype.cpp +++ b/src/cargotype.cpp @@ -20,6 +20,8 @@ #include "table/strings.h" #include "table/cargo_const.h" +#include "safeguards.h" + CargoSpec CargoSpec::array[NUM_CARGO]; /** diff --git a/src/cheat.cpp b/src/cheat.cpp index f8dae235fa..8b300c9668 100644 --- a/src/cheat.cpp +++ b/src/cheat.cpp @@ -12,6 +12,8 @@ #include "stdafx.h" #include "cheat_type.h" +#include "safeguards.h" + /** All the cheats. */ Cheats _cheats; diff --git a/src/cheat_gui.cpp b/src/cheat_gui.cpp index 9eb405d2ab..fda2b246e4 100644 --- a/src/cheat_gui.cpp +++ b/src/cheat_gui.cpp @@ -25,11 +25,17 @@ #include "settings_gui.h" #include "company_gui.h" #include "linkgraph/linkgraphschedule.h" +#include "map_func.h" +#include "tile_map.h" +#include "newgrf.h" +#include "error.h" #include "widgets/cheat_widget.h" #include "table/sprites.h" +#include "safeguards.h" + /** * The 'amount' to cheat with. @@ -102,7 +108,7 @@ static int32 ClickChangeDateCheat(int32 p1, int32 p2) if (p1 == _cur_year) return _cur_year; Date new_date = ConvertYMDToDate(p1, ymd.month, ymd.day); - LinkGraphSchedule::Instance()->ShiftDates(new_date - _date); + LinkGraphSchedule::instance.ShiftDates(new_date - _date); SetDate(new_date, _date_fract); EnginesMonthlyLoop(); SetWindowDirty(WC_STATUS_BAR, 0); @@ -112,6 +118,37 @@ static int32 ClickChangeDateCheat(int32 p1, int32 p2) return _cur_year; } +/** + * Allow (or disallow) a change of the maximum allowed heightlevel. + * @param p1 new value + * @param p2 unused + * @return New value (or unchanged old value) of the maximum + * allowed heightlevel value. + */ +static int32 ClickChangeMaxHlCheat(int32 p1, int32 p2) +{ + p1 = Clamp(p1, MIN_MAX_HEIGHTLEVEL, MAX_MAX_HEIGHTLEVEL); + + /* Check if at least one mountain on the map is higher than the new value. + * If yes, disallow the change. */ + for (TileIndex t = 0; t < MapSize(); t++) { + if ((int32)TileHeight(t) > p1) { + ShowErrorMessage(STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN, INVALID_STRING_ID, WL_ERROR); + /* Return old, unchanged value */ + return _settings_game.construction.max_heightlevel; + } + } + + /* Execute the change and reload GRF Data */ + _settings_game.construction.max_heightlevel = p1; + ReloadNewGRFData(); + + /* The smallmap uses an index from heightlevels to colours. Trigger rebuilding it. */ + InvalidateWindowClassesData(WC_SMALLMAP, 2); + + return _settings_game.construction.max_heightlevel; +} + /** Available cheats. */ enum CheatNumbers { CHT_MONEY, ///< Change amount of money. @@ -120,6 +157,7 @@ enum CheatNumbers { CHT_CROSSINGTUNNELS, ///< Allow tunnels to cross each other. CHT_NO_JETCRASH, ///< Disable jet-airplane crashes. CHT_SETUP_PROD, ///< Allow manually editing of industry production. + CHT_EDIT_MAX_HL, ///< Edit maximum allowed heightlevel CHT_CHANGE_DATE, ///< Do time traveling. CHT_NUM_CHEATS, ///< Number of cheats. @@ -152,6 +190,7 @@ static const CheatEntry _cheats_ui[] = { {SLE_BOOL, STR_CHEAT_CROSSINGTUNNELS, &_cheats.crossing_tunnels.value, &_cheats.crossing_tunnels.been_used, NULL }, {SLE_BOOL, STR_CHEAT_NO_JETCRASH, &_cheats.no_jetcrash.value, &_cheats.no_jetcrash.been_used, NULL }, {SLE_BOOL, STR_CHEAT_SETUP_PROD, &_cheats.setup_prod.value, &_cheats.setup_prod.been_used, &ClickSetProdCheat }, + {SLE_UINT8, STR_CHEAT_EDIT_MAX_HL, &_settings_game.construction.max_heightlevel, &_cheats.edit_max_hl.been_used, &ClickChangeMaxHlCheat }, {SLE_INT32, STR_CHEAT_CHANGE_DATE, &_cur_year, &_cheats.change_date.been_used, &ClickChangeDateCheat }, }; @@ -172,9 +211,13 @@ static const NWidgetPart _nested_cheat_widgets[] = { struct CheatWindow : Window { int clicked; int header_height; + int clicked_widget; + uint line_height; + int box_width; CheatWindow(WindowDesc *desc) : Window(desc) { + this->box_width = GetSpriteSize(SPR_BOX_EMPTY).width; this->InitNested(); } @@ -186,21 +229,24 @@ struct CheatWindow : Window { DrawStringMultiLine(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_LEFT, r.top + WD_FRAMERECT_TOP, y, STR_CHEATS_WARNING, TC_FROMSTRING, SA_CENTER); bool rtl = _current_text_dir == TD_RTL; - uint box_left = rtl ? r.right - 12 : r.left + 5; - uint button_left = rtl ? r.right - 20 - SETTING_BUTTON_WIDTH : r.left + 20; - uint text_left = r.left + (rtl ? WD_FRAMERECT_LEFT : 30 + SETTING_BUTTON_WIDTH); - uint text_right = r.right - (rtl ? 30 + SETTING_BUTTON_WIDTH : WD_FRAMERECT_RIGHT); + uint box_left = rtl ? r.right - this->box_width - 5 : r.left + 5; + uint button_left = rtl ? r.right - this->box_width - 10 - SETTING_BUTTON_WIDTH : r.left + this->box_width + 10; + uint text_left = r.left + (rtl ? WD_FRAMERECT_LEFT : 20 + this->box_width + SETTING_BUTTON_WIDTH); + uint text_right = r.right - (rtl ? 20 + this->box_width + SETTING_BUTTON_WIDTH : WD_FRAMERECT_RIGHT); + + int text_y_offset = (this->line_height - FONT_HEIGHT_NORMAL) / 2; + int icon_y_offset = (this->line_height - SETTING_BUTTON_HEIGHT) / 2; for (int i = 0; i != lengthof(_cheats_ui); i++) { const CheatEntry *ce = &_cheats_ui[i]; - DrawSprite((*ce->been_used) ? SPR_BOX_CHECKED : SPR_BOX_EMPTY, PAL_NONE, box_left, y + 2); + DrawSprite((*ce->been_used) ? SPR_BOX_CHECKED : SPR_BOX_EMPTY, PAL_NONE, box_left, y + icon_y_offset + 2); switch (ce->type) { case SLE_BOOL: { bool on = (*(bool*)ce->variable); - DrawBoolButton(button_left, y, on, true); + DrawBoolButton(button_left, y + icon_y_offset, on, true); SetDParam(0, on ? STR_CONFIG_SETTING_ON : STR_CONFIG_SETTING_OFF); break; } @@ -210,7 +256,7 @@ struct CheatWindow : Window { char buf[512]; /* Draw [<][>] boxes for settings of an integer-type */ - DrawArrowButtons(button_left, y, COLOUR_YELLOW, clicked - (i * 2), true, true); + DrawArrowButtons(button_left, y + icon_y_offset, COLOUR_YELLOW, clicked - (i * 2), true, true); switch (ce->str) { /* Display date for change date cheat */ @@ -221,7 +267,7 @@ struct CheatWindow : Window { SetDParam(0, val + 1); GetString(buf, STR_CHEAT_CHANGE_COMPANY, lastof(buf)); uint offset = 10 + GetStringBoundingBox(buf).width; - DrawCompanyIcon(_local_company, rtl ? text_right - offset - 10 : text_left + offset, y + 2); + DrawCompanyIcon(_local_company, rtl ? text_right - offset - 10 : text_left + offset, y + icon_y_offset + 2); break; } @@ -231,9 +277,9 @@ struct CheatWindow : Window { } } - DrawString(text_left, text_right, y + 1, ce->str); + DrawString(text_left, text_right, y + text_y_offset, ce->str); - y += FONT_HEIGHT_NORMAL + WD_PAR_VSEP_NORMAL; + y += this->line_height; } } @@ -275,16 +321,20 @@ struct CheatWindow : Window { } } - size->width = width + 50 /* stuff on the left */ + 10 /* extra spacing on right */; + this->line_height = max(GetSpriteSize(SPR_BOX_CHECKED).height, GetSpriteSize(SPR_BOX_EMPTY).height); + this->line_height = max(this->line_height, SETTING_BUTTON_HEIGHT); + this->line_height = max(this->line_height, FONT_HEIGHT_NORMAL) + WD_PAR_VSEP_NORMAL; + + size->width = width + 20 + this->box_width + SETTING_BUTTON_WIDTH /* stuff on the left */ + 10 /* extra spacing on right */; this->header_height = GetStringHeight(STR_CHEATS_WARNING, size->width - WD_FRAMERECT_LEFT - WD_FRAMERECT_RIGHT) + WD_PAR_VSEP_WIDE; - size->height = this->header_height + WD_FRAMERECT_TOP + WD_PAR_VSEP_NORMAL + WD_FRAMERECT_BOTTOM + (FONT_HEIGHT_NORMAL + WD_PAR_VSEP_NORMAL) * lengthof(_cheats_ui); + size->height = this->header_height + WD_FRAMERECT_TOP + WD_PAR_VSEP_NORMAL + WD_FRAMERECT_BOTTOM + this->line_height * lengthof(_cheats_ui); } virtual void OnClick(Point pt, int widget, int click_count) { const NWidgetBase *wid = this->GetWidget(WID_C_PANEL); - uint btn = (pt.y - wid->pos_y - WD_FRAMERECT_TOP - this->header_height) / (FONT_HEIGHT_NORMAL + WD_PAR_VSEP_NORMAL); - uint x = pt.x - wid->pos_x; + uint btn = (pt.y - wid->pos_y - WD_FRAMERECT_TOP - this->header_height) / this->line_height; + int x = pt.x - wid->pos_x; bool rtl = _current_text_dir == TD_RTL; if (rtl) x = wid->current_x - x; @@ -294,15 +344,21 @@ struct CheatWindow : Window { int value = (int32)ReadValue(ce->variable, ce->type); int oldvalue = value; - if (btn == CHT_CHANGE_DATE && x >= 20 + SETTING_BUTTON_WIDTH) { + if (btn == CHT_CHANGE_DATE && x >= 20 + this->box_width + SETTING_BUTTON_WIDTH) { /* Click at the date text directly. */ + clicked_widget = CHT_CHANGE_DATE; SetDParam(0, value); ShowQueryString(STR_JUST_INT, STR_CHEAT_CHANGE_DATE_QUERY_CAPT, 8, this, CS_NUMERAL, QSF_ACCEPT_UNCHANGED); return; + } else if (btn == CHT_EDIT_MAX_HL && x >= 20 + this->box_width + SETTING_BUTTON_WIDTH) { + clicked_widget = CHT_EDIT_MAX_HL; + SetDParam(0, value); + ShowQueryString(STR_JUST_INT, STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT, 8, this, CS_NUMERAL, QSF_ACCEPT_UNCHANGED); + return; } /* Not clicking a button? */ - if (!IsInsideMM(x, 20, 20 + SETTING_BUTTON_WIDTH)) return; + if (!IsInsideMM(x, 10 + this->box_width, 10 + this->box_width + SETTING_BUTTON_WIDTH)) return; *ce->been_used = true; @@ -314,10 +370,10 @@ struct CheatWindow : Window { default: /* Take whatever the function returns */ - value = ce->proc(value + ((x >= 20 + SETTING_BUTTON_WIDTH / 2) ? 1 : -1), (x >= 20 + SETTING_BUTTON_WIDTH / 2) ? 1 : -1); + value = ce->proc(value + ((x >= 20 + SETTING_BUTTON_WIDTH / 2) ? 1 : -1), (x >= 10 + this->box_width + SETTING_BUTTON_WIDTH / 2) ? 1 : -1); /* The first cheat (money), doesn't return a different value. */ - if (value != oldvalue || btn == CHT_MONEY) this->clicked = btn * 2 + 1 + ((x >= 20 + SETTING_BUTTON_WIDTH / 2) != rtl ? 1 : 0); + if (value != oldvalue || btn == CHT_MONEY) this->clicked = btn * 2 + 1 + ((x >= 10 + this->box_width + SETTING_BUTTON_WIDTH / 2) != rtl ? 1 : 0); break; } @@ -339,7 +395,7 @@ struct CheatWindow : Window { /* Was 'cancel' pressed or nothing entered? */ if (str == NULL || StrEmpty(str)) return; - const CheatEntry *ce = &_cheats_ui[CHT_CHANGE_DATE]; + const CheatEntry *ce = &_cheats_ui[clicked_widget]; int oldvalue = (int32)ReadValue(ce->variable, ce->type); int value = atoi(str); *ce->been_used = true; diff --git a/src/cheat_type.h b/src/cheat_type.h index a345cdd3bd..a75acf35e3 100644 --- a/src/cheat_type.h +++ b/src/cheat_type.h @@ -36,6 +36,7 @@ struct Cheats { Cheat change_date; ///< changes date ingame Cheat setup_prod; ///< setup raw-material production in game Cheat dummy3; ///< empty cheat (enable running el-engines on normal rail) + Cheat edit_max_hl; ///< edit the maximum heightlevel; this is a cheat because of the fact that it needs to reset NewGRF game state and doing so as a simple configuration breaks the expectation of many }; extern Cheats _cheats; diff --git a/src/clear_cmd.cpp b/src/clear_cmd.cpp index 0035de54cb..2e9589aee2 100644 --- a/src/clear_cmd.cpp +++ b/src/clear_cmd.cpp @@ -23,6 +23,8 @@ #include "table/sprites.h" #include "table/clear_land.h" +#include "safeguards.h" + static CommandCost ClearTile_Clear(TileIndex tile, DoCommandFlag flags) { static const Price clear_price_table[] = { @@ -110,7 +112,7 @@ static void DrawTile_Clear(TileInfo *ti) break; case CLEAR_ROCKS: - DrawGroundSprite(SPR_FLAT_ROCKY_LAND_1 + SlopeToSpriteOffset(ti->tileh), PAL_NONE); + DrawGroundSprite((HasGrfMiscBit(GMB_SECOND_ROCKY_TILE_SET) && (TileHash(ti->x, ti->y) & 1) ? SPR_FLAT_ROCKY_LAND_2 : SPR_FLAT_ROCKY_LAND_1) + SlopeToSpriteOffset(ti->tileh), PAL_NONE); break; case CLEAR_FIELDS: diff --git a/src/clear_map.h b/src/clear_map.h index ca1d1043e7..76b1e82d04 100644 --- a/src/clear_map.h +++ b/src/clear_map.h @@ -228,7 +228,7 @@ static inline uint GetFence(TileIndex t, DiagDirection side) case DIAGDIR_SE: return GB(_m[t].m4, 2, 3); case DIAGDIR_SW: return GB(_m[t].m4, 5, 3); case DIAGDIR_NE: return GB(_m[t].m3, 5, 3); - case DIAGDIR_NW: return GB(_m[t].m6, 2, 3); + case DIAGDIR_NW: return GB(_me[t].m6, 2, 3); } } @@ -247,7 +247,7 @@ static inline void SetFence(TileIndex t, DiagDirection side, uint h) case DIAGDIR_SE: SB(_m[t].m4, 2, 3, h); break; case DIAGDIR_SW: SB(_m[t].m4, 5, 3, h); break; case DIAGDIR_NE: SB(_m[t].m3, 5, 3, h); break; - case DIAGDIR_NW: SB(_m[t].m6, 2, 3, h); break; + case DIAGDIR_NW: SB(_me[t].m6, 2, 3, h); break; } } @@ -260,10 +260,6 @@ static inline void SetFence(TileIndex t, DiagDirection side, uint h) */ static inline void MakeClear(TileIndex t, ClearGround g, uint density) { - /* If this is a non-bridgeable tile, clear the bridge bits while the rest - * of the tile information is still here. */ - if (!MayHaveBridgeAbove(t)) SB(_m[t].m6, 6, 2, 0); - SetTileType(t, MP_CLEAR); _m[t].m1 = 0; SetTileOwner(t, OWNER_NONE); @@ -271,7 +267,7 @@ static inline void MakeClear(TileIndex t, ClearGround g, uint density) _m[t].m3 = 0; _m[t].m4 = 0 << 5 | 0 << 2; SetClearGroundDensity(t, g, density); // Sets m5 - SB(_m[t].m6, 2, 4, 0); // Other bits are "tropic zone" and "bridge above" + _me[t].m6 = 0; _me[t].m7 = 0; } @@ -291,7 +287,7 @@ static inline void MakeField(TileIndex t, uint field_type, IndustryID industry) _m[t].m3 = field_type; _m[t].m4 = 0 << 5 | 0 << 2; SetClearGroundDensity(t, CLEAR_FIELDS, 3); - SB(_m[t].m6, 2, 4, 0); + SB(_me[t].m6, 2, 4, 0); _me[t].m7 = 0; } diff --git a/src/command.cpp b/src/command.cpp index 34d5ab61ec..959610cd28 100644 --- a/src/command.cpp +++ b/src/command.cpp @@ -29,6 +29,8 @@ #include "table/strings.h" +#include "safeguards.h" + CommandProc CmdBuildRailroadTrack; CommandProc CmdRemoveRailroadTrack; CommandProc CmdBuildSingleRail; @@ -82,6 +84,7 @@ CommandProc CmdBuildVehicle; CommandProc CmdSellVehicle; CommandProc CmdRefitVehicle; CommandProc CmdSendVehicleToDepot; +CommandProc CmdSetVehicleVisibility; CommandProc CmdForceTrainProceed; CommandProc CmdReverseTrainDirection; @@ -241,12 +244,13 @@ static const Command _command_proc_table[] = { DEF_CMD(CmdSellVehicle, CMD_CLIENT_ID, CMDT_VEHICLE_CONSTRUCTION ), // CMD_SELL_VEHICLE DEF_CMD(CmdRefitVehicle, 0, CMDT_VEHICLE_CONSTRUCTION ), // CMD_REFIT_VEHICLE DEF_CMD(CmdSendVehicleToDepot, 0, CMDT_VEHICLE_MANAGEMENT ), // CMD_SEND_VEHICLE_TO_DEPOT + DEF_CMD(CmdSetVehicleVisibility, 0, CMDT_COMPANY_SETTING ), // CMD_SET_VEHICLE_VISIBILITY DEF_CMD(CmdMoveRailVehicle, 0, CMDT_VEHICLE_CONSTRUCTION ), // CMD_MOVE_RAIL_VEHICLE DEF_CMD(CmdForceTrainProceed, 0, CMDT_VEHICLE_MANAGEMENT ), // CMD_FORCE_TRAIN_PROCEED DEF_CMD(CmdReverseTrainDirection, 0, CMDT_VEHICLE_MANAGEMENT ), // CMD_REVERSE_TRAIN_DIRECTION - DEF_CMD(CmdClearOrderBackup, CMD_CLIENT_ID, CMDT_ROUTE_MANAGEMENT ), // CMD_CLEAR_ORDER_BACKUP + DEF_CMD(CmdClearOrderBackup, CMD_CLIENT_ID, CMDT_SERVER_SETTING ), // CMD_CLEAR_ORDER_BACKUP DEF_CMD(CmdModifyOrder, 0, CMDT_ROUTE_MANAGEMENT ), // CMD_MODIFY_ORDER DEF_CMD(CmdSkipToOrder, 0, CMDT_ROUTE_MANAGEMENT ), // CMD_SKIP_TO_ORDER DEF_CMD(CmdDeleteOrder, 0, CMDT_ROUTE_MANAGEMENT ), // CMD_DELETE_ORDER diff --git a/src/command_type.h b/src/command_type.h index a369be6651..f318216acc 100644 --- a/src/command_type.h +++ b/src/command_type.h @@ -216,6 +216,7 @@ enum Commands { CMD_SELL_VEHICLE, ///< sell a vehicle CMD_REFIT_VEHICLE, ///< refit the cargo space of a vehicle CMD_SEND_VEHICLE_TO_DEPOT, ///< send a vehicle to a depot + CMD_SET_VEHICLE_VISIBILITY, ///< hide or unhide a vehicle in the build vehicle and autoreplace GUIs CMD_MOVE_RAIL_VEHICLE, ///< move a rail vehicle (in the depot) CMD_FORCE_TRAIN_PROCEED, ///< proceed a train to pass a red signal diff --git a/src/company_cmd.cpp b/src/company_cmd.cpp index 6a92b411df..36c902ce91 100644 --- a/src/company_cmd.cpp +++ b/src/company_cmd.cpp @@ -39,6 +39,10 @@ #include "table/strings.h" +#include "safeguards.h" + +void ClearEnginesHiddenFlagOfCompany(CompanyID cid); + CompanyByte _local_company; ///< Company controlled by the human player at this client. Can also be #COMPANY_SPECTATOR. CompanyByte _current_company; ///< Company currently doing an action. Colours _company_colours[MAX_COMPANIES]; ///< NOSAVE: can be determined from company structs. @@ -556,6 +560,7 @@ Company *DoStartupNewCompany(bool is_ai, CompanyID company = INVALID_COMPANY) RandomCompanyManagerFaceBits(c->face, (GenderEthnicity)Random(), false, false); // create a random company manager face SetDefaultCompanySettings(c->index); + ClearEnginesHiddenFlagOfCompany(c->index); GeneratePresidentName(c); @@ -855,59 +860,21 @@ CommandCost CmdCompanyCtrl(TileIndex tile, DoCommandFlag flags, uint32 p1, uint3 MarkWholeScreenDirty(); } - if (_network_server) { - if (ci != NULL) { - /* ci is only NULL when replaying. - * When replaying no client is actually in need of an update. */ - ci->client_playas = c->index; - NetworkUpdateClientInfo(ci->client_id); - } - - if (Company::IsValidID(c->index)) { - _network_company_states[c->index].months_empty = 0; - _network_company_states[c->index].password[0] = '\0'; - NetworkServerUpdateCompanyPassworded(c->index, false); - - /* XXX - When a client joins, we automatically set its name to the - * client's name (for some reason). As it stands now only the server - * knows the client's name, so it needs to send out a "broadcast" to - * do this. To achieve this we send a network command. However, it - * uses _local_company to execute the command as. To prevent abuse - * (eg. only yourself can change your name/company), we 'cheat' by - * impersonation _local_company as the server. Not the best solution; - * but it works. - * TODO: Perhaps this could be improved by when the client is ready - * with joining to let it send itself the command, and not the server? - * For example in network_client.c:534? */ - if (ci != NULL) { - /* ci is only NULL when replaying. - * When replaying, the command to rename the president will - * automatically be ran, so this is not even needed to get - * the exact same state. */ - NetworkSendCommand(0, 0, 0, CMD_RENAME_PRESIDENT, NULL, ci->client_name, c->index); - } - } - - /* Announce new company on network. */ - NetworkAdminCompanyInfo(c, true); - - if (ci != NULL) { - /* ci is only NULL when replaying. - * When replaying, the message that someone started a new company - * is not interesting at all. */ - NetworkServerSendChat(NETWORK_ACTION_COMPANY_NEW, DESTTYPE_BROADCAST, 0, "", ci->client_id, c->index + 1); - } - } + NetworkServerNewCompany(c, ci); #endif /* ENABLE_NETWORK */ break; } - case 1: // Make a new AI company + case 1: { // Make a new AI company if (!(flags & DC_EXEC)) return CommandCost(); if (company_id != INVALID_COMPANY && (company_id >= MAX_COMPANIES || Company::IsValidID(company_id))) return CMD_ERROR; - DoStartupNewCompany(true, company_id); + Company *c = DoStartupNewCompany(true, company_id); +#ifdef ENABLE_NETWORK + if (c != NULL) NetworkServerNewCompany(c, NULL); +#endif /* ENABLE_NETWORK */ break; + } case 2: { // Delete a company CompanyRemoveReason reason = (CompanyRemoveReason)GB(p2, 0, 2); @@ -1114,7 +1081,7 @@ CommandCost CmdRenameCompany(TileIndex tile, DoCommandFlag flags, uint32 p1, uin if (flags & DC_EXEC) { Company *c = Company::Get(_current_company); free(c->name); - c->name = reset ? NULL : strdup(text); + c->name = reset ? NULL : stredup(text); MarkWholeScreenDirty(); CompanyAdminUpdate(c); } @@ -1163,12 +1130,12 @@ CommandCost CmdRenamePresident(TileIndex tile, DoCommandFlag flags, uint32 p1, u if (reset) { c->president_name = NULL; } else { - c->president_name = strdup(text); + c->president_name = stredup(text); if (c->name_1 == STR_SV_UNNAMED && c->name == NULL) { char buf[80]; - snprintf(buf, lengthof(buf), "%s Transport", text); + seprintf(buf, lastof(buf), "%s Transport", text); DoCommand(0, 0, 0, DC_EXEC, CMD_RENAME_COMPANY, buf); } } diff --git a/src/company_gui.cpp b/src/company_gui.cpp index bbbf0950b5..1343acb91b 100644 --- a/src/company_gui.cpp +++ b/src/company_gui.cpp @@ -35,9 +35,12 @@ #include "road_func.h" #include "water.h" #include "station_func.h" +#include "zoom_func.h" #include "widgets/company_widget.h" +#include "safeguards.h" + /** Company GUI constants. */ static const uint EXP_LINESPACE = 2; ///< Amount of vertical space for a horizontal (sub-)total line. @@ -526,7 +529,7 @@ public: uint Height(uint width) const { - return max(FONT_HEIGHT_NORMAL, 14); + return max(FONT_HEIGHT_NORMAL, ScaleGUITrad(12) + 2); } bool Selectable() const @@ -537,8 +540,15 @@ public: void Draw(int left, int right, int top, int bottom, bool sel, int bg_colour) const { bool rtl = _current_text_dir == TD_RTL; - DrawSprite(SPR_VEH_BUS_SIDE_VIEW, PALETTE_RECOLOUR_START + this->result, rtl ? right - 16 : left + 16, top + 7); - DrawString(rtl ? left + 2 : left + 32, rtl ? right - 32 : right - 2, top + max(0, 13 - FONT_HEIGHT_NORMAL), this->String(), sel ? TC_WHITE : TC_BLACK); + int height = bottom - top; + int icon_y_offset = height / 2; + int text_y_offset = (height - FONT_HEIGHT_NORMAL) / 2 + 1; + DrawSprite(SPR_VEH_BUS_SIDE_VIEW, PALETTE_RECOLOUR_START + this->result, + rtl ? right - 2 - ScaleGUITrad(14) : left + ScaleGUITrad(14) + 2, + top + icon_y_offset); + DrawString(rtl ? left + 2 : left + ScaleGUITrad(28) + 4, + rtl ? right - ScaleGUITrad(28) - 4 : right - 2, + top + text_y_offset, this->String(), sel ? TC_WHITE : TC_BLACK); } }; @@ -1099,7 +1109,7 @@ public: this->GetWidget(WID_SCMF_SEL_LOADSAVE)->SetDisplayedPlane(advanced ? 0 : SZSP_NONE); this->GetWidget(WID_SCMF_SEL_PARTS)->SetDisplayedPlane(advanced ? 0 : SZSP_NONE); this->GetWidget(WID_SCMF_SEL_MALEFEMALE)->SetDisplayedPlane(advanced ? SZSP_NONE : 0); - this->GetWidget(WID_SCMF_RANDOM_NEW_FACE)->widget_data = advanced ? STR_MAPGEN_RANDOM : STR_FACE_NEW_FACE_BUTTON; + this->GetWidget(WID_SCMF_RANDOM_NEW_FACE)->widget_data = advanced ? STR_FACE_RANDOM : STR_FACE_NEW_FACE_BUTTON; NWidgetCore *wi = this->GetWidget(WID_SCMF_TOGGLE_LARGE_SMALL_BUTTON); if (advanced) { @@ -1135,6 +1145,13 @@ public: virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) { switch (widget) { + case WID_SCMF_FACE: { + Dimension face_size = GetSpriteSize(SPR_GRADIENT); + size->width = max(size->width, face_size.width); + size->height = max(size->height, face_size.height); + break; + } + case WID_SCMF_HAS_MOUSTACHE_EARRING_TEXT: case WID_SCMF_TIE_EARRING_TEXT: { int offset = (widget - WID_SCMF_HAS_MOUSTACHE_EARRING_TEXT) * 2; @@ -2072,6 +2089,13 @@ struct CompanyWindow : Window virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) { switch (widget) { + case WID_C_FACE: { + Dimension face_size = GetSpriteSize(SPR_GRADIENT); + size->width = max(size->width, face_size.width); + size->height = max(size->height, face_size.height); + break; + } + case WID_C_DESC_COLOUR_SCHEME_EXAMPLE: { Point offset; Dimension d = GetSpriteSize(SPR_VEH_BUS_SW_VIEW, &offset); diff --git a/src/console.cpp b/src/console.cpp index 1b5ff24224..511019281a 100644 --- a/src/console.cpp +++ b/src/console.cpp @@ -20,6 +20,8 @@ #include +#include "safeguards.h" + static const uint ICON_TOKEN_COUNT = 20; ///< Maximum number of tokens in one command /* console parser */ @@ -103,7 +105,7 @@ void IConsolePrint(TextColour colour_code, const char *string) /* Create a copy of the string, strip if of colours and invalid * characters and (when applicable) assign it to the console buffer */ - str = strdup(string); + str = stredup(string); str_strip_colours(str); str_validate(str, str + strlen(str)); @@ -135,7 +137,7 @@ void CDECL IConsolePrintF(TextColour colour_code, const char *format, ...) char buf[ICON_MAX_STREAMSIZE]; va_start(va, format); - vsnprintf(buf, sizeof(buf), format, va); + vseprintf(buf, lastof(buf), format, va); va_end(va); IConsolePrint(colour_code, buf); @@ -254,7 +256,7 @@ char *RemoveUnderscores(char *name) void IConsoleCmdRegister(const char *name, IConsoleCmdProc *proc, IConsoleHook *hook) { IConsoleCmd *item_new = MallocT(1); - item_new->name = RemoveUnderscores(strdup(name)); + item_new->name = RemoveUnderscores(stredup(name)); item_new->next = NULL; item_new->proc = proc; item_new->hook = hook; @@ -289,8 +291,8 @@ void IConsoleAliasRegister(const char *name, const char *cmd) return; } - char *new_alias = RemoveUnderscores(strdup(name)); - char *cmd_aliased = strdup(cmd); + char *new_alias = RemoveUnderscores(stredup(name)); + char *cmd_aliased = stredup(cmd); IConsoleAlias *item_new = MallocT(1); item_new->next = NULL; diff --git a/src/console_cmds.cpp b/src/console_cmds.cpp index 1a4ea9239c..8d9e04113d 100644 --- a/src/console_cmds.cpp +++ b/src/console_cmds.cpp @@ -40,6 +40,8 @@ #include "game/game.hpp" #include "table/strings.h" +#include "safeguards.h" + /* scriptfile handling */ static bool _script_running; ///< Script is running (used to abort execution when #ConReturn is encountered). @@ -1342,7 +1344,7 @@ DEF_CONSOLE_CMD(ConAlias) IConsoleAliasRegister(argv[1], argv[2]); } else { free(alias->cmdline); - alias->cmdline = strdup(argv[2]); + alias->cmdline = stredup(argv[2]); } return true; } diff --git a/src/console_gui.cpp b/src/console_gui.cpp index c3dcdaa122..ed46938cd5 100644 --- a/src/console_gui.cpp +++ b/src/console_gui.cpp @@ -27,6 +27,8 @@ #include "table/strings.h" +#include "safeguards.h" + static const uint ICON_HISTORY_SIZE = 20; static const uint ICON_LINE_SPACING = 2; static const uint ICON_RIGHT_BORDERWIDTH = 10; @@ -185,7 +187,7 @@ struct IConsoleWindow : Window ~IConsoleWindow() { _iconsole_mode = ICONSOLE_CLOSED; - _video_driver->EditBoxLostFocus(); + VideoDriver::GetInstance()->EditBoxLostFocus(); } /** @@ -374,7 +376,7 @@ struct IConsoleWindow : Window virtual void OnFocusLost() { - _video_driver->EditBoxLostFocus(); + VideoDriver::GetInstance()->EditBoxLostFocus(); } }; @@ -463,7 +465,7 @@ static const char *IConsoleHistoryAdd(const char *cmd) if (_iconsole_history[0] == NULL || strcmp(_iconsole_history[0], cmd) != 0) { free(_iconsole_history[ICON_HISTORY_SIZE - 1]); memmove(&_iconsole_history[1], &_iconsole_history[0], sizeof(_iconsole_history[0]) * (ICON_HISTORY_SIZE - 1)); - _iconsole_history[0] = strdup(cmd); + _iconsole_history[0] = stredup(cmd); } /* Reset the history position */ diff --git a/src/core/alloc_func.cpp b/src/core/alloc_func.cpp index d2b3a4b6c5..b78023f4d6 100644 --- a/src/core/alloc_func.cpp +++ b/src/core/alloc_func.cpp @@ -11,6 +11,8 @@ #include "../stdafx.h" +#include "../safeguards.h" + /** * Function to exit with an error message after malloc() or calloc() have failed * @param size number of bytes we tried to allocate diff --git a/src/core/bitmath_func.cpp b/src/core/bitmath_func.cpp index af0200bcb8..7763227315 100644 --- a/src/core/bitmath_func.cpp +++ b/src/core/bitmath_func.cpp @@ -12,6 +12,8 @@ #include "../stdafx.h" #include "bitmath_func.hpp" +#include "../safeguards.h" + const uint8 _ffb_64[64] = { 0, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, diff --git a/src/core/geometry_func.cpp b/src/core/geometry_func.cpp index 1a15887380..86f317a372 100644 --- a/src/core/geometry_func.cpp +++ b/src/core/geometry_func.cpp @@ -13,6 +13,8 @@ #include "geometry_func.hpp" #include "math_func.hpp" +#include "../safeguards.h" + /** * Compute bounding box of both dimensions. * @param d1 First dimension. diff --git a/src/core/math_func.cpp b/src/core/math_func.cpp index 8c136c0bb6..d927702083 100644 --- a/src/core/math_func.cpp +++ b/src/core/math_func.cpp @@ -12,6 +12,8 @@ #include "../stdafx.h" #include "math_func.hpp" +#include "../safeguards.h" + /** * Compute least common multiple (lcm) of arguments \a a and \a b, the smallest * integer value that is a multiple of both \a a and \a b. diff --git a/src/core/math_func.hpp b/src/core/math_func.hpp index fd41102317..df9142462b 100644 --- a/src/core/math_func.hpp +++ b/src/core/math_func.hpp @@ -12,18 +12,6 @@ #ifndef MATH_FUNC_HPP #define MATH_FUNC_HPP -#ifdef min -#undef min -#endif - -#ifdef max -#undef max -#endif - -#ifdef abs -#undef abs -#endif - /** * Returns the maximum of two values. * diff --git a/src/core/overflowsafe_type.hpp b/src/core/overflowsafe_type.hpp index cfc245c6cf..edc25d2755 100644 --- a/src/core/overflowsafe_type.hpp +++ b/src/core/overflowsafe_type.hpp @@ -12,6 +12,7 @@ #ifndef OVERFLOWSAFE_TYPE_HPP #define OVERFLOWSAFE_TYPE_HPP +#include "math_func.hpp" /** * Overflow safe template for integers, i.e. integers that will never overflow @@ -151,5 +152,6 @@ template inline OverflowSafeInt inline OverflowSafeInt operator / (byte a, OverflowSafeInt b) { return (OverflowSafeInt)a / (int)b; } typedef OverflowSafeInt OverflowSafeInt64; +typedef OverflowSafeInt OverflowSafeInt32; #endif /* OVERFLOWSAFE_TYPE_HPP */ diff --git a/src/core/pool_func.cpp b/src/core/pool_func.cpp index fa410850f1..f8ff93cecc 100644 --- a/src/core/pool_func.cpp +++ b/src/core/pool_func.cpp @@ -12,6 +12,8 @@ #include "../stdafx.h" #include "pool_type.hpp" +#include "../safeguards.h" + /** * Destructor removes this object from the pool vector and * deletes the vector itself if this was the last item removed. diff --git a/src/core/random_func.cpp b/src/core/random_func.cpp index 8cf21b54f5..e4593c4076 100644 --- a/src/core/random_func.cpp +++ b/src/core/random_func.cpp @@ -13,6 +13,17 @@ #include "random_func.hpp" #include "bitmath_func.hpp" +#ifdef RANDOM_DEBUG +#include "../network/network.h" +#include "../network/network_server.h" +#include "../network/network_internal.h" +#include "../company_func.h" +#include "../fileio_func.h" +#include "../date_func.h" +#endif /* RANDOM_DEBUG */ + +#include "../safeguards.h" + Randomizer _random, _interactive_random; /** @@ -60,13 +71,6 @@ void SetRandomSeed(uint32 seed) } #ifdef RANDOM_DEBUG -#include "../network/network.h" -#include "../network/network_server.h" -#include "../network/network_internal.h" -#include "../company_func.h" -#include "../fileio_func.h" -#include "../date_func.h" - uint32 DoRandom(int line, const char *file) { if (_networking && (!_network_server || (NetworkClientSocket::IsValidID(0) && NetworkClientSocket::Get(0)->status != NetworkClientSocket::STATUS_INACTIVE))) { diff --git a/src/cpu.cpp b/src/cpu.cpp index 1a878c1826..c48b8cbd4d 100644 --- a/src/cpu.cpp +++ b/src/cpu.cpp @@ -12,6 +12,8 @@ #include "stdafx.h" #include "core/bitmath_func.hpp" +#include "safeguards.h" + #undef RDTSC_AVAILABLE /* rdtsc for MSC_VER, uses simple inline assembly, or _rdtsc diff --git a/src/crashlog.cpp b/src/crashlog.cpp index 986736bb3e..e8290a7c3f 100644 --- a/src/crashlog.cpp +++ b/src/crashlog.cpp @@ -36,6 +36,8 @@ #include +#include "safeguards.h" + /* static */ const char *CrashLog::message = NULL; /* static */ char *CrashLog::gamelog_buffer = NULL; /* static */ const char *CrashLog::gamelog_last = NULL; @@ -138,14 +140,14 @@ char *CrashLog::LogConfiguration(char *buffer, const char *last) const BaseGraphics::GetUsedSet() == NULL ? "none" : BaseGraphics::GetUsedSet()->name, BaseGraphics::GetUsedSet() == NULL ? UINT32_MAX : BaseGraphics::GetUsedSet()->version, _current_language == NULL ? "none" : _current_language->file, - _music_driver == NULL ? "none" : _music_driver->GetName(), + MusicDriver::GetInstance() == NULL ? "none" : MusicDriver::GetInstance()->GetName(), BaseMusic::GetUsedSet() == NULL ? "none" : BaseMusic::GetUsedSet()->name, BaseMusic::GetUsedSet() == NULL ? UINT32_MAX : BaseMusic::GetUsedSet()->version, _networking ? (_network_server ? "server" : "client") : "no", - _sound_driver == NULL ? "none" : _sound_driver->GetName(), + SoundDriver::GetInstance() == NULL ? "none" : SoundDriver::GetInstance()->GetName(), BaseSounds::GetUsedSet() == NULL ? "none" : BaseSounds::GetUsedSet()->name, BaseSounds::GetUsedSet() == NULL ? UINT32_MAX : BaseSounds::GetUsedSet()->version, - _video_driver == NULL ? "none" : _video_driver->GetName() + VideoDriver::GetInstance() == NULL ? "none" : VideoDriver::GetInstance()->GetName() ); buffer += seprintf(buffer, last, @@ -482,7 +484,7 @@ bool CrashLog::MakeCrashLog() const */ /* static */ void CrashLog::AfterCrashLogCleanup() { - if (_music_driver != NULL) _music_driver->Stop(); - if (_sound_driver != NULL) _sound_driver->Stop(); - if (_video_driver != NULL) _video_driver->Stop(); + if (MusicDriver::GetInstance() != NULL) MusicDriver::GetInstance()->Stop(); + if (SoundDriver::GetInstance() != NULL) SoundDriver::GetInstance()->Stop(); + if (VideoDriver::GetInstance() != NULL) VideoDriver::GetInstance()->Stop(); } diff --git a/src/currency.cpp b/src/currency.cpp index 52060e21c8..8cc385fc04 100644 --- a/src/currency.cpp +++ b/src/currency.cpp @@ -20,6 +20,8 @@ #include "table/strings.h" +#include "safeguards.h" + /* exchange rate prefix symbol_pos * | separator | postfix | * | | Euro year | | | name @@ -54,7 +56,7 @@ static const CurrencySpec origin_currency_specs[CURRENCY_END] = { { 60, "", 2009, "", NBSP "Sk", 1, STR_GAME_OPTIONS_CURRENCY_SKK }, ///< slovak koruna { 4, "", CF_NOEURO, "R$" NBSP, "", 0, STR_GAME_OPTIONS_CURRENCY_BRL }, ///< brazil real { 31, "", 2011, "", NBSP "EEK", 1, STR_GAME_OPTIONS_CURRENCY_EEK }, ///< estonian krooni - { 4, "", 2014, "", NBSP "Lt", 1, STR_GAME_OPTIONS_CURRENCY_LTL }, ///< lithuanian litas + { 4, "", 2015, "", NBSP "Lt", 1, STR_GAME_OPTIONS_CURRENCY_LTL }, ///< lithuanian litas { 1850, "", CF_NOEURO, "\xE2\x82\xA9", "", 0, STR_GAME_OPTIONS_CURRENCY_KRW }, ///< south korean won { 13, "", CF_NOEURO, "R" NBSP, "", 0, STR_GAME_OPTIONS_CURRENCY_ZAR }, ///< south african rand { 1, "", CF_NOEURO, "", "", 2, STR_GAME_OPTIONS_CURRENCY_CUSTOM }, ///< custom currency (add further languages below) diff --git a/src/date.cpp b/src/date.cpp index 800e4faeaf..9c25af40ee 100644 --- a/src/date.cpp +++ b/src/date.cpp @@ -21,6 +21,8 @@ #include "linkgraph/linkgraph.h" #include "saveload/saveload.h" +#include "safeguards.h" + Year _cur_year; ///< Current year, starting at 0 Month _cur_month; ///< Current month (0..11) Date _date; ///< Current date in days (day counter) diff --git a/src/date_gui.cpp b/src/date_gui.cpp index a0c4bc38c0..468a74db99 100644 --- a/src/date_gui.cpp +++ b/src/date_gui.cpp @@ -20,6 +20,8 @@ #include "widgets/dropdown_type.h" #include "widgets/date_widget.h" +#include "safeguards.h" + /** Window to select a date graphically by using dropdowns */ struct SetDateWindow : Window { @@ -73,7 +75,7 @@ struct SetDateWindow : Window { case WID_SD_DAY: for (uint i = 0; i < 31; i++) { - *list->Append() = new DropDownListStringItem(STR_ORDINAL_NUMBER_1ST + i, i + 1, false); + *list->Append() = new DropDownListStringItem(STR_DAY_NUMBER_1ST + i, i + 1, false); } selected = this->date.day; break; @@ -106,7 +108,7 @@ struct SetDateWindow : Window { case WID_SD_DAY: for (uint i = 0; i < 31; i++) { - d = maxdim(d, GetStringBoundingBox(STR_ORDINAL_NUMBER_1ST + i)); + d = maxdim(d, GetStringBoundingBox(STR_DAY_NUMBER_1ST + i)); } break; @@ -130,7 +132,7 @@ struct SetDateWindow : Window { virtual void SetStringParameters(int widget) const { switch (widget) { - case WID_SD_DAY: SetDParam(0, this->date.day - 1 + STR_ORDINAL_NUMBER_1ST); break; + case WID_SD_DAY: SetDParam(0, this->date.day - 1 + STR_DAY_NUMBER_1ST); break; case WID_SD_MONTH: SetDParam(0, this->date.month + STR_MONTH_JAN); break; case WID_SD_YEAR: SetDParam(0, this->date.year); break; } diff --git a/src/debug.cpp b/src/debug.cpp index dceae7ec49..16eecadad0 100644 --- a/src/debug.cpp +++ b/src/debug.cpp @@ -24,6 +24,8 @@ SOCKET _debug_socket = INVALID_SOCKET; #endif /* ENABLE_NETWORK */ +#include "safeguards.h" + int _debug_driver_level; int _debug_grf_level; int _debug_map_level; @@ -111,7 +113,7 @@ static void debug_print(const char *dbg, const char *buf) if (_debug_socket != INVALID_SOCKET) { char buf2[1024 + 32]; - snprintf(buf2, lengthof(buf2), "%sdbg: [%s] %s\n", GetLogPrefix(), dbg, buf); + seprintf(buf2, lastof(buf2), "%sdbg: [%s] %s\n", GetLogPrefix(), dbg, buf); /* Sending out an error when this fails would be nice, however... the error * would have to be send over this failing socket which won't work. */ send(_debug_socket, buf2, (int)strlen(buf2), 0); @@ -161,7 +163,7 @@ void CDECL debug(const char *dbg, const char *format, ...) va_list va; va_start(va, format); - vsnprintf(buf, lengthof(buf), format, va); + vseprintf(buf, lastof(buf), format, va); va_end(va); debug_print(dbg, buf); @@ -236,10 +238,10 @@ const char *GetDebugString() memset(dbgstr, 0, sizeof(dbgstr)); i = debug_level; - snprintf(dbgstr, sizeof(dbgstr), "%s=%d", i->name, *i->level); + seprintf(dbgstr, lastof(dbgstr), "%s=%d", i->name, *i->level); for (i++; i != endof(debug_level); i++) { - snprintf(dbgval, sizeof(dbgval), ", %s=%d", i->name, *i->level); + seprintf(dbgval, lastof(dbgval), ", %s=%d", i->name, *i->level); strecat(dbgstr, dbgval, lastof(dbgstr)); } diff --git a/src/dedicated.cpp b/src/dedicated.cpp index 6342bc2476..ce383ee4a5 100644 --- a/src/dedicated.cpp +++ b/src/dedicated.cpp @@ -20,6 +20,8 @@ FILE *_log_fd = NULL; ///< File to reroute output of a forked OpenTTD to #include +#include "safeguards.h" + #if (defined(SUNOS) && !defined(_LP64) && !defined(_I32LPx)) || defined(__HAIKU__) /* Solaris has, in certain situation, pid_t defined as long, while in other * cases it has it defined as int... this handles all cases nicely. diff --git a/src/depot.cpp b/src/depot.cpp index 9663f042e3..821399fd2b 100644 --- a/src/depot.cpp +++ b/src/depot.cpp @@ -18,6 +18,8 @@ #include "vehicle_gui.h" #include "vehiclelist.h" +#include "safeguards.h" + /** All our depots tucked away in a pool. */ DepotPool _depot_pool("Depot"); INSTANTIATE_POOL_METHODS(Depot) diff --git a/src/depot_cmd.cpp b/src/depot_cmd.cpp index 5fb2b2de2f..5101b7c2ca 100644 --- a/src/depot_cmd.cpp +++ b/src/depot_cmd.cpp @@ -21,6 +21,8 @@ #include "table/strings.h" +#include "safeguards.h" + /** * Check whether the given name is globally unique amongst depots. * @param name The name to check. @@ -68,7 +70,7 @@ CommandCost CmdRenameDepot(TileIndex tile, DoCommandFlag flags, uint32 p1, uint3 d->name = NULL; MakeDefaultName(d); } else { - d->name = strdup(text); + d->name = stredup(text); } /* Update the orders and depot */ diff --git a/src/depot_gui.cpp b/src/depot_gui.cpp index c677d039d9..fe75708ddf 100644 --- a/src/depot_gui.cpp +++ b/src/depot_gui.cpp @@ -33,6 +33,8 @@ #include "table/strings.h" +#include "safeguards.h" + /* * Since all depot window sizes aren't the same, we need to modify sizes a little. * It's done with the following arrays of widget indexes. Each of them tells if a widget side should be moved and in what direction. @@ -188,16 +190,19 @@ static void InitBlocksizeForVehicles(VehicleType type, EngineImageType image_typ if ((int)x + x_offs > max_extend_right) max_extend_right = x + x_offs; } + int min_extend = ScaleGUITrad(16); + int max_extend = ScaleGUITrad(98); + switch (image_type) { case EIT_IN_DEPOT: - _base_block_sizes_depot[type].height = max(GetVehicleHeight(type), max_height); - _base_block_sizes_depot[type].extend_left = Clamp(max_extend_left, 16, 98); - _base_block_sizes_depot[type].extend_right = Clamp(max_extend_right, 16, 98); + _base_block_sizes_depot[type].height = max(ScaleGUITrad(GetVehicleHeight(type)), max_height); + _base_block_sizes_depot[type].extend_left = Clamp(max_extend_left, min_extend, max_extend); + _base_block_sizes_depot[type].extend_right = Clamp(max_extend_right, min_extend, max_extend); break; case EIT_PURCHASE: - _base_block_sizes_purchase[type].height = max(GetVehicleHeight(type), max_height); - _base_block_sizes_purchase[type].extend_left = Clamp(max_extend_left, 16, 98); - _base_block_sizes_purchase[type].extend_right = Clamp(max_extend_right, 16, 98); + _base_block_sizes_purchase[type].height = max(ScaleGUITrad(GetVehicleHeight(type)), max_height); + _base_block_sizes_purchase[type].extend_left = Clamp(max_extend_left, min_extend, max_extend); + _base_block_sizes_purchase[type].extend_right = Clamp(max_extend_right, min_extend, max_extend); break; default: NOT_REACHED(); @@ -226,6 +231,7 @@ struct DepotWindow : Window { bool generate_list; VehicleList vehicle_list; VehicleList wagon_list; + uint unitnumber_digits; uint num_columns; ///< Number of columns. Scrollbar *hscroll; ///< Only for trains. Scrollbar *vscroll; @@ -239,6 +245,7 @@ struct DepotWindow : Window { this->generate_list = true; this->type = type; this->num_columns = 1; // for non-trains this gets set in FinishInitNested() + this->unitnumber_digits = 2; this->CreateNestedTree(); this->hscroll = (this->type == VEH_TRAIN ? this->GetScrollbar(WID_D_H_SCROLL) : NULL); @@ -272,7 +279,7 @@ struct DepotWindow : Window { void DrawVehicleInDepot(const Vehicle *v, int left, int right, int y) const { bool free_wagon = false; - int sprite_y = y + (this->resize.step_height - GetVehicleHeight(v->type)) / 2; + int sprite_y = y + (this->resize.step_height - ScaleGUITrad(GetVehicleHeight(v->type))) / 2; bool rtl = _current_text_dir == TD_RTL; int image_left = rtl ? left + this->count_width : left + this->header_width; @@ -283,7 +290,7 @@ struct DepotWindow : Window { const Train *u = Train::From(v); free_wagon = u->IsFreeWagon(); - uint x_space = free_wagon ? TRAININFO_DEFAULT_VEHICLE_WIDTH : 0; + uint x_space = free_wagon ? ScaleGUITrad(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); @@ -296,13 +303,7 @@ struct DepotWindow : Window { case VEH_ROAD: DrawRoadVehImage( v, image_left, image_right, sprite_y, this->sel, EIT_IN_DEPOT); break; case VEH_SHIP: DrawShipImage( v, image_left, image_right, sprite_y, this->sel, EIT_IN_DEPOT); break; - case VEH_AIRCRAFT: { - const Sprite *spr = GetSprite(v->GetImage(DIR_W, EIT_IN_DEPOT), ST_NORMAL); - DrawAircraftImage(v, image_left, image_right, - y + max(UnScaleByZoom(spr->height, ZOOM_LVL_GUI) + UnScaleByZoom(spr->y_offs, ZOOM_LVL_GUI) - 14, 0), // tall sprites needs an y offset - this->sel, EIT_IN_DEPOT); - break; - } + case VEH_AIRCRAFT: DrawAircraftImage(v, image_left, image_right, sprite_y, this->sel, EIT_IN_DEPOT); break; default: NOT_REACHED(); } @@ -428,7 +429,7 @@ struct DepotWindow : Window { pos -= this->vehicle_list.Length(); *veh = this->wagon_list[pos]; /* free wagons don't have an initial loco. */ - x -= VEHICLEINFO_FULL_VEHICLE_WIDTH; + x -= ScaleGUITrad(VEHICLEINFO_FULL_VEHICLE_WIDTH); wagon = true; } @@ -608,16 +609,17 @@ struct DepotWindow : Window { this->count_width = 0; } - Dimension unumber = { GetDigitWidth() * 4, FONT_HEIGHT_NORMAL }; + SetDParamMaxDigits(0, this->unitnumber_digits); + Dimension unumber = GetStringBoundingBox(STR_BLACK_COMMA); const Sprite *spr = GetSprite(SPR_FLAG_VEH_STOPPED, ST_NORMAL); - this->flag_width = UnScaleByZoom(spr->width, ZOOM_LVL_GUI) + WD_FRAMERECT_RIGHT; - this->flag_height = UnScaleByZoom(spr->height, ZOOM_LVL_GUI); + this->flag_width = UnScaleGUI(spr->width) + WD_FRAMERECT_RIGHT; + this->flag_height = UnScaleGUI(spr->height); if (this->type == VEH_TRAIN || this->type == VEH_ROAD) { - min_height = max(unumber.height + WD_MATRIX_TOP, UnScaleByZoom(spr->height, ZOOM_LVL_GUI)); + min_height = max(unumber.height + WD_MATRIX_TOP, UnScaleGUI(spr->height)); this->header_width = unumber.width + this->flag_width + WD_FRAMERECT_LEFT; } else { - min_height = unumber.height + UnScaleByZoom(spr->height, ZOOM_LVL_GUI) + WD_MATRIX_TOP + WD_PAR_VSEP_NORMAL + WD_MATRIX_BOTTOM; + min_height = unumber.height + UnScaleGUI(spr->height) + WD_MATRIX_TOP + WD_PAR_VSEP_NORMAL + WD_MATRIX_BOTTOM; this->header_width = max(unumber.width, this->flag_width) + WD_FRAMERECT_RIGHT; } int base_width = this->count_width + this->header_width; @@ -625,7 +627,7 @@ struct DepotWindow : Window { resize->height = max(GetVehicleImageCellSize(this->type, EIT_IN_DEPOT).height, min_height); if (this->type == VEH_TRAIN) { resize->width = 1; - size->width = base_width + 2 * 29; // about 2 parts + size->width = base_width + 2 * ScaleGUITrad(29); // about 2 parts size->height = resize->height * 6; } else { resize->width = base_width + GetVehicleImageCellSize(this->type, EIT_IN_DEPOT).extend_left + GetVehicleImageCellSize(this->type, EIT_IN_DEPOT).extend_right; @@ -657,11 +659,17 @@ struct DepotWindow : Window { BuildDepotVehicleList(this->type, this->window_number, &this->vehicle_list, &this->wagon_list); this->generate_list = false; DepotSortList(&this->vehicle_list); + + uint new_unitnumber_digits = GetUnitNumberDigits(this->vehicle_list); + if (this->unitnumber_digits != new_unitnumber_digits) { + this->unitnumber_digits = new_unitnumber_digits; + this->ReInit(); + } } /* determine amount of items for scroller */ if (this->type == VEH_TRAIN) { - uint max_width = VEHICLEINFO_FULL_VEHICLE_WIDTH; + uint max_width = ScaleGUITrad(VEHICLEINFO_FULL_VEHICLE_WIDTH); for (uint num = 0; num < this->vehicle_list.Length(); num++) { uint width = 0; for (const Train *v = Train::From(this->vehicle_list[num]); v != NULL; v = v->Next()) { diff --git a/src/depot_map.h b/src/depot_map.h index e55994869a..c304790f8a 100644 --- a/src/depot_map.h +++ b/src/depot_map.h @@ -29,6 +29,9 @@ static inline bool IsDepotTypeTile(TileIndex tile, TransportType type) case TRANSPORT_WATER: return IsShipDepotTile(tile); + + case TRANSPORT_AIR: + return IsHangarTile(tile); } } @@ -58,7 +61,7 @@ static inline DepotID GetDepotIndex(TileIndex t) /** * Get the type of vehicles that can use a depot * @param t The tile - * @pre IsRailDepotTile(t) || IsRoadDepotTile(t) || IsShipDepotTile(t) || IsTileType(t, MP_STATION) + * @pre IsDepotTile(t) * @return the type of vehicles that can use the depot */ static inline VehicleType GetDepotVehicleType(TileIndex t) diff --git a/src/disaster_cmd.cpp b/src/disaster_vehicle.cpp similarity index 85% rename from src/disaster_cmd.cpp rename to src/disaster_vehicle.cpp index a027dd0484..d75e2d460e 100644 --- a/src/disaster_cmd.cpp +++ b/src/disaster_vehicle.cpp @@ -8,7 +8,8 @@ */ /** - * @file disaster_cmd.cpp + * @file disaster_vehicle.cpp + * * All disaster/easter egg vehicles are handled here. * The general flow of control for the disaster vehicles is as follows: *
      @@ -26,6 +27,8 @@ #include "stdafx.h" +#include "aircraft.h" +#include "disaster_vehicle.h" #include "industry.h" #include "station_base.h" #include "command_func.h" @@ -47,29 +50,11 @@ #include "table/strings.h" +#include "safeguards.h" + /** Delay counter for considering the next disaster. */ uint16 _disaster_delay; -enum DisasterSubType { - ST_ZEPPELINER, - ST_ZEPPELINER_SHADOW, - ST_SMALL_UFO, - ST_SMALL_UFO_SHADOW, - ST_AIRPLANE, - ST_AIRPLANE_SHADOW, - ST_HELICOPTER, - ST_HELICOPTER_SHADOW, - ST_HELICOPTER_ROTORS, - ST_BIG_UFO, - ST_BIG_UFO_SHADOW, - ST_BIG_UFO_DESTROYER, - ST_BIG_UFO_DESTROYER_SHADOW, - ST_SMALL_SUBMARINE, - ST_BIG_SUBMARINE, -}; - -static const uint INITIAL_DISASTER_VEHICLE_ZPOS = 135; ///< Initial Z position of flying disaster vehicles. - static void DisasterClearSquare(TileIndex tile) { if (EnsureNoVehicleOnGround(tile).Failed()) return; @@ -123,46 +108,88 @@ static const SpriteID * const _disaster_images[] = { _disaster_images_4, _disaster_images_5, ///< small and big submarine sprites }; -static void DisasterVehicleUpdateImage(DisasterVehicle *v) +void DisasterVehicle::UpdateImage() { - SpriteID img = v->image_override; - if (img == 0) img = _disaster_images[v->subtype][v->direction]; - v->cur_image = img; + SpriteID img = this->image_override; + if (img == 0) img = _disaster_images[this->subtype][this->direction]; + this->cur_image = img; } /** - * Initialize a disaster vehicle. These vehicles are of type VEH_DISASTER, are unclickable - * and owned by nobody + * Construct the disaster vehicle. + * @param x The X coordinate. + * @param y The Y coordinate. + * @param direction The direction the vehicle is facing. + * @param subtype The sub type of vehicle. + * @param big_ufo_destroyer_target The target for the UFO destroyer. */ -static void InitializeDisasterVehicle(DisasterVehicle *v, int x, int y, int z, Direction direction, byte subtype) +DisasterVehicle::DisasterVehicle(int x, int y, Direction direction, DisasterSubType subtype, VehicleID big_ufo_destroyer_target) : + SpecializedVehicleBase(), big_ufo_destroyer_target(big_ufo_destroyer_target) { - v->x_pos = x; - v->y_pos = y; - v->z_pos = z; - v->tile = TileVirtXY(x, y); - v->direction = direction; - v->subtype = subtype; - v->UpdateDeltaXY(INVALID_DIR); - v->owner = OWNER_NONE; - v->vehstatus = VS_UNCLICKABLE; - v->image_override = 0; - v->current_order.Free(); + this->vehstatus = VS_UNCLICKABLE; - DisasterVehicleUpdateImage(v); - VehicleUpdatePositionAndViewport(v); + this->x_pos = x; + this->y_pos = y; + switch (subtype) { + case ST_ZEPPELINER: + case ST_SMALL_UFO: + case ST_AIRPLANE: + case ST_HELICOPTER: + case ST_BIG_UFO: + case ST_BIG_UFO_DESTROYER: + GetAircraftFlightLevelBounds(this, &this->z_pos, NULL); + break; + + case ST_HELICOPTER_ROTORS: + GetAircraftFlightLevelBounds(this, &this->z_pos, NULL); + this->z_pos += ROTOR_Z_OFFSET; + break; + + case ST_SMALL_SUBMARINE: + case ST_BIG_SUBMARINE: + this->z_pos = 0; + break; + + case ST_ZEPPELINER_SHADOW: + case ST_SMALL_UFO_SHADOW: + case ST_AIRPLANE_SHADOW: + case ST_HELICOPTER_SHADOW: + case ST_BIG_UFO_SHADOW: + case ST_BIG_UFO_DESTROYER_SHADOW: + this->z_pos = 0; + this->vehstatus |= VS_SHADOW; + break; + } + + this->direction = direction; + this->tile = TileVirtXY(x, y); + this->subtype = subtype; + this->UpdateDeltaXY(INVALID_DIR); + this->owner = OWNER_NONE; + this->image_override = 0; + this->current_order.Free(); + + this->UpdateImage(); + this->UpdatePositionAndViewport(); } -static void SetDisasterVehiclePos(DisasterVehicle *v, int x, int y, int z) +/** + * Update the position of the vehicle. + * @param x The new X-coordinate. + * @param y The new Y-coordinate. + * @param z The new Z-coordinate. + */ +void DisasterVehicle::UpdatePosition(int x, int y, int z) { - v->x_pos = x; - v->y_pos = y; - v->z_pos = z; - v->tile = TileVirtXY(x, y); + this->x_pos = x; + this->y_pos = y; + this->z_pos = z; + this->tile = TileVirtXY(x, y); - DisasterVehicleUpdateImage(v); - VehicleUpdatePositionAndViewport(v); + this->UpdateImage(); + this->UpdatePositionAndViewport(); - DisasterVehicle *u = v->Next(); + DisasterVehicle *u = this->Next(); if (u != NULL) { int safe_x = Clamp(x, 0, MapMaxX() * TILE_SIZE); int safe_y = Clamp(y - 1, 0, MapMaxY() * TILE_SIZE); @@ -171,16 +198,16 @@ static void SetDisasterVehiclePos(DisasterVehicle *v, int x, int y, int z) u->y_pos = y - 1 - (max(z - GetSlopePixelZ(safe_x, safe_y), 0) >> 3); safe_y = Clamp(u->y_pos, 0, MapMaxY() * TILE_SIZE); u->z_pos = GetSlopePixelZ(safe_x, safe_y); - u->direction = v->direction; + u->direction = this->direction; - DisasterVehicleUpdateImage(u); - VehicleUpdatePositionAndViewport(u); + u->UpdateImage(); + u->UpdatePositionAndViewport(); if ((u = u->Next()) != NULL) { u->x_pos = x; u->y_pos = y; - u->z_pos = z + 5; - VehicleUpdatePositionAndViewport(u); + u->z_pos = z + ROTOR_Z_OFFSET; + u->UpdatePositionAndViewport(); } } } @@ -202,7 +229,7 @@ static bool DisasterTick_Zeppeliner(DisasterVehicle *v) GetNewVehiclePosResult gp = GetNewVehiclePos(v); - SetDisasterVehiclePos(v, gp.x, gp.y, v->z_pos); + v->UpdatePosition(gp.x, gp.y, GetAircraftFlightLevel(v)); if (v->current_order.GetDestination() == 1) { if (++v->age == 38) { @@ -240,7 +267,7 @@ static bool DisasterTick_Zeppeliner(DisasterVehicle *v) AI::NewEvent(GetTileOwner(v->tile), new ScriptEventDisasterZeppelinerCleared(st->index)); } - SetDisasterVehiclePos(v, v->x_pos, v->y_pos, v->z_pos); + v->UpdatePosition(v->x_pos, v->y_pos, GetAircraftFlightLevel(v)); delete v; return false; } @@ -249,7 +276,7 @@ static bool DisasterTick_Zeppeliner(DisasterVehicle *v) int y = v->y_pos; int z = GetSlopePixelZ(x, y); if (z < v->z_pos) z = v->z_pos - 1; - SetDisasterVehiclePos(v, x, y, z); + v->UpdatePosition(x, y, z); if (++v->age == 1) { CreateEffectVehicleRel(v, 0, 7, 8, EV_EXPLOSION_LARGE); @@ -296,7 +323,7 @@ static bool DisasterTick_Ufo(DisasterVehicle *v) if (Delta(x, v->x_pos) + Delta(y, v->y_pos) >= (int)TILE_SIZE) { v->direction = GetDirectionTowards(v, x, y); GetNewVehiclePosResult gp = GetNewVehiclePos(v); - SetDisasterVehiclePos(v, gp.x, gp.y, v->z_pos); + v->UpdatePosition(gp.x, gp.y, GetAircraftFlightLevel(v)); return true; } if (++v->age < 6) { @@ -344,7 +371,7 @@ static bool DisasterTick_Ufo(DisasterVehicle *v) int z = v->z_pos; if (dist <= TILE_SIZE && z > u->z_pos) z--; - SetDisasterVehiclePos(v, gp.x, gp.y, z); + v->UpdatePosition(gp.x, gp.y, z); if (z <= u->z_pos && (u->vehstatus & VS_HIDDEN) == 0) { v->age++; @@ -399,7 +426,7 @@ static bool DisasterTick_Aircraft(DisasterVehicle *v, uint16 image_override, boo v->image_override = (v->current_order.GetDestination() == 1 && HasBit(v->tick_counter, 2)) ? image_override : 0; GetNewVehiclePosResult gp = GetNewVehiclePos(v); - SetDisasterVehiclePos(v, gp.x, gp.y, v->z_pos); + v->UpdatePosition(gp.x, gp.y, GetAircraftFlightLevel(v)); if ((leave_at_top && gp.x < (-10 * (int)TILE_SIZE)) || (!leave_at_top && gp.x > (int)(MapSizeX() * TILE_SIZE + 9 * TILE_SIZE) - 1)) { delete v; @@ -474,7 +501,7 @@ static bool DisasterTick_Helicopter_Rotors(DisasterVehicle *v) if (++v->cur_image > SPR_ROTOR_MOVING_3) v->cur_image = SPR_ROTOR_MOVING_1; - VehicleUpdatePositionAndViewport(v); + v->UpdatePositionAndViewport(); return true; } @@ -496,7 +523,7 @@ static bool DisasterTick_Big_Ufo(DisasterVehicle *v) v->direction = GetDirectionTowards(v, x, y); GetNewVehiclePosResult gp = GetNewVehiclePos(v); - SetDisasterVehiclePos(v, gp.x, gp.y, v->z_pos); + v->UpdatePosition(gp.x, gp.y, GetAircraftFlightLevel(v)); return true; } @@ -508,7 +535,7 @@ static bool DisasterTick_Big_Ufo(DisasterVehicle *v) int z = GetSlopePixelZ(v->x_pos, v->y_pos); if (z < v->z_pos) { - SetDisasterVehiclePos(v, v->x_pos, v->y_pos, v->z_pos - 1); + v->UpdatePosition(v->x_pos, v->y_pos, v->z_pos - 1); return true; } @@ -532,23 +559,16 @@ static bool DisasterTick_Big_Ufo(DisasterVehicle *v) delete v; return false; } - DisasterVehicle *u = new DisasterVehicle(); - - InitializeDisasterVehicle(u, -6 * (int)TILE_SIZE, v->y_pos, INITIAL_DISASTER_VEHICLE_ZPOS, DIR_SW, ST_BIG_UFO_DESTROYER); - u->big_ufo_destroyer_target = v->index; - - DisasterVehicle *w = new DisasterVehicle(); - + DisasterVehicle *u = new DisasterVehicle(-6 * (int)TILE_SIZE, v->y_pos, DIR_SW, ST_BIG_UFO_DESTROYER, v->index); + DisasterVehicle *w = new DisasterVehicle(-6 * (int)TILE_SIZE, v->y_pos, DIR_SW, ST_BIG_UFO_DESTROYER_SHADOW); u->SetNext(w); - InitializeDisasterVehicle(w, -6 * (int)TILE_SIZE, v->y_pos, 0, DIR_SW, ST_BIG_UFO_DESTROYER_SHADOW); - w->vehstatus |= VS_SHADOW; } else if (v->current_order.GetDestination() == 0) { int x = TileX(v->dest_tile) * TILE_SIZE; int y = TileY(v->dest_tile) * TILE_SIZE; if (Delta(x, v->x_pos) + Delta(y, v->y_pos) >= (int)TILE_SIZE) { v->direction = GetDirectionTowards(v, x, y); GetNewVehiclePosResult gp = GetNewVehiclePos(v); - SetDisasterVehiclePos(v, gp.x, gp.y, v->z_pos); + v->UpdatePosition(gp.x, gp.y, GetAircraftFlightLevel(v)); return true; } @@ -583,7 +603,7 @@ static bool DisasterTick_Big_Ufo_Destroyer(DisasterVehicle *v) v->tick_counter++; GetNewVehiclePosResult gp = GetNewVehiclePos(v); - SetDisasterVehiclePos(v, gp.x, gp.y, v->z_pos); + v->UpdatePosition(gp.x, gp.y, GetAircraftFlightLevel(v)); if (gp.x > (int)(MapSizeX() * TILE_SIZE + 9 * TILE_SIZE) - 1) { delete v; @@ -640,7 +660,7 @@ static bool DisasterTick_Submarine(DisasterVehicle *v) TrackBits trackbits = TrackStatusToTrackBits(GetTileTrackStatus(tile, TRANSPORT_WATER, 0)); if (trackbits == TRACK_BIT_ALL && !Chance16(1, 90)) { GetNewVehiclePosResult gp = GetNewVehiclePos(v); - SetDisasterVehiclePos(v, gp.x, gp.y, v->z_pos); + v->UpdatePosition(gp.x, gp.y, v->z_pos); return true; } } @@ -697,14 +717,10 @@ static void Disaster_Zeppeliner_Init() } } - DisasterVehicle *v = new DisasterVehicle(); - InitializeDisasterVehicle(v, x, 0, INITIAL_DISASTER_VEHICLE_ZPOS, DIR_SE, ST_ZEPPELINER); - + DisasterVehicle *v = new DisasterVehicle(x, 0, DIR_SE, ST_ZEPPELINER); /* Allocate shadow */ - DisasterVehicle *u = new DisasterVehicle(); + DisasterVehicle *u = new DisasterVehicle(x, 0, DIR_SE, ST_ZEPPELINER_SHADOW); v->SetNext(u); - InitializeDisasterVehicle(u, x, 0, 0, DIR_SE, ST_ZEPPELINER_SHADOW); - u->vehstatus |= VS_SHADOW; } @@ -716,18 +732,13 @@ static void Disaster_Small_Ufo_Init() { if (!Vehicle::CanAllocateItem(2)) return; - DisasterVehicle *v = new DisasterVehicle(); int x = TileX(Random()) * TILE_SIZE + TILE_SIZE / 2; - - InitializeDisasterVehicle(v, x, 0, INITIAL_DISASTER_VEHICLE_ZPOS, DIR_SE, ST_SMALL_UFO); + DisasterVehicle *v = new DisasterVehicle(x, 0, DIR_SE, ST_SMALL_UFO); v->dest_tile = TileXY(MapSizeX() / 2, MapSizeY() / 2); - v->age = 0; /* Allocate shadow */ - DisasterVehicle *u = new DisasterVehicle(); + DisasterVehicle *u = new DisasterVehicle(x, 0, DIR_SE, ST_SMALL_UFO_SHADOW); v->SetNext(u); - InitializeDisasterVehicle(u, x, 0, 0, DIR_SE, ST_SMALL_UFO_SHADOW); - u->vehstatus |= VS_SHADOW; } @@ -747,18 +758,13 @@ static void Disaster_Airplane_Init() if (found == NULL) return; - DisasterVehicle *v = new DisasterVehicle(); - /* Start from the bottom (south side) of the map */ int x = (MapSizeX() + 9) * TILE_SIZE - 1; int y = TileY(found->location.tile) * TILE_SIZE + 37; - InitializeDisasterVehicle(v, x, y, INITIAL_DISASTER_VEHICLE_ZPOS, DIR_NE, ST_AIRPLANE); - - DisasterVehicle *u = new DisasterVehicle(); + DisasterVehicle *v = new DisasterVehicle(x, y, DIR_NE, ST_AIRPLANE); + DisasterVehicle *u = new DisasterVehicle(x, y, DIR_NE, ST_AIRPLANE_SHADOW); v->SetNext(u); - InitializeDisasterVehicle(u, x, y, 0, DIR_SE, ST_AIRPLANE_SHADOW); - u->vehstatus |= VS_SHADOW; } @@ -778,21 +784,15 @@ static void Disaster_Helicopter_Init() if (found == NULL) return; - DisasterVehicle *v = new DisasterVehicle(); - int x = -16 * (int)TILE_SIZE; int y = TileY(found->location.tile) * TILE_SIZE + 37; - InitializeDisasterVehicle(v, x, y, INITIAL_DISASTER_VEHICLE_ZPOS, DIR_SW, ST_HELICOPTER); - - DisasterVehicle *u = new DisasterVehicle(); + DisasterVehicle *v = new DisasterVehicle(x, y, DIR_SW, ST_HELICOPTER); + DisasterVehicle *u = new DisasterVehicle(x, y, DIR_SW, ST_HELICOPTER_SHADOW); v->SetNext(u); - InitializeDisasterVehicle(u, x, y, 0, DIR_SW, ST_HELICOPTER_SHADOW); - u->vehstatus |= VS_SHADOW; - DisasterVehicle *w = new DisasterVehicle(); + DisasterVehicle *w = new DisasterVehicle(x, y, DIR_SW, ST_HELICOPTER_ROTORS); u->SetNext(w); - InitializeDisasterVehicle(w, x, y, 140, DIR_SW, ST_HELICOPTER_ROTORS); } @@ -802,19 +802,15 @@ static void Disaster_Big_Ufo_Init() { if (!Vehicle::CanAllocateItem(2)) return; - DisasterVehicle *v = new DisasterVehicle(); int x = TileX(Random()) * TILE_SIZE + TILE_SIZE / 2; int y = MapMaxX() * TILE_SIZE - 1; - InitializeDisasterVehicle(v, x, y, INITIAL_DISASTER_VEHICLE_ZPOS, DIR_NW, ST_BIG_UFO); + DisasterVehicle *v = new DisasterVehicle(x, y, DIR_NW, ST_BIG_UFO); v->dest_tile = TileXY(MapSizeX() / 2, MapSizeY() / 2); - v->age = 0; /* Allocate shadow */ - DisasterVehicle *u = new DisasterVehicle(); + DisasterVehicle *u = new DisasterVehicle(x, y, DIR_NW, ST_BIG_UFO_SHADOW); v->SetNext(u); - InitializeDisasterVehicle(u, x, y, 0, DIR_NW, ST_BIG_UFO_SHADOW); - u->vehstatus |= VS_SHADOW; } @@ -837,9 +833,7 @@ static void Disaster_Submarine_Init(DisasterSubType subtype) } if (!IsWaterTile(TileVirtXY(x, y))) return; - DisasterVehicle *v = new DisasterVehicle(); - InitializeDisasterVehicle(v, x, y, 0, dir, subtype); - v->age = 0; + new DisasterVehicle(x, y, dir, subtype); } /* Curious submarine #1, just floats around */ @@ -971,7 +965,7 @@ void ReleaseDisastersTargetingVehicle(VehicleID vehicle) /* Revert to target-searching */ v->current_order.SetDestination(0); v->dest_tile = RandomTile(); - v->z_pos = INITIAL_DISASTER_VEHICLE_ZPOS; + GetAircraftFlightLevelBounds(v, &v->z_pos, NULL); v->age = 0; } } diff --git a/src/disaster_vehicle.h b/src/disaster_vehicle.h new file mode 100644 index 0000000000..06fb36c1e3 --- /dev/null +++ b/src/disaster_vehicle.h @@ -0,0 +1,62 @@ +/* $Id$ */ + +/* + * 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. + * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see . + */ + +/** @file disaster_vehicle.h All disaster vehicles. */ + +#ifndef DISASTER_VEHICLE_H +#define DISASTER_VEHICLE_H + +#include "vehicle_base.h" + +/** Different sub types of disaster vehicles. */ +enum DisasterSubType { + ST_ZEPPELINER, ///< Zeppelin, crashes at airports. + ST_ZEPPELINER_SHADOW, ///< Shadow of the zeppelin. + ST_SMALL_UFO, ///< Small UFO, tries to find a road vehicle to destroy. + ST_SMALL_UFO_SHADOW, ///< Shadow of small UFO + ST_AIRPLANE, ///< Airplane destroying an oil refinery + ST_AIRPLANE_SHADOW, ///< Shadow of airplane + ST_HELICOPTER, ///< Helicopter destroying a factory. + ST_HELICOPTER_SHADOW, ///< Shadow of helicopter. + ST_HELICOPTER_ROTORS, ///< Rotors of helicopter. + ST_BIG_UFO, ///< Big UFO, finds a piece of railroad to "park" on + ST_BIG_UFO_SHADOW, ///< Shadow of the big UFO + ST_BIG_UFO_DESTROYER, ///< Aircraft the will bomb the big UFO + ST_BIG_UFO_DESTROYER_SHADOW, ///< Shadow of the aircraft. + ST_SMALL_SUBMARINE, ///< Small submarine, pops up in the oceans but doesn't do anything + ST_BIG_SUBMARINE, ///< Big submarine, pops up in the oceans but doesn't do anything +}; + +/** + * Disasters, like submarines, skyrangers and their shadows, belong to this class. + */ +struct DisasterVehicle FINAL : public SpecializedVehicle { + SpriteID image_override; ///< Override for the default disaster vehicle sprite. + VehicleID big_ufo_destroyer_target; ///< The big UFO that this destroyer is supposed to bomb. + byte flags; ///< Flags about the state of the vehicle, @see AirVehicleFlags + + /** For use by saveload. */ + DisasterVehicle() : SpecializedVehicleBase() {} + DisasterVehicle(int x, int y, Direction direction, DisasterSubType subtype, VehicleID big_ufo_destroyer_target = VEH_INVALID); + /** We want to 'destruct' the right class. */ + virtual ~DisasterVehicle() {} + + void UpdatePosition(int x, int y, int z); + void UpdateDeltaXY(Direction direction); + void UpdateImage(); + bool Tick(); +}; + +/** + * Iterate over disaster vehicles. + * @param var The variable used to iterate over. + */ +#define FOR_ALL_DISASTERVEHICLES(var) FOR_ALL_VEHICLES_OF_TYPE(DisasterVehicle, var) + +#endif /* DISASTER_VEHICLE_H */ diff --git a/src/dock_gui.cpp b/src/dock_gui.cpp index 059aef6b5f..f6699daeff 100644 --- a/src/dock_gui.cpp +++ b/src/dock_gui.cpp @@ -26,12 +26,15 @@ #include "company_base.h" #include "hotkeys.h" #include "gui.h" +#include "zoom_func.h" #include "widgets/dock_widget.h" #include "table/sprites.h" #include "table/strings.h" +#include "safeguards.h" + static void ShowBuildDockStationPicker(Window *parent); static void ShowBuildDocksDepotPicker(Window *parent); @@ -113,11 +116,17 @@ struct BuildDocksToolbarWindow : Window { virtual void OnInvalidateData(int data = 0, bool gui_scope = true) { if (!gui_scope) return; - this->SetWidgetsDisabledState(!CanBuildVehicleInfrastructure(VEH_SHIP), + + bool can_build = CanBuildVehicleInfrastructure(VEH_SHIP); + this->SetWidgetsDisabledState(!can_build, WID_DT_DEPOT, WID_DT_STATION, WID_DT_BUOY, WIDGET_LIST_END); + if (!can_build) { + DeleteWindowById(WC_BUILD_STATION, TRANSPORT_WATER); + DeleteWindowById(WC_BUILD_DEPOT, TRANSPORT_WATER); + } } virtual void OnClick(Point pt, int widget, int click_count) @@ -496,14 +505,30 @@ public: UpdateDocksDirection(); } + virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) + { + switch (widget) { + case WID_BDD_X: + case WID_BDD_Y: + size->width = ScaleGUITrad(96) + 2; + size->height = ScaleGUITrad(64) + 2; + break; + } + } + virtual void OnPaint() { this->DrawWidgets(); - DrawShipDepotSprite(this->GetWidget(WID_BDD_X)->pos_x + 64, this->GetWidget(WID_BDD_X)->pos_y + 18, AXIS_X, DEPOT_PART_NORTH); - DrawShipDepotSprite(this->GetWidget(WID_BDD_X)->pos_x + 32, this->GetWidget(WID_BDD_X)->pos_y + 34, AXIS_X, DEPOT_PART_SOUTH); - DrawShipDepotSprite(this->GetWidget(WID_BDD_Y)->pos_x + 32, this->GetWidget(WID_BDD_Y)->pos_y + 18, AXIS_Y, DEPOT_PART_NORTH); - DrawShipDepotSprite(this->GetWidget(WID_BDD_Y)->pos_x + 64, this->GetWidget(WID_BDD_Y)->pos_y + 34, AXIS_Y, DEPOT_PART_SOUTH); + int x1 = ScaleGUITrad(63) + 1; + int x2 = ScaleGUITrad(31) + 1; + int y1 = ScaleGUITrad(17) + 1; + int y2 = ScaleGUITrad(33) + 1; + + DrawShipDepotSprite(this->GetWidget(WID_BDD_X)->pos_x + x1, this->GetWidget(WID_BDD_X)->pos_y + y1, AXIS_X, DEPOT_PART_NORTH); + DrawShipDepotSprite(this->GetWidget(WID_BDD_X)->pos_x + x2, this->GetWidget(WID_BDD_X)->pos_y + y2, AXIS_X, DEPOT_PART_SOUTH); + DrawShipDepotSprite(this->GetWidget(WID_BDD_Y)->pos_x + x2, this->GetWidget(WID_BDD_Y)->pos_y + y1, AXIS_Y, DEPOT_PART_NORTH); + DrawShipDepotSprite(this->GetWidget(WID_BDD_Y)->pos_x + x1, this->GetWidget(WID_BDD_Y)->pos_y + y2, AXIS_Y, DEPOT_PART_SOUTH); } virtual void OnClick(Point pt, int widget, int click_count) diff --git a/src/driver.cpp b/src/driver.cpp index dd03e5e7b6..825c489b97 100644 --- a/src/driver.cpp +++ b/src/driver.cpp @@ -16,17 +16,16 @@ #include "video/video_driver.hpp" #include "string_func.h" -VideoDriver *_video_driver; ///< The currently active video driver. +#include "safeguards.h" + char *_ini_videodriver; ///< The video driver a stored in the configuration file. int _num_resolutions; ///< The number of resolutions. Dimension _resolutions[32]; ///< List of resolutions. Dimension _cur_resolution; ///< The current resolution. bool _rightclick_emulate; ///< Whether right clicking is emulated. -SoundDriver *_sound_driver; ///< The currently active sound driver. char *_ini_sounddriver; ///< The sound driver a stored in the configuration file. -MusicDriver *_music_driver; ///< The currently active music driver. char *_ini_musicdriver; ///< The music driver a stored in the configuration file. char *_ini_blitter; ///< The blitter as stored in the configuration file. @@ -86,9 +85,25 @@ int GetDriverParamInt(const char * const *parm, const char *name, int def) * @param type the type of driver to select * @post Sets the driver so GetCurrentDriver() returns it too. */ -Driver *DriverFactoryBase::SelectDriver(const char *name, Driver::Type type) +void DriverFactoryBase::SelectDriver(const char *name, Driver::Type type) { - if (GetDrivers().size() == 0) return NULL; + if (!DriverFactoryBase::SelectDriverImpl(name, type)) { + StrEmpty(name) ? + usererror("Failed to autoprobe %s driver", GetDriverTypeName(type)) : + usererror("Failed to select requested %s driver '%s'", GetDriverTypeName(type), name); + } +} + +/** + * Find the requested driver and return its class. + * @param name the driver to select. + * @param type the type of driver to select + * @post Sets the driver so GetCurrentDriver() returns it too. + * @return True upon success, otherwise false. + */ +bool DriverFactoryBase::SelectDriverImpl(const char *name, Driver::Type type) +{ + if (GetDrivers().size() == 0) return false; if (StrEmpty(name)) { /* Probe for this driver, but do not fall back to dedicated/null! */ @@ -101,15 +116,18 @@ Driver *DriverFactoryBase::SelectDriver(const char *name, Driver::Type type) if (d->type != type) continue; if (d->priority != priority) continue; + Driver *oldd = *GetActiveDriver(type); Driver *newd = d->CreateInstance(); + *GetActiveDriver(type) = newd; + const char *err = newd->Start(NULL); if (err == NULL) { DEBUG(driver, 1, "Successfully probed %s driver '%s'", GetDriverTypeName(type), d->name); - delete *GetActiveDriver(type); - *GetActiveDriver(type) = newd; - return newd; + delete oldd; + return true; } + *GetActiveDriver(type) = oldd; DEBUG(driver, 1, "Probing %s driver '%s' failed with error: %s", GetDriverTypeName(type), d->name, err); delete newd; } @@ -158,7 +176,7 @@ Driver *DriverFactoryBase::SelectDriver(const char *name, Driver::Type type) DEBUG(driver, 1, "Successfully loaded %s driver '%s'", GetDriverTypeName(type), d->name); delete *GetActiveDriver(type); *GetActiveDriver(type) = newd; - return newd; + return true; } usererror("No such %s driver: %s\n", GetDriverTypeName(type), buffer); } @@ -206,7 +224,7 @@ DriverFactoryBase::DriverFactoryBase(Driver::Type type, int priority, const char strecpy(buf, GetDriverTypeName(type), lastof(buf)); strecpy(buf + 5, name, lastof(buf)); - const char *longname = strdup(buf); + const char *longname = stredup(buf); std::pair P = GetDrivers().insert(Drivers::value_type(longname, this)); assert(P.second); diff --git a/src/driver.h b/src/driver.h index a466d67d00..12ca4474d4 100644 --- a/src/driver.h +++ b/src/driver.h @@ -59,6 +59,10 @@ DECLARE_POSTFIX_INCREMENT(Driver::Type) /** Base for all driver factories. */ class DriverFactoryBase { private: + friend class MusicDriver; + friend class SoundDriver; + friend class VideoDriver; + Driver::Type type; ///< The type of driver. int priority; ///< The priority of this factory. const char *name; ///< The name of the drivers of this factory. @@ -97,6 +101,8 @@ private: return driver_type_name[type]; } + static bool SelectDriverImpl(const char *name, Driver::Type type); + protected: DriverFactoryBase(Driver::Type type, int priority, const char *name, const char *description); @@ -114,7 +120,7 @@ public: } } - static Driver *SelectDriver(const char *name, Driver::Type type); + static void SelectDriver(const char *name, Driver::Type type); static char *GetDriversInfo(char *p, const char *last); /** diff --git a/src/economy.cpp b/src/economy.cpp index 5db7061bf9..d78d2cccec 100644 --- a/src/economy.cpp +++ b/src/economy.cpp @@ -19,6 +19,7 @@ #include "network/network_func.h" #include "ai/ai.hpp" #include "aircraft.h" +#include "train.h" #include "newgrf_engine.h" #include "engine_base.h" #include "ground_vehicle.hpp" @@ -53,6 +54,8 @@ #include "table/strings.h" #include "table/pricebase.h" +#include "safeguards.h" + /* Initialize the cargo payment-pool */ CargoPaymentPool _cargo_payment_pool("CargoPayment"); @@ -297,7 +300,7 @@ void ChangeOwnershipOfCompanyItems(Owner old_owner, Owner new_owner) /* Single player cheated to AI company. * There are no spectators in single player, so we must pick some other company. */ assert(!_networking); - Backup cur_company(_current_company, FILE_LINE); + Backup cur_company2(_current_company, FILE_LINE); Company *c; FOR_ALL_COMPANIES(c) { if (c->index != old_owner) { @@ -305,7 +308,7 @@ void ChangeOwnershipOfCompanyItems(Owner old_owner, Owner new_owner) break; } } - cur_company.Restore(); + cur_company2.Restore(); assert(old_owner != _local_company); } @@ -428,11 +431,38 @@ void ChangeOwnershipOfCompanyItems(Owner old_owner, Owner new_owner) FreeUnitIDGenerator(VEH_SHIP, new_owner), FreeUnitIDGenerator(VEH_AIRCRAFT, new_owner) }; + /* Override company settings to new company defaults in case we need to convert them. + * This is required as the CmdChangeServiceInt doesn't copy the supplied value when it is non-custom + */ + if (new_owner != INVALID_OWNER) { + Company *old_company = Company::Get(old_owner); + Company *new_company = Company::Get(new_owner); + + old_company->settings.vehicle.servint_aircraft = new_company->settings.vehicle.servint_aircraft; + old_company->settings.vehicle.servint_trains = new_company->settings.vehicle.servint_trains; + old_company->settings.vehicle.servint_roadveh = new_company->settings.vehicle.servint_roadveh; + old_company->settings.vehicle.servint_ships = new_company->settings.vehicle.servint_ships; + old_company->settings.vehicle.servint_ispercent = new_company->settings.vehicle.servint_ispercent; + } + Vehicle *v; FOR_ALL_VEHICLES(v) { if (v->owner == old_owner && IsCompanyBuildableVehicleType(v->type)) { assert(new_owner != INVALID_OWNER); + /* Correct default values of interval settings while maintaining custom set ones. + * This prevents invalid values on mismatching company defaults being accepted. + */ + if (!v->ServiceIntervalIsCustom()) { + Company *new_company = Company::Get(new_owner); + + /* Technically, passing the interval is not needed as the command will query the default value itself. + * However, do not rely on that behaviour. + */ + int interval = CompanyServiceInterval(new_company, v->type); + DoCommand(v->tile, v->index, interval | (new_company->settings.vehicle.servint_ispercent << 17), DC_EXEC | DC_BANKRUPT, CMD_CHANGE_SERVICE_INT); + } + v->owner = new_owner; /* Owner changes, clear cache */ @@ -1066,9 +1096,9 @@ static Money DeliverGoods(int num_pieces, CargoID cargo_type, StationID dest, Ti /* Update station statistics */ if (accepted > 0) { - SetBit(st->goods[cargo_type].acceptance_pickup, GoodsEntry::GES_EVER_ACCEPTED); - SetBit(st->goods[cargo_type].acceptance_pickup, GoodsEntry::GES_CURRENT_MONTH); - SetBit(st->goods[cargo_type].acceptance_pickup, GoodsEntry::GES_ACCEPTED_BIGTICK); + SetBit(st->goods[cargo_type].status, GoodsEntry::GES_EVER_ACCEPTED); + SetBit(st->goods[cargo_type].status, GoodsEntry::GES_CURRENT_MONTH); + SetBit(st->goods[cargo_type].status, GoodsEntry::GES_ACCEPTED_BIGTICK); } /* Update company statistics */ @@ -1240,7 +1270,7 @@ void PrepareUnload(Vehicle *front_v) const GoodsEntry *ge = &st->goods[v->cargo_type]; if (v->cargo_cap > 0 && v->cargo.TotalCount() > 0) { v->cargo.Stage( - HasBit(ge->acceptance_pickup, GoodsEntry::GES_ACCEPTANCE), + HasBit(ge->status, GoodsEntry::GES_ACCEPTANCE), front_v->last_station_visited, next_station, front_v->current_order.GetUnloadType(), ge, front_v->cargo_payment); @@ -1291,67 +1321,138 @@ static uint GetLoadAmount(Vehicle *v) } /** - * Reserves cargo if the full load order and improved_load is set or if the - * current order allows autorefit. - * @param st Station where the consist is loading at the moment. - * @param u Front of the loading vehicle consist. - * @param consist_capleft If given, save free capacities after reserving there. - * @param next_station Station(s) the vehicle will stop at next. + * Iterate the articulated parts of a vehicle, also considering the special cases of "normal" + * aircraft and double headed trains. Apply an action to each vehicle and immediately return false + * if that action does so. Otherwise return true. + * @tparam Taction Class of action to be applied. Must implement bool operator()([const] Vehicle *). + * @param v First articulated part. + * @param action Instance of Taction. + * @return false if any of the action invocations returned false, true otherwise. */ -static void ReserveConsist(Station *st, Vehicle *u, CargoArray *consist_capleft, StationIDStack next_station) +template +bool IterateVehicleParts(Vehicle *v, Taction action) { - Vehicle *next_cargo = u; - uint32 seen_cargos = 0; - - while (next_cargo != NULL) { - if (next_cargo->cargo_cap == 0) { - /* No need to reserve for vehicles without capacity. */ - next_cargo = next_cargo->Next(); - continue; - } - - CargoID current_cargo = next_cargo->cargo_type; - - Vehicle *v = next_cargo; - SetBit(seen_cargos, current_cargo); - next_cargo = NULL; - for (; v != NULL; v = v->Next()) { - if (v->cargo_type != current_cargo) { - /* Save start point for next cargo type. */ - if (next_cargo == NULL && !HasBit(seen_cargos, v->cargo_type)) next_cargo = v; - continue; - } - - assert(v->cargo_cap >= v->cargo.RemainingCount()); - uint cap = v->cargo_cap - v->cargo.RemainingCount(); - - /* Nothing to do if the vehicle is full */ - if (cap > 0) { - cap -= st->goods[v->cargo_type].cargo.Reserve(cap, &v->cargo, st->xy, next_station); - } - - if (consist_capleft != NULL) { - (*consist_capleft)[current_cargo] += cap; - } + for (Vehicle *w = v; w != NULL; + w = w->HasArticulatedPart() ? w->GetNextArticulatedPart() : NULL) { + if (!action(w)) return false; + if (w->type == VEH_TRAIN) { + Train *train = Train::From(w); + if (train->IsMultiheaded() && !action(train->other_multiheaded_part)) return false; } } + if (v->type == VEH_AIRCRAFT && Aircraft::From(v)->IsNormalAircraft()) return action(v->Next()); + return true; } /** - * Checks whether an articulated vehicle is empty. - * @param v Vehicle - * @return true if all parts are empty. + * Action to check if a vehicle has no stored cargo. */ -static bool IsArticulatedVehicleEmpty(Vehicle *v) +struct IsEmptyAction { - v = v->GetFirstEnginePart(); - - for (; v != NULL; v = v->HasArticulatedPart() ? v->GetNextArticulatedPart() : NULL) { - if (v->cargo.StoredCount() != 0) return false; + /** + * Checks if the vehicle has stored cargo. + * @param v Vehicle to be checked. + * @return true if v is either empty or has only reserved cargo, false otherwise. + */ + bool operator()(const Vehicle *v) + { + return v->cargo.StoredCount() == 0; } +}; - return true; -} +/** + * Refit preparation action. + */ +struct PrepareRefitAction +{ + CargoArray &consist_capleft; ///< Capacities left in the consist. + uint32 &refit_mask; ///< Bitmask of possible refit cargoes. + + /** + * Create a refit preparation action. + * @param consist_capleft Capacities left in consist, to be updated here. + * @param refit_mask Refit mask to be constructed from refit information of vehicles. + */ + PrepareRefitAction(CargoArray &consist_capleft, uint32 &refit_mask) : + consist_capleft(consist_capleft), refit_mask(refit_mask) {} + + /** + * Prepares for refitting of a vehicle, subtracting its free capacity from consist_capleft and + * adding the cargoes it can refit to to the refit mask. + * @param v The vehicle to be refitted. + * @return true. + */ + bool operator()(const Vehicle *v) + { + this->consist_capleft[v->cargo_type] -= v->cargo_cap - v->cargo.ReservedCount(); + this->refit_mask |= EngInfo(v->engine_type)->refit_mask; + return true; + } +}; + +/** + * Action for returning reserved cargo. + */ +struct ReturnCargoAction +{ + Station *st; ///< Station to give the returned cargo to. + StationID next_hop; ///< Next hop the cargo should be assigned to. + + /** + * Construct a cargo return action. + * @param st Station to give the returned cargo to. + * @param next_one Next hop the cargo should be assigned to. + */ + ReturnCargoAction(Station *st, StationID next_one) : st(st), next_hop(next_one) {} + + /** + * Return all reserved cargo from a vehicle. + * @param v Vehicle to return cargo from. + * @return true. + */ + bool operator()(Vehicle *v) + { + v->cargo.Return(UINT_MAX, &this->st->goods[v->cargo_type].cargo, this->next_hop); + return true; + } +}; + +/** + * Action for finalizing a refit. + */ +struct FinalizeRefitAction +{ + CargoArray &consist_capleft; ///< Capacities left in the consist. + Station *st; ///< Station to reserve cargo from. + StationIDStack &next_station; ///< Next hops to reserve cargo for. + bool do_reserve; ///< If the vehicle should reserve. + + /** + * Create a finalizing action. + * @param consist_capleft Capacities left in the consist. + * @param st Station to reserve cargo from. + * @param next_station Next hops to reserve cargo for. + * @param do_reserve If we should reserve cargo or just add up the capacities. + */ + FinalizeRefitAction(CargoArray &consist_capleft, Station *st, StationIDStack &next_station, bool do_reserve) : + consist_capleft(consist_capleft), st(st), next_station(next_station), do_reserve(do_reserve) {} + + /** + * Reserve cargo from the station and update the remaining consist capacities with the + * vehicle's remaining free capacity. + * @param v Vehicle to be finalized. + * @return true. + */ + bool operator()(Vehicle *v) + { + if (this->do_reserve) { + this->st->goods[v->cargo_type].cargo.Reserve(v->cargo_cap - v->cargo.RemainingCount(), + &v->cargo, st->xy, this->next_station); + } + this->consist_capleft[v->cargo_type] += v->cargo_cap - v->cargo.RemainingCount(); + return true; + } +}; /** * Refit a vehicle in a station. @@ -1363,34 +1464,18 @@ static bool IsArticulatedVehicleEmpty(Vehicle *v) */ static void HandleStationRefit(Vehicle *v, CargoArray &consist_capleft, Station *st, StationIDStack next_station, CargoID new_cid) { - if (v->type == VEH_AIRCRAFT && (!Aircraft::From(v)->IsNormalAircraft() || v->Next()->cargo.StoredCount() > 0)) { - return; - } - - bool is_normal_aircraft = (v->type == VEH_AIRCRAFT && Aircraft::From(v)->IsNormalAircraft()); Vehicle *v_start = v->GetFirstEnginePart(); - - /* Remove old capacity from consist capacity */ - consist_capleft[v_start->cargo_type] -= (v_start->cargo_cap - v_start->cargo.ReservedCount()); - for (Vehicle *w = v_start; w->HasArticulatedPart(); ) { - w = w->GetNextArticulatedPart(); - consist_capleft[w->cargo_type] -= (w->cargo_cap - w->cargo.ReservedCount()); - } - if (is_normal_aircraft) { - consist_capleft[v->Next()->cargo_type] -= (v->Next()->cargo_cap - v->Next()->cargo.ReservedCount()); - } + if (!IterateVehicleParts(v_start, IsEmptyAction())) return; Backup cur_company(_current_company, v->owner, FILE_LINE); - /* Check if all articulated parts are empty and collect refit mask. */ uint32 refit_mask = v->GetEngine()->info.refit_mask; - Vehicle *w = v_start; - while (w->HasArticulatedPart()) { - w = w->GetNextArticulatedPart(); - refit_mask |= EngInfo(w->engine_type)->refit_mask; - } - if (new_cid == CT_AUTO_REFIT) { + /* Remove old capacity from consist capacity and collect refit mask. */ + IterateVehicleParts(v_start, PrepareRefitAction(consist_capleft, refit_mask)); + + bool is_auto_refit = new_cid == CT_AUTO_REFIT; + if (is_auto_refit) { /* Get a refittable cargo type with waiting cargo for next_station or INVALID_STATION. */ CargoID cid; new_cid = v_start->cargo_type; @@ -1401,8 +1486,13 @@ static void HandleStationRefit(Vehicle *v, CargoArray &consist_capleft, Station DoCommand(v_start->tile, v_start->index, cid | 1U << 6 | 0xFF << 8 | 1U << 16, DC_QUERY_COST, GetCmdRefitVeh(v_start)); // Auto-refit and only this vehicle including artic parts. /* Try to balance different loadable cargoes between parts of the consist, so that * all of them can be loaded. Avoid a situation where all vehicles suddenly switch - * to the first loadable cargo for which there is only one packet. */ - if (_returned_refit_capacity > 0 && consist_capleft[cid] < consist_capleft[new_cid]) { + * to the first loadable cargo for which there is only one packet. If the capacities + * are equal refit to the cargo of which most is available. This is important for + * consists of only a single vehicle as those will generally have a consist_capleft + * of 0 for all cargoes. */ + if (_returned_refit_capacity > 0 && (consist_capleft[cid] < consist_capleft[new_cid] || + (consist_capleft[cid] == consist_capleft[new_cid] && + st->goods[cid].cargo.AvailableCount() > st->goods[new_cid].cargo.AvailableCount()))) { new_cid = cid; } } @@ -1411,35 +1501,93 @@ static void HandleStationRefit(Vehicle *v, CargoArray &consist_capleft, Station /* Refit if given a valid cargo. */ if (new_cid < NUM_CARGO && new_cid != v_start->cargo_type) { - StationID next_one = StationIDStack(next_station).Pop(); - v_start->cargo.Return(UINT_MAX, &st->goods[v_start->cargo_type].cargo, next_one); - for (w = v_start; w->HasArticulatedPart();) { - w = w->GetNextArticulatedPart(); - w->cargo.Return(UINT_MAX, &st->goods[w->cargo_type].cargo, next_one); - } - if (is_normal_aircraft) { - v->Next()->cargo.Return(UINT_MAX, &st->goods[v->Next()->cargo_type].cargo, next_one); - } + /* INVALID_STATION because in the DT_MANUAL case that's correct and in the DT_(A)SYMMETRIC + * cases the next hop of the vehicle doesn't really tell us anything if the cargo had been + * "via any station" before reserving. We rather produce some more "any station" cargo than + * misrouting it. */ + IterateVehicleParts(v_start, ReturnCargoAction(st, INVALID_STATION)); CommandCost cost = DoCommand(v_start->tile, v_start->index, new_cid | 1U << 6 | 0xFF << 8 | 1U << 16, DC_EXEC, GetCmdRefitVeh(v_start)); // Auto-refit and only this vehicle including artic parts. if (cost.Succeeded()) v->First()->profit_this_year -= cost.GetCost() << 8; } /* Add new capacity to consist capacity and reserve cargo */ - w = v_start; - do { - st->goods[w->cargo_type].cargo.Reserve(w->cargo_cap - w->cargo.RemainingCount(), &w->cargo, st->xy, next_station); - consist_capleft[w->cargo_type] += w->cargo_cap - w->cargo.RemainingCount(); - w = w->HasArticulatedPart() ? w->GetNextArticulatedPart() : NULL; - } while (w != NULL); - if (is_normal_aircraft) { - w = v->Next(); - st->goods[w->cargo_type].cargo.Reserve(w->cargo_cap - w->cargo.RemainingCount(), &w->cargo, st->xy, next_station); - consist_capleft[w->cargo_type] += w->cargo_cap - w->cargo.RemainingCount(); - } + IterateVehicleParts(v_start, FinalizeRefitAction(consist_capleft, st, next_station, + is_auto_refit || (v->First()->current_order.GetLoadType() & OLFB_FULL_LOAD) != 0)); cur_company.Restore(); } +struct ReserveCargoAction { + Station *st; + StationIDStack *next_station; + + ReserveCargoAction(Station *st, StationIDStack *next_station) : + st(st), next_station(next_station) {} + + bool operator()(Vehicle *v) + { + if (v->cargo_cap > v->cargo.RemainingCount()) { + st->goods[v->cargo_type].cargo.Reserve(v->cargo_cap - v->cargo.RemainingCount(), + &v->cargo, st->xy, *next_station); + } + + return true; + } + +}; + +/** + * Reserves cargo if the full load order and improved_load is set or if the + * current order allows autorefit. + * @param st Station where the consist is loading at the moment. + * @param u Front of the loading vehicle consist. + * @param consist_capleft If given, save free capacities after reserving there. + * @param next_station Station(s) the vehicle will stop at next. + */ +static void ReserveConsist(Station *st, Vehicle *u, CargoArray *consist_capleft, StationIDStack *next_station) +{ + /* If there is a cargo payment not all vehicles of the consist have tried to do the refit. + * In that case, only reserve if it's a fixed refit and the equivalent of "articulated chain" + * a vehicle belongs to already has the right cargo. */ + bool must_reserve = !u->current_order.IsRefit() || u->cargo_payment == NULL; + for (Vehicle *v = u; v != NULL; v = v->Next()) { + assert(v->cargo_cap >= v->cargo.RemainingCount()); + + /* Exclude various ways in which the vehicle might not be the head of an equivalent of + * "articulated chain". Also don't do the reservation if the vehicle is going to refit + * to a different cargo and hasn't tried to do so, yet. */ + if (!v->IsArticulatedPart() && + (v->type != VEH_TRAIN || !Train::From(v)->IsRearDualheaded()) && + (v->type != VEH_AIRCRAFT || Aircraft::From(v)->IsNormalAircraft()) && + (must_reserve || u->current_order.GetRefitCargo() == v->cargo_type)) { + IterateVehicleParts(v, ReserveCargoAction(st, next_station)); + } + if (consist_capleft == NULL || v->cargo_cap == 0) continue; + (*consist_capleft)[v->cargo_type] += v->cargo_cap - v->cargo.RemainingCount(); + } +} + +/** + * Update the vehicle's load_unload_ticks, the time it will wait until it tries to load or unload + * again. Adjust for overhang of trains and set it at least to 1. + * @param front The vehicle to be updated. + * @param st The station the vehicle is loading at. + * @param ticks The time it would normally wait, based on cargo loaded and unloaded. + */ +static void UpdateLoadUnloadTicks(Vehicle *front, const Station *st, int ticks) +{ + if (front->type == VEH_TRAIN) { + /* Each platform tile is worth 2 rail vehicles. */ + int overhang = front->GetGroundVehicleCache()->cached_total_length - st->GetPlatformLength(front->tile) * TILE_SIZE; + if (overhang > 0) { + ticks <<= 1; + ticks += (overhang * ticks) / 8; + } + } + /* Always wait at least 1, otherwise we'll wait 'infinitively' long. */ + front->load_unload_ticks = max(1, ticks); +} + /** * Loads/unload the vehicle if possible. * @param front the vehicle to be (un)loaded @@ -1454,11 +1602,11 @@ static void LoadUnloadVehicle(Vehicle *front) StationIDStack next_station = front->GetNextStoppingStation(); bool use_autorefit = front->current_order.IsRefit() && front->current_order.GetRefitCargo() == CT_AUTO_REFIT; CargoArray consist_capleft; - if (_settings_game.order.improved_load && - ((front->current_order.GetLoadType() & OLFB_FULL_LOAD) != 0 || use_autorefit)) { + if (_settings_game.order.improved_load && use_autorefit ? + front->cargo_payment == NULL : (front->current_order.GetLoadType() & OLFB_FULL_LOAD) != 0) { ReserveConsist(st, front, (use_autorefit && front->load_unload_ticks != 0) ? &consist_capleft : NULL, - next_station); + &next_station); } /* We have not waited enough time till the next round of loading/unloading */ @@ -1472,7 +1620,7 @@ static void LoadUnloadVehicle(Vehicle *front) return; } - int unloading_time = 0; + int new_load_unload_ticks = 0; bool dirty_vehicle = false; bool dirty_station = false; @@ -1505,7 +1653,7 @@ static void LoadUnloadVehicle(Vehicle *front) payment->SetCargo(v->cargo_type); - if (!HasBit(ge->acceptance_pickup, GoodsEntry::GES_ACCEPTANCE) && v->cargo.ActionCount(VehicleCargoList::MTA_DELIVER) > 0) { + if (!HasBit(ge->status, GoodsEntry::GES_ACCEPTANCE) && v->cargo.ActionCount(VehicleCargoList::MTA_DELIVER) > 0) { /* The station does not accept our goods anymore. */ if (front->current_order.GetUnloadType() & (OUFB_TRANSFER | OUFB_UNLOAD)) { /* Transfer instead of delivering. */ @@ -1530,14 +1678,24 @@ static void LoadUnloadVehicle(Vehicle *front) } } - /* Mark the station dirty if we transfer, but not if we only deliver. */ - dirty_station = v->cargo.ActionCount(VehicleCargoList::MTA_TRANSFER) > 0; + if (v->cargo.ActionCount(VehicleCargoList::MTA_TRANSFER) > 0) { + /* Mark the station dirty if we transfer, but not if we only deliver. */ + dirty_station = true; + + if (!ge->HasRating()) { + /* Upon transfering cargo, make sure the station has a rating. Fake a pickup for the + * first unload to prevent the cargo from quickly decaying after the initial drop. */ + ge->time_since_pickup = 0; + SetBit(ge->status, GoodsEntry::GES_RATING); + } + } + amount_unloaded = v->cargo.Unload(amount_unloaded, &ge->cargo, payment); remaining = v->cargo.UnloadCount() > 0; if (amount_unloaded > 0) { dirty_vehicle = true; anything_unloaded = true; - unloading_time += amount_unloaded; + new_load_unload_ticks += amount_unloaded; /* Deliver goods to the station */ st->time_since_unload = 0; @@ -1557,7 +1715,7 @@ static void LoadUnloadVehicle(Vehicle *front) if (front->current_order.GetLoadType() & OLFB_NO_LOAD || HasBit(front->vehicle_flags, VF_STOP_LOADING)) continue; /* This order has a refit, if this is the first vehicle part carrying cargo and the whole vehicle is empty, try refitting. */ - if (front->current_order.IsRefit() && artic_part == 1 && IsArticulatedVehicleEmpty(v)) { + if (front->current_order.IsRefit() && artic_part == 1) { HandleStationRefit(v, consist_capleft, st, next_station, front->current_order.GetRefitCargo()); ge = &st->goods[v->cargo_type]; } @@ -1631,7 +1789,7 @@ static void LoadUnloadVehicle(Vehicle *front) AirportAnimationTrigger(st, AAT_STATION_CARGO_TAKEN, v->cargo_type); } - unloading_time += loaded; + new_load_unload_ticks += loaded; dirty_vehicle = dirty_station = true; } @@ -1663,15 +1821,18 @@ static void LoadUnloadVehicle(Vehicle *front) * on the vehicle type - the values here are those found in TTDPatch */ const uint gradual_loading_wait_time[] = { 40, 20, 10, 20 }; - unloading_time = gradual_loading_wait_time[front->type]; + new_load_unload_ticks = gradual_loading_wait_time[front->type]; } /* We loaded less cargo than possible for all cargo types and it's not full * load and we're not supposed to wait any longer: stop loading. */ if (!anything_unloaded && full_load_amount == 0 && reservation_left == 0 && !(front->current_order.GetLoadType() & OLFB_FULL_LOAD) && - front->current_order_time >= (uint)max(front->current_order.wait_time - front->lateness_counter, 0)) { + front->current_order_time >= (uint)max(front->current_order.GetTimetabledWait() - front->lateness_counter, 0)) { SetBit(front->vehicle_flags, VF_STOP_LOADING); } + + UpdateLoadUnloadTicks(front, st, new_load_unload_ticks); } else { + UpdateLoadUnloadTicks(front, st, 20); // We need the ticks for link refreshing. bool finished_loading = true; if (front->current_order.GetLoadType() & OLFB_FULL_LOAD) { if (front->current_order.GetLoadType() == OLF_FULL_LOAD_ANY) { @@ -1690,22 +1851,12 @@ static void LoadUnloadVehicle(Vehicle *front) * along them. Otherwise the vehicle could wait for cargo * indefinitely if it hasn't visited the other links yet, or if the * links die while it's loading. */ - if (!finished_loading) LinkRefresher::Run(front); + if (!finished_loading) LinkRefresher::Run(front, true, true); } - unloading_time = 20; SB(front->vehicle_flags, VF_LOADING_FINISHED, 1, finished_loading); } - if (front->type == VEH_TRAIN) { - /* Each platform tile is worth 2 rail vehicles. */ - int overhang = front->GetGroundVehicleCache()->cached_total_length - st->GetPlatformLength(front->tile) * TILE_SIZE; - if (overhang > 0) { - unloading_time <<= 1; - unloading_time += (overhang * unloading_time) / 8; - } - } - /* Calculate the loading indicator fill percent and display * In the Game Menu do not display indicators * If _settings_client.gui.loading_indicators == 2, show indicators (bool can be promoted to int as 0 or 1 - results in 2 > 0,1 ) @@ -1722,9 +1873,6 @@ static void LoadUnloadVehicle(Vehicle *front) } } - /* Always wait at least 1, otherwise we'll wait 'infinitively' long. */ - front->load_unload_ticks = max(1, unloading_time); - if (completely_emptied) { /* Make sure the vehicle is marked dirty, since we need to update the NewGRF * properties such as weight, power and TE whenever the trigger runs. */ @@ -1740,6 +1888,7 @@ static void LoadUnloadVehicle(Vehicle *front) if (dirty_station) { st->MarkTilesDirty(true); SetWindowDirty(WC_STATION_VIEW, last_visited); + InvalidateWindowData(WC_STATION_LIST, last_visited); } } diff --git a/src/effectvehicle.cpp b/src/effectvehicle.cpp index a196c52d64..209b78d2e9 100644 --- a/src/effectvehicle.cpp +++ b/src/effectvehicle.cpp @@ -19,6 +19,8 @@ #include "effectvehicle_func.h" #include "effectvehicle_base.h" +#include "safeguards.h" + static void ChimneySmokeInit(EffectVehicle *v) { @@ -44,7 +46,7 @@ static bool ChimneySmokeTick(EffectVehicle *v) v->cur_image = SPR_CHIMNEY_SMOKE_0; } v->progress = 7; - VehicleUpdatePositionAndViewport(v); + v->UpdatePositionAndViewport(); } return true; @@ -77,7 +79,7 @@ static bool SteamSmokeTick(EffectVehicle *v) moved = true; } - if (moved) VehicleUpdatePositionAndViewport(v); + if (moved) v->UpdatePositionAndViewport(); return true; } @@ -94,11 +96,11 @@ static bool DieselSmokeTick(EffectVehicle *v) if ((v->progress & 3) == 0) { v->z_pos++; - VehicleUpdatePositionAndViewport(v); + v->UpdatePositionAndViewport(); } else if ((v->progress & 7) == 1) { if (v->cur_image != SPR_DIESEL_SMOKE_5) { v->cur_image++; - VehicleUpdatePositionAndViewport(v); + v->UpdatePositionAndViewport(); } else { delete v; return false; @@ -122,7 +124,7 @@ static bool ElectricSparkTick(EffectVehicle *v) v->progress = 0; if (v->cur_image != SPR_ELECTRIC_SPARK_5) { v->cur_image++; - VehicleUpdatePositionAndViewport(v); + v->UpdatePositionAndViewport(); } else { delete v; return false; @@ -159,7 +161,7 @@ static bool SmokeTick(EffectVehicle *v) moved = true; } - if (moved) VehicleUpdatePositionAndViewport(v); + if (moved) v->UpdatePositionAndViewport(); return true; } @@ -176,7 +178,7 @@ static bool ExplosionLargeTick(EffectVehicle *v) if ((v->progress & 3) == 0) { if (v->cur_image != SPR_EXPLOSION_LARGE_F) { v->cur_image++; - VehicleUpdatePositionAndViewport(v); + v->UpdatePositionAndViewport(); } else { delete v; return false; @@ -201,7 +203,7 @@ static bool BreakdownSmokeTick(EffectVehicle *v) } else { v->cur_image = SPR_BREAKDOWN_SMOKE_0; } - VehicleUpdatePositionAndViewport(v); + v->UpdatePositionAndViewport(); } v->animation_state--; @@ -225,7 +227,7 @@ static bool ExplosionSmallTick(EffectVehicle *v) if ((v->progress & 3) == 0) { if (v->cur_image != SPR_EXPLOSION_SMALL_B) { v->cur_image++; - VehicleUpdatePositionAndViewport(v); + v->UpdatePositionAndViewport(); } else { delete v; return false; @@ -302,7 +304,7 @@ static bool BulldozerTick(EffectVehicle *v) return false; } } - VehicleUpdatePositionAndViewport(v); + v->UpdatePositionAndViewport(); } return true; @@ -475,7 +477,7 @@ static bool BubbleTick(EffectVehicle *v) if (v->spritenum == 0) { v->cur_image++; if (v->cur_image < SPR_BUBBLE_GENERATE_3) { - VehicleUpdatePositionAndViewport(v); + v->UpdatePositionAndViewport(); return true; } if (v->animation_substate != 0) { @@ -521,7 +523,7 @@ static bool BubbleTick(EffectVehicle *v) v->z_pos += b->z; v->cur_image = SPR_BUBBLE_0 + b->image; - VehicleUpdatePositionAndViewport(v); + v->UpdatePositionAndViewport(); return true; } @@ -605,7 +607,7 @@ EffectVehicle *CreateEffectVehicle(int x, int y, int z, EffectVehicleType type) _effect_init_procs[type](v); - VehicleUpdatePositionAndViewport(v); + v->UpdatePositionAndViewport(); return v; } diff --git a/src/elrail.cpp b/src/elrail.cpp index a431837920..1927be03e5 100644 --- a/src/elrail.cpp +++ b/src/elrail.cpp @@ -67,6 +67,8 @@ #include "table/elrail_data.h" +#include "safeguards.h" + /** * Get the tile location group of a tile. * @param t The tile to get the tile location group of. @@ -405,7 +407,7 @@ static void DrawCatenaryRailway(const TileInfo *ti) * Remove those (simply by ANDing with allowed, since these markers are never allowed) */ if ((PPPallowed[i] & PPPpreferred[i]) != 0) PPPallowed[i] &= PPPpreferred[i]; - if (MayHaveBridgeAbove(ti->tile) && IsBridgeAbove(ti->tile)) { + if (IsBridgeAbove(ti->tile)) { Track bridgetrack = GetBridgeAxis(ti->tile) == AXIS_X ? TRACK_X : TRACK_Y; int height = GetBridgeHeight(GetNorthernBridgeEnd(ti->tile)); @@ -444,7 +446,7 @@ static void DrawCatenaryRailway(const TileInfo *ti) if (IsTunnelTile(ti->tile)) return; /* Don't draw a wire under a low bridge */ - if (MayHaveBridgeAbove(ti->tile) && IsBridgeAbove(ti->tile) && !IsTransparencySet(TO_BRIDGES)) { + if (IsBridgeAbove(ti->tile) && !IsTransparencySet(TO_BRIDGES)) { int height = GetBridgeHeight(GetNorthernBridgeEnd(ti->tile)); if (height <= GetTileMaxZ(ti->tile) + 1) return; diff --git a/src/engine.cpp b/src/engine.cpp index 700475c1b4..f8fc0ee6aa 100644 --- a/src/engine.cpp +++ b/src/engine.cpp @@ -35,6 +35,8 @@ #include "table/strings.h" #include "table/engines.h" +#include "safeguards.h" + EnginePool _engine_pool("Engine"); INSTANTIATE_POOL_METHODS(Engine) @@ -653,6 +655,7 @@ void StartupOneEngine(Engine *e, Date aging_date) e->age = 0; e->flags = 0; e->company_avail = 0; + e->company_hidden = 0; /* Don't randomise the start-date in the first two years after gamestart to ensure availability * of engines in early starting games. @@ -851,6 +854,41 @@ void EnginesDailyLoop() } } +/** + * Clear the 'hidden' flag for all engines of a new company. + * @param cid Company being created. + */ +void ClearEnginesHiddenFlagOfCompany(CompanyID cid) +{ + Engine *e; + FOR_ALL_ENGINES(e) { + SB(e->company_hidden, cid, 1, 0); + } +} + +/** + * Set the visibility of an engine. + * @param tile Unused. + * @param flags Operation to perform. + * @param p1 Unused. + * @param p2 Bit 31: 0=visible, 1=hidden, other bits for the #EngineID. + * @param text Unused. + * @return The cost of this operation or an error. + */ +CommandCost CmdSetVehicleVisibility(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 p2, const char *text) +{ + Engine *e = Engine::GetIfValid(GB(p2, 0, 31)); + if (e == NULL || _current_company >= MAX_COMPANIES) return CMD_ERROR; + if ((e->flags & ENGINE_AVAILABLE) == 0 || !HasBit(e->company_avail, _current_company)) return CMD_ERROR; + + if ((flags & DC_EXEC) != 0) { + SB(e->company_hidden, _current_company, 1, GB(p2, 31, 1)); + AddRemoveEngineFromAutoreplaceAndBuildWindows(e->type); + } + + return CommandCost(); +} + /** * Accept an engine prototype. XXX - it is possible that the top-company * changes while you are waiting to accept the offer? Then it becomes invalid @@ -1025,7 +1063,7 @@ CommandCost CmdRenameEngine(TileIndex tile, DoCommandFlag flags, uint32 p1, uint if (reset) { e->name = NULL; } else { - e->name = strdup(text); + e->name = stredup(text); } MarkWholeScreenDirty(); diff --git a/src/engine_base.h b/src/engine_base.h index 99a15aaea0..6a2e6816c3 100644 --- a/src/engine_base.h +++ b/src/engine_base.h @@ -37,6 +37,7 @@ struct Engine : EnginePool::PoolItem<&_engine_pool> { CompanyByte preview_company;///< Company which is currently being offered a preview \c INVALID_COMPANY means no company. byte preview_wait; ///< Daily countdown timer for timeout of offering the engine to the #preview_company company. CompanyMask company_avail; ///< Bit for each company whether the engine is available for that company. + CompanyMask company_hidden; ///< Bit for each company whether the engine is normally hidden in the build gui for that company. uint8 original_image_index; ///< Original vehicle image index, thus the image index of the overridden vehicle VehicleType type; ///< %Vehicle type, ie #VEH_ROAD, #VEH_TRAIN, etc. @@ -111,6 +112,16 @@ struct Engine : EnginePool::PoolItem<&_engine_pool> { Date GetLifeLengthInDays() const; uint16 GetRange() const; + /** + * Check whether the engine is hidden in the GUI for the given company. + * @param c Company to check. + * @return \c true iff the engine is hidden in the GUI for the given company. + */ + inline bool IsHidden(CompanyByte c) const + { + return c < MAX_COMPANIES && HasBit(this->company_hidden, c); + } + /** * Check if the engine is a ground vehicle. * @return True iff the engine is a train or a road vehicle. diff --git a/src/engine_func.h b/src/engine_func.h index faa8e8e024..6c3fb14ff2 100644 --- a/src/engine_func.h +++ b/src/engine_func.h @@ -26,6 +26,7 @@ extern const uint8 _engine_offsets[4]; bool IsEngineBuildable(EngineID engine, VehicleType type, CompanyID company); bool IsEngineRefittable(EngineID engine); +void GetArticulatedVehicleCargoesAndRefits(EngineID engine, CargoArray *cargoes, uint32 *refits); void SetYearEngineAgingStops(); void StartupOneEngine(Engine *e, Date aging_date); diff --git a/src/engine_gui.cpp b/src/engine_gui.cpp index 6ee47692d4..899543c189 100644 --- a/src/engine_gui.cpp +++ b/src/engine_gui.cpp @@ -20,11 +20,17 @@ #include "company_func.h" #include "rail.h" #include "settings_type.h" +#include "train.h" +#include "roadveh.h" +#include "ship.h" +#include "aircraft.h" #include "widgets/engine_widget.h" #include "table/strings.h" +#include "safeguards.h" + /** * Return the category of an engine. * @param engine Engine to examine. @@ -59,7 +65,7 @@ static const NWidgetPart _nested_engine_preview_widgets[] = { }; struct EnginePreviewWindow : Window { - static const int VEHICLE_SPACE = 40; // The space to show the vehicle image + int vehicle_space; // The space to show the vehicle image EnginePreviewWindow(WindowDesc *desc, WindowNumber window_number) : Window(desc) { @@ -73,9 +79,25 @@ struct EnginePreviewWindow : Window { { if (widget != WID_EP_QUESTION) return; + /* Get size of engine sprite, on loan from depot_gui.cpp */ EngineID engine = this->window_number; + EngineImageType image_type = EIT_PURCHASE; + uint x, y; + int x_offs, y_offs; + + const Engine *e = Engine::Get(engine); + switch (e->type) { + default: NOT_REACHED(); + case VEH_TRAIN: GetTrainSpriteSize( engine, x, y, x_offs, y_offs, image_type); break; + case VEH_ROAD: GetRoadVehSpriteSize( engine, x, y, x_offs, y_offs, image_type); break; + case VEH_SHIP: GetShipSpriteSize( engine, x, y, x_offs, y_offs, image_type); break; + case VEH_AIRCRAFT: GetAircraftSpriteSize(engine, x, y, x_offs, y_offs, image_type); break; + } + this->vehicle_space = max(40, y - y_offs); + + size->width = max(size->width, x - x_offs); SetDParam(0, GetEngineCategoryName(engine)); - size->height = GetStringHeight(STR_ENGINE_PREVIEW_MESSAGE, size->width) + WD_PAR_VSEP_WIDE + FONT_HEIGHT_NORMAL + VEHICLE_SPACE; + size->height = GetStringHeight(STR_ENGINE_PREVIEW_MESSAGE, size->width) + WD_PAR_VSEP_WIDE + FONT_HEIGHT_NORMAL + this->vehicle_space; SetDParam(0, engine); size->height += GetStringHeight(GetEngineInfoString(engine), size->width); } @@ -93,9 +115,9 @@ struct EnginePreviewWindow : Window { DrawString(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, y, STR_ENGINE_NAME, TC_BLACK, SA_HOR_CENTER); y += FONT_HEIGHT_NORMAL; - DrawVehicleEngine(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, this->width >> 1, y + VEHICLE_SPACE / 2, engine, GetEnginePalette(engine, _local_company), EIT_PREVIEW); + DrawVehicleEngine(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, this->width >> 1, y + this->vehicle_space / 2, engine, GetEnginePalette(engine, _local_company), EIT_PREVIEW); - y += VEHICLE_SPACE; + y += this->vehicle_space; DrawStringMultiLine(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, y, r.bottom, GetEngineInfoString(engine), TC_FROMSTRING, SA_CENTER); } @@ -140,14 +162,8 @@ void ShowEnginePreviewWindow(EngineID engine) */ uint GetTotalCapacityOfArticulatedParts(EngineID engine) { - uint total = 0; - CargoArray cap = GetCapacityOfArticulatedParts(engine); - for (CargoID c = 0; c < NUM_CARGO; c++) { - total += cap[c]; - } - - return total; + return cap.GetSum(); } static StringID GetTrainEngineInfoString(const Engine *e) diff --git a/src/engine_gui.h b/src/engine_gui.h index f426413d9c..fc0b7ad7d9 100644 --- a/src/engine_gui.h +++ b/src/engine_gui.h @@ -32,4 +32,14 @@ void DrawRoadVehEngine(int left, int right, int preferred_x, int y, EngineID eng void DrawShipEngine(int left, int right, int preferred_x, int y, EngineID engine, PaletteID pal, EngineImageType image_type); void DrawAircraftEngine(int left, int right, int preferred_x, int y, EngineID engine, PaletteID pal, EngineImageType image_type); +extern bool _engine_sort_direction; +extern byte _engine_sort_last_criteria[]; +extern bool _engine_sort_last_order[]; +extern bool _engine_sort_show_hidden_engines[]; +extern const StringID _engine_sort_listing[][12]; +extern EngList_SortTypeFunction * const _engine_sort_functions[][11]; + +uint GetEngineListHeight(VehicleType type); +void DisplayVehicleSortDropDown(Window *w, VehicleType vehicle_type, int selected, int button); + #endif /* ENGINE_GUI_H */ diff --git a/src/error_gui.cpp b/src/error_gui.cpp index 5e8f52432d..c8c603afb3 100644 --- a/src/error_gui.cpp +++ b/src/error_gui.cpp @@ -29,6 +29,8 @@ #include "table/strings.h" #include +#include "safeguards.h" + static const NWidgetPart _nested_errmsg_widgets[] = { NWidget(NWID_HORIZONTAL), NWidget(WWT_CLOSEBOX, COLOUR_RED), @@ -75,7 +77,7 @@ ErrorMessageData::ErrorMessageData(const ErrorMessageData &data) *this = data; for (size_t i = 0; i < lengthof(this->strings); i++) { if (this->strings[i] != NULL) { - this->strings[i] = strdup(this->strings[i]); + this->strings[i] = stredup(this->strings[i]); this->decode_params[i] = (size_t)this->strings[i]; } } @@ -156,7 +158,7 @@ void ErrorMessageData::SetDParam(uint n, uint64 v) void ErrorMessageData::SetDParamStr(uint n, const char *str) { free(this->strings[n]); - this->strings[n] = strdup(str); + this->strings[n] = stredup(str); } /** Define a queue with errors. */ @@ -180,21 +182,30 @@ public: virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) { - if (widget != WID_EM_MESSAGE) return; + switch (widget) { + case WID_EM_MESSAGE: { + CopyInDParam(0, this->decode_params, lengthof(this->decode_params)); + if (this->textref_stack_size > 0) StartTextRefStackUsage(this->textref_stack_grffile, this->textref_stack_size, this->textref_stack); - CopyInDParam(0, this->decode_params, lengthof(this->decode_params)); - if (this->textref_stack_size > 0) StartTextRefStackUsage(this->textref_stack_grffile, this->textref_stack_size, this->textref_stack); + int text_width = max(0, (int)size->width - WD_FRAMETEXT_LEFT - WD_FRAMETEXT_RIGHT); + this->height_summary = GetStringHeight(this->summary_msg, text_width); + this->height_detailed = (this->detailed_msg == INVALID_STRING_ID) ? 0 : GetStringHeight(this->detailed_msg, text_width); - int text_width = max(0, (int)size->width - WD_FRAMETEXT_LEFT - WD_FRAMETEXT_RIGHT); - this->height_summary = GetStringHeight(this->summary_msg, text_width); - this->height_detailed = (this->detailed_msg == INVALID_STRING_ID) ? 0 : GetStringHeight(this->detailed_msg, text_width); + if (this->textref_stack_size > 0) StopTextRefStackUsage(); - if (this->textref_stack_size > 0) StopTextRefStackUsage(); + uint panel_height = WD_FRAMERECT_TOP + this->height_summary + WD_FRAMERECT_BOTTOM; + if (this->detailed_msg != INVALID_STRING_ID) panel_height += this->height_detailed + WD_PAR_VSEP_WIDE; - uint panel_height = WD_FRAMERECT_TOP + this->height_summary + WD_FRAMERECT_BOTTOM; - if (this->detailed_msg != INVALID_STRING_ID) panel_height += this->height_detailed + WD_PAR_VSEP_WIDE; - - size->height = max(size->height, panel_height); + size->height = max(size->height, panel_height); + break; + } + case WID_EM_FACE: { + Dimension face_size = GetSpriteSize(SPR_GRADIENT); + size->width = max(size->width, face_size.width); + size->height = max(size->height, face_size.height); + break; + } + } } virtual Point OnInitialPosition(int16 sm_width, int16 sm_height, int window_number) diff --git a/src/fileio.cpp b/src/fileio.cpp index f88d8deeaf..a72950bc73 100644 --- a/src/fileio.cpp +++ b/src/fileio.cpp @@ -32,6 +32,8 @@ #include "basedir.h" #endif +#include "safeguards.h" + /** Size of the #Fio data buffer. */ #define FIO_BUFFER_SIZE 512 @@ -263,7 +265,7 @@ void FioOpenFile(int slot, const char *filename, Subdirectory subdir) /* Store the filename without path and extension */ const char *t = strrchr(filename, PATHSEPCHAR); - _fio.shortnames[slot] = strdup(t == NULL ? filename : t); + _fio.shortnames[slot] = stredup(t == NULL ? filename : t); char *t2 = strrchr(_fio.shortnames[slot], '.'); if (t2 != NULL) *t2 = '\0'; strtolower(_fio.shortnames[slot]); @@ -342,30 +344,30 @@ void FioFCloseFile(FILE *f) fclose(f); } -char *FioGetFullPath(char *buf, size_t buflen, Searchpath sp, Subdirectory subdir, const char *filename) +char *FioGetFullPath(char *buf, const char *last, Searchpath sp, Subdirectory subdir, const char *filename) { assert(subdir < NUM_SUBDIRS); assert(sp < NUM_SEARCHPATHS); - snprintf(buf, buflen, "%s%s%s", _searchpaths[sp], _subdirs[subdir], filename); + seprintf(buf, last, "%s%s%s", _searchpaths[sp], _subdirs[subdir], filename); return buf; } /** * Find a path to the filename in one of the search directories. * @param buf [out] Destination buffer for the path. - * @param buflen Length of the destination buffer. + * @param last End of the destination buffer. * @param subdir Subdirectory to try. * @param filename Filename to look for. * @return \a buf containing the path if the path was found, else \c NULL. */ -char *FioFindFullPath(char *buf, size_t buflen, Subdirectory subdir, const char *filename) +char *FioFindFullPath(char *buf, const char *last, Subdirectory subdir, const char *filename) { Searchpath sp; assert(subdir < NUM_SUBDIRS); FOR_ALL_SEARCHPATHS(sp) { - FioGetFullPath(buf, buflen, sp, subdir, filename); + FioGetFullPath(buf, last, sp, subdir, filename); if (FileExists(buf)) return buf; #if !defined(WIN32) /* Be, as opening files, aware that sometimes the filename @@ -378,27 +380,27 @@ char *FioFindFullPath(char *buf, size_t buflen, Subdirectory subdir, const char return NULL; } -char *FioAppendDirectory(char *buf, size_t buflen, Searchpath sp, Subdirectory subdir) +char *FioAppendDirectory(char *buf, const char *last, Searchpath sp, Subdirectory subdir) { assert(subdir < NUM_SUBDIRS); assert(sp < NUM_SEARCHPATHS); - snprintf(buf, buflen, "%s%s", _searchpaths[sp], _subdirs[subdir]); + seprintf(buf, last, "%s%s", _searchpaths[sp], _subdirs[subdir]); return buf; } -char *FioGetDirectory(char *buf, size_t buflen, Subdirectory subdir) +char *FioGetDirectory(char *buf, const char *last, Subdirectory subdir) { Searchpath sp; /* Find and return the first valid directory */ FOR_ALL_SEARCHPATHS(sp) { - char *ret = FioAppendDirectory(buf, buflen, sp, subdir); + char *ret = FioAppendDirectory(buf, last, sp, subdir); if (FileExists(buf)) return ret; } /* Could not find the directory, fall back to a base path */ - ttd_strlcpy(buf, _personal_dir, buflen); + strecpy(buf, _personal_dir, last); return buf; } @@ -419,7 +421,7 @@ static FILE *FioFOpenFileSp(const char *filename, const char *mode, Searchpath s if (subdir == NO_DIRECTORY) { strecpy(buf, filename, lastof(buf)); } else { - snprintf(buf, lengthof(buf), "%s%s%s", _searchpaths[sp], _subdirs[subdir], filename); + seprintf(buf, lastof(buf), "%s%s%s", _searchpaths[sp], _subdirs[subdir], filename); } #if defined(WIN32) @@ -548,7 +550,7 @@ static void FioCreateDirectory(const char *name) mkdir(OTTD2FS(name)); #elif defined(__MORPHOS__) || defined(__AMIGAOS__) char buf[MAX_PATH]; - ttd_strlcpy(buf, name, MAX_PATH); + strecpy(buf, name, lastof(buf)); size_t len = strlen(name) - 1; if (buf[len] == '/') { @@ -564,20 +566,19 @@ static void FioCreateDirectory(const char *name) /** * Appends, if necessary, the path separator character to the end of the string. * It does not add the path separator to zero-sized strings. - * @param buf string to append the separator to - * @param buflen the length of \a buf. + * @param buf string to append the separator to + * @param last the last element of \a buf. * @return true iff the operation succeeded */ -bool AppendPathSeparator(char *buf, size_t buflen) +bool AppendPathSeparator(char *buf, const char *last) { size_t s = strlen(buf); /* Length of string + path separator + '\0' */ if (s != 0 && buf[s - 1] != PATHSEPCHAR) { - if (s + 2 >= buflen) return false; + if (&buf[s] >= last) return false; - buf[s] = PATHSEPCHAR; - buf[s + 1] = '\0'; + seprintf(buf + s, last, "%c", PATHSEPCHAR); } return true; @@ -592,7 +593,8 @@ bool AppendPathSeparator(char *buf, size_t buflen) char *BuildWithFullPath(const char *dir) { char *dest = MallocT(MAX_PATH); - ttd_strlcpy(dest, dir, MAX_PATH); + char *last = dest + MAX_PATH - 1; + strecpy(dest, dir, last); /* Check if absolute or relative path */ const char *s = strchr(dest, PATHSEPCHAR); @@ -600,10 +602,10 @@ char *BuildWithFullPath(const char *dir) /* Add absolute path */ if (s == NULL || dest != s) { if (getcwd(dest, MAX_PATH) == NULL) *dest = '\0'; - AppendPathSeparator(dest, MAX_PATH); - ttd_strlcat(dest, dir, MAX_PATH); + AppendPathSeparator(dest, last); + strecat(dest, dir, last); } - AppendPathSeparator(dest, MAX_PATH); + AppendPathSeparator(dest, last); return dest; } @@ -753,7 +755,7 @@ bool TarScanner::AddFile(const char *filename, size_t basepath_length, const cha * been given read access. */ if (f == NULL) return false; - const char *dupped_filename = strdup(filename); + const char *dupped_filename = stredup(filename); _tar_list[this->subdir][filename].filename = dupped_filename; _tar_list[this->subdir][filename].dirname = NULL; @@ -789,15 +791,15 @@ bool TarScanner::AddFile(const char *filename, size_t basepath_length, const cha /* The prefix contains the directory-name */ if (th.prefix[0] != '\0') { - ttd_strlcpy(name, th.prefix, lengthof(name)); - ttd_strlcat(name, PATHSEP, lengthof(name)); + strecpy(name, th.prefix, lastof(name)); + strecat(name, PATHSEP, lastof(name)); } /* Copy the name of the file in a safe way at the end of 'name' */ - ttd_strlcat(name, th.name, lengthof(name)); + strecat(name, th.name, lastof(name)); /* Calculate the size of the file.. for some strange reason this is stored as a string */ - ttd_strlcpy(buf, th.size, lengthof(buf)); + strecpy(buf, th.size, lastof(buf)); size_t skip = strtoul(buf, &end, 8); switch (th.typeflag) { @@ -826,7 +828,7 @@ bool TarScanner::AddFile(const char *filename, size_t basepath_length, const cha case '1': // hard links case '2': { // symbolic links /* Copy the destination of the link in a safe way at the end of 'linkname' */ - ttd_strlcpy(link, th.linkname, lengthof(link)); + strecpy(link, th.linkname, lastof(link)); if (strlen(name) == 0 || strlen(link) == 0) break; @@ -842,36 +844,45 @@ bool TarScanner::AddFile(const char *filename, size_t basepath_length, const cha /* Process relative path. * Note: The destination of links must not contain any directory-links. */ - ttd_strlcpy(dest, name, lengthof(dest)); + strecpy(dest, name, lastof(dest)); char *destpos = strrchr(dest, PATHSEPCHAR); if (destpos == NULL) destpos = dest; *destpos = '\0'; char *pos = link; while (*pos != '\0') { - char *next = strchr(link, PATHSEPCHAR); - if (next == NULL) next = pos + strlen(pos); + char *next = strchr(pos, PATHSEPCHAR); + if (next == NULL) { + next = pos + strlen(pos); + } else { + /* Terminate the substring up to the path separator character. */ + *next++= '\0'; + } - /* Skip '.' (current dir) */ - if (next != pos + 1 || pos[0] != '.') { - if (next == pos + 2 && pos[0] == '.' && pos[1] == '.') { - /* level up */ - if (dest[0] == '\0') { - DEBUG(misc, 1, "Ignoring link pointing outside of data directory: %s -> %s", name, link); - break; - } - - /* Truncate 'dest' after last PATHSEPCHAR. - * This assumes that the truncated part is a real directory and not a link. */ - destpos = strrchr(dest, PATHSEPCHAR); - if (destpos == NULL) destpos = dest; - } else { - /* Append at end of 'dest' */ - if (destpos != dest) *(destpos++) = PATHSEPCHAR; - strncpy(destpos, pos, next - pos); // Safe as we do '\0'-termination ourselves - destpos += next - pos; + if (strcmp(pos, ".") == 0) { + /* Skip '.' (current dir) */ + } else if (strcmp(pos, "..") == 0) { + /* level up */ + if (dest[0] == '\0') { + DEBUG(misc, 1, "Ignoring link pointing outside of data directory: %s -> %s", name, link); + break; } + + /* Truncate 'dest' after last PATHSEPCHAR. + * This assumes that the truncated part is a real directory and not a link. */ + destpos = strrchr(dest, PATHSEPCHAR); + if (destpos == NULL) destpos = dest; *destpos = '\0'; + } else { + /* Append at end of 'dest' */ + if (destpos != dest) destpos = strecpy(destpos, PATHSEP, lastof(dest)); + destpos = strecpy(destpos, pos, lastof(dest)); + } + + if (destpos >= lastof(dest)) { + DEBUG(misc, 0, "The length of a link in tar-file '%s' is too large (malformed?)", filename); + fclose(f); + return false; } pos = next; @@ -890,7 +901,7 @@ bool TarScanner::AddFile(const char *filename, size_t basepath_length, const cha /* Store the first directory name we detect */ DEBUG(misc, 6, "Found dir in tar: %s", name); - if (_tar_list[this->subdir][filename].dirname == NULL) _tar_list[this->subdir][filename].dirname = strdup(name); + if (_tar_list[this->subdir][filename].dirname == NULL) _tar_list[this->subdir][filename].dirname = stredup(name); break; default: @@ -1070,8 +1081,8 @@ bool DoScanWorkingDirectory() if (_searchpaths[SP_PERSONAL_DIR] == NULL) return true; char tmp[MAX_PATH]; - snprintf(tmp, lengthof(tmp), "%s%s", _searchpaths[SP_WORKING_DIR], PERSONAL_DIR); - AppendPathSeparator(tmp, MAX_PATH); + seprintf(tmp, lastof(tmp), "%s%s", _searchpaths[SP_WORKING_DIR], PERSONAL_DIR); + AppendPathSeparator(tmp, lastof(tmp)); return strcmp(tmp, _searchpaths[SP_PERSONAL_DIR]) != 0; } @@ -1084,12 +1095,12 @@ void DetermineBasePaths(const char *exe) char tmp[MAX_PATH]; #if defined(WITH_XDG_BASEDIR) && defined(WITH_PERSONAL_DIR) const char *xdg_data_home = xdgDataHome(NULL); - snprintf(tmp, MAX_PATH, "%s" PATHSEP "%s", xdg_data_home, + seprintf(tmp, lastof(tmp), "%s" PATHSEP "%s", xdg_data_home, PERSONAL_DIR[0] == '.' ? &PERSONAL_DIR[1] : PERSONAL_DIR); free(xdg_data_home); - AppendPathSeparator(tmp, MAX_PATH); - _searchpaths[SP_PERSONAL_DIR_XDG] = strdup(tmp); + AppendPathSeparator(tmp, lastof(tmp)); + _searchpaths[SP_PERSONAL_DIR_XDG] = stredup(tmp); #endif #if defined(__MORPHOS__) || defined(__AMIGA__) || defined(DOS) || defined(OS2) || !defined(WITH_PERSONAL_DIR) _searchpaths[SP_PERSONAL_DIR] = NULL; @@ -1097,7 +1108,7 @@ void DetermineBasePaths(const char *exe) #ifdef __HAIKU__ BPath path; find_directory(B_USER_SETTINGS_DIRECTORY, &path); - const char *homedir = strdup(path.Path()); + const char *homedir = stredup(path.Path()); #else /* getenv is highly unsafe; duplicate it as soon as possible, * or at least before something else touches the environment @@ -1105,21 +1116,21 @@ void DetermineBasePaths(const char *exe) * unvalidated data we rather not want internally. */ const char *homedir = getenv("HOME"); if (homedir != NULL) { - homedir = strndup(homedir, MAX_PATH); + homedir = stredup(homedir); } if (homedir == NULL) { const struct passwd *pw = getpwuid(getuid()); - homedir = (pw == NULL) ? NULL : strdup(pw->pw_dir); + homedir = (pw == NULL) ? NULL : stredup(pw->pw_dir); } #endif if (homedir != NULL) { ValidateString(homedir); - snprintf(tmp, MAX_PATH, "%s" PATHSEP "%s", homedir, PERSONAL_DIR); - AppendPathSeparator(tmp, MAX_PATH); + seprintf(tmp, lastof(tmp), "%s" PATHSEP "%s", homedir, PERSONAL_DIR); + AppendPathSeparator(tmp, lastof(tmp)); - _searchpaths[SP_PERSONAL_DIR] = strdup(tmp); + _searchpaths[SP_PERSONAL_DIR] = stredup(tmp); free(homedir); } else { _searchpaths[SP_PERSONAL_DIR] = NULL; @@ -1127,9 +1138,9 @@ void DetermineBasePaths(const char *exe) #endif #if defined(WITH_SHARED_DIR) - snprintf(tmp, MAX_PATH, "%s", SHARED_DIR); - AppendPathSeparator(tmp, MAX_PATH); - _searchpaths[SP_SHARED_DIR] = strdup(tmp); + seprintf(tmp, lastof(tmp), "%s", SHARED_DIR); + AppendPathSeparator(tmp, lastof(tmp)); + _searchpaths[SP_SHARED_DIR] = stredup(tmp); #else _searchpaths[SP_SHARED_DIR] = NULL; #endif @@ -1138,8 +1149,8 @@ void DetermineBasePaths(const char *exe) _searchpaths[SP_WORKING_DIR] = NULL; #else if (getcwd(tmp, MAX_PATH) == NULL) *tmp = '\0'; - AppendPathSeparator(tmp, MAX_PATH); - _searchpaths[SP_WORKING_DIR] = strdup(tmp); + AppendPathSeparator(tmp, lastof(tmp)); + _searchpaths[SP_WORKING_DIR] = stredup(tmp); #endif _do_scan_working_directory = DoScanWorkingDirectory(); @@ -1147,8 +1158,8 @@ void DetermineBasePaths(const char *exe) /* Change the working directory to that one of the executable */ if (ChangeWorkingDirectoryToExecutable(exe)) { if (getcwd(tmp, MAX_PATH) == NULL) *tmp = '\0'; - AppendPathSeparator(tmp, MAX_PATH); - _searchpaths[SP_BINARY_DIR] = strdup(tmp); + AppendPathSeparator(tmp, lastof(tmp)); + _searchpaths[SP_BINARY_DIR] = stredup(tmp); } else { _searchpaths[SP_BINARY_DIR] = NULL; } @@ -1163,9 +1174,9 @@ void DetermineBasePaths(const char *exe) #if defined(__MORPHOS__) || defined(__AMIGA__) || defined(DOS) || defined(OS2) _searchpaths[SP_INSTALLATION_DIR] = NULL; #else - snprintf(tmp, MAX_PATH, "%s", GLOBAL_DATA_DIR); - AppendPathSeparator(tmp, MAX_PATH); - _searchpaths[SP_INSTALLATION_DIR] = strdup(tmp); + seprintf(tmp, lastof(tmp), "%s", GLOBAL_DATA_DIR); + AppendPathSeparator(tmp, lastof(tmp)); + _searchpaths[SP_INSTALLATION_DIR] = stredup(tmp); #endif #ifdef WITH_COCOA extern void cocoaSetApplicationBundleDir(); @@ -1192,11 +1203,11 @@ void DeterminePaths(const char *exe) char config_home[MAX_PATH]; const char *xdg_config_home = xdgConfigHome(NULL); - snprintf(config_home, MAX_PATH, "%s" PATHSEP "%s", xdg_config_home, + seprintf(config_home, lastof(config_home), "%s" PATHSEP "%s", xdg_config_home, PERSONAL_DIR[0] == '.' ? &PERSONAL_DIR[1] : PERSONAL_DIR); free(xdg_config_home); - AppendPathSeparator(config_home, MAX_PATH); + AppendPathSeparator(config_home, lastof(config_home)); #endif Searchpath sp; @@ -1207,7 +1218,7 @@ void DeterminePaths(const char *exe) char *config_dir; if (_config_file != NULL) { - config_dir = strdup(_config_file); + config_dir = stredup(_config_file); char *end = strrchr(config_dir, PATHSEPCHAR); if (end == NULL) { config_dir[0] = '\0'; @@ -1216,10 +1227,10 @@ void DeterminePaths(const char *exe) } } else { char personal_dir[MAX_PATH]; - if (FioFindFullPath(personal_dir, lengthof(personal_dir), BASE_DIR, "openttd.cfg") != NULL) { + if (FioFindFullPath(personal_dir, lastof(personal_dir), BASE_DIR, "openttd.cfg") != NULL) { char *end = strrchr(personal_dir, PATHSEPCHAR); if (end != NULL) end[1] = '\0'; - config_dir = strdup(personal_dir); + config_dir = stredup(personal_dir); _config_file = str_fmt("%sopenttd.cfg", config_dir); } else { #if defined(WITH_XDG_BASEDIR) && defined(WITH_PERSONAL_DIR) @@ -1233,7 +1244,7 @@ void DeterminePaths(const char *exe) config_dir = NULL; for (uint i = 0; i < lengthof(new_openttd_cfg_order); i++) { if (IsValidSearchPath(new_openttd_cfg_order[i])) { - config_dir = strdup(_searchpaths[new_openttd_cfg_order[i]]); + config_dir = stredup(_searchpaths[new_openttd_cfg_order[i]]); break; } } @@ -1397,13 +1408,13 @@ static uint ScanPath(FileScanner *fs, const char *extension, const char *path, s if (!FiosIsValidFile(path, dirent, &sb)) continue; - snprintf(filename, lengthof(filename), "%s%s", path, d_name); + seprintf(filename, lastof(filename), "%s%s", path, d_name); if (S_ISDIR(sb.st_mode)) { /* Directory */ if (!recursive) continue; if (strcmp(d_name, ".") == 0 || strcmp(d_name, "..") == 0) continue; - if (!AppendPathSeparator(filename, lengthof(filename))) continue; + if (!AppendPathSeparator(filename, lastof(filename))) continue; num += ScanPath(fs, extension, filename, basepath_length, recursive); } else if (S_ISREG(sb.st_mode)) { /* File */ @@ -1454,7 +1465,7 @@ uint FileScanner::Scan(const char *extension, Subdirectory sd, bool tars, bool r /* Don't search in the working directory */ if (sp == SP_WORKING_DIR && !_do_scan_working_directory) continue; - FioAppendDirectory(path, MAX_PATH, sp, sd); + FioAppendDirectory(path, lastof(path), sp, sd); num += ScanPath(this, extension, path, strlen(path), recursive); } @@ -1490,6 +1501,6 @@ uint FileScanner::Scan(const char *extension, const char *directory, bool recurs { char path[MAX_PATH]; strecpy(path, directory, lastof(path)); - if (!AppendPathSeparator(path, lengthof(path))) return 0; + if (!AppendPathSeparator(path, lastof(path))) return 0; return ScanPath(this, extension, path, strlen(path), recursive); } diff --git a/src/fileio_func.h b/src/fileio_func.h index 449ba51fe5..443460b2d3 100644 --- a/src/fileio_func.h +++ b/src/fileio_func.h @@ -51,15 +51,15 @@ static inline bool IsValidSearchPath(Searchpath sp) void FioFCloseFile(FILE *f); FILE *FioFOpenFile(const char *filename, const char *mode, Subdirectory subdir, size_t *filesize = NULL); bool FioCheckFileExists(const char *filename, Subdirectory subdir); -char *FioGetFullPath(char *buf, size_t buflen, Searchpath sp, Subdirectory subdir, const char *filename); -char *FioFindFullPath(char *buf, size_t buflen, Subdirectory subdir, const char *filename); -char *FioAppendDirectory(char *buf, size_t buflen, Searchpath sp, Subdirectory subdir); -char *FioGetDirectory(char *buf, size_t buflen, Subdirectory subdir); +char *FioGetFullPath(char *buf, const char *last, Searchpath sp, Subdirectory subdir, const char *filename); +char *FioFindFullPath(char *buf, const char *last, Subdirectory subdir, const char *filename); +char *FioAppendDirectory(char *buf, const char *last, Searchpath sp, Subdirectory subdir); +char *FioGetDirectory(char *buf, const char *last, Subdirectory subdir); const char *FiosGetScreenshotDir(); void SanitizeFilename(char *filename); -bool AppendPathSeparator(char *buf, size_t buflen); +bool AppendPathSeparator(char *buf, const char *last); void DeterminePaths(const char *exe); void *ReadFileToMem(const char *filename, size_t *lenp, size_t maxsize); bool FileExists(const char *filename); diff --git a/src/fios.cpp b/src/fios.cpp index ff7153af3f..00ed5a484c 100644 --- a/src/fios.cpp +++ b/src/fios.cpp @@ -26,9 +26,12 @@ #include "table/strings.h" +#include "safeguards.h" + /* Variables to display file lists */ SmallVector _fios_items; static char *_fios_path; +static const char *_fios_path_last; SmallFiosItem _file_to_saveload; SortingBits _savegame_sort_order = SORT_BY_DATE | SORT_DESCENDING; @@ -89,14 +92,12 @@ StringID FiosGetDescText(const char **path, uint64 *total_free) */ const char *FiosBrowseTo(const FiosItem *item) { - char *path = _fios_path; - switch (item->type) { case FIOS_TYPE_DRIVE: #if defined(WINCE) - snprintf(path, MAX_PATH, PATHSEP ""); + seprintf(_fios_path, _fios_path_last, PATHSEP ""); #elif defined(WIN32) || defined(__OS2__) - snprintf(path, MAX_PATH, "%c:" PATHSEP, item->title[0]); + seprintf(_fios_path, _fios_path_last, "%c:" PATHSEP, item->title[0]); #endif /* FALL THROUGH */ case FIOS_TYPE_INVALID: @@ -104,16 +105,16 @@ const char *FiosBrowseTo(const FiosItem *item) case FIOS_TYPE_PARENT: { /* Check for possible NULL ptr (not required for UNIXes, but AmigaOS-alikes) */ - char *s = strrchr(path, PATHSEPCHAR); - if (s != NULL && s != path) { + char *s = strrchr(_fios_path, PATHSEPCHAR); + if (s != NULL && s != _fios_path) { s[0] = '\0'; // Remove last path separator character, so we can go up one level. } - s = strrchr(path, PATHSEPCHAR); + s = strrchr(_fios_path, PATHSEPCHAR); if (s != NULL) { s[1] = '\0'; // go up a directory #if defined(__MORPHOS__) || defined(__AMIGAOS__) /* On MorphOS or AmigaOS paths look like: "Volume:directory/subdirectory" */ - } else if ((s = strrchr(path, ':')) != NULL) { + } else if ((s = strrchr(_fios_path, ':')) != NULL) { s[1] = '\0'; #endif } @@ -121,12 +122,12 @@ const char *FiosBrowseTo(const FiosItem *item) } case FIOS_TYPE_DIR: - strcat(path, item->name); - strcat(path, PATHSEP); + strecat(_fios_path, item->name, _fios_path_last); + strecat(_fios_path, PATHSEP, _fios_path_last); break; case FIOS_TYPE_DIRECT: - snprintf(path, MAX_PATH, "%s", item->name); + seprintf(_fios_path, _fios_path_last, "%s", item->name); break; case FIOS_TYPE_FILE: @@ -147,9 +148,9 @@ const char *FiosBrowseTo(const FiosItem *item) * @param path Directory path, may be \c NULL. * @param name Filename. * @param ext Filename extension (use \c "" for no extension). - * @param size Size of \a buf. + * @param last Last element of buffer \a buf. */ -static void FiosMakeFilename(char *buf, const char *path, const char *name, const char *ext, size_t size) +static void FiosMakeFilename(char *buf, const char *path, const char *name, const char *ext, const char *last) { const char *period; @@ -161,15 +162,15 @@ static void FiosMakeFilename(char *buf, const char *path, const char *name, cons unsigned char sepchar = path[(strlen(path) - 1)]; if (sepchar != ':' && sepchar != '/') { - snprintf(buf, size, "%s" PATHSEP "%s%s", path, name, ext); + seprintf(buf, last, "%s" PATHSEP "%s%s", path, name, ext); } else { - snprintf(buf, size, "%s%s%s", path, name, ext); + seprintf(buf, last, "%s%s%s", path, name, ext); } } else { - snprintf(buf, size, "%s%s", name, ext); + seprintf(buf, last, "%s%s", name, ext); } #else - snprintf(buf, size, "%s" PATHSEP "%s%s", path, name, ext); + seprintf(buf, last, "%s" PATHSEP "%s%s", path, name, ext); #endif } @@ -177,39 +178,40 @@ static void FiosMakeFilename(char *buf, const char *path, const char *name, cons * Make a save game or scenario filename from a name. * @param buf Destination buffer for saving the filename. * @param name Name of the file. - * @param size Length of buffer \a buf. + * @param last Last element of buffer \a buf. */ -void FiosMakeSavegameName(char *buf, const char *name, size_t size) +void FiosMakeSavegameName(char *buf, const char *name, const char *last) { const char *extension = (_game_mode == GM_EDITOR) ? ".scn" : ".sav"; - FiosMakeFilename(buf, _fios_path, name, extension, size); + FiosMakeFilename(buf, _fios_path, name, extension, last); } /** * Construct a filename for a height map. * @param buf Destination buffer. * @param name Filename. - * @param size Size of \a buf. + * @param last Last element of buffer \a buf. */ -void FiosMakeHeightmapName(char *buf, const char *name, size_t size) +void FiosMakeHeightmapName(char *buf, const char *name, const char *last) { char ext[5]; ext[0] = '.'; strecpy(ext + 1, GetCurrentScreenshotExtension(), lastof(ext)); - FiosMakeFilename(buf, _fios_path, name, ext, size); + FiosMakeFilename(buf, _fios_path, name, ext, last); } /** * Delete a file. * @param name Filename to delete. + * @return Whether the file deletion was successful. */ bool FiosDelete(const char *name) { char filename[512]; - FiosMakeSavegameName(filename, name, lengthof(filename)); + FiosMakeSavegameName(filename, name, lastof(filename)); return unlink(filename) == 0; } @@ -324,7 +326,7 @@ static void FiosGetFileList(SaveLoadDialogMode mode, fios_getlist_callback_proc fios->type = FIOS_TYPE_DIR; fios->mtime = 0; strecpy(fios->name, d_name, lastof(fios->name)); - snprintf(fios->title, lengthof(fios->title), "%s" PATHSEP " (Directory)", d_name); + seprintf(fios->title, lastof(fios->title), "%s" PATHSEP " (Directory)", d_name); str_validate(fios->title, lastof(fios->title)); } } @@ -428,13 +430,16 @@ FiosType FiosGetSavegameListCallback(SaveLoadDialogMode mode, const char *file, void FiosGetSavegameList(SaveLoadDialogMode mode) { static char *fios_save_path = NULL; + static char *fios_save_path_last = NULL; if (fios_save_path == NULL) { fios_save_path = MallocT(MAX_PATH); - FioGetDirectory(fios_save_path, MAX_PATH, SAVE_DIR); + fios_save_path_last = fios_save_path + MAX_PATH - 1; + FioGetDirectory(fios_save_path, fios_save_path_last, SAVE_DIR); } _fios_path = fios_save_path; + _fios_path_last = fios_save_path_last; FiosGetFileList(mode, &FiosGetSavegameListCallback, NO_DIRECTORY); } @@ -479,17 +484,20 @@ static FiosType FiosGetScenarioListCallback(SaveLoadDialogMode mode, const char void FiosGetScenarioList(SaveLoadDialogMode mode) { static char *fios_scn_path = NULL; + static char *fios_scn_path_last = NULL; /* Copy the default path on first run or on 'New Game' */ if (fios_scn_path == NULL) { fios_scn_path = MallocT(MAX_PATH); - FioGetDirectory(fios_scn_path, MAX_PATH, SCENARIO_DIR); + fios_scn_path_last = fios_scn_path + MAX_PATH - 1; + FioGetDirectory(fios_scn_path, fios_scn_path_last, SCENARIO_DIR); } _fios_path = fios_scn_path; + _fios_path_last = fios_scn_path_last; char base_path[MAX_PATH]; - FioGetDirectory(base_path, sizeof(base_path), SCENARIO_DIR); + FioGetDirectory(base_path, lastof(base_path), SCENARIO_DIR); FiosGetFileList(mode, &FiosGetScenarioListCallback, (mode == SLD_LOAD_SCENARIO && strcmp(base_path, _fios_path) == 0) ? SCENARIO_DIR : NO_DIRECTORY); } @@ -522,7 +530,7 @@ static FiosType FiosGetHeightmapListCallback(SaveLoadDialogMode mode, const char Searchpath sp; FOR_ALL_SEARCHPATHS(sp) { char buf[MAX_PATH]; - FioAppendDirectory(buf, sizeof(buf), sp, HEIGHTMAP_DIR); + FioAppendDirectory(buf, lastof(buf), sp, HEIGHTMAP_DIR); if (strncmp(buf, it->second.tar_filename, strlen(buf)) == 0) { match = true; @@ -545,16 +553,19 @@ static FiosType FiosGetHeightmapListCallback(SaveLoadDialogMode mode, const char void FiosGetHeightmapList(SaveLoadDialogMode mode) { static char *fios_hmap_path = NULL; + static char *fios_hmap_path_last = NULL; if (fios_hmap_path == NULL) { fios_hmap_path = MallocT(MAX_PATH); - FioGetDirectory(fios_hmap_path, MAX_PATH, HEIGHTMAP_DIR); + fios_hmap_path_last = fios_hmap_path + MAX_PATH - 1; + FioGetDirectory(fios_hmap_path, fios_hmap_path_last, HEIGHTMAP_DIR); } _fios_path = fios_hmap_path; + _fios_path_last = fios_hmap_path_last; char base_path[MAX_PATH]; - FioGetDirectory(base_path, sizeof(base_path), HEIGHTMAP_DIR); + FioGetDirectory(base_path, lastof(base_path), HEIGHTMAP_DIR); FiosGetFileList(mode, &FiosGetHeightmapListCallback, strcmp(base_path, _fios_path) == 0 ? HEIGHTMAP_DIR : NO_DIRECTORY); } @@ -569,7 +580,7 @@ const char *FiosGetScreenshotDir() if (fios_screenshot_path == NULL) { fios_screenshot_path = MallocT(MAX_PATH); - FioGetDirectory(fios_screenshot_path, MAX_PATH, SCREENSHOT_DIR); + FioGetDirectory(fios_screenshot_path, fios_screenshot_path + MAX_PATH - 1, SCREENSHOT_DIR); } return fios_screenshot_path; diff --git a/src/fios.h b/src/fios.h index 43a018f260..b26fe00925 100644 --- a/src/fios.h +++ b/src/fios.h @@ -170,8 +170,8 @@ const char *FiosBrowseTo(const FiosItem *item); StringID FiosGetDescText(const char **path, uint64 *total_free); bool FiosDelete(const char *name); -void FiosMakeHeightmapName(char *buf, const char *name, size_t size); -void FiosMakeSavegameName(char *buf, const char *name, size_t size); +void FiosMakeHeightmapName(char *buf, const char *name, const char *last); +void FiosMakeSavegameName(char *buf, const char *name, const char *last); FiosType FiosGetSavegameListCallback(SaveLoadDialogMode mode, const char *file, const char *ext, char *title, const char *last); diff --git a/src/fios_gui.cpp b/src/fios_gui.cpp index 9fce85ae96..9316deb658 100644 --- a/src/fios_gui.cpp +++ b/src/fios_gui.cpp @@ -34,6 +34,8 @@ #include "table/sprites.h" #include "table/strings.h" +#include "safeguards.h" + SaveLoadDialogMode _saveload_mode; LoadCheckData _load_check_data; ///< Data loaded from save during SL_LOAD_CHECK. @@ -296,17 +298,17 @@ public: switch (_saveload_mode) { case SLD_SAVE_GAME: case SLD_LOAD_GAME: - FioGetDirectory(o_dir.name, lengthof(o_dir.name), SAVE_DIR); + FioGetDirectory(o_dir.name, lastof(o_dir.name), SAVE_DIR); break; case SLD_SAVE_SCENARIO: case SLD_LOAD_SCENARIO: - FioGetDirectory(o_dir.name, lengthof(o_dir.name), SCENARIO_DIR); + FioGetDirectory(o_dir.name, lastof(o_dir.name), SCENARIO_DIR); break; case SLD_SAVE_HEIGHTMAP: case SLD_LOAD_HEIGHTMAP: - FioGetDirectory(o_dir.name, lengthof(o_dir.name), HEIGHTMAP_DIR); + FioGetDirectory(o_dir.name, lastof(o_dir.name), HEIGHTMAP_DIR); break; default: @@ -481,7 +483,7 @@ public: case WID_SL_SORT_BYNAME: case WID_SL_SORT_BYDATE: { Dimension d = GetStringBoundingBox(this->GetWidget(widget)->widget_data); - d.width += padding.width + WD_SORTBUTTON_ARROW_WIDTH * 2; // Doubled since the string is centred and it also looks better. + d.width += padding.width + Window::SortButtonWidth() * 2; // Doubled since the string is centred and it also looks better. d.height += padding.height; *size = maxdim(*size, d); break; @@ -533,7 +535,7 @@ public: if (_saveload_mode == SLD_LOAD_HEIGHTMAP) { delete this; ShowHeightmapLoad(); - } else if (_load_check_data.grf_compatibility != GLC_NOT_FOUND || _settings_client.gui.UserIsAllowedToChangeNewGRFs()) { + } else if (!_load_check_data.HasNewGrfs() || _load_check_data.grf_compatibility != GLC_NOT_FOUND || _settings_client.gui.UserIsAllowedToChangeNewGRFs()) { _switch_mode = (_game_mode == GM_EDITOR) ? SM_LOAD_SCENARIO : SM_LOAD_GAME; ClearErrorMessages(); delete this; @@ -550,7 +552,7 @@ public: case WID_SL_MISSING_NEWGRFS: if (!_network_available) { ShowErrorMessage(STR_NETWORK_ERROR_NOTAVAILABLE, INVALID_STRING_ID, WL_ERROR); - } else { + } else if (_load_check_data.HasNewGrfs()) { #if defined(ENABLE_NETWORK) ShowMissingContentWindow(_load_check_data.grfconfig); #endif @@ -652,10 +654,10 @@ public: } else if (this->IsWidgetLowered(WID_SL_SAVE_GAME)) { // Save button clicked if (_saveload_mode == SLD_SAVE_GAME || _saveload_mode == SLD_SAVE_SCENARIO) { _switch_mode = SM_SAVE_GAME; - FiosMakeSavegameName(_file_to_saveload.name, this->filename_editbox.text.buf, sizeof(_file_to_saveload.name)); + FiosMakeSavegameName(_file_to_saveload.name, this->filename_editbox.text.buf, lastof(_file_to_saveload.name)); } else { _switch_mode = SM_SAVE_HEIGHTMAP; - FiosMakeHeightmapName(_file_to_saveload.name, this->filename_editbox.text.buf, sizeof(_file_to_saveload.name)); + FiosMakeHeightmapName(_file_to_saveload.name, this->filename_editbox.text.buf, lastof(_file_to_saveload.name)); } /* In the editor set up the vehicle engines correctly (date might have changed) */ @@ -691,7 +693,7 @@ public: } if (_saveload_mode == SLD_LOAD_GAME || _saveload_mode == SLD_LOAD_SCENARIO) { this->SetWidgetDisabledState(WID_SL_LOAD_BUTTON, - this->selected == NULL || _load_check_data.HasErrors() || !(_load_check_data.grf_compatibility != GLC_NOT_FOUND || _settings_client.gui.UserIsAllowedToChangeNewGRFs())); + this->selected == NULL || _load_check_data.HasErrors() || !(!_load_check_data.HasNewGrfs() || _load_check_data.grf_compatibility != GLC_NOT_FOUND || _settings_client.gui.UserIsAllowedToChangeNewGRFs())); this->SetWidgetDisabledState(WID_SL_NEWGRF_INFO, !_load_check_data.HasNewGrfs()); this->SetWidgetDisabledState(WID_SL_MISSING_NEWGRFS, diff --git a/src/fontcache.cpp b/src/fontcache.cpp index 4d369ad51f..6bea59c103 100644 --- a/src/fontcache.cpp +++ b/src/fontcache.cpp @@ -18,11 +18,14 @@ #include "strings_func.h" #include "zoom_type.h" #include "gfx_layout.h" +#include "zoom_func.h" #include "table/sprites.h" #include "table/control_codes.h" #include "table/unicode.h" +#include "safeguards.h" + static const int ASCII_LETTERSTART = 32; ///< First printable ASCII letter. static const int MAX_FONT_SIZE = 72; ///< Maximum font size. @@ -78,6 +81,7 @@ public: virtual void ClearFontCache(); virtual const Sprite *GetGlyph(GlyphID key); virtual uint GetGlyphWidth(GlyphID key); + virtual int GetHeight() const; virtual bool GetDrawGlyphShadow(); virtual GlyphID MapCharToGlyph(WChar key) { assert(IsPrintable(key)); return SPRITE_GLYPH | key; } virtual const void *GetFontTable(uint32 tag, size_t &length) { length = 0; return NULL; } @@ -139,8 +143,8 @@ void SpriteFontCache::InitializeUnicodeGlyphMap() byte key = _default_unicode_map[i].key; if (key == CLRA) { /* Clear the glyph. This happens if the glyph at this code point - * is non-standard and should be accessed by an SCC_xxx enum - * entry only. */ + * is non-standard and should be accessed by an SCC_xxx enum + * entry only. */ this->SetUnicodeGlyph(_default_unicode_map[i].code, 0); } else { SpriteID sprite = base + key - ASCII_LETTERSTART; @@ -179,7 +183,12 @@ uint SpriteFontCache::GetGlyphWidth(GlyphID key) { SpriteID sprite = this->GetUnicodeGlyph(key); if (sprite == 0) sprite = this->GetUnicodeGlyph('?'); - return SpriteExists(sprite) ? GetSprite(sprite, ST_FONT)->width + (this->fs != FS_NORMAL) : 0; + return SpriteExists(sprite) ? GetSprite(sprite, ST_FONT)->width + ScaleGUITrad(this->fs != FS_NORMAL ? 1 : 0) : 0; +} + +int SpriteFontCache::GetHeight() const +{ + return ScaleGUITrad(this->height); } bool SpriteFontCache::GetDrawGlyphShadow() @@ -187,7 +196,7 @@ bool SpriteFontCache::GetDrawGlyphShadow() return false; } -/*static */ FontCache *FontCache::caches[FS_END] = { new SpriteFontCache(FS_NORMAL), new SpriteFontCache(FS_SMALL), new SpriteFontCache(FS_LARGE), new SpriteFontCache(FS_MONO) }; +/* static */ FontCache *FontCache::caches[FS_END] = { new SpriteFontCache(FS_NORMAL), new SpriteFontCache(FS_SMALL), new SpriteFontCache(FS_LARGE), new SpriteFontCache(FS_MONO) }; #ifdef WITH_FREETYPE #include @@ -527,8 +536,8 @@ const Sprite *FreeTypeFontCache::GetGlyph(GlyphID key) aa = (slot->bitmap.pixel_mode == FT_PIXEL_MODE_GRAY); /* Add 1 pixel for the shadow on the medium font. Our sprite must be at least 1x1 pixel */ - int width = max(1, slot->bitmap.width + (this->fs == FS_NORMAL)); - int height = max(1, slot->bitmap.rows + (this->fs == FS_NORMAL)); + uint width = max(1U, (uint)slot->bitmap.width + (this->fs == FS_NORMAL)); + uint height = max(1U, (uint)slot->bitmap.rows + (this->fs == FS_NORMAL)); /* Limit glyph size to prevent overflows later on. */ if (width > 256 || height > 256) usererror("Font glyph is too large"); @@ -544,8 +553,8 @@ const Sprite *FreeTypeFontCache::GetGlyph(GlyphID key) /* Draw shadow for medium size */ if (this->fs == FS_NORMAL && !aa) { - for (int y = 0; y < slot->bitmap.rows; y++) { - for (int x = 0; x < slot->bitmap.width; x++) { + for (uint y = 0; y < (uint)slot->bitmap.rows; y++) { + for (uint x = 0; x < (uint)slot->bitmap.width; x++) { if (aa ? (slot->bitmap.buffer[x + y * slot->bitmap.pitch] > 0) : HasBit(slot->bitmap.buffer[(x / 8) + y * slot->bitmap.pitch], 7 - (x % 8))) { sprite.data[1 + x + (1 + y) * sprite.width].m = SHADOW_COLOUR; sprite.data[1 + x + (1 + y) * sprite.width].a = aa ? slot->bitmap.buffer[x + y * slot->bitmap.pitch] : 0xFF; @@ -554,8 +563,8 @@ const Sprite *FreeTypeFontCache::GetGlyph(GlyphID key) } } - for (int y = 0; y < slot->bitmap.rows; y++) { - for (int x = 0; x < slot->bitmap.width; x++) { + for (uint y = 0; y < (uint)slot->bitmap.rows; y++) { + for (uint x = 0; x < (uint)slot->bitmap.width; x++) { if (aa ? (slot->bitmap.buffer[x + y * slot->bitmap.pitch] > 0) : HasBit(slot->bitmap.buffer[(x / 8) + y * slot->bitmap.pitch], 7 - (x % 8))) { sprite.data[x + y * sprite.width].m = FACE_COLOUR; sprite.data[x + y * sprite.width].a = aa ? slot->bitmap.buffer[x + y * slot->bitmap.pitch] : 0xFF; diff --git a/src/fontcache.h b/src/fontcache.h index 804ad2c4b5..8caf4f1bd3 100644 --- a/src/fontcache.h +++ b/src/fontcache.h @@ -44,7 +44,7 @@ public: * Get the height of the font. * @return The height of the font. */ - inline int GetHeight() const { return this->height; } + virtual int GetHeight() const { return this->height; } /** * Get the ascender value of the font. diff --git a/src/fontdetection.cpp b/src/fontdetection.cpp index 82c4f354f6..6df45cf6a1 100644 --- a/src/fontdetection.cpp +++ b/src/fontdetection.cpp @@ -35,6 +35,8 @@ extern FT_Library _library; #include /* SHGetFolderPath */ #include "os/windows/win32.h" +#include "safeguards.h" + /** * Get the short DOS 8.3 format for paths. * FreeType doesn't support Unicode filenames and Windows' fopen (as used @@ -373,6 +375,8 @@ bool SetFallbackFont(FreeTypeSettings *settings, const char *language_isocode, i #include "os/macosx/macos.h" +#include "safeguards.h" + FT_Error GetFontByFaceName(const char *font_name, FT_Face *face) { FT_Error err = FT_Err_Cannot_Open_Resource; @@ -392,7 +396,7 @@ FT_Error GetFontByFaceName(const char *font_name, FT_Face *face) } else #endif { -#if (MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_5) && !__LP64__ +#if (MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_5) && !defined(__LP64__) /* This type was introduced with the 10.5 SDK. */ #if (MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_5) #define ATSFSSpec FSSpec @@ -542,6 +546,8 @@ bool SetFallbackFont(FreeTypeSettings *settings, const char *language_isocode, i #include +#include "safeguards.h" + /* ======================================================================================== * FontConfig (unix) support * ======================================================================================== */ @@ -560,7 +566,7 @@ FT_Error GetFontByFaceName(const char *font_name, FT_Face *face) char *font_family; /* Split & strip the font's style */ - font_family = strdup(font_name); + font_family = stredup(font_name); font_style = strchr(font_family, ','); if (font_style != NULL) { font_style[0] = '\0'; diff --git a/src/game/game_config.cpp b/src/game/game_config.cpp index a85c2f467e..50cd5da4e0 100644 --- a/src/game/game_config.cpp +++ b/src/game/game_config.cpp @@ -15,6 +15,8 @@ #include "game_config.hpp" #include "game_info.hpp" +#include "../safeguards.h" + /* static */ GameConfig *GameConfig::GetConfig(ScriptSettingSource source) { GameConfig **config; diff --git a/src/game/game_core.cpp b/src/game/game_core.cpp index 9fd47a4c8b..2f95e26224 100644 --- a/src/game/game_core.cpp +++ b/src/game/game_core.cpp @@ -21,6 +21,8 @@ #include "game_instance.hpp" #include "game_info.hpp" +#include "../safeguards.h" + /* static */ uint Game::frame_counter = 0; /* static */ GameInfo *Game::info = NULL; /* static */ GameInstance *Game::instance = NULL; diff --git a/src/game/game_info.cpp b/src/game/game_info.cpp index ab49fea12a..9bb36d1aa5 100644 --- a/src/game/game_info.cpp +++ b/src/game/game_info.cpp @@ -16,6 +16,8 @@ #include "game_scanner.hpp" #include "../debug.h" +#include "../safeguards.h" + /** * Check if the API version provided by the Game is supported. * @param api_version The API version as provided by the Game. @@ -23,7 +25,7 @@ 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.5") == 0 || strcmp(api_version, "1.6") == 0; } #if defined(WIN32) @@ -53,7 +55,7 @@ template <> const char *GetClassName() { return "GSInfo"; } { /* Get the GameInfo */ SQUserPointer instance = NULL; - if (SQ_FAILED(sq_getinstanceup(vm, 2, &instance, 0)) || instance == NULL) return sq_throwerror(vm, _SC("Pass an instance of a child class of GameInfo to RegisterGame")); + if (SQ_FAILED(sq_getinstanceup(vm, 2, &instance, 0)) || instance == NULL) return sq_throwerror(vm, "Pass an instance of a child class of GameInfo to RegisterGame"); GameInfo *info = (GameInfo *)instance; SQInteger res = ScriptInfo::Constructor(vm, info); diff --git a/src/game/game_instance.cpp b/src/game/game_instance.cpp index f4afc69b9a..c5e5c7f05a 100644 --- a/src/game/game_instance.cpp +++ b/src/game/game_instance.cpp @@ -85,6 +85,8 @@ #include "../script/api/game/game_waypointlist.hpp.sq" #include "../script/api/game/game_window.hpp.sq" +#include "../safeguards.h" + GameInstance::GameInstance() : ScriptInstance("GS") @@ -171,6 +173,17 @@ void GameInstance::RegisterAPI() SQGSSignList_Register(this->engine); SQGSStation_Register(this->engine); SQGSStationList_Register(this->engine); + SQGSStationList_Cargo_Register(this->engine); + SQGSStationList_CargoPlanned_Register(this->engine); + SQGSStationList_CargoPlannedByFrom_Register(this->engine); + SQGSStationList_CargoPlannedByVia_Register(this->engine); + SQGSStationList_CargoPlannedFromByVia_Register(this->engine); + SQGSStationList_CargoPlannedViaByFrom_Register(this->engine); + SQGSStationList_CargoWaiting_Register(this->engine); + SQGSStationList_CargoWaitingByFrom_Register(this->engine); + SQGSStationList_CargoWaitingByVia_Register(this->engine); + SQGSStationList_CargoWaitingFromByVia_Register(this->engine); + SQGSStationList_CargoWaitingViaByFrom_Register(this->engine); SQGSStationList_Vehicle_Register(this->engine); SQGSStoryPage_Register(this->engine); SQGSStoryPageElementList_Register(this->engine); diff --git a/src/game/game_scanner.cpp b/src/game/game_scanner.cpp index f8c2b4f22e..bc02f6afd2 100644 --- a/src/game/game_scanner.cpp +++ b/src/game/game_scanner.cpp @@ -15,15 +15,17 @@ #include "game_info.hpp" #include "game_scanner.hpp" +#include "../safeguards.h" + void GameScannerInfo::Initialize() { ScriptScanner::Initialize("GSScanner"); } -void GameScannerInfo::GetScriptName(ScriptInfo *info, char *name, int len) +void GameScannerInfo::GetScriptName(ScriptInfo *info, char *name, const char *last) { - snprintf(name, len, "%s", info->GetName()); + seprintf(name, last, "%s", info->GetName()); } void GameScannerInfo::RegisterAPI(class Squirrel *engine) @@ -37,7 +39,7 @@ GameInfo *GameScannerInfo::FindInfo(const char *nameParam, int versionParam, boo if (nameParam == NULL) return NULL; char game_name[1024]; - ttd_strlcpy(game_name, nameParam, sizeof(game_name)); + strecpy(game_name, nameParam, lastof(game_name)); strtolower(game_name); GameInfo *info = NULL; @@ -59,7 +61,7 @@ GameInfo *GameScannerInfo::FindInfo(const char *nameParam, int versionParam, boo if (force_exact_match) { /* Try to find a direct 'name.version' match */ char game_name_tmp[1024]; - snprintf(game_name_tmp, sizeof(game_name_tmp), "%s.%d", game_name, versionParam); + seprintf(game_name_tmp, lastof(game_name_tmp), "%s.%d", game_name, versionParam); strtolower(game_name_tmp); if (this->info_list.find(game_name_tmp) != this->info_list.end()) return static_cast(this->info_list[game_name_tmp]); } @@ -84,10 +86,10 @@ void GameScannerLibrary::Initialize() ScriptScanner::Initialize("GSScanner"); } -void GameScannerLibrary::GetScriptName(ScriptInfo *info, char *name, int len) +void GameScannerLibrary::GetScriptName(ScriptInfo *info, char *name, const char *last) { GameLibrary *library = static_cast(info); - snprintf(name, len, "%s.%s", library->GetCategory(), library->GetInstanceName()); + seprintf(name, last, "%s.%s", library->GetCategory(), library->GetInstanceName()); } void GameScannerLibrary::RegisterAPI(class Squirrel *engine) @@ -99,7 +101,7 @@ GameLibrary *GameScannerLibrary::FindLibrary(const char *library, int version) { /* Internally we store libraries as 'library.version' */ char library_name[1024]; - snprintf(library_name, sizeof(library_name), "%s.%d", library, version); + seprintf(library_name, lastof(library_name), "%s.%d", library, version); strtolower(library_name); /* Check if the library + version exists */ diff --git a/src/game/game_scanner.hpp b/src/game/game_scanner.hpp index f1d334f0fc..071d19d38d 100644 --- a/src/game/game_scanner.hpp +++ b/src/game/game_scanner.hpp @@ -28,7 +28,7 @@ public: class GameInfo *FindInfo(const char *nameParam, int versionParam, bool force_exact_match); protected: - /* virtual */ void GetScriptName(ScriptInfo *info, char *name, int len); + /* virtual */ void GetScriptName(ScriptInfo *info, char *name, const char *last); /* virtual */ const char *GetFileName() const { return PATHSEP "info.nut"; } /* virtual */ Subdirectory GetDirectory() const { return GAME_DIR; } /* virtual */ const char *GetScannerName() const { return "Game Scripts"; } @@ -49,7 +49,7 @@ public: class GameLibrary *FindLibrary(const char *library, int version); protected: - /* virtual */ void GetScriptName(ScriptInfo *info, char *name, int len); + /* virtual */ void GetScriptName(ScriptInfo *info, char *name, const char *last); /* virtual */ const char *GetFileName() const { return PATHSEP "library.nut"; } /* virtual */ Subdirectory GetDirectory() const { return GAME_LIBRARY_DIR; } /* virtual */ const char *GetScannerName() const { return "GS Libraries"; } diff --git a/src/game/game_text.cpp b/src/game/game_text.cpp index cd9721b8ab..42ced20083 100644 --- a/src/game/game_text.cpp +++ b/src/game/game_text.cpp @@ -24,12 +24,14 @@ #include +#include "../safeguards.h" + void CDECL strgen_warning(const char *s, ...) { char buf[1024]; va_list va; va_start(va, s); - vsnprintf(buf, lengthof(buf), s, va); + vseprintf(buf, lastof(buf), s, va); va_end(va); DEBUG(script, 0, "%s:%d: warning: %s", _file, _cur_line, buf); _warnings++; @@ -40,7 +42,7 @@ void CDECL strgen_error(const char *s, ...) char buf[1024]; va_list va; va_start(va, s); - vsnprintf(buf, lengthof(buf), s, va); + vseprintf(buf, lastof(buf), s, va); va_end(va); DEBUG(script, 0, "%s:%d: error: %s", _file, _cur_line, buf); _errors++; @@ -51,7 +53,7 @@ void NORETURN CDECL strgen_fatal(const char *s, ...) char buf[1024]; va_list va; va_start(va, s); - vsnprintf(buf, lengthof(buf), s, va); + vseprintf(buf, lastof(buf), s, va); va_end(va); DEBUG(script, 0, "%s:%d: FATAL: %s", _file, _cur_line, buf); throw std::exception(); @@ -64,7 +66,7 @@ void NORETURN CDECL strgen_fatal(const char *s, ...) */ LanguageStrings::LanguageStrings(const char *language, const char *end) { - this->language = end == NULL ? strdup(language) : strndup(language, end - language); + this->language = stredup(language, end != NULL ? end - 1 : NULL); } /** Free everything. */ @@ -113,7 +115,7 @@ LanguageStrings *ReadRawLanguageStrings(const char *file) while (i > 0 && (buffer[i - 1] == '\r' || buffer[i - 1] == '\n' || buffer[i - 1] == ' ')) i--; buffer[i] = '\0'; - *ret->lines.Append() = strndup(buffer, to_read); + *ret->lines.Append() = stredup(buffer, buffer + to_read - 1); if (len > to_read) { to_read = 0; @@ -149,11 +151,11 @@ struct StringListReader : StringReader { { } - /* virtual */ char *ReadLine(char *buffer, size_t size) + /* virtual */ char *ReadLine(char *buffer, const char *last) { if (this->p == this->end) return NULL; - strncpy(buffer, *this->p, size); + strecpy(buffer, *this->p, last); this->p++; return buffer; @@ -210,7 +212,7 @@ struct StringNameWriter : HeaderWriter { void WriteStringID(const char *name, int stringid) { - if (stringid == (int)this->strings->Length()) *this->strings->Append() = strdup(name); + if (stringid == (int)this->strings->Length()) *this->strings->Append() = stredup(name); } void Finalise(const StringData &data) @@ -229,7 +231,7 @@ private: public: /** Initialise */ - LanguageScanner(GameStrings *gs, const char *exclude) : gs(gs), exclude(strdup(exclude)) {} + LanguageScanner(GameStrings *gs, const char *exclude) : gs(gs), exclude(stredup(exclude)) {} ~LanguageScanner() { free(exclude); } /** @@ -354,12 +356,12 @@ void RegisterGameTranslation(Squirrel *engine) HSQUIRRELVM vm = engine->GetVM(); sq_pushroottable(vm); - sq_pushstring(vm, _SC("GSText"), -1); + sq_pushstring(vm, "GSText", -1); if (SQ_FAILED(sq_get(vm, -2))) return; int idx = 0; for (const char * const *p = _current_data->string_names.Begin(); p != _current_data->string_names.End(); p++, idx++) { - sq_pushstring(vm, OTTD2SQ(*p), -1); + sq_pushstring(vm, *p, -1); sq_pushinteger(vm, idx); sq_rawset(vm, -3); } @@ -377,7 +379,7 @@ void ReconsiderGameScriptLanguage() if (_current_data == NULL) return; char temp[MAX_PATH]; - strecpy(temp, _current_language->file, temp + sizeof(temp)); + strecpy(temp, _current_language->file, lastof(temp)); /* Remove the extension */ char *l = strrchr(temp, '.'); diff --git a/src/gamelog.cpp b/src/gamelog.cpp index b4b9fd7a62..400c0d22fb 100644 --- a/src/gamelog.cpp +++ b/src/gamelog.cpp @@ -21,6 +21,8 @@ #include +#include "safeguards.h" + extern const uint16 SAVEGAME_VERSION; ///< current savegame version extern SavegameType _savegame_type; ///< type of savegame we are loading @@ -93,53 +95,37 @@ void GamelogReset() _current_action = NULL; } -static const uint GAMELOG_BUF_LEN = 1024; ///< length of buffer for one line of text - -static uint _dbgofs = 0; ///< offset in current output buffer - -static void AddDebugText(char *buf, const char *s, ...) WARN_FORMAT(2, 3); - -static void AddDebugText(char *buf, const char *s, ...) -{ - if (GAMELOG_BUF_LEN <= _dbgofs) return; - - va_list va; - - va_start(va, s); - _dbgofs += vsnprintf(buf + _dbgofs, GAMELOG_BUF_LEN - _dbgofs, s, va); - va_end(va); -} - - /** * Prints GRF ID, checksum and filename if found - * @param buf The location in the _dbgofs buffer to draw + * @param buf The location in the buffer to draw + * @param last The end of the buffer * @param grfid GRF ID * @param md5sum array of md5sum to print, if known * @param gc GrfConfig, if known + * @return The buffer location. */ -static void PrintGrfInfo(char *buf, uint grfid, const uint8 *md5sum, const GRFConfig *gc) +static char *PrintGrfInfo(char *buf, const char *last, uint grfid, const uint8 *md5sum, const GRFConfig *gc) { char txt[40]; if (md5sum != NULL) { md5sumToString(txt, lastof(txt), md5sum); - AddDebugText(buf, "GRF ID %08X, checksum %s", BSWAP32(grfid), txt); + buf += seprintf(buf, last, "GRF ID %08X, checksum %s", BSWAP32(grfid), txt); } else { - AddDebugText(buf, "GRF ID %08X", BSWAP32(grfid)); + buf += seprintf(buf, last, "GRF ID %08X", BSWAP32(grfid)); } if (gc != NULL) { - AddDebugText(buf, ", filename: %s (md5sum matches)", gc->filename); + buf += seprintf(buf, last, ", filename: %s (md5sum matches)", gc->filename); } else { gc = FindGRFConfig(grfid, FGCM_ANY); if (gc != NULL) { - AddDebugText(buf, ", filename: %s (matches GRFID only)", gc->filename); + buf += seprintf(buf, last, ", filename: %s (matches GRFID only)", gc->filename); } else { - AddDebugText(buf, ", unknown GRF"); + buf += seprintf(buf, last, ", unknown GRF"); } } - return; + return buf; } @@ -177,7 +163,7 @@ typedef SmallMap GrfIDMapping; */ void GamelogPrint(GamelogPrintProc *proc) { - char buf[GAMELOG_BUF_LEN]; + char buffer[1024]; GrfIDMapping grf_names; proc("---- gamelog start ----"); @@ -187,58 +173,57 @@ void GamelogPrint(GamelogPrintProc *proc) for (const LoggedAction *la = _gamelog_action; la != laend; la++) { assert((uint)la->at < GLAT_END); - snprintf(buf, GAMELOG_BUF_LEN, "Tick %u: %s", (uint)la->tick, la_text[(uint)la->at]); - proc(buf); + seprintf(buffer, lastof(buffer), "Tick %u: %s", (uint)la->tick, la_text[(uint)la->at]); + proc(buffer); const LoggedChange *lcend = &la->change[la->changes]; for (const LoggedChange *lc = la->change; lc != lcend; lc++) { - _dbgofs = 0; - AddDebugText(buf, " "); + char *buf = buffer; switch (lc->ct) { default: NOT_REACHED(); case GLCT_MODE: - AddDebugText(buf, "New game mode: %u landscape: %u", + buf += seprintf(buf, lastof(buffer), "New game mode: %u landscape: %u", (uint)lc->mode.mode, (uint)lc->mode.landscape); break; case GLCT_REVISION: - AddDebugText(buf, "Revision text changed to %s, savegame version %u, ", + buf += seprintf(buf, lastof(buffer), "Revision text changed to %s, savegame version %u, ", lc->revision.text, lc->revision.slver); switch (lc->revision.modified) { - case 0: AddDebugText(buf, "not "); break; - case 1: AddDebugText(buf, "maybe "); break; + case 0: buf += seprintf(buf, lastof(buffer), "not "); break; + case 1: buf += seprintf(buf, lastof(buffer), "maybe "); break; default: break; } - AddDebugText(buf, "modified, _openttd_newgrf_version = 0x%08x", lc->revision.newgrf); + buf += seprintf(buf, lastof(buffer), "modified, _openttd_newgrf_version = 0x%08x", lc->revision.newgrf); break; case GLCT_OLDVER: - AddDebugText(buf, "Conversion from "); + buf += seprintf(buf, lastof(buffer), "Conversion from "); switch (lc->oldver.type) { default: NOT_REACHED(); case SGT_OTTD: - AddDebugText(buf, "OTTD savegame without gamelog: version %u, %u", + buf += seprintf(buf, lastof(buffer), "OTTD savegame without gamelog: version %u, %u", GB(lc->oldver.version, 8, 16), GB(lc->oldver.version, 0, 8)); break; case SGT_TTO: - AddDebugText(buf, "TTO savegame"); + buf += seprintf(buf, lastof(buffer), "TTO savegame"); break; case SGT_TTD: - AddDebugText(buf, "TTD savegame"); + buf += seprintf(buf, lastof(buffer), "TTD savegame"); break; case SGT_TTDP1: case SGT_TTDP2: - AddDebugText(buf, "TTDP savegame, %s format", + buf += seprintf(buf, lastof(buffer), "TTDP savegame, %s format", lc->oldver.type == SGT_TTDP1 ? "old" : "new"); if (lc->oldver.version != 0) { - AddDebugText(buf, ", TTDP version %u.%u.%u.%u", + buf += seprintf(buf, lastof(buffer), ", TTDP version %u.%u.%u.%u", GB(lc->oldver.version, 24, 8), GB(lc->oldver.version, 20, 4), GB(lc->oldver.version, 16, 4), GB(lc->oldver.version, 0, 16)); } @@ -247,25 +232,25 @@ void GamelogPrint(GamelogPrintProc *proc) break; case GLCT_SETTING: - AddDebugText(buf, "Setting changed: %s : %d -> %d", lc->setting.name, lc->setting.oldval, lc->setting.newval); + buf += seprintf(buf, lastof(buffer), "Setting changed: %s : %d -> %d", lc->setting.name, lc->setting.oldval, lc->setting.newval); break; case GLCT_GRFADD: { const GRFConfig *gc = FindGRFConfig(lc->grfadd.grfid, FGCM_EXACT, lc->grfadd.md5sum); - AddDebugText(buf, "Added NewGRF: "); - PrintGrfInfo(buf, lc->grfadd.grfid, lc->grfadd.md5sum, gc); + buf += seprintf(buf, lastof(buffer), "Added NewGRF: "); + buf = PrintGrfInfo(buf, lastof(buffer), lc->grfadd.grfid, lc->grfadd.md5sum, gc); GrfIDMapping::Pair *gm = grf_names.Find(lc->grfrem.grfid); - if (gm != grf_names.End() && !gm->second.was_missing) AddDebugText(buf, ". Gamelog inconsistency: GrfID was already added!"); + if (gm != grf_names.End() && !gm->second.was_missing) buf += seprintf(buf, lastof(buffer), ". Gamelog inconsistency: GrfID was already added!"); grf_names[lc->grfadd.grfid] = gc; break; } case GLCT_GRFREM: { GrfIDMapping::Pair *gm = grf_names.Find(lc->grfrem.grfid); - AddDebugText(buf, la->at == GLAT_LOAD ? "Missing NewGRF: " : "Removed NewGRF: "); - PrintGrfInfo(buf, lc->grfrem.grfid, NULL, gm != grf_names.End() ? gm->second.gc : NULL); + buf += seprintf(buf, lastof(buffer), la->at == GLAT_LOAD ? "Missing NewGRF: " : "Removed NewGRF: "); + buf = PrintGrfInfo(buf, lastof(buffer), lc->grfrem.grfid, NULL, gm != grf_names.End() ? gm->second.gc : NULL); if (gm == grf_names.End()) { - AddDebugText(buf, ". Gamelog inconsistency: GrfID was never added!"); + buf += seprintf(buf, lastof(buffer), ". Gamelog inconsistency: GrfID was never added!"); } else { if (la->at == GLAT_LOAD) { /* Missing grfs on load are not removed from the configuration */ @@ -279,27 +264,27 @@ void GamelogPrint(GamelogPrintProc *proc) case GLCT_GRFCOMPAT: { const GRFConfig *gc = FindGRFConfig(lc->grfadd.grfid, FGCM_EXACT, lc->grfadd.md5sum); - AddDebugText(buf, "Compatible NewGRF loaded: "); - PrintGrfInfo(buf, lc->grfcompat.grfid, lc->grfcompat.md5sum, gc); - if (!grf_names.Contains(lc->grfcompat.grfid)) AddDebugText(buf, ". Gamelog inconsistency: GrfID was never added!"); + buf += seprintf(buf, lastof(buffer), "Compatible NewGRF loaded: "); + buf = PrintGrfInfo(buf, lastof(buffer), lc->grfcompat.grfid, lc->grfcompat.md5sum, gc); + if (!grf_names.Contains(lc->grfcompat.grfid)) buf += seprintf(buf, lastof(buffer), ". Gamelog inconsistency: GrfID was never added!"); grf_names[lc->grfcompat.grfid] = gc; break; } case GLCT_GRFPARAM: { GrfIDMapping::Pair *gm = grf_names.Find(lc->grfrem.grfid); - AddDebugText(buf, "GRF parameter changed: "); - PrintGrfInfo(buf, lc->grfparam.grfid, NULL, gm != grf_names.End() ? gm->second.gc : NULL); - if (gm == grf_names.End()) AddDebugText(buf, ". Gamelog inconsistency: GrfID was never added!"); + buf += seprintf(buf, lastof(buffer), "GRF parameter changed: "); + buf = PrintGrfInfo(buf, lastof(buffer), lc->grfparam.grfid, NULL, gm != grf_names.End() ? gm->second.gc : NULL); + if (gm == grf_names.End()) buf += seprintf(buf, lastof(buffer), ". Gamelog inconsistency: GrfID was never added!"); break; } case GLCT_GRFMOVE: { GrfIDMapping::Pair *gm = grf_names.Find(lc->grfrem.grfid); - AddDebugText(buf, "GRF order changed: %08X moved %d places %s", + buf += seprintf(buf, lastof(buffer), "GRF order changed: %08X moved %d places %s", BSWAP32(lc->grfmove.grfid), abs(lc->grfmove.offset), lc->grfmove.offset >= 0 ? "down" : "up" ); - PrintGrfInfo(buf, lc->grfmove.grfid, NULL, gm != grf_names.End() ? gm->second.gc : NULL); - if (gm == grf_names.End()) AddDebugText(buf, ". Gamelog inconsistency: GrfID was never added!"); + buf = PrintGrfInfo(buf, lastof(buffer), lc->grfmove.grfid, NULL, gm != grf_names.End() ? gm->second.gc : NULL); + if (gm == grf_names.End()) buf += seprintf(buf, lastof(buffer), ". Gamelog inconsistency: GrfID was never added!"); break; } @@ -308,11 +293,11 @@ void GamelogPrint(GamelogPrintProc *proc) switch (lc->grfbug.bug) { default: NOT_REACHED(); case GBUG_VEH_LENGTH: - AddDebugText(buf, "Rail vehicle changes length outside a depot: GRF ID %08X, internal ID 0x%X", BSWAP32(lc->grfbug.grfid), (uint)lc->grfbug.data); + buf += seprintf(buf, lastof(buffer), "Rail vehicle changes length outside a depot: GRF ID %08X, internal ID 0x%X", BSWAP32(lc->grfbug.grfid), (uint)lc->grfbug.data); break; } - PrintGrfInfo(buf, lc->grfbug.grfid, NULL, gm != grf_names.End() ? gm->second.gc : NULL); - if (gm == grf_names.End()) AddDebugText(buf, ". Gamelog inconsistency: GrfID was never added!"); + buf = PrintGrfInfo(buf, lastof(buffer), lc->grfbug.grfid, NULL, gm != grf_names.End() ? gm->second.gc : NULL); + if (gm == grf_names.End()) buf += seprintf(buf, lastof(buffer), ". Gamelog inconsistency: GrfID was never added!"); break; } @@ -320,7 +305,7 @@ void GamelogPrint(GamelogPrintProc *proc) break; } - proc(buf); + proc(buffer); } } @@ -477,7 +462,7 @@ void GamelogSetting(const char *name, int32 oldval, int32 newval) LoggedChange *lc = GamelogChange(GLCT_SETTING); if (lc == NULL) return; - lc->setting.name = strdup(name); + lc->setting.name = stredup(name); lc->setting.oldval = oldval; lc->setting.newval = newval; } diff --git a/src/genworld.cpp b/src/genworld.cpp index 822fe141fa..88e1b84a51 100644 --- a/src/genworld.cpp +++ b/src/genworld.cpp @@ -33,6 +33,9 @@ #include "error.h" #include "game/game.hpp" #include "game/game_instance.hpp" +#include "string_func.h" + +#include "safeguards.h" void GenerateClearTile(); @@ -98,7 +101,7 @@ static void _GenerateWorld(void *) try { _generating_world = true; _modal_progress_work_mutex->BeginCritical(); - if (_network_dedicated) DEBUG(net, 0, "Generating map, please wait..."); + if (_network_dedicated) DEBUG(net, 1, "Generating map, please wait..."); /* Set the Random() seed to generation_seed so we produce the same map with the same seed */ if (_settings_game.game_creation.generation_seed == GENERATE_NEW_SEED) _settings_game.game_creation.generation_seed = _settings_newgame.game_creation.generation_seed = InteractiveRandom(); _random.SetSeed(_settings_game.game_creation.generation_seed); @@ -195,12 +198,12 @@ static void _GenerateWorld(void *) ShowNewGRFError(); - if (_network_dedicated) DEBUG(net, 0, "Map generated, starting game"); + if (_network_dedicated) DEBUG(net, 1, "Map generated, starting game"); DEBUG(desync, 1, "new_map: %08x", _settings_game.game_creation.generation_seed); if (_debug_desync_level > 0) { char name[MAX_PATH]; - snprintf(name, lengthof(name), "dmp_cmds_%08x_%08x.sav", _settings_game.game_creation.generation_seed, _date); + seprintf(name, lastof(name), "dmp_cmds_%08x_%08x.sav", _settings_game.game_creation.generation_seed, _date); SaveOrLoad(name, SL_SAVE, AUTOSAVE_DIR, false); } } catch (...) { @@ -328,7 +331,7 @@ void GenerateWorld(GenWorldMode mode, uint size_x, uint size_y, bool reset_setti _gw.thread = NULL; } - if (!_video_driver->HasGUI() || !ThreadObject::New(&_GenerateWorld, NULL, &_gw.thread)) { + if (!VideoDriver::GetInstance()->HasGUI() || !ThreadObject::New(&_GenerateWorld, NULL, &_gw.thread)) { DEBUG(misc, 1, "Cannot create genworld thread, reverting to single-threaded mode"); _gw.threaded = false; _modal_progress_work_mutex->EndCritical(); diff --git a/src/genworld.h b/src/genworld.h index 2673354234..ea3faa15fc 100644 --- a/src/genworld.h +++ b/src/genworld.h @@ -32,6 +32,17 @@ enum GenWorldMode { GWM_HEIGHTMAP = 3, ///< Generate a newgame from a heightmap }; +/** Smoothness presets. */ +enum TgenSmoothness { + TGEN_SMOOTHNESS_BEGIN, ///< First smoothness value. + TGEN_SMOOTHNESS_VERY_SMOOTH = TGEN_SMOOTHNESS_BEGIN, ///< Smoothness preset 'very smooth'. + TGEN_SMOOTHNESS_SMOOTH, ///< Smoothness preset 'smooth'. + TGEN_SMOOTHNESS_ROUGH, ///< Smoothness preset 'rough'. + TGEN_SMOOTHNESS_VERY_ROUGH, ///< Smoothness preset 'very rough'. + + TGEN_SMOOTHNESS_END, ///< Used to iterate. +}; + static const uint CUSTOM_SEA_LEVEL_NUMBER_DIFFICULTY = 4; ///< Value for custom sea level in difficulty settings. static const uint CUSTOM_SEA_LEVEL_MIN_PERCENTAGE = 1; ///< Minimum percentage a user can specify for custom sea level. static const uint CUSTOM_SEA_LEVEL_MAX_PERCENTAGE = 90; ///< Maximum percentage a user can specify for custom sea level. diff --git a/src/genworld_gui.cpp b/src/genworld_gui.cpp index f1b561ef18..ad64ae802f 100644 --- a/src/genworld_gui.cpp +++ b/src/genworld_gui.cpp @@ -24,7 +24,6 @@ #include "widgets/dropdown_func.h" #include "querystring_gui.h" #include "town.h" -#include "settings_func.h" #include "core/geometry_func.hpp" #include "core/random_func.hpp" #include "progress.h" @@ -32,11 +31,13 @@ #include "widgets/genworld_widget.h" +#include "safeguards.h" + extern void MakeNewgameSettingsLive(); /** Enum for the modes we can generate in. */ -enum GenenerateLandscapeWindowMode { +enum GenerateLandscapeWindowMode { GLWM_GENERATE, ///< Generate new game. GLWM_HEIGHTMAP, ///< Load from heightmap. GLWM_SCENARIO, ///< Generate flat land. @@ -82,10 +83,9 @@ static const NWidgetPart _nested_generate_landscape_widgets[] = { NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_LAND_GENERATOR, STR_NULL), SetFill(1, 1), NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_NUMBER_OF_TOWNS, STR_NULL), SetFill(1, 1), NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_TERRAIN_TYPE, STR_NULL), SetFill(1, 1), - NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_RANDOM_SEED, STR_NULL), SetFill(1, 1), + NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_VARIETY, STR_NULL), SetFill(1, 1), NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_QUANTITY_OF_SEA_LAKES, STR_NULL), SetFill(1, 1), NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_TREE_PLACER, STR_NULL), SetFill(1, 1), - NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_VARIETY, STR_NULL), SetFill(1, 1), NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_BORDER_TYPE, STR_NULL), SetFill(1, 1), EndContainer(), /* Widgets at the right of the labels. */ @@ -99,45 +99,47 @@ static const NWidgetPart _nested_generate_landscape_widgets[] = { NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_LANDSCAPE_PULLDOWN), SetDataTip(STR_JUST_STRING, STR_NULL), SetFill(1, 0), NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_TOWN_PULLDOWN), SetDataTip(STR_JUST_STRING, STR_NULL), SetFill(1, 0), NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_TERRAIN_PULLDOWN), SetDataTip(STR_JUST_STRING, STR_NULL), SetFill(1, 0), - NWidget(WWT_EDITBOX, COLOUR_ORANGE, WID_GL_RANDOM_EDITBOX), SetDataTip(STR_MAPGEN_RANDOM_SEED_OSKTITLE, STR_MAPGEN_RANDOM_SEED_HELP), SetFill(1, 1), + NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_VARIETY_PULLDOWN), SetDataTip(STR_JUST_STRING, STR_NULL), SetFill(1, 0), NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_WATER_PULLDOWN), SetDataTip(STR_JUST_STRING, STR_NULL), SetFill(1, 0), NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_TREE_PULLDOWN), SetDataTip(STR_JUST_STRING, STR_NULL), SetFill(1, 0), - NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_VARIETY_PULLDOWN), SetDataTip(STR_JUST_STRING, STR_NULL), SetFill(1, 0), NWidget(WWT_TEXTBTN, COLOUR_ORANGE, WID_GL_BORDERS_RANDOM), SetDataTip(STR_JUST_STRING, STR_NULL), SetFill(1, 0), EndContainer(), EndContainer(), NWidget(NWID_VERTICAL), SetPIP(0, 4, 0), NWidget(NWID_HORIZONTAL), SetPIP(0, 3, 0), NWidget(NWID_VERTICAL, NC_EQUALSIZE), SetPIP(0, 4, 0), - NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_DATE, STR_NULL), SetFill(1, 1), + NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_MAX_HEIGHTLEVEL, STR_NULL), SetFill(1, 1), NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_SNOW_LINE_HEIGHT, STR_NULL), SetFill(1, 1), + NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_DATE, STR_NULL), SetFill(1, 1), NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_NUMBER_OF_INDUSTRIES, STR_NULL), SetFill(1, 1), NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_SMOOTHNESS, STR_NULL), SetFill(1, 1), + NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_QUANTITY_OF_RIVERS, STR_NULL), SetFill(1, 1), EndContainer(), NWidget(NWID_VERTICAL, NC_EQUALSIZE), SetPIP(0, 4, 0), + /* Max. heightlevel. */ + NWidget(NWID_HORIZONTAL), + NWidget(WWT_IMGBTN, COLOUR_ORANGE, WID_GL_MAX_HEIGHTLEVEL_DOWN), SetDataTip(SPR_ARROW_DOWN, STR_MAPGEN_MAX_HEIGHTLEVEL_DOWN), SetFill(0, 1), + NWidget(WWT_TEXTBTN, COLOUR_ORANGE, WID_GL_MAX_HEIGHTLEVEL_TEXT), SetDataTip(STR_BLACK_INT, STR_NULL), SetFill(1, 0), + NWidget(WWT_IMGBTN, COLOUR_ORANGE, WID_GL_MAX_HEIGHTLEVEL_UP), SetDataTip(SPR_ARROW_UP, STR_MAPGEN_MAX_HEIGHTLEVEL_UP), SetFill(0, 1), + EndContainer(), + /* Snow line. */ + NWidget(NWID_HORIZONTAL), + NWidget(WWT_IMGBTN, COLOUR_ORANGE, WID_GL_SNOW_LEVEL_DOWN), SetDataTip(SPR_ARROW_DOWN, STR_MAPGEN_SNOW_LINE_DOWN), SetFill(0, 1), + NWidget(WWT_TEXTBTN, COLOUR_ORANGE, WID_GL_SNOW_LEVEL_TEXT), SetDataTip(STR_BLACK_INT, STR_NULL), SetFill(1, 0), + NWidget(WWT_IMGBTN, COLOUR_ORANGE, WID_GL_SNOW_LEVEL_UP), SetDataTip(SPR_ARROW_UP, STR_MAPGEN_SNOW_LINE_UP), SetFill(0, 1), + EndContainer(), /* Starting date. */ NWidget(NWID_HORIZONTAL), NWidget(WWT_IMGBTN, COLOUR_ORANGE, WID_GL_START_DATE_DOWN), SetDataTip(SPR_ARROW_DOWN, STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_BACKWARD), SetFill(0, 1), NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_GL_START_DATE_TEXT), SetDataTip(STR_BLACK_DATE_LONG, STR_NULL), SetFill(1, 0), NWidget(WWT_IMGBTN, COLOUR_ORANGE, WID_GL_START_DATE_UP), SetDataTip(SPR_ARROW_UP, STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_FORWARD), SetFill(0, 1), EndContainer(), - /* Snow line. */ - NWidget(NWID_HORIZONTAL), - NWidget(WWT_IMGBTN, COLOUR_ORANGE, WID_GL_SNOW_LEVEL_DOWN), SetDataTip(SPR_ARROW_DOWN, STR_MAPGEN_SNOW_LINE_DOWN), SetFill(0, 1), - NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_GL_SNOW_LEVEL_TEXT), SetDataTip(STR_BLACK_INT, STR_NULL), SetFill(1, 0), - NWidget(WWT_IMGBTN, COLOUR_ORANGE, WID_GL_SNOW_LEVEL_UP), SetDataTip(SPR_ARROW_UP, STR_MAPGEN_SNOW_LINE_UP), SetFill(0, 1), - EndContainer(), NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_INDUSTRY_PULLDOWN), SetDataTip(STR_JUST_STRING, STR_NULL), SetFill(1, 0), NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_SMOOTHNESS_PULLDOWN), SetDataTip(STR_JUST_STRING, STR_NULL), SetFill(1, 0), + NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_RIVER_PULLDOWN), SetDataTip(STR_JUST_STRING, STR_NULL), SetFill(1, 0), EndContainer(), EndContainer(), - NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_GL_RANDOM_BUTTON), SetDataTip(STR_MAPGEN_RANDOM, STR_MAPGEN_RANDOM_HELP), SetFill(1, 0), - NWidget(NWID_HORIZONTAL), SetPIP(0, 3, 0), - NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_QUANTITY_OF_RIVERS, STR_NULL), SetFill(1, 1), - NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_RIVER_PULLDOWN), SetDataTip(STR_JUST_STRING, STR_NULL), SetFill(1, 0), - EndContainer(), - NWidget(NWID_SPACER), SetFill(1, 1), - NWidget(WWT_PUSHTXTBTN, COLOUR_GREEN, WID_GL_GENERATE_BUTTON), SetMinimalSize(84, 30), SetDataTip(STR_MAPGEN_GENERATE, STR_NULL), SetFill(1, 0), + NWidget(WWT_PUSHTXTBTN, COLOUR_GREEN, WID_GL_GENERATE_BUTTON), SetMinimalSize(84, 0), SetDataTip(STR_MAPGEN_GENERATE, STR_NULL), SetFill(1, 1), EndContainer(), EndContainer(), NWidget(NWID_SPACER), SetMinimalSize(0, 4), @@ -197,12 +199,11 @@ static const NWidgetPart _nested_heightmap_load_widgets[] = { NWidget(NWID_VERTICAL, NC_EQUALSIZE), SetPIP(0, 4, 0), NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_HEIGHTMAP_NAME, STR_NULL), SetFill(1, 1), NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_MAPSIZE, STR_NULL), SetFill(1, 1), + NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_HEIGHTMAP_ROTATION, STR_NULL), SetFill(1, 1), NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_NUMBER_OF_TOWNS, STR_NULL), SetFill(1, 1), NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_NUMBER_OF_INDUSTRIES, STR_NULL), SetFill(1, 1), - NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_RANDOM_SEED, STR_NULL), SetFill(1, 1), NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_QUANTITY_OF_RIVERS, STR_NULL), SetFill(1, 1), NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_TREE_PLACER, STR_NULL), SetFill(1, 1), - NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_HEIGHTMAP_ROTATION, STR_NULL), SetFill(1, 1), EndContainer(), /* Widgets at the right of the labels. */ NWidget(NWID_VERTICAL), SetPIP(0, 4, 0), @@ -215,37 +216,40 @@ static const NWidgetPart _nested_heightmap_load_widgets[] = { NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_BY, STR_NULL), SetPadding(1, 0, 0, 0), SetFill(1, 1), NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_MAPSIZE_Y_PULLDOWN), SetDataTip(STR_JUST_INT, STR_NULL), SetFill(1, 0), EndContainer(), + NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_HEIGHTMAP_ROTATION_PULLDOWN), SetDataTip(STR_JUST_STRING, STR_NULL), SetFill(1, 0), NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_TOWN_PULLDOWN), SetDataTip(STR_JUST_STRING, STR_NULL), SetFill(1, 0), NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_INDUSTRY_PULLDOWN), SetDataTip(STR_JUST_STRING, STR_NULL), SetFill(1, 0), - NWidget(WWT_EDITBOX, COLOUR_ORANGE, WID_GL_RANDOM_EDITBOX), SetDataTip(STR_MAPGEN_RANDOM_SEED_OSKTITLE, STR_MAPGEN_RANDOM_SEED_HELP), SetFill(1, 1), NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_RIVER_PULLDOWN), SetDataTip(STR_JUST_STRING, STR_NULL), SetFill(1, 0), NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_TREE_PULLDOWN), SetDataTip(STR_JUST_STRING, STR_NULL), SetFill(1, 0), - NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_HEIGHTMAP_ROTATION_PULLDOWN), SetDataTip(STR_JUST_STRING, STR_NULL), SetFill(1, 0), EndContainer(), NWidget(NWID_VERTICAL), SetPIP(0, 4, 0), NWidget(NWID_HORIZONTAL), SetPIP(0, 3, 0), NWidget(NWID_VERTICAL, NC_EQUALSIZE), SetPIP(0, 4, 0), NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_HEIGHTMAP_SIZE_LABEL, STR_NULL), SetFill(1, 1), - NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_DATE, STR_NULL), SetFill(1, 1), NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_SNOW_LINE_HEIGHT, STR_NULL), SetFill(1, 1), + NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_MAX_HEIGHTLEVEL, STR_NULL), SetFill(1, 1), + NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_DATE, STR_NULL), SetFill(1, 1), EndContainer(), NWidget(NWID_VERTICAL, NC_EQUALSIZE), SetPIP(0, 4, 0), NWidget(WWT_TEXT, COLOUR_ORANGE, WID_GL_HEIGHTMAP_SIZE_TEXT), SetDataTip(STR_MAPGEN_HEIGHTMAP_SIZE, STR_NULL), SetFill(1, 0), + NWidget(NWID_HORIZONTAL), + NWidget(WWT_IMGBTN, COLOUR_ORANGE, WID_GL_SNOW_LEVEL_DOWN), SetDataTip(SPR_ARROW_DOWN, STR_MAPGEN_SNOW_LINE_DOWN), SetFill(0, 1), + NWidget(WWT_TEXTBTN, COLOUR_ORANGE, WID_GL_SNOW_LEVEL_TEXT), SetDataTip(STR_BLACK_INT, STR_NULL), SetFill(1, 0), + NWidget(WWT_IMGBTN, COLOUR_ORANGE, WID_GL_SNOW_LEVEL_UP), SetDataTip(SPR_ARROW_UP, STR_MAPGEN_SNOW_LINE_UP), SetFill(0, 1), + EndContainer(), + NWidget(NWID_HORIZONTAL), + NWidget(WWT_IMGBTN, COLOUR_ORANGE, WID_GL_MAX_HEIGHTLEVEL_DOWN), SetDataTip(SPR_ARROW_DOWN, STR_MAPGEN_MAX_HEIGHTLEVEL_DOWN), SetFill(0, 1), + NWidget(WWT_TEXTBTN, COLOUR_ORANGE, WID_GL_MAX_HEIGHTLEVEL_TEXT), SetDataTip(STR_BLACK_INT, STR_NULL), SetFill(1, 0), + NWidget(WWT_IMGBTN, COLOUR_ORANGE, WID_GL_MAX_HEIGHTLEVEL_UP), SetDataTip(SPR_ARROW_UP, STR_MAPGEN_MAX_HEIGHTLEVEL_UP), SetFill(0, 1), + EndContainer(), NWidget(NWID_HORIZONTAL), NWidget(WWT_IMGBTN, COLOUR_ORANGE, WID_GL_START_DATE_DOWN), SetDataTip(SPR_ARROW_DOWN, STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_BACKWARD), SetFill(0, 1), NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_GL_START_DATE_TEXT), SetDataTip(STR_BLACK_DATE_LONG, STR_NULL), SetFill(1, 0), NWidget(WWT_IMGBTN, COLOUR_ORANGE, WID_GL_START_DATE_UP), SetDataTip(SPR_ARROW_UP, STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_FORWARD), SetFill(0, 1), EndContainer(), - NWidget(NWID_HORIZONTAL), - NWidget(WWT_IMGBTN, COLOUR_ORANGE, WID_GL_SNOW_LEVEL_DOWN), SetDataTip(SPR_ARROW_DOWN, STR_MAPGEN_SNOW_LINE_DOWN), SetFill(0, 1), - NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_GL_SNOW_LEVEL_TEXT), SetDataTip(STR_BLACK_INT, STR_NULL), SetFill(1, 0), - NWidget(WWT_IMGBTN, COLOUR_ORANGE, WID_GL_SNOW_LEVEL_UP), SetDataTip(SPR_ARROW_UP, STR_MAPGEN_SNOW_LINE_UP), SetFill(0, 1), - EndContainer(), EndContainer(), EndContainer(), - NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_GL_RANDOM_BUTTON), SetDataTip(STR_MAPGEN_RANDOM, STR_MAPGEN_RANDOM_HELP), SetFill(1, 0), - NWidget(NWID_SPACER), SetFill(1, 1), - NWidget(WWT_PUSHTXTBTN, COLOUR_GREEN, WID_GL_GENERATE_BUTTON), SetMinimalSize(84, 30), SetDataTip(STR_MAPGEN_GENERATE, STR_NULL), SetFill(1, 0), + NWidget(WWT_PUSHTXTBTN, COLOUR_GREEN, WID_GL_GENERATE_BUTTON), SetMinimalSize(84, 0), SetDataTip(STR_MAPGEN_GENERATE, STR_NULL), SetFill(1, 1), EndContainer(), EndContainer(), EndContainer(), @@ -254,7 +258,7 @@ static const NWidgetPart _nested_heightmap_load_widgets[] = { EndContainer(), }; -static void StartGeneratingLandscape(GenenerateLandscapeWindowMode mode) +static void StartGeneratingLandscape(GenerateLandscapeWindowMode mode) { DeleteAllNonVitalWindows(); ClearErrorMessages(); @@ -274,7 +278,7 @@ static void StartGeneratingLandscape(GenenerateLandscapeWindowMode mode) static void LandscapeGenerationCallback(Window *w, bool confirmed) { - if (confirmed) StartGeneratingLandscape((GenenerateLandscapeWindowMode)w->window_number); + if (confirmed) StartGeneratingLandscape((GenerateLandscapeWindowMode)w->window_number); } static DropDownList *BuildMapsizeDropDown() @@ -290,7 +294,7 @@ static DropDownList *BuildMapsizeDropDown() return list; } -static const StringID _elevations[] = {STR_TERRAIN_TYPE_VERY_FLAT, STR_TERRAIN_TYPE_FLAT, STR_TERRAIN_TYPE_HILLY, STR_TERRAIN_TYPE_MOUNTAINOUS, INVALID_STRING_ID}; +static const StringID _elevations[] = {STR_TERRAIN_TYPE_VERY_FLAT, STR_TERRAIN_TYPE_FLAT, STR_TERRAIN_TYPE_HILLY, STR_TERRAIN_TYPE_MOUNTAINOUS, STR_TERRAIN_TYPE_ALPINIST, INVALID_STRING_ID}; static const StringID _sea_lakes[] = {STR_SEA_LEVEL_VERY_LOW, STR_SEA_LEVEL_LOW, STR_SEA_LEVEL_MEDIUM, STR_SEA_LEVEL_HIGH, STR_SEA_LEVEL_CUSTOM, INVALID_STRING_ID}; static const StringID _rivers[] = {STR_RIVERS_NONE, STR_RIVERS_FEW, STR_RIVERS_MODERATE, STR_RIVERS_LOT, INVALID_STRING_ID}; static const StringID _smoothness[] = {STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH, STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH, STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH, STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH, INVALID_STRING_ID}; @@ -308,21 +312,15 @@ struct GenerateLandscapeWindow : public Window { uint x; uint y; char name[64]; - GenenerateLandscapeWindowMode mode; - QueryString seed_editbox; + GenerateLandscapeWindowMode mode; - GenerateLandscapeWindow(WindowDesc *desc, WindowNumber number = 0) : Window(desc), seed_editbox(11) + GenerateLandscapeWindow(WindowDesc *desc, WindowNumber number = 0) : Window(desc) { this->InitNested(number); this->LowerWidget(_settings_newgame.game_creation.landscape + WID_GL_TEMPERATE); - this->querystrings[WID_GL_RANDOM_EDITBOX] = &this->seed_editbox; - this->seed_editbox.text.Print("%u", _settings_newgame.game_creation.generation_seed); - this->seed_editbox.caption = STR_NULL; - this->seed_editbox.text.afilter = CS_NUMERAL; - - this->mode = (GenenerateLandscapeWindowMode)this->window_number; + this->mode = (GenerateLandscapeWindowMode)this->window_number; /* Disable town, industry and trees in SE */ this->SetWidgetDisabledState(WID_GL_TOWN_PULLDOWN, _game_mode == GM_EDITOR); @@ -336,10 +334,11 @@ struct GenerateLandscapeWindow : public Window { virtual void SetStringParameters(int widget) const { switch (widget) { - case WID_GL_START_DATE_TEXT: SetDParam(0, ConvertYMDToDate(_settings_newgame.game_creation.starting_year, 0, 1)); break; - case WID_GL_MAPSIZE_X_PULLDOWN: SetDParam(0, 1 << _settings_newgame.game_creation.map_x); break; - case WID_GL_MAPSIZE_Y_PULLDOWN: SetDParam(0, 1 << _settings_newgame.game_creation.map_y); break; - case WID_GL_SNOW_LEVEL_TEXT: SetDParam(0, _settings_newgame.game_creation.snow_line_height); break; + case WID_GL_START_DATE_TEXT: SetDParam(0, ConvertYMDToDate(_settings_newgame.game_creation.starting_year, 0, 1)); break; + case WID_GL_MAPSIZE_X_PULLDOWN: SetDParam(0, 1 << _settings_newgame.game_creation.map_x); break; + case WID_GL_MAPSIZE_Y_PULLDOWN: SetDParam(0, 1 << _settings_newgame.game_creation.map_y); break; + case WID_GL_MAX_HEIGHTLEVEL_TEXT: SetDParam(0, _settings_newgame.construction.max_heightlevel); break; + case WID_GL_SNOW_LEVEL_TEXT: SetDParam(0, _settings_newgame.game_creation.snow_line_height); break; case WID_GL_TOWN_PULLDOWN: if (_game_mode == GM_EDITOR) { @@ -404,10 +403,10 @@ struct GenerateLandscapeWindow : public Window { /* You can't select smoothness / non-water borders if not terragenesis */ if (mode == GLWM_GENERATE) { - this->SetWidgetDisabledState(WID_GL_SMOOTHNESS_PULLDOWN, _settings_newgame.game_creation.land_generator == 0); - this->SetWidgetDisabledState(WID_GL_VARIETY_PULLDOWN, _settings_newgame.game_creation.land_generator == 0); - this->SetWidgetDisabledState(WID_GL_BORDERS_RANDOM, _settings_newgame.game_creation.land_generator == 0 || !_settings_newgame.construction.freeform_edges); - this->SetWidgetsDisabledState(_settings_newgame.game_creation.land_generator == 0 || !_settings_newgame.construction.freeform_edges || _settings_newgame.game_creation.water_borders == BORDERS_RANDOM, + this->SetWidgetDisabledState(WID_GL_SMOOTHNESS_PULLDOWN, _settings_newgame.game_creation.land_generator == LG_ORIGINAL); + this->SetWidgetDisabledState(WID_GL_VARIETY_PULLDOWN, _settings_newgame.game_creation.land_generator == LG_ORIGINAL); + this->SetWidgetDisabledState(WID_GL_BORDERS_RANDOM, _settings_newgame.game_creation.land_generator == LG_ORIGINAL || !_settings_newgame.construction.freeform_edges); + this->SetWidgetsDisabledState(_settings_newgame.game_creation.land_generator == LG_ORIGINAL || !_settings_newgame.construction.freeform_edges || _settings_newgame.game_creation.water_borders == BORDERS_RANDOM, WID_GL_WATER_NW, WID_GL_WATER_NE, WID_GL_WATER_SE, WID_GL_WATER_SW, WIDGET_LIST_END); this->SetWidgetLoweredState(WID_GL_BORDERS_RANDOM, _settings_newgame.game_creation.water_borders == BORDERS_RANDOM); @@ -417,7 +416,7 @@ struct GenerateLandscapeWindow : public Window { this->SetWidgetLoweredState(WID_GL_WATER_SE, HasBit(_settings_newgame.game_creation.water_borders, BORDER_SE)); this->SetWidgetLoweredState(WID_GL_WATER_SW, HasBit(_settings_newgame.game_creation.water_borders, BORDER_SW)); - this->SetWidgetsDisabledState(_settings_newgame.game_creation.land_generator == 0 && (_settings_newgame.game_creation.landscape == LT_ARCTIC || _settings_newgame.game_creation.landscape == LT_TROPIC), + this->SetWidgetsDisabledState(_settings_newgame.game_creation.land_generator == LG_ORIGINAL && (_settings_newgame.game_creation.landscape == LT_ARCTIC || _settings_newgame.game_creation.landscape == LT_TROPIC), WID_GL_TERRAIN_PULLDOWN, WID_GL_WATER_PULLDOWN, WIDGET_LIST_END); } @@ -425,13 +424,15 @@ struct GenerateLandscapeWindow : public Window { this->SetWidgetDisabledState(WID_GL_SNOW_LEVEL_TEXT, _settings_newgame.game_creation.landscape != LT_ARCTIC); /* Update availability of decreasing / increasing start date and snow level */ + this->SetWidgetDisabledState(WID_GL_MAX_HEIGHTLEVEL_DOWN, _settings_newgame.construction.max_heightlevel <= MIN_MAX_HEIGHTLEVEL); + this->SetWidgetDisabledState(WID_GL_MAX_HEIGHTLEVEL_UP, _settings_newgame.construction.max_heightlevel >= MAX_MAX_HEIGHTLEVEL); this->SetWidgetDisabledState(WID_GL_START_DATE_DOWN, _settings_newgame.game_creation.starting_year <= MIN_YEAR); this->SetWidgetDisabledState(WID_GL_START_DATE_UP, _settings_newgame.game_creation.starting_year >= MAX_YEAR); this->SetWidgetDisabledState(WID_GL_SNOW_LEVEL_DOWN, _settings_newgame.game_creation.snow_line_height <= MIN_SNOWLINE_HEIGHT || _settings_newgame.game_creation.landscape != LT_ARCTIC); this->SetWidgetDisabledState(WID_GL_SNOW_LEVEL_UP, _settings_newgame.game_creation.snow_line_height >= MAX_SNOWLINE_HEIGHT || _settings_newgame.game_creation.landscape != LT_ARCTIC); /* Do not allow a custom sea level with the original land generator. */ - if (_settings_newgame.game_creation.land_generator == 0 && + if (_settings_newgame.game_creation.land_generator == LG_ORIGINAL && _settings_newgame.difficulty.quantity_sea_lakes == CUSTOM_SEA_LEVEL_NUMBER_DIFFICULTY) { _settings_newgame.difficulty.quantity_sea_lakes = CUSTOM_SEA_LEVEL_MIN_PERCENTAGE; } @@ -442,32 +443,37 @@ struct GenerateLandscapeWindow : public Window { { const StringID *strs = NULL; switch (widget) { + case WID_GL_MAX_HEIGHTLEVEL_TEXT: + SetDParam(0, MAX_TILE_HEIGHT); + *size = GetStringBoundingBox(STR_JUST_INT); + break; + case WID_GL_START_DATE_TEXT: SetDParam(0, ConvertYMDToDate(MAX_YEAR, 0, 1)); - *size = GetStringBoundingBox(STR_BLACK_DATE_LONG); + *size = maxdim(*size, GetStringBoundingBox(STR_BLACK_DATE_LONG)); break; case WID_GL_MAPSIZE_X_PULLDOWN: case WID_GL_MAPSIZE_Y_PULLDOWN: SetDParamMaxValue(0, MAX_MAP_SIZE); - *size = GetStringBoundingBox(STR_JUST_INT); + *size = maxdim(*size, GetStringBoundingBox(STR_JUST_INT)); break; case WID_GL_SNOW_LEVEL_TEXT: SetDParamMaxValue(0, MAX_TILE_HEIGHT); - *size = GetStringBoundingBox(STR_JUST_INT); + *size = maxdim(*size, GetStringBoundingBox(STR_JUST_INT)); break; case WID_GL_HEIGHTMAP_SIZE_TEXT: SetDParam(0, this->x); SetDParam(1, this->y); - *size = GetStringBoundingBox(STR_MAPGEN_HEIGHTMAP_SIZE); + *size = maxdim(*size, GetStringBoundingBox(STR_MAPGEN_HEIGHTMAP_SIZE)); break; case WID_GL_TOWN_PULLDOWN: strs = _num_towns; SetDParamMaxValue(0, CUSTOM_TOWN_MAX_NUMBER); - *size = GetStringBoundingBox(STR_NUM_CUSTOM_NUMBER); + *size = maxdim(*size, GetStringBoundingBox(STR_NUM_CUSTOM_NUMBER)); break; case WID_GL_INDUSTRY_PULLDOWN: strs = _num_inds; break; @@ -477,7 +483,7 @@ struct GenerateLandscapeWindow : public Window { case WID_GL_WATER_PULLDOWN: strs = _sea_lakes; SetDParamMaxValue(0, CUSTOM_SEA_LEVEL_MAX_PERCENTAGE); - *size = GetStringBoundingBox(STR_SEA_LEVEL_CUSTOM_PERCENTAGE); + *size = maxdim(*size, GetStringBoundingBox(STR_SEA_LEVEL_CUSTOM_PERCENTAGE)); break; case WID_GL_RIVER_PULLDOWN: strs = _rivers; break; @@ -508,7 +514,7 @@ struct GenerateLandscapeWindow : public Window { } } size->width += padding.width; - size->height = FONT_HEIGHT_NORMAL + WD_DROPDOWNTEXT_TOP + WD_DROPDOWNTEXT_BOTTOM; + size->height = max(size->height, (uint)(FONT_HEIGHT_NORMAL + WD_DROPDOWNTEXT_TOP + WD_DROPDOWNTEXT_BOTTOM)); } virtual void DrawWidget(const Rect &r, int widget) const @@ -547,12 +553,6 @@ struct GenerateLandscapeWindow : public Window { ShowDropDownMenu(this, _num_inds, _settings_newgame.difficulty.industry_density, WID_GL_INDUSTRY_PULLDOWN, 0, 0); break; - case WID_GL_RANDOM_BUTTON: // Random seed - _settings_newgame.game_creation.generation_seed = InteractiveRandom(); - this->seed_editbox.text.Print("%u", _settings_newgame.game_creation.generation_seed); - this->SetDirty(); - break; - case WID_GL_GENERATE_BUTTON: { // Generate /* Get rotated map size. */ uint map_x; @@ -580,6 +580,25 @@ struct GenerateLandscapeWindow : public Window { break; } + case WID_GL_MAX_HEIGHTLEVEL_DOWN: + case WID_GL_MAX_HEIGHTLEVEL_UP: // Height level buttons + /* Don't allow too fast scrolling */ + if (!(this->flags & WF_TIMEOUT) || this->timeout_timer <= 1) { + this->HandleButtonClick(widget); + + _settings_newgame.construction.max_heightlevel = Clamp(_settings_newgame.construction.max_heightlevel + widget - WID_GL_MAX_HEIGHTLEVEL_TEXT, MIN_MAX_HEIGHTLEVEL, MAX_MAX_HEIGHTLEVEL); + this->InvalidateData(); + } + _left_button_clicked = false; + break; + + case WID_GL_MAX_HEIGHTLEVEL_TEXT: // Height level text + this->widget_id = WID_GL_MAX_HEIGHTLEVEL_TEXT; + SetDParam(0, _settings_newgame.construction.max_heightlevel); + ShowQueryString(STR_JUST_INT, STR_MAPGEN_MAX_HEIGHTLEVEL_QUERY_CAPT, 4, this, CS_NUMERAL, QSF_ENABLE_DEFAULT); + break; + + case WID_GL_START_DATE_DOWN: case WID_GL_START_DATE_UP: // Year buttons /* Don't allow too fast scrolling */ @@ -613,7 +632,7 @@ struct GenerateLandscapeWindow : public Window { case WID_GL_SNOW_LEVEL_TEXT: // Snow line text this->widget_id = WID_GL_SNOW_LEVEL_TEXT; SetDParam(0, _settings_newgame.game_creation.snow_line_height); - ShowQueryString(STR_JUST_INT, STR_MAPGEN_SNOW_LINE_QUERY_CAPT, 3, this, CS_NUMERAL, QSF_ENABLE_DEFAULT); + ShowQueryString(STR_JUST_INT, STR_MAPGEN_SNOW_LINE_QUERY_CAPT, 4, this, CS_NUMERAL, QSF_ENABLE_DEFAULT); break; case WID_GL_TREE_PULLDOWN: // Tree placer @@ -629,13 +648,14 @@ struct GenerateLandscapeWindow : public Window { break; case WID_GL_TERRAIN_PULLDOWN: // Terrain type - ShowDropDownMenu(this, _elevations, _settings_newgame.difficulty.terrain_type, WID_GL_TERRAIN_PULLDOWN, 0, 0); + /* For the original map generation only the first four are valid. */ + ShowDropDownMenu(this, _elevations, _settings_newgame.difficulty.terrain_type, WID_GL_TERRAIN_PULLDOWN, 0, _settings_newgame.game_creation.land_generator == LG_ORIGINAL ? ~0xF : 0); break; case WID_GL_WATER_PULLDOWN: { // Water quantity uint32 hidden_mask = 0; /* Disable custom water level when the original map generator is active. */ - if (_settings_newgame.game_creation.land_generator == 0) { + if (_settings_newgame.game_creation.land_generator == LG_ORIGINAL) { SetBit(hidden_mask, CUSTOM_SEA_LEVEL_NUMBER_DIFFICULTY); } ShowDropDownMenu(this, _sea_lakes, _settings_newgame.difficulty.quantity_sea_lakes, WID_GL_WATER_PULLDOWN, 0, hidden_mask); @@ -684,7 +704,7 @@ struct GenerateLandscapeWindow : public Window { virtual void OnTimeout() { - static const int raise_widgets[] = {WID_GL_START_DATE_DOWN, WID_GL_START_DATE_UP, WID_GL_SNOW_LEVEL_UP, WID_GL_SNOW_LEVEL_DOWN, WIDGET_LIST_END}; + static const int raise_widgets[] = {WID_GL_MAX_HEIGHTLEVEL_DOWN, WID_GL_MAX_HEIGHTLEVEL_UP, WID_GL_START_DATE_DOWN, WID_GL_START_DATE_UP, WID_GL_SNOW_LEVEL_UP, WID_GL_SNOW_LEVEL_DOWN, WIDGET_LIST_END}; for (const int *widget = raise_widgets; *widget != WIDGET_LIST_END; widget++) { if (this->IsWidgetLowered(*widget)) { this->RaiseWidget(*widget); @@ -693,17 +713,6 @@ struct GenerateLandscapeWindow : public Window { } } - virtual void OnEditboxChanged(int wid) - { - if (wid == WID_GL_RANDOM_EDITBOX) { - /* the seed is unsigned, therefore atoi cannot be used. - * As UINT32_MAX is a 'magic' value (use random seed) it - * should not be possible to be entered into the input - * field; the generate seed button can be used instead. */ - _settings_newgame.game_creation.generation_seed = minu(strtoul(this->seed_editbox.text.buf, NULL, 10), UINT32_MAX - 1); - } - } - virtual void OnDropdownSelect(int widget, int index) { switch (widget) { @@ -713,7 +722,14 @@ struct GenerateLandscapeWindow : public Window { case WID_GL_RIVER_PULLDOWN: _settings_newgame.game_creation.amount_of_rivers = index; break; case WID_GL_SMOOTHNESS_PULLDOWN: _settings_newgame.game_creation.tgen_smoothness = index; break; case WID_GL_VARIETY_PULLDOWN: _settings_newgame.game_creation.variety = index; break; - case WID_GL_LANDSCAPE_PULLDOWN: _settings_newgame.game_creation.land_generator = index; break; + + case WID_GL_LANDSCAPE_PULLDOWN: _settings_newgame.game_creation.land_generator = index; + /* If original landgenerator is selected and alpinist terrain_type was selected, revert to mountainous. */ + if (_settings_newgame.game_creation.land_generator == LG_ORIGINAL) { + _settings_newgame.difficulty.terrain_type = Clamp(_settings_newgame.difficulty.terrain_type, 0, 3); + } + break; + case WID_GL_HEIGHTMAP_ROTATION_PULLDOWN: _settings_newgame.game_creation.heightmap_rotation = index; break; case WID_GL_TOWN_PULLDOWN: @@ -722,20 +738,11 @@ struct GenerateLandscapeWindow : public Window { SetDParam(0, _settings_newgame.game_creation.custom_town_number); ShowQueryString(STR_JUST_INT, STR_MAPGEN_NUMBER_OF_TOWNS, 5, this, CS_NUMERAL, QSF_NONE); } - IConsoleSetSetting("difficulty.number_towns", index); + _settings_newgame.difficulty.number_towns = index; break; - case WID_GL_INDUSTRY_PULLDOWN: - IConsoleSetSetting("difficulty.industry_density", index); - break; - - case WID_GL_TERRAIN_PULLDOWN: { - GameMode old_gm = _game_mode; - _game_mode = GM_MENU; - IConsoleSetSetting("difficulty.terrain_type", index); - _game_mode = old_gm; - break; - } + case WID_GL_INDUSTRY_PULLDOWN: _settings_newgame.difficulty.industry_density = index; break; + case WID_GL_TERRAIN_PULLDOWN: _settings_newgame.difficulty.terrain_type = index; break; case WID_GL_WATER_PULLDOWN: { if ((uint)index == CUSTOM_SEA_LEVEL_NUMBER_DIFFICULTY) { @@ -743,10 +750,7 @@ struct GenerateLandscapeWindow : public Window { SetDParam(0, _settings_newgame.game_creation.custom_sea_level); ShowQueryString(STR_JUST_INT, STR_MAPGEN_QUANTITY_OF_SEA_LAKES, 3, this, CS_NUMERAL, QSF_NONE); } - GameMode old_gm = _game_mode; - _game_mode = GM_MENU; - IConsoleSetSetting("difficulty.quantity_sea_lakes", index); - _game_mode = old_gm; + _settings_newgame.difficulty.quantity_sea_lakes = index; break; } } @@ -764,6 +768,7 @@ struct GenerateLandscapeWindow : public Window { } else { /* An empty string means revert to the default */ switch (this->widget_id) { + case WID_GL_MAX_HEIGHTLEVEL_TEXT: value = DEF_MAX_HEIGHTLEVEL; break; case WID_GL_START_DATE_TEXT: value = DEF_START_YEAR; break; case WID_GL_SNOW_LEVEL_TEXT: value = DEF_SNOWLINE_HEIGHT; break; case WID_GL_TOWN_PULLDOWN: value = 1; break; @@ -773,6 +778,11 @@ struct GenerateLandscapeWindow : public Window { } switch (this->widget_id) { + case WID_GL_MAX_HEIGHTLEVEL_TEXT: + this->SetWidgetDirty(WID_GL_MAX_HEIGHTLEVEL_TEXT); + _settings_newgame.construction.max_heightlevel = Clamp(value, MIN_MAX_HEIGHTLEVEL, MAX_MAX_HEIGHTLEVEL); + break; + case WID_GL_START_DATE_TEXT: this->SetWidgetDirty(WID_GL_START_DATE_TEXT); _settings_newgame.game_creation.starting_year = Clamp(value, MIN_YEAR, MAX_YEAR); @@ -810,22 +820,23 @@ static WindowDesc _heightmap_load_desc( _nested_heightmap_load_widgets, lengthof(_nested_heightmap_load_widgets) ); -static void _ShowGenerateLandscape(GenenerateLandscapeWindowMode mode) +static void _ShowGenerateLandscape(GenerateLandscapeWindowMode mode) { uint x = 0; uint y = 0; DeleteWindowByClass(WC_GENERATE_LANDSCAPE); - /* Always give a new seed if not editor */ - if (_game_mode != GM_EDITOR) _settings_newgame.game_creation.generation_seed = InteractiveRandom(); + /* Generate a new seed when opening the window */ + _settings_newgame.game_creation.generation_seed = InteractiveRandom(); if (mode == GLWM_HEIGHTMAP) { /* If the function returns negative, it means there was a problem loading the heightmap */ if (!GetHeightmapDimensions(_file_to_saveload.name, &x, &y)) return; } - GenerateLandscapeWindow *w = AllocateWindowDescFront((mode == GLWM_HEIGHTMAP) ? &_heightmap_load_desc : &_generate_landscape_desc, mode); + WindowDesc *desc = (mode == GLWM_HEIGHTMAP) ? &_heightmap_load_desc : &_generate_landscape_desc; + GenerateLandscapeWindow *w = AllocateWindowDescFront(desc, mode, true); if (mode == GLWM_HEIGHTMAP) { w->x = x; @@ -933,7 +944,7 @@ struct CreateScenarioWindow : public Window default: return; } - *size = GetStringBoundingBox(str); + *size = maxdim(*size, GetStringBoundingBox(str)); size->width += padding.width; size->height += padding.height; } @@ -990,7 +1001,7 @@ struct CreateScenarioWindow : public Window this->HandleButtonClick(widget); this->SetDirty(); - _settings_newgame.game_creation.se_flat_world_height = Clamp(_settings_newgame.game_creation.se_flat_world_height + widget - WID_CS_FLAT_LAND_HEIGHT_TEXT, 0, MAX_TILE_HEIGHT); + _settings_newgame.game_creation.se_flat_world_height = Clamp(_settings_newgame.game_creation.se_flat_world_height + widget - WID_CS_FLAT_LAND_HEIGHT_TEXT, 0, _settings_game.construction.max_heightlevel); } _left_button_clicked = false; break; @@ -998,7 +1009,7 @@ struct CreateScenarioWindow : public Window case WID_CS_FLAT_LAND_HEIGHT_TEXT: // Height level text this->widget_id = WID_CS_FLAT_LAND_HEIGHT_TEXT; SetDParam(0, _settings_newgame.game_creation.se_flat_world_height); - ShowQueryString(STR_JUST_INT, STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_QUERY_CAPT, 3, this, CS_NUMERAL, QSF_NONE); + ShowQueryString(STR_JUST_INT, STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_QUERY_CAPT, 4, this, CS_NUMERAL, QSF_NONE); break; } } @@ -1036,7 +1047,7 @@ struct CreateScenarioWindow : public Window case WID_CS_FLAT_LAND_HEIGHT_TEXT: this->SetWidgetDirty(WID_CS_FLAT_LAND_HEIGHT_TEXT); - _settings_newgame.game_creation.se_flat_world_height = Clamp(value, 0, MAX_TILE_HEIGHT); + _settings_newgame.game_creation.se_flat_world_height = Clamp(value, 0, _settings_game.construction.max_heightlevel); break; } diff --git a/src/gfx.cpp b/src/gfx.cpp index adc644d205..bc7f932441 100644 --- a/src/gfx.cpp +++ b/src/gfx.cpp @@ -23,11 +23,15 @@ #include "newgrf_debug.h" #include "table/palettes.h" +#include "table/string_colours.h" #include "table/sprites.h" #include "table/control_codes.h" +#include "safeguards.h" + byte _dirkeys; ///< 1 = left, 2 = up, 4 = right, 8 = down bool _fullscreen; +byte _support8bpp; CursorVars _cursor; bool _ctrl_pressed; ///< Is Ctrl pressed? bool _shift_pressed; ///< Is Shift pressed? @@ -53,6 +57,8 @@ static void GfxMainBlitter(const Sprite *sprite, int x, int y, BlitterMode mode, static ReusableBuffer _cursor_backup; +ZoomLevelByte _gui_zoom; ///< GUI Zoom level + /** * The rect for repaint. * @@ -85,7 +91,7 @@ void GfxScroll(int left, int top, int width, int height, int xo, int yo) blitter->ScrollBuffer(_screen.dst_ptr, left, top, width, height, xo, yo); /* This part of the screen is now dirty. */ - _video_driver->MakeDirty(left, top, width, height); + VideoDriver::GetInstance()->MakeDirty(left, top, width, height); } @@ -170,40 +176,35 @@ static inline void GfxDoDrawLine(void *video, int x, int y, int x2, int y2, int assert(width > 0); - if (y2 == y) { - /* Special case: horizontal line. */ - blitter->DrawLine(video, - Clamp(x, 0, screen_width), y, - Clamp(x2, 0, screen_width), y2, - screen_width, screen_height, colour, width, dash); - return; - } - if (x2 == x) { - /* Special case: vertical line. */ - blitter->DrawLine(video, - x, Clamp(y, 0, screen_height), - x2, Clamp(y2, 0, screen_height), - screen_width, screen_height, colour, width, dash); + if (y2 == y || x2 == x) { + /* Special case: horizontal/vertical line. All checks already done in GfxPreprocessLine. */ + blitter->DrawLine(video, x, y, x2, y2, screen_width, screen_height, colour, width, dash); return; } int grade_y = y2 - y; int grade_x = x2 - x; + /* Clipping rectangle. Slightly extended so we can ignore the width of the line. */ + uint extra = CeilDiv(3 * width, 4); // not less then "width * sqrt(2) / 2" + Rect clip = { -extra, -extra, screen_width - 1 + extra, screen_height - 1 + extra }; + /* prevent integer overflows. */ int margin = 1; - while (INT_MAX / abs(grade_y) < max(abs(x), abs(screen_width - x))) { + while (INT_MAX / abs(grade_y) < max(abs(clip.left - x), abs(clip.right - x))) { grade_y /= 2; grade_x /= 2; margin *= 2; // account for rounding errors } - /* If the line is outside the screen on the same side at X positions 0 - * and screen_width, we don't need to draw anything. */ - int offset_0 = y - x * grade_y / grade_x; - int offset_width = y + (screen_width - x) * grade_y / grade_x; - if ((offset_0 > screen_height + width / 2 + margin && offset_width > screen_height + width / 2 + margin) || - (offset_0 < -width / 2 - margin && offset_width < -width / 2 - margin)) { + /* Imagine that the line is infinitely long and it intersects with + * infinitely long left and right edges of the clipping rectangle. + * If both intersection points are outside the clipping rectangle + * and both on the same side of it, we don't need to draw anything. */ + int left_isec_y = y + (clip.left - x) * grade_y / grade_x; + int right_isec_y = y + (clip.right - x) * grade_y / grade_x; + if ((left_isec_y > clip.bottom + margin && right_isec_y > clip.bottom + margin) || + (left_isec_y < clip.top - margin && right_isec_y < clip.top - margin)) { return; } @@ -432,7 +433,7 @@ static int DrawLayoutLine(const ParagraphLayouter::Line *line, int y, int left, int dpi_left = dpi->left; int dpi_right = dpi->left + dpi->width - 1; - draw_shadow = fc->GetDrawGlyphShadow() && colour != TC_BLACK; + draw_shadow = fc->GetDrawGlyphShadow() && (colour & TC_NO_SHADE) == 0 && colour != TC_BLACK; for (int i = 0; i < run->GetGlyphCount(); i++) { GlyphID glyph = run->GetGlyphs()[i]; @@ -779,6 +780,21 @@ Dimension GetSpriteSize(SpriteID sprid, Point *offset, ZoomLevel zoom) return d; } +/** + * Helper function to get the blitter mode for different types of palettes. + * @param pal The palette to get the blitter mode for. + * @return The blitter mode associated with the palette. + */ +static BlitterMode GetBlitterMode(PaletteID pal) +{ + switch (pal) { + case PAL_NONE: return BM_NORMAL; + case PALETTE_CRASH: return BM_CRASH_REMAP; + case PALETTE_ALL_BLACK: return BM_BLACK_REMAP; + default: return BM_COLOUR_REMAP; + } +} + /** * Draw a sprite in a viewport. * @param img Image number to draw @@ -794,8 +810,12 @@ void DrawSpriteViewport(SpriteID img, PaletteID pal, int x, int y, const SubSpri _colour_remap_ptr = GetNonSprite(GB(pal, 0, PALETTE_WIDTH), ST_RECOLOUR) + 1; GfxMainBlitterViewport(GetSprite(real_sprite, ST_NORMAL), x, y, BM_TRANSPARENT, sub, real_sprite); } else if (pal != PAL_NONE) { - _colour_remap_ptr = GetNonSprite(GB(pal, 0, PALETTE_WIDTH), ST_RECOLOUR) + 1; - GfxMainBlitterViewport(GetSprite(real_sprite, ST_NORMAL), x, y, pal == PALETTE_CRASH ? BM_CRASH_REMAP : BM_COLOUR_REMAP, sub, real_sprite); + if (HasBit(pal, PALETTE_TEXT_RECOLOUR)) { + SetColourRemap((TextColour)GB(pal, 0, PALETTE_WIDTH)); + } else { + _colour_remap_ptr = GetNonSprite(GB(pal, 0, PALETTE_WIDTH), ST_RECOLOUR) + 1; + } + GfxMainBlitterViewport(GetSprite(real_sprite, ST_NORMAL), x, y, GetBlitterMode(pal), sub, real_sprite); } else { GfxMainBlitterViewport(GetSprite(real_sprite, ST_NORMAL), x, y, BM_NORMAL, sub, real_sprite); } @@ -817,8 +837,12 @@ void DrawSprite(SpriteID img, PaletteID pal, int x, int y, const SubSprite *sub, _colour_remap_ptr = GetNonSprite(GB(pal, 0, PALETTE_WIDTH), ST_RECOLOUR) + 1; GfxMainBlitter(GetSprite(real_sprite, ST_NORMAL), x, y, BM_TRANSPARENT, sub, real_sprite, zoom); } else if (pal != PAL_NONE) { - _colour_remap_ptr = GetNonSprite(GB(pal, 0, PALETTE_WIDTH), ST_RECOLOUR) + 1; - GfxMainBlitter(GetSprite(real_sprite, ST_NORMAL), x, y, pal == PALETTE_CRASH ? BM_CRASH_REMAP : BM_COLOUR_REMAP, sub, real_sprite, zoom); + if (HasBit(pal, PALETTE_TEXT_RECOLOUR)) { + SetColourRemap((TextColour)GB(pal, 0, PALETTE_WIDTH)); + } else { + _colour_remap_ptr = GetNonSprite(GB(pal, 0, PALETTE_WIDTH), ST_RECOLOUR) + 1; + } + GfxMainBlitter(GetSprite(real_sprite, ST_NORMAL), x, y, GetBlitterMode(pal), sub, real_sprite, zoom); } else { GfxMainBlitter(GetSprite(real_sprite, ST_NORMAL), x, y, BM_NORMAL, sub, real_sprite, zoom); } @@ -1111,6 +1135,7 @@ void LoadStringWidthTable(bool monospace) } } + ClearFontCache(); ReInitAllWindows(); } @@ -1183,7 +1208,7 @@ void UndrawMouseCursor() Blitter *blitter = BlitterFactory::GetCurrentBlitter(); _cursor.visible = false; blitter->CopyFromBuffer(blitter->MoveTo(_screen.dst_ptr, _cursor.draw_pos.x, _cursor.draw_pos.y), _cursor_backup.GetBuffer(), _cursor.draw_size.x, _cursor.draw_size.y); - _video_driver->MakeDirty(_cursor.draw_pos.x, _cursor.draw_pos.y, _cursor.draw_size.x, _cursor.draw_size.y); + VideoDriver::GetInstance()->MakeDirty(_cursor.draw_pos.x, _cursor.draw_pos.y, _cursor.draw_size.x, _cursor.draw_size.y); } } @@ -1243,7 +1268,7 @@ void DrawMouseCursor() _cur_dpi = &_screen; DrawSprite(_cursor.sprite, _cursor.pal, _cursor.pos.x + _cursor.short_vehicle_offset, _cursor.pos.y); - _video_driver->MakeDirty(_cursor.draw_pos.x, _cursor.draw_pos.y, _cursor.draw_size.x, _cursor.draw_size.y); + VideoDriver::GetInstance()->MakeDirty(_cursor.draw_pos.x, _cursor.draw_pos.y, _cursor.draw_size.x, _cursor.draw_size.y); _cursor.visible = true; _cursor.dirty = false; @@ -1267,7 +1292,7 @@ void RedrawScreenRect(int left, int top, int right, int bottom) DrawOverlappedWindowForAll(left, top, right, bottom); - _video_driver->MakeDirty(left, top, right - left, bottom - top); + VideoDriver::GetInstance()->MakeDirty(left, top, right - left, bottom - top); } /** @@ -1503,10 +1528,10 @@ void UpdateCursorSize() CursorVars *cv = &_cursor; const Sprite *p = GetSprite(GB(cv->sprite, 0, SPRITE_WIDTH), ST_NORMAL); - cv->size.y = UnScaleByZoom(p->height, ZOOM_LVL_GUI); - cv->size.x = UnScaleByZoom(p->width, ZOOM_LVL_GUI); - cv->offs.x = UnScaleByZoom(p->x_offs, ZOOM_LVL_GUI); - cv->offs.y = UnScaleByZoom(p->y_offs, ZOOM_LVL_GUI); + cv->size.y = UnScaleGUI(p->height); + cv->size.x = UnScaleGUI(p->width); + cv->offs.x = UnScaleGUI(p->x_offs); + cv->offs.y = UnScaleGUI(p->y_offs); cv->dirty = true; } @@ -1574,14 +1599,64 @@ void SetAnimatedMouseCursor(const AnimCursor *table) SwitchAnimatedCursor(); } +/** + * Update cursor position on mouse movement. + * @param x New X position. + * @param y New Y position. + * @param queued True, if the OS queues mouse warps after pending mouse movement events. + * False, if the warp applies instantaneous. + * @return true, if the OS cursor position should be warped back to this->pos. + */ +bool CursorVars::UpdateCursorPosition(int x, int y, bool queued_warp) +{ + /* Detecting relative mouse movement is somewhat tricky. + * - There may be multiple mouse move events in the video driver queue (esp. when OpenTTD lags a bit). + * - When we request warping the mouse position (return true), a mouse move event is appended at the end of the queue. + * + * So, when this->fix_at is active, we use the following strategy: + * - The first movement triggers the warp to reset the mouse position. + * - Subsequent events have to compute movement relative to the previous event. + * - The relative movement is finished, when we receive the event matching the warp. + */ + + if (x == this->pos.x && y == this->pos.y) { + /* Warp finished. */ + this->queued_warp = false; + } + + this->delta.x = x - (this->queued_warp ? this->last_position.x : this->pos.x); + this->delta.y = y - (this->queued_warp ? this->last_position.y : this->pos.y); + + this->last_position.x = x; + this->last_position.y = y; + + bool need_warp = false; + if (this->fix_at) { + if (this->delta.x != 0 || this->delta.y != 0) { + /* Trigger warp. + * Note: We also trigger warping again, if there is already a pending warp. + * This makes it more tolerant about the OS or other software inbetween + * botchering the warp. */ + this->queued_warp = queued_warp; + need_warp = true; + } + } else if (this->pos.x != x || this->pos.y != y) { + this->queued_warp = false; // Cancel warping, we are no longer confining the position. + this->dirty = true; + this->pos.x = x; + this->pos.y = y; + } + return need_warp; +} + bool ChangeResInGame(int width, int height) { - return (_screen.width == width && _screen.height == height) || _video_driver->ChangeResolution(width, height); + return (_screen.width == width && _screen.height == height) || VideoDriver::GetInstance()->ChangeResolution(width, height); } bool ToggleFullScreen(bool fs) { - bool result = _video_driver->ToggleFullscreen(fs); + bool result = VideoDriver::GetInstance()->ToggleFullscreen(fs); if (_fullscreen != fs && _num_resolutions == 0) { DEBUG(driver, 0, "Could not find a suitable fullscreen resolution"); } diff --git a/src/gfx_func.h b/src/gfx_func.h index 38c9ea5e31..6576dee4fb 100644 --- a/src/gfx_func.h +++ b/src/gfx_func.h @@ -52,6 +52,7 @@ void CreateConsole(); extern byte _dirkeys; ///< 1 = left, 2 = up, 4 = right, 8 = down extern bool _fullscreen; +extern byte _support8bpp; extern CursorVars _cursor; extern bool _ctrl_pressed; ///< Is Ctrl pressed? extern bool _shift_pressed; ///< Is Shift pressed? diff --git a/src/gfx_layout.cpp b/src/gfx_layout.cpp index 0c4c1f23fd..2dba6a2046 100644 --- a/src/gfx_layout.cpp +++ b/src/gfx_layout.cpp @@ -21,6 +21,8 @@ #include #endif /* WITH_ICU */ +#include "safeguards.h" + /** Cache of ParagraphLayout lines. */ Layouter::LineCache *Layouter::linecache; diff --git a/src/gfx_type.h b/src/gfx_type.h index 2b792d0904..d25abff218 100644 --- a/src/gfx_type.h +++ b/src/gfx_type.h @@ -138,6 +138,12 @@ struct CursorVars { bool in_window; ///< mouse inside this window, determines drawing logic bool vehchain; ///< vehicle chain is dragged + + bool UpdateCursorPosition(int x, int y, bool queued_warp); + +private: + bool queued_warp; + Point last_position; }; /** Data about how and where to blit pixels. */ @@ -231,7 +237,7 @@ enum Colours { }; template <> struct EnumPropsT : MakeEnumPropsT {}; -/** Colour of the strings, see _string_colourmap in table/palettes.h or docs/ottd-colourtext-palette.png */ +/** Colour of the strings, see _string_colourmap in table/string_colours.h or docs/ottd-colourtext-palette.png */ enum TextColour { TC_BEGIN = 0x00, TC_FROMSTRING = 0x00, @@ -300,4 +306,11 @@ struct Palette { int count_dirty; ///< The number of dirty elements. }; +/** Modes for 8bpp support */ +enum Support8bpp { + S8BPP_NONE = 0, ///< No support for 8bpp by OS or hardware, force 32bpp blitters. + S8BPP_SYSTEM, ///< No 8bpp support by hardware, do not try to use 8bpp video modes or hardware palettes. + S8BPP_HARDWARE, ///< Full 8bpp support by OS and hardware. +}; + #endif /* GFX_TYPE_H */ diff --git a/src/gfxinit.cpp b/src/gfxinit.cpp index 109db2e08a..10bc0afa17 100644 --- a/src/gfxinit.cpp +++ b/src/gfxinit.cpp @@ -18,6 +18,7 @@ #include "transparency.h" #include "blitter/factory.hpp" #include "video/video_driver.hpp" +#include "window_func.h" /* The type of set we're replacing */ #define SET_TYPE "graphics" @@ -25,6 +26,8 @@ #include "table/sprites.h" +#include "safeguards.h" + /** Whether the given NewGRFs must get a palette remap from windows to DOS or not. */ bool _palette_remap_grf[MAX_FILE_SLOTS]; @@ -236,16 +239,21 @@ static bool SwitchNewGRFBlitter() /* Null driver => dedicated server => do nothing. */ if (BlitterFactory::GetCurrentBlitter()->GetScreenDepth() == 0) return false; - /* Get preferred depth. */ + /* Get preferred depth. + * - depth_wanted_by_base: Depth required by the baseset, i.e. the majority of the sprites. + * - depth_wanted_by_grf: Depth required by some NewGRF. + * Both can force using a 32bpp blitter. depth_wanted_by_base is used to select + * between multiple 32bpp blitters, which perform differently with 8bpp sprites. + */ uint depth_wanted_by_base = BaseGraphics::GetUsedSet()->blitter == BLT_32BPP ? 32 : 8; - uint depth_wanted_by_grf = 8; + uint depth_wanted_by_grf = _support8bpp == S8BPP_NONE ? 32 : 8; for (GRFConfig *c = _grfconfig; c != NULL; c = c->next) { if (c->status == GCS_DISABLED || c->status == GCS_NOT_FOUND || HasBit(c->flags, GCF_INIT_ONLY)) continue; if (c->palette & GRFP_BLT_32BPP) depth_wanted_by_grf = 32; } /* Search the best blitter. */ - struct { + static const struct { const char *name; uint animation; ///< 0: no support, 1: do support, 2: both uint min_base_depth, max_base_depth, min_grf_depth, max_grf_depth; @@ -282,9 +290,9 @@ static bool SwitchNewGRFBlitter() break; } - if (!_video_driver->AfterBlitterChange()) { + if (!VideoDriver::GetInstance()->AfterBlitterChange()) { /* Failed to switch blitter, let's hope we can return to the old one. */ - if (BlitterFactory::SelectBlitter(cur_blitter) == NULL || !_video_driver->AfterBlitterChange()) usererror("Failed to reinitialize video driver. Specify a fixed blitter in the config"); + if (BlitterFactory::SelectBlitter(cur_blitter) == NULL || !VideoDriver::GetInstance()->AfterBlitterChange()) usererror("Failed to reinitialize video driver. Specify a fixed blitter in the config"); } return true; @@ -297,6 +305,7 @@ void CheckBlitter() ClearFontCache(); GfxClearSpriteCache(); + ReInitAllWindows(); } /** Initialise and load all the sprites. */ diff --git a/src/goal.cpp b/src/goal.cpp index e2436745ce..2f6ca242a9 100644 --- a/src/goal.cpp +++ b/src/goal.cpp @@ -24,6 +24,8 @@ #include "gui.h" #include "network/network.h" +#include "safeguards.h" + GoalID _new_goal_id; @@ -88,7 +90,7 @@ CommandCost CmdCreateGoal(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 g->type = type; g->dst = p2; g->company = company; - g->text = strdup(text); + g->text = stredup(text); g->progress = NULL; g->completed = false; @@ -153,7 +155,7 @@ CommandCost CmdSetGoalText(TileIndex tile, DoCommandFlag flags, uint32 p1, uint3 if (flags & DC_EXEC) { Goal *g = Goal::Get(p1); free(g->text); - g->text = strdup(text); + g->text = stredup(text); if (g->company == INVALID_COMPANY) { InvalidateWindowClassesData(WC_GOALS_LIST); @@ -185,7 +187,7 @@ CommandCost CmdSetGoalProgress(TileIndex tile, DoCommandFlag flags, uint32 p1, u if (StrEmpty(text)) { g->progress = NULL; } else { - g->progress = strdup(text); + g->progress = stredup(text); } if (g->company == INVALID_COMPANY) { diff --git a/src/goal_gui.cpp b/src/goal_gui.cpp index b2e591ffdd..f98189d183 100644 --- a/src/goal_gui.cpp +++ b/src/goal_gui.cpp @@ -23,11 +23,14 @@ #include "company_base.h" #include "story_base.h" #include "command_func.h" +#include "string_func.h" #include "widgets/goal_widget.h" #include "table/strings.h" +#include "safeguards.h" + /** Goal list columns. */ enum GoalColumn { GC_GOAL = 0, ///< Goal text column. @@ -362,7 +365,7 @@ struct GoalQuestionWindow : public Window { GoalQuestionWindow(WindowDesc *desc, WindowNumber window_number, byte type, uint32 button_mask, const char *question) : Window(desc), type(type) { assert(type < GOAL_QUESTION_TYPE_COUNT); - this->question = strdup(question); + this->question = stredup(question); /* Figure out which buttons we have to enable. */ uint bit; diff --git a/src/graph_gui.cpp b/src/graph_gui.cpp index 10779502da..c12c6ace4d 100644 --- a/src/graph_gui.cpp +++ b/src/graph_gui.cpp @@ -30,6 +30,8 @@ #include "table/sprites.h" #include +#include "safeguards.h" + /* Bitmasks of company and cargo indices that shouldn't be drawn. */ static uint _legend_excluded_companies; static uint _legend_excluded_cargo; diff --git a/src/ground_vehicle.cpp b/src/ground_vehicle.cpp index 5712b28f96..fcdab77b03 100644 --- a/src/ground_vehicle.cpp +++ b/src/ground_vehicle.cpp @@ -14,6 +14,8 @@ #include "roadveh.h" #include "depot_map.h" +#include "safeguards.h" + /** * Recalculates the cached total power of a vehicle. Should be called when the consist is changed. */ @@ -106,15 +108,30 @@ int GroundVehicle::GetAcceleration() const { /* Templated class used for function calls for performance reasons. */ const T *v = T::From(this); - int32 speed = v->GetCurrentSpeed(); // [km/h-ish] + /* Speed is used squared later on, so U16 * U16, and then multiplied by other values. */ + int64 speed = v->GetCurrentSpeed(); // [km/h-ish] /* Weight is stored in tonnes. */ int32 mass = this->gcache.cached_weight; - /* Power is stored in HP, we need it in watts. */ - int32 power = this->gcache.cached_power * 746; + /* Power is stored in HP, we need it in watts. + * Each vehicle can have U16 power, 128 vehicles, HP -> watt + * and km/h to m/s conversion below result in a maxium of + * about 1.1E11, way more than 4.3E9 of int32. */ + int64 power = this->gcache.cached_power * 746ll; - int32 resistance = 0; + /* This is constructed from: + * - axle resistance: U16 power * 10 for 128 vehicles. + * * 8.3E7 + * - rolling friction: U16 power * 144 for 128 vehicles. + * * 1.2E9 + * - slope resistance: U16 weight * 100 * 10 (steepness) for 128 vehicles. + * * 8.4E9 + * - air drag: 28 * (U8 drag + 3 * U8 drag * 128 vehicles / 20) * U16 speed * U16 speed + * * 6.2E14 before dividing by 1000 + * Sum is 6.3E11, more than 4.3E9 of int32, so int64 is needed. + */ + int64 resistance = 0; bool maglev = v->GetAccelerationType() == 2; @@ -134,7 +151,9 @@ int GroundVehicle::GetAcceleration() const AccelStatus mode = v->GetAccelerationStatus(); const int max_te = this->gcache.cached_max_te; // [N] - int force; + /* Constructued from power, with need to multiply by 18 and assuming + * low speed, it needs to be a 64 bit integer too. */ + int64 force; if (speed > 0) { if (!maglev) { /* Conversion factor from km/h to m/s is 5/18 to get [N] in the end. */ @@ -158,10 +177,10 @@ int GroundVehicle::GetAcceleration() const * down hill will never slow down enough, and a vehicle that came up * a hill will never speed up enough to (eventually) get back to the * same (maximum) speed. */ - int accel = (force - resistance) / (mass * 4); + int accel = ClampToI32((force - resistance) / (mass * 4)); return force < resistance ? min(-1, accel) : max(1, accel); } else { - return min(-force - resistance, -10000) / mass; + return ClampToI32(min(-force - resistance, -10000) / mass); } } diff --git a/src/ground_vehicle.hpp b/src/ground_vehicle.hpp index 80a88b705f..56b97875fc 100644 --- a/src/ground_vehicle.hpp +++ b/src/ground_vehicle.hpp @@ -113,9 +113,9 @@ struct GroundVehicle : public SpecializedVehicle { * Calculates the total slope resistance for this vehicle. * @return Slope resistance. */ - inline int32 GetSlopeResistance() const + inline int64 GetSlopeResistance() const { - int32 incl = 0; + int64 incl = 0; for (const T *u = T::From(this); u != NULL; u = u->Next()) { if (HasBit(u->gv_flags, GVF_GOINGUP_BIT)) { @@ -231,9 +231,9 @@ struct GroundVehicle : public SpecializedVehicle { * @param update_delta Indicates to also update the delta. * @return Old height of the vehicle. */ - inline byte UpdateInclination(bool new_tile, bool update_delta) + inline int UpdateInclination(bool new_tile, bool update_delta) { - byte old_z = this->z_pos; + int old_z = this->z_pos; if (new_tile) { this->UpdateZPositionAndInclination(); diff --git a/src/group_cmd.cpp b/src/group_cmd.cpp index be1bfce5d9..12cce41f74 100644 --- a/src/group_cmd.cpp +++ b/src/group_cmd.cpp @@ -24,6 +24,8 @@ #include "table/strings.h" +#include "safeguards.h" + GroupID _new_group_id; GroupPool _group_pool("Group"); @@ -390,7 +392,7 @@ CommandCost CmdAlterGroup(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 /* Delete the old name */ free(g->name); /* Assign the new one */ - g->name = reset ? NULL : strdup(text); + g->name = reset ? NULL : stredup(text); } } else { /* Set group parent */ @@ -402,11 +404,7 @@ CommandCost CmdAlterGroup(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 /* Ensure request parent isn't child of group. * This is the only place that infinite loops are prevented. */ - const Group *looptest = pg; - while (looptest->parent != INVALID_GROUP) { - if (looptest->parent == g->index) return CMD_ERROR; - looptest = Group::Get(looptest->parent); - } + if (GroupIsInGroup(pg->index, g->index)) return CMD_ERROR; } if (flags & DC_EXEC) { @@ -686,7 +684,7 @@ void UpdateTrainGroupID(Train *v) /** * Get the number of engines with EngineID id_e in the group with GroupID - * id_g + * id_g and its sub-groups. * @param company The company the group belongs to * @param id_g The GroupID of the group used * @param id_e The EngineID of the engine to count @@ -721,10 +719,7 @@ void RemoveAllGroupsForCompany(const CompanyID company) */ bool GroupIsInGroup(GroupID search, GroupID group) { - if (search == NEW_GROUP || - search == ALL_GROUP || - search == DEFAULT_GROUP || - search == INVALID_GROUP) return search == group; + if (!Group::IsValidID(search)) return search == group; do { if (search == group) return true; diff --git a/src/group_gui.cpp b/src/group_gui.cpp index 0b6c860dd6..81fb1202e4 100644 --- a/src/group_gui.cpp +++ b/src/group_gui.cpp @@ -30,6 +30,8 @@ #include "table/sprites.h" +#include "safeguards.h" + static const int LEVEL_WIDTH = 10; ///< Indenting width of a sub-group in pixels typedef GUIList GUIGroupList; @@ -382,7 +384,7 @@ public: case WID_GL_SORT_BY_ORDER: { Dimension d = GetStringBoundingBox(this->GetWidget(widget)->widget_data); - d.width += padding.width + WD_SORTBUTTON_ARROW_WIDTH * 2; // Doubled since the string is centred and it also looks better. + d.width += padding.width + Window::SortButtonWidth() * 2; // Doubled since the string is centred and it also looks better. d.height += padding.height; *size = maxdim(*size, d); break; @@ -667,7 +669,7 @@ public: case WID_GL_REPLACE_PROTECTION: { const Group *g = Group::GetIfValid(this->vli.index); if (g != NULL) { - DoCommandP(0, this->vli.index, !g->replace_protection | (_ctrl_pressed << 1), CMD_SET_GROUP_REPLACE_PROTECTION); + DoCommandP(0, this->vli.index, (g->replace_protection ? 0 : 1) | (_ctrl_pressed << 1), CMD_SET_GROUP_REPLACE_PROTECTION); } break; } diff --git a/src/heightmap.cpp b/src/heightmap.cpp index 50cfd6e22a..ec31257287 100644 --- a/src/heightmap.cpp +++ b/src/heightmap.cpp @@ -22,6 +22,8 @@ #include "table/strings.h" +#include "safeguards.h" + /** * Convert RGB colours to Grayscale using 29.9% Red, 58.7% Green, 11.4% Blue * (average luminosity formula, NTSC Colour Space) @@ -362,8 +364,16 @@ static void GrayscaleToMapHeights(uint img_width, uint img_height, byte *map) assert(img_row < img_height); assert(img_col < img_width); - /* Colour scales from 0 to 255, OpenTTD height scales from 0 to 15 */ - SetTileHeight(tile, map[img_row * img_width + img_col] / 16); + uint heightmap_height = map[img_row * img_width + img_col]; + + if (heightmap_height > 0) { + /* 0 is sea level. + * Other grey scales are scaled evenly to the available height levels > 0. + * (The coastline is independent from the number of height levels) */ + heightmap_height = 1 + (heightmap_height - 1) * _settings_game.construction.max_heightlevel / 255; + } + + SetTileHeight(tile, heightmap_height); } /* Only clear the tiles within the map area. */ if (IsInnerTile(tile)) { diff --git a/src/highscore.cpp b/src/highscore.cpp index b2dcf8e5f6..86e4f5ae88 100644 --- a/src/highscore.cpp +++ b/src/highscore.cpp @@ -20,6 +20,8 @@ #include "core/sort_func.hpp" #include "debug.h" +#include "safeguards.h" + HighScore _highscore_table[SP_HIGHSCORE_END][5]; ///< various difficulty-settings; top 5 char *_highscore_file; ///< The file to store the highscore data in. diff --git a/src/highscore_gui.cpp b/src/highscore_gui.cpp index d79afe4ebd..c67aaa170b 100644 --- a/src/highscore_gui.cpp +++ b/src/highscore_gui.cpp @@ -25,6 +25,8 @@ #include "widgets/highscore_widget.h" +#include "safeguards.h" + struct EndGameHighScoreBaseWindow : Window { uint32 background_img; int8 rank; @@ -44,17 +46,20 @@ struct EndGameHighScoreBaseWindow : Window { this->DrawWidgets(); - Point pt = this->GetTopLeft640x480(); + /* Standard background slices are 50 pixels high, but it's designed + * for 480 pixels total. 96% of 500 is 480. */ + Dimension dim = GetSpriteSize(this->background_img); + Point pt = this->GetTopLeft(dim.width, dim.height * 96 / 10); /* Center Highscore/Endscreen background */ for (uint i = 0; i < 10; i++) { // the image is split into 10 50px high parts - DrawSprite(this->background_img + i, PAL_NONE, pt.x, pt.y + (i * 50)); + DrawSprite(this->background_img + i, PAL_NONE, pt.x, pt.y + (i * dim.height)); } } /** Return the coordinate of the screen such that a window of 640x480 is centered at the screen. */ - Point GetTopLeft640x480() + Point GetTopLeft(int x, int y) { - Point pt = {max(0, (_screen.width / 2) - (640 / 2)), max(0, (_screen.height / 2) - (480 / 2))}; + Point pt = {max(0, (_screen.width / 2) - (x / 2)), max(0, (_screen.height / 2) - (y / 2))}; return pt; } @@ -127,7 +132,7 @@ struct EndGameWindow : EndGameHighScoreBaseWindow { virtual void OnPaint() { this->SetupHighScoreEndWindow(); - Point pt = this->GetTopLeft640x480(); + Point pt = this->GetTopLeft(640, 480); const Company *c = Company::GetIfValid(_local_company); if (c == NULL) return; @@ -177,7 +182,7 @@ struct HighScoreWindow : EndGameHighScoreBaseWindow { const HighScore *hs = _highscore_table[this->window_number]; this->SetupHighScoreEndWindow(); - Point pt = this->GetTopLeft640x480(); + Point pt = this->GetTopLeft(640, 480); SetDParam(0, ORIGINAL_END_YEAR); DrawStringMultiLine(pt.x + 70, pt.x + 570, pt.y, pt.y + 140, !_networking ? STR_HIGHSCORE_TOP_COMPANIES_WHO_REACHED : STR_HIGHSCORE_TOP_COMPANIES_NETWORK_GAME, TC_FROMSTRING, SA_CENTER); diff --git a/src/hotkeys.cpp b/src/hotkeys.cpp index c5a8109ade..84288a0e81 100644 --- a/src/hotkeys.cpp +++ b/src/hotkeys.cpp @@ -16,6 +16,8 @@ #include "string_func.h" #include "window_gui.h" +#include "safeguards.h" + char *_hotkeys_file; /** @@ -139,7 +141,7 @@ static void ParseHotkeys(Hotkey *hotkey, const char *value) * by a '+'. * @param keycode The keycode to convert to a string. * @return A string representation of this keycode. - * @note The return value is a static buffer, strdup the result before calling + * @note The return value is a static buffer, stredup the result before calling * this function again. */ static const char *KeycodeToString(uint16 keycode) @@ -193,7 +195,7 @@ static const char *KeycodeToString(uint16 keycode) * keycodes are attached to the hotkey they are split by a comma. * @param hotkey The keycodes of this hotkey need to be converted to a string. * @return A string representation of all keycodes. - * @note The return value is a static buffer, strdup the result before calling + * @note The return value is a static buffer, stredup the result before calling * this function again. */ const char *SaveKeycodes(const Hotkey *hotkey) diff --git a/src/industry_cmd.cpp b/src/industry_cmd.cpp index 9930057a39..5971964fd7 100644 --- a/src/industry_cmd.cpp +++ b/src/industry_cmd.cpp @@ -40,11 +40,14 @@ #include "core/backup_type.hpp" #include "object_base.h" #include "game/game.hpp" +#include "error.h" #include "table/strings.h" #include "table/industry_land.h" #include "table/build_industry.h" +#include "safeguards.h" + IndustryPool _industry_pool("Industry"); INSTANTIATE_POOL_METHODS(Industry) @@ -1387,7 +1390,7 @@ static CommandCost CheckIfIndustryTilesAreFree(TileIndex tile, const IndustryTil } else { CommandCost ret = EnsureNoVehicleOnGround(cur_tile); if (ret.Failed()) return ret; - if (MayHaveBridgeAbove(cur_tile) && IsBridgeAbove(cur_tile)) return_cmd_error(STR_ERROR_SITE_UNSUITABLE); + if (IsBridgeAbove(cur_tile)) return_cmd_error(STR_ERROR_SITE_UNSUITABLE); const IndustryTileSpec *its = GetIndustryTileSpec(gfx); @@ -2739,6 +2742,26 @@ void InitializeIndustries() _industry_builder.Reset(); } +/** Verify whether the generated industries are complete, and warn the user if not. */ +void CheckIndustries() +{ + int count = 0; + for (IndustryType it = 0; it < NUM_INDUSTRYTYPES; it++) { + if (Industry::GetIndustryTypeCount(it) > 0) continue; // Types of existing industries can be skipped. + + bool force_at_least_one; + uint32 chance = GetScaledIndustryGenerationProbability(it, &force_at_least_one); + if (chance == 0 || !force_at_least_one) continue; // Types that are not available can be skipped. + + const IndustrySpec *is = GetIndustrySpec(it); + SetDParam(0, is->name); + ShowErrorMessage(STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES, STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION, WL_WARNING); + + count++; + if (count >= 3) break; // Don't swamp the user with errors. + } +} + /** * Is an industry with the spec a raw industry? * @return true if it should be handled as a raw industry diff --git a/src/industry_gui.cpp b/src/industry_gui.cpp index cc305509f2..c160142249 100644 --- a/src/industry_gui.cpp +++ b/src/industry_gui.cpp @@ -24,6 +24,7 @@ #include "newgrf_industries.h" #include "newgrf_text.h" #include "newgrf_debug.h" +#include "network/network.h" #include "strings_func.h" #include "company_func.h" #include "tilehighlight_func.h" @@ -41,10 +42,12 @@ #include "table/strings.h" -bool _ignore_restrictions; -uint64 _displayed_industries; ///< Communication from the industry chain window to the smallmap window about what industries to display. +#include -assert_compile(NUM_INDUSTRYTYPES <= 64); // Make sure all industry types fit in _displayed_industries. +#include "safeguards.h" + +bool _ignore_restrictions; +std::bitset _displayed_industries; ///< Communication from the industry chain window to the smallmap window about what industries to display. /** Cargo suffix type (for which window is it requested) */ enum CargoSuffixType { @@ -117,12 +120,10 @@ static int CDECL IndustryTypeNameSorter(const IndustryType *a, const IndustryTyp static char industry_name[2][64]; const IndustrySpec *indsp1 = GetIndustrySpec(*a); - SetDParam(0, indsp1->name); - GetString(industry_name[0], STR_JUST_STRING, lastof(industry_name[0])); + GetString(industry_name[0], indsp1->name, lastof(industry_name[0])); const IndustrySpec *indsp2 = GetIndustrySpec(*b); - SetDParam(0, indsp2->name); - GetString(industry_name[1], STR_JUST_STRING, lastof(industry_name[1])); + GetString(industry_name[1], indsp2->name, lastof(industry_name[1])); int r = strnatcmp(industry_name[0], industry_name[1]); // Sort by name (natural sorting). @@ -228,7 +229,7 @@ class BuildIndustryWindow : public Window { * The tests performed after the enabled allow to load the industries * In the same way they are inserted by grf (if any) */ - for (uint8 i = 0; i < NUM_INDUSTRYTYPES; i++) { + for (uint i = 0; i < NUM_INDUSTRYTYPES; i++) { IndustryType ind = _sorted_industry_types[i]; const IndustrySpec *indsp = GetIndustrySpec(ind); if (indsp->enabled) { @@ -639,7 +640,8 @@ static inline bool IsProductionAlterable(const Industry *i) { const IndustrySpec *is = GetIndustrySpec(i->type); return ((_game_mode == GM_EDITOR || _cheats.setup_prod.value) && - (is->production_rate[0] != 0 || is->production_rate[1] != 0 || is->IsRawIndustry())); + (is->production_rate[0] != 0 || is->production_rate[1] != 0 || is->IsRawIndustry()) && + !_networking); } class IndustryViewWindow : public Window @@ -1281,7 +1283,7 @@ public: switch (widget) { case WID_ID_DROPDOWN_ORDER: { Dimension d = GetStringBoundingBox(this->GetWidget(widget)->widget_data); - d.width += padding.width + WD_SORTBUTTON_ARROW_WIDTH * 2; // Doubled since the string is centred and it also looks better. + d.width += padding.width + Window::SortButtonWidth() * 2; // Doubled since the string is centred and it also looks better. d.height += padding.height; *size = maxdim(*size, d); break; @@ -1669,8 +1671,7 @@ struct CargoesField { ypos += (normal_height - FONT_HEIGHT_NORMAL) / 2; if (this->u.industry.ind_type < NUM_INDUSTRYTYPES) { const IndustrySpec *indsp = GetIndustrySpec(this->u.industry.ind_type); - SetDParam(0, indsp->name); - DrawString(xpos, xpos2, ypos, STR_JUST_STRING, TC_WHITE, SA_HOR_CENTER); + DrawString(xpos, xpos2, ypos, indsp->name, TC_WHITE, SA_HOR_CENTER); /* Draw the industry legend. */ int blob_left, blob_right; @@ -2001,7 +2002,7 @@ struct CargoesRow { if (!hs->enabled) continue; for (uint j = 0; j < lengthof(hs->accepts_cargo); j++) { - if (cargo_fld->u.cargo.vertical_cargoes[i] == hs->accepts_cargo[j]) { + if (hs->cargo_acceptance[j] > 0 && cargo_fld->u.cargo.vertical_cargoes[i] == hs->accepts_cargo[j]) { cargo_fld->ConnectCargo(cargo_fld->u.cargo.vertical_cargoes[i], false); goto next_cargo; } @@ -2193,7 +2194,7 @@ struct IndustryCargoesWindow : public Window { if (!hs->enabled || !(hs->building_availability & climate_mask)) continue; for (uint j = 0; j < lengthof(hs->accepts_cargo); j++) { - if (cargoes[i] == hs->accepts_cargo[j]) return true; + if (hs->cargo_acceptance[j] > 0 && cargoes[i] == hs->accepts_cargo[j]) return true; } } } @@ -2294,7 +2295,8 @@ struct IndustryCargoesWindow : public Window { { this->GetWidget(WID_IC_CAPTION)->widget_data = STR_INDUSTRY_CARGOES_INDUSTRY_CAPTION; this->ind_cargo = it; - _displayed_industries = 1ULL << it; + _displayed_industries.reset(); + _displayed_industries.set(it); this->fields.Clear(); CargoesRow *row = this->fields.Append(); @@ -2338,12 +2340,12 @@ struct IndustryCargoesWindow : public Window { if (HasCommonValidCargo(central_sp->accepts_cargo, lengthof(central_sp->accepts_cargo), indsp->produced_cargo, lengthof(indsp->produced_cargo))) { this->PlaceIndustry(1 + supp_count * num_indrows / num_supp, 0, it); - SetBit(_displayed_industries, it); + _displayed_industries.set(it); supp_count++; } if (HasCommonValidCargo(central_sp->produced_cargo, lengthof(central_sp->produced_cargo), indsp->accepts_cargo, lengthof(indsp->accepts_cargo))) { this->PlaceIndustry(1 + cust_count * num_indrows / num_cust, 4, it); - SetBit(_displayed_industries, it); + _displayed_industries.set(it); cust_count++; } } @@ -2372,7 +2374,7 @@ struct IndustryCargoesWindow : public Window { { this->GetWidget(WID_IC_CAPTION)->widget_data = STR_INDUSTRY_CARGOES_CARGO_CAPTION; this->ind_cargo = cid + NUM_INDUSTRYTYPES; - _displayed_industries = 0; + _displayed_industries.reset(); this->fields.Clear(); CargoesRow *row = this->fields.Append(); @@ -2407,12 +2409,12 @@ struct IndustryCargoesWindow : public Window { if (HasCommonValidCargo(&cid, 1, indsp->produced_cargo, lengthof(indsp->produced_cargo))) { this->PlaceIndustry(1 + supp_count * num_indrows / num_supp, 0, it); - SetBit(_displayed_industries, it); + _displayed_industries.set(it); supp_count++; } if (HasCommonValidCargo(&cid, 1, indsp->accepts_cargo, lengthof(indsp->accepts_cargo))) { this->PlaceIndustry(1 + cust_count * num_indrows / num_cust, 2, it); - SetBit(_displayed_industries, it); + _displayed_industries.set(it); cust_count++; } } @@ -2603,7 +2605,7 @@ struct IndustryCargoesWindow : public Window { case WID_IC_IND_DROPDOWN: { DropDownList *lst = new DropDownList; - for (uint8 i = 0; i < NUM_INDUSTRYTYPES; i++) { + for (uint i = 0; i < NUM_INDUSTRYTYPES; i++) { IndustryType ind = _sorted_industry_types[i]; const IndustrySpec *indsp = GetIndustrySpec(ind); if (!indsp->enabled) continue; @@ -2690,7 +2692,7 @@ const int IndustryCargoesWindow::VERT_TEXT_PADDING = 5; ///< Vertical padding ar static void ShowIndustryCargoesWindow(IndustryType id) { if (id >= NUM_INDUSTRYTYPES) { - for (uint8 i = 0; i < NUM_INDUSTRYTYPES; i++) { + for (uint i = 0; i < NUM_INDUSTRYTYPES; i++) { const IndustrySpec *indsp = GetIndustrySpec(_sorted_industry_types[i]); if (indsp->enabled) { id = _sorted_industry_types[i]; diff --git a/src/industry_map.h b/src/industry_map.h index 7d927a13c3..9d2e3de211 100644 --- a/src/industry_map.h +++ b/src/industry_map.h @@ -127,7 +127,7 @@ static inline void SetIndustryConstructionStage(TileIndex tile, byte value) static inline IndustryGfx GetCleanIndustryGfx(TileIndex t) { assert(IsTileType(t, MP_INDUSTRY)); - return _m[t].m5 | (GB(_m[t].m6, 2, 1) << 8); + return _m[t].m5 | (GB(_me[t].m6, 2, 1) << 8); } /** @@ -152,7 +152,7 @@ static inline void SetIndustryGfx(TileIndex t, IndustryGfx gfx) { assert(IsTileType(t, MP_INDUSTRY)); _m[t].m5 = GB(gfx, 0, 8); - SB(_m[t].m6, 2, 1, GB(gfx, 8, 1)); + SB(_me[t].m6, 2, 1, GB(gfx, 8, 1)); } /** @@ -252,7 +252,7 @@ static inline void SetIndustryRandomBits(TileIndex tile, byte bits) static inline byte GetIndustryTriggers(TileIndex tile) { assert(IsTileType(tile, MP_INDUSTRY)); - return GB(_m[tile].m6, 3, 3); + return GB(_me[tile].m6, 3, 3); } @@ -266,7 +266,7 @@ static inline byte GetIndustryTriggers(TileIndex tile) static inline void SetIndustryTriggers(TileIndex tile, byte triggers) { assert(IsTileType(tile, MP_INDUSTRY)); - SB(_m[tile].m6, 3, 3, triggers); + SB(_me[tile].m6, 3, 3, triggers); } /** diff --git a/src/industry_type.h b/src/industry_type.h index 11828c5304..6234f7b114 100644 --- a/src/industry_type.h +++ b/src/industry_type.h @@ -22,13 +22,13 @@ struct IndustryTileSpec; static const IndustryID INVALID_INDUSTRY = 0xFFFF; -static const IndustryType NUM_INDUSTRYTYPES_PER_GRF = 64; ///< maximum number of industry types per NewGRF +static const IndustryType NUM_INDUSTRYTYPES_PER_GRF = 128; ///< maximum number of industry types per NewGRF; limited to 128 because bit 7 has a special meaning in some variables/callbacks (see MapNewGRFIndustryType). static const IndustryType NEW_INDUSTRYOFFSET = 37; ///< original number of industry types -static const IndustryType NUM_INDUSTRYTYPES = 64; ///< total number of industry types, new and old +static const IndustryType NUM_INDUSTRYTYPES = 240; ///< total number of industry types, new and old; limited to 240 because we need some special ids like INVALID_INDUSTRYTYPE, IT_AI_UNKNOWN, IT_AI_TOWN, ... static const IndustryType INVALID_INDUSTRYTYPE = NUM_INDUSTRYTYPES; ///< one above amount is considered invalid -static const IndustryGfx NUM_INDUSTRYTILES_PER_GRF = 255; ///< Maximum number of industry tiles per NewGRF; limited to 255 to allow extending Action3 with an extended byte later on. +static const IndustryGfx NUM_INDUSTRYTILES_PER_GRF = 255; ///< Maximum number of industry tiles per NewGRF; limited to 255 to allow extending Action3 with an extended byte later on. static const IndustryGfx INDUSTRYTILE_NOANIM = 0xFF; ///< flag to mark industry tiles as having no animation static const IndustryGfx NEW_INDUSTRYTILEOFFSET = 175; ///< original number of tiles @@ -37,4 +37,6 @@ static const IndustryGfx INVALID_INDUSTRYTILE = NUM_INDUSTRYTILES; ///< one a static const int INDUSTRY_COMPLETED = 3; ///< final stage of industry construction. +void CheckIndustries(); + #endif /* INDUSTRY_TYPE_H */ diff --git a/src/ini.cpp b/src/ini.cpp index 11f79ed16e..ccce192393 100644 --- a/src/ini.cpp +++ b/src/ini.cpp @@ -26,6 +26,8 @@ # include "core/mem_func.hpp" #endif +#include "safeguards.h" + /** * Create a new ini file with given group names. * @param list_group_names A \c NULL terminated list with group names that should be loaded as lists instead of variables. @see IGT_LIST @@ -87,6 +89,8 @@ bool IniFile::SaveToDisk(const char *filename) #endif #if defined(WIN32) || defined(WIN64) + /* _tcsncpy = strcpy is TCHAR is char, but isn't when TCHAR is wchar. */ + #undef strncpy /* Allocate space for one more \0 character. */ TCHAR tfilename[MAX_PATH + 1], tfile_new[MAX_PATH + 1]; _tcsncpy(tfilename, OTTD2FS(filename), MAX_PATH); diff --git a/src/ini_load.cpp b/src/ini_load.cpp index 158ffa6a78..389dcab031 100644 --- a/src/ini_load.cpp +++ b/src/ini_load.cpp @@ -15,18 +15,18 @@ #include "ini_type.h" #include "string_func.h" +#include "safeguards.h" + /** * Construct a new in-memory item of an Ini file. * @param parent the group we belong to * @param name the name of the item - * @param len the length of the name of the item + * @param last the last element of the name of the item */ -IniItem::IniItem(IniGroup *parent, const char *name, size_t len) : next(NULL), value(NULL), comment(NULL) +IniItem::IniItem(IniGroup *parent, const char *name, const char *last) : next(NULL), value(NULL), comment(NULL) { - if (len == 0) len = strlen(name); - - this->name = strndup(name, len); - if (this->name != NULL) str_validate(this->name, this->name + len); + this->name = stredup(name, last); + str_validate(this->name, this->name + strlen(this->name)); *parent->last_item = this; parent->last_item = &this->next; @@ -49,21 +49,19 @@ IniItem::~IniItem() void IniItem::SetValue(const char *value) { free(this->value); - this->value = strdup(value); + this->value = stredup(value); } /** * Construct a new in-memory group of an Ini file. * @param parent the file we belong to * @param name the name of the group - * @param len the length of the name of the group + * @param last the last element of the name of the group */ -IniGroup::IniGroup(IniLoadFile *parent, const char *name, size_t len) : next(NULL), type(IGT_VARIABLES), item(NULL), comment(NULL) +IniGroup::IniGroup(IniLoadFile *parent, const char *name, const char *last) : next(NULL), type(IGT_VARIABLES), item(NULL), comment(NULL) { - if (len == 0) len = strlen(name); - - this->name = strndup(name, len); - if (this->name != NULL) str_validate(this->name, this->name + len); + this->name = stredup(name, last); + str_validate(this->name, this->name + strlen(this->name)); this->last_item = &this->item; *parent->last_group = this; @@ -113,7 +111,7 @@ IniItem *IniGroup::GetItem(const char *name, bool create) if (!create) return NULL; /* otherwise make a new one */ - return new IniItem(this, name, strlen(name)); + return new IniItem(this, name, NULL); } /** @@ -169,8 +167,8 @@ IniGroup *IniLoadFile::GetGroup(const char *name, size_t len, bool create_new) if (!create_new) return NULL; /* otherwise make a new one */ - IniGroup *group = new IniGroup(this, name, len); - group->comment = strdup("\n"); + IniGroup *group = new IniGroup(this, name, name + len - 1); + group->comment = stredup("\n"); return group; } @@ -264,17 +262,17 @@ void IniLoadFile::LoadFromDisk(const char *filename, Subdirectory subdir) e--; } s++; // skip [ - group = new IniGroup(this, s, e - s); + group = new IniGroup(this, s, e - 1); if (comment_size != 0) { - group->comment = strndup(comment, comment_size); + group->comment = stredup(comment, comment + comment_size - 1); comment_size = 0; } } else if (group != NULL) { if (group->type == IGT_SEQUENCE) { /* A sequence group, use the line as item name without further interpretation. */ - IniItem *item = new IniItem(group, buffer, e - buffer); + IniItem *item = new IniItem(group, buffer, e - 1); if (comment_size) { - item->comment = strndup(comment, comment_size); + item->comment = stredup(comment, comment + comment_size - 1); comment_size = 0; } continue; @@ -290,9 +288,9 @@ void IniLoadFile::LoadFromDisk(const char *filename, Subdirectory subdir) } /* it's an item in an existing group */ - IniItem *item = new IniItem(group, s, t - s); + IniItem *item = new IniItem(group, s, t - 1); if (comment_size != 0) { - item->comment = strndup(comment, comment_size); + item->comment = stredup(comment, comment + comment_size - 1); comment_size = 0; } @@ -308,7 +306,7 @@ void IniLoadFile::LoadFromDisk(const char *filename, Subdirectory subdir) *e = '\0'; /* If the value was not quoted and empty, it must be NULL */ - item->value = (!quoted && e == t) ? NULL : strndup(t, e - t); + item->value = (!quoted && e == t) ? NULL : stredup(t); if (item->value != NULL) str_validate(item->value, item->value + strlen(item->value)); } else { /* it's an orphan item */ @@ -317,7 +315,7 @@ void IniLoadFile::LoadFromDisk(const char *filename, Subdirectory subdir) } if (comment_size > 0) { - this->comment = strndup(comment, comment_size); + this->comment = stredup(comment, comment + comment_size - 1); comment_size = 0; } diff --git a/src/ini_type.h b/src/ini_type.h index 05133c77f0..ce383b959c 100644 --- a/src/ini_type.h +++ b/src/ini_type.h @@ -28,7 +28,7 @@ struct IniItem { char *value; ///< The value of this item char *comment; ///< The comment associated with this item - IniItem(struct IniGroup *parent, const char *name, size_t len = 0); + IniItem(struct IniGroup *parent, const char *name, const char *last = NULL); ~IniItem(); void SetValue(const char *value); @@ -43,7 +43,7 @@ struct IniGroup { char *name; ///< name of group char *comment; ///< comment for group - IniGroup(struct IniLoadFile *parent, const char *name, size_t len = 0); + IniGroup(struct IniLoadFile *parent, const char *name, const char *last = NULL); ~IniGroup(); IniItem *GetItem(const char *name, bool create); diff --git a/src/intro_gui.cpp b/src/intro_gui.cpp index 5d13058944..de8b379392 100644 --- a/src/intro_gui.cpp +++ b/src/intro_gui.cpp @@ -33,6 +33,8 @@ #include "table/strings.h" #include "table/sprites.h" +#include "safeguards.h" + struct SelectGameWindow : public Window { SelectGameWindow(WindowDesc *desc) : Window(desc) @@ -208,7 +210,7 @@ static const NWidgetPart _nested_select_game_widgets[] = { NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_SGI_OPTIONS), SetMinimalSize(158, 12), SetDataTip(STR_INTRO_GAME_OPTIONS, STR_INTRO_TOOLTIP_GAME_OPTIONS), SetPadding(0, 0, 0, 10), SetFill(1, 0), NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_SGI_SETTINGS_OPTIONS), SetMinimalSize(158, 12), - SetDataTip(STR_INTRO_ADVANCED_SETTINGS, STR_INTRO_TOOLTIP_ADVANCED_SETTINGS), SetPadding(0, 10, 0, 0), SetFill(1, 0), + SetDataTip(STR_INTRO_CONFIG_SETTINGS_TREE, STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE), SetPadding(0, 10, 0, 0), SetFill(1, 0), EndContainer(), NWidget(NWID_SPACER), SetMinimalSize(0, 6), diff --git a/src/landscape.cpp b/src/landscape.cpp index a19c98db95..d1c73fd42b 100644 --- a/src/landscape.cpp +++ b/src/landscape.cpp @@ -37,6 +37,8 @@ #include "table/strings.h" #include "table/sprites.h" +#include "safeguards.h" + extern const TileTypeProcs _tile_type_clear_procs, _tile_type_rail_procs, @@ -890,6 +892,7 @@ static void CreateDesertOrRainForest() { TileIndex update_freq = MapSize() / 4; const TileIndexDiffC *data; + uint max_desert_height = CeilDiv(_settings_game.construction.max_heightlevel, 4); for (TileIndex tile = 0; tile != MapSize(); ++tile) { if ((tile % update_freq) == 0) IncreaseGeneratingWorldProgress(GWP_LANDSCAPE); @@ -899,7 +902,7 @@ static void CreateDesertOrRainForest() for (data = _make_desert_or_rainforest_data; data != endof(_make_desert_or_rainforest_data); ++data) { TileIndex t = AddTileIndexDiffCWrap(tile, *data); - if (t != INVALID_TILE && (TileHeight(t) >= 4 || IsTileType(t, MP_WATER))) break; + if (t != INVALID_TILE && (TileHeight(t) >= max_desert_height || IsTileType(t, MP_WATER))) break; } if (data == endof(_make_desert_or_rainforest_data)) { SetTropicZone(tile, TROPICZONE_DESERT); @@ -1270,7 +1273,8 @@ void GenerateLandscape(byte mode) assert(_settings_game.difficulty.quantity_sea_lakes != CUSTOM_SEA_LEVEL_NUMBER_DIFFICULTY); uint i = ScaleByMapSize(GB(r, 0, 7) + (3 - _settings_game.difficulty.quantity_sea_lakes) * 256 + 100); for (; i != 0; --i) { - GenerateTerrain(_settings_game.difficulty.terrain_type, 0); + /* Make sure we do not overflow. */ + GenerateTerrain(Clamp(_settings_game.difficulty.terrain_type, 0, 3), 0); } break; } diff --git a/src/lang/afrikaans.txt b/src/lang/afrikaans.txt index 9fd2aa1937..7ed60a9f15 100644 --- a/src/lang/afrikaans.txt +++ b/src/lang/afrikaans.txt @@ -36,7 +36,7 @@ STR_CARGO_PLURAL_LIVESTOCK :Lewendehawe STR_CARGO_PLURAL_GOODS :Goedere STR_CARGO_PLURAL_GRAIN :Graan STR_CARGO_PLURAL_WOOD :Hout -STR_CARGO_PLURAL_IRON_ORE :Yster Erts +STR_CARGO_PLURAL_IRON_ORE :Ystererts STR_CARGO_PLURAL_STEEL :Staal STR_CARGO_PLURAL_VALUABLES :Edelmetale STR_CARGO_PLURAL_COPPER_ORE :Koper Erts @@ -96,30 +96,30 @@ STR_CARGO_SINGULAR_FIZZY_DRINK :Gaskoeldrank # Quantity of cargo STR_QUANTITY_NOTHING : -STR_QUANTITY_PASSENGERS :{COMMA} passasier{P "" s} +STR_QUANTITY_PASSENGERS :{COMMA}{NBSP}passasier{P "" s} STR_QUANTITY_COAL :{WEIGHT_LONG} steenkool -STR_QUANTITY_MAIL :{COMMA} sak{P "" ke} pos +STR_QUANTITY_MAIL :{COMMA}{NBSP}sak{P "" ke} pos STR_QUANTITY_OIL :{VOLUME_LONG} olie -STR_QUANTITY_LIVESTOCK :{COMMA} item{P "" s} lewendehawe -STR_QUANTITY_GOODS :{COMMA} krat{P "" te} goedere +STR_QUANTITY_LIVESTOCK :{COMMA}{NBSP}item{P "" s} lewendehawe +STR_QUANTITY_GOODS :{COMMA}{NBSP}krat{P "" te} goedere STR_QUANTITY_GRAIN :{WEIGHT_LONG} graan STR_QUANTITY_WOOD :{WEIGHT_LONG} hout STR_QUANTITY_IRON_ORE :{WEIGHT_LONG} ystererts STR_QUANTITY_STEEL :{WEIGHT_LONG} staal -STR_QUANTITY_VALUABLES :{COMMA} sak{P "" ke} edelmetale +STR_QUANTITY_VALUABLES :{COMMA}{NBSP}sak{P "" ke} edelmetale STR_QUANTITY_COPPER_ORE :{WEIGHT_LONG} kopererts -STR_QUANTITY_MAIZE :{WEIGHT_LONG} graan +STR_QUANTITY_MAIZE :{WEIGHT_LONG} mielies STR_QUANTITY_FRUIT :{WEIGHT_LONG} vrugte -STR_QUANTITY_DIAMONDS :{COMMA} sak{P "" ke} diamante +STR_QUANTITY_DIAMONDS :{COMMA}{NBSP}sak{P "" ke} diamante STR_QUANTITY_FOOD :{WEIGHT_LONG} kos STR_QUANTITY_PAPER :{WEIGHT_LONG} papier -STR_QUANTITY_GOLD :{COMMA} sak{P "" ke} goud +STR_QUANTITY_GOLD :{COMMA}{NBSP}sak{P "" ke} goud STR_QUANTITY_WATER :{VOLUME_LONG} water STR_QUANTITY_WHEAT :{WEIGHT_LONG} koring STR_QUANTITY_RUBBER :{VOLUME_LONG} rubber STR_QUANTITY_SUGAR :{WEIGHT_LONG} suiker -STR_QUANTITY_TOYS :{COMMA} ton speelgoed -STR_QUANTITY_SWEETS :{COMMA} sak{P "" ke} lekkers +STR_QUANTITY_TOYS :{COMMA}{NBSP}ton speelgoed +STR_QUANTITY_SWEETS :{COMMA}{NBSP}sak{P "" ke} lekkers STR_QUANTITY_COLA :{VOLUME_LONG} kola STR_QUANTITY_CANDYFLOSS :{WEIGHT_LONG} spookasem STR_QUANTITY_BUBBLES :{COMMA} borrel{P "" s} @@ -166,12 +166,12 @@ STR_ABBREV_NONE :{TINY_FONT}NS STR_ABBREV_ALL :{TINY_FONT}ALMAL # 'Mode' of transport for cargoes -STR_PASSENGERS :{COMMA} passasier{P "" s} -STR_BAGS :{COMMA} sak{P "" ke} -STR_TONS :{COMMA} ton -STR_LITERS :{COMMA} liter -STR_ITEMS :{COMMA} item{P "" s} -STR_CRATES :{COMMA} krat{P "" te} +STR_PASSENGERS :{COMMA}{NBSP}passasier{P "" s} +STR_BAGS :{COMMA}{NBSP}sak{P "" ke} +STR_TONS :{COMMA}{NBSP}ton +STR_LITERS :{COMMA}{NBSP}liter +STR_ITEMS :{COMMA}{NBSP}item{P "" s} +STR_CRATES :{COMMA}{NBSP}krat{P "" te} # Colours, do not shuffle STR_COLOUR_DARK_BLUE :Donkerblou @@ -192,37 +192,37 @@ STR_COLOUR_GREY :Grys STR_COLOUR_WHITE :Wit # Units used in OpenTTD -STR_UNITS_VELOCITY_IMPERIAL :{COMMA} mpu -STR_UNITS_VELOCITY_METRIC :{COMMA} km/h -STR_UNITS_VELOCITY_SI :{COMMA} m/s +STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}mpu +STR_UNITS_VELOCITY_METRIC :{COMMA}{NBSP}km/h +STR_UNITS_VELOCITY_SI :{COMMA}{NBSP}m/s -STR_UNITS_POWER_IMPERIAL :{COMMA}pk -STR_UNITS_POWER_METRIC :{COMMA}pk -STR_UNITS_POWER_SI :{COMMA}kW +STR_UNITS_POWER_IMPERIAL :{COMMA}{NBSP}pk +STR_UNITS_POWER_METRIC :{COMMA}{NBSP}pk +STR_UNITS_POWER_SI :{COMMA}{NBSP}kW -STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}t -STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}t -STR_UNITS_WEIGHT_SHORT_SI :{COMMA}kg +STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_SI :{COMMA}{NBSP}kg -STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA} ton -STR_UNITS_WEIGHT_LONG_METRIC :{COMMA} ton -STR_UNITS_WEIGHT_LONG_SI :{COMMA} kg +STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA}{NBSP}ton +STR_UNITS_WEIGHT_LONG_METRIC :{COMMA}{NBSP}ton +STR_UNITS_WEIGHT_LONG_SI :{COMMA}{NBSP}kg -STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}gelling -STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}l -STR_UNITS_VOLUME_SHORT_SI :{COMMA}m³ +STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}{NBSP}gelling +STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}{NBSP}l +STR_UNITS_VOLUME_SHORT_SI :{COMMA}{NBSP}m³ -STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA} gelling{P "" s} -STR_UNITS_VOLUME_LONG_METRIC :{COMMA} liter{P "" s} -STR_UNITS_VOLUME_LONG_SI :{COMMA} m³ +STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA}{NBSP}gelling{P "" s} +STR_UNITS_VOLUME_LONG_METRIC :{COMMA}{NBSP}liter +STR_UNITS_VOLUME_LONG_SI :{COMMA}{NBSP}m³ -STR_UNITS_FORCE_IMPERIAL :{COMMA} lbf -STR_UNITS_FORCE_METRIC :{COMMA} kgf -STR_UNITS_FORCE_SI :{COMMA} kN +STR_UNITS_FORCE_IMPERIAL :{COMMA}{NBSP}lbf +STR_UNITS_FORCE_METRIC :{COMMA}{NBSP}kgf +STR_UNITS_FORCE_SI :{COMMA}{NBSP}kN -STR_UNITS_HEIGHT_IMPERIAL :{COMMA} vt -STR_UNITS_HEIGHT_METRIC :{COMMA} m -STR_UNITS_HEIGHT_SI :{COMMA} m +STR_UNITS_HEIGHT_IMPERIAL :{COMMA}{NBSP}vt +STR_UNITS_HEIGHT_METRIC :{COMMA}{NBSP}m +STR_UNITS_HEIGHT_SI :{COMMA}{NBSP}m # Common window strings STR_LIST_FILTER_TITLE :{BLACK}Filter string: @@ -249,6 +249,17 @@ STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Rolstaaf STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Rolstaaf - rol die lys links/regs STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Vernietig geboue ens. op 'n vierkant van land +# Show engines button +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}Wys versteekte +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK}Wys weggesteekde +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}Wys weggesteekde +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}Wys weggesteekde + +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}Deur hierdie opsie te aktiveer, sal die weggesteekde treine ook vertoon word +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE_TOOLTIP :{BLACK}Deur hierdie opsie te aktiveer, sal die weggesteekde voertuie ook vertoon word +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}Deur hierdie opsie te aktiveer, sal die weggesteekde skepe ook vertoon word +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Deur hierdie opsie te aktiveer, sal die weggesteekde vliegtuie ook vertoon word + # Query window STR_BUTTON_DEFAULT :{BLACK}Gewone STR_BUTTON_CANCEL :{BLACK}Kanselleer @@ -303,7 +314,7 @@ STR_SORT_BY_POPULATION :Bevolking STR_SORT_BY_RATING :Waardering # Tooltips for the main toolbar -STR_TOOLBAR_TOOLTIP_PAUSE_GAME :{BLACK}Pouseer spel +STR_TOOLBAR_TOOLTIP_PAUSE_GAME :{BLACK}Onderbreek spel STR_TOOLBAR_TOOLTIP_FORWARD :{BLACK}Vinnig vooruit die spel STR_TOOLBAR_TOOLTIP_OPTIONS :{BLACK}Opsies STR_TOOLBAR_TOOLTIP_SAVE_GAME_ABANDON_GAME :{BLACK}Stoor spel, verlaat spel, verlaat @@ -328,7 +339,7 @@ STR_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Bou spoo STR_TOOLBAR_TOOLTIP_BUILD_ROADS :{BLACK}Bou paaie STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}Bou skip hawe STR_TOOLBAR_TOOLTIP_BUILD_AIRPORTS :{BLACK}Bou lughawens -STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}Maak die landargitekteur nutsbalk oop om, land te verhoog/verlaag, boome beplant, ens. +STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}Maak die landargitektuur nutsbalk oop om, land te verhoog/verlaag, boome beplant, ens. STR_TOOLBAR_TOOLTIP_SHOW_SOUND_MUSIC_WINDOW :{BLACK}Vertoon klank/musiek venster STR_TOOLBAR_TOOLTIP_SHOW_LAST_MESSAGE_NEWS :{BLACK}Vertoon laaste boodskap/nuus verslag, vertoon boodskap opsies STR_TOOLBAR_TOOLTIP_LAND_BLOCK_INFORMATION :{BLACK}Land gebied informasie, konsole, skrip ontfouting, skermkiekie, omtrent OpenTTD @@ -353,8 +364,8 @@ STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Plaas vo ############ range for SE file menu starts STR_SCENEDIT_FILE_MENU_SAVE_SCENARIO :Stoor scenario STR_SCENEDIT_FILE_MENU_LOAD_SCENARIO :Laai scenario -STR_SCENEDIT_FILE_MENU_SAVE_HEIGHTMAP :Stoor hoogtekaart -STR_SCENEDIT_FILE_MENU_LOAD_HEIGHTMAP :Laai Hoogtekaart +STR_SCENEDIT_FILE_MENU_SAVE_HEIGHTMAP :Stoor reliëfkaart +STR_SCENEDIT_FILE_MENU_LOAD_HEIGHTMAP :Laai reliëfkaart STR_SCENEDIT_FILE_MENU_QUIT_EDITOR :Verlaat redigeerder STR_SCENEDIT_FILE_MENU_SEPARATOR : STR_SCENEDIT_FILE_MENU_QUIT :Verlaat @@ -362,7 +373,7 @@ STR_SCENEDIT_FILE_MENU_QUIT :Verlaat ############ range for settings menu starts STR_SETTINGS_MENU_GAME_OPTIONS :Spel opsies -STR_SETTINGS_MENU_CONFIG_SETTINGS :Gevorderde stellings +STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Stellings STR_SETTINGS_MENU_SCRIPT_SETTINGS :AI/Spel skript instellings STR_SETTINGS_MENU_NEWGRF_SETTINGS :NewGRF stellings STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Deursigtigheid opsies @@ -422,8 +433,8 @@ STR_INDUSTRY_MENU_FUND_NEW_INDUSTRY :Konsolideer nuw ############ range ends here ############ range for railway construction menu starts -STR_RAIL_MENU_RAILROAD_CONSTRUCTION :Spoorweg konstruksie -STR_RAIL_MENU_ELRAIL_CONSTRUCTION :Elektrifiseerde spoorweg konstruksie +STR_RAIL_MENU_RAILROAD_CONSTRUCTION :Spoorwegkonstruksie +STR_RAIL_MENU_ELRAIL_CONSTRUCTION :Elekriese spoorwegkonstruksie STR_RAIL_MENU_MONORAIL_CONSTRUCTION :Monospoor konstruksie STR_RAIL_MENU_MAGLEV_CONSTRUCTION :Magneetsweeftrein konstruksie ############ range ends here @@ -442,7 +453,7 @@ STR_AIRCRAFT_MENU_AIRPORT_CONSTRUCTION :Lughawe konstru ############ range ends here ############ range for landscaping menu starts -STR_LANDSCAPING_MENU_LANDSCAPING :Landargitekteur +STR_LANDSCAPING_MENU_LANDSCAPING :Landargitektuur STR_LANDSCAPING_MENU_PLANT_TREES :Plant bome STR_LANDSCAPING_MENU_PLACE_SIGN :Plaas teken ############ range ends here @@ -471,7 +482,7 @@ STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :skakel beperkte STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Skakel inkleur van vuil blokke ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window STR_ORDINAL_NUMBER_1ST :1ste STR_ORDINAL_NUMBER_2ND :2de STR_ORDINAL_NUMBER_3RD :3de @@ -487,22 +498,40 @@ STR_ORDINAL_NUMBER_12TH :12de STR_ORDINAL_NUMBER_13TH :13de STR_ORDINAL_NUMBER_14TH :14de STR_ORDINAL_NUMBER_15TH :15de -STR_ORDINAL_NUMBER_16TH :16de -STR_ORDINAL_NUMBER_17TH :17de -STR_ORDINAL_NUMBER_18TH :18de -STR_ORDINAL_NUMBER_19TH :19de -STR_ORDINAL_NUMBER_20TH :20ste -STR_ORDINAL_NUMBER_21ST :21ste -STR_ORDINAL_NUMBER_22ND :22ste -STR_ORDINAL_NUMBER_23RD :23ste -STR_ORDINAL_NUMBER_24TH :24ste -STR_ORDINAL_NUMBER_25TH :25ste -STR_ORDINAL_NUMBER_26TH :26ste -STR_ORDINAL_NUMBER_27TH :27ste -STR_ORDINAL_NUMBER_28TH :28ste -STR_ORDINAL_NUMBER_29TH :29ste -STR_ORDINAL_NUMBER_30TH :30ste -STR_ORDINAL_NUMBER_31ST :31ste +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :1ste +STR_DAY_NUMBER_2ND :2de +STR_DAY_NUMBER_3RD :3de +STR_DAY_NUMBER_4TH :4de +STR_DAY_NUMBER_5TH :5de +STR_DAY_NUMBER_6TH :6de +STR_DAY_NUMBER_7TH :7de +STR_DAY_NUMBER_8TH :8ste +STR_DAY_NUMBER_9TH :9de +STR_DAY_NUMBER_10TH :10de +STR_DAY_NUMBER_11TH :11de +STR_DAY_NUMBER_12TH :12de +STR_DAY_NUMBER_13TH :13de +STR_DAY_NUMBER_14TH :14de +STR_DAY_NUMBER_15TH :15de +STR_DAY_NUMBER_16TH :16de +STR_DAY_NUMBER_17TH :17de +STR_DAY_NUMBER_18TH :18de +STR_DAY_NUMBER_19TH :19de +STR_DAY_NUMBER_20TH :20ste +STR_DAY_NUMBER_21ST :21ste +STR_DAY_NUMBER_22ND :22ste +STR_DAY_NUMBER_23RD :23ste +STR_DAY_NUMBER_24TH :24ste +STR_DAY_NUMBER_25TH :25ste +STR_DAY_NUMBER_26TH :26ste +STR_DAY_NUMBER_27TH :27ste +STR_DAY_NUMBER_28TH :28ste +STR_DAY_NUMBER_29TH :29ste +STR_DAY_NUMBER_30TH :30ste +STR_DAY_NUMBER_31ST :31ste ############ range for days ends ############ range for months starts @@ -574,7 +603,7 @@ STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_DIRECTOR :Direkteur STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_CHIEF_EXECUTIVE :Hoofbestuursleier STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_CHAIRMAN :Voorsitter STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_PRESIDENT :President -STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_TYCOON :Tycoon +STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_TYCOON :Magnaat # Performance detail window STR_PERFORMANCE_DETAIL :{WHITE}Aanwysend prestasie gradering @@ -641,7 +670,7 @@ STR_MUSIC_TOOLTIP_SELECT_CUSTOM_2_USER_DEFINED :{BLACK}Kies 'Be STR_MUSIC_TOOLTIP_TOGGLE_PROGRAM_SHUFFLE :{BLACK}Skakel musiek lys skommel aan/af STR_MUSIC_TOOLTIP_SHOW_MUSIC_TRACK_SELECTION :{BLACK}Vertoon musiek snit keuse venster -STR_ERROR_NO_SONGS :{WHITE}'n Musiek stel was gekies wat nie liedere bevat nie. Niks liedere sal gespel word nie +STR_ERROR_NO_SONGS :{WHITE}'n Musiek stel is gekies wat geen liedere bevat nie. Geen liedere sal gespeel word nie # Playlist window STR_PLAYLIST_MUSIC_PROGRAM_SELECTION :{WHITE}Musiek Program Keuse @@ -654,7 +683,7 @@ STR_PLAYLIST_TOOLTIP_CLICK_TO_ADD_TRACK :{BLACK}Klik op STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Klik op musiek lied om te verwyder van huidige program (Slegs Gewoonte1 of Gewoonte2) # Highscore window -STR_HIGHSCORE_TOP_COMPANIES_WHO_REACHED :{BIG_FONT}{BLACK}Beste maatskappye wat {NUM} +STR_HIGHSCORE_TOP_COMPANIES_WHO_REACHED :{BIG_FONT}{BLACK}Top maatskappye wat {NUM} bereik het STR_HIGHSCORE_TOP_COMPANIES_NETWORK_GAME :{BIG_FONT}{BLACK}Maatskappy Liga Tafel in {NUM} STR_HIGHSCORE_POSITION :{BIG_FONT}{BLACK}{COMMA}. STR_HIGHSCORE_PERFORMANCE_TITLE_BUSINESSMAN :Sakeman @@ -696,7 +725,7 @@ STR_SMALLMAP_LEGENDA_STATIONS_AIRPORTS_DOCKS :{TINY_FONT}{BLA STR_SMALLMAP_LEGENDA_BUILDINGS_INDUSTRIES :{TINY_FONT}{BLACK}Geboue/Nywerhede STR_SMALLMAP_LEGENDA_VEHICLES :{TINY_FONT}{BLACK}Voertuie STR_SMALLMAP_LEGENDA_TRAINS :{TINY_FONT}{BLACK}Treine -STR_SMALLMAP_LEGENDA_ROAD_VEHICLES :{TINY_FONT}{BLACK}Pad Voertuie +STR_SMALLMAP_LEGENDA_ROAD_VEHICLES :{TINY_FONT}{BLACK}Padvoertuie STR_SMALLMAP_LEGENDA_SHIPS :{TINY_FONT}{BLACK}Skepe STR_SMALLMAP_LEGENDA_AIRCRAFT :{TINY_FONT}{BLACK}Vliegtuie STR_SMALLMAP_LEGENDA_TRANSPORT_ROUTES :{TINY_FONT}{BLACK}Vervoer Roetes @@ -730,7 +759,7 @@ STR_SMALLMAP_ENABLE_ALL :{BLACK}Aktiveer STR_SMALLMAP_SHOW_HEIGHT :{BLACK}Vertoon hoogte STR_SMALLMAP_TOOLTIP_DISABLE_ALL_INDUSTRIES :{BLACK}Moet nie enige nywerheide op die kaart vertoon STR_SMALLMAP_TOOLTIP_ENABLE_ALL_INDUSTRIES :{BLACK}Vertoon alle nywerheide op die kaart -STR_SMALLMAP_TOOLTIP_SHOW_HEIGHT :{BLACK}Skakel vertooning van hoogtekaart +STR_SMALLMAP_TOOLTIP_SHOW_HEIGHT :{BLACK}Skakel vertoning van reliëfkaart STR_SMALLMAP_TOOLTIP_DISABLE_ALL_COMPANIES :{BLACK}Vertoon geen maatskappy eiendom op die kaart STR_SMALLMAP_TOOLTIP_ENABLE_ALL_COMPANIES :{BLACK}Vertoon alle maatskappy eiendom op die kaart STR_SMALLMAP_TOOLTIP_DISABLE_ALL_CARGOS :{BLACK}Vertoon geen vrag op die kaart @@ -739,7 +768,7 @@ STR_SMALLMAP_TOOLTIP_ENABLE_ALL_CARGOS :{BLACK}Vertoon # Status bar messages STR_STATUSBAR_TOOLTIP_SHOW_LAST_NEWS :{BLACK}Wys laaste boodskap of nuus verslag STR_STATUSBAR_COMPANY_NAME :{SILVER}- - {COMPANY} - - -STR_STATUSBAR_PAUSED :{YELLOW}* * STIL * * +STR_STATUSBAR_PAUSED :{YELLOW}* * GEONDERBREEK * * STR_STATUSBAR_AUTOSAVE :{RED}OUTOSTOOR STR_STATUSBAR_SAVING_GAME :{RED}* * STOOR SPELETJIE * * @@ -770,15 +799,15 @@ STR_NEWS_DISASTER_SMALL_UFO :{BIG_FONT}{BLAC STR_NEWS_DISASTER_AIRPLANE_OIL_REFINERY :{BIG_FONT}{BLACK}Olie raffinadery het ontplof naby {TOWN}! STR_NEWS_DISASTER_HELICOPTER_FACTORY :{BIG_FONT}{BLACK}fabriek vernietig in agterdogtig omstandighede naby {TOWN}! STR_NEWS_DISASTER_BIG_UFO :{BIG_FONT}{BLACK}'VVV' beland naby {TOWN}! -STR_NEWS_DISASTER_COAL_MINE_SUBSIDENCE :{BIG_FONT}{BLACK}Kool myn bedaaring los spoor van vernietiging naby {TOWN}! +STR_NEWS_DISASTER_COAL_MINE_SUBSIDENCE :{BIG_FONT}{BLACK}Steenkool myn ongeluk los spoor van vernietiging naby {TOWN}! STR_NEWS_DISASTER_FLOOD_VEHICLE :{BIG_FONT}{BLACK}Oorstroom!{}Te minste {COMMA} vermis, aangeneem dood na beduidende oorstroom! STR_NEWS_COMPANY_IN_TROUBLE_TITLE :{BIG_FONT}{BLACK}Vervoer maatsappy in moelikheid! -STR_NEWS_COMPANY_IN_TROUBLE_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} sal binnekort afverkoop of bankrospeler verklaar word tensy prestasie verbeter! +STR_NEWS_COMPANY_IN_TROUBLE_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} sal binnekort verkoop of bankrot verklaar word tensy prestasie verbeter! STR_NEWS_COMPANY_MERGER_TITLE :{BIG_FONT}{BLACK}Vervoer maatskappy samesmelting! STR_NEWS_COMPANY_MERGER_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} is na {STRING} vir {CURRENCY_LONG} verkoop! STR_NEWS_COMPANY_BANKRUPT_TITLE :{BIG_FONT}{BLACK}Bankrotspeler! -STR_NEWS_COMPANY_BANKRUPT_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} is deur skuldeisers toegemaak en alle bates is afverkoop! +STR_NEWS_COMPANY_BANKRUPT_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} is deur skuldeisers toegemaak en alle bates is verkoop! STR_NEWS_COMPANY_LAUNCH_TITLE :{BIG_FONT}{BLACK}Nuwe vervoer maatskappy geloods! STR_NEWS_COMPANY_LAUNCH_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} begin konstruksie naby {TOWN}! STR_NEWS_MERGER_TAKEOVER_TITLE :{BIG_FONT}{BLACK}{STRING} is deur {STRING} oorgevat! @@ -798,12 +827,12 @@ STR_NEWS_BEGIN_OF_RECESSION :{BIG_FONT}{BLAC STR_NEWS_END_OF_RECESSION :{BIG_FONT}{BLACK}Insinking Oor!{}{}Oplewing in sake gee vertroue na nywerhede as ekonomie versterk! STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL :{BIG_FONT}{BLACK}{INDUSTRY} vermeerder produksie! -STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_COAL :{BIG_FONT}{BLACK}Nuwe kool laag gevind by {INDUSTRY}!{}Produksie is verwag om te verdubbel! +STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_COAL :{BIG_FONT}{BLACK}Nuwe steenkool laag gevind by {INDUSTRY}!{}Produksie word voorspel dat dit sal verdubbel! STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_OIL :{BIG_FONT}{BLACK}Nuwe olie reserwes gevind by {INDUSTRY}!{}Produksie is verwag om te verdubbel! STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_FARM :{BIG_FONT}{BLACK}Verbeterde boerdery metodes by {INDUSTRY} sal produksie verdubbel! STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_SMOOTH :{BIG_FONT}{BLACK}{STRING} produksie by {INDUSTRY} vermeerder {COMMA}%! STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL :{BIG_FONT}{BLACK}{INDUSTRY} produksie verminder 50% -STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_FARM :{BIG_FONT}{BLACK}Insek vervuiling oorsaak verwoesting by {INDUSTRY}!{}Produksie verminder 50% +STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_FARM :{BIG_FONT}{BLACK}Insek plaag veroorsaak verwoesting by {INDUSTRY}!{}Produksie verminder 50% STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_SMOOTH :{BIG_FONT}{BLACK}{STRING} produksie by {INDUSTRY} verminder {COMMA}%! STR_NEWS_TRAIN_IS_WAITING :{WHITE}{VEHICLE} wag in depot @@ -811,20 +840,19 @@ STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}{VEHICLE STR_NEWS_SHIP_IS_WAITING :{WHITE}{VEHICLE} wag in depot STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE} wag in die vliegtuig hangar -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE +# Order review system / warnings STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE} het te min bevele in skedule STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE} het 'n leë bevel STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE} het duplikaat bevele STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE} het onwettige stasie in sy bevele -# end of order system +STR_NEWS_PLANE_USES_TOO_SHORT_RUNWAY :{WHITE}{VEHICLE} het 'n bevel om by 'n lughawe te land waar die aanloopbaan te kort is STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} raak oud. STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} raak baie oud. STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD_AND :{WHITE}{VEHICLE} raak baie oud en benodig dringende vervanging. STR_NEWS_TRAIN_IS_STUCK :{WHITE}{VEHICLE} kan nie 'n roete vind om aan te gaan nie. -STR_NEWS_VEHICLE_IS_LOST :{WHITE}{VEHICLE} is verlore. -STR_NEWS_VEHICLE_IS_UNPROFITABLE :{WHITE}{VEHICLE} se wins was verlede jaar {CURRENCY_LONG} +STR_NEWS_VEHICLE_IS_LOST :{WHITE}{VEHICLE} het verdwaal. +STR_NEWS_VEHICLE_IS_UNPROFITABLE :{WHITE}{VEHICLE} se wins verlede jaar was {CURRENCY_LONG} STR_NEWS_AIRCRAFT_DEST_TOO_FAR :{WHITE}{VEHICLE} kan nie die volgende bestemmingpunt bereik nie want dis te ver STR_NEWS_ORDER_REFIT_FAILED :{WHITE}{VEHICLE} het gestop omdat 'n herbou opdrag gefaal het @@ -839,8 +867,8 @@ STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO_OR_CARGO :{WHITE}{STATION STR_NEWS_STATION_NOW_ACCEPTS_CARGO :{WHITE}{STATION} aanvaar nou {STRING} STR_NEWS_STATION_NOW_ACCEPTS_CARGO_AND_CARGO :{WHITE}{STATION} aanvaar nou {STRING} en {STRING} -STR_NEWS_OFFER_OF_SUBSIDY_EXPIRED :{BIG_FONT}{BLACK}Aanbod van subsidie verval:{}{}{STRING} van {STRING} tot {STRING} sal nou nie 'n subsidie aantrek nie. -STR_NEWS_SUBSIDY_WITHDRAWN_SERVICE :{BIG_FONT}{BLACK}Subsidie terugtrek:{}{}{STRING} diens van {STRING} tot {STRING} is nie meer gesubsideieer nie. +STR_NEWS_OFFER_OF_SUBSIDY_EXPIRED :{BIG_FONT}{BLACK}Subsidie-aanbod het verval:{}{}{STRING} van {STRING} tot {STRING} sal nou nie 'n subsidie aantrek nie. +STR_NEWS_SUBSIDY_WITHDRAWN_SERVICE :{BIG_FONT}{BLACK}Subsidie onttrek:{}{}{STRING} diens van {STRING} tot {STRING} is nie meer gesubsideieer nie. STR_NEWS_SERVICE_SUBSIDY_OFFERED :{BIG_FONT}{BLACK}Diens subsidie aanbod:{}{}Eerste {STRING} diens van {STRING} tot {STRING} sal 'n jaar se subsidie van die plaaslike raad kry! STR_NEWS_SERVICE_SUBSIDY_AWARDED_HALF :{BIG_FONT}{BLACK}Diens subsidie toeken aan {STRING}!{}{}{STRING} Diens van {STRING} tot {STRING} sal nou 50% extra vir die volgende jaar betaal! STR_NEWS_SERVICE_SUBSIDY_AWARDED_DOUBLE :{BIG_FONT}{BLACK}Diens subsidie toeken aan {STRING}!{}{}{STRING} diens van {STRING} tot {STRING} sal nou dubbel pryse vir die volgende jaar betaal! @@ -860,39 +888,39 @@ STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW_TT :{BLACK}Plak die # Game options window STR_GAME_OPTIONS_CAPTION :{WHITE}Spel Opsies -STR_GAME_OPTIONS_CURRENCY_UNITS_FRAME :{BLACK}Geld eenhede +STR_GAME_OPTIONS_CURRENCY_UNITS_FRAME :{BLACK}Geldeenheid STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Geld eendheid keuse ############ start of currency region STR_GAME_OPTIONS_CURRENCY_GBP :Britse Pond (GBP) STR_GAME_OPTIONS_CURRENCY_USD :Amerikaanse Dollar (USD) STR_GAME_OPTIONS_CURRENCY_EUR :Euro (EUR) -STR_GAME_OPTIONS_CURRENCY_JPY :Japanese Yen (JPY) -STR_GAME_OPTIONS_CURRENCY_ATS :Austrian Shilling (ATS) -STR_GAME_OPTIONS_CURRENCY_BEF :Belgian Franc (BEF) -STR_GAME_OPTIONS_CURRENCY_CHF :Swiss Franc (CHF) -STR_GAME_OPTIONS_CURRENCY_CZK :Czech Koruna (CZK) -STR_GAME_OPTIONS_CURRENCY_DEM :Deutschmark (DEM) -STR_GAME_OPTIONS_CURRENCY_DKK :Danish Krone (DKK) +STR_GAME_OPTIONS_CURRENCY_JPY :Japannese Jen (JPY) +STR_GAME_OPTIONS_CURRENCY_ATS :Oostenrykse Schilling (ATS) +STR_GAME_OPTIONS_CURRENCY_BEF :Belgiese Frank (BEF) +STR_GAME_OPTIONS_CURRENCY_CHF :Switserse Frank (CHF) +STR_GAME_OPTIONS_CURRENCY_CZK :Tsjeggiese Kroon (CZK) +STR_GAME_OPTIONS_CURRENCY_DEM :Duitse Mark (DEM) +STR_GAME_OPTIONS_CURRENCY_DKK :Deense Krone (DKK) STR_GAME_OPTIONS_CURRENCY_ESP :Spaanse Peseta (ESP) -STR_GAME_OPTIONS_CURRENCY_FIM :Finnish Markka (FIM) +STR_GAME_OPTIONS_CURRENCY_FIM :Finse Markka (FIM) STR_GAME_OPTIONS_CURRENCY_FRF :Franse Frank (FRF) -STR_GAME_OPTIONS_CURRENCY_GRD :Greek Drachma (GRD) -STR_GAME_OPTIONS_CURRENCY_HUF :Hungarian Forint (HUF) -STR_GAME_OPTIONS_CURRENCY_ISK :Icelandic Krona (ISK) -STR_GAME_OPTIONS_CURRENCY_ITL :Italian Lira (ITL) -STR_GAME_OPTIONS_CURRENCY_NLG :Dutch Guilder (NLG) -STR_GAME_OPTIONS_CURRENCY_NOK :Norwegian Krone (NOK) -STR_GAME_OPTIONS_CURRENCY_PLN :Polish Zloty (PLN) -STR_GAME_OPTIONS_CURRENCY_RON :Romanian Leu (RON) -STR_GAME_OPTIONS_CURRENCY_RUR :Russian Rubles (RUR) -STR_GAME_OPTIONS_CURRENCY_SIT :Slovenian Tolar (SIT) -STR_GAME_OPTIONS_CURRENCY_SEK :Swedish Krona (SEK) -STR_GAME_OPTIONS_CURRENCY_TRY :Turkish Lira (TRY) -STR_GAME_OPTIONS_CURRENCY_SKK :Slovak Koruna (SKK) -STR_GAME_OPTIONS_CURRENCY_BRL :Brazilian Real (BRL) -STR_GAME_OPTIONS_CURRENCY_EEK :Estonian Krooni (EEK) -STR_GAME_OPTIONS_CURRENCY_LTL :Litauen Litas (LTL) +STR_GAME_OPTIONS_CURRENCY_GRD :Griekse Dragma (GRD) +STR_GAME_OPTIONS_CURRENCY_HUF :Hongaarse Forint (HUF) +STR_GAME_OPTIONS_CURRENCY_ISK :Yslandse Kroon (ISK) +STR_GAME_OPTIONS_CURRENCY_ITL :Italiaanse Lire (ITL) +STR_GAME_OPTIONS_CURRENCY_NLG :Nederlandse Gulde (NLG) +STR_GAME_OPTIONS_CURRENCY_NOK :Noorweegse Kroon (NOK) +STR_GAME_OPTIONS_CURRENCY_PLN :Poolse Zloty (PLN) +STR_GAME_OPTIONS_CURRENCY_RON :Roemeense Leu (RON) +STR_GAME_OPTIONS_CURRENCY_RUR :Russiese Roebel (RUR) +STR_GAME_OPTIONS_CURRENCY_SIT :Sloweense Tolar (SIT) +STR_GAME_OPTIONS_CURRENCY_SEK :Sweedse Kroon (SEK) +STR_GAME_OPTIONS_CURRENCY_TRY :Turkse Lire (TRY) +STR_GAME_OPTIONS_CURRENCY_SKK :Slowaakse Kroon (SKK) +STR_GAME_OPTIONS_CURRENCY_BRL :Brasiliaanse Real (BRL) +STR_GAME_OPTIONS_CURRENCY_EEK :Estniese Kroon (EEK) +STR_GAME_OPTIONS_CURRENCY_LTL :Litause Litas (LTL) STR_GAME_OPTIONS_CURRENCY_KRW :Suid Koreanse Won (KRW) STR_GAME_OPTIONS_CURRENCY_ZAR :Suid Afrikaanse Rand (ZAR) STR_GAME_OPTIONS_CURRENCY_CUSTOM :Pasmaak... @@ -900,10 +928,6 @@ STR_GAME_OPTIONS_CURRENCY_GEL :Georgiaanse Lar STR_GAME_OPTIONS_CURRENCY_IRR :Iraanse Rial (IRR) ############ end of currency region - -############ start of measuring units region -############ end of measuring units region - STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Pad voertuie STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}Kies kant van pad waarop voertuie ry STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :Bestuur aan linkerkant @@ -939,11 +963,13 @@ STR_GAME_OPTIONS_TOWN_NAME_CATALAN :Catalan STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Outostoor STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Kies interval tussen outomatiese store +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Af STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :Elke maand STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :Elke 3 maande STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :Elke 6 maande STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :Elke 12 maande +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}Taal STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Kies die koppelvlak taal om te gebruik @@ -955,8 +981,12 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}Skerm re STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Kies die skerm resolusie om te gebruik STR_GAME_OPTIONS_RESOLUTION_OTHER :ander -STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}Skermkiekie formaat -STR_GAME_OPTIONS_SCREENSHOT_FORMAT_TOOLTIP :{BLACK}Kies die skermkiekie formaat om te gebruik +STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK} Koppelvlak groote +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK} Kies die koppelvlak element groote om te gebruik + +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normaal +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Dubbel groote +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Quad grootte STR_GAME_OPTIONS_BASE_GRF :{BLACK}Basis-grafikastel STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Kies die basis-grafikastel stel om te gebruik @@ -972,6 +1002,7 @@ STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Kies die STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} korrupte lêer{P "" s} STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Addisionele informasie oor die basis musiek stel +STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Kon nie 'n lys van beskikbare skermresolusies bepaal nie STR_ERROR_FULLSCREEN_FAILED :{WHITE}Volskerm metode gedop # Custom currency window @@ -1013,11 +1044,11 @@ STR_NUM_CUSTOM :Pasmaak STR_NUM_CUSTOM_NUMBER :Pasmaak ({NUM}) STR_VARIETY_NONE :Geen -STR_VARIETY_VERY_LOW :Baaie Laag +STR_VARIETY_VERY_LOW :Baie Laag STR_VARIETY_LOW :Laag STR_VARIETY_MEDIUM :Middelmatig STR_VARIETY_HIGH :Hoog -STR_VARIETY_VERY_HIGH :Baaie Hoog +STR_VARIETY_VERY_HIGH :Baie Hoog STR_AI_SPEED_VERY_SLOW :Baie Stadig STR_AI_SPEED_SLOW :Stadig @@ -1050,6 +1081,7 @@ STR_TERRAIN_TYPE_VERY_FLAT :Baie Plat STR_TERRAIN_TYPE_FLAT :Plat STR_TERRAIN_TYPE_HILLY :Koppierig STR_TERRAIN_TYPE_MOUNTAINOUS :Bergagtig +STR_TERRAIN_TYPE_ALPINIST :Alpinis STR_CITY_APPROVAL_PERMISSIVE :Permissief STR_CITY_APPROVAL_TOLERANT :Toelaatbaar @@ -1057,8 +1089,8 @@ STR_CITY_APPROVAL_HOSTILE :Vyandelik STR_WARNING_NO_SUITABLE_AI :{WHITE}Geen geskikte KI beskikbaar...{}Jy kan verskeie KI's aflaai deur middel van die 'Aanlyn Inhoud' stelsel -# Advanced settings window -STR_CONFIG_SETTING_CAPTION :{WHITE}Gevorderde stellings +# Settings tree window +STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Stellings STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Filter string: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Brei alles uit STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Krimp alles in @@ -1073,20 +1105,20 @@ STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :Maatskappy inst STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK}Kategorie: STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}Tipe: -STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Beperk die lys hier onder tot slegs veranderde verstellings -STR_CONFIG_SETTING_RESTRICT_BASIC :Basiese verstellings -STR_CONFIG_SETTING_RESTRICT_ADVANCED :Gevorderde verstellings -STR_CONFIG_SETTING_RESTRICT_ALL :Ekspert verstellings / alle verstellings +STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Beperk die lys hier onder deur voorafgestelde "filters" te gebruik slegs veranderde verstellings +STR_CONFIG_SETTING_RESTRICT_BASIC :Basiese (wys net belangrik verstellings) +STR_CONFIG_SETTING_RESTRICT_ADVANCED :Gevorderde (wys meeste verstellings) +STR_CONFIG_SETTING_RESTRICT_ALL :Ekspert (wys alle verstellings, insluitend vreemde verstellings) STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :Verstellings met 'n waarde anders as die verstek waarde STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :Verstellings met 'n waarde anders as die nuwe spel verstellings STR_CONFIG_SETTING_TYPE_DROPDOWN_HELPTEXT :{BLACK}Beperk die lys hieronder tot net sekere instelling tiepes STR_CONFIG_SETTING_TYPE_DROPDOWN_ALL :Alle instellings -STR_CONFIG_SETTING_TYPE_DROPDOWN_CLIENT :Kliënt instelling (word nie in spaarspeletjies gestoor nie; raak alle speletjies) -STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :Spel instelling (word gestoor in spaarspeletjies; raak net nuwe speletjies) -STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :Spel instelling (word gestoor in spaarspeletjie; raak net die huidige speletjie) -STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :Maatskappy instelling (word gestoor in spaarspeletjies; raak slegs nuwe speletjies) -STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :Maatskappy instelling (word gestoor in spaarspeletjie; raak net die huidige maatskappy) +STR_CONFIG_SETTING_TYPE_DROPDOWN_CLIENT :Kliënt-instellings (word nie in spaarspeletjies gestoor nie; raak alle speletjies) +STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :Spel-instellings (word gestoor in spaarspeletjies; raak net nuwe speletjies) +STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :Spel-instellings (word gestoor in spaarspeletjie; raak net die huidige speletjie) +STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :Maatskappy-instellings (word gestoor in spaarspeletjies; raak slegs nuwe speletjies) +STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :Maatskappy-instellings (word gestoor in spaarspeletjie; raak net die huidige maatskappy) STR_CONFIG_SETTING_CATEGORY_HIDES :{BLACK}Wys alle soekresultate deur oprigting{}{SILVER}Kategorie {BLACK}tot {WHITE}{STRING} STR_CONFIG_SETTING_TYPE_HIDES :{BLACK}Wys alle soekresultate deur oprigting{}{SILVER}Tik {BLACK}tot {WHITE}Alle opstel tipes STR_CONFIG_SETTING_CATEGORY_AND_TYPE_HIDES :{BLACK}Wys alle soekresultate deur oprigting{}{SILVER}Kategorie {BLACK}tot {WHITE}{STRING} {BLACK}en {SILVER}Tik {BLACK}tot {WHITE}Alle opstel tipes @@ -1131,11 +1163,12 @@ STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Skakel rampe aa STR_CONFIG_SETTING_CITY_APPROVAL :Stadsraad se gesindheid teenoor omgewings-konstruksie: {STRING} STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Kies hoeveel invloed klank en skade aan die omgewing deur maatskappye aan die stadswaardering het en verderde bouwerk in die stad. -STR_CONFIG_SETTING_BUILDONSLOPES :Laat bou op skuinstes en kuslyn toe: {STRING} -STR_CONFIG_SETTING_BUILDONSLOPES_HELPTEXT :As geaktiveer, kan spore en stasies op meeste hellings gebou word. Indien gedeaktiveer, kan hulle net gebou work op hellings wat die rigting van die spoor volg, en dus geen fondasies verg nie -STR_CONFIG_SETTING_AUTOSLOPE :Laat landargitektuur toe onder geboue, spore, ens. (outohelling): {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :Maksimum kaarthoogte: {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :Stel die maksimum toegelate berghoogte +STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}Kan nie die berghoogte verander nie - daar is hoër berge as hierdie op die kaart +STR_CONFIG_SETTING_AUTOSLOPE :Laat landargitektuur toe onder geboue, spore, ens.: {STRING} STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Laat Landargitektuur onder geboue en spore sonder om dit te verwyder -STR_CONFIG_SETTING_CATCHMENT :Laat meer realisties grootte opvangsgebied toe: {STRING} +STR_CONFIG_SETTING_CATCHMENT :Laat meer realisties groote opvangsgebied toe: {STRING} STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Laat verskillende groote opvang gebiede toe vir verskillende tipes stasies en lughawens STR_CONFIG_SETTING_EXTRADYNAMITE :Laat verwydering van meer stad-besite paaie, bruge, ens toe: {STRING} STR_CONFIG_SETTING_EXTRADYNAMITE_HELPTEXT :Maak dit makliker om dorps eiendom en infrastruktuur te verwyder @@ -1157,19 +1190,15 @@ STR_CONFIG_SETTING_FORBID_90_DEG :Verbied triene STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90 grade draaie kom voor wanneer 'n horisontale spoor direk gevolg deur 'n vertikale spoor op die aangrensende teël, dus waardeur die trein 'n 90 grade draai maak deur die teël rand in plaas van die gewone 45 grade vir 'n ander spoor kombinasies. Dit geld ook vir die draai radius van skepe STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Laat toe dat stasies lanks mekaar gebind kan word: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Laat die toevoeging van dele van 'n stasie sonder om direk aan die bestaande dele te raak toe. Ctrl+klik om die nuwe dele te plaas -STR_CONFIG_SETTING_IMPROVEDLOAD :Gebruik verebeterde laai algoritme: {STRING} -STR_CONFIG_SETTING_IMPROVEDLOAD_HELPTEXT :Indien geaktiveer, verskeie voertuie wat by 'n stasie wag sal opeenvolgend gelaai word. Die laai van die volgende voertuig begin eers wanneer daar is genoeg vrag is wat wag om die eerste voertuig te vul -STR_CONFIG_SETTING_GRADUAL_LOADING :Laai voertuie geleidelik: {STRING} -STR_CONFIG_SETTING_GRADUAL_LOADING_HELPTEXT :Geleidelik laai vanvoertuie deur die gebruik van die voertuig se spesifieke laai tydsduur, in plaas van om alles op eenslag te laai met 'n vaste tydduur, afhangende van diehoeveelheid vrag gelaai STR_CONFIG_SETTING_INFLATION :Inflasie: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :Aktiveer inflasie in die ekonomie, waar die kostes vinniger styg as betalings -STR_CONFIG_SETTING_SELECTGOODS :Aflewer vrag na 'n stasie slegs as daar 'n aanvrag is:: {STRING} -STR_CONFIG_SETTING_SELECTGOODS_HELPTEXT :Lewer slegs 'n vrag af by 'n stasie wat die vrag van die voertuig versoek het. Dit verhoed dat slegte graderings vir ladings wat nie benodig word by 'n stasie nie STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Maximum brug lengte: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Maximum lengte vir die bou van bruë +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :Maksimum brughoogte: {STRING} +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :Maksimum hoogte om brûe te bou STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Maximum tonnel lengte: {STRING} STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :Maximum lengte vir die bou van tonnels -STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Manual primêre nywerheid konstruksie metode: {STRING} +STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Handmatige primêre nywerheid konstruksie metode: {STRING} STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_HELPTEXT :Metode van befondsing van 'n primêre bedryf."Niks" beteken dit nie moontlik is om enige bedryf te finansier, "prospekteer" beteken befondsing is moontlik, maar konstruksie vind plaas in 'n toevallige plek op die kaart en dit kan ook misluk, "ander nywerhede" beteken rou bedrywe kan opgerig word deur ander maatskappye soos verwerking nywerhede. STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NONE :Geen STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NORMAL :As ander nywerhede @@ -1192,8 +1221,6 @@ STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Plek waar 'n tr STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :naby einde STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :middel STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :ver einde -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING :Pad voertuig toustaan (met kwantum effekte): {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING_HELPTEXT :Maak 'n pad voertuig wag by besette padstoppe totdat hulle leeg is STR_CONFIG_SETTING_AUTOSCROLL :Rol skerm as muis by die kant is: {STRING} STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :As dit geaktiveer is, sal subventers begin skuif wanneer die muis naby die kante van die venster is STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Gedeaktiveer @@ -1224,10 +1251,6 @@ STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Laat deur-ry pa STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Laat Bouery van deur-ry pad stasies op dorp beheerde paaie STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Laat deur-ry padhalte toe op paaie wat deur ander deelnemers besit word: {STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Laat die konstruksie van die ry-deur pad stasies op paaie toe wat deur ander maatskappye besit word -STR_CONFIG_SETTING_ADJACENT_STATIONS :Laat die bou van aangrensende stasies toe: {STRING} -STR_CONFIG_SETTING_ADJACENT_STATIONS_HELPTEXT :Laat verskeie stasies toe om mekaar te raak -STR_CONFIG_SETTING_DYNAMIC_ENGINES :Aktiveer veeltallige NewGRF enjin stelle: {STRING} -STR_CONFIG_SETTING_DYNAMIC_ENGINES_HELPTEXT :versoenbaarheid opsie vir ou NewGRFs. Moenie deaktiveer, behalwe as jy weet wat jy doen! STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Verandering van die stelling is nie moontlik wanneer daar voertuie is nie STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Infrastruktuur onderhoud: {STRING} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :As dit geaktiveer is sal dit veroorsaak dat infrastruktuur onderhoudskoste verhoog. Die koste groei oor-proporsioneel met die netwerk grootte, wat groter maatskappye meer as kleiner maatskappye benadeel @@ -1248,7 +1271,7 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Voertuie verval STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :As dit geaktiveer is, sal voertuig modelle altyd beskikbaar bly, na die bekendstelling daarvan STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Outohernuwe voertuig as hy oud raak: {STRING} STR_CONFIG_SETTING_AUTORENEW_VEHICLE_HELPTEXT :As dit geaktiveer is, word 'n voertuig wat naby die einde van sy werkslewe kom outomaties vervang, wanneer die hernu voorwaardes vervul is. -STR_CONFIG_SETTING_AUTORENEW_MONTHS :Outoherbou wanneer voertuig is {STRING} max ouderdom +STR_CONFIG_SETTING_AUTORENEW_MONTHS :Vervang voertuig outomaties na {STRING} maksimum leeftyd STR_CONFIG_SETTING_AUTORENEW_MONTHS_HELPTEXT :Relatiewe ouderdom waneer voertuie herweeg moet word ver outo-vervanging STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_BEFORE :{COMMA} maand{P 0 "" e} voor STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_AFTER :{COMMA} maand{P 0 "" e} later @@ -1258,7 +1281,7 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :Tyd wat fout bo STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Tydsduur vir die vertoning van foutboodskappe. Kritiese foutboodskappe word nie outomaties toegemaak nie. STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{COMMA} sekonde{P 0 "" s} STR_CONFIG_SETTING_HOVER_DELAY :wys sleutel-leidraad: {STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Tydsduur voor nutswenke vertoon words as die muis oor koppelvlakelemente gehou word. Nutswenke kan ook aan die regter-muisknoppie verbind word. +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Tydsduur voor nutswenke vertoon words as die muis oor koppelvlakelemente gehou word. Alternatiewelik kan die nutswenke ook aan die regter-muisknoppie verbind word indien die stelling na 0 gestel word. STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Sweef vir {COMMA} sekonde{P 0 "" s} STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Regsklik STR_CONFIG_SETTING_POPULATION_IN_LABEL :Toon stadsbevolking in die naametiket: {STRING} @@ -1266,31 +1289,45 @@ STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Vertoon die bev STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Dikte van lyn in grafieke: {STRING} STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Wydte van kaartlyne. A dun lyn is meer akkuraat om te lees, maar 'n dikker lyn is makliker om te sien en te onderskei van ander lyne. +STR_CONFIG_SETTING_LANDSCAPE :Landskap: {STRING} +STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Die landskap beheer die basies spelopsies vir verskillende vrag en hoe dorpe groei. NewGRF en spelskrips gee meer opsies. STR_CONFIG_SETTING_LAND_GENERATOR :Land genereerder: {STRING} +STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :Hoe die land geskep word, hang af van die grafika stel en skep vaste landskap vorms. TerraGenesis is 'n Perlin-geraas gebasseerde skepper met meer beheerinstellings. STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Oorspronklik STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis -STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Max afstand van kaart einde vir Olieraffinaderye : {STRING} +STR_CONFIG_SETTING_TERRAIN_TYPE :Tipe terrein: {STRING} +STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(Slegs TerraGenesis) Bergagtigheid van die land +STR_CONFIG_SETTING_INDUSTRY_DENSITY :Nywerheidsdigtheid: {STRING} +STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Kies hoeveel nywerhede geskep gaan word en hoeveel gedurende die spel te handhaaf +STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Maksimum afstand vanaf rand vir olieraffinaderye: {STRING} STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Olieraffinaderye word net naby die kaart kant gebou, dit is, teen die kus vir eiland kaarte STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Sneeu lyn hoogte: {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Grofheif van terrein (slegs TerraGenesis) : {STRING} +STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Beheer die hoogte van die sneeuvlak. Die sneeuvlak bepaal ook hoeveel nywerhede geskep word en hoe vinnig dorpe groei. +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Grofheid van terrein: {STRING} +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(Slegs TerraGenesis) Kies die heuwelagtigheid: 'n Vlak land het 'n paar heuwel wat wyd versprei is. 'n Rowwe landskap het baie heuwels wat herhaaldelik voorkom. STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Baie Glad STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Glad STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Rof STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Baie Rof +STR_CONFIG_SETTING_VARIETY :Verskeidenheid verspreiding: {STRING} +STR_CONFIG_SETTING_VARIETY_HELPTEXT :(Slegs TerraGenesis) Kies of die land berge en vlaktes het. Hierdie instelling maak die landskap vlakker, so ander instellings moet bergagtig wees. +STR_CONFIG_SETTING_RIVER_AMOUNT :Aantal riviere: {STRING} +STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Kies hoeveel riviere geskep gaan word STR_CONFIG_SETTING_TREE_PLACER :Boom plaas algoritme: {STRING} +STR_CONFIG_SETTING_TREE_PLACER_HELPTEXT :Kies vir verspreiding van bome: 'Oorspronklik' versprei bome eweredig, 'Verbeterde' versprei bome in woude STR_CONFIG_SETTING_TREE_PLACER_NONE :Geen STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :Oorspronklik STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :Verbeter -STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Hoogtekaart rotasie: {STRING} -STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Teller vooruit -STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Vooruit +STR_CONFIG_SETTING_ROAD_SIDE :Padvoertuie: {STRING} +STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :Kies die bestuurskant +STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Reliëfkaart orientasie: {STRING} +STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Anti-kloksgewys +STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Kloksgewys STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :Die hoogte vlak wat 'n plat scenario kaart kry: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :Aktiveer terra vorming van teëls op die kaart rant: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES_HELPTEXT :wanneer gedeaktiveer, die kaart se kante sal altyd see wees STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}Een of meer teëls op die Noordelike grens is nie leeg nie STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}Een of meer teëls by een van die kante is nie water nie -STR_CONFIG_SETTING_STATION_SPREAD :Max stasie sprei: {STRING} +STR_CONFIG_SETTING_STATION_SPREAD :Maksimum stasiegrootte: {STRING} STR_CONFIG_SETTING_STATION_SPREAD_HELPTEXT :Hoe groot 'n area 'n stasie mag opneem. Groter waardes kan die spel stadig maak. STR_CONFIG_SETTING_SERVICEATHELIPAD :Diens helikopters by helihawes outomaties: {STRING} STR_CONFIG_SETTING_SERVICEATHELIPAD_HELPTEXT :Diens helikopters na elke landing, selfs al is daar nie 'n diensstasie by die lughawe nie @@ -1307,7 +1344,7 @@ STR_CONFIG_SETTING_SMOOTH_SCROLLING :Maak kykpoort b STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Beheer hoe die hoofvertoonvenster skuif na 'n spesifieke posisie - as dit geaktiveer is, dan skuif die venster glad na die posisie toe, andersins skuif die venster direk na die posisie toe. STR_CONFIG_SETTING_MEASURE_TOOLTIP :Toon 'n meting wanneer jy verskeie bou-gereedskap gebruik: {STRING} STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT :Vertoon teëlafstand en hoogteverskil gedurende bouwerk. -STR_CONFIG_SETTING_LIVERIES :Toon maatskappy lewerye: {STRING} +STR_CONFIG_SETTING_LIVERIES :Toon voertuigspesifieke kleure: {STRING} STR_CONFIG_SETTING_LIVERIES_HELPTEXT :Beheer die gebruik van voertuig-gebasseerde kleurskemas (teenoor maatskappy-gebasseerde kleurskemas) STR_CONFIG_SETTING_LIVERIES_NONE :Geen STR_CONFIG_SETTING_LIVERIES_OWN :Eie maatskappy @@ -1337,26 +1374,24 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Af STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Links-klik vir skermrol: {STRING} STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :Maak dit moontlik om die kaart te skuif deur met die die linker-muisknoppie te sleep. Hier opsie werk baie goed vir toestelle met raakskerms. +STR_CONFIG_SETTING_AUTOSAVE :Outostoor: {STRING} +STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Tyd tussen outomatiese spelstore + STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Gebruik die {STRING} datum formaat vir gestoorde spel name. STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Formaat van datum van spaar-speletjie naam STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :lank (31ste Des 2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :kort (31-12-2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE :Standaard palet word aangeneem vir NewGRFs geen palet gespesifiseer: {STRING} -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_HELPTEXT :Verstek kleurskema om te gebruik vir NewGRFs wat nie spesifeer watter kleurskema benodig word nie -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_DOS :Verstek (D) kleur skakering -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_WIN :Tradisionele (W) kleur skakering - STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Outomaties pouse wanneer om te begin 'n nuwe speletjie: {STRING} -STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :As hierdie opsie geaktiveer is, sal die spel gepousseer wees wanneer die spel begin. -STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Wanneer gepouseer laat toe: {STRING} +STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :As hierdie opsie geaktiveer is, sal die spel geonderbreek wees wanneer die spel begin. +STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Wanneer geonderbreek laat die toe: {STRING} STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_HELPTEXT :Selekteer watter aksies mag gedoen word terwyl die speletjie onderbreek word STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :Geen aksies STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :Alle nie-konstruksie aksies STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :Alles behalwe landskap-veranderende aksies STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_ACTIONS :Alle aksies -STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Gebruik die voorloopende voertuiglys: {STRING} +STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Gebruik groepe in die voertuiglys: {STRING} STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Aktiveer die gebruik van die gevorderde voertuig lys vir groepering van voertuie STR_CONFIG_SETTING_LOADING_INDICATORS :Gebruik laai aanwysers: {STRING} STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Kies of die ladingswaardes vertoon word wanneer voertuie vrag op- en aflaai @@ -1365,13 +1400,13 @@ STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT :Wys die rystye STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE :Toon aankoms en vertrek in tydroosters: {STRING} STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT :Vertoon verwagte aankoms en vertrek tye in tydroosters STR_CONFIG_SETTING_QUICKGOTO :Vinnige skepping van voertuig opdragte: {STRING} -STR_CONFIG_SETTING_QUICKGOTO_HELPTEXT :Pre-selekteer die "gaan na wyser" wanneer didie bevele venster oop gemaak word +STR_CONFIG_SETTING_QUICKGOTO_HELPTEXT :Pre-selekteer die "gaan na wyser" wanneer die bevele venster oop gemaak word STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE :Verstek spoor tipe (na nuwe spel/spel laai): {STRING} STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_HELPTEXT :Spoortipe om te kies wanneer 'n nuwe spel begin. 'Eers beskikbaar' kies die oudste tipe spoor, 'Laas beskikbaar' kies die nuutste tipe spoor, 'Meeste gebruik' kies die spoor wat die meeste in gebruik is. STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_FIRST :Eers beskikbaar STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_LAST :Laas beskikbaar STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_MOST_USED :Meeste gebruik -STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :Wys gereserveerde spore: {STRING} +STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :Wys spoorreserverings: {STRING} STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION_HELPTEXT :Wys gereserveerde spore in 'n ander kleur om te help wanneer treine nie die regte roetes kies nie STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Hou bou gereedskap aktief na gebruik: {STRING} STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Hou die bougereedskap vir brûe, tonnels ens. aktief na gebruik @@ -1397,13 +1432,13 @@ STR_CONFIG_SETTING_SOUND_AMBIENT_HELPTEXT :Speel omgewings STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING :Deaktiveer infrastruktuur bouery as geen geskikte voertuie beskikbaar is nie: {STRING} STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING_HELPTEXT :As dit geaktiveer is, is infrastruktuur net beskikbaar as daar ook voertuie beskikbaar is om daardie infrastruktuur te gebruik. Dit is om tyd- en geldmors op onbruikbare infrastruktuur te voorkom. -STR_CONFIG_SETTING_MAX_TRAINS :Maks treine per speler: {STRING} +STR_CONFIG_SETTING_MAX_TRAINS :Maksimum aantal treine per speler: {STRING} STR_CONFIG_SETTING_MAX_TRAINS_HELPTEXT :Maksimum hoeveelheid treine was 'n besigheid kan hê -STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :Max pad voertuie per speler: {STRING} +STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :Maksimum aantal padvoertuie per maatskappy: {STRING} STR_CONFIG_SETTING_MAX_ROAD_VEHICLES_HELPTEXT :Maksimum hoeveelheid pad voertuie was 'n besigheid kan hê -STR_CONFIG_SETTING_MAX_AIRCRAFT :Maks vliegtuie per speler: {STRING} +STR_CONFIG_SETTING_MAX_AIRCRAFT :Maksimum aantal vliegtuie per speler: {STRING} STR_CONFIG_SETTING_MAX_AIRCRAFT_HELPTEXT :Maksimum hoeveelheid vliegtuie was 'n besigheid kan hê -STR_CONFIG_SETTING_MAX_SHIPS :Maks skepe per speler: {STRING} +STR_CONFIG_SETTING_MAX_SHIPS :Maksimum aantal skepe per speler: {STRING} STR_CONFIG_SETTING_MAX_SHIPS_HELPTEXT :Maksimum hoeveelheid bote was 'n besigheid kan hê STR_CONFIG_SETTING_AI_BUILDS_TRAINS :Sper treine vir rekenaar: {STRING} @@ -1430,7 +1465,7 @@ STR_CONFIG_SETTING_SERVINT_ISPERCENT :Diens pouse is STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Kies of voertuie gediens word gebasseer op tydsduur vanaf vorige diens of as die voertuig se betroubaarheid met 'n sekere persentasie geval het van die maksimum STR_CONFIG_SETTING_SERVINT_TRAINS :Standaard diens interval vir treine: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Kies die standaard diensskedule vir nuwe treine as geen diensskedule aangedui is nie -STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA} da{P g e}/% +STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}da{P g e}/% STR_CONFIG_SETTING_SERVINT_DISABLED :Gedeaktiveer STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES :Standaard diens interval vir pad voertuie: {STRING} STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES_HELPTEXT :Kies die standaard diensskedule vir nuwe padvoertuie as geen diensskedule aangedui is nie @@ -1497,7 +1532,7 @@ STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT :Bepaal wat gebe STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE :Outomaties bou semaphores voor: {STRING} STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT :Stel die jaar wanneer elektriese seine gebruik word vir spore. Voor hierdie jaar word seinpale gebruik (die manier waarop hulle werk is presies dieselfde). STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI :Aktiveer die sein GUI: {STRING} -STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI_HELPTEXT :Vertoon 'n venster om sein-tipes te kies eerder as om Ctrl+klik te gebruik om te bepaal watter sein-tipes geplaas word +STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI_HELPTEXT :Vertoon 'n venster om te kies watter sein-tipes te bou, eerder as vensterlose sein-tipe met Ctrl+klik te gebruik om te sein-tipes gebou word STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE :Sein tipe om te bou by verstek: {STRING} STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE_HELPTEXT :Standaard sein tipe om te gebruik STR_CONFIG_SETTING_DEFAULT_SIGNAL_NORMAL :Blok seine @@ -1569,12 +1604,10 @@ STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 in {COMMA} STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Geen STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Aanvanklike stad grootte multiplier: {STRING} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Normale stede groote relatief na normale dorpe aan die begin van speletjie -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :Verwyder absurde pad-elemente gedurende die pad konstruksie: {STRING} -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD_HELPTEXT :Verwyder doodloop strate, wanner befondse pad konstruksie plaasvind -STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Herreken die verspreingskaart elke {STRING} da{P 0:2 g e} +STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Herreken die verspreingskaart elke {STRING}{NBSP}da{P 0:2 g e} STR_CONFIG_SETTING_LINKGRAPH_INTERVAL_HELPTEXT :Tyd tussen daaropvolgende herrekeninge van die verspreidingskaart. Elke herrekening is vir een komponent van die hele kaart, so net 'n gedeelte is dan op datum, nie die hele kaart nie. Hoe korter hierdie stelling is, hoe meer verwerkingskrag word benodig, hoe langer hierdie stelling is, hoe langer vat dit vir die vrag om op nuwe roetes te versprei. -STR_CONFIG_SETTING_LINKGRAPH_TIME :Neem {STRING} da{P 0:2 g e} om verspreidingskaart te herreken +STR_CONFIG_SETTING_LINKGRAPH_TIME :Neem {STRING}{NBSP}da{P 0:2 g e} om verspreidingskaart te herreken STR_CONFIG_SETTING_LINKGRAPH_TIME_HELPTEXT :Tyd benodig vir die herrekening van elke komponent van die verspreidingskaart. Elke berekening kan vir hierdie aantal dae hardloop, as hierdie stelling te kort is en die berekening is nie klaar nie, dan kan die spel stop tot die berekening klaar gedoen is. Hoe meer tyd toegelaat word vir hierdie berekeninge, hoe langer vat dit vir die verspreidingskaart om te verander as roetes verander. STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :handmatig STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :asimmetries @@ -1586,7 +1619,7 @@ STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"simmetries" be STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Verspreidingsmodel vir pantservoertuie: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :Pantservoertuie word gebruik vir edelmetale in die matige klimaat, diamante in die sub-tropiese klimaat en goud in die sub-arktiese klimaat. NewGRFs kan dit verander. "simmetries" beteken dat ongeveer dieselfde hoeveelheid vrag tussen twee stasies gestuur word. "asimmetries" beteken dat vrag tussen twee stasies na willekeur gestuur word. "handmatig" beteken dat geen vrag nie outomaties versprei word nie. Dit word voorstel om "asimmetries" of "handmatig" te kies in die sub-arktiese klimaat omdat banke nie goud kan terugstuur na 'n myn toe nie. In die matige en sub-tropiese klimaat kan jy ook simmetries kies sodat banke edelmetale kan terugstuur na die bank van oorsprong. STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Verspreidingsmodel vir ander vragkategorieë: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"simmetries" beteken dat ongeveer dieselfde hoeveelheid vrag tussen twee stasies gestuur word. "asimmetries" beteken dat vrag tussen twee stasies na willekeur gestuur word. "handmatig" beteken dat geen vrag nie outomaties versprei word nie. Die voorkeur is vir "asimmetries" of "handmatig". +STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"asimmetries" beteken dat vrag tussen twee stasies na willekeur gestuur word. "handmatig" beteken dat geen vrag nie outomaties versprei word nie. STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Verspreidingsakkuraatheid: {STRING} STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Hoe hoër hierdie waarde is, hoe meer rekenkrag word benodig om die verspreidingskaart te bereken. As die waarde te hoog is, kan dit die spel stadig maak en as die waarde te laag is, kan die verspreidingskaart onakkuraat maak en veroorsaak dat vrag na onverwagte bestemmings gestuur word. STR_CONFIG_SETTING_DEMAND_DISTANCE :Afstandeffek op vragaanvraag: {STRING} @@ -1615,44 +1648,46 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_METRIC :Metries (t/ton) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_SI :SI (kg) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME :Volume eenheid: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_HELPTEXT :Wys volume in die eenheid wat gekies is +STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_HELPTEXT :Wanneer 'n volume gewys word in die gebruikerskoppelvlak, wys dit in die geselekteerde eenhede STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_IMPERIAL :Empiries (gelling) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_METRIC :Metries (I) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_SI :SI (m³) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE :Trekkrag eenhede: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_HELPTEXT :Wys trekkrag in die eenheid was gekies is +STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_HELPTEXT :Wanneer 'n trekkrag gewys word in die gebruikerskoppelvlak, wys dit in die geselekteerde eenhede STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_IMPERIAL :Empiries (lbf) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_METRIC :Metries (kgf) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_SI :SI (kN) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT :Hoogte eenheid: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT :Wys hoogte in die eenheid wat gekies is +STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT :Wanneer 'n hoogte word in die gebruikerskoppelvlak, wys dit in die geselekteerde eenhede STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :Empiries (vt) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :Metries (m) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :SI (m) -STR_CONFIG_SETTING_GUI :{ORANGE}koppelvlak -STR_CONFIG_SETTING_LOCALISATION :{ORANGE}Lokalisasie -STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}Konstruksie +STR_CONFIG_SETTING_LOCALISATION :{ORANGE}Eenhede +STR_CONFIG_SETTING_GRAPHICS :{ORANGE}Grafika +STR_CONFIG_SETTING_SOUND :{ORANGE}Klank +STR_CONFIG_SETTING_INTERFACE :{ORANGE}Koppelvlak +STR_CONFIG_SETTING_INTERFACE_GENERAL :{ORANGE}Algemeen +STR_CONFIG_SETTING_INTERFACE_VIEWPORTS :{ORANGE}Vertoonvensters +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Konstruksie +STR_CONFIG_SETTING_ADVISORS :{ORANGE}Nuus / Raad +STR_CONFIG_SETTING_COMPANY :{ORANGE}Maatskappy +STR_CONFIG_SETTING_ACCOUNTING :{ORANGE}Rekeningkunde STR_CONFIG_SETTING_VEHICLES :{ORANGE}Voertuie -STR_CONFIG_SETTING_STATIONS :{ORANGE}Stasies -STR_CONFIG_SETTING_ECONOMY :{ORANGE}Ekonomie -STR_CONFIG_SETTING_LINKGRAPH :{ORANGE}Vrag Verspreiding -STR_CONFIG_SETTING_AI :{ORANGE}Mededingers -STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}Skerm opsies -STR_CONFIG_SETTING_INTERACTION :{ORANGE}Interaksie -STR_CONFIG_SETTING_SOUND :{ORANGE}Klankeffekte -STR_CONFIG_SETTING_NEWS :{ORANGE}Nuus en booskappe -STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}Seine -STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE}Goedere hantering -STR_CONFIG_SETTING_AI_NPC :{ORANGE}Rekenaar spelers -STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE}Outo hernu -STR_CONFIG_SETTING_VEHICLES_SERVICING :{ORANGE}Diens +STR_CONFIG_SETTING_VEHICLES_PHYSICS :{ORANGE}Fisika STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Roete -STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}Treine -STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}Dorpe -STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}Nywerhede +STR_CONFIG_SETTING_LIMITATIONS :{ORANGE}Beperkings +STR_CONFIG_SETTING_ACCIDENTS :{ORANGE}Ongelukke & rampe +STR_CONFIG_SETTING_GENWORLD :{ORANGE}Land skepping +STR_CONFIG_SETTING_ENVIRONMENT :{ORANGE}Omgewing +STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :{ORANGE}Stadsrade +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Dorpe +STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}Nywerhede +STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :{ORANGE}Vragverspreiding +STR_CONFIG_SETTING_AI :{ORANGE}Mededingers +STR_CONFIG_SETTING_AI_NPC :{ORANGE}Rekenaar spelers STR_CONFIG_SETTING_PATHFINDER_OPF :Oorspronklik STR_CONFIG_SETTING_PATHFINDER_NPF :NPF @@ -1695,21 +1730,21 @@ STR_INTRO_CAPTION :{WHITE}OpenTTD STR_INTRO_NEW_GAME :{BLACK}Nuwe Spel STR_INTRO_LOAD_GAME :{BLACK}Laai Spel STR_INTRO_PLAY_SCENARIO :{BLACK}Speel Scenario -STR_INTRO_PLAY_HEIGHTMAP :{BLACK}Speel Hoogtekaart +STR_INTRO_PLAY_HEIGHTMAP :{BLACK}Speel reliëfkaart STR_INTRO_SCENARIO_EDITOR :{BLACK}Scenario Redakteur STR_INTRO_MULTIPLAYER :{BLACK}Multispeler STR_INTRO_GAME_OPTIONS :{BLACK}Spel Opsies STR_INTRO_HIGHSCORE :{BLACK}Hoogste Tellings Tafel -STR_INTRO_ADVANCED_SETTINGS :{BLACK}Gevorderde stellings +STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Stellings STR_INTRO_NEWGRF_SETTINGS :{BLACK}NewGRF Stellings -STR_INTRO_ONLINE_CONTENT :{BLACK}Kyk Na Aanlyn Inhoud +STR_INTRO_ONLINE_CONTENT :{BLACK}Soek aanlyn STR_INTRO_SCRIPT_SETTINGS :{BLACK}AI/Spel Skript Instellings STR_INTRO_QUIT :{BLACK}Verlaat STR_INTRO_TOOLTIP_NEW_GAME :{BLACK}Begin nuwe spel. Ctrl+klik ignoreer kaart konfigurasie STR_INTRO_TOOLTIP_LOAD_GAME :{BLACK}Laai 'n gestoorde spel -STR_INTRO_TOOLTIP_PLAY_HEIGHTMAP :{BLACK}begin 'n nuwe speletjie, gebruikend 'n hoogtekaart as 'n landskap +STR_INTRO_TOOLTIP_PLAY_HEIGHTMAP :{BLACK}Begin 'n nuwe spel en gebruik 'n reliëfkaart om die land te skep STR_INTRO_TOOLTIP_PLAY_SCENARIO :{BLACK}Begin 'n nuwe speletjie, met 'n doelgeboude scenario STR_INTRO_TOOLTIP_SCENARIO_EDITOR :{BLACK}Skep 'n doelgeboude spel wêreld/scenario STR_INTRO_TOOLTIP_MULTIPLAYER :{BLACK}Begin 'n multispeler spel @@ -1721,7 +1756,7 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Kies 'sp STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Vertoon speletjie opsies STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Vertoon hoogste tellings tafel -STR_INTRO_TOOLTIP_ADVANCED_SETTINGS :{BLACK}Toon gevorderde stellings +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Vertoon instellings STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Wys NewGRF stellings STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Kyk vir nuwe of bygewerkde inhoud om af te laai STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Vertoon AI/Spel skript konfigurasie @@ -1761,6 +1796,8 @@ STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Speel a STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Tower stootskraper (verwyder nywerhede, onbeweegbare voorwerpe): {ORANGE}{STRING} STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}Tonnels mag vir mekaar kruis: {ORANGE}{STRING} STR_CHEAT_NO_JETCRASH :{LTBLUE}Straalvliegtuie sal nie (dikwels) op klein lughawe bots nie: {ORANGE} {STRING} +STR_CHEAT_EDIT_MAX_HL :{LTBLUE}Verander die maksimum kaarthoogte: {ORANGE}{NUM} +STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Verander die maksimum berghoogte STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE :Matige klimaat STR_CHEAT_SWITCH_CLIMATE_SUB_ARCTIC_LANDSCAPE :Sub-artiese landskap STR_CHEAT_SWITCH_CLIMATE_SUB_TROPICAL_LANDSCAPE :Sub-tropiese landskap @@ -1772,7 +1809,7 @@ STR_CHEAT_SETUP_PROD :{LTBLUE}Aktivee # Livery window STR_LIVERY_CAPTION :{WHITE}Nuwe Kleur Skema -STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Toon algemene kleur skemas +STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Toon algemene kleurskemas STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Wys trein kleur skemas STR_LIVERY_ROAD_VEHICLE_TOOLTIP :{BLACK}Toon pad voertuig kleur skemas STR_LIVERY_SHIP_TOOLTIP :{BLACK}Toon skip kleur skemas @@ -1781,27 +1818,27 @@ STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Kies die STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Kies die sekondêre kleur vir die gekose skema. Ctrl+Click sal hierdie kleur kies vir elke skema STR_LIVERY_PANEL_TOOLTIP :{BLACK}Kies 'n kleurskema om te verander, of veelvoud skemas met Ctrl+klik op die boks om die gebruik van skema te wissel -STR_LIVERY_DEFAULT :Standaard Lewery +STR_LIVERY_DEFAULT :Standaard kleure STR_LIVERY_STEAM :Stoomlokomotief STR_LIVERY_DIESEL :Diesellokomotief STR_LIVERY_ELECTRIC :Elektriese lokomotief STR_LIVERY_MONORAIL :Monospoorlokomotief STR_LIVERY_MAGLEV :Maglev lokomotief -STR_LIVERY_DMU :DMU -STR_LIVERY_EMU :EMU -STR_LIVERY_PASSENGER_WAGON_STEAM :Passasier Rytuig (Stoom) -STR_LIVERY_PASSENGER_WAGON_DIESEL :Passasier Rytuig (Diesel) -STR_LIVERY_PASSENGER_WAGON_ELECTRIC :Passasier Rytuig (Elektries) -STR_LIVERY_PASSENGER_WAGON_MONORAIL :Passasierkoets (Monospoor) -STR_LIVERY_PASSENGER_WAGON_MAGLEV :Passasier koets (Maglev) -STR_LIVERY_FREIGHT_WAGON :Vraag Wa +STR_LIVERY_DMU :Dieseltreinstel +STR_LIVERY_EMU :Elektriese treinstel +STR_LIVERY_PASSENGER_WAGON_STEAM :Passasierswa (Stoom) +STR_LIVERY_PASSENGER_WAGON_DIESEL :Passasierswa (Diesel) +STR_LIVERY_PASSENGER_WAGON_ELECTRIC :Passasierswa (Elektries) +STR_LIVERY_PASSENGER_WAGON_MONORAIL :Passasierswa (Monospoor) +STR_LIVERY_PASSENGER_WAGON_MAGLEV :Passasierswa (Maglev) +STR_LIVERY_FREIGHT_WAGON :Vragwa STR_LIVERY_BUS :Bus STR_LIVERY_TRUCK :Vragmotor -STR_LIVERY_PASSENGER_SHIP :Passasier Veer -STR_LIVERY_FREIGHT_SHIP :Vraag Skip +STR_LIVERY_PASSENGER_SHIP :Passasierskip +STR_LIVERY_FREIGHT_SHIP :Vragskip STR_LIVERY_HELICOPTER :Helikopter -STR_LIVERY_SMALL_PLANE :Klein Vliegtuig -STR_LIVERY_LARGE_PLANE :Groot Vliegtuig +STR_LIVERY_SMALL_PLANE :Klein vliegtuig +STR_LIVERY_LARGE_PLANE :Groot vliegtuig STR_LIVERY_PASSENGER_TRAM :Passasier Trem STR_LIVERY_FREIGHT_TRAM :Vrag Trem @@ -1809,6 +1846,7 @@ STR_LIVERY_FREIGHT_TRAM :Vrag Trem STR_FACE_CAPTION :{WHITE}Gesig Keuse STR_FACE_CANCEL_TOOLTIP :{BLACK}Kanselleer nuwe gesig keuse STR_FACE_OK_TOOLTIP :{BLACK}Aanvar nuwe gesig keuse +STR_FACE_RANDOM :{BLACK}Lukraake STR_FACE_MALE_BUTTON :{BLACK}Manlik STR_FACE_MALE_TOOLTIP :{BLACK}Kies manlik gesigte @@ -1929,13 +1967,13 @@ STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}Beskerm STR_NETWORK_START_SERVER_UNADVERTISED :Nee STR_NETWORK_START_SERVER_ADVERTISED :Ja STR_NETWORK_START_SERVER_CLIENTS_SELECT :{BLACK}{NUM} Klient{P "" e} -STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Maks kliënte: +STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Maksimum aantal kliënte: STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS_TOOLTIP :{BLACK}Kies die maksimum aantal kliënte. Alle posisies hoef nie vol te wees nie STR_NETWORK_START_SERVER_COMPANIES_SELECT :{BLACK}{NUM} Maatskap{P py pye} -STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}Maks maatskappye: +STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}Maksimum aantal maatskappye: STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES_TOOLTIP :{BLACK}Beperk die verskaffer na 'n sekere bedrag van maatskappye STR_NETWORK_START_SERVER_SPECTATORS_SELECT :{BLACK}{NUM} aanskouer{P "" s} -STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS :{BLACK}Maks aanskouers: +STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS :{BLACK}Maksimum aantal toekouers: STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS_TOOLTIP :{BLACK}Beperk die verskaffer na 'n sekere bedrag van aanskouers STR_NETWORK_START_SERVER_LANGUAGE_SPOKEN :{BLACK}Taal gepraat: STR_NETWORK_START_SERVER_LANGUAGE_TOOLTIP :{BLACK}Ander spelers sal weet watter taal op die verskaffer gepraat is @@ -2130,10 +2168,10 @@ STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}Die laas # Network related errors STR_NETWORK_SERVER_MESSAGE :*** {1:STRING} ############ Leave those lines in this order!! -STR_NETWORK_SERVER_MESSAGE_GAME_PAUSED :Spel stilgehou ({STRING}) -STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_1 :Spel nog steeds stilgehou ({STRING}) -STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_2 :Spel nog steeds stilgehou ({STRING}, {STRING}) -STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_3 :Spel nog steeds stilgehou ({STRING}, {STRING}, {STRING}) +STR_NETWORK_SERVER_MESSAGE_GAME_PAUSED :Spel geonderbreek ({STRING}) +STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_1 :Spel nog steeds geonderbreek ({STRING}) +STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_2 :Spel nog steeds geonderbreek ({STRING}, {STRING}) +STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_3 :Spel nog steeds geonderbreek ({STRING}, {STRING}, {STRING}) STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_4 :Spel steeds onderbreek ({STRING}, {STRING}, {STRING}, {STRING}) STR_NETWORK_SERVER_MESSAGE_GAME_UNPAUSED :Spel gaan weer aan ({STRING}) STR_NETWORK_SERVER_MESSAGE_GAME_REASON_NOT_ENOUGH_PLAYERS :hoeveelheid spelers @@ -2146,7 +2184,7 @@ STR_NETWORK_MESSAGE_CLIENT_JOINED :*** {STRING} he STR_NETWORK_MESSAGE_CLIENT_JOINED_ID :*** {STRING} het die spel aangesluit (Client #{2:NUM}) STR_NETWORK_MESSAGE_CLIENT_COMPANY_JOIN :*** {STRING} het by maatskappy #{2:NUM} aangesluit STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} het aangesluit by die spektators -STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} begin 'n nuwe maatskappy (#{2:NUM}) +STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} het 'n nuwe maatskappy gestig (#{2:NUM}) STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} het die spel verlaat ({2:STRING}) STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} het sy/haar naam verander na {STRING} STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} het jou besigheid {2:CURRENCY_LONG} gegee @@ -2174,7 +2212,7 @@ STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER :{WHITE}Die voor STR_CONTENT_FILTER_TITLE :{BLACK}Merker/naam filter: STR_CONTENT_OPEN_URL :{BLACK}Besoek webblad STR_CONTENT_OPEN_URL_TOOLTIP :{BLACK}Besoek die webwerf vir hierdie inhoud -STR_CONTENT_DOWNLOAD_CAPTION :{BLACK}Laai Af +STR_CONTENT_DOWNLOAD_CAPTION :{BLACK}Laai af STR_CONTENT_DOWNLOAD_CAPTION_TOOLTIP :{BLACK}Begin om die geselekteerde inligting af te laai STR_CONTENT_TOTAL_DOWNLOAD_SIZE :{SILVER}Totale aflaai groote: {WHITE}{BYTES} STR_CONTENT_DETAIL_TITLE :{SILVER}INHOUD INFORMASIE @@ -2202,7 +2240,7 @@ STR_CONTENT_TYPE_NEWGRF :NewGRF STR_CONTENT_TYPE_AI :AI STR_CONTENT_TYPE_AI_LIBRARY :AI biblioteek STR_CONTENT_TYPE_SCENARIO :Scenario -STR_CONTENT_TYPE_HEIGHTMAP :Hoogte kaart +STR_CONTENT_TYPE_HEIGHTMAP :Reliëfkaart STR_CONTENT_TYPE_BASE_SOUNDS :Basis klanke STR_CONTENT_TYPE_BASE_MUSIC :Basis musiek STR_CONTENT_TYPE_GAME_SCRIPT :Speletjie Skrif @@ -2211,7 +2249,7 @@ STR_CONTENT_TYPE_GS_LIBRARY :GS biblioteek # Content downloading progress window STR_CONTENT_DOWNLOAD_TITLE :{WHITE}Laai inhoud af... STR_CONTENT_DOWNLOAD_INITIALISE :{WHITE}Versoek lêer... -STR_CONTENT_DOWNLOAD_FILE :{WHITE}Nou besig om {STRING} aftelaai ({NUM} of {NUM}) +STR_CONTENT_DOWNLOAD_FILE :{WHITE}Nou besig om {STRING} af te laai ({NUM} of {NUM}) STR_CONTENT_DOWNLOAD_COMPLETE :{WHITE}Aflaai voltooi STR_CONTENT_DOWNLOAD_PROGRESS_SIZE :{WHITE}{BYTES} van {BYTES} afgelaai ({NUM} %) @@ -2258,7 +2296,7 @@ STR_STATION_BUILD_COVERAGE_ON :{BLACK}Aan STR_STATION_BUILD_COVERAGE_AREA_OFF_TOOLTIP :{BLACK}Moenie die dekking area van die voorgestelde bouterrein verlig nie STR_STATION_BUILD_COVERAGE_AREA_ON_TOOLTIP :{BLACK}Verlig dekking area van die voorgestelde bouterrein STR_STATION_BUILD_ACCEPTS_CARGO :{BLACK}Aanvaar: {GOLD}{CARGO_LIST} -STR_STATION_BUILD_SUPPLIES_CARGO :{BLACK}Voorraad: {GOLD}{CARGO_LIST} +STR_STATION_BUILD_SUPPLIES_CARGO :{BLACK}Verskaf: {GOLD}{CARGO_LIST} # Join station window STR_JOIN_STATION_CAPTION :{WHITE}Sluit by stasie aan @@ -2269,7 +2307,7 @@ STR_JOIN_WAYPOINT_CREATE_SPLITTED_WAYPOINT :{YELLOW}Bou 'n # Rail construction toolbar STR_RAIL_TOOLBAR_RAILROAD_CONSTRUCTION_CAPTION :Spoorwegkonstruksie -STR_RAIL_TOOLBAR_ELRAIL_CONSTRUCTION_CAPTION :Elektrifiseerde Spoorweg Konstruksie +STR_RAIL_TOOLBAR_ELRAIL_CONSTRUCTION_CAPTION :Elektriese spoorwegkonstruksie STR_RAIL_TOOLBAR_MONORAIL_CONSTRUCTION_CAPTION :Monospoor Konstruksie STR_RAIL_TOOLBAR_MAGLEV_CONSTRUCTION_CAPTION :Magneetsweeftrein Konstruksie @@ -2285,7 +2323,7 @@ STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Wissel b STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL :{BLACK}Verander die treinspoor tipe. Shift kies tussen bou/kwotasie STR_RAIL_NAME_RAILROAD :Spoorweg -STR_RAIL_NAME_ELRAIL :Elektrifiseerde spoorweg +STR_RAIL_NAME_ELRAIL :Elektriese spoor STR_RAIL_NAME_MONORAIL :Monospoor STR_RAIL_NAME_MAGLEV :Maglev @@ -2302,8 +2340,8 @@ STR_STATION_BUILD_RAIL_CAPTION :{WHITE}Spoor St STR_STATION_BUILD_ORIENTATION :{BLACK}Orientasie STR_STATION_BUILD_RAILROAD_ORIENTATION_TOOLTIP :{BLACK}Kies treinstasie orientasie STR_STATION_BUILD_NUMBER_OF_TRACKS :{BLACK}Aantal spore -STR_STATION_BUILD_NUMBER_OF_TRACKS_TOOLTIP :{BLACK}Kies die aantal spore wat in die stasie gebou gaan word -STR_STATION_BUILD_PLATFORM_LENGTH :{BLACK}Verhoog lengte +STR_STATION_BUILD_NUMBER_OF_TRACKS_TOOLTIP :{BLACK}Kies die aantal peronne wat in die stasie gebou gaan word +STR_STATION_BUILD_PLATFORM_LENGTH :{BLACK}Perron lengte STR_STATION_BUILD_PLATFORM_LENGTH_TOOLTIP :{BLACK}Kies treinstasie lengte STR_STATION_BUILD_DRAG_DROP :{BLACK}Sleep & Drop STR_STATION_BUILD_DRAG_DROP_TOOLTIP :{BLACK}Bou 'n stasie gebruikend sleep & drop @@ -2339,14 +2377,14 @@ STR_SELECT_ROAD_BRIDGE_CAPTION :{WHITE}Selektee STR_SELECT_BRIDGE_SELECTION_TOOLTIP :{BLACK}Brugkeuring - klik op jou verkose brug om dit te bou STR_SELECT_BRIDGE_INFO :{GOLD}{STRING},{} {VELOCITY} {WHITE}{CURRENCY_LONG} STR_SELECT_BRIDGE_SCENEDIT_INFO :{GOLD}{STRING},{} {VELOCITY} -STR_BRIDGE_NAME_SUSPENSION_STEEL :Suspensie, Staal +STR_BRIDGE_NAME_SUSPENSION_STEEL :Kabelstut, Staal STR_BRIDGE_NAME_GIRDER_STEEL :Balk, Staal STR_BRIDGE_NAME_CANTILEVER_STEEL :Vrydraer, Staal -STR_BRIDGE_NAME_SUSPENSION_CONCRETE :Suspensie, Beton +STR_BRIDGE_NAME_SUSPENSION_CONCRETE :Kabelstut, Beton STR_BRIDGE_NAME_WOODEN :Houterig STR_BRIDGE_NAME_CONCRETE :Beton STR_BRIDGE_NAME_TUBULAR_STEEL :Buisvormige, Staal -STR_BRIDGE_TUBULAR_SILICON :Buis, Silicon +STR_BRIDGE_TUBULAR_SILICON :Buis, Silikon # Road construction toolbar @@ -2433,7 +2471,7 @@ STR_AIRPORT_CLASS_HELIPORTS :Helikopter lugh STR_STATION_BUILD_NOISE :{BLACK}Geraas gegenereer: {GOLD}{COMMA} # Landscaping toolbar -STR_LANDSCAPING_TOOLBAR :{WHITE}Landargitekteur +STR_LANDSCAPING_TOOLBAR :{WHITE}Landargitektuur STR_LANDSCAPING_TOOLTIP_LOWER_A_CORNER_OF_LAND :{BLACK}Verlaag 'n gedeelte. Klik en sleep om die gekose punt tot die gewenste vlak te verlaag. Druk Ctrl om 'n diagonale gedeelte te kies, Shift gee net 'n kwotasie STR_LANDSCAPING_TOOLTIP_RAISE_A_CORNER_OF_LAND :{BLACK}Verhoog 'n gedeelte. Klik en sleep om die gekose punt tot die gewenste vlak te vehoog. Druk Ctrl om 'n diagonale gedeelte te kies, Shift gee net 'n kwotasie STR_LANDSCAPING_LEVEL_LAND_TOOLTIP :{BLACK}Klik op 'n area en sleep om die omliggende gedeelte tot dieselfde vlak te bring. Druk Ctrl om 'n diagonale gedeelte te kies, Shift gee net 'n kwotasie @@ -2613,7 +2651,7 @@ STR_LAI_STATION_DESCRIPTION_WAYPOINT :Roetebaken STR_LAI_WATER_DESCRIPTION_WATER :Water STR_LAI_WATER_DESCRIPTION_CANAL :Kanaal -STR_LAI_WATER_DESCRIPTION_LOCK :Sluit +STR_LAI_WATER_DESCRIPTION_LOCK :Sluis STR_LAI_WATER_DESCRIPTION_RIVER :Rivier STR_LAI_WATER_DESCRIPTION_COAST_OR_RIVERBANK :Kus of oewer STR_LAI_WATER_DESCRIPTION_SHIP_DEPOT :Skip depot @@ -2626,7 +2664,7 @@ STR_LAI_TUNNEL_DESCRIPTION_ROAD :Pad tonnel STR_LAI_BRIDGE_DESCRIPTION_RAIL_SUSPENSION_STEEL :Staal stuspensie spoor brug STR_LAI_BRIDGE_DESCRIPTION_RAIL_GIRDER_STEEL :Staal balk spoor brug STR_LAI_BRIDGE_DESCRIPTION_RAIL_CANTILEVER_STEEL :Staal vrydraer spoor brug -STR_LAI_BRIDGE_DESCRIPTION_RAIL_SUSPENSION_CONCRETE :Versterk beton suspensie spoor brug +STR_LAI_BRIDGE_DESCRIPTION_RAIL_SUSPENSION_CONCRETE :Beton kabelstut spoorwegbrug STR_LAI_BRIDGE_DESCRIPTION_RAIL_WOODEN :Houterig spoor brug STR_LAI_BRIDGE_DESCRIPTION_RAIL_CONCRETE :Beton spoor brug STR_LAI_BRIDGE_DESCRIPTION_RAIL_TUBULAR_STEEL :Buis spoor brug @@ -2650,15 +2688,15 @@ 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-2014 Die OpenTTD span +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 Die OpenTTD span # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Spaar Spel STR_SAVELOAD_LOAD_CAPTION :{WHITE}Laai Spel STR_SAVELOAD_SAVE_SCENARIO :{WHITE}Stoor Scenario STR_SAVELOAD_LOAD_SCENARIO :{WHITE}Laai Scenario -STR_SAVELOAD_LOAD_HEIGHTMAP :{WHITE}Laai Hoogtekaart -STR_SAVELOAD_SAVE_HEIGHTMAP :{WHITE}Stoor Hoogtekaart +STR_SAVELOAD_LOAD_HEIGHTMAP :{WHITE}Laai reliëfkaart +STR_SAVELOAD_SAVE_HEIGHTMAP :{WHITE}Stoor reliëfkaart STR_SAVELOAD_HOME_BUTTON :{BLACK}Klik hier om na die huidige spaar/laai lêer te gaan STR_SAVELOAD_BYTES_FREE :{BLACK}{BYTES} vry STR_SAVELOAD_LIST_TOOLTIP :{BLACK}Lys van skywe, gidse en spaar-speletjie lêers @@ -2669,6 +2707,7 @@ STR_SAVELOAD_SAVE_BUTTON :{BLACK}Spaar STR_SAVELOAD_SAVE_TOOLTIP :{BLACK}Spaar die huidige speletjie, met die verkieste naame STR_SAVELOAD_LOAD_BUTTON :{BLACK}Laai STR_SAVELOAD_LOAD_TOOLTIP :{BLACK}Laai die geselekteerde spel +STR_SAVELOAD_LOAD_HEIGHTMAP_TOOLTIP :{BLACK}Laai die gekose reliëfkaart STR_SAVELOAD_DETAIL_CAPTION :{BLACK}Spel Besonderhede STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}Geen inligting beskikbaar STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING} @@ -2684,20 +2723,19 @@ STR_MAPGEN_BY :{BLACK}* STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Hoev. dorpe: STR_MAPGEN_DATE :{BLACK}Datum: STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Hoev. nywerhede: +STR_MAPGEN_MAX_HEIGHTLEVEL :{BLACK}Maksimum kaarthoogte +STR_MAPGEN_MAX_HEIGHTLEVEL_UP :{BLACK}Verhoog berge met een teël +STR_MAPGEN_MAX_HEIGHTLEVEL_DOWN :{BLACK}Verminder berghoogte met een teël STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}Sneeu lyn hoogte: STR_MAPGEN_SNOW_LINE_UP :{BLACK}Beweeg die sneeu lyn een op STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}Beweeg die sneeu lyn een af -STR_MAPGEN_RANDOM_SEED :{BLACK}Lukraak Saad: -STR_MAPGEN_RANDOM_SEED_HELP :{BLACK}Klik om 'n willekeurige saad in te voer -STR_MAPGEN_RANDOM :{BLACK}Lukraake -STR_MAPGEN_RANDOM_HELP :{BLACK}Verander die lukraak saad gebruik vir Terrein Generasie STR_MAPGEN_LAND_GENERATOR :{BLACK}Land genereerder: STR_MAPGEN_TREE_PLACER :{BLACK}Boom algoritme: STR_MAPGEN_TERRAIN_TYPE :{BLACK}Terrein tipe: STR_MAPGEN_QUANTITY_OF_SEA_LAKES :{BLACK}Seevlak: STR_MAPGEN_QUANTITY_OF_RIVERS :{BLACK}Riviere: STR_MAPGEN_SMOOTHNESS :{BLACK}Gladheid: -STR_MAPGEN_VARIETY :{BLACK}Verskeidenheid distribusie: +STR_MAPGEN_VARIETY :{BLACK}Verskeidenheid verspreiding: STR_MAPGEN_GENERATE :{WHITE}Genereer # Strings for map borders at game generation @@ -2710,40 +2748,40 @@ STR_MAPGEN_BORDER_FREEFORM :{BLACK}Vryeform STR_MAPGEN_BORDER_WATER :{BLACK}Water STR_MAPGEN_BORDER_RANDOM :{BLACK}Lukraak STR_MAPGEN_BORDER_RANDOMIZE :{BLACK}Lukraak -STR_MAPGEN_BORDER_MANUAL :{BLACK}Manual +STR_MAPGEN_BORDER_MANUAL :{BLACK}Handmatig -STR_MAPGEN_HEIGHTMAP_ROTATION :{BLACK}Hoogtekaart rotasie: -STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Hoogtekaart name: -STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Groote: +STR_MAPGEN_HEIGHTMAP_ROTATION :{BLACK}Reliëfkaart orientasie: +STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Reliëfkaart naam: +STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Grootte: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} -STR_MAPGEN_RANDOM_SEED_OSKTITLE :{BLACK}Sleutel 'n lukraak saad in +STR_MAPGEN_MAX_HEIGHTLEVEL_QUERY_CAPT :{WHITE}Verander maksimum kaarthoogte STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}Verander sneeu lyn hoogte STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Verander begin jaar # SE Map generation STR_SE_MAPGEN_CAPTION :{WHITE}Scenario tipe -STR_SE_MAPGEN_FLAT_WORLD :{WHITE}Plat land +STR_SE_MAPGEN_FLAT_WORLD :{WHITE}Plat terrein STR_SE_MAPGEN_FLAT_WORLD_TOOLTIP :{BLACK}Genereer 'n plat terrein STR_SE_MAPGEN_RANDOM_LAND :{WHITE}Lukraake land -STR_SE_MAPGEN_FLAT_WORLD_HEIGHT :{BLACK}Hoogte van platte daal: -STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_DOWN :{BLACK}Beweeg die hoogte van platte daal een af -STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_UP :{BLACK}Beweeg die hoogte van platte daal bo een +STR_SE_MAPGEN_FLAT_WORLD_HEIGHT :{BLACK}Hoogte van plat terrein: +STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_DOWN :{BLACK}Beweeg die hoogte van plat terrein een af +STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_UP :{BLACK}Beweeg die hoogte van plat terrein een op -STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_QUERY_CAPT :{WHITE}Verander die hoogte van platte daal +STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_QUERY_CAPT :{WHITE}Verander die hoogte van plat terrein # Map generation progress STR_GENERATION_WORLD :{WHITE}Wêreld word gevorm... -STR_GENERATION_ABORT :{BLACK}Verlaat +STR_GENERATION_ABORT :{BLACK}Staak STR_GENERATION_ABORT_CAPTION :{WHITE}Verlaat Wêreld Generasie -STR_GENERATION_ABORT_MESSAGE :{YELLOW}Wil jy rerig die generasie verlaat? +STR_GENERATION_ABORT_MESSAGE :{YELLOW}Wil jy rêrig die landskepping verlaat? STR_GENERATION_PROGRESS :{WHITE}{NUM}% klaar STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}Wêreld generasie STR_GENERATION_RIVER_GENERATION :{BLACK}Rivier generasie STR_GENERATION_TREE_GENERATION :{BLACK}Boom generasie STR_GENERATION_OBJECT_GENERATION :{BLACK}Onbeweegbaar generasie -STR_GENERATION_CLEARING_TILES :{BLACK}Ru en rotserig area ontwikkeling +STR_GENERATION_CLEARING_TILES :{BLACK}Ru en rotserig area generasie STR_GENERATION_SETTINGUP_GAME :{BLACK}Stel speletjie op STR_GENERATION_PREPARING_TILELOOP :{BLACK}Hardloop teël-herhaling STR_GENERATION_PREPARING_SCRIPT :{BLACK}Lopende skrif @@ -2772,13 +2810,15 @@ STR_NEWGRF_SETTINGS_MOVEUP :{BLACK}Beweeg O STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP :{BLACK}Beweeg die gekose NewGRF op in die lys STR_NEWGRF_SETTINGS_MOVEDOWN :{BLACK}Beweeg Af STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP :{BLACK}Beweeg die gekose NewGRF af in die lys +STR_NEWGRF_SETTINGS_UPGRADE :{BLACK}Opgradeer +STR_NEWGRF_SETTINGS_UPGRADE_TOOLTIP :{BLACK}Gradeer NewGRF lêers op STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}'n Lys van die NewGRF lêers wat geïnstaleer is STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}Stel parameters STR_NEWGRF_SETTINGS_SHOW_PARAMETERS :{BLACK}Vertoon parameters STR_NEWGRF_SETTINGS_TOGGLE_PALETTE :{BLACK}Skakel palet STR_NEWGRF_SETTINGS_TOGGLE_PALETTE_TOOLTIP :{BLACK}Skakel die palet van die geselekteurde NewGRF.{}Doen dit wanneer die grafika van hierdie NewGRF pink lyk in die speletjie. -STR_NEWGRF_SETTINGS_APPLY_CHANGES :{BLACK}Wend aan veranderings +STR_NEWGRF_SETTINGS_APPLY_CHANGES :{BLACK}Wend veranderings aan STR_NEWGRF_SETTINGS_FIND_MISSING_CONTENT_BUTTON :{BLACK}Vind vermisde inhoud aanlyn STR_NEWGRF_SETTINGS_FIND_MISSING_CONTENT_TOOLTIP :{BLACK}Kyk of die vermisde inhoud aanlyn kan gevind word @@ -2796,6 +2836,16 @@ STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Gelyke lê STR_NEWGRF_SETTINGS_DISABLED :{RED}Gedeaktiveer STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Onversoenbaar met hierdie weergawe van OpenTTD +# NewGRF save preset window +STR_SAVE_PRESET_CAPTION :{WHITE}Stoor voorafinstellings +STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK}Beskikbare voorafinstellings, kies een om te gebruik as eksemplaar vir 'n nuwe een +STR_SAVE_PRESET_TITLE :{BLACK}Kies 'n naam vir die voorafinstellings +STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}Gekose naam om voorafstellings te stoor +STR_SAVE_PRESET_CANCEL :{BLACK}Kanselleer +STR_SAVE_PRESET_CANCEL_TOOLTIP :{BLACK}Moenie voorafinstellings verander nie +STR_SAVE_PRESET_SAVE :{BLACK}Stoor +STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}Stoor die voorafinstellings na gekose naam + # NewGRF parameters window STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Verander NewGRF parameters STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Maak Toe @@ -2823,10 +2873,13 @@ STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Gaan na STR_SPRITE_ALIGNER_GOTO_BUTTON :{BLACK}Gaan na sprite STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}Gaan na gegewe sprite. As die sprite nie 'n normale sprite is nie, gaan na die volgende normale sprite STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Vorige sprite -STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Gaan na vorige normale sprite. ignoreer enige pseudo/her-kleur/font sprite en spring terug na die einde +STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Gaan na vorige normale sprite, en ignoreer enige pseudo/her-kleur/font sprite en spring terug na die einde STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Voorstelling van geselekteerde sprite. Die belyning word geignoreer waneer sprite geteken word STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Beweeg die sprite rond, verander die X en Y afwyking -STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X afwyking: {NUM}, Y afwyking: {NUM} +STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Relatiewe herstel +STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Herstel die huidige relatiewe verplasing +STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}X verplasing: {NUM}, Y verplasing: {NUM} (Werklik) +STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}X verplasing: {NUM}, Y verplasing: {NUM} (Relatief) STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Kies sprite STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Kies 'n sprite van enige plek op die skerm @@ -2938,10 +2991,10 @@ STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} afgelewer STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (steeds benodig) STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (afgelewer) -STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Dorp groei elke {ORANGE}{COMMA}{BLACK} da{P g e} -STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Dorp groei elke {ORANGE}{COMMA}{BLACK} da{P g e} (befonds) +STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Dorp groei elke {ORANGE}{COMMA}{BLACK}{NBSP}da{P g e} +STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Dorp groei elke {ORANGE}{COMMA}{BLACK}{NBSP}da{P g e} (befonds) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}Dorp groei {RED}nie{BLACK} -STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Geraaas limit in dorp: {ORANGE}{COMMA}{BLACK} Maks: {ORANGE}{COMMA} +STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Geraas limiet in dorp: {ORANGE}{COMMA}{BLACK} maks: {ORANGE}{COMMA} STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Skuif skerm na dorp toe. Ctrl+klik maak 'n nuwe venster vir die dorp oop STR_TOWN_VIEW_LOCAL_AUTHORITY_BUTTON :{BLACK}Plaaslike raad STR_TOWN_VIEW_LOCAL_AUTHORITY_TOOLTIP :{BLACK}Vertoon informasie oor plaaslike raad @@ -2963,17 +3016,17 @@ STR_LOCAL_AUTHORITY_ACTIONS_TOOLTIP :{BLACK}Lys van STR_LOCAL_AUTHORITY_DO_IT_BUTTON :{BLACK}Doen dit STR_LOCAL_AUTHORITY_DO_IT_TOOLTIP :{BLACK}Voeg die verlig aksie in die lys bo uit -STR_LOCAL_AUTHORITY_ACTION_SMALL_ADVERTISING_CAMPAIGN :Klein adverteer kampeer -STR_LOCAL_AUTHORITY_ACTION_MEDIUM_ADVERTISING_CAMPAIGN :Medium adverteer kampeer -STR_LOCAL_AUTHORITY_ACTION_LARGE_ADVERTISING_CAMPAIGN :Groot adverteer kampeer +STR_LOCAL_AUTHORITY_ACTION_SMALL_ADVERTISING_CAMPAIGN :Klein reklame veldtog +STR_LOCAL_AUTHORITY_ACTION_MEDIUM_ADVERTISING_CAMPAIGN :Medium reklame veldtog +STR_LOCAL_AUTHORITY_ACTION_LARGE_ADVERTISING_CAMPAIGN :Groot reklame veldtog STR_LOCAL_AUTHORITY_ACTION_ROAD_RECONSTRUCTION :Befonds plaaslike pad heropbou STR_LOCAL_AUTHORITY_ACTION_STATUE_OF_COMPANY :Bou standbeeld van maatskappy eienaar STR_LOCAL_AUTHORITY_ACTION_NEW_BUILDINGS :Befonds nuwe geboue -STR_LOCAL_AUTHORITY_ACTION_EXCLUSIVE_TRANSPORT :Koop eksklusief vervoer regte -STR_LOCAL_AUTHORITY_ACTION_BRIBE :Omkoop die plaaslike raad +STR_LOCAL_AUTHORITY_ACTION_EXCLUSIVE_TRANSPORT :Koop eksklusiewe vervoerregte +STR_LOCAL_AUTHORITY_ACTION_BRIBE :Koop die plaaslike raad om STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}Begin 'n klein plaaslik advertensie veldtog, om meer passasiers en vragte tot jou vervoer dienste te lok.{}Prys: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}Begin 'n middlematige plaaslik advertensie veldtog, om meer passasiers en vragte tot jou vervoer dienste te lok.{}Prys: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}Begin 'n middelmatige plaaslik advertensie veldtog, om meer passasiers en vrag te lok om jou diens te gebruik.{}Prys: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW}Begin 'n groot plaaslik advertensie veldtog, om meer passasiers en vragte tot jou vervoer dienste te lok.{}Prys: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}Finansier herstel van stedelike paaie wat aansienlike verkeersprobleme sal veroorsaak.{}Koste: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW} Bou 'n standbeeld in eer van u maatskappy.{} Prys: {CURRENCY_LONG} @@ -2999,7 +3052,7 @@ STR_GOAL_QUESTION_CAPTION_INFORMATION :Inligting STR_GOAL_QUESTION_CAPTION_WARNING :Waarskuwing STR_GOAL_QUESTION_CAPTION_ERROR :Fout -### Start of Goal Question button list +############ Start of Goal Question button list STR_GOAL_QUESTION_BUTTON_CANCEL :Kanselleer STR_GOAL_QUESTION_BUTTON_OK :OK STR_GOAL_QUESTION_BUTTON_NO :Nee @@ -3018,11 +3071,12 @@ STR_GOAL_QUESTION_BUTTON_RESTART :Begin weer STR_GOAL_QUESTION_BUTTON_POSTPONE :Stel uit STR_GOAL_QUESTION_BUTTON_SURRENDER :Gee oor STR_GOAL_QUESTION_BUTTON_CLOSE :Maak toe +############ End of Goal Question button list # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}Subsidies STR_SUBSIDIES_OFFERED_TITLE :{BLACK}Subsidies op aanbod vir diens opneming: -STR_SUBSIDIES_OFFERED_FROM_TO :{ORANGE}{STRING} van {STRING} tot {STRING}{YELLOW} (voor {DATE_SHORT}) +STR_SUBSIDIES_OFFERED_FROM_TO :{ORANGE}{STRING} van {STRING} na {STRING}{YELLOW} (voor {DATE_SHORT}) STR_SUBSIDIES_NONE :{ORANGE}- Geen - STR_SUBSIDIES_SUBSIDISED_TITLE :{BLACK}Dienste reeds gesubsidieer: STR_SUBSIDIES_SUBSIDISED_FROM_TO :{ORANGE}{STRING} van {STRING} tot {STRING}{YELLOW} ({COMPANY}{YELLOW}, tot {DATE_SHORT}) @@ -3053,7 +3107,6 @@ STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}Geen vra # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} -STR_STATION_VIEW_WAITING_TITLE :{BLACK}Wagtend: {WHITE}{STRING} STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} vanaf {STATION}) STR_STATION_VIEW_RESERVED :{YELLOW}({CARGO_SHORT} gereserveer vir oplaai) @@ -3182,7 +3235,7 @@ STR_COMPANY_VIEW_BUILD_HQ_BUTTON :{BLACK}Bou HK STR_COMPANY_VIEW_BUILD_HQ_TOOLTIP :{BLACK}Bou maatskappy hoofkantore STR_COMPANY_VIEW_VIEW_HQ_BUTTON :{BLACK}Wys HK STR_COMPANY_VIEW_VIEW_HQ_TOOLTIP :{BLACK}Vertoon maatskappy hoofkantore -STR_COMPANY_VIEW_RELOCATE_HQ :{BLACK}Beweeg HQ +STR_COMPANY_VIEW_RELOCATE_HQ :{BLACK}Beweeg HK STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS :{BLACK}Bou hoofkwartier elders teen 'n koste gelykstaande aan 1% van maatskappy se waarde. Shift+klik vir kwotasie STR_COMPANY_VIEW_INFRASTRUCTURE_BUTTON :{BLACK}Besonderhede STR_COMPANY_VIEW_INFRASTRUCTURE_TOOLTIP :{BLACK}Sien gedetaileerde infrastruktuur telling @@ -3190,7 +3243,7 @@ STR_COMPANY_VIEW_INFRASTRUCTURE_TOOLTIP :{BLACK}Sien ged STR_COMPANY_VIEW_NEW_FACE_BUTTON :{BLACK}Nuwe Gesig STR_COMPANY_VIEW_NEW_FACE_TOOLTIP :{BLACK}Kies nuwe gesig vir bestuurder STR_COMPANY_VIEW_COLOUR_SCHEME_BUTTON :{BLACK}Kleur Skema -STR_COMPANY_VIEW_COLOUR_SCHEME_TOOLTIP :{BLACK}Verander die maatskappy voertuig lewery +STR_COMPANY_VIEW_COLOUR_SCHEME_TOOLTIP :{BLACK}Verander die maatskappy kleure STR_COMPANY_VIEW_COMPANY_NAME_BUTTON :{BLACK}Maatskappy Naam STR_COMPANY_VIEW_COMPANY_NAME_TOOLTIP :{BLACK}Verander die maatskappy se naam STR_COMPANY_VIEW_PRESIDENT_NAME_BUTTON :{BLACK}Bestuurder Naam @@ -3223,8 +3276,8 @@ STR_COMPANY_INFRASTRUCTURE_VIEW_TOTAL :{WHITE}{CURRENC # Industry directory STR_INDUSTRY_DIRECTORY_CAPTION :{WHITE}Nywerhede STR_INDUSTRY_DIRECTORY_NONE :{ORANGE}- Geen - -STR_INDUSTRY_DIRECTORY_ITEM :{ORANGE}{INDUSTRY}{BLACK} ({CARGO_LONG}{STRING}){YELLOW} ({COMMA}% uitgevoer) -STR_INDUSTRY_DIRECTORY_ITEM_TWO :{ORANGE}{INDUSTRY}{BLACK} ({CARGO_LONG}{STRING}/{CARGO_LONG}{STRING}){YELLOW} ({COMMA}%/{COMMA}% uitgevoer) +STR_INDUSTRY_DIRECTORY_ITEM :{ORANGE}{INDUSTRY}{BLACK} ({CARGO_LONG}{STRING}){YELLOW} ({COMMA}% vervoer) +STR_INDUSTRY_DIRECTORY_ITEM_TWO :{ORANGE}{INDUSTRY}{BLACK} ({CARGO_LONG}{STRING}/{CARGO_LONG}{STRING}){YELLOW} ({COMMA}%/{COMMA}% vervoer) STR_INDUSTRY_DIRECTORY_ITEM_NOPROD :{ORANGE}{INDUSTRY} STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Nywerheidsname - klik op 'n naam om skerm na nywerheid te skuif. Ctrl+klik maak 'n nuwe venster vir die nywerheid oop @@ -3265,16 +3318,16 @@ STR_VEHICLE_LIST_AIRCRAFT_TOOLTIP :{BLACK}Vliegtui STR_VEHICLE_LIST_PROFIT_THIS_YEAR_LAST_YEAR :{TINY_FONT}{BLACK}Wins die jaar: {CURRENCY_LONG} (verlede jaar: {CURRENCY_LONG}) -STR_VEHICLE_LIST_AVAILABLE_TRAINS :Beskikbaar Treine -STR_VEHICLE_LIST_AVAILABLE_ROAD_VEHICLES :Beskikbaar Voertuie -STR_VEHICLE_LIST_AVAILABLE_SHIPS :Beskikbaar Skepe -STR_VEHICLE_LIST_AVAILABLE_AIRCRAFT :Beskikbaar Vliegtuie +STR_VEHICLE_LIST_AVAILABLE_TRAINS :Beskikbare treine +STR_VEHICLE_LIST_AVAILABLE_ROAD_VEHICLES :Beskikbare Voertuie +STR_VEHICLE_LIST_AVAILABLE_SHIPS :Beskikbare Skepe +STR_VEHICLE_LIST_AVAILABLE_AIRCRAFT :Beskikbare Vliegtuie STR_VEHICLE_LIST_AVAILABLE_ENGINES_TOOLTIP :{BLACK}Vertoon 'n lys van beskikbare enjins vir hierdie voertiug. STR_VEHICLE_LIST_MANAGE_LIST :{BLACK}Bestuur lys STR_VEHICLE_LIST_MANAGE_LIST_TOOLTIP :{BLACK}Stuur instruksies na alle voertuie in die lys STR_VEHICLE_LIST_REPLACE_VEHICLES :Vervang voertuie -STR_VEHICLE_LIST_SEND_FOR_SERVICING :Stuur vir Diens +STR_VEHICLE_LIST_SEND_FOR_SERVICING :Stuur vir diens STR_VEHICLE_LIST_SEND_TRAIN_TO_DEPOT :Stuur na Depot STR_VEHICLE_LIST_SEND_ROAD_VEHICLE_TO_DEPOT :Stuur na Depot @@ -3297,12 +3350,15 @@ STR_GROUP_DEFAULT_ROAD_VEHICLES :Ongegroepeerde STR_GROUP_DEFAULT_SHIPS :Ongegroepeerde skepe STR_GROUP_DEFAULT_AIRCRAFTS :Ongegroepeerde vliegtuig -STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Groepe - klik op 'n groep om alle voertuie in hierdie groep te lys +STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Groepe - klik op 'n groep om alle voertuie in hierdie groep te lys. Sleep en los om te rangskik volgens hiërargie. STR_GROUP_CREATE_TOOLTIP :{BLACK}Klik om groep te skep STR_GROUP_DELETE_TOOLTIP :{BLACK}Vee uit die gekose groep STR_GROUP_RENAME_TOOLTIP :{BLACK}Hernoem die gekose groep STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Klik om hierdie groep teen outovervanging te beskerm +STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Wis groep uit +STR_GROUP_DELETE_QUERY_TEXT :{WHITE}Is jy seker jy wil hierdie groep en enige subgroepe uitwis? + STR_GROUP_ADD_SHARED_VEHICLE :Voeg gedeelde voertuie STR_GROUP_REMOVE_ALL_VEHICLES :Verwyder alle voertuie @@ -3319,7 +3375,7 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_CAPTION :Nuwe Pad Voertu STR_BUY_VEHICLE_SHIP_CAPTION :Nuwe Skepe STR_BUY_VEHICLE_AIRCRAFT_CAPTION :Nuwe Vliegtuig -STR_PURCHASE_INFO_COST_WEIGHT :{BLACK}Kos: {GOLD}{CURRENCY_LONG}{BLACK} Gewig: {GOLD}{WEIGHT_SHORT} +STR_PURCHASE_INFO_COST_WEIGHT :{BLACK}Koste: {GOLD}{CURRENCY_LONG}{BLACK} Gewig: {GOLD}{WEIGHT_SHORT} STR_PURCHASE_INFO_SPEED_POWER :{BLACK}Spoed: {GOLD}{VELOCITY}{BLACK} Krag: {GOLD}{POWER} STR_PURCHASE_INFO_SPEED :{BLACK}Spoed: {GOLD}{VELOCITY} STR_PURCHASE_INFO_SPEED_OCEAN :{BLACK}Spoed op oseaan: {GOLD}{VELOCITY} @@ -3327,8 +3383,8 @@ STR_PURCHASE_INFO_SPEED_CANAL :{BLACK}Spoed op STR_PURCHASE_INFO_RUNNINGCOST :{BLACK}Loopkoste: {GOLD}{CURRENCY_LONG}/jr STR_PURCHASE_INFO_CAPACITY :{BLACK}Kapasiteit: {GOLD}{CARGO_LONG} {STRING} STR_PURCHASE_INFO_REFITTABLE :(herboubaar) -STR_PURCHASE_INFO_DESIGNED_LIFE :{BLACK}Ontwerp: {GOLD}{NUM}{BLACK} Lewe: {GOLD}{COMMA} ja{P ar re} -STR_PURCHASE_INFO_RELIABILITY :{BLACK}Maks. Betroubaarheid: {GOLD}{COMMA}% +STR_PURCHASE_INFO_DESIGNED_LIFE :{BLACK}Ontwerp: {GOLD}{NUM}{BLACK} Leeftyd: {GOLD}{COMMA} jaar +STR_PURCHASE_INFO_RELIABILITY :{BLACK}Maks. betroubaarheid: {GOLD}{COMMA}% STR_PURCHASE_INFO_COST :{BLACK}Kos: {GOLD}{CURRENCY_LONG} STR_PURCHASE_INFO_WEIGHT_CWEIGHT :{BLACK}Massa: {GOLD}{WEIGHT_SHORT} ({WEIGHT_SHORT}) STR_PURCHASE_INFO_COST_SPEED :{BLACK}Kos: {GOLD}{CURRENCY_LONG}{BLACK} Spoed: {GOLD}{VELOCITY} @@ -3340,10 +3396,10 @@ STR_PURCHASE_INFO_ALL_BUT :Alles behalwe { STR_PURCHASE_INFO_MAX_TE :{BLACK}Maks. Traktiewe Poging: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Afstand: {GOLD}{COMMA} teëls -STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Trein kieslys - klik op voertuig vir inligting -STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Pad voertuig kieslys - klik op voertuig vir inligting -STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Skip kieslys - klik op skip vir inligting -STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Vliegtuig kieslys - klik op vliegtuig vir inligting +STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Trein kieslys - klik op voertuig vir inligting. CTRL+kliek vir wegsteek van die voertuig tipe +STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Pad voertuig kieslys - klik op voertuig vir inligting. CTRL+kliek vir wegsteek van die voertuig tipe +STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK} Skip keuse lys. Klik op die skip vir inligting. CTRL+klik vir die wegsteek van die skip tipe +STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Vliegtuig kieslys - klik op vliegtuig vir inligting. CTRL+kliek vir wegsteek van die vliegtuig tipe STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}Koop Voertuig STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Koop Voertuig @@ -3365,6 +3421,21 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Hernoem STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Hernoem skip tipe STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Hernoem vliegtuig tipe +STR_BUY_VEHICLE_TRAIN_HIDE_TOGGLE_BUTTON :{BLACK}Vertoon +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_TOGGLE_BUTTON :{BLACK}Vertoon +STR_BUY_VEHICLE_SHIP_HIDE_TOGGLE_BUTTON :{BLACK}Vertoon +STR_BUY_VEHICLE_AIRCRAFT_HIDE_TOGGLE_BUTTON :{BLACK}Vertoon + +STR_BUY_VEHICLE_TRAIN_SHOW_TOGGLE_BUTTON :{BLACK}Vertoon +STR_BUY_VEHICLE_ROAD_VEHICLE_SHOW_TOGGLE_BUTTON :{BLACK}Vertoon +STR_BUY_VEHICLE_SHIP_SHOW_TOGGLE_BUTTON :{BLACK}Vertoon +STR_BUY_VEHICLE_AIRCRAFT_SHOW_TOGGLE_BUTTON :{BLACK}Vertoon + +STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Skakel die wegsteek/vetrooning van die trein tipe +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Skakel die wegsteek/vetrooning van die voertuig tipe +STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Skakel die wegsteek/vetrooning van die skip tipe +STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Skakel die wegsteek/vetrooning van die vliegtuig tipe + STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}Hernoem trein voertuig tipe STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}Hernoem pad voertuig tipe STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}Hernoem skip tipe @@ -3418,7 +3489,7 @@ STR_DEPOT_CLONE_ROAD_VEHICLE :{BLACK}Kloon Vo STR_DEPOT_CLONE_SHIP :{BLACK}Kloon Skip STR_DEPOT_CLONE_AIRCRAFT :{BLACK}Kloon Vliegtuig -STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Klik hier en dan op 'n bestaande trein om 'n spieëlbeeld van die bestaande trein te koop. Shift+klik vir kwotasie +STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Klik hier en dan op 'n bestaande trein om 'n spieëlbeeld van die bestaande trein te koop. Ctrl+Klik om die opdragte tel deel. Shift+klik vir kwotasie STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Klik hier en dan op 'n bestaande voertuig om 'n spieëlbeeld van die bestaande voertuig te koop. Shift+klik vir kwotasie STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Klik hier en dan op 'n bestaande skip om 'n spieëlbeeld van die bestaande skip te koop. Shift+klik vir kwotasie STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Klik hier en dan op 'n bestaande vliegtuig om 'n spieëlbeeld van die bestaande vliegtuig te koop. Shift+klik vir kwotasie @@ -3449,7 +3520,7 @@ STR_DEPOT_SELL_CONFIRMATION_TEXT :{YELLOW}U staan STR_ENGINE_PREVIEW_CAPTION :{WHITE}Boodskap van voertuig fabrikant STR_ENGINE_PREVIEW_MESSAGE :{GOLD}Ons het sopas 'n nuwe {STRING} ontwerp, sal jy belangstel om hierdie voertuig eksklusief vir 'n jaar te gebruik. Hierdie word gedoen om te kyk hoe die voertuig doen voordat hy wereld wyd in produksie gesit word? STR_ENGINE_PREVIEW_RAILROAD_LOCOMOTIVE :spoorweg lokomotief -STR_ENGINE_PREVIEW_ROAD_VEHICLE :pad voertuig +STR_ENGINE_PREVIEW_ROAD_VEHICLE :padvoertuig STR_ENGINE_PREVIEW_AIRCRAFT :vliegtuig STR_ENGINE_PREVIEW_SHIP :skip STR_ENGINE_PREVIEW_MONORAIL_LOCOMOTIVE :monospoor lokomotief @@ -3469,17 +3540,22 @@ STR_REPLACE_VEHICLE_ROAD_VEHICLE :Pad voertuig STR_REPLACE_VEHICLE_SHIP :Skip STR_REPLACE_VEHICLE_AIRCRAFT :Vliegtuig +STR_REPLACE_VEHICLE_VEHICLES_IN_USE :{YELLOW}Voertuie in gebruik +STR_REPLACE_VEHICLE_VEHICLES_IN_USE_TOOLTIP :{BLACK}Kolom met voertuie wat jy besit +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES :{YELLOW}Beskikbare voertuie +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES_TOOLTIP :{BLACK}Kolom met voertuie wat beskikbaar is vir vervanging + STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Kies die enjin tipe om te vervang STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Kies die nuwe enjin tipe wat jy wil gebruik in plaas van die linker gekose enjin tipe -STR_REPLACE_VEHICLES_START :{BLACK}Begin Voertuie Vervanging +STR_REPLACE_VEHICLES_START :{BLACK}Vervang voertuie STR_REPLACE_VEHICLES_NOW :Vervand alle voertuie nou STR_REPLACE_VEHICLES_WHEN_OLD :Vervang net ou voertuie STR_REPLACE_HELP_START_BUTTON :{BLACK}Druk om vervanging van die linker gekose enjin tipe met die regter gekose enjin tipe te begin STR_REPLACE_NOT_REPLACING :{BLACK}Word nie vervang nie STR_REPLACE_NOT_REPLACING_VEHICLE_SELECTED :{BLACK}Geen voertuig gekies STR_REPLACE_REPLACING_WHEN_OLD :{ENGINE} waneer oud -STR_REPLACE_VEHICLES_STOP :{BLACK}Stop Voertuie Vervanging +STR_REPLACE_VEHICLES_STOP :{BLACK}Staak vervanging STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Druk om die vervanging van die linker gekose enjin tipe te stop STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}Vervang: {ORANGE}{STRING} @@ -3489,8 +3565,8 @@ STR_REPLACE_WAGONS :Waens STR_REPLACE_HELP_RAILTYPE :{BLACK}Kies die soort spoor waarvoor lokomotiewe vervang moet word STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Toon aan watter enjin die linker gekose enjin mee vervang moet word , indien enige -STR_REPLACE_RAIL_VEHICLES :Spoort voertuie -STR_REPLACE_ELRAIL_VEHICLES :Elektrifiseerde Spoor Voertuie +STR_REPLACE_RAIL_VEHICLES :Treine +STR_REPLACE_ELRAIL_VEHICLES :Elektriese treine STR_REPLACE_MONORAIL_VEHICLES :Monospoor voertuie STR_REPLACE_MAGLEV_VEHICLES :Maglev Voertuie @@ -3593,7 +3669,7 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Kapasite STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Oordragkrediet: {LTBLUE}{CURRENCY_LONG} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Diens tussentyd: {LTBLUE}{COMMA}dae{BLACK} Laaste diens: {LTBLUE}{DATE_LONG} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Diens tussentyd: {LTBLUE}{COMMA}{NBSP}dae{BLACK} Laaste diens: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Diens tussentyd: {LTBLUE}{COMMA}%{BLACK} Laaste diens: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Vermeeder diensinterval met 10 dae. Ctrl+klik om interval met 5 dae te vermeerder STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Verminder diensinterval met 10. Ctrl+klik om interval met 5 dae te verminder @@ -3691,8 +3767,8 @@ STR_ORDER_TOOLTIP_UNLOAD :{BLACK}verander STR_ORDER_REFIT :{BLACK}Herbou STR_ORDER_REFIT_TOOLTIP :{BLACK}Kies na watter vragtipe toe die voegtuig omskep sal word. Ctrl-klik om omskeppingsinstruksie te verwyder -STR_ORDER_REFIT_AUTO :{BLACK}Outo-herbou -STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Kies watter tipe vrag om hierdie opdrag te outo-omskep. Ctrl-klik om omskeppingsinstruksies te stop. Outo-omskepping sal net toegelaat word as die voertuig dit toelaat +STR_ORDER_REFIT_AUTO :{BLACK}Outo-herpas +STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Kies watter tipe vrag na herpas moet word vir hierdie opdrag. Ctrl-klik om herpassingsinstruksies te stop. Outo-omskepping sal net toegelaat word as die voertuig dit toelaat STR_ORDER_DROP_REFIT_AUTO :Vaste vrag STR_ORDER_DROP_REFIT_AUTO_ANY :Beskikbare vrag @@ -3783,23 +3859,23 @@ STR_ORDER_NO_UNLOAD_FULL_LOAD :(Geen aflaai en STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY :(Geen aflaai en wag vir enige vol vrag) STR_ORDER_NO_UNLOAD_NO_LOAD :(Geen aflaai en geen laai) -STR_ORDER_AUTO_REFIT :(Outo-herbou na {STRING}) -STR_ORDER_FULL_LOAD_REFIT :(Vollas met outo-herbou na {STRING}) -STR_ORDER_FULL_LOAD_ANY_REFIT :(Vollas enige vrago met outo-herbou na {STRING}) -STR_ORDER_UNLOAD_REFIT :(Laai af en laai vrag met outo-herbou na {STRING}) -STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(Laai af en wag vir 'n vol vrag met outo-herbo na {STRING}) -STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(Laai af en wag vir enige vol vrag met outo-herbo na {STRING}) -STR_ORDER_TRANSFER_REFIT :(Verplaas en vat vrag met outo-herbou na{STRING}) -STR_ORDER_TRANSFER_FULL_LOAD_REFIT :(Verplaas en wag vir 'n vol vrag met outo-herbou na{STRING}) -STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :(Verplaas en wag vir enige vol vrag met outo-herbou na{STRING}) -STR_ORDER_NO_UNLOAD_REFIT :(Geen aflaai en vat vrag met outo-herbou na{STRING}) -STR_ORDER_NO_UNLOAD_FULL_LOAD_REFIT :(Geen aflaai en wag vir 'n vol vrag met outo-herbou na{STRING}) -STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY_REFIT :(Geen aflaai en wag vir enige vol vrag met outo-herbou na{STRING}) +STR_ORDER_AUTO_REFIT :(Herpas vir {STRING}) +STR_ORDER_FULL_LOAD_REFIT :(Vollas met herpas vir {STRING}) +STR_ORDER_FULL_LOAD_ANY_REFIT :(Vollas enige vrag met herpas vir {STRING}) +STR_ORDER_UNLOAD_REFIT :(Laai af en laai vrag op met herpas vir {STRING}) +STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(Laai af en wag vir 'n vol vrag met herpas vir {STRING}) +STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(Laai af en wag vir enige vol vrag met herpas vir {STRING}) +STR_ORDER_TRANSFER_REFIT :(Plaas oor en laai vrag met herpas vir {STRING}) +STR_ORDER_TRANSFER_FULL_LOAD_REFIT :(Plaas oor en wag vir 'n vollas met herpas vir {STRING}) +STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :(Plaas oor en wag vir enige vollas met herpas vir {STRING}) +STR_ORDER_NO_UNLOAD_REFIT :(Geen aflaai en vat vrag met herpas vir {STRING}) +STR_ORDER_NO_UNLOAD_FULL_LOAD_REFIT :(Geen aflaai en wag vir 'n vol vrag met herpas vir {STRING}) +STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY_REFIT :(Geen aflaai en wag vir enige vol vrag met herpas vir {STRING}) STR_ORDER_AUTO_REFIT_ANY :beskikbare vrag STR_ORDER_STOP_LOCATION_NEAR_END :[naby einde] -STR_ORDER_STOP_LOCATION_MIDDLE :[middle] +STR_ORDER_STOP_LOCATION_MIDDLE :[middel] STR_ORDER_STOP_LOCATION_FAR_END :[ver einde] STR_ORDER_OUT_OF_RANGE :{RED} (Volgende bestemming val buite die limiet) @@ -3808,7 +3884,7 @@ STR_ORDER_CONDITIONAL_UNCONDITIONAL :Spring oor na b STR_ORDER_CONDITIONAL_NUM :Spring oor na bevel {COMMA} wanneer {STRING} {STRING} {COMMA} STR_ORDER_CONDITIONAL_TRUE_FALSE :Spring oor na bevel {COMMA} wanneer {STRING} {STRING} -STR_INVALID_ORDER :{RED} (Ongeldig Opdrag) +STR_INVALID_ORDER :{RED} (Ongeldige opdrag) # Time table window STR_TIMETABLE_TITLE :{WHITE}{VEHICLE} (Rooster) @@ -3820,13 +3896,17 @@ STR_TIMETABLE_TOOLTIP :{BLACK}Rooster STR_TIMETABLE_NO_TRAVEL :Geen reis STR_TIMETABLE_NOT_TIMETABLEABLE :Reis (outomaties; getabuleer volgens eiehandige bevel) STR_TIMETABLE_TRAVEL_NOT_TIMETABLED :Reis (Nie op rooster nie) -STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Reis op die meeste {2:VELOCITY} (nie gerooster) +STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Reis nie meer as {2:VELOCITY} nie (nie volgens tydrooster nie) STR_TIMETABLE_TRAVEL_FOR :Reis vir {STRING} STR_TIMETABLE_TRAVEL_FOR_SPEED :Reis vir {STRING} met die meeste {VELOCITY} +STR_TIMETABLE_TRAVEL_FOR_ESTIMATED :Reis (vir {STRING}, nie volgens tydrooster nie) +STR_TIMETABLE_TRAVEL_FOR_SPEED_ESTIMATED :Reis (vir {STRING}, nie volgens tydrooster nie) teen nie meer as {VELOCITY} nie +STR_TIMETABLE_STAY_FOR_ESTIMATED :(wag vir {STRING}, nie volgens tydrooster nie) +STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(reis vir {STRING}, nie volgens tydrooster nie) STR_TIMETABLE_STAY_FOR :en bly vir {STRING} STR_TIMETABLE_AND_TRAVEL_FOR :en reis vir {STRING} -STR_TIMETABLE_DAYS :{COMMA} da{P g e} -STR_TIMETABLE_TICKS :{COMMA} tick{P "" e} +STR_TIMETABLE_DAYS :{COMMA}{NBSP}da{P g e} +STR_TIMETABLE_TICKS :{COMMA}{NBSP}tik{P "" ke} STR_TIMETABLE_TOTAL_TIME :{BLACK}Die rooster sal {STRING} neem om te voltooi STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}Die rooster sal te minste {STRING} vat om te voltooi (nie alles gerooster nie) @@ -3924,7 +4004,7 @@ STR_AI_CONFIG_CONFIGURE :{BLACK}Konfigur STR_AI_CONFIG_CONFIGURE_TOOLTIP :{BLACK}Konfigureer die parameters van skrif # Available AIs window -STR_AI_LIST_CAPTION :{WHITE}Beskikbaar {STRING} +STR_AI_LIST_CAPTION :{WHITE}Beskikbare {STRING} STR_AI_LIST_CAPTION_AI :AIs STR_AI_LIST_CAPTION_GAMESCRIPT :Speletjie Skrifte STR_AI_LIST_TOOLTIP :{BLACK}Klik om 'n skrip te kies @@ -3984,7 +4064,7 @@ STR_MESSAGE_ESTIMATED_COST :{WHITE}Beraamde STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Beraamde Inkomste: {CURRENCY_LONG} # Saveload messages -STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Spaar nog in vorder, {}wag asb tot dit klaar is! +STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Stoor van speletjie is nog besig, {}wag asb tot dit klaar is! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Outostoor het misluk STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Kan nie skyf lees nie STR_ERROR_GAME_SAVE_FAILED :{WHITE}Speletjie Spaar Misluk{}{STRING} @@ -4043,7 +4123,7 @@ STR_ERROR_SITE_UNSUITABLE :{WHITE}... ligg STR_ERROR_ALREADY_BUILT :{WHITE}... alreeds gebou STR_ERROR_OWNED_BY :{WHITE}... besit deur {STRING} STR_ERROR_AREA_IS_OWNED_BY_ANOTHER :{WHITE}... gebied is besit deur 'n ander maatskappy -STR_ERROR_TERRAFORM_LIMIT_REACHED :{WHITE}... Landargitekteur beperking beryk +STR_ERROR_TERRAFORM_LIMIT_REACHED :{WHITE}... landargitektuur beperking beryk STR_ERROR_CLEARING_LIMIT_REACHED :{WHITE}... teël skoonmaak limiet bereik STR_ERROR_TREE_PLANT_LIMIT_REACHED :{WHITE}... bome se plant beperking bereik STR_ERROR_NAME_MUST_BE_UNIQUE :{WHITE}Naam moet unike wees @@ -4064,6 +4144,7 @@ STR_ERROR_EXCAVATION_WOULD_DAMAGE :{WHITE}Uitgrawi STR_ERROR_ALREADY_AT_SEA_LEVEL :{WHITE}... reeds op seevlak STR_ERROR_TOO_HIGH :{WHITE}... te hoog STR_ERROR_ALREADY_LEVELLED :{WHITE}... klaar gelyk +STR_ERROR_BRIDGE_TOO_HIGH_AFTER_LOWER_LAND :{WHITE}Die brug bo hierdie een gaan te hoog wees as jy voortgaan # Company related errors STR_ERROR_CAN_T_CHANGE_COMPANY_NAME :{WHITE}Maatskappy naam kan nie verander word nie... @@ -4090,7 +4171,7 @@ STR_ERROR_TOO_CLOSE_TO_EDGE_OF_MAP_SUB :{WHITE}... te n STR_ERROR_TOO_CLOSE_TO_ANOTHER_TOWN :{WHITE}... te naby aan 'n ander dorp STR_ERROR_TOO_MANY_TOWNS :{WHITE}... te veel dorpe STR_ERROR_NO_SPACE_FOR_TOWN :{WHITE}... daar is nie meer spasie oor op die kaart nie -STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}Die dorp gaan nie paaie bou nie. Gaan na Gevorderde Verstellings->Ekonomie->Dorpe om dit te verander +STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE} Die dorp sal nie paaie bou nie. Jy kan dit verander deur die bou van paaie via Stellings-> Omgewings-> Dorpe te aktiveer STR_ERROR_ROAD_WORKS_IN_PROGRESS :{WHITE}Pad werke in verloop STR_ERROR_TOWN_CAN_T_DELETE :{WHITE}Kan nie die dorp verwyder nie... {}'n Stasie of depot verwys na die dorp of die blok wat deur die dorp besit word kan nie verwyder word nie. STR_ERROR_STATUE_NO_SUITABLE_PLACE :{WHITE}... daar is geen plek vir 'n standbeeld in die middel van die dorp @@ -4114,6 +4195,9 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... woud STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... kan slegs bo sneeu-lyn gebou word STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... kan slegs onder sneeu-lyn gebou word +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}Daar was geen geskikte plek vir '{STRING}' nywerhede +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Verander die kaart generasie parameter om 'n beter kaart te kry + # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Kan nie treinstasie hier bou nie... STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}Kan nie bus stasie hier bou nie... @@ -4135,8 +4219,8 @@ STR_ERROR_TOO_CLOSE_TO_ANOTHER_AIRPORT :{WHITE}Te naby STR_ERROR_CAN_T_RENAME_STATION :{WHITE}Stasie kan nie hernoem word nie... STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... hierdie is 'n dorp besit pad STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... pad teenoor in die verkeerde rigting -STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... deurry stops kan nie hoeke hê nie -STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... deurry stops kan nie aansluitings hê nie +STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... deurry haltes kan nie hoeke hê nie +STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... deurry haltes kan nie aansluitings hê nie # Station destruction related errors STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Kan nie deel van stasie verwyder nie... @@ -4230,7 +4314,7 @@ STR_ERROR_THERE_IS_NO_TRAMWAY :{WHITE}... daar # Waterway construction errors STR_ERROR_CAN_T_BUILD_CANALS :{WHITE}Kan nie kanaale hier bou nie... STR_ERROR_CAN_T_BUILD_LOCKS :{WHITE}Kan nie sluite hier bou nie... -STR_ERROR_CAN_T_PLACE_RIVERS :{WHITE}Can nie riviere hier plaas nie... +STR_ERROR_CAN_T_PLACE_RIVERS :{WHITE}Kan nie riviere hier plaas nie... STR_ERROR_MUST_BE_BUILT_ON_WATER :{WHITE}... moet op water gebou word STR_ERROR_CAN_T_BUILD_ON_WATER :{WHITE}... Kan nie op water bou nie STR_ERROR_CAN_T_BUILD_ON_SEA :{WHITE}... kan nie op oop see bou nie @@ -4249,7 +4333,8 @@ STR_ERROR_CAN_T_BUILD_BRIDGE_HERE :{WHITE}Brug kan STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Moet eers brug afbreek STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}Kan nie in die selfde plek begin en eindig nie STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}Brug hoofde is nie op die selfde vlak nie -STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}Brug is te laag vie die daal +STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}Brug is te laag vir die terrein +STR_ERROR_BRIDGE_TOO_HIGH_FOR_TERRAIN :{WHITE}Die brug is te hoog STR_ERROR_START_AND_END_MUST_BE_IN :{WHITE}Begin en einde moet in lyn wees STR_ERROR_ENDS_OF_BRIDGE_MUST_BOTH :{WHITE}... albei brug eindes moet op land wees STR_ERROR_BRIDGE_TOO_LONG :{WHITE}... brug te lank @@ -4261,7 +4346,7 @@ STR_ERROR_SITE_UNSUITABLE_FOR_TUNNEL :{WHITE}Plek ong STR_ERROR_MUST_DEMOLISH_TUNNEL_FIRST :{WHITE}Moet eers tonnel afbreek STR_ERROR_ANOTHER_TUNNEL_IN_THE_WAY :{WHITE}Ander tonnel in die pad STR_ERROR_TUNNEL_THROUGH_MAP_BORDER :{WHITE}Tonnel so op die einde van die kaart eindig -STR_ERROR_UNABLE_TO_EXCAVATE_LAND :{WHITE}Kan nie daal vir ander einde van tonnel te uitgrawe nie +STR_ERROR_UNABLE_TO_EXCAVATE_LAND :{WHITE}Kan nie die terrein aan die anderkant van die tonnel uitgrawe nie STR_ERROR_TUNNEL_TOO_LONG :{WHITE}... tonnel te lank # Object related errors @@ -4276,12 +4361,13 @@ STR_ERROR_YOU_ALREADY_OWN_IT :{WHITE}... jy b STR_ERROR_GROUP_CAN_T_CREATE :{WHITE}Kan nie groep skep nie... STR_ERROR_GROUP_CAN_T_DELETE :{WHITE}Kan nie groep uitvee nie... STR_ERROR_GROUP_CAN_T_RENAME :{WHITE}Kan nie groep hernoem nie... +STR_ERROR_GROUP_CAN_T_SET_PARENT :{WHITE}Kan nie die huidige groep instel nie STR_ERROR_GROUP_CAN_T_REMOVE_ALL_VEHICLES :{WHITE}Kan nie alle voertuie van groep verwyder nie... STR_ERROR_GROUP_CAN_T_ADD_VEHICLE :{WHITE}Kan nie die voertuig tot hierdie groep voeg nie... STR_ERROR_GROUP_CAN_T_ADD_SHARED_VEHICLE :{WHITE}Kan nie gedeelde voertuie by groep voeg nie... # Generic vehicle errors -STR_ERROR_TRAIN_IN_THE_WAY :{WHITE}Trein in die weg +STR_ERROR_TRAIN_IN_THE_WAY :{WHITE}Trein in die pad STR_ERROR_ROAD_VEHICLE_IN_THE_WAY :{WHITE}Pad voertuig in die pad STR_ERROR_SHIP_IN_THE_WAY :{WHITE}Skip in die pad STR_ERROR_AIRCRAFT_IN_THE_WAY :{WHITE}Vliegtuig in die pad @@ -4533,9 +4619,9 @@ STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_30_ELECTRIC :SH '30' (Elektr STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_40_ELECTRIC :SH '40' (Elektries) STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_T_I_M_ELECTRIC :'T.I.M.' (Elektries) STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_ASIASTAR_ELECTRIC :'AsiaStar' (Elektries) -STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_PASSENGER_CAR :Passasier Rytuig +STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_PASSENGER_CAR :Passasierswa STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_MAIL_VAN :Pos Wa -STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_COAL_CAR :Kool Wa +STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_COAL_CAR :Steenkool Wa STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_OIL_TANKER :Olie Tenkwa STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_LIVESTOCK_VAN :Lewende Hawe Wa STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_GOODS_VAN :Goedere Wa @@ -4543,7 +4629,7 @@ STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_GRAIN_HOPPER :Graan Laai Bak STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_WOOD_TRUCK :Hout Trok STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_IRON_ORE_HOPPER :Yster Erts Laai Bak STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_STEEL_TRUCK :Staal Trok -STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_ARMORED_VAN :Gepantserde Wa +STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_ARMORED_VAN :pantserwa STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_FOOD_VAN :Kos Wa STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_PAPER_TRUCK :Papier Trok STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_COPPER_ORE_HOPPER :Koper Erts Laai Bak @@ -4563,7 +4649,7 @@ STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_PLASTIC_TRUCK :Plastiek Trok STR_VEHICLE_NAME_TRAIN_ENGINE_MONORAIL_X2001_ELECTRIC :'X2001' (Elektries) STR_VEHICLE_NAME_TRAIN_ENGINE_MONORAIL_MILLENNIUM_Z1_ELECTRIC :'Millennium Z1' (Elektries) STR_VEHICLE_NAME_TRAIN_ENGINE_MONORAIL_WIZZOWOW_Z99 :Wizzowow Z99 -STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_PASSENGER_CAR :Passasier Rytuig +STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_PASSENGER_CAR :Passasierswa STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_MAIL_VAN :Pos Wa STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_COAL_CAR :Steenkoolwa STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_OIL_TANKER :Olie Tenkwa @@ -4573,7 +4659,7 @@ STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_GRAIN_HOPPER :Graan Laai Bak STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_WOOD_TRUCK :Hout Trok STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_IRON_ORE_HOPPER :Yster Erts Laai Bak STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_STEEL_TRUCK :Staal Trok -STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_ARMORED_VAN :Gepantserde Wa +STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_ARMORED_VAN :pantserwa STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_FOOD_VAN :Kos Wa STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_PAPER_TRUCK :Papier Trok STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_COPPER_ORE_HOPPER :Coper Erts Laai Bak @@ -4595,9 +4681,9 @@ STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV2_CYCLOPS_ELECTRIC :Lev2 'Cyclops' STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV3_PEGASUS_ELECTRIC :Lev3 'Pegasus' (Elektries) STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV4_CHIMAERA_ELECTRIC :Lev4 'Chimaera' (Elektries) STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_WIZZOWOW_ROCKETEER :Wizzowow Rocketeer -STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_PASSENGER_CAR :Passasier Rytuig +STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_PASSENGER_CAR :Passasierswa STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_MAIL_VAN :Pos Wa -STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_COAL_CAR :Kool Trok +STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_COAL_CAR :Steenkool Trok STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_OIL_TANKER :Olie Tenkwa STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_LIVESTOCK_VAN :Lewende Hawe Wa STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_GOODS_VAN :Goedere Wa @@ -4605,7 +4691,7 @@ STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_GRAIN_HOPPER :Graan Laai Bak STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_WOOD_TRUCK :Hout Trok STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_IRON_ORE_HOPPER :Yster Erts Laai Bak STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_STEEL_TRUCK :Staal Trok -STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_ARMORED_VAN :Gepantserde Wa +STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_ARMORED_VAN :pantserwa STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_FOOD_VAN :Kos Wa STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_PAPER_TRUCK :Papier Trok STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_COPPER_ORE_HOPPER :Koper Erts Laai Bak @@ -4629,7 +4715,7 @@ STR_VEHICLE_NAME_ROAD_VEHICLE_FOSTER_MKII_SUPERBUS :Foster MkII Sup STR_VEHICLE_NAME_ROAD_VEHICLE_PLODDYPHUT_MKI_BUS :Ploddyphut MkI Bus STR_VEHICLE_NAME_ROAD_VEHICLE_PLODDYPHUT_MKII_BUS :Ploddyphut MkII Bus STR_VEHICLE_NAME_ROAD_VEHICLE_PLODDYPHUT_MKIII_BUS :Ploddyphut MkIII Bus -STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_COAL_TRUCK :Balogh Kool Trok +STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_COAL_TRUCK :Balogh Steenkool Trok STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_COAL_TRUCK :Uhl Kool Trok STR_VEHICLE_NAME_ROAD_VEHICLE_DW_COAL_TRUCK :DW Kool Trok STR_VEHICLE_NAME_ROAD_VEHICLE_MPS_MAIL_TRUCK :MPS Pos Trok @@ -4659,9 +4745,9 @@ STR_VEHICLE_NAME_ROAD_VEHICLE_CHIPPY_IRON_ORE_TRUCK :Chippy Yster Er STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_STEEL_TRUCK :Balogh Staal Trok STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_STEEL_TRUCK :Uhl Staal Trok STR_VEHICLE_NAME_ROAD_VEHICLE_KELLING_STEEL_TRUCK :Kelling Staal Trok -STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_ARMORED_TRUCK :Balogh Gepantserde Trok -STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_ARMORED_TRUCK :Uhl Gepantserde Trok -STR_VEHICLE_NAME_ROAD_VEHICLE_FOSTER_ARMORED_TRUCK :Foster Gepantserde Trok +STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_ARMORED_TRUCK :Balogh pantsertrok +STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_ARMORED_TRUCK :Uhl pantsertrok +STR_VEHICLE_NAME_ROAD_VEHICLE_FOSTER_ARMORED_TRUCK :Foster pantsertrok STR_VEHICLE_NAME_ROAD_VEHICLE_FOSTER_FOOD_VAN :Foster Kos Wa STR_VEHICLE_NAME_ROAD_VEHICLE_PERRY_FOOD_VAN :Perry Kos Wa STR_VEHICLE_NAME_ROAD_VEHICLE_CHIPPY_FOOD_VAN :Chippy Kos Wa @@ -4813,6 +4899,7 @@ STR_COMPANY_NAME :{COMPANY} STR_COMPANY_NAME_COMPANY_NUM :{COMPANY} {COMPANY_NUM} STR_DEPOT_NAME :{DEPOT} STR_ENGINE_NAME :{ENGINE} +STR_HIDDEN_ENGINE_NAME :{ENGINE} (weggesteek) STR_GROUP_NAME :{GROUP} STR_INDUSTRY_NAME :{INDUSTRY} STR_PRESIDENT_NAME :{PRESIDENT_NAME} @@ -4848,8 +4935,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -4860,9 +4945,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/arabic_egypt.txt b/src/lang/arabic_egypt.txt index ffdcdc1d4f..5c55c860ee 100644 --- a/src/lang/arabic_egypt.txt +++ b/src/lang/arabic_egypt.txt @@ -199,12 +199,14 @@ STR_UNITS_POWER_IMPERIAL :{COMMA}حصان STR_UNITS_POWER_METRIC :{COMMA}حصان STR_UNITS_POWER_SI :{COMMA}ك واط +STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}ت STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}طن STR_UNITS_WEIGHT_SHORT_SI :{COMMA}كجم STR_UNITS_WEIGHT_LONG_METRIC :{COMMA} طن STR_UNITS_WEIGHT_LONG_SI :{COMMA}كجم +STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}غال STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}ل STR_UNITS_VOLUME_SHORT_SI :{COMMA}م3 @@ -231,13 +233,16 @@ STR_TOOLTIP_CLOSE_WINDOW :{BLACK}اغلا STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS :{BLACK}عنوان الاطار- اسحب لتحريك الاطار STR_TOOLTIP_SHADE :{BLACK}نافذة الظل - تعرض العنوان فقط STR_TOOLTIP_DEBUG :{BLACK}اظهر معلومات صائد اخطاء الاضافات الجديدة. -STR_TOOLTIP_STICKY :{BLACK}خصص هذا الاطار بان يبقى مفتوح عند اغلاق كافة الاطارات +STR_TOOLTIP_STICKY :{BLACK}علم هذه النافذة كغير قابلة للإقفال باستخدام زر إغلاق كل النوافذ, اضغط مع Ctrl لجعل الأمر إفتراضيا STR_TOOLTIP_RESIZE :{BLACK}اضغط واسحب لتعديل حجم الاطار STR_TOOLTIP_TOGGLE_LARGE_SMALL_WINDOW :{BLACK}تبديل حجم الاطار كبير / صغير STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}شريط العرض- فوق /تحت STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}عمود التحريك - يمين/يسار STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}هدم المباني و غيرها في مربع من الأرض. +# Show engines button + + # Query window STR_BUTTON_DEFAULT :{BLACK}افتراضي STR_BUTTON_CANCEL :{BLACK}الغاء @@ -346,7 +351,6 @@ STR_SCENEDIT_FILE_MENU_QUIT :انهاء ############ range for settings menu starts STR_SETTINGS_MENU_GAME_OPTIONS :إعدادات اللعبه -STR_SETTINGS_MENU_CONFIG_SETTINGS :اعدادات متقدمة STR_SETTINGS_MENU_SCRIPT_SETTINGS :الذكاء الصناعي/ اعدادات اللعبة STR_SETTINGS_MENU_NEWGRF_SETTINGS :إعدادات اﻹضافات STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :خيارات الشفافية @@ -451,7 +455,7 @@ STR_ABOUT_MENU_SPRITE_ALIGNER :موائم ال STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :اضهار /اخفاء مربح الحوارات/الخيارات ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window STR_ORDINAL_NUMBER_1ST :1 STR_ORDINAL_NUMBER_2ND :2 STR_ORDINAL_NUMBER_3RD :3 @@ -467,22 +471,40 @@ STR_ORDINAL_NUMBER_12TH :12 STR_ORDINAL_NUMBER_13TH :13 STR_ORDINAL_NUMBER_14TH :14 STR_ORDINAL_NUMBER_15TH :15 -STR_ORDINAL_NUMBER_16TH :16 -STR_ORDINAL_NUMBER_17TH :17 -STR_ORDINAL_NUMBER_18TH :18 -STR_ORDINAL_NUMBER_19TH :19 -STR_ORDINAL_NUMBER_20TH :20 -STR_ORDINAL_NUMBER_21ST :21 -STR_ORDINAL_NUMBER_22ND :22 -STR_ORDINAL_NUMBER_23RD :23 -STR_ORDINAL_NUMBER_24TH :24 -STR_ORDINAL_NUMBER_25TH :25 -STR_ORDINAL_NUMBER_26TH :26 -STR_ORDINAL_NUMBER_27TH :27 -STR_ORDINAL_NUMBER_28TH :28 -STR_ORDINAL_NUMBER_29TH :29 -STR_ORDINAL_NUMBER_30TH :30 -STR_ORDINAL_NUMBER_31ST :31 +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :1 +STR_DAY_NUMBER_2ND :2 +STR_DAY_NUMBER_3RD :3 +STR_DAY_NUMBER_4TH :4 +STR_DAY_NUMBER_5TH :5 +STR_DAY_NUMBER_6TH :6 +STR_DAY_NUMBER_7TH :7 +STR_DAY_NUMBER_8TH :8 +STR_DAY_NUMBER_9TH :9 +STR_DAY_NUMBER_10TH :10 +STR_DAY_NUMBER_11TH :11 +STR_DAY_NUMBER_12TH :12 +STR_DAY_NUMBER_13TH :13 +STR_DAY_NUMBER_14TH :14 +STR_DAY_NUMBER_15TH :15 +STR_DAY_NUMBER_16TH :16 +STR_DAY_NUMBER_17TH :17 +STR_DAY_NUMBER_18TH :18 +STR_DAY_NUMBER_19TH :19 +STR_DAY_NUMBER_20TH :20 +STR_DAY_NUMBER_21ST :21 +STR_DAY_NUMBER_22ND :22 +STR_DAY_NUMBER_23RD :23 +STR_DAY_NUMBER_24TH :24 +STR_DAY_NUMBER_25TH :25 +STR_DAY_NUMBER_26TH :26 +STR_DAY_NUMBER_27TH :27 +STR_DAY_NUMBER_28TH :28 +STR_DAY_NUMBER_29TH :29 +STR_DAY_NUMBER_30TH :30 +STR_DAY_NUMBER_31ST :31 ############ range for days ends ############ range for months starts @@ -785,13 +807,12 @@ STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}{VEHICLE STR_NEWS_SHIP_IS_WAITING :{WHITE}{VEHICLE} تنتظر في حوض السفن STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE} تنتظر في الحظيرة -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE +# Order review system / warnings STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE} لديها اوامر قليلة جدا في جدولها STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE} لديها امر غير صالح STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE} لديها امر مكرر STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE} لديها محطة غير صالحة في القائمة -# end of order system +STR_NEWS_PLANE_USES_TOO_SHORT_RUNWAY :{WHITE}{VEHICLE} لدبها ضمن الطلبات مطارا قصير المدرج STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} اصبحت قديمة STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} اصبحت قديمة جدا @@ -867,10 +888,6 @@ STR_GAME_OPTIONS_CURRENCY_EEK :كرونا اس STR_GAME_OPTIONS_CURRENCY_CUSTOM :مخصص ... ############ end of currency region - -############ start of measuring units region -############ end of measuring units region - STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}العربات البرية STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}اختار الجانب الذي تسير فيه المركبات STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :القيادة على اليسار @@ -906,11 +923,13 @@ STR_GAME_OPTIONS_TOWN_NAME_CATALAN :كتالوني STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}حفظ آلي STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}اختار مدة الحفظ الآلي +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :بدون STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :كل شهر STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :كل 3 اشهر STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :كل 6 اشهر STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :كل سنة +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}لغة STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}اختر لغة الواجهه @@ -922,8 +941,7 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}دقة STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}اختر دقة الشاشة STR_GAME_OPTIONS_RESOLUTION_OTHER :اخرى -STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}صيغة حفظ الشاشة -STR_GAME_OPTIONS_SCREENSHOT_FORMAT_TOOLTIP :{BLACK}اختر صيغة حفظ الشاشة + STR_GAME_OPTIONS_BASE_GRF :{BLACK} الواجهة الرسومية الاساسية STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK} اختر مجموعة الواجهة الرسومية @@ -939,6 +957,7 @@ STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}اختر STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} ملف غير صالح{P ""} STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}معلومات اضافية عن الموسيقى الاساسية +STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}فشل في استرداد قائمة الدقة المدعومة STR_ERROR_FULLSCREEN_FAILED :{WHITE}فشل تشغيل نمط الشاشة الكاملة # Custom currency window @@ -1024,11 +1043,12 @@ STR_CITY_APPROVAL_HOSTILE :معاد STR_WARNING_NO_SUITABLE_AI :{WHITE}لايوجد ذكاء اصطناعي متاح ...{}تستطيع تجميل العديد من الذكاء الاصطناعي عن طريق اللانترنت -# Advanced settings window -STR_CONFIG_SETTING_CAPTION :{WHITE}إعدادات متقدمه +# Settings tree window STR_CONFIG_SETTING_EXPAND_ALL :مدد الكل STR_CONFIG_SETTING_COLLAPSE_ALL :إسحب الكل +STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK} فئة: +STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}نوع: STR_CONFIG_SETTING_RESTRICT_BASIC :اﻹعدادات الاساسيه STR_CONFIG_SETTING_TYPE_DROPDOWN_HELPTEXT :{BLACK}احصر القائمة على انواع اعدادات محددة @@ -1038,6 +1058,8 @@ STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :اعدادات STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :اعدادات اللعبة (مخزن في المحفوظات, يؤثر على اللعبة الحالية فقط) STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :اعدادات الشركة (مخزن في المحفوظات, يؤثر على الالعاب الجديدة فقط) STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :اعدادات الشركة (مخزن في المحفوظات: يؤثر على الشركة الحالية فقط) +STR_CONFIG_SETTING_CATEGORY_AND_TYPE_HIDES :{BLACK}عرض جميع النتائج بالنسبة للإعداد {}{SILVER} الفئة {BLACK} إلى {WHITE}{STRING} {BLACK}و{SILVER}نوع {BLACK} إلى{WHITE} جميع انواع الإعدادات +STR_CONFIG_SETTINGS_NONE :{WHITE} - بدون - STR_CONFIG_SETTING_OFF :قفل STR_CONFIG_SETTING_ON :فتح @@ -1056,7 +1078,6 @@ STR_CONFIG_SETTING_HORIZONTAL_POS_CENTER :متوسط STR_CONFIG_SETTING_HORIZONTAL_POS_RIGHT :يمين -STR_CONFIG_SETTING_BUILDONSLOPES :السماح بالبناء على المنحدرات و السواحل: {STRING} STR_CONFIG_SETTING_AUTOSLOPE :السماح باعادة بناء التلال تحت المباني, الطرق, الخ .-الانحدار الذاتي- {STRING} STR_CONFIG_SETTING_CATCHMENT :السماح بحدود اكثر واقعية للمحطات بحسب الحجم: {STRING} STR_CONFIG_SETTING_EXTRADYNAMITE :السماح بحذف اكثر من الطرق المملوكة للمدينة و الجسور و غيرها: {STRING} @@ -1065,10 +1086,7 @@ STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL :موديل تس STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL :نمط تسارع عربات الطريق: {STRING} STR_CONFIG_SETTING_FORBID_90_DEG :منع القطارات والسفن من الدوران بزاوية تسعين درجة : {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :السماح بربط محطتين غير متجاورتين : {STRING} -STR_CONFIG_SETTING_IMPROVEDLOAD :أستخدام خوارزمية التحميل المحسنه: {STRING} -STR_CONFIG_SETTING_GRADUAL_LOADING :تحميل القطارات بالتدريج: {STRING} STR_CONFIG_SETTING_INFLATION :التضخم: {STRING} -STR_CONFIG_SETTING_SELECTGOODS :أوصل الحموله للمحطه إذا كان هناك حاجة فقط: {STRING} STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :طريقة بناء المصانع الأولية يدوية : {STRING} STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NONE :بدون STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NORMAL :ككل المصانع الأخرى @@ -1080,7 +1098,6 @@ STR_CONFIG_SETTING_STOP_LOCATION :اوامر ال STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :قرب النهاية STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :وسط STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :النهاية القصوى -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING :تسلسل عربات الطريق - بالتأثير الكمي : {STRING} STR_CONFIG_SETTING_AUTOSCROLL :حرك الشاشة عندما تكون المؤشر على الحافة: {STRING} STR_CONFIG_SETTING_BRIBE :السماح برشوة السلطات االمحليه: {STRING} STR_CONFIG_SETTING_ALLOW_EXCLUSIVE :السماح بشراء حقوق النقل الحصري: {STRING} @@ -1094,8 +1111,6 @@ STR_CONFIG_SETTING_PLANE_CRASHES_REDUCED :منخفض STR_CONFIG_SETTING_PLANE_CRASHES_NORMAL :طبيعي STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :السماح للعربات بالعبور خلال المواقف المملوكة داخل المدن: {STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :السماح بمرور العربات خلال المحطات المملوكة للمنافسين: {STRING} -STR_CONFIG_SETTING_ADJACENT_STATIONS :السماح ببناء محطات متلاصقة{STRING} -STR_CONFIG_SETTING_DYNAMIC_ENGINES :السماح بتعدد محركات NewGFR {STRING} STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}تغير هذا الخيار غير متاح عندما يكون هناك عربات STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :صيانة البنية التحتية: {STRING} @@ -1113,24 +1128,38 @@ STR_CONFIG_SETTING_AUTORENEW_MONEY :التجديد STR_CONFIG_SETTING_POPULATION_IN_LABEL :أعرض عدد السكان مع الاسم على العلامة: {STRING} STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :سمك الخطوط في العرض: {STRING} +STR_CONFIG_SETTING_LANDSCAPE :الارض: {STRING} STR_CONFIG_SETTING_LAND_GENERATOR :مولد الأرض: {STRING} +STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :المكون الاصلي يعتمد على قواعد الجرفكس,ويشكل اراض ثابته,مكوون تيراجنسس يعتمد على المكون الأساسي مع متحكمات اسلس STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :الأصلي STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :مرتفعات منزلقة +STR_CONFIG_SETTING_TERRAIN_TYPE :نوع الارض: {STRING} +STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(TerraGenesis only) مستوى الهضبات في الارض +STR_CONFIG_SETTING_INDUSTRY_DENSITY :الكثافة الصناعية: {STRING} +STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :إختر مقدار الصناعات التي يجب تكوينها وعلى اي مستوى يجب ان تكون خلال اللعبة STR_CONFIG_SETTING_SNOWLINE_HEIGHT :ارتفاع خط الثلج: {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :خشونة التضاريس (سفر التكوين فقط ) :({STRING} +STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :تحكم على اي ارتفاع يبدأ نزول الثلج في المناطق القطبية,تؤثر الثلوج على مستوى تطور القطاع الصناعي ونمو المدن +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :خشونة التضاريس (صفر التكوين فقط ) :({STRING} +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(TerraGenesis only)إختر تكرار الهضبات: الاراض المستويه تحتوي على البضع منها,هضبات موزعه عرضيا اكثر,الاراض الوعرة تحتوي الكثير من الهضاب,التي من الممكن ان تكون متكررة STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :ناعم جدا STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :ناعم STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :خشن STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :خشن جدا +STR_CONFIG_SETTING_VARIETY :توزيع منوع: {STRING} +STR_CONFIG_SETTING_VARIETY_HELPTEXT :(TerraGenesis only)التحكم بالخريطة هل تحتوي علىجبال ومناطق مسطحه, لأن هذا الإعداد يجعل الخارطة مستوية, هنالك إعدادات أخرى يجب ان تغير إلى الجبال +STR_CONFIG_SETTING_RIVER_AMOUNT :حجم النهر: {STRING} +STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :اختر عدد الأنهر لتكوينها STR_CONFIG_SETTING_TREE_PLACER :طريقة وضع الاشجار: {STRING} +STR_CONFIG_SETTING_TREE_PLACER_HELPTEXT :إختر توزيع الشجر على الخريطة: 'Original' تبعثر الشجر عشوائيا. 'Improved' زرعهم في مجموعات STR_CONFIG_SETTING_TREE_PLACER_NONE :بدون STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :الأصلي STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :المحسن +STR_CONFIG_SETTING_ROAD_SIDE :السيارات: {STRING} +STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :إختر جهة القيادة STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :اتجاة خريطة المرتفعات: {STRING} STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :عكس عقارب الساعة STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :مع عقارب الساعة STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :الأرتفاع الأعلى في محرر الخريطة لسطح المستوي: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :السماح بتعديل الحدود الحرة للخريطة: {STRING} STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}مربع او اكثر غير فارغ في الحدود الشمالية STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}مربع او اكثر من حدود الخريطة لا يكون بحر @@ -1161,13 +1190,14 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :عدم استخ STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :تصفح بالزر الايسر: {STRING} +STR_CONFIG_SETTING_AUTOSAVE :حفظ تلقائي : {STRING} +STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :اختر الوقت بين كل عملية حفظ اتوماتيكية + STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :استخدم {STRING} نمط التاريخ لاسم اللعبة المحفوظة STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :طويل - 31 ديسمبر 2008 STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :قصير - 31 - 12 - 2008 STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ايزو 31-12-2008 -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE :النوافذ القياسية للاضافة غير محددة: {STRING} - STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :إيقاف اللعبة تلقائيا عند بدأ لعبة جديدة: {STRING} STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :عندمل توقف أسمح: {STRING} STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :لا تصرف @@ -1205,10 +1235,10 @@ STR_CONFIG_SETTING_SOUND_AMBIENT :مؤثرات: { STR_CONFIG_SETTING_SOUND_AMBIENT_HELPTEXT :شغل مؤثرات صوتية في المناظر و المصانع و المدن STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING :عطل ادوات البناء عند عدم وجود عربات متاحة لها: {STRING} -STR_CONFIG_SETTING_MAX_TRAINS :الحد الأعلى لعدد القطارات لكل لاعب: {STRING} -STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :الحد الأعلى لعدد العربات لكل لاعب: {STRING} -STR_CONFIG_SETTING_MAX_AIRCRAFT :الحد الأعلى لعدد الطائرات لكل لاعب: {STRING} -STR_CONFIG_SETTING_MAX_SHIPS :الحد الأعلى لعدد السفن لكل لاعب: {STRING} +STR_CONFIG_SETTING_MAX_TRAINS :الحد الأعلى لعدد القطارات لكل شركة: {STRING} +STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :الحد الأعلى لعدد العربات لكل شركة: {STRING} +STR_CONFIG_SETTING_MAX_AIRCRAFT :الحد الأعلى لعدد الطائرات لكل شركة: {STRING} +STR_CONFIG_SETTING_MAX_SHIPS :الحد الأعلى لعدد السفن لكل شركة: {STRING} STR_CONFIG_SETTING_AI_BUILDS_TRAINS :حظر القطارات على الحاسوب: {STRING} STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES :حظر العربات على الكمبيوتر: {STRING} @@ -1302,7 +1332,6 @@ STR_CONFIG_SETTING_TOWN_GROWTH_NORMAL :عادي STR_CONFIG_SETTING_TOWN_GROWTH_FAST :سريع STR_CONFIG_SETTING_TOWN_GROWTH_VERY_FAST :سريع جدا STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :مضاعف المدن المبدئي: {STRING} -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :ازالة العوالق اثناء ترميم الطرق: {STRING} @@ -1311,25 +1340,28 @@ STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :ازالة ال -STR_CONFIG_SETTING_GUI :{ORANGE}النظام البيني -STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}البناء -STR_CONFIG_SETTING_VEHICLES :{ORANGE}المركبات -STR_CONFIG_SETTING_STATIONS :{ORANGE}المحطات -STR_CONFIG_SETTING_ECONOMY :{ORANGE}الأقتصاد -STR_CONFIG_SETTING_AI :{ORANGE}المتنافسين -STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}عرض الخيارات -STR_CONFIG_SETTING_INTERACTION :{ORANGE} التفاعل +STR_CONFIG_SETTING_GRAPHICS :رسوميات {ORANGE} STR_CONFIG_SETTING_SOUND :{ORANGE}الصوت -STR_CONFIG_SETTING_NEWS :{ORANGE}الاخبار و الرسائل -STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}الإشارات -STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE} طريقة التحميل -STR_CONFIG_SETTING_AI_NPC :{ORANGE} لاعبين الحاسوب -STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE} التجديد التلقائي -STR_CONFIG_SETTING_VEHICLES_SERVICING :{ORANGE} الصيانة +STR_CONFIG_SETTING_INTERFACE :{ORANGE}النظام البيني +STR_CONFIG_SETTING_INTERFACE_GENERAL :عموم{ORANGE} +STR_CONFIG_SETTING_INTERFACE_VIEWPORTS :مجالات رؤية {ORANGE} +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}البناء +STR_CONFIG_SETTING_ADVISORS :{ORANGE}أخبار\ مستشارون +STR_CONFIG_SETTING_COMPANY :شركة{ORANGE} +STR_CONFIG_SETTING_ACCOUNTING :حسابات{ORANGE} +STR_CONFIG_SETTING_VEHICLES :{ORANGE}المركبات +STR_CONFIG_SETTING_VEHICLES_PHYSICS :فيزياء{ORANGE} STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE} المسارات -STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE} قطارات -STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE} مدن -STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE} مصانع +STR_CONFIG_SETTING_LIMITATIONS :حدود {ORANGE} +STR_CONFIG_SETTING_ACCIDENTS :{ORANGE} كوارث\حوادث +STR_CONFIG_SETTING_GENWORLD :تكوين عالم {ORANGE} +STR_CONFIG_SETTING_ENVIRONMENT :بيئة {ORANGE} +STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :سلطات {ORANGE} +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE} مدن +STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE} مصانع +STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :توزيع البضائع{ORANGE} +STR_CONFIG_SETTING_AI :{ORANGE}المتنافسين +STR_CONFIG_SETTING_AI_NPC :{ORANGE} لاعبين الحاسوب STR_CONFIG_SETTING_PATHFINDER_OPF :اصلي STR_CONFIG_SETTING_PATHFINDER_NPF :NPF @@ -1368,7 +1400,6 @@ STR_INTRO_MULTIPLAYER :{BLACK}لعب STR_INTRO_GAME_OPTIONS :{BLACK}إعدادات اللعبه STR_INTRO_HIGHSCORE :{BLACK}قائمه المتفوقين -STR_INTRO_ADVANCED_SETTINGS :{BLACK}الاعدادات المتقدمة STR_INTRO_NEWGRF_SETTINGS :{BLACK} اعدادات NewGRF STR_INTRO_ONLINE_CONTENT :{BLACK} إبحث عن المحتوى عبر الشبكه العنكبوتيه STR_INTRO_SCRIPT_SETTINGS :{BLACK}إعدادات الذكاء الصناعى @@ -1387,7 +1418,6 @@ STR_INTRO_TOOLTIP_SUB_TROPICAL_LANDSCAPE :{BLACK}اختي STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}اختيار نمط الألعاب STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}عرض خيارات اللعبة -STR_INTRO_TOOLTIP_ADVANCED_SETTINGS :{BLACK}عرض الاعدادات المتقدمة STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}عرض إعدادات اﻹضافات STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK} ابحث عن محتوى جديد او تحديث STR_INTRO_TOOLTIP_QUIT :{BLACK}اغلاق'OpenTTD' @@ -1474,6 +1504,7 @@ STR_LIVERY_FREIGHT_TRAM :عربة ترا STR_FACE_CAPTION :{WHITE}اختيار الوجة STR_FACE_CANCEL_TOOLTIP :{BLACK}الغاء اختيار الوجة الجديد STR_FACE_OK_TOOLTIP :{BLACK}اقبل الوجة الجديد +STR_FACE_RANDOM :{BLACK}عشوائي STR_FACE_MALE_BUTTON :{BLACK}رجل STR_FACE_MALE_TOOLTIP :{BLACK}اختر وجة رجل @@ -1588,7 +1619,7 @@ STR_NETWORK_START_SERVER_SET_PASSWORD :{BLACK}ضع ك STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}احم لعبتك برقم سري حتى لا تصبح لعبتك مفتوحة للجميع STR_NETWORK_START_SERVER_CLIENTS_SELECT :{BLACK}{NUM}عميل -STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}اقصى عدد عملاء: +STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}اقصى عدد للعملاء: STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS_TOOLTIP :{BLACK}أختر أقصى عدد للعملاء STR_NETWORK_START_SERVER_COMPANIES_SELECT :{BLACK}{NUM}شركة STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}أقصى عدد شركات: @@ -2182,6 +2213,7 @@ STR_LAND_AREA_INFORMATION_NEWGRF_NAME :{BLACK}NewGRF: STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}الشحنة المقبولة: {LTBLUE} STR_LAND_AREA_INFORMATION_CARGO_EIGHTS :({COMMA} /8 {STRING}) STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}حدود سرعة سكة الحديد: {LTBLUE}{VELOCITY} +STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}حدود سرعه الطريق: {LTBLUE}{VELOCITY} # Description of land area of different tiles STR_LAI_CLEAR_DESCRIPTION_ROCKS :صخور @@ -2278,7 +2310,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-2014 فريق النسخة المفتوحة +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}النسخة المفتوحة {COPYRIGHT}2002-2015 فريق النسخة المفتوحة # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}حفظ اللعبة @@ -2297,6 +2329,7 @@ STR_SAVELOAD_SAVE_BUTTON :{BLACK}حفظ STR_SAVELOAD_SAVE_TOOLTIP :{BLACK}احفظ اللعبة الحالية، بواسطة الاسم المختار STR_SAVELOAD_LOAD_BUTTON :{BLACK}تحميل STR_SAVELOAD_LOAD_TOOLTIP :{BLACK}تحميل اللعبة المختارة +STR_SAVELOAD_LOAD_HEIGHTMAP_TOOLTIP :{BLACK} حمل خارطة التضاريس STR_SAVELOAD_DETAIL_CAPTION :{BLACK}تفاصيل اللعبة STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}لا توجد معلومات متاحة STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING} @@ -2314,10 +2347,6 @@ STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}عدد STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK} ارتفاع خط الثلج STR_MAPGEN_SNOW_LINE_UP :{BLACK}ارفع خط الثلج مستوى واحد STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}خفض خط الثلج مستوى واحد -STR_MAPGEN_RANDOM_SEED :{BLACK}مرجع عشوائي -STR_MAPGEN_RANDOM_SEED_HELP :{BLACK}اضغط لادخال مرجع عشوائي -STR_MAPGEN_RANDOM :{BLACK}عشوائي -STR_MAPGEN_RANDOM_HELP :{BLACK}غير المرجع العشوائي لتوليد تضاريس الخريطة STR_MAPGEN_LAND_GENERATOR :{BLACK}مولد الخريطة: STR_MAPGEN_TREE_PLACER :{BLACK} لوغاريثم الشجر: STR_MAPGEN_TERRAIN_TYPE :{BLACK} نوع التضاريس @@ -2344,7 +2373,6 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}اسم STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}الحجم: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} * {NUM} -STR_MAPGEN_RANDOM_SEED_OSKTITLE :{BLACK}ادخل مرجع عشوائي STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}غير مستوى خط الثلج STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}غير سنة البداية @@ -2398,6 +2426,8 @@ STR_NEWGRF_SETTINGS_MOVEUP :{BLACK}تحري STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP :{BLACK}حرك الملف المختار الى الأعلى STR_NEWGRF_SETTINGS_MOVEDOWN :{BLACK}تحريك للأسفل STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP :{BLACK}حرك الملف المختار الى الاسفل في القائمة +STR_NEWGRF_SETTINGS_UPGRADE :{BLACK}ترقية +STR_NEWGRF_SETTINGS_UPGRADE_TOOLTIP :{BLACK} ترقية ملفات NewGRF التي لديك نسخه جديده منها STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}قائمة ملفات NewGRF المركبة. اضغط على الملف لتغييرة. STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}اضبط الاعدادات @@ -2421,6 +2451,16 @@ STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}لم يت STR_NEWGRF_SETTINGS_DISABLED :{RED}معطل STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}متعارض مع هذا اللإصدار من Openttd +# NewGRF save preset window +STR_SAVE_PRESET_CAPTION :{BLACK}حفظ الإعداد المسبق +STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK}لائحة الإعدادات المسبقة. اختر واحدة لنسخها للإسم المحفوظ بالإسفل +STR_SAVE_PRESET_TITLE :{BLACK}أدخل اسم للإعداد المسبق +STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}الإسم المختار لحفظ الإعداد المسبق +STR_SAVE_PRESET_CANCEL :{BLACK}إلغاء +STR_SAVE_PRESET_CANCEL_TOOLTIP :{BLACK}لا تغير الإعداد المسبق +STR_SAVE_PRESET_SAVE :{BLACK}إحفظ +STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK} احفظ الإعدادات للإسم المختار حاليا + # NewGRF parameters window STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}غير خصائص الاضافات الجديدة STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}اغلق @@ -2451,7 +2491,6 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}العف STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}نابع للعفريتة الطبيعية التالية، تجاوز اي عفريتة موقوفة/ مصبوغة/مخطوطة و انهي في البداية. STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}عرض العفريتة المختارة حاليا. يتم تجاهل الموائمة عند رسم هذا العفريت. STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}حرك العفريتة في الجوار، غير الاحداثيات س ، ص. -STR_SPRITE_ALIGNER_OFFSETS :{BLACK}احداث س: {NUM}، احداث ص: {NUM} STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}اختر عفريتة STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}اختر عفريتة من اي مكان في الشاشة. @@ -2514,6 +2553,7 @@ STR_NEWGRF_INVALID_ENGINE :<موديل ا STR_NEWGRF_INVALID_INDUSTRYTYPE :<المصنع غير صالح> # Placeholders for other invalid stuff, e.g. vehicles that have gone (Game Script). +STR_INVALID_VEHICLE :<مركبه غير صالحه> # NewGRF scanning window STR_NEWGRF_SCAN_CAPTION :{WHITE}بحث اضافات جديدة @@ -2604,7 +2644,8 @@ STR_GOAL_QUESTION_CAPTION_INFORMATION :معلومات STR_GOAL_QUESTION_CAPTION_WARNING :تحذير STR_GOAL_QUESTION_CAPTION_ERROR :خطا -### Start of Goal Question button list +############ Start of Goal Question button list +############ End of Goal Question button list # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}العروض @@ -2630,7 +2671,6 @@ STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}لا ي # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} -STR_STATION_VIEW_WAITING_TITLE :{BLACK}انتظار: {WHITE}{STRING} STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} نهاية الطريق في {STATION}) @@ -2829,6 +2869,9 @@ STR_GROUP_DELETE_TOOLTIP :{BLACK}أحذف STR_GROUP_RENAME_TOOLTIP :{BLACK}أعد تسمية المجموعة المختارة STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}اضغط لحماية المجموعة من التغيير الكلي للعربات +STR_QUERY_GROUP_DELETE_CAPTION :حذف المجموعه{WHITE} +STR_GROUP_DELETE_QUERY_TEXT :{WHITE}هل انت واثق من حذف هذه المجموعه مع كل أحفادها + STR_GROUP_ADD_SHARED_VEHICLE :اضافة عربات مشتركة STR_GROUP_REMOVE_ALL_VEHICLES :أزل جميع المركبات @@ -2890,6 +2933,9 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK} اعا STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}اعادة تسمية نوع السفينة STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}اعادة تسمية نوع الطائرة + + + STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}اعادة تسمية عربات القطار STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}اعادة تسمية العربة STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}اعادة تسمية نوع السفينة @@ -2992,6 +3038,7 @@ STR_REPLACE_VEHICLE_ROAD_VEHICLE :مركبات STR_REPLACE_VEHICLE_SHIP :سفن STR_REPLACE_VEHICLE_AIRCRAFT :طائرات + STR_REPLACE_HELP_LEFT_ARRAY :{BLACK} اختر نوع المحرك لاستبدالة STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK} اختر نوع المحرك المراد إحلاله محل المحرك المختار في القائمة اليسرى @@ -3331,9 +3378,11 @@ STR_TIMETABLE_TOOLTIP :{BLACK}جدول STR_TIMETABLE_NO_TRAVEL :لا رحيل STR_TIMETABLE_NOT_TIMETABLEABLE :المغادرة (ذاتي: بواسطة الامر اليدوي التالي) STR_TIMETABLE_TRAVEL_NOT_TIMETABLED :مسافر (غير مجدوله) -STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :سافر بمعدل {2:VELOCITY} (بدون جدوله) +STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :سافر(بدون جدول زمني) مع تقريبا {2:VELOCITY} STR_TIMETABLE_TRAVEL_FOR :مسافر لـ {STRING} STR_TIMETABLE_TRAVEL_FOR_SPEED :سافر لي {STRING} بمعدل {VELOCITY} +STR_TIMETABLE_TRAVEL_FOR_ESTIMATED :سافر(إلى {STRING}, بدون جدول زمني) +STR_TIMETABLE_TRAVEL_FOR_SPEED_ESTIMATED :سافر (إلى {STRING}, بدون الجدول الزمني) مع تقريبا {VELOCITY} STR_TIMETABLE_STAY_FOR :ويبقى لـ {STRING} STR_TIMETABLE_AND_TRAVEL_FOR :ويسافر لـ {STRING} STR_TIMETABLE_DAYS :{COMMA}يوم @@ -3594,6 +3643,7 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... يم STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}يمكن بنائة فوق خط الثلج فقط STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}يمكن بنائة تحت خط الثلج فقط + # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}لا يمكن بناء محطة سكة حديد هنا ... STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}تعذر بناء محطه الحافلات... @@ -3756,6 +3806,7 @@ STR_ERROR_YOU_ALREADY_OWN_IT :{WHITE}هذه STR_ERROR_GROUP_CAN_T_CREATE :{WHITE}لايمكن إنشاء مجموعة STR_ERROR_GROUP_CAN_T_DELETE :{WHITE}لايمكن حذف المجموعة STR_ERROR_GROUP_CAN_T_RENAME :{WHITE}لايمكن إعادة تسمية المجموعة +STR_ERROR_GROUP_CAN_T_SET_PARENT :{WHITE}تعذر ربط المجموعه الرئيسية STR_ERROR_GROUP_CAN_T_REMOVE_ALL_VEHICLES :{WHITE}لايمكن إزالة جميع المركبات من هذه المجموعة STR_ERROR_GROUP_CAN_T_ADD_VEHICLE :{WHITE}لا يمكن اضافة المركبة للمجموعة ... STR_ERROR_GROUP_CAN_T_ADD_SHARED_VEHICLE :{WHITE}لا يمكن اضافة مركبات مشتركة للمجموعة ... @@ -4197,7 +4248,7 @@ STR_VEHICLE_NAME_SHIP_SHIVERSHAKE_PASSENGER_FERRY :شيفرشيك STR_VEHICLE_NAME_SHIP_YATE_CARGO_SHIP :ناقلة ياتي STR_VEHICLE_NAME_SHIP_BAKEWELL_CARGO_SHIP :ناقلة باكويل STR_VEHICLE_NAME_SHIP_MIGHTYMOVER_CARGO_SHIP :ناقلة مايتي -STR_VEHICLE_NAME_SHIP_POWERNAUT_CARGO_SHIP :ناقلة بور +STR_VEHICLE_NAME_SHIP_POWERNAUT_CARGO_SHIP :Powernaut سفينة شحن STR_VEHICLE_NAME_AIRCRAFT_SAMPSON_U52 :سامسون 52 STR_VEHICLE_NAME_AIRCRAFT_COLEMAN_COUNT :كولمان كونت STR_VEHICLE_NAME_AIRCRAFT_FFP_DART :سهم اف اف بي @@ -4325,8 +4376,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -4337,9 +4386,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/basque.txt b/src/lang/basque.txt index 56db4b361c..e6aa2047da 100644 --- a/src/lang/basque.txt +++ b/src/lang/basque.txt @@ -95,30 +95,30 @@ STR_CARGO_SINGULAR_FIZZY_DRINK :Edari Burbuilat # Quantity of cargo STR_QUANTITY_NOTHING : -STR_QUANTITY_PASSENGERS :{COMMA} bidaiari +STR_QUANTITY_PASSENGERS :{COMMA}{NBSP}bidaiari{P "" ak} STR_QUANTITY_COAL :{WEIGHT_LONG} ikatz -STR_QUANTITY_MAIL :{COMMA} posta zaku +STR_QUANTITY_MAIL :{COMMA}{NBSP}posta zaku STR_QUANTITY_OIL :{VOLUME_LONG} petroleo -STR_QUANTITY_LIVESTOCK :{COMMA} abere buru -STR_QUANTITY_GOODS :{COMMA} merkantzia kaxa +STR_QUANTITY_LIVESTOCK :{COMMA}{NBSP}abere buru +STR_QUANTITY_GOODS :{COMMA}{NBSP}merkantzia kaxa STR_QUANTITY_GRAIN :{WEIGHT_LONG} garau STR_QUANTITY_WOOD :{WEIGHT_LONG} egur STR_QUANTITY_IRON_ORE :{WEIGHT_LONG} burdin mea STR_QUANTITY_STEEL :{WEIGHT_LONG} altzairu -STR_QUANTITY_VALUABLES :{COMMA} baliozko objektu zaku +STR_QUANTITY_VALUABLES :{COMMA}{NBSP}baliozko objektu zaku STR_QUANTITY_COPPER_ORE :{WEIGHT_LONG} kobre mea STR_QUANTITY_MAIZE :{WEIGHT_LONG} arto STR_QUANTITY_FRUIT :{WEIGHT_LONG} fruta -STR_QUANTITY_DIAMONDS :{COMMA} diamante zaku +STR_QUANTITY_DIAMONDS :{COMMA}{NBSP}diamante zaku STR_QUANTITY_FOOD :{WEIGHT_LONG} janari STR_QUANTITY_PAPER :{WEIGHT_LONG} paper -STR_QUANTITY_GOLD :{COMMA} urre zaku +STR_QUANTITY_GOLD :{COMMA}{NBSP}urre zaku STR_QUANTITY_WATER :{VOLUME_LONG} urarena STR_QUANTITY_WHEAT :{WEIGHT_LONG} gari STR_QUANTITY_RUBBER :{VOLUME_LONG} gomarena STR_QUANTITY_SUGAR :{WEIGHT_LONG} azukre -STR_QUANTITY_TOYS :{COMMA} jostailu -STR_QUANTITY_SWEETS :{COMMA} gozoki zaku +STR_QUANTITY_TOYS :{COMMA}{NBSP}jostailu +STR_QUANTITY_SWEETS :{COMMA}{NBSP}gozoki zaku STR_QUANTITY_COLA :{VOLUME_LONG} kola STR_QUANTITY_CANDYFLOSS :{WEIGHT_LONG} kotoi azukre STR_QUANTITY_BUBBLES :{COMMA} burbuil @@ -165,12 +165,12 @@ STR_ABBREV_NONE :{TINY_FONT}EZ STR_ABBREV_ALL :{TINY_FONT}DEN # 'Mode' of transport for cargoes -STR_PASSENGERS :{COMMA} bidaiari -STR_BAGS :{COMMA} zaku -STR_TONS :{COMMA} tona -STR_LITERS :{COMMA} litro -STR_ITEMS :{COMMA} elementu -STR_CRATES :{COMMA} kaxa +STR_PASSENGERS :{COMMA}{NBSP}bidaiari{P "" ak} +STR_BAGS :{COMMA}{NBSP}zaku{P "" ak} +STR_TONS :{COMMA}{NBSP}tona{P "" k} +STR_LITERS :{COMMA}{NBSP}litro{P "" ak} +STR_ITEMS :{COMMA}{NBSP}objektu{P "" ak} +STR_CRATES :{COMMA}{NBSP}kaxa{P "" k} # Colours, do not shuffle STR_COLOUR_DARK_BLUE :Urdin Iluna @@ -191,35 +191,35 @@ STR_COLOUR_GREY :Grisa STR_COLOUR_WHITE :Zuria # Units used in OpenTTD -STR_UNITS_VELOCITY_IMPERIAL :{COMMA} mph -STR_UNITS_VELOCITY_METRIC :{COMMA} km/h -STR_UNITS_VELOCITY_SI :{COMMA} m/s +STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}mph +STR_UNITS_VELOCITY_METRIC :{COMMA}{NBSP}km/h +STR_UNITS_VELOCITY_SI :{COMMA}{NBSP}m/s -STR_UNITS_POWER_IMPERIAL :{COMMA}hp -STR_UNITS_POWER_METRIC :{COMMA}hp -STR_UNITS_POWER_SI :{COMMA}kW +STR_UNITS_POWER_IMPERIAL :{COMMA}{NBSP}hp +STR_UNITS_POWER_METRIC :{COMMA}{NBSP}hp +STR_UNITS_POWER_SI :{COMMA}{NBSP}kW -STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}t -STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}t -STR_UNITS_WEIGHT_SHORT_SI :{COMMA}kg +STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_SI :{COMMA}{NBSP}kg -STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA} tona{P "" s} -STR_UNITS_WEIGHT_LONG_METRIC :{COMMA} tona -STR_UNITS_WEIGHT_LONG_SI :{COMMA} kg +STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA}{NBSP}tona{P "" k} +STR_UNITS_WEIGHT_LONG_METRIC :{COMMA}{NBSP}tona{P "" k} +STR_UNITS_WEIGHT_LONG_SI :{COMMA}{NBSP}kg -STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}galoi -STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}l -STR_UNITS_VOLUME_SHORT_SI :{COMMA}m³ +STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}{NBSP}gal +STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}{NBSP}l +STR_UNITS_VOLUME_SHORT_SI :{COMMA}{NBSP}m³ -STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA} galoi{P "" s} -STR_UNITS_VOLUME_LONG_METRIC :{COMMA} litro -STR_UNITS_VOLUME_LONG_SI :{COMMA} m³ +STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA}{NBSP}galoi{P "" ak} +STR_UNITS_VOLUME_LONG_METRIC :{COMMA}{NBSP}litro{P "" ak} +STR_UNITS_VOLUME_LONG_SI :{COMMA}{NBSP}m³ -STR_UNITS_FORCE_SI :{COMMA} kN +STR_UNITS_FORCE_SI :{COMMA}{NBSP}kN -STR_UNITS_HEIGHT_IMPERIAL :{COMMA} ft -STR_UNITS_HEIGHT_METRIC :{COMMA} m -STR_UNITS_HEIGHT_SI :{COMMA} m +STR_UNITS_HEIGHT_IMPERIAL :{COMMA}{NBSP}ft +STR_UNITS_HEIGHT_METRIC :{COMMA}{NBSP}m +STR_UNITS_HEIGHT_SI :{COMMA}{NBSP}m # Common window strings STR_LIST_FILTER_TITLE :{BLACK}Lokarri iragazkia: @@ -245,6 +245,9 @@ STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Barra mu STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Barra mugitu - zerrendan ezkerra/eskuinera mugitzeko STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Eraikinak etab. edo lur karratu bat eraistea. Ctrl area diagonalki aukeratzen du. Mayus eraikinaren kostu estimatua erakusten du. +# Show engines button + + # Query window STR_BUTTON_DEFAULT :{BLACK}Lehenetsia STR_BUTTON_CANCEL :{BLACK}Ezeztatu @@ -288,10 +291,10 @@ STR_SORT_BY_ENGINE_ID :MotoreID (orden STR_SORT_BY_COST :Kostua STR_SORT_BY_POWER :Potentzia STR_SORT_BY_TRACTIVE_EFFORT :Trakzio indarra -STR_SORT_BY_INTRO_DATE :Introdukzio Data -STR_SORT_BY_RUNNING_COST :Mantenimendu kosteak -STR_SORT_BY_POWER_VS_RUNNING_COST :Potentzia/Mantenimendu kosteak -STR_SORT_BY_CARGO_CAPACITY :Zama Edukiera +STR_SORT_BY_INTRO_DATE :Sarrera data +STR_SORT_BY_RUNNING_COST :Funtzionamendu kostuak +STR_SORT_BY_POWER_VS_RUNNING_COST :Potentzia/Funtzionamendu kostuak +STR_SORT_BY_CARGO_CAPACITY :Zama edukiera STR_SORT_BY_RANGE :Irismena STR_SORT_BY_POPULATION :Biztanleria STR_SORT_BY_RATING :Balorazioa @@ -354,7 +357,6 @@ STR_SCENEDIT_FILE_MENU_QUIT :Irten ############ range for settings menu starts STR_SETTINGS_MENU_GAME_OPTIONS :Jokoaren aukerak -STR_SETTINGS_MENU_CONFIG_SETTINGS :Ezarpen aurreratuak STR_SETTINGS_MENU_SCRIPT_SETTINGS :IA/Jokoaren scriptaren ezaugarriak STR_SETTINGS_MENU_NEWGRF_SETTINGS :NewGRF ezarpenak STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Transparentzia ezarpenak @@ -462,7 +464,7 @@ STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Kaxen neurriak STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Txandakatu bloke zikinen kolorea ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window STR_ORDINAL_NUMBER_1ST :1. STR_ORDINAL_NUMBER_2ND :2. STR_ORDINAL_NUMBER_3RD :3. @@ -478,22 +480,40 @@ STR_ORDINAL_NUMBER_12TH :12. STR_ORDINAL_NUMBER_13TH :13. STR_ORDINAL_NUMBER_14TH :14. STR_ORDINAL_NUMBER_15TH :15. -STR_ORDINAL_NUMBER_16TH :16. -STR_ORDINAL_NUMBER_17TH :17. -STR_ORDINAL_NUMBER_18TH :18. -STR_ORDINAL_NUMBER_19TH :19. -STR_ORDINAL_NUMBER_20TH :20. -STR_ORDINAL_NUMBER_21ST :21. -STR_ORDINAL_NUMBER_22ND :22. -STR_ORDINAL_NUMBER_23RD :23. -STR_ORDINAL_NUMBER_24TH :24. -STR_ORDINAL_NUMBER_25TH :25. -STR_ORDINAL_NUMBER_26TH :26. -STR_ORDINAL_NUMBER_27TH :27. -STR_ORDINAL_NUMBER_28TH :28. -STR_ORDINAL_NUMBER_29TH :29. -STR_ORDINAL_NUMBER_30TH :30. -STR_ORDINAL_NUMBER_31ST :31. +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :1. +STR_DAY_NUMBER_2ND :2. +STR_DAY_NUMBER_3RD :3. +STR_DAY_NUMBER_4TH :4. +STR_DAY_NUMBER_5TH :5. +STR_DAY_NUMBER_6TH :6. +STR_DAY_NUMBER_7TH :7. +STR_DAY_NUMBER_8TH :8. +STR_DAY_NUMBER_9TH :9. +STR_DAY_NUMBER_10TH :10. +STR_DAY_NUMBER_11TH :11. +STR_DAY_NUMBER_12TH :12. +STR_DAY_NUMBER_13TH :13. +STR_DAY_NUMBER_14TH :14. +STR_DAY_NUMBER_15TH :15. +STR_DAY_NUMBER_16TH :16. +STR_DAY_NUMBER_17TH :17. +STR_DAY_NUMBER_18TH :18. +STR_DAY_NUMBER_19TH :19. +STR_DAY_NUMBER_20TH :20. +STR_DAY_NUMBER_21ST :21. +STR_DAY_NUMBER_22ND :22. +STR_DAY_NUMBER_23RD :23. +STR_DAY_NUMBER_24TH :24. +STR_DAY_NUMBER_25TH :25. +STR_DAY_NUMBER_26TH :26. +STR_DAY_NUMBER_27TH :27. +STR_DAY_NUMBER_28TH :28. +STR_DAY_NUMBER_29TH :29. +STR_DAY_NUMBER_30TH :30. +STR_DAY_NUMBER_31ST :31. ############ range for days ends ############ range for months starts @@ -799,13 +819,11 @@ STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}{VEHICLE STR_NEWS_SHIP_IS_WAITING :{WHITE}{VEHICLE} deposituan itxaroten dago STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE} hegazkin deposituan itxaroten dago -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE +# Order review system / warnings STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE} agindu gutxiegi ditu zerrendan STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE} agindu zerrenda hutsik du STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE} agindu bikoitzak ditu STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE} geltoki baliogabea du aginduetan -# end of order system STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} zaharra bihurtzen ari da STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} oso zaharra bihurtzen ari da @@ -886,10 +904,6 @@ STR_GAME_OPTIONS_CURRENCY_ZAR :Hego Afrikako R STR_GAME_OPTIONS_CURRENCY_CUSTOM :Pertsonalizatua... ############ end of currency region - -############ start of measuring units region -############ end of measuring units region - STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Errepideko garraioak STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}Aukeratu ibilgailuen gidatzeko norabidea STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :Ezkerretik gidatu @@ -925,11 +939,13 @@ STR_GAME_OPTIONS_TOWN_NAME_CATALAN :Katalanak STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Auto-gordea STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Aukeratu jokoa automatikoki gordetzeko denbora +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Ez STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :Hilabetero STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :3 hilabetero STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :6 hilabetero STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :12 hilabetero +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}Hizkuntza STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Aukeratu interfazean erabiltzeko hizkuntza @@ -941,8 +957,7 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}Pantaila STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Pantailaren resulozioa aukeratu STR_GAME_OPTIONS_RESOLUTION_OTHER :besteak -STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}Pantaila argazkien formatoa -STR_GAME_OPTIONS_SCREENSHOT_FORMAT_TOOLTIP :{BLACK}Screenshot-aren formatua aukeratu + STR_GAME_OPTIONS_BASE_GRF :{BLACK}Grafiko basea markatu STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Aukeratu erabili beharreko grafiko paketea @@ -1043,8 +1058,7 @@ STR_CITY_APPROVAL_HOSTILE :Kontrakoa STR_WARNING_NO_SUITABLE_AI :{WHITE}Ez dago IA egokirik aukeratzeko..{}IA asko jaitsi ditzakezu 'Online edukiera' sistemaren bidez -# Advanced settings window -STR_CONFIG_SETTING_CAPTION :{WHITE}Konfigurazio aurreratuak +# Settings tree window STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Lokarri iragazkia: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Guztia haunditu STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Guztia kolapsatu @@ -1060,9 +1074,9 @@ STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :Konpainia ezarp STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK}Kategoria: STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}Mota: STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Beheko zerrenda laburtu bakarrik aldatutako ezarpenak erakutsiz -STR_CONFIG_SETTING_RESTRICT_BASIC :Oinarrizko ezarpenak -STR_CONFIG_SETTING_RESTRICT_ADVANCED :Ezarpen aurreratuak -STR_CONFIG_SETTING_RESTRICT_ALL :Adituentzako ezarpenak / Ezarpen guztiak +STR_CONFIG_SETTING_RESTRICT_BASIC :Oinarrizkoa (ezarpen garrantzitsuak bakarrik erakutsi) +STR_CONFIG_SETTING_RESTRICT_ADVANCED :Aurreratua (ezarpen gehienak erakutsi) +STR_CONFIG_SETTING_RESTRICT_ALL :Aditua (ezarpen guztiak erakutsi, arraroak barne) STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :Ezarpenak lehenetsitakoen balio ezberdinarekin STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :Balio ezberdinak dituzten ezarpenak zure joko berriaren ezarpenekin alderatuta @@ -1107,8 +1121,6 @@ STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Azpiegiturak et STR_CONFIG_SETTING_CITY_APPROVAL :Udaletxearen jarrera bere lurrak berregituratzeko: {STRING} STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Aukeratu zenbateraino eragingo dion konpainia bati herri batean zarata sortzea eta ingurumena kaltetzea, herrian duen balorazioa txartuz eta eraikin berriak egiteko baimena mugatuz -STR_CONFIG_SETTING_BUILDONSLOPES :Aldapa eta kostan eraikitzea baimendu: {STRING} -STR_CONFIG_SETTING_BUILDONSLOPES_HELPTEXT :Gaitua badago, bideak eta geltokiak mendi magal gehienetan eraiki daitezke. Desgaitua badago, bakarrik onartuko dira bidearen norabidearekin bat datozen mendi magalak STR_CONFIG_SETTING_AUTOSLOPE :Eraikinen, trenbideen etabarren azpian paisaia aldatzea baimendu. (autoaldapak): {STRING} STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Eraikin eta bideen azpian paisaia aldatzea baimendu hauek kendu gabe STR_CONFIG_SETTING_CATCHMENT :Geltokien irismen eremu hedapena errealagoa egitea baimendu: {STRING} @@ -1133,14 +1145,8 @@ STR_CONFIG_SETTING_FORBID_90_DEG :Itsasontzi eta STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90 graduko bihurgunek trenbide horizontalari trenbide bertikala jarraitzen dionean gertatzen da, trenak 90 graduko bihurgunea egingo du ohiko 45 graduko bihurguneen ordez. Honako hau itsasuntzientzat aplikatzen da ere STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Elkarren ondoan ez baina oso hurbil dauden geltokiak bateratu : {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Geltoki bati zatiak gehitu dauden zatiak ukitu gabe. Zati berriak gehitzerakoan Crtl+klikatu sakatu beharko da. -STR_CONFIG_SETTING_IMPROVEDLOAD :Zamatzeko algoritmo hobetua erabili: {STRING} -STR_CONFIG_SETTING_IMPROVEDLOAD_HELPTEXT :Gaitua badago, geltokian dauden ibilgailuak sekuentzalki kargatuko dira. Hurrengo ibilgailuaren karga bakarrik hasiko da aurreko ibilgailua betetzeko adina karga badago -STR_CONFIG_SETTING_GRADUAL_LOADING :Ibilgailuak mailaka zamatu: {STRING} -STR_CONFIG_SETTING_GRADUAL_LOADING_HELPTEXT :Ibilgailuak gradualki zamatu ibilgailu bakoitzaren zamaketa denbora espezifikazioak erabiliz, guztia batera zamatuko duen denbora finkoa erabili ordez, zama kopuruan oinarritzen dena STR_CONFIG_SETTING_INFLATION :Inflazioa: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :Gaitu inflazioa ekonomiari, kosteak salneurriak baino pixka bat azkarrago igoko dira -STR_CONFIG_SETTING_SELECTGOODS :Geltokietan bakarrik onartutako zama utzi : {STRING} -STR_CONFIG_SETTING_SELECTGOODS_HELPTEXT :Bakarrik zamak geltokietara eraman ibilgailu batek zama hori jasotzera joan bada. Honek geltokietan garraiatuak ez diren zamen kalifikazio txarrak ekiditzen ditu STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Zubien gehienezko luzera: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Zubiak eraikitzeko gehienezko luzera STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Tunel baten gehienezko luzera: {STRING} @@ -1168,8 +1174,6 @@ STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Lehenezpenez tr STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :amaieratik gertu STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :erdian STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :amaieratik urrun -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING :Errepide ibilgailuen lerroketak(quantum efektuekin): {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING_HELPTEXT :Errepide ibligaluak okupatutako errepideen aurrean itxaronaraztea errepidea hustu arte STR_CONFIG_SETTING_AUTOSCROLL :Leihoa mugitu sagua ertzean dagoenean: {STRING} STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Gaitua dagoenean, sagua lehioen ertzara hurbiltzerakoan mapa mugitzen hasiko da STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Desgaitua @@ -1200,10 +1204,6 @@ STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Herrien errepid STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Herrien menpe dauden errepideetan zehar-pasatzeko geltokiak baimendu STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Arerioen errepideetan zehar-pasatzeko geltokiak baimendu: {STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Beste konpainien menpe dauden errepideetan zehar-pasatzeko geltokiak bahimendu -STR_CONFIG_SETTING_ADJACENT_STATIONS :Alboko geltokiak eraikitzea baimendu: {STRING} -STR_CONFIG_SETTING_ADJACENT_STATIONS_HELPTEXT :Geltoki ezberdinak bata bestea ukitzea baimendu -STR_CONFIG_SETTING_DYNAMIC_ENGINES :NewGRF set bat baino gehiago erabili ahal izatea aktibatu: {STRING} -STR_CONFIG_SETTING_DYNAMIC_ENGINES_HELPTEXT :NewGRF zaharren bateragarritasun aukera. Ez ezgaitu hau ez badakizu zer egiten hari zaren! STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Hau ezin da aldatu ibilgailuak daudenean STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Azpiegituren mantentze-lana: {STRING} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Gaitua dagoenean, azpiegiturek mantentze kostuak eragiten dituzte. Kostuak garraio sarearekin proportzionalki hazten dira, hau da, kostu handiagoak izango dituzten konpainia handiagoek @@ -1245,10 +1245,10 @@ STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Grafikoen marre STR_CONFIG_SETTING_LAND_GENERATOR :Lur sortzailea: {STRING} STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Jatorrizkoa STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis -STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Petroleo Findegitik maparen ertzera dagoen gehienezko distantzia: {STRING} +STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Petroleo findegietatik maparen ertzera dagoen gehienezko distantzia: {STRING} STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Petroleo findegiak bakarrik maparen ertzatik hurbil eraiki daitezke, kostan irla mapetan STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Elur garaiera: {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Paisaiaren malkartasun maila (TerraGenesis erabiltzean soilik) : {STRING} +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Eremuaren malkartasun maila: {STRING} STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Oso Leuna STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Leuna STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Zakarra @@ -1261,8 +1261,6 @@ STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Garaiera mapare STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Erlojuko orratzen kontrara STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Erlojuko orratzen erara STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :Eszenario mapa lauak hartzen duten garaiera: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :Maparen ertzean dauden laukitxoetan paisaia eraldatzea baimendu: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES_HELPTEXT :Desgaituta badago, maparen mugak itsasoa izango dira beti STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}Ipar ertzean dauden laukitxoetako bat, edo bat baino gehiago ez daude hutsik STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}Edozein ertzean dauden laukitxo bat edo bat baino gehiagotan ez da urik egongo @@ -1313,15 +1311,13 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Itzalita STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Saguaren ezkerreko botoiarekin mapan zehar mugitzea: {STRING} STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :Gaitu mapatik zehar mugitzea saguaren ezkerreko botoia mapan arrastratzerakoan. Oso erabilgarria da ukipen pantailak erabiltzerakoan + STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Gordetako jokoen izenetan {STRING} data fomatua erabili STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Gordetako fitxeroen dataren formatoa STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :luzea (2008ko Abe 31) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :laburra (2008-12-31) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE :Paletarik zehazten ez duten NewGRF berrientzat aurretik zehaztutako paleta erabiltzea: {STRING} -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_HELPTEXT :Beharrezko paleta zehazten ez duten NewGRFetan paleta lehenetsia erabili - STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Automatikoki jokoa pausan jarri joko berri bat hastearakoan: {STRING} STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :Gaitua dagoenean, joko berria hasterakoan automatikoki pausatua egongo da, aldez aurretik mapa aztertzeko STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Jokoa geldituta dagoenean baimendu: {STRING} @@ -1388,7 +1384,7 @@ STR_CONFIG_SETTING_SERVINT_ISPERCENT :Mantenimendurak STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Aukeratu ibilgailuen mantenimendua azken zerbitzutik pasatutako denboragatik aktibatzea edo fidegarritasun ehunekoaren gutxiengo jakin batera iristeagatik aktibatzea STR_CONFIG_SETTING_SERVINT_TRAINS :Trenen mantenimendurako lehenetsitako denbora tarteak: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Ezarri tren berrientzako lehenetsiko diren mantenimendu denbora tarteak, ez bada ezartzen denbora tarte esplizituak ezarriko dira -STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA} egun/% +STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}egun{P 0 "" ak}/% STR_CONFIG_SETTING_SERVINT_DISABLED :Desgaitua STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES :Errepide ibilgailuen mantenimendurako lehenetsitako denbora tarteak: {STRING} STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES_HELPTEXT :Ezarri errepide ibilgailu berrientzako lehenetsiko diren mantenimendu denbora tarteak, ez bada ezartzen denbora tarte esplizituak ezarriko dira @@ -1512,8 +1508,6 @@ STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :{COMMA}-tik bat STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Bat ere ez STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Herrien hasierako tamainaren biderkatzailea: {STRING} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Joko hasieran hirien bataz besteko tamaina herri normalekin alderatuta -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :Errepideak eraikitzerakoan elementu ez egokiak eragotzi: {STRING} -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD_HELPTEXT :Errepide berreraikuntza ordaintzerakoan irteerarik gabeko errepideak kentzea STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :eskuz egin STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :asimetrikoa @@ -1547,27 +1541,26 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :Inperiala (oin) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :Metrikoa (m) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :SI (m) -STR_CONFIG_SETTING_GUI :{ORANGE}Interfazea STR_CONFIG_SETTING_LOCALISATION :{ORANGE}Kokapena -STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}Eraikuntza +STR_CONFIG_SETTING_GRAPHICS :{ORANGE}Grafikoak +STR_CONFIG_SETTING_SOUND :{ORANGE}Soinua +STR_CONFIG_SETTING_INTERFACE :{ORANGE}Interfazea +STR_CONFIG_SETTING_INTERFACE_GENERAL :{ORANGE}Orokorra +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Eraikuntza +STR_CONFIG_SETTING_COMPANY :{ORANGE}Konpainia STR_CONFIG_SETTING_VEHICLES :{ORANGE}Ibilgailuak -STR_CONFIG_SETTING_STATIONS :{ORANGE}Geltokiak -STR_CONFIG_SETTING_ECONOMY :{ORANGE}Ekonomia -STR_CONFIG_SETTING_LINKGRAPH :{ORANGE}Zama Banaketa -STR_CONFIG_SETTING_AI :{ORANGE}Lehiakideak -STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}Aukerak erakutsi -STR_CONFIG_SETTING_INTERACTION :{ORANGE}Interakzioa -STR_CONFIG_SETTING_SOUND :{ORANGE}Soinu efektuak -STR_CONFIG_SETTING_NEWS :{ORANGE}Albisteak eta mezuak -STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}Seinaleak -STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE}Zamak -STR_CONFIG_SETTING_AI_NPC :{ORANGE}Ordenagailu jokalariak -STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE}Berritze automatikoa -STR_CONFIG_SETTING_VEHICLES_SERVICING :{ORANGE}Mantenimendua +STR_CONFIG_SETTING_VEHICLES_PHYSICS :{ORANGE}Fisika STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Ibilbideak -STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}Trenak -STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}Herriak -STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}Industriak +STR_CONFIG_SETTING_LIMITATIONS :{ORANGE}Mugak +STR_CONFIG_SETTING_ACCIDENTS :{ORANGE}Hondamendiak / Istripuak +STR_CONFIG_SETTING_GENWORLD :{ORANGE}Mundua sortu +STR_CONFIG_SETTING_ENVIRONMENT :{ORANGE}Ingurugiroa +STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :{ORANGE}Agintariak +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Herriak +STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}Industriak +STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :{ORANGE}Zama banaketa +STR_CONFIG_SETTING_AI :{ORANGE}Lehiakideak +STR_CONFIG_SETTING_AI_NPC :{ORANGE}Ordenagailu jokalariak STR_CONFIG_SETTING_PATHFINDER_OPF :Jatorrizkoa STR_CONFIG_SETTING_PATHFINDER_NPF :NPF @@ -1615,7 +1608,6 @@ STR_INTRO_MULTIPLAYER :{BLACK}Multijok STR_INTRO_GAME_OPTIONS :{BLACK}Jokoaren Aukerak STR_INTRO_HIGHSCORE :{BLACK}Puntuazio taula -STR_INTRO_ADVANCED_SETTINGS :{BLACK}Ezarpen Aurreratuak STR_INTRO_NEWGRF_SETTINGS :{BLACK}NewGRF-ren Ezarpenak STR_INTRO_ONLINE_CONTENT :{BLACK}Edukiak Online Kontsultatu STR_INTRO_SCRIPT_SETTINGS :{BLACK}IA/Joko Scripten Ezarpenak @@ -1635,7 +1627,6 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Aukeratu STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Jokoaren aukerak erakutsi STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Puntuazioen taula erakutsi -STR_INTRO_TOOLTIP_ADVANCED_SETTINGS :{BLACK}Ezarpen aurreratuak erakutsi STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}NewGRF ezarpenak erakutsi STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Bilatu eduki berria eta eguneratua deskargatzeko STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}IA/Joko Scripten Ezarpenak @@ -1723,6 +1714,7 @@ STR_LIVERY_FREIGHT_TRAM :Merkantzietarak STR_FACE_CAPTION :{WHITE}Aurpegia aukeratu STR_FACE_CANCEL_TOOLTIP :{BLACK}Bertan behera utzi aurpegia aukeratu STR_FACE_OK_TOOLTIP :{BLACK}Aurpegi berria onartu +STR_FACE_RANDOM :{BLACK}Ausaz egin STR_FACE_MALE_BUTTON :{BLACK}Gizonezkoa STR_FACE_MALE_TOOLTIP :{BLACK}Aukeratu gizonezko aurpegiak @@ -2223,7 +2215,7 @@ STR_STATION_CLASS_WAYP :Bidepuntuak # Signal window STR_BUILD_SIGNAL_CAPTION :{WHITE}Seinale aukerak STR_BUILD_SIGNAL_SEMAPHORE_NORM_TOOLTIP :{BLACK} Blokeo seinalea (mekanikoa){}Oinarrizkoena den seinale mota, bloke berdinean tren bakarra egotea ahalbidetzen duena -STR_BUILD_SIGNAL_SEMAPHORE_ENTRY_TOOLTIP :{BLACK}Sarrera seinalea (mekanikoa){}Berde egongo da hurrengo sekzioan irteera seinale bat edo bat baino gehiago berde badago. Bestela gorria egongo da +STR_BUILD_SIGNAL_SEMAPHORE_ENTRY_TOOLTIP :{BLACK}Sarrera Seinalea (semaforoa){}Berde egongo da hurrengo sekzioan irteera seinale bat edo bat baino gehiago berde badago. Bestela gorria egongo da STR_BUILD_SIGNAL_SEMAPHORE_EXIT_TOOLTIP :{BLACK}Irteera seinalea (mekanikoa){} Blokeo seinalea bezala funtzionatzen du, baina beharrezkoa da sarrera seinaleak eta konbo aurre-seinaleak kolore egokia edukitzea STR_BUILD_SIGNAL_SEMAPHORE_COMBO_TOOLTIP :{BLACK}Konbo seinalea (semaforoa){}Sarrera seinale eta irteera seinale bezala funtzionatzen du. Honek aurre-seinale "zuhaitz" handiak eraikitzea ahalbidetzen du STR_BUILD_SIGNAL_SEMAPHORE_PBS_TOOLTIP :{BLACK}Bide seinalea (mekanikoa){}Bide seinalea bloke batean tren bat baino gehiago egotea ahalbidetzen du, trenak gelditzeko bide egokia erreserbatu badezake. Oinarrizko bide seinaleak atzekaldetik pasa daitezke @@ -2556,7 +2548,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-2014 The OpenTTD team +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 The OpenTTD team # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Gordetako jokoa @@ -2593,10 +2585,6 @@ STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Industri STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}Elur garaiera: STR_MAPGEN_SNOW_LINE_UP :{BLACK}Igo puntu batean elur garaiera STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}Jeitsi puntu batean elur garaiera -STR_MAPGEN_RANDOM_SEED :{BLACK}Ausazko hazia: -STR_MAPGEN_RANDOM_SEED_HELP :{BLACK}Klikatu ausazko hazia ezartzeko -STR_MAPGEN_RANDOM :{BLACK}Ausaz egin -STR_MAPGEN_RANDOM_HELP :{BLACK}Ausazko hazia aldatu paisaia sortzeko STR_MAPGEN_LAND_GENERATOR :{BLACK}Paisaia sortzailea: STR_MAPGEN_TREE_PLACER :{BLACK}Zuhaitz algoritmoa: STR_MAPGEN_TERRAIN_TYPE :{BLACK}Lur mota: @@ -2623,7 +2611,6 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Garaiera STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Tamaina: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} -STR_MAPGEN_RANDOM_SEED_OSKTITLE :{BLACK}Ausazko hazia ezarri STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}Elur garaiera aldatu STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Hasierako urtea aldatu @@ -2702,6 +2689,8 @@ STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Ez da aurk STR_NEWGRF_SETTINGS_DISABLED :{RED}Desgaitua STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}OpenTTD-ren bertsio honekin bateraezina +# NewGRF save preset window + # NewGRF parameters window STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}NewGRF parametroak aldatu STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Itxi @@ -2732,7 +2721,6 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Aldez au STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Aurreko grafiko arruntera joan, pseudo/birkoloretu/grafiko tipoak desgaituz STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Orain aukeratutako grafikoaren aurkezpena. Alineazioa ez da kontua hartzen grafiko hau egiterakoan STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}"Sprit"-a mugitu inguruan, X eta Y-ren desplazamenduak aldatuz -STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X desplazamendua {NUM}, Y desplazamendua: {NUM} STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}"Sprit"-a aukeratu STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Pantaillako edozein lekutatik aukeratu "sprite" bat @@ -2841,8 +2829,8 @@ STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} entregatua STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (beharrezkoa) STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (entregatua) -STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Herria {ORANGE}{COMMA}{BLACK} egunero hazten da -STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Herria {ORANGE}{COMMA}{BLACK} egunero hazten da (sortutako eraikuntzak) +STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Herria {ORANGE}{COMMA}{BLACK}{NBSP}egunetan hazten da +STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Herria {ORANGE}{COMMA}{BLACK}{NBSP}egunero hazten da (sortutako eraikuntzak) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}Herria {RED}ez da {BLACK} hazten ari STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Gehienezko soinua herrian: {ORANGE}{COMMA}{BLACK} gehienez: {ORANGE}{COMMA} STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Lehio nagusia herriaren kokapenean zentratzeko. Ktrl+Klik ikuspegi lehio berria irekiko du @@ -2901,7 +2889,7 @@ STR_GOAL_QUESTION_CAPTION_INFORMATION :Informazioa STR_GOAL_QUESTION_CAPTION_WARNING :Kontuz STR_GOAL_QUESTION_CAPTION_ERROR :Akats -### Start of Goal Question button list +############ Start of Goal Question button list STR_GOAL_QUESTION_BUTTON_CANCEL :Ezeztatu STR_GOAL_QUESTION_BUTTON_OK :OK STR_GOAL_QUESTION_BUTTON_NO :EZ @@ -2920,6 +2908,7 @@ STR_GOAL_QUESTION_BUTTON_RESTART :Restart STR_GOAL_QUESTION_BUTTON_POSTPONE :atzeratzeko STR_GOAL_QUESTION_BUTTON_SURRENDER :errendizioaren STR_GOAL_QUESTION_BUTTON_CLOSE :Itxi +############ End of Goal Question button list # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}Subsidioak @@ -2952,9 +2941,8 @@ STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}Ez dago # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} -STR_STATION_VIEW_WAITING_TITLE :{BLACK}Itxaroten: {WHITE}{STRING} STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} -STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} {STATION}tik garraiatua) +STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} {STATION}-(e)tik garraiatua) STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Onartu STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Onartzen diren zamen zerrenda @@ -3042,7 +3030,7 @@ STR_FINANCES_POSITIVE_INCOME :{BLACK}+{CURREN STR_FINANCES_TOTAL_CAPTION :{WHITE}Guztira: STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}Balantzea STR_FINANCES_LOAN_TITLE :{WHITE}Mailegua -STR_FINANCES_MAX_LOAN :{WHITE}Gehienezko mailegua: {BLACK}{CURRENCY_LONG} +STR_FINANCES_MAX_LOAN :{WHITE}Gehienezko Mailegua: {BLACK}{CURRENCY_LONG} STR_FINANCES_TOTAL_CURRENCY :{BLACK}{CURRENCY_LONG} STR_FINANCES_BORROW_BUTTON :{BLACK}{CURRENCY_LONG} eskatu STR_FINANCES_BORROW_TOOLTIP :{BLACK}Mailegua handitu. Ktrl+Klik gehienezko mailegua eskatu @@ -3197,6 +3185,7 @@ STR_GROUP_DELETE_TOOLTIP :{BLACK}Aukeratu STR_GROUP_RENAME_TOOLTIP :{BLACK}Aukeratutako taldea berrizendatu STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Klikatu taldean ordezkatze orokorretik babesteko + STR_GROUP_ADD_SHARED_VEHICLE :Geheitu konpartituako ibilgailuak STR_GROUP_REMOVE_ALL_VEHICLES :Ibilgailu guztiak ezabatu @@ -3234,7 +3223,7 @@ STR_PURCHASE_INFO_ALL_BUT :Guztia {CARGO_L STR_PURCHASE_INFO_MAX_TE :{BLACK}Gehienezko trakzio indarra: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Irismena: {GOLD}{COMMA} lauki -STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Trenak aukeratzeko zerrenda - Klik xehetasunak ikusteko +STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Trenak aukeratzeko zerrenda - Klik xehetasunak ikusteko. Ctrl+Klik ibilgailu motaren ezkutapenaren artean aukeratzeko STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Errepide ibilbideak aukeratzeko zerrenda - Klik xehetasunak ikusteko STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Itsasontzi aukeratzeko zerrenda - Klik xehetasunak ikusteko STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Hegazkinak aukeratzeko zerrenda - Klik xehetasunak ikusteko @@ -3259,6 +3248,9 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Errepide STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Itsasontzia berrizendatu STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Hegazkina berrizendatu + + + STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}Tren ibilgailua berrizendatu STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}Errepide ibilgailua berrizendatu STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}Itasontzia berrizendatu @@ -3312,7 +3304,7 @@ STR_DEPOT_CLONE_ROAD_VEHICLE :{BLACK}Errepide STR_DEPOT_CLONE_SHIP :{BLACK}Itsasontzia klonatu STR_DEPOT_CLONE_AIRCRAFT :{BLACK}Hegazkina klonatu -STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Trena eta bagoiaren kopia erosiko du. Klikatu botoia eta gero gordailu barnean edo kanpoen dagoen tren batean klikatu. Ktrl+klik aginduak konpartitzeko. Shift+Klik gutxi gora behera kostea erakutsi +STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Trena eta bagoi guztien kopia erosiko du. Klikatu botoia eta gero gordailu barnean edo kanpoen dagoen tren batean klikatu. Ctrl+klik aginduak konpartitzeko. Mayus+Klik batez besteko kostua erakusten du, erosi gabe STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Errepide ibilgauaren kopia erosiko du. Klikatu botoia eta gero gordailu barnean edo kanpoen dagoen ibilgailu batean klikatu. Ktrl+klik aginduak konpartitzeko. Shift+Klik gutxi gora behera kostea erakutsi STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Itsasontzi kopia erosiko du. Klikatu botoia eta gero gordailu barnean edo kanpoen dagoen itsasontzi batean klikatu. Ktrl+klik aginduak konpartitzeko. Shift+Klik gutxi gora behera kostea erakutsi STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Hegazkinaren kopia erosiko du. Klikatu botoia eta gero hangar barnean edo kanpoan dagoen hegazkin batean klikatu. Ktrl+klik aginduak konpartitzeko. Shift+Klik gutxi gora behera kostea erakutsi @@ -3363,6 +3355,7 @@ STR_REPLACE_VEHICLE_ROAD_VEHICLE :Errepide ibilga STR_REPLACE_VEHICLE_SHIP :Itsasontzia STR_REPLACE_VEHICLE_AIRCRAFT :Hegazkina + STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Aukeratu aldatu beharreko motore mota STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK} Aukeratu motore mota zaharra ordezkatuko duen motore berria @@ -3487,7 +3480,7 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Edukiera STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Transferentzia kredituak: {LTBLUE}{CURRENCY_LONG} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Mantenimendu tartea: {LTBLUE}{COMMA}days{BLACK} Azken mantenimendua: {LTBLUE}{DATE_LONG} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Mantenimendu tartea: {LTBLUE}{COMMA}egun{BLACK} Azken mantenimendua: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Mantenimendu tartea: {LTBLUE}{COMMA}%{BLACK} Azken mantenimendua: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Mantenimendu tartea 10 puntutan igo. Ktrl+klik mantenimendu tartea 5 puntutan igo STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Mantenimendu tartea 10 puntutan gutxitu. Ktrl+klik mantenimendu tartea 5 puntutan gutxitu @@ -3679,7 +3672,7 @@ STR_ORDER_NO_UNLOAD_NO_LOAD :(Ez deskargatu STR_ORDER_AUTO_REFIT :(Automatikoki birmoldatu {STRING}-(e)ra) STR_ORDER_FULL_LOAD_REFIT :(Osorik kargatu eta automatikoki birmoldatu {STRING}-(e)ra) STR_ORDER_FULL_LOAD_ANY_REFIT :(Edozein zama osorik kargatu eta automatikoki birmoldatu {STRING}-(e)ra) -STR_ORDER_UNLOAD_REFIT :(Deskargatu eta karga artu automatikoki birmoldatuz {STRING}-(e)ra) +STR_ORDER_UNLOAD_REFIT :(Deskargatu eta karga hartu automatikoki birmoldatuz {STRING}-(e)ra) STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(Deskargatu eta osorik kargatu automatikoki birmoldatuz {STRING}-(e)ra) STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(Deskargatu eta edozein zama osorik kargatu arte itxaron automatikoki birmoldatuz {STRING}-(e)ra) STR_ORDER_TRANSFER_REFIT :(Transferitu eta kargatu automatikoki birmoldatuz {STRING}-(e)ra) @@ -3718,8 +3711,8 @@ STR_TIMETABLE_TRAVEL_FOR :{STRING} bidaia STR_TIMETABLE_TRAVEL_FOR_SPEED :{STRING}-ra bidaiatu gehienez {VELOCITY}ra STR_TIMETABLE_STAY_FOR :{STRING} gelditu STR_TIMETABLE_AND_TRAVEL_FOR :{STRING} bidaiatu -STR_TIMETABLE_DAYS :{COMMA} egun -STR_TIMETABLE_TICKS :{COMMA} tick +STR_TIMETABLE_DAYS :{COMMA}{NBSP}egun{P "" ak} +STR_TIMETABLE_TICKS :{COMMA}{NBSP}tick{P "" ak} STR_TIMETABLE_TOTAL_TIME :{BLACK}Ordutegi honek {STRING} beharko du betetzeko STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}Ordutegi honek gutxienez {STRING} beharko du (ez ordutegi guztiak) @@ -4005,6 +3998,7 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... Baso STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... bakarrik elur garaieratik gora eraiki daiteke STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... bakarrik elur garaieratik behera eraiki daiteke + # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Ezin da tren gordailua hemen eraiki... STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}Ezin izan da autobus geltokia eraiki... @@ -4731,8 +4725,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -4743,9 +4735,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/belarusian.txt b/src/lang/belarusian.txt index 5b8a39c27f..350fc95768 100644 --- a/src/lang/belarusian.txt +++ b/src/lang/belarusian.txt @@ -408,30 +408,30 @@ STR_CARGO_SINGULAR_FIZZY_DRINK.pre :газіроў # Quantity of cargo STR_QUANTITY_NOTHING : -STR_QUANTITY_PASSENGERS :{COMMA} пасажыр{P "" а аў} +STR_QUANTITY_PASSENGERS :{COMMA}{NBSP}пасажыр{P "" а аў} STR_QUANTITY_COAL :{WEIGHT_LONG} вугалю -STR_QUANTITY_MAIL :{COMMA} мяш{P ок кi коў} пошты +STR_QUANTITY_MAIL :{COMMA}{NBSP}мяш{P ок кi коў} пошты STR_QUANTITY_OIL :{VOLUME_LONG} нафты -STR_QUANTITY_LIVESTOCK :{COMMA} гал{P ава авы оў} жывёлы -STR_QUANTITY_GOODS :{COMMA} скрын{P ка кi ак} тавараў +STR_QUANTITY_LIVESTOCK :{COMMA}{NBSP}гал{P ава авы оў} жывёлы +STR_QUANTITY_GOODS :{COMMA}{NBSP}скрын{P ка кi ак} тавараў STR_QUANTITY_GRAIN :{WEIGHT_LONG} зерня STR_QUANTITY_WOOD :{WEIGHT_LONG} драўнiны STR_QUANTITY_IRON_ORE :{WEIGHT_LONG} жалезнай руды STR_QUANTITY_STEEL :{WEIGHT_LONG} сталi -STR_QUANTITY_VALUABLES :{COMMA} мяш{P ок кi коў} каштоўнасьцяў +STR_QUANTITY_VALUABLES :{COMMA}{NBSP}мяш{P ок кi коў} каштоўнасьцяў STR_QUANTITY_COPPER_ORE :{WEIGHT_LONG} меднай руды STR_QUANTITY_MAIZE :{WEIGHT_LONG} кукурузы STR_QUANTITY_FRUIT :{WEIGHT_LONG} садавiны -STR_QUANTITY_DIAMONDS :{COMMA} мяш{P ок кi коў} алмазаў +STR_QUANTITY_DIAMONDS :{COMMA}{NBSP}мяш{P ок кi коў} алмазаў STR_QUANTITY_FOOD :{WEIGHT_LONG} ежы STR_QUANTITY_PAPER :{WEIGHT_LONG} паперы -STR_QUANTITY_GOLD :{COMMA} мяш{P ок кi коў} золата +STR_QUANTITY_GOLD :{COMMA}{NBSP}мяш{P ок кi коў} золата STR_QUANTITY_WATER :{VOLUME_LONG} вады STR_QUANTITY_WHEAT :{WEIGHT_LONG} пшаніцы STR_QUANTITY_RUBBER :{VOLUME_LONG} каўчуку STR_QUANTITY_SUGAR :{WEIGHT_LONG} цукру -STR_QUANTITY_TOYS :{COMMA} цац{P ка кi ак} -STR_QUANTITY_SWEETS :{COMMA} скрын{P ка кi ак} цукерак +STR_QUANTITY_TOYS :{COMMA}{NBSP}цац{P ка кi ак} +STR_QUANTITY_SWEETS :{COMMA}{NBSP}скрын{P ка кi ак} цукерак STR_QUANTITY_COLA :{VOLUME_LONG} колы STR_QUANTITY_CANDYFLOSS :{WEIGHT_LONG} цукровай баўны STR_QUANTITY_BUBBLES :{COMMA} бурбал{P ка кi ак} @@ -478,12 +478,12 @@ STR_ABBREV_NONE :{TINY_FONT}НЯ STR_ABBREV_ALL :{TINY_FONT}Усё # 'Mode' of transport for cargoes -STR_PASSENGERS :{COMMA} пасажыр{P "" ы аў} -STR_BAGS :{COMMA} мя{P шок шкi шкоў} -STR_TONS :{COMMA} тон{P а ы ""} -STR_LITERS :{COMMA} лiтр{P "" ы аў} -STR_ITEMS :{COMMA} штук{P а i ""} -STR_CRATES :{COMMA} скрын{P я i яў} +STR_PASSENGERS :{COMMA}{NBSP}пасажыр{P "" ы аў} +STR_BAGS :{COMMA}{NBSP}мяш{P ок кi коў} +STR_TONS :{COMMA}{NBSP}тон{P а ы ""} +STR_LITERS :{COMMA}{NBSP}лiтр{P "" ы аў} +STR_ITEMS :{COMMA}{NBSP}штук{P а i ""} +STR_CRATES :{COMMA}{NBSP}скрын{P я i яў} # Colours, do not shuffle STR_COLOUR_DARK_BLUE :Цёмна-сiнi @@ -504,37 +504,37 @@ STR_COLOUR_GREY :Шэры STR_COLOUR_WHITE :Белы # Units used in OpenTTD -STR_UNITS_VELOCITY_IMPERIAL :{COMMA} мiл{P я i яў}/г -STR_UNITS_VELOCITY_METRIC :{COMMA} км/г -STR_UNITS_VELOCITY_SI :{COMMA} м/с +STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}мiл{P я i яў}/г +STR_UNITS_VELOCITY_METRIC :{COMMA}{NBSP}км/г +STR_UNITS_VELOCITY_SI :{COMMA}{NBSP}м/с -STR_UNITS_POWER_IMPERIAL :{COMMA} к.с. -STR_UNITS_POWER_METRIC :{COMMA} к.с. -STR_UNITS_POWER_SI :{COMMA} кВт +STR_UNITS_POWER_IMPERIAL :{COMMA}{NBSP}к.с. +STR_UNITS_POWER_METRIC :{COMMA}{NBSP}к.с. +STR_UNITS_POWER_SI :{COMMA}{NBSP}кВт -STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA} т -STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA} т -STR_UNITS_WEIGHT_SHORT_SI :{COMMA} кг +STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}{NBSP}т +STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}{NBSP}т +STR_UNITS_WEIGHT_SHORT_SI :{COMMA}{NBSP}кг -STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA} тон{P а ы ""} -STR_UNITS_WEIGHT_LONG_METRIC :{COMMA} тон{P а ы ""} -STR_UNITS_WEIGHT_LONG_SI :{COMMA} кг +STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA}{NBSP}тон{P а ы ""} +STR_UNITS_WEIGHT_LONG_METRIC :{COMMA}{NBSP}тон{P а ы ""} +STR_UNITS_WEIGHT_LONG_SI :{COMMA}{NBSP}кг -STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA} гал. -STR_UNITS_VOLUME_SHORT_METRIC :{COMMA} л -STR_UNITS_VOLUME_SHORT_SI :{COMMA} м³ +STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}{NBSP}гал. +STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}{NBSP}л +STR_UNITS_VOLUME_SHORT_SI :{COMMA}{NBSP}м³ -STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA} галон{P "" а аў} -STR_UNITS_VOLUME_LONG_METRIC :{COMMA} лiтр{P "" ы аў} -STR_UNITS_VOLUME_LONG_SI :{COMMA} м³ +STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA}{NBSP}галон{P "" а аў} +STR_UNITS_VOLUME_LONG_METRIC :{COMMA}{NBSP}лiтр{P "" ы аў} +STR_UNITS_VOLUME_LONG_SI :{COMMA}{NBSP}м³ -STR_UNITS_FORCE_IMPERIAL :{COMMA} фунт{P "" а аў}-сілы -STR_UNITS_FORCE_METRIC :{COMMA} кгс -STR_UNITS_FORCE_SI :{COMMA} кН +STR_UNITS_FORCE_IMPERIAL :{COMMA}{NBSP}фунт{P "" а аў}-сілы +STR_UNITS_FORCE_METRIC :{COMMA}{NBSP}кгс +STR_UNITS_FORCE_SI :{COMMA}{NBSP}кН -STR_UNITS_HEIGHT_IMPERIAL :{COMMA} фут{P "" ы аў} -STR_UNITS_HEIGHT_METRIC :{COMMA} м -STR_UNITS_HEIGHT_SI :{COMMA} м +STR_UNITS_HEIGHT_IMPERIAL :{COMMA}{NBSP}фут{P "" ы аў} +STR_UNITS_HEIGHT_METRIC :{COMMA}{NBSP}м +STR_UNITS_HEIGHT_SI :{COMMA}{NBSP}м # Common window strings STR_LIST_FILTER_TITLE :{BLACK}Фільтар: @@ -561,6 +561,17 @@ STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Прак STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Пракрутка налева/направа STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Поўная ачыстка прамавугольнага ўчастку зямлі. Ctrl — выбар вобласьці па дыяганалі. Пры націснутым Shift — ацэнка кошту ачысткі. +# Show engines button +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}Паказаць схаваныя +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK}Паказаць схаваныя +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}Паказаць схаваныя +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}Паказаць схаваныя + +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}Калі гэта кнопка націснута, схаваныя мадэлi лакаматываў і вагонаў таксама будуць паказаны +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE_TOOLTIP :{BLACK}Калі гэта кнопка націснута, схаваныя мадэлі аўтамабіляў таксама будуць паказаны +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}Калі гэта кнопка націснута, схаваныя мадэлі караблёў таксама будуць паказаны +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Калі гэта кнопка націснута, схаваныя мадэлi паветраных суднаў таксама будуць паказаны + # Query window STR_BUTTON_DEFAULT :{BLACK}Па змоўчаньнi STR_BUTTON_CANCEL :{BLACK}Скасаваць @@ -674,7 +685,7 @@ STR_SCENEDIT_FILE_MENU_QUIT :Выхад ############ range for settings menu starts STR_SETTINGS_MENU_GAME_OPTIONS :Наладкі гульні -STR_SETTINGS_MENU_CONFIG_SETTINGS :Пашыраныя наладкі +STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Наладкі STR_SETTINGS_MENU_SCRIPT_SETTINGS :Наладкі ШІ / скрыпту STR_SETTINGS_MENU_NEWGRF_SETTINGS :Наладкі NewGRF STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Наладкі празрыстасьці @@ -783,7 +794,7 @@ STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Пераклю STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Падфарбоўваць блёкі, якія патрабуюць перамалёўкі ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window STR_ORDINAL_NUMBER_1ST :1-е STR_ORDINAL_NUMBER_2ND :2-е STR_ORDINAL_NUMBER_3RD :3-е @@ -799,22 +810,40 @@ STR_ORDINAL_NUMBER_12TH :12-е STR_ORDINAL_NUMBER_13TH :13-е STR_ORDINAL_NUMBER_14TH :14-е STR_ORDINAL_NUMBER_15TH :15-е -STR_ORDINAL_NUMBER_16TH :16-е -STR_ORDINAL_NUMBER_17TH :17-е -STR_ORDINAL_NUMBER_18TH :18-е -STR_ORDINAL_NUMBER_19TH :19-е -STR_ORDINAL_NUMBER_20TH :20-е -STR_ORDINAL_NUMBER_21ST :21-е -STR_ORDINAL_NUMBER_22ND :22-е -STR_ORDINAL_NUMBER_23RD :23-е -STR_ORDINAL_NUMBER_24TH :24-е -STR_ORDINAL_NUMBER_25TH :25-е -STR_ORDINAL_NUMBER_26TH :26-е -STR_ORDINAL_NUMBER_27TH :27-е -STR_ORDINAL_NUMBER_28TH :28-е -STR_ORDINAL_NUMBER_29TH :29-е -STR_ORDINAL_NUMBER_30TH :30-е -STR_ORDINAL_NUMBER_31ST :31-е +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :1-е +STR_DAY_NUMBER_2ND :2-е +STR_DAY_NUMBER_3RD :3-е +STR_DAY_NUMBER_4TH :4-е +STR_DAY_NUMBER_5TH :5-е +STR_DAY_NUMBER_6TH :6-е +STR_DAY_NUMBER_7TH :7-е +STR_DAY_NUMBER_8TH :8-е +STR_DAY_NUMBER_9TH :9-е +STR_DAY_NUMBER_10TH :10-е +STR_DAY_NUMBER_11TH :11-е +STR_DAY_NUMBER_12TH :12-е +STR_DAY_NUMBER_13TH :13-е +STR_DAY_NUMBER_14TH :14-е +STR_DAY_NUMBER_15TH :15-е +STR_DAY_NUMBER_16TH :16-е +STR_DAY_NUMBER_17TH :17-е +STR_DAY_NUMBER_18TH :18-е +STR_DAY_NUMBER_19TH :19-е +STR_DAY_NUMBER_20TH :20-е +STR_DAY_NUMBER_21ST :21-е +STR_DAY_NUMBER_22ND :22-е +STR_DAY_NUMBER_23RD :23-е +STR_DAY_NUMBER_24TH :24-е +STR_DAY_NUMBER_25TH :25-е +STR_DAY_NUMBER_26TH :26-е +STR_DAY_NUMBER_27TH :27-е +STR_DAY_NUMBER_28TH :28-е +STR_DAY_NUMBER_29TH :29-е +STR_DAY_NUMBER_30TH :30-е +STR_DAY_NUMBER_31ST :31-е ############ range for days ends ############ range for months starts @@ -1123,13 +1152,12 @@ STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}{VEHICLE STR_NEWS_SHIP_IS_WAITING :{WHITE}{VEHICLE} чакае ў дэпо STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE} чакае ў самалётным анґары -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE +# Order review system / warnings STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}У ТС «{VEHICLE}» не хапае заданьняў у раскладзе STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE} не мае заданьняў STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE} мае дубляваныя заданьні STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE} мае няісную станцыю ў заданьнях -# end of order system +STR_NEWS_PLANE_USES_TOO_SHORT_RUNWAY :{WHITE}{VEHICLE} накіраван{G 0 ы а а ы} у аэрапорт з занадта кароткай паласой STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} састарэў STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} цалкам састарэў @@ -1212,10 +1240,6 @@ STR_GAME_OPTIONS_CURRENCY_GEL :Грузінс STR_GAME_OPTIONS_CURRENCY_IRR :Іранскі рыал (IRR) ############ end of currency region - -############ start of measuring units region -############ end of measuring units region - STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Дарожны рух STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}Па якім баку дарогі рухаецца аўтатранспарт STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :Езьдзіць леваруч @@ -1251,11 +1275,13 @@ STR_GAME_OPTIONS_TOWN_NAME_CATALAN :Каталён STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Аўтазахаваньне STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Інтэрвал паміж аўтаматычнымі захаваньнямі гульні +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Выключана STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :Штомесяц STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :Кожныя 3 месяцы STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :Кожныя 6 месяцаў STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :Кожныя 12 месяцаў +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}Мова STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Выбраць мову інтэрфэйсу @@ -1267,8 +1293,12 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}Выра STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Выбар вырашэньня экрана STR_GAME_OPTIONS_RESOLUTION_OTHER :Iншае -STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}Фармат здымкаў экрана -STR_GAME_OPTIONS_SCREENSHOT_FORMAT_TOOLTIP :{BLACK}Выбар фармата, у якім будуць захоўвацца здымкі экрана +STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Памер элементаў інтэрфейсу +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Выберыце памер элементаў інтэрфейсу + +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Звычайны +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Падвоены +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Пачацвяроны STR_GAME_OPTIONS_BASE_GRF :{BLACK}Набор базавай ґрафікі STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Выбар базавага набору ґрафічных аб'ектаў @@ -1284,6 +1314,7 @@ STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Выбе STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} пашкоджан{P ы ых ых} файл{P 0 "" ы аў} STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Дадатковая інфармацыя аб базавым музычным наборы +STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Не атрымалася атрымаць сьпіс падтрымліваемых разрозненьняў экрана STR_ERROR_FULLSCREEN_FAILED :{WHITE}Памылка поўнаэкраннага рэжыму # Custom currency window @@ -1362,6 +1393,7 @@ STR_TERRAIN_TYPE_VERY_FLAT :Вельмі п STR_TERRAIN_TYPE_FLAT :Раўнінная STR_TERRAIN_TYPE_HILLY :Узгорастая STR_TERRAIN_TYPE_MOUNTAINOUS :Гарыстая +STR_TERRAIN_TYPE_ALPINIST :Выключна горны STR_CITY_APPROVAL_PERMISSIVE :Дазваляючае STR_CITY_APPROVAL_TOLERANT :Памяркоўнае @@ -1369,8 +1401,8 @@ STR_CITY_APPROVAL_HOSTILE :Варожае STR_WARNING_NO_SUITABLE_AI :{WHITE}Модулі штучнага інтэлекту (ШІ/AI) адсутнічаюць.{}Іх можна спампаваць праз сістэму праверкі "анлайн-кантэнту". -# Advanced settings window -STR_CONFIG_SETTING_CAPTION :{WHITE}Пашыраныя наладкі +# Settings tree window +STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Наладкі STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Фільтар: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Разгарнуць усё STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Згарнуць усё @@ -1385,10 +1417,10 @@ STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :Наладкі STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK}Катэґорыя: STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}Тып: -STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Адлюстроўваць у сьпісе толькі зьмененыя наладкі -STR_CONFIG_SETTING_RESTRICT_BASIC :Базавыя наладкі -STR_CONFIG_SETTING_RESTRICT_ADVANCED :Пашыраныя наладкі -STR_CONFIG_SETTING_RESTRICT_ALL :Спэцыяльныя наладкі / усе наладкі +STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Адлюстроўваць у спісе толькі наладкі, якія адпавядаюць абранай катэгорыі +STR_CONFIG_SETTING_RESTRICT_BASIC :Асноўныя наладкі (толькі самыя важныя) +STR_CONFIG_SETTING_RESTRICT_ADVANCED :Пашыраныя наладкі (практычна ўсе) +STR_CONFIG_SETTING_RESTRICT_ALL :Спэцыяльныя наладкі (усе, уключаючы самыя незразумелыя) STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :Наладкі са значэньнямі, якія адрозьніваюцца ад значэньняў па змоўчаньні STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :Наладкі са значэньнямі, якія адрозьніваюцца ад наладак новай гульні @@ -1443,8 +1475,9 @@ STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Пераклю STR_CONFIG_SETTING_CITY_APPROVAL :Стаўленьне гарадзкой рады да рэструктурызацыі навакольляў: {STRING} STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Выберыце ўзровень шуму й забруджваньня навакольнага асяроддзя кампаніямі, які ўплывае на іх рэйтынґ у гарадах і магчымасьць далейшага будаўніцтва каля гарадоў -STR_CONFIG_SETTING_BUILDONSLOPES :Дазволіць будаўніцтва на сьхілах і на беразе: {STRING} -STR_CONFIG_SETTING_BUILDONSLOPES_HELPTEXT :Калі ўключана, рэйкі й станцыі ня могуць будавацца на сьхілах. Калі адключана, то можна будаваць на сьхілах, якія адпавядаюць напрамку рэйкаў і таму не патрабуюць фундамэнтаў. +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :Максімальная вышыня: {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :Усталёўка максімальна дапушчальнай вышыні гор на мапе +STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}Немагчыма зьмяніць максімальную вышыню. На мапе ёсць горы вышэй гэтага значэньня. STR_CONFIG_SETTING_AUTOSLOPE :Дазволіць зьмену ляндшафту пад будынкамі, дарогамі й г. д. (аўтаспускі): {STRING} STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Дазволіць зьмену ляндшафту пад будынкамі й рэйкамi, не выдаляючы іx STR_CONFIG_SETTING_CATCHMENT :Зона пакрыцьця залежыць ад тыпу станцыі: {STRING} @@ -1469,16 +1502,12 @@ STR_CONFIG_SETTING_FORBID_90_DEG :Забаран STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90-ґрадусныя павароты здараюцца, калі за гарызантальнымі рэйкамі адразу вынікаюць вэртыкальныя на суседняй клетцы. Цягнік вымушаны паварочваць на 90 ґрадусаў пры перасячэньні клетак замест звычайных 45 ґрадусаў пры іншай камбінацыі каляінаў. Гэта таксама датычыць радыюса паваротаў для караблёў. STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Дазволіць аб'яднаньне станцыяў, не прымыкаючых адна да адной: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Дазволіць дадаць частку станцыі, якая непасрэдна не прылягае да існуючых частак. Патрабуе Ctrl+пстрычку пры разьмяшчэньні новых частак. -STR_CONFIG_SETTING_IMPROVEDLOAD :Выкарыстоўваць палепшаны алгарытм загрузкі: {STRING} -STR_CONFIG_SETTING_IMPROVEDLOAD_HELPTEXT :Калі ўключана, некалькі транспартных сродкаў, якія чакаюць на станцыі, загружаюцца пасьлядоўна. Загрузка наступнага пачынаецца, калі на станцыі ёсьць досыць грузу, каб запоўніць парядэдні транспарт. -STR_CONFIG_SETTING_GRADUAL_LOADING :Паступовая загрузка транспарту: {STRING} -STR_CONFIG_SETTING_GRADUAL_LOADING_HELPTEXT :Паступова загружаць транспартныя сродкі, выкарыстоўваючы іх спэцыфічную працялегласьць загрузкі, замест таго каб загрузіць усё адразу за сталы час, які можа залежыць толькі ад колькасьці грузу. STR_CONFIG_SETTING_INFLATION :Уключыць інфляцыю: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :Уключыць інфляцыю ў эканоміцы, калі кошты растуць нязначна хутчэй за выплаты -STR_CONFIG_SETTING_SELECTGOODS :Пастаўляць груз на станцыю, толькі калі на яго быў попыт: {STRING} -STR_CONFIG_SETTING_SELECTGOODS_HELPTEXT :Пастаўляць груз на станцыю, калі на яго быў попыт з транспарта, які загружаецца. Гэта прадухіляе кепскія рэйтынґі для грузаў, якія не вывозяцца са станцыі. STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Максымальная даўжыня мастоў: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Максымальная даўжыня мастоў, якія вы можаце пабудаваць +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :Максімальная вышыня мастоў: {STRING} +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :Максімальная дапушчальная вышыня мастоў STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Максымальная даўжыня тунэляў: {STRING} STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :Максымальная даўжыня тунэляў, якія вы можаце пабудаваць STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Мэтад стварэньня сыравінных прадпрыемстваў: {STRING} @@ -1504,8 +1533,6 @@ STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Усталяв STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :на пачатку STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :ў сярэдзіне STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :ў канцы -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING :Аўтатранспарт зьбіраецца ў чаргу каля прыпынка: {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING_HELPTEXT :Аўтатранспарт будзе чакаць перад прыпынкам, пакуль ён вызваліцца ад іншых машынаў. STR_CONFIG_SETTING_AUTOSCROLL :Перамяшчаць агляд, калі курсор знаходзіцца на краі экрана: {STRING} STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Уключае зрушваньне агляду пры набліжэньні паказальніка мышы да краю экрана STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :няма @@ -1536,10 +1563,6 @@ STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Дазволі STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Дазволіць пабудову на дарогах, якія належаць гораду, прыпынкаў, празь якія можна проста праехаць (не заязжаючы "унутар"). STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Дазволіць будаўніцтва прыпынкаў Ro-Ro на дарогах канкурэнтаў: {STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Дазволіць пабудову на дарогах, якія належаць іншым кампаніям, прыпынкаў, празь якія можна проста праехаць (не заязжаючы "унутар"). -STR_CONFIG_SETTING_ADJACENT_STATIONS :Дазволіць будаўніцтва сумежных станцыяў: {STRING} -STR_CONFIG_SETTING_ADJACENT_STATIONS_HELPTEXT :Дазволіць розным станцыям датыкацца адна да адной. -STR_CONFIG_SETTING_DYNAMIC_ENGINES :Уключыць падтрымку некалькіх транспартных набораў NewGRF: {STRING} -STR_CONFIG_SETTING_DYNAMIC_ENGINES_HELPTEXT :Опцыя сумяшчальнасьці для старых набораў ґрафікі. Не адключайце яе, калі вы дакладна ня ведаеце, што робіце! STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Зьмена гэтага парамэтру немагчыма, калі ў гульні ёсьць транспартныя сродкі. STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Утрыманьне iнфраструктуры: {STRING} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Калі ўключана, інфраструктура патрабуе выдаткаў на ўтрыманьне. Кошт расьце прапарцыянальна памерам сеткі, таму гэта больш датычыць вялікіх кампаніяў, ніж малых. @@ -1560,7 +1583,7 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Транспа STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Калі ўключана, усе мадэлі транспартных сродкаў пасьля з'яўленьня застануцца даступнымі назаўжды. STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Аўтазамена старых транспартных сродкаў: {STRING} STR_CONFIG_SETTING_AUTORENEW_VEHICLE_HELPTEXT :Калі ўключана, транспарт напрыканцы свайго пэўнага тэрміна службы будзе аўтаматычна заменены, калі ўмовы замены будуць выкананыя. -STR_CONFIG_SETTING_AUTORENEW_MONTHS :Аўтаабнаўленьне, калi транспарт дасягне {STRING} макс. узросту +STR_CONFIG_SETTING_AUTORENEW_MONTHS :Аўтазамена транспарта {STRING} заканчэння тэрміна эксплуатацыі STR_CONFIG_SETTING_AUTORENEW_MONTHS_HELPTEXT :Адносны ўзрост, калі транспартны сродак будзе разглядацца як той, што патрабуе аўтаўзамены. STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_BEFORE :{COMMA} месяц{P "" ы аў} перад STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_AFTER :{COMMA} месяц{P "" ы аў} пасьля @@ -1570,35 +1593,49 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :Працягл STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Працялегласьць паказваньня паведамленьняў аб памылках у чырвоным вакне. Зазначце, што некаторыя (крытычныя) паведамленьні ня будуць аўтаматычна зьнікаць пасьля гэтага часу, але мусяць быць закрытымі уручную. STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{COMMA} сэкунд{P а ы аў} STR_CONFIG_SETTING_HOVER_DELAY :Паказваць падказкi: {STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Затрымка перад тым як паказаць падказку, калі мыш завісае над нейкім элемэнтам інтэрфэйсу. Як альтэрнатыва, падказкі могуць паказвацца адразу пасьля пстрычкі правай кнопкай мышшу. -STR_CONFIG_SETTING_HOVER_DELAY_VALUE :пачакаўшы {COMMA} сэкунд{P у ы аў} +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Затрымка паміж навядзеньнем паказальніка мышы на элемент інтэрфейсу і з'яўленьнем падказкі. Калі гэта значэнне роўна 0, падказкі з'яўляюцца па пстрычцы правай кнопкі мышы. +STR_CONFIG_SETTING_HOVER_DELAY_VALUE :пры навядзеньні паказальніка на {COMMA} мілісэкунд{P у ы аў} STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :па правым кліку STR_CONFIG_SETTING_POPULATION_IN_LABEL :Паказваць колькасьць жыхароў горада ў назьве: {STRING} STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Паказваць у надпісах на мапе колькасьць жыхароў населеных пунктаў адразу пасьля іх назвы. STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Таўшчыня лiнiяў у ґрафiках: {STRING} STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Таўшчыня лініяў ґрафікаў. Тонкая лінія дакладней, тоўстую лягчэй убачыць і адрозьніць колер. +STR_CONFIG_SETTING_LANDSCAPE :Тып карты: {STRING} +STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Выбар тыпу мапы вызначае аснову гульнёвага працэсу, напрыклад, даступныя тыпы транспарта і грузаў, розныя ўмовы росту гарадоў. Усё гэта таксама можа быць зменена з дапамогай модуляў NewGRF і гульнёвых скрыптоў. STR_CONFIG_SETTING_LAND_GENERATOR :Ґенэратар зямлі: {STRING} +STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :Арыгінальны генератар разлічаны на базавы графічны набор і стварае ландшафт з тыпавых элементаў.{}TerraGenesis выкарыстоўвае для стварэння ландшафту шум Перлiна і больш тонка наладжваецца. STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Арыґінальны STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis +STR_CONFIG_SETTING_TERRAIN_TYPE :Тып ландшафту: {STRING} +STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(Толькі для TerraGenesis){}Узгоркаватасць ландшафту +STR_CONFIG_SETTING_INDUSTRY_DENSITY :Колькасць прадпрыемстваў: {STRING} +STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Выберыце, колькі прадпрыемстваў ствараць напачатку і на якім узроўні падтрымліваць іх колькасць падчас гульні. STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Макс. адлегласьць ад краю мапы да нафтаперапрацоўчых заводаў: {STRING} STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Нафтаперапрацоўчыя заводы будуюцца толькі каля краю мапы, у тым ліку на востраве. STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Вышыня сьнегавой лініі: {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Нароўнасьць ляндшафту (толькі TerraGenesis) : {STRING} +STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Азначце, на якой вышыні ў субарктычным клімаце ўсталёўваецца снегавы полаг. Наяўнасьць снега ўплывае на расстаноўку прадпрыемстваў і на ўмовы росту гарадоў. +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Нароўнасьць ляндшафту: {STRING} +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(Толькі для TerraGenesis){}Выберыце колькасьць гор і ўзгоркаў на карце. На гладкім ландшафце ўзгоркаў трохі і яны больш пакатыя. На грубым - шмат гор, і ландшафт можа здацца занадта аднастайным. STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Вельмі гладкі STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Гладкі STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Грубы STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Вельмі грубы +STR_CONFIG_SETTING_VARIETY :Разнастайнасць ландшафту: {STRING} +STR_CONFIG_SETTING_VARIETY_HELPTEXT :(Толькі для TerraGenesis){}Вызначае наяўнасць на карце як горных, так і раўнінных абласцей. Паколькі дадзеная наладка ўплывае толькі на згладжванне карты, астатнія наладкі павінны быць выстаўлены ў горны ландшафт. +STR_CONFIG_SETTING_RIVER_AMOUNT :Колькасць рэк: {STRING} +STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Выберыце колькасць рэк на мапе STR_CONFIG_SETTING_TREE_PLACER :Альґарытм расстаноўкі дрэваў: {STRING} +STR_CONFIG_SETTING_TREE_PLACER_HELPTEXT :Выберыце спосаб размеркаваньня дрэў на карце: «арыгінальны» алгарытм высаджвае іх раўнамерна па ўсёй карце; «палепшаны» - групамі. STR_CONFIG_SETTING_TREE_PLACER_NONE :Няма STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :Арыґінальны STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :Палепшаны +STR_CONFIG_SETTING_ROAD_SIDE :Рух аўтатранспарту: {STRING} +STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :Выберыце бок дарогі, па якому рухаецца аўтатранспарт STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Кручэньне мапы вышыняў: {STRING} STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :супраць руху гадзіньнікавай стрэлкі STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :па гадзіньнікавай стрэлцы STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :Ўзровень вышыні для мапаў з пляскатым рэльефам: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :Дазволіць зьмену ляндшафту на краю мапы: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES_HELPTEXT :Калі адключана, граніцамі мапы заўсёды будзе акіян. STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}Адна ці некалькі клетак ў паўночным куце мапы не пустыя STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}Адна ці некалькі клетак берага без вады @@ -1619,7 +1656,7 @@ STR_CONFIG_SETTING_SMOOTH_SCROLLING :Павольн STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Кантралюе, што адбудзецца ў галоўным вакне, калі пстрыкнуць у малым вакне прагляду па нейкай кропцы. Калі ўключана, позірк будзе павольна перамяшчацца па мапе ў галоўным вакне. Калі выключана — экран адразу прыгне ў вызначанае месца. STR_CONFIG_SETTING_MEASURE_TOOLTIP :Паказваць замеры пры будаўніцтве: {STRING} STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT :Паказваць адлегласьць у клетках і розьніцу ў вышынях, калі нешта будуецца "працяжкай" (з націснутай кнопкай мышы). -STR_CONFIG_SETTING_LIVERIES :Паказваць індывідуальныя афарбоўкі транспарту (два фірмовыя колеры): {STRING} +STR_CONFIG_SETTING_LIVERIES :Паказваць індывідуальную афарбоўку транспарта: {STRING} STR_CONFIG_SETTING_LIVERIES_HELPTEXT :Ўжываньне спэцыфічных афарбовак (ліўрэй) для канкрэтнага тыпу транспартных сродкаў (у адрозьненьне ад фірмовага колеру ўсёй кампаніі). STR_CONFIG_SETTING_LIVERIES_NONE :не STR_CONFIG_SETTING_LIVERIES_OWN :толькі для сваёй кампаніі @@ -1649,17 +1686,15 @@ 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_AUTOSAVE :Аўтазахаваньні: {STRING} +STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Азначце інтэрвал паміж аўтаматычнымі захаваньнямі + STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Выкарыстоўваць {STRING} фармат даты для імёнаў захаваньняў STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Фармат даты ў назвах захаваных гульняў. STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :доўгі (31-е Сту 2008 г.) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :кароткі (31-01-2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-01-31) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE :Калі ў NewGRF ня вызначана палітра, выкарыстоўваць: {STRING} -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_HELPTEXT :Палітра ґрафічных набораў (NewGRF), якая ўжываецца па змоўчаньні, калі ня вызначана ў самім наборы. -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_DOS :Палітра па змоўчаньні (DOS) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_WIN :Састарэлы фармат палітры (Win) - STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Аўтаматычнае ўключэньне паўзы напачатку гульні: {STRING} STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :Калі ўключана, распачатая гульня будзе аўтаматычна стаяць на паўзе, дазваляючы блізкае вывучэньне мапы. STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Падчас паўзы дазволіць: {STRING} @@ -1668,7 +1703,7 @@ STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :нiчога STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :усе дзеяньні, акрамя будаўніцтва STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :усе дзеяньнi, акрамя зьмяненьня ляндшафту STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_ACTIONS :усе дзеяньнi -STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Выкарыстоўваць пашыраны сьпіс транспорту: {STRING} +STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Паказваць групы ў сьпісе транспарта: {STRING} STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Дазволіць ужываньне пашыранага сьпісу транспартных сродкаў для групаваньня. STR_CONFIG_SETTING_LOADING_INDICATORS :Паказваць індыкатар загрузкі: {STRING} STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Выбраць, ці будуць паказвацца індыкатары загрузкі над транспартам, які грузіцца ці разгружаецца. @@ -1683,7 +1718,7 @@ STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_HELPTEXT :Тып чыгу STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_FIRST :першыя даступныя STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_LAST :апошнія даступныя STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_MOST_USED :найбольш ужывальныя -STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :Паказваць каляіны, якія зарэзэрваваў цягнік: {STRING} +STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :Паказваць зарэзерваваныя каляiны: {STRING} STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION_HELPTEXT :Зарэзэрваваныя рэйкі будуць мець адрозны колер. Дапамагае вырашыць праблему, калі цягнік адмаўляецца заехаць у блёк з маршрутнымі сьветлафорамі. STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Захоўваць актыўнымі інструмэнты будаўніцтва пасьля ўжываньня: {STRING} STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Захаваць будаўнічыя інструмэнты для мастоў, тунэляў і г.д. пасля выкарыстаньня. @@ -1742,7 +1777,7 @@ STR_CONFIG_SETTING_SERVINT_ISPERCENT :Інтэрва STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Выбраць, ці залежыць абслугоўваньне транспарту ад даты апошняга абслугоўваньня або ад падзеньня надзейнасьці на пэўны адсотак ад максымальнай. STR_CONFIG_SETTING_SERVINT_TRAINS :Iнтэрвал абслугоўваньня для цягнiкоў: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Усталяваць міжсэрвісны інтэрвал для новых чыгуначных транспартных сродкаў, калі пэўны інтэрвал ня вызначаны для канкрэтнага цягніка. -STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA} д{P зень днi дзён}/% +STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}д{P зень днi дзён}/% STR_CONFIG_SETTING_SERVINT_DISABLED :адключана STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES :Iнтэрвал абслугоўваньня для аўтатранспарту: {STRING} STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES_HELPTEXT :Усталяваць міжсэрвісны інтэрвал для новага аўтатранспарту, калі пэўны інтэрвал ня вызначаны для канкрэтнай машыны. @@ -1833,7 +1868,7 @@ STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT :Дазволі STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :Гарадам дазволена будаваць чыгуначныя пераезды: {STRING} STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Уключэньне гэтай наладкі дазваляе гарадам будаваць чыгуначная пераезды. STR_CONFIG_SETTING_NOISE_LEVEL :Гарадам дазволена кантраляваць узровень шуму ад аэрапортаў: {STRING} -STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Калі гэта наладка адключаная, у кожным населеным пунце можа быць толькі два аэрапорта. Калі ўключаная — колькасьць аэрапортаў абмяжуецца ўзроўнем шума, які дапускае горад. Гэта, у сваю чаргу, залежыць ад колькасьці насельніцтва, памераў аэрапортаў і адлегласьці да іх. +STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Пры выключанай наладцы колькасьць аэрапортаў абмежавана дзвюма на кожны горад. Пры ўключанай - адміністрацыя горада абмяжоўвае толькі ўзровень дапушчальнага шуму (ён залежыць ад колькасці жыхароў). Узровень шуму, вырабленага аэрапортам, залежыць ад яго тыпу і адлегласьці ад цэнтра горада. STR_CONFIG_SETTING_TOWN_FOUNDING :Заснаваньне гарадоў у гульні: {STRING} STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Уключэньне гэтай наладкі дазваляе гульцам фундаваць новыя населеныя пункты падчас гульні. STR_CONFIG_SETTING_TOWN_FOUNDING_FORBIDDEN :забаронена @@ -1881,12 +1916,10 @@ STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 з {COMMA} STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :нiводнае STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Першапачатковы множнік памеру населенага пункта: {STRING} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Адносная колькасьць гарадоў у параўнаньні з мястэчкамі на пачатку гульні. -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :Выдаляць абсурдныя элемэнты падчас дарожнага будаўніцтва: {STRING} -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD_HELPTEXT :Выдаляць "мёртвыя" канцы дарогаў, якія ўтварыліся пасля рэканструкцыі вуліц. -STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Абнаўляць ґраф размеркаваньня раз у {STRING} д{P 0:2 зень ні зён} +STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Абнаўляць ґраф размеркаваньня раз у {STRING}{NBSP}д{P 0:2 зень ні зён} STR_CONFIG_SETTING_LINKGRAPH_INTERVAL_HELPTEXT :Перыяд пераразьліку ґрафаў размеркаваньня. У кожным цыкле разьлічваецца не ґраф цалкам, а толькі адзін зь яго кампанэнтаў. Чым менш гэта значэньне, тым больш будзе нагрузка на працэсар. Чым больш значэньне, тым больш часу пройдзе перад пачаткам разьліку ґрафаў для новых маршрутаў. -STR_CONFIG_SETTING_LINKGRAPH_TIME :Пералічваць ґраф разьмеркаваньня раз у {STRING} д{P 0:2 зень ні зён} +STR_CONFIG_SETTING_LINKGRAPH_TIME :Пералічваць ґраф разьмеркаваньня раз у {STRING}{NBSP}д{P 0:2 зень ні зён} STR_CONFIG_SETTING_LINKGRAPH_TIME_HELPTEXT :Час, адведзены для пераразьліку кампанэнтаў ґрафа. Разьлік запускаецца асобным патокам і працягваецца на працягу паказанай колькасьці гульнявых дзён. Калі значэньне будзе надта малым, то, магчыма, разьлік не пасьпее завяршыцца, і гульня будзе чакаць завяршэньня (гэта прывядзе да затрымак). Пры вялікіх значэньнях ґрафы размеркаваньня будуць павольней абнаўляцца пры зьменах маршрутаў. STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :уручную STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :несымэтрычнае @@ -1896,7 +1929,7 @@ STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :«Сымэтр STR_CONFIG_SETTING_DISTRIBUTION_MAIL :Разьмеркаваньне пошты: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :«Сымэтрычнае» азначае, што прыкладна аднолькавая колькасьць пошты будзе накіроўвацца па прамым і зваротным маршрутам.{}«Несымэтрычнае» азначае, што аб'ёмы пошты ў любых кірунках не будуць залежаць адзін ад аднаго.{}«Уручную» — не выкарыстоўваць аўтаматычнае разьмеркаваньне для пошты. STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Разьмеркаваньне каштоўных грузаў: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :Каштоўныя грузы — гэта каштоўнасьці, алмазы й золата. Модулі NewGRF могуць зьмяніць вызначэньні грузаў.{}«Сымэтрычнае» азначае, што прыкладна аднолькавая колькасьць грузу будзе накіроўвацца па прамым і зваротным маршрутам.{}«Несымэтрычнае» азначае, што аб'ёмы грузаў у любых кірунках не будуць залежаць адзін ад аднаго.{}«Уручную» — не выкарыстоўваць аўтаматычнае разьмеркаваньне грузаў.{}На субарктычных мапах рэкамендуецца ўсталяваць несымэтрычнае ці ручное разьмеркаваньне, бо банкі не вяртаюць золата ў шахты. Ва ўмераным ці субтрапічным клімаце можна ўсталяваць сымэтрычнае разьмеркаваньне, бо банкі абменьваюцца каштоўнасьцямі паміж сабой. +STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :Каштоўныя грузы - гэта каштоўнасьці, алмазы й золата. Модулі NewGRF могуць змяніць вызначэньні грузаў.{}«Сыметрычнае» азначае, што прыкладна аднолькавая колькасьць грузу будзе накіроўвацца па прамым і зваротным маршрутам.{}«Несыметрычнае» азначае, што аб'ёмы грузаў у любых кірунках ня будуць залежаць адзін ад аднаго.{}«Уручную» - не выкарыстоўваць аўтаматычнае размеркаваньне грузаў.{}На субарктычных мапах рэкамендуецца ўсталяваць несіметрычнае ці ручное разьмеркаваньне, бо банкі не вяртаюць золата ў шахты. Ва ўмераным ці субтрапічным клімаце можна ўсталяваць сіметрычнае разьмеркаваньне, бо банкі абменьваюцца каштоўнасьцямі паміж сабой. STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Разьмеркаваньне іншых грузаў: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :«Несымэтрычнае» азначае, што выпадковыя аб'ёмы грузаў могуць быць адпраўлены ў любых кірунках.{}«Уручную» азначае, што ніякага аўтаматычнага разьмеркаваньня для гэтых грузаў ня будзе. STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Дакладнасьць разьмеркаваньня: {STRING} @@ -1921,50 +1954,52 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_METRIC :мэтрычн STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_SI :СІ (кВт) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT :Сыстэма адзінак для масы: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_HELPTEXT :Паказваць велічыні масы ў абранай сыстэме адзінак +STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_HELPTEXT :Паказваць значэньні масы ў абранай сыстэме адзінак STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_IMPERIAL :ангельская (малая тона) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_METRIC :мэтрычная (т) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_SI :СІ (кг) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME :Сыстэма адзінак для аб'ёму: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_HELPTEXT :Паказваць значэньні аб'ёму ў выбранай сыстэме адзінак +STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_HELPTEXT :Паказваць значэньні аб'ёму ў абранай сыстэме адзінак STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_IMPERIAL :ангельская (галон) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_METRIC :мэтрычная (л) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_SI :СІ (m³) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE :Сыстэма адзінак для цягавага намаганьня: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_HELPTEXT :Паказваць значэньні цягавага намаганьня ў выбранай сыстэме адзінак +STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_HELPTEXT :Паказваць значэньні цягавага намаганьня ў абранай сыстэме адзінак STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_IMPERIAL :ангельская (фунт-сіла) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_METRIC :мэтрычная (кгс) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_SI :СІ (кН) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT :Сыстэма адзінак для вышыні: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT :Паказваць значэньні вышыні ў выбранай сыстэме адзінак +STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT :Паказваць значэньні вышыні ў абранай сыстэме адзінак STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :ангельская (фут) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :мэтрычная (м) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :СІ (м) -STR_CONFIG_SETTING_GUI :{ORANGE}Інтэрфэйс STR_CONFIG_SETTING_LOCALISATION :{ORANGE}Лакалізацыя -STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}Будаўніцтва -STR_CONFIG_SETTING_VEHICLES :{ORANGE}Транспарт -STR_CONFIG_SETTING_STATIONS :{ORANGE}Станцыі -STR_CONFIG_SETTING_ECONOMY :{ORANGE}Эканоміка -STR_CONFIG_SETTING_LINKGRAPH :{ORANGE}Разьмеркаваньне грузаў -STR_CONFIG_SETTING_AI :{ORANGE}Канкурэнты -STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}Наладкі відарысу -STR_CONFIG_SETTING_INTERACTION :{ORANGE}Узаемадзеяньне +STR_CONFIG_SETTING_GRAPHICS :{ORANGE}Графіка STR_CONFIG_SETTING_SOUND :{ORANGE}Гукавыя эфэкты -STR_CONFIG_SETTING_NEWS :{ORANGE}Навіны й паведамленьні -STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}Сыґналы -STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE}Перамяшчэньне грузаў -STR_CONFIG_SETTING_AI_NPC :{ORANGE}Кампутарныя гульцы -STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE}Аўтаабнаўленьне -STR_CONFIG_SETTING_VEHICLES_SERVICING :{ORANGE}Абслугоўваньне +STR_CONFIG_SETTING_INTERFACE :{ORANGE}Інтэрфэйс +STR_CONFIG_SETTING_INTERFACE_GENERAL :{ORANGE}Агульныя наладкі +STR_CONFIG_SETTING_INTERFACE_VIEWPORTS :{ORANGE}Вокны прагляду +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Будаўніцтва +STR_CONFIG_SETTING_ADVISORS :{ORANGE}Навіны і інфармацыя +STR_CONFIG_SETTING_COMPANY :{ORANGE}Кампанія +STR_CONFIG_SETTING_ACCOUNTING :{ORANGE}Фінансы +STR_CONFIG_SETTING_VEHICLES :{ORANGE}Транспарт +STR_CONFIG_SETTING_VEHICLES_PHYSICS :{ORANGE}Фізічная мадэль STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Маршруты -STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}Цягнікі -STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}Населеныя пункты -STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}Прамысловасьць +STR_CONFIG_SETTING_LIMITATIONS :{ORANGE}Абмежаваньні +STR_CONFIG_SETTING_ACCIDENTS :{ORANGE}Аварыі і катастрофы +STR_CONFIG_SETTING_GENWORLD :{ORANGE}Стварэньне мапы +STR_CONFIG_SETTING_ENVIRONMENT :{ORANGE}Навакольнае асяроддзе +STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :{ORANGE}Гарадская адміністрацыя +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Населеныя пункты +STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}Прамысловасьць +STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :{ORANGE}Разьмеркаваньне грузаў +STR_CONFIG_SETTING_AI :{ORANGE}Канкурэнты +STR_CONFIG_SETTING_AI_NPC :{ORANGE}Кампутарныя гульцы STR_CONFIG_SETTING_PATHFINDER_OPF :арыґінальны STR_CONFIG_SETTING_PATHFINDER_NPF :NPF @@ -2013,7 +2048,7 @@ STR_INTRO_MULTIPLAYER :{BLACK}Сетк STR_INTRO_GAME_OPTIONS :{BLACK}Наладкі гульні STR_INTRO_HIGHSCORE :{BLACK}Табліца рэкордаў -STR_INTRO_ADVANCED_SETTINGS :{BLACK}Пашыраныя наладкі +STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Наладкі STR_INTRO_NEWGRF_SETTINGS :{BLACK}Наладкi NewGRF STR_INTRO_ONLINE_CONTENT :{BLACK}Праверыць анлайн-кантэнт STR_INTRO_SCRIPT_SETTINGS :{BLACK}Наладкі ШІ / скрыпту @@ -2033,7 +2068,7 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Выбр STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Паказаць наладкі гульні STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Паказаць табліцу рэкордаў -STR_INTRO_TOOLTIP_ADVANCED_SETTINGS :{BLACK}Паказаць пашыраныя наладкі +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Акно наладак STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Паказаць наладкі NewGRF STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Праверыць новы й абноўлены кантэнт, каб спампаваць STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Зьмяніць наладкі ШІ ды гульнёвага скрыпту @@ -2073,6 +2108,8 @@ STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Гул STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Чароўны дынамiт (знос УСЯГО): {ORANGE}{STRING} STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}Тунэлi могуць перасякацца: {ORANGE}{STRING} STR_CHEAT_NO_JETCRASH :{LTBLUE}Вялікія самалёты радзей разьбіваюцца ў малых аэрапортах: {ORANGE}{STRING} +STR_CHEAT_EDIT_MAX_HL :{LTBLUE}Зьмяніць макс. вышыню мапы: {ORANGE}{NUM} +STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Зьмяніць максімальную вышыню гор на мапе STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE :умераны ляндшафт STR_CHEAT_SWITCH_CLIMATE_SUB_ARCTIC_LANDSCAPE :субарктычны ляндшафт STR_CHEAT_SWITCH_CLIMATE_SUB_TROPICAL_LANDSCAPE :субтрапічны ляндшафт @@ -2121,6 +2158,7 @@ STR_LIVERY_FREIGHT_TRAM :Грузавы STR_FACE_CAPTION :{WHITE}Выбар твару STR_FACE_CANCEL_TOOLTIP :{BLACK}Скасаваць выбар новага твару STR_FACE_OK_TOOLTIP :{BLACK}Прыняць выбар новага твару +STR_FACE_RANDOM :{BLACK}Выпадковая STR_FACE_MALE_BUTTON :{BLACK}Мужчынскі STR_FACE_MALE_TOOLTIP :{BLACK}Выбар мужчынскіх твараў @@ -2241,10 +2279,10 @@ STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}Абар STR_NETWORK_START_SERVER_UNADVERTISED :Не STR_NETWORK_START_SERVER_ADVERTISED :Так STR_NETWORK_START_SERVER_CLIENTS_SELECT :{BLACK}{NUM} клiент{P "" ы аў} -STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Макс. клiентаў: +STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Макс. колькасьць клiентаў: STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS_TOOLTIP :{BLACK}Выбар максымальнай колькасьці кліентаў. Ня ўсе месцы павінны быць занятыя STR_NETWORK_START_SERVER_COMPANIES_SELECT :{BLACK}{NUM} кампанi{P я i яў} -STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}Макс. кампанiяў: +STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}Макс. колькасьць кампанiяў: STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES_TOOLTIP :{BLACK}Абмежаваць максымальную колькасьць кампаніяў на сэрвэры STR_NETWORK_START_SERVER_SPECTATORS_SELECT :{BLACK}{NUM} назіральнік{P "" i аў} STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS :{BLACK}Макс. назіральнiкаў: @@ -2606,7 +2644,7 @@ STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Буда STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Будаўніцтва дэпо (для пакупак і абслугоўваньня цягнікоў). Пры націснутым Shift — ацэнка кошту будаўніцтва. STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Усталяваць на рэйках пункт шляху. Націсьненьне Ctrl дазваляе аб'ядноўваць пункты шляху. Пры націснутым Shift — ацэнка кошту будаўніцтва. STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Будаўніцтва чыгуначных станцыяў. Націсьненьне Ctrl дазваляе аб'ядноўваць станцыі. Пры націснутым Shift — ацэнка кошту будаўніцтва. -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Усталяваць чыгуначныя сыґналы. Націсьненьне Ctrl пераключае сэмафоры/сьветлафоры.{}Цяганьнем можна будаваць сыґналы на прамым участку каляіны. Ctrl будуе сыґналы да бліжэйшага скрыжаваньня. {}Ctrl+клік пераключае адкрыцьцё мэню выбару сыґналаў. Пры націснутым Shift — ацэнка кошту будаўніцтва. +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Усталёўка сыгналаў. Ctrl пераключае семафоры/святлафоры.{}Перацягваньнем можна будаваць сыгналы на прамым участку шляху. З націснутым Ctrl - будаўніцтва сыгналаў да найблізкага скрыжаваньня ці сыгналу.{}Ctrl+пстрычка пераключае адкрыццё акна выбару сыгналаў. Пры націснутым Shift - ацэнка кошту будаўніцтва. STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Будаўніцтва чыгуначных мастоў. Пры націснутым Shift — ацэнка кошту будаўніцтва. STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Будаўніцтва чыгуначных тунэляў. Пры націснутым Shift — ацэнка кошту будаўніцтва. STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Пераключэньне паміж будаўніцтвам і выдаленьнем чыгуначных рэйкаў, сыґналаў, станцыяў. Пры націснутым Ctrl станцыі ліквідуюцца разам з рэйкамі. @@ -2982,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–2014 Каманда распрацоўнікаў OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002–2015 Каманда распрацоўнікаў OpenTTD # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Захаваць гульню @@ -3017,13 +3055,12 @@ STR_MAPGEN_BY :{BLACK}* STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Колькасьць гарадоў: STR_MAPGEN_DATE :{BLACK}Дата: STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Колькасьць прадпрыемстваў: +STR_MAPGEN_MAX_HEIGHTLEVEL :{BLACK}Макс. вышыня мапы: +STR_MAPGEN_MAX_HEIGHTLEVEL_UP :{BLACK}Павялічыць максімальную вышыню мапы на 1 +STR_MAPGEN_MAX_HEIGHTLEVEL_DOWN :{BLACK}Паменшыць максімальную вышыню мапы на 1 STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}Вышыня сьнегавой лініі: STR_MAPGEN_SNOW_LINE_UP :{BLACK}Падняць сьнегавую лінію STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}Апусьціць сьнегавую лінію -STR_MAPGEN_RANDOM_SEED :{BLACK}Выпадковая лічба: -STR_MAPGEN_RANDOM_SEED_HELP :{BLACK}Пстрыкніце тут, каб увесьці адвольную пачатковую лічбу. Ляндшафт ствараецца псэўдавыпадкова, лічба — апорная кропка ў пасьлядоўнасьці выпадковых лічбаў. -STR_MAPGEN_RANDOM :{BLACK}Выпадковая -STR_MAPGEN_RANDOM_HELP :{BLACK}Зьмяніць выпадковую лічбу, якую выкарыстоўвае ґенэратар ляндшафту STR_MAPGEN_LAND_GENERATOR :{BLACK}Ґенэратар ляндшафту: STR_MAPGEN_TREE_PLACER :{BLACK}Альґарытм дрэваў: STR_MAPGEN_TERRAIN_TYPE :{BLACK}Тып ляндшафту: @@ -3050,7 +3087,7 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Назв STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Памер: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} * {NUM} -STR_MAPGEN_RANDOM_SEED_OSKTITLE :{BLACK}Увядзіце выпадковую лiчбу +STR_MAPGEN_MAX_HEIGHTLEVEL_QUERY_CAPT :{WHITE}Максімальная вышыня мапы STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}Зьмяніць вышыню сьнегавой лініі STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Зьмяніць год пачатку гульні @@ -3105,6 +3142,8 @@ STR_NEWGRF_SETTINGS_MOVEUP :{BLACK}Увер STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP :{BLACK}Перамясьціць выбраны файл NewGRF вышэй STR_NEWGRF_SETTINGS_MOVEDOWN :{BLACK}Уніз STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP :{BLACK}Перамясьціць выбраны файл NewGRF ніжэй +STR_NEWGRF_SETTINGS_UPGRADE :{BLACK}Абнавіць +STR_NEWGRF_SETTINGS_UPGRADE_TOOLTIP :{BLACK}Абнавіць файлы модуляў NewGRF, калі ёсць такая магчымасьць STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}Сьпіс устаноўленых файлаў NewGRF. STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}Усталяваць парамэтры @@ -3129,6 +3168,16 @@ STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Файл STR_NEWGRF_SETTINGS_DISABLED :{RED}Адключана STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Несумяшчальна з дадзенай вэрсіяй OpenTTD +# NewGRF save preset window +STR_SAVE_PRESET_CAPTION :{WHITE}Захаванне набору +STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK}Сьпіс даступных набораў. Выберыце адзін з іх, каб скапіяваць яго назву ў радок імя. +STR_SAVE_PRESET_TITLE :{BLACK}Увядзіце імя набору +STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}Бягучае імя для захаваньня набору +STR_SAVE_PRESET_CANCEL :{BLACK}Адмена +STR_SAVE_PRESET_CANCEL_TOOLTIP :{BLACK}Не рабіць ніякіх змен +STR_SAVE_PRESET_SAVE :{BLACK}Захаваць +STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}Захаваць набор пад выбраным імем + # NewGRF parameters window STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Зьмяніць парамэтры NewGRF STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Закрыць @@ -3152,14 +3201,17 @@ STR_NEWGRF_INSPECT_QUERY_CAPTION :{WHITE}Пара # Sprite aligner window STR_SPRITE_ALIGNER_CAPTION :{WHITE}Выраўноўваньне спрайта {COMMA} ({STRING}) STR_SPRITE_ALIGNER_NEXT_BUTTON :{BLACK}Наступны спрайт -STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Перайсьці да наступнага нармальнага спрайта, прапускаючы псэўдаспрайты, а таксама зьмяненьнi колеру/шрыфтавыя. +STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Перайсьці да наступнага звычайнага спрайта, прапускаючы змяняючыя колер, шрыфтавыя, псэўдаспрайты. Пераход з канца сьпісу да першага спрайта. STR_SPRITE_ALIGNER_GOTO_BUTTON :{BLACK}Перайсьці да спрайта STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}Перайсьці да зададзеных спрайту. Калі спрайт не нармальны, пераход адбудзецца да наступнага нармальнага. STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Папярэдні спрайт -STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Перайсьці да папярэдняга нармальнага спрайту, прапускаючы псэўдаспрайты, а таксама зьмяненьнi колеру/шрыфтавыя. +STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Перайсьці да папярэдняга звычайнага спрайта, прапускаючы змяняючыя колер, шрыфтавыя, псэўдаспрайты. Пераход з пачатку сьпісу да апошняга спрайта. STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Прадстаўленьне выбранага спрайта. Выраўноўваньне не ўлічваецца пры прарысоўцы гэтага спрайта. STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Рухайце спрайт, зьмяняючы зрушэньне па X і па Y -STR_SPRITE_ALIGNER_OFFSETS :{BLACK}Зрушэньне па X: {NUM}, зрушэньне па Y: {NUM} +STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Скід зрушэння +STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Скінуць значэнні адноснага зрушэння +STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}Зрушэнне X: {NUM}; зрушэнне Y: {NUM} (абсалютнае) +STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}Зрушэнне X: {NUM}; зрушэнне Y: {NUM} (адноснае) STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Выбраць спрайт STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Абярыце любы спрайт на экране @@ -3271,8 +3323,8 @@ STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} дастаўлена STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (недастаткова) STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (дастаткова) -STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Горад расьце раз у {ORANGE}{COMMA}{BLACK} д{P зень нi зён} -STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Горад расьце раз у {ORANGE}{COMMA}{BLACK} д{P зень нi зён} (прафінансавана) +STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Горад расьце раз у {ORANGE}{COMMA}{BLACK}{NBSP}д{P зень нi зён} +STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Горад расьце раз у {ORANGE}{COMMA}{BLACK}{NBSP}д{P зень нi зён} (прафінансавана) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}Горад {RED}не{BLACK} разьвіваецца STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Узровень шуму ў горадзе: {ORANGE}{COMMA}{BLACK} Макс: {ORANGE}{COMMA} STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Паказаць горад у асноўным вакне. Ctrl+клік — паказаць у дадатковым вакне. @@ -3332,7 +3384,7 @@ STR_GOAL_QUESTION_CAPTION_INFORMATION :Інфарма STR_GOAL_QUESTION_CAPTION_WARNING :Папярэджаньне STR_GOAL_QUESTION_CAPTION_ERROR :Памылка -### Start of Goal Question button list +############ Start of Goal Question button list STR_GOAL_QUESTION_BUTTON_CANCEL :Адмова STR_GOAL_QUESTION_BUTTON_OK :Так STR_GOAL_QUESTION_BUTTON_NO :Не @@ -3351,6 +3403,7 @@ STR_GOAL_QUESTION_BUTTON_RESTART :Пачаць і STR_GOAL_QUESTION_BUTTON_POSTPONE :Адкласьцi STR_GOAL_QUESTION_BUTTON_SURRENDER :Здацца STR_GOAL_QUESTION_BUTTON_CLOSE :Закрыць +############ End of Goal Question button list # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}Субсыдыі: @@ -3386,7 +3439,6 @@ STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}На с # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} -STR_STATION_VIEW_WAITING_TITLE :{BLACK}Чакае: {WHITE}{STRING} STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} транзітам з {STATION}) STR_STATION_VIEW_RESERVED :{YELLOW}({CARGO_SHORT} зарэзэрвавана для грузу) @@ -3676,10 +3728,10 @@ STR_PURCHASE_INFO_ALL_BUT :Усё, акр STR_PURCHASE_INFO_MAX_TE :{BLACK}Макс. цягавае намаганьне: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Далёкасьць: {GOLD}{COMMA} клет{P ка кi ак} -STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Выбар ваґонаў: клікніце для даведкі -STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Сьпiс аўтатранспарту: націсьніце для атрыманьня даведкі -STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Сьпiс караблёў: націсьніце для атрыманьня даведкі -STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Сьпіс паветраных судоў: пстрыкніце для атрыманьня інфармацыі +STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Сьпіс лакаматываў і вагонаў - пстрыкніце для атрыманьня інфармацыі. Ctrl+пстрычка схавае/пакажа ТС. +STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Сьпіс аўтатранспарту - пстрыкніце для атрыманьня інфармацыі. Ctrl+пстрычка схавае/пакажа выбраны аўтамабіль. +STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Сьпіс караблёў - пстрыкніце для атрыманьня інфармацыі. Ctrl+пстрычка схавае/пакажа выбраны карабель. +STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Сьпіс паветраных судоў: пстрыкніце для атрыманьня інфармацыі. Ctrl+пстрычка схавае/пакажа ТС. STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}Купіць STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Купіць @@ -3701,6 +3753,21 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Зьмя STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Зьмяніць назву мадэлі карабля STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Зьмяніць назву мадэлі паветр. судна +STR_BUY_VEHICLE_TRAIN_HIDE_TOGGLE_BUTTON :{BLACK}Схаваць +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_TOGGLE_BUTTON :{BLACK}Схаваць +STR_BUY_VEHICLE_SHIP_HIDE_TOGGLE_BUTTON :{BLACK}Схаваць +STR_BUY_VEHICLE_AIRCRAFT_HIDE_TOGGLE_BUTTON :{BLACK}Схаваць + +STR_BUY_VEHICLE_TRAIN_SHOW_TOGGLE_BUTTON :{BLACK}Паказаць +STR_BUY_VEHICLE_ROAD_VEHICLE_SHOW_TOGGLE_BUTTON :{BLACK}Паказаць +STR_BUY_VEHICLE_SHIP_SHOW_TOGGLE_BUTTON :{BLACK}Паказаць +STR_BUY_VEHICLE_AIRCRAFT_SHOW_TOGGLE_BUTTON :{BLACK}Паказаць + +STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Пераключыць скрываньне/адлюстраваньне выбранага лакаматыва/вагона +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Пераключыць скрываньне/адлюстраваньне выбранай мадэлі аўтамабіля +STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Пераключыць скрываньне/адлюстраваньне выбранай мадэлі карабля +STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Пераключыць скрываньне/адлюстраваньне выбранай мадэлі паветранага судна + STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}Назва мадэлі цягнiка STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}Назва мадэлі аўтамабiля STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}Назва мадэлі карабля @@ -3754,7 +3821,7 @@ STR_DEPOT_CLONE_ROAD_VEHICLE :{BLACK}Капі STR_DEPOT_CLONE_SHIP :{BLACK}Капіяваць карабель STR_DEPOT_CLONE_AIRCRAFT :{BLACK}Капіяваць авіятранспарт -STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Стварыць копію састава. Націсьніце на кнопку, а затым на цягнік унутры ці звонку дэпо. Ctrl+пстрычка створыць цягнік з агульнымі заданьнямі. Shift+пстрычка — ацэнка кошту набыцьця. +STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Стварыць копію састава. Націсьніце на кнопку, а затым на цягнік усярэдзіне ці знадворку дэпо. Ctrl+пстрычка створыць цягнік з агульным маршрутам. Shift+пстрычка - ацэнка кошту куплі. STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Стварыць копію аўтамабіля. Націсьніце на кнопку, а затым на машыну ўнутры ці звонку гаража. Ctrl+пстрычка створыць аўтамабіль з агульнымі заданьнямі. Shift+пстрычка — ацэнка кошту набыцьця. STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Стварыць копію карабля. Націсьніце на кнопку, а затым на карабель унутры ці звонку дока. Ctrl+пстрычка створыць карабель з агульнымі заданьнямі. Shift+пстрычка — ацэнка кошту набыцьця. STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Стварыць копію паветр. судна. Націсьніце на кнопку, а потым на паветр. судна ўнутры ці звонку анґара. Ctrl+пстрычка створыць копію з агульнымі заданьнямі. Shift+пстрычка — ацэнка кошту набыцьця. @@ -3825,6 +3892,11 @@ STR_REPLACE_VEHICLE_AIRCRAFT :{G=m}Павет STR_REPLACE_VEHICLE_AIRCRAFT.gen :паветранага транспарту STR_REPLACE_VEHICLE_AIRCRAFT.acc :паветраны транспарт +STR_REPLACE_VEHICLE_VEHICLES_IN_USE :{YELLOW}Наяўныя ТС +STR_REPLACE_VEHICLE_VEHICLES_IN_USE_TOOLTIP :{BLACK}Тут пералічаны мадэлі выкарыстоўваемых транспартных сродкаў +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES :{YELLOW}Даступныя ТС +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES_TOOLTIP :{BLACK}Тут пералічаны мадэлі транспартных сродкаў, даступныя для замены + STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Выбар тыпу транспарту для замены STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Выбар тыпу транспарту, на які варта замяніць @@ -3949,7 +4021,7 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Ёмiс STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Выручка перавозкі: {LTBLUE}{CURRENCY_LONG} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Агляд кожныя {LTBLUE}{COMMA} дзён{BLACK} Апошнi раз: {LTBLUE}{DATE_LONG} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Агляд кожныя {LTBLUE}{COMMA}{NBSP}дзён{BLACK} Апошнi раз: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Агляд кожныя {LTBLUE}{COMMA}%{BLACK} Апошнi раз: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Павялiчыць інтэрвал абслугоўваньня на 10. Ctrl+клік — павялічыць інтэрвал абслугоўваньня на 5. STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Зьменшыць інтэрвал абслугоўваньня на 10. Ctrl+клік — паменшыць інтэрвал абслугоўваньня на 5. @@ -4047,8 +4119,8 @@ STR_ORDER_TOOLTIP_UNLOAD :{BLACK}Зьмя STR_ORDER_REFIT :{BLACK}Пераабсталяваць STR_ORDER_REFIT_TOOLTIP :{BLACK}Выберыце тып грузу для пераабсталяваньня. Ctrl+клік — для выдаленьня заданьня. -STR_ORDER_REFIT_AUTO :{BLACK}Аўтаматычнае пераабсталяваньне -STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Выберыце груз для пераабсталяваньня ў гэтым заданьнi. Ctrl+Клiк — скасаваньне. Аўтаматычнае пераабсталяваньне адбудзецца, толькi калi транспарт гэта дазваляе +STR_ORDER_REFIT_AUTO :{BLACK}Пераабсталяваньне +STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Выберыце тып грузу для пераабсталяваньня. Яно будзе праведзена, калі ТС дазваляе гэта зрабіць. Ctrl+пстрычка адменіць пераабсталяваньне. STR_ORDER_DROP_REFIT_AUTO :Нязьменны груз STR_ORDER_DROP_REFIT_AUTO_ANY :Даступны груз @@ -4139,18 +4211,18 @@ STR_ORDER_NO_UNLOAD_FULL_LOAD :(Не разг STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY :(Не разгружацца й чакаць поўнай загрузкі любым грузам) STR_ORDER_NO_UNLOAD_NO_LOAD :(Не разгружацца й не грузіцца) -STR_ORDER_AUTO_REFIT :(Пераабсталяваньне для {STRING}) -STR_ORDER_FULL_LOAD_REFIT :(Поўная загрузка з пераабсталяваньнем для {STRING}) -STR_ORDER_FULL_LOAD_ANY_REFIT :(Поўная загрузка любым грузам з пераабсталяваньнем для {STRING}) -STR_ORDER_UNLOAD_REFIT :(Разгрузіць і забраць груз з пераабсталяваньнем для {STRING}) -STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(Разгрузіць і чакаць поўнай загрузкі з пераабсталяваньнем для {STRING}) -STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(Разгрузіць і чакаць любой поўнай загрузкі з пераабсталяваньнем для {STRING}) -STR_ORDER_TRANSFER_REFIT :(Перадаць i забраць груз з пераабсталяваньнем для {STRING}) -STR_ORDER_TRANSFER_FULL_LOAD_REFIT :(Перадаць i чакаць поўнай загрузкi з пераабсталяваньнем для {STRING}) -STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :(Перадаць i чакаць любой поўнай загрузкi з пераабсталяваньнем для {STRING}) -STR_ORDER_NO_UNLOAD_REFIT :(Не разгружацца й забраць груз з пераабсталяваньнем для {STRING}) -STR_ORDER_NO_UNLOAD_FULL_LOAD_REFIT :(Не разгружацца й чакаць поўнай загрузкi з пераабсталяваньнем для {STRING}) -STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY_REFIT :(Не разгружацца й чакаць любой поўнай загрузкi з пераабсталяваньнем для {STRING}) +STR_ORDER_AUTO_REFIT :(Пераабстал. пад {STRING.acc}) +STR_ORDER_FULL_LOAD_REFIT :(Пераабстал. пад {STRING.acc} і чакаць поўнай загрузкі) +STR_ORDER_FULL_LOAD_ANY_REFIT :(Пераабстал. пад {STRING.acc} і чакаць поўнай загрузкі любым грузам) +STR_ORDER_UNLOAD_REFIT :(Разгрузіцца, пераабстал. пад {STRING.acc} і забраць груз) +STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(Разгрузіцца, пераабстал. пад {STRING.acc} і чакаць поўнай загрузкі) +STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(Разгрузіцца, пераабстал. пад {STRING.acc} і чакаць поўнай загрузкі любым грузам) +STR_ORDER_TRANSFER_REFIT :(Перадаць, пераабстал. пад {STRING.acc} і забраць груз) +STR_ORDER_TRANSFER_FULL_LOAD_REFIT :(Перадаць, пераабстал. пад {STRING.acc} і чакаць поўнай загрузкі) +STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :(Перадаць, пераабстал. пад {STRING.acc} і чакаць поўнай загрузкі любым грузам) +STR_ORDER_NO_UNLOAD_REFIT :(Не разгружацца, пераабстал. пад {STRING.acc} і забраць груз) +STR_ORDER_NO_UNLOAD_FULL_LOAD_REFIT :(Не разгружацца, пераабстал. пад {STRING.acc} і чакаць поўнай загрузкі) +STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY_REFIT :(Не разгружацца, пераабстал. пад {STRING.acc} і чакаць поўнай загрузкі любым грузам) STR_ORDER_AUTO_REFIT_ANY :даступны груз @@ -4179,10 +4251,14 @@ STR_TIMETABLE_TRAVEL_NOT_TIMETABLED :Час у шл STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Рухацца не хутчэй за {2:VELOCITY} (расклад ня вызначаны) STR_TIMETABLE_TRAVEL_FOR :Час у шляху — {STRING} STR_TIMETABLE_TRAVEL_FOR_SPEED :Рухацца да {STRING} не хутчэй за {VELOCITY} +STR_TIMETABLE_TRAVEL_FOR_ESTIMATED :У дарозе прыкладна {STRING} (графік не складзены) +STR_TIMETABLE_TRAVEL_FOR_SPEED_ESTIMATED :Ісці прыкладна {STRING} з хуткасцю не больш за {VELOCITY} (графік не складзены) +STR_TIMETABLE_STAY_FOR_ESTIMATED :(чакаць {STRING}, графік не складзены) +STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(у дарозе {STRING}, графік не складзены) STR_TIMETABLE_STAY_FOR :і чакаць {STRING} STR_TIMETABLE_AND_TRAVEL_FOR :і рухацца да {STRING} -STR_TIMETABLE_DAYS :{COMMA} д{P зень нi зён} -STR_TIMETABLE_TICKS :{COMMA} цiк{P "" i аў} +STR_TIMETABLE_DAYS :{COMMA}{NBSP}д{P зень нi зён} +STR_TIMETABLE_TICKS :{COMMA}{NBSP}цiк{P "" i аў} STR_TIMETABLE_TOTAL_TIME :{BLACK}Увесь маршрут зойме {STRING} STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}Рух па маршруце зойме {STRING} (ня ўсё ўлічана) @@ -4420,6 +4496,7 @@ STR_ERROR_EXCAVATION_WOULD_DAMAGE :{WHITE}Земл STR_ERROR_ALREADY_AT_SEA_LEVEL :{WHITE}Ужо на ўзроўні мора STR_ERROR_TOO_HIGH :{WHITE}Занадта высока STR_ERROR_ALREADY_LEVELLED :{WHITE}... ужо роўна +STR_ERROR_BRIDGE_TOO_HIGH_AFTER_LOWER_LAND :{WHITE}Пасля гэтага вышыня моста будзе недапушчальна вялікай # Company related errors STR_ERROR_CAN_T_CHANGE_COMPANY_NAME :{WHITE}Немагчыма зьмяніць назву кампаніі... @@ -4446,7 +4523,7 @@ STR_ERROR_TOO_CLOSE_TO_EDGE_OF_MAP_SUB :{WHITE}... за STR_ERROR_TOO_CLOSE_TO_ANOTHER_TOWN :{WHITE}... занадта блізка да іншага горада STR_ERROR_TOO_MANY_TOWNS :{WHITE}... занадта шмат гарадоў STR_ERROR_NO_SPACE_FOR_TOWN :{WHITE}... няма месца на мапе -STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}Гарады ня будуць будаваць дарогі. Вы можаце ўключыць будаўніцтва дарог у мэню: Пашыр. наладкi->Эканоміка->Гарады. +STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}Гарады ня будуць будаваць дарогі самі. Вы можаце ўключыць будаўніцтва дарог у раздзеле «Наладкі -> Навак.{NBSP}асяроддзе -> Гарады». STR_ERROR_ROAD_WORKS_IN_PROGRESS :{WHITE}Ідуць дарожныя работы... STR_ERROR_TOWN_CAN_T_DELETE :{WHITE}Немагчыма зьнішчыць горад:{}да яго адносіцца станцыя або дэпо, альбо немагчыма ачысьціць адну з занятых ім клетак. STR_ERROR_STATUE_NO_SUITABLE_PLACE :{WHITE}... у цэнтры горада няма месца для статуі @@ -4470,6 +4547,9 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... ле STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... магчыма пабудаваць толькi вышэй за сьнегавую лiнiю STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... магчыма пабудаваць толькi нiжэй за сьнегавую лiнiю +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}Няма прыдатных месцаў для прамысловасьці "{STRING}" +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Змяніце наладкі стварэньня мапы для атрыманьня лепшай мапы + # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Тут немагчыма пабудаваць чыгуначную станцыю... STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}Тут немагчыма пабудаваць аўтобусны прыпынак... @@ -4606,6 +4686,7 @@ STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Спач STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}Ня можа пачынацца й заканчвацца ў той жа кропцы STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}Апоры моста павінны быць на адным узроўні STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}Занадта нізкі мост +STR_ERROR_BRIDGE_TOO_HIGH_FOR_TERRAIN :{WHITE}Масты такой вышыні будаваць нельга. STR_ERROR_START_AND_END_MUST_BE_IN :{WHITE}Пачатак і канец павінны быць на адной лініі STR_ERROR_ENDS_OF_BRIDGE_MUST_BOTH :{WHITE}... абодва канца моста павінны абапірацца на зямлю STR_ERROR_BRIDGE_TOO_LONG :{WHITE}... мост занадта доўгі @@ -5290,6 +5371,7 @@ STR_COMPANY_NAME :{COMPANY} STR_COMPANY_NAME_COMPANY_NUM :{COMPANY} {COMPANY_NUM} STR_DEPOT_NAME :{DEPOT} STR_ENGINE_NAME :{ENGINE} +STR_HIDDEN_ENGINE_NAME :{ENGINE} (схаван{G 0 "ы" "а" "а" "ыя"}) STR_GROUP_NAME :{GROUP} STR_INDUSTRY_NAME :{INDUSTRY} STR_PRESIDENT_NAME :{PRESIDENT_NAME} @@ -5325,8 +5407,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -5337,9 +5417,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/brazilian_portuguese.txt b/src/lang/brazilian_portuguese.txt index dec67ffb42..166eb32283 100644 --- a/src/lang/brazilian_portuguese.txt +++ b/src/lang/brazilian_portuguese.txt @@ -33,7 +33,7 @@ STR_CARGO_PLURAL_COAL :{G=m}Carvão STR_CARGO_PLURAL_MAIL :{G=f}Correspondências STR_CARGO_PLURAL_OIL :{G=m}Petróleo STR_CARGO_PLURAL_LIVESTOCK :{G=m}Gado -STR_CARGO_PLURAL_GOODS :{G=f}Mercadorias +STR_CARGO_PLURAL_GOODS :{G=f}Bens STR_CARGO_PLURAL_GRAIN :{G=m}Cereais STR_CARGO_PLURAL_WOOD :{G=f}Madeira STR_CARGO_PLURAL_IRON_ORE :{G=m}Minério de Ferro @@ -67,7 +67,7 @@ STR_CARGO_SINGULAR_COAL :{G=m}Carvão STR_CARGO_SINGULAR_MAIL :{G=f}Correspondência STR_CARGO_SINGULAR_OIL :{G=m}Petróleo STR_CARGO_SINGULAR_LIVESTOCK :{G=m}Gado -STR_CARGO_SINGULAR_GOODS :{G=m}Mercadorias +STR_CARGO_SINGULAR_GOODS :{G=m}Bens STR_CARGO_SINGULAR_GRAIN :{G=m}Cereais STR_CARGO_SINGULAR_WOOD :{G=f}Madeira STR_CARGO_SINGULAR_IRON_ORE :{G=m}Minério de Ferro @@ -96,30 +96,30 @@ STR_CARGO_SINGULAR_FIZZY_DRINK :{G=m}Refrigeran # Quantity of cargo STR_QUANTITY_NOTHING : -STR_QUANTITY_PASSENGERS :{COMMA} passageiro{P "" s} +STR_QUANTITY_PASSENGERS :{COMMA}{NBSP}passageiro{P "" s} STR_QUANTITY_COAL :{WEIGHT_LONG} de carvão -STR_QUANTITY_MAIL :{COMMA} bolsa{P "" s} de correspondência +STR_QUANTITY_MAIL :{COMMA}{NBSP}bolsa{P "" s} de correspondência STR_QUANTITY_OIL :{VOLUME_LONG} de petróleo -STR_QUANTITY_LIVESTOCK :{COMMA} cabeça{P "" s} de gado -STR_QUANTITY_GOODS :{COMMA} caixa{P "" s} de mercadorias +STR_QUANTITY_LIVESTOCK :{COMMA}{NBSP}cabeça{P "" s} de gado +STR_QUANTITY_GOODS :{COMMA}{NBSP}caixa{P "" s} de bens STR_QUANTITY_GRAIN :{WEIGHT_LONG} de cereais STR_QUANTITY_WOOD :{WEIGHT_LONG} de madeira STR_QUANTITY_IRON_ORE :{WEIGHT_LONG} de minério de ferro STR_QUANTITY_STEEL :{WEIGHT_LONG} de aço -STR_QUANTITY_VALUABLES :{COMMA} bolsa{P "" s} de objetos de valor +STR_QUANTITY_VALUABLES :{COMMA}{NBSP}bolsa{P "" s} de objetos de valor STR_QUANTITY_COPPER_ORE :{WEIGHT_LONG} de minério de cobre STR_QUANTITY_MAIZE :{WEIGHT_LONG} de milho STR_QUANTITY_FRUIT :{WEIGHT_LONG} de fruta -STR_QUANTITY_DIAMONDS :{COMMA} bolsa{P "" s} de diamantes +STR_QUANTITY_DIAMONDS :{COMMA}{NBSP}bolsa{P "" s} de diamantes STR_QUANTITY_FOOD :{WEIGHT_LONG} de alimentos STR_QUANTITY_PAPER :{WEIGHT_LONG} de papel -STR_QUANTITY_GOLD :{COMMA} bolsa{P "" s} de ouro +STR_QUANTITY_GOLD :{COMMA}{NBSP}bolsa{P "" s} de ouro STR_QUANTITY_WATER :{VOLUME_LONG} de água STR_QUANTITY_WHEAT :{WEIGHT_LONG} de trigo STR_QUANTITY_RUBBER :{VOLUME_LONG} de borracha STR_QUANTITY_SUGAR :{WEIGHT_LONG} de açúcar -STR_QUANTITY_TOYS :{COMMA} brinquedo{P "" s} -STR_QUANTITY_SWEETS :{COMMA} pacote{P "" s} de doces +STR_QUANTITY_TOYS :{COMMA}{NBSP}brinquedo{P "" s} +STR_QUANTITY_SWEETS :{COMMA}{NBSP}pacote{P "" s} de doces STR_QUANTITY_COLA :{VOLUME_LONG} de cola STR_QUANTITY_CANDYFLOSS :{WEIGHT_LONG} de algodão doce STR_QUANTITY_BUBBLES :{COMMA} bolha{P "" s} @@ -166,12 +166,12 @@ STR_ABBREV_NONE :{TINY_FONT}NADA STR_ABBREV_ALL :{TINY_FONT}TUDO # 'Mode' of transport for cargoes -STR_PASSENGERS :{COMMA} passageiro{P "" s} -STR_BAGS :{COMMA} bolsa{P "" s} -STR_TONS :{COMMA} tonelada{P "" s} -STR_LITERS :{COMMA} litro{P "" s} -STR_ITEMS :{COMMA} cabeça{P "" s} -STR_CRATES :{COMMA} engradado{P "" s} +STR_PASSENGERS :{COMMA}{NBSP}passageiro{P "" s} +STR_BAGS :{COMMA}{NBSP}bolsa{P "" s} +STR_TONS :{COMMA}{NBSP}tonelada{P "" s} +STR_LITERS :{COMMA}{NBSP}litro{P "" s} +STR_ITEMS :{COMMA}{NBSP}ite{P m ns} +STR_CRATES :{COMMA}{NBSP}engradado{P "" s} # Colours, do not shuffle STR_COLOUR_DARK_BLUE :Azul Escuro @@ -192,37 +192,37 @@ STR_COLOUR_GREY :Cinza STR_COLOUR_WHITE :Branco # Units used in OpenTTD -STR_UNITS_VELOCITY_IMPERIAL :{COMMA} mph -STR_UNITS_VELOCITY_METRIC :{COMMA} km/h -STR_UNITS_VELOCITY_SI :{COMMA} m/s +STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}mph +STR_UNITS_VELOCITY_METRIC :{COMMA}{NBSP}km/h +STR_UNITS_VELOCITY_SI :{COMMA}{NBSP}m/s -STR_UNITS_POWER_IMPERIAL :{COMMA}cv -STR_UNITS_POWER_METRIC :{COMMA}cv -STR_UNITS_POWER_SI :{COMMA}kW +STR_UNITS_POWER_IMPERIAL :{COMMA}{NBSP}hp +STR_UNITS_POWER_METRIC :{COMMA}{NBSP}cv +STR_UNITS_POWER_SI :{COMMA}{NBSP}kW -STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}t -STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}t -STR_UNITS_WEIGHT_SHORT_SI :{COMMA}kg +STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}{NBSP}T +STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_SI :{COMMA}{NBSP}kg -STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA} tonelada{P "" s} -STR_UNITS_WEIGHT_LONG_METRIC :{COMMA} tonelada{P "" s} -STR_UNITS_WEIGHT_LONG_SI :{COMMA} kg +STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA}{NBSP}ton. curta{P "" s} +STR_UNITS_WEIGHT_LONG_METRIC :{COMMA}{NBSP}tonelada{P "" s} +STR_UNITS_WEIGHT_LONG_SI :{COMMA}{NBSP}kg -STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}gal -STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}l -STR_UNITS_VOLUME_SHORT_SI :{COMMA}m³ +STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}{NBSP}gal +STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}{NBSP}l +STR_UNITS_VOLUME_SHORT_SI :{COMMA}{NBSP}m³ -STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA} gal{P ão ões} -STR_UNITS_VOLUME_LONG_METRIC :{COMMA} litro{P "" s} -STR_UNITS_VOLUME_LONG_SI :{COMMA} m³ +STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA}{NBSP}gal{P ão ões} +STR_UNITS_VOLUME_LONG_METRIC :{COMMA}{NBSP}litro{P "" s} +STR_UNITS_VOLUME_LONG_SI :{COMMA}{NBSP}m³ -STR_UNITS_FORCE_IMPERIAL :{COMMA} lbf -STR_UNITS_FORCE_METRIC :{COMMA} kgf -STR_UNITS_FORCE_SI :{COMMA} kN +STR_UNITS_FORCE_IMPERIAL :{COMMA}{NBSP}lbf +STR_UNITS_FORCE_METRIC :{COMMA}{NBSP}kgf +STR_UNITS_FORCE_SI :{COMMA}{NBSP}kN -STR_UNITS_HEIGHT_IMPERIAL :{COMMA} pés -STR_UNITS_HEIGHT_METRIC :{COMMA} m -STR_UNITS_HEIGHT_SI :{COMMA} m +STR_UNITS_HEIGHT_IMPERIAL :{COMMA}{NBSP}pés +STR_UNITS_HEIGHT_METRIC :{COMMA}{NBSP}m +STR_UNITS_HEIGHT_SI :{COMMA}{NBSP}m # Common window strings STR_LIST_FILTER_TITLE :{BLACK}Filtro: @@ -249,6 +249,17 @@ STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Barra de STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Barra de rolagem - rola a lista para esquerda/direita STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Demolir edifícios etc. num quadrado de terreno. Ctrl seleciona a área diagonalmente. Shift alterna construção/mostrar estimativa de preço +# Show engines button +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}Mostrar ocultos +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK}Mostrar ocultos +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}Mostrar ocultos +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}Mostrar ocultos + +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}Ao ativar esse botão, os trens ocultos também serão exibidos +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE_TOOLTIP :{BLACK}Ao ativar esse botão, os automóveis ocultos também serão exibidos +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}Ao ativar esse botão, os navios ocultas também serão exibidos +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Ao ativar esse botão, as aeronaves ocultas também serão exibidas + # Query window STR_BUTTON_DEFAULT :{BLACK}Padrão STR_BUTTON_CANCEL :{BLACK}Cancelar @@ -362,7 +373,7 @@ STR_SCENEDIT_FILE_MENU_QUIT :Sair ############ range for settings menu starts STR_SETTINGS_MENU_GAME_OPTIONS :Opções do jogo -STR_SETTINGS_MENU_CONFIG_SETTINGS :Definições avançadas +STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Configurações STR_SETTINGS_MENU_SCRIPT_SETTINGS :Configurações de IA /Script do jogo STR_SETTINGS_MENU_NEWGRF_SETTINGS :Definições do NewGRF STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Opções de Transparência @@ -471,7 +482,7 @@ STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Alternar caixas STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Alterna a colorização dos blocos sujos ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window STR_ORDINAL_NUMBER_1ST :1 STR_ORDINAL_NUMBER_2ND :2 STR_ORDINAL_NUMBER_3RD :3 @@ -487,22 +498,40 @@ STR_ORDINAL_NUMBER_12TH :12 STR_ORDINAL_NUMBER_13TH :13 STR_ORDINAL_NUMBER_14TH :14 STR_ORDINAL_NUMBER_15TH :15 -STR_ORDINAL_NUMBER_16TH :16 -STR_ORDINAL_NUMBER_17TH :17 -STR_ORDINAL_NUMBER_18TH :18 -STR_ORDINAL_NUMBER_19TH :19 -STR_ORDINAL_NUMBER_20TH :20 -STR_ORDINAL_NUMBER_21ST :21 -STR_ORDINAL_NUMBER_22ND :22 -STR_ORDINAL_NUMBER_23RD :23 -STR_ORDINAL_NUMBER_24TH :24 -STR_ORDINAL_NUMBER_25TH :25 -STR_ORDINAL_NUMBER_26TH :26 -STR_ORDINAL_NUMBER_27TH :27 -STR_ORDINAL_NUMBER_28TH :28 -STR_ORDINAL_NUMBER_29TH :29 -STR_ORDINAL_NUMBER_30TH :30 -STR_ORDINAL_NUMBER_31ST :31 +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :1º +STR_DAY_NUMBER_2ND :2 +STR_DAY_NUMBER_3RD :3 +STR_DAY_NUMBER_4TH :4 +STR_DAY_NUMBER_5TH :5 +STR_DAY_NUMBER_6TH :6 +STR_DAY_NUMBER_7TH :7 +STR_DAY_NUMBER_8TH :8 +STR_DAY_NUMBER_9TH :9 +STR_DAY_NUMBER_10TH :10 +STR_DAY_NUMBER_11TH :11 +STR_DAY_NUMBER_12TH :12 +STR_DAY_NUMBER_13TH :13 +STR_DAY_NUMBER_14TH :14 +STR_DAY_NUMBER_15TH :15 +STR_DAY_NUMBER_16TH :16 +STR_DAY_NUMBER_17TH :17 +STR_DAY_NUMBER_18TH :18 +STR_DAY_NUMBER_19TH :19 +STR_DAY_NUMBER_20TH :20 +STR_DAY_NUMBER_21ST :21 +STR_DAY_NUMBER_22ND :22 +STR_DAY_NUMBER_23RD :23 +STR_DAY_NUMBER_24TH :24 +STR_DAY_NUMBER_25TH :25 +STR_DAY_NUMBER_26TH :26 +STR_DAY_NUMBER_27TH :27 +STR_DAY_NUMBER_28TH :28 +STR_DAY_NUMBER_29TH :29 +STR_DAY_NUMBER_30TH :30 +STR_DAY_NUMBER_31ST :31 ############ range for days ends ############ range for months starts @@ -811,13 +840,12 @@ STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}{VEHICLE STR_NEWS_SHIP_IS_WAITING :{WHITE}{VEHICLE} está aguardando no depósito STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE} está aguardando no hangar -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE +# Order review system / warnings STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE} tem tem muito poucas ordens no horário STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE} tem uma ordem nula STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE} tem ordens duplicadas STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE} tem uma estação inválida em suas ordens -# end of order system +STR_NEWS_PLANE_USES_TOO_SHORT_RUNWAY :{WHITE}{VEHICLE} tem, em suas ordens, um aeroporto com a pista de pouso muito curta STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} está ficando velho STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} está ficando muito velho @@ -900,10 +928,6 @@ STR_GAME_OPTIONS_CURRENCY_GEL :Lari da Georgia STR_GAME_OPTIONS_CURRENCY_IRR :Rial Iraniano ############ end of currency region - -############ start of measuring units region -############ end of measuring units region - STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Automóveis STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}Selecionar lado da rodovia para automóveis dirigirem STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :Dirigem na esquerda @@ -939,11 +963,13 @@ STR_GAME_OPTIONS_TOWN_NAME_CATALAN :Catalão STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Salvar automaticamente STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Selecionar o intervalo entre jogos salvos automaticos +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Desativado STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :A cada mês STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :A cada 3 meses STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :A cada 6 meses STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :A cada 12 meses +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}Idioma STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Selecionar o idioma da interface do jogo @@ -955,8 +981,12 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}Resoluç STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Selecionar a resolução da tela para usar STR_GAME_OPTIONS_RESOLUTION_OTHER :outra -STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}Formato da captura de tela -STR_GAME_OPTIONS_SCREENSHOT_FORMAT_TOOLTIP :{BLACK}Selecionar o formato da captura de tela para usar +STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Tamanho da interface +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Selecione o tamanho de elemento de interface a ser usado + +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normal +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Dobro +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Quádruplo STR_GAME_OPTIONS_BASE_GRF :{BLACK}Conjunto de gráficos base STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Selecionar o conjunto de gráficos base para usar @@ -972,6 +1002,7 @@ STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Selecion STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} arquivo{P "" s} corrompido{P "" s} STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Informação adicional sobre o conjunto de músicas base +STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Falha ao obter a lista de resoluções suportadas STR_ERROR_FULLSCREEN_FAILED :{WHITE}Modo de tela cheia falhou # Custom currency window @@ -1050,6 +1081,7 @@ STR_TERRAIN_TYPE_VERY_FLAT :Muito Plano STR_TERRAIN_TYPE_FLAT :Plano STR_TERRAIN_TYPE_HILLY :Acidentado STR_TERRAIN_TYPE_MOUNTAINOUS :Montanhoso +STR_TERRAIN_TYPE_ALPINIST :Alpinista STR_CITY_APPROVAL_PERMISSIVE :Permissivo STR_CITY_APPROVAL_TOLERANT :Tolerante @@ -1057,8 +1089,8 @@ STR_CITY_APPROVAL_HOSTILE :Hostil STR_WARNING_NO_SUITABLE_AI :{WHITE}Não há IA compatíveis disponíveis...{}Você pode baixar várias IA's pelo sistema de 'Conteúdo Online' -# Advanced settings window -STR_CONFIG_SETTING_CAPTION :{WHITE}Configurações avançadas +# Settings tree window +STR_CONFIG_SETTING_TREE_CAPTION :[WHITE}Configurações STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Filtro: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Maximizar tudo STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Minimizar tudo @@ -1073,20 +1105,20 @@ STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :Config. da comp STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK}Categoria: STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}Tipo: -STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Restringe a lista abaixo a mostrar apenas configs. alteradas -STR_CONFIG_SETTING_RESTRICT_BASIC :Configs. básicas -STR_CONFIG_SETTING_RESTRICT_ADVANCED :Configs. avançadas -STR_CONFIG_SETTING_RESTRICT_ALL :Configs. expert / todas as configs. +STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Restringe a lista abaixo a mostrar apenas filtros pré-definidos +STR_CONFIG_SETTING_RESTRICT_BASIC :Básico (apenas configs. importantes) +STR_CONFIG_SETTING_RESTRICT_ADVANCED :Avançado (maior parte das configs.) +STR_CONFIG_SETTING_RESTRICT_ALL :Expert (mostra todas as configs. inclusive as estranhas) STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :Configs. com valor diferente do padrão STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :Configs. com um valor diferente das configs. para novos jogos STR_CONFIG_SETTING_TYPE_DROPDOWN_HELPTEXT :{BLACK}Restringe a lista abaixo a determinados tipos STR_CONFIG_SETTING_TYPE_DROPDOWN_ALL :Todos os tipos de configs. -STR_CONFIG_SETTING_TYPE_DROPDOWN_CLIENT :Config. do cliente (não é guardado no savegame; afeta todos os jogos) -STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :Config. do jogo (guardado no savegame; afeta apenas novos jogos) -STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :Config. do jogo (guardado no savegame; afeta apenas o jogo atual) -STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :Config. da companhia (guardado no savegame; afeta apenas novos jogos) -STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :Config. de companhia (guardado no savegame; afeta apenas a companhia atual) +STR_CONFIG_SETTING_TYPE_DROPDOWN_CLIENT :Configs. do cliente (não é guardado no savegame; afeta todos os jogos) +STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :Configs. do jogo (guardado no savegame; afeta apenas novos jogos) +STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :Configs. do jogo (guardado no savegame; afeta apenas o jogo atual) +STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :Configs. da companhia (guardado no savegame; afeta apenas novos jogos) +STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :Configs. de companhia (guardado no savegame; afeta apenas a companhia atual) STR_CONFIG_SETTING_CATEGORY_HIDES :{BLACK}Mostrar todos resultados por configuração{}{SILVER}Categoria {BLACK}até {WHITE}{STRING} STR_CONFIG_SETTING_TYPE_HIDES :{BLACK}Mostrar todos resultados por configuração{}{SILVER}Tipo {BLACK}até {WHITE}Todas configurações de tipos STR_CONFIG_SETTING_CATEGORY_AND_TYPE_HIDES :{BLACK}Mostrar todos resultados por configuração{}{SILVER}Category {BLACK}até {WHITE}{STRING} {BLACK}e {SILVER}Tipo {BLACK}até {WHITE}Todas configurações de tipos @@ -1128,12 +1160,13 @@ STR_CONFIG_SETTING_TRAIN_REVERSING :Desabilitar rev STR_CONFIG_SETTING_TRAIN_REVERSING_HELPTEXT :Se ativado, trens não irão mudar de direção em estações não terminais, mesmo se houver um caminho mais curto ao próximo destino ao trocar de direção STR_CONFIG_SETTING_DISASTERS :Desastres: {STRING} STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Alterna desastres que podem ocasionalmente bloquear ou destruir veículos ou infraestrutura -STR_CONFIG_SETTING_CITY_APPROVAL :Atitude da prefeitura em relação à restruturação de área: {STRING} +STR_CONFIG_SETTING_CITY_APPROVAL :Atitude da prefeitura em relação à restruturação local: {STRING} STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Escolhe como a poluição sonoroa e ambiental afeta a classificação na cidade e as ações futuras naquela área -STR_CONFIG_SETTING_BUILDONSLOPES :Permitir a construção em declives e encostas: {STRING} -STR_CONFIG_SETTING_BUILDONSLOPES_HELPTEXT :Se ativado, trilhos e estações podem ser construídas na maioria das inclinações. Se desativado, são permitidas apenas em inclinações correspondentes à direção da via, sem precisar de fundações -STR_CONFIG_SETTING_AUTOSLOPE :Permitir paisagismo sob edifícios, ruas, etc. (auto nivelação): {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :Altura máx. do mapa: {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :Define a altitude máxima para montanhas no mapa +STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}Impossível definir a altitude máx. do mapa para esse valor. Há ao menos uma montanha mais alta que isso +STR_CONFIG_SETTING_AUTOSLOPE :Permitir paisagismo sob edifícios, trilhos, etc.: {STRING} STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Permite paisagismo sob edifícios e vias sem precisar removê-las STR_CONFIG_SETTING_CATCHMENT :Dimensionamento mais realista das áreas de abrangência: {STRING} STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Exibe áreas de abrangência de para diferentes tipos de estações e aeroportos @@ -1157,16 +1190,12 @@ STR_CONFIG_SETTING_FORBID_90_DEG :Proibir trens e STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Curvas em 90 graus ocorrem quando um trilho horizontal é seguido imediatamente por um trilho vertical, fazendo com que o trem vire 90 graus, ao invés dos 45 graus padrão para as outras combinações de trilhos. Isso também afeta as embarcações STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Permitie unir estações não adjacentes: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Permite adicionar partes a uma estação sem que aquelas encostem diretamente nestas. Pressione Ctrl+clique para fazer isso -STR_CONFIG_SETTING_IMPROVEDLOAD :Usar algoritmo de carregamento melhorado: {STRING} -STR_CONFIG_SETTING_IMPROVEDLOAD_HELPTEXT :Se ativado, veículos múltiplos aguardando em uma estação são carregados um por vez. Carregamento do próximo veículo só começa quando houver carga o bastante para encher o primeiro veículo -STR_CONFIG_SETTING_GRADUAL_LOADING :Carregar veículos gradualmente: {STRING} -STR_CONFIG_SETTING_GRADUAL_LOADING_HELPTEXT :Gradualmente carrega veículos usando durações de carregamento específicos de cada veículo, ao invés de carregar tudo de uma vez durante um intervalo fixo dependendo apenas da carga carregada STR_CONFIG_SETTING_INFLATION :Inflação: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :Ativa inflação na economia, de forma que custos sobem um pouco mais do que recebidos -STR_CONFIG_SETTING_SELECTGOODS :Somente entregar carga a uma estação quando houver procura: {STRING} -STR_CONFIG_SETTING_SELECTGOODS_HELPTEXT :Apenas entrega carga a uma estação com um veículo que a requisitou. Isso impede más avaliações para cargas que não são coletadas numa estação STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Tamanho máximo de pontes: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Tamanho máximo para construção de pontes +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :Altura máxima de pontes: {STRING} +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :Altura máxima para a construção de pontes 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 manual de constução de indústria primária: {STRING} @@ -1192,8 +1221,6 @@ STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Define onde um STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :início STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :meio STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :fim -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING :Fila de automóveis (com efeitos de quantidade): {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING_HELPTEXT :Faz com que automóveis aguardem na frente de paradas de rua até que sejam liberados STR_CONFIG_SETTING_AUTOSCROLL :Deslocar janela quando o cursor está na borda do mapa: {STRING} STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Quando ativado, janelas de visualização irão rolar quando o mouse se aproximar das bordas STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Desativado @@ -1224,10 +1251,6 @@ STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Permitir estaç STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Permite a construção de paradas nas laterais das ruas em vias locais STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Permitir estações drive-through nas ruas de outros competidores: {STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Permite a construção de paradas nas laterais das ruas em vias de outras companhias -STR_CONFIG_SETTING_ADJACENT_STATIONS :Permitir construção de estações adjacentes: {STRING} -STR_CONFIG_SETTING_ADJACENT_STATIONS_HELPTEXT :Permite construir várias estações, uma do lado da outra, criando estações mistas -STR_CONFIG_SETTING_DYNAMIC_ENGINES :Ativar múltiplos conjuntos NewGRF de locomotivas: {STRING} -STR_CONFIG_SETTING_DYNAMIC_ENGINES_HELPTEXT :Opção de compatibilidade para NewGRFs velhos. Não desative isso a não ser que você saiba o que está fazendo! STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Impossível alterar essa configuração enquanto houverem veículos STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Manutenção de Infraestrutura: {STRING} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Quando ativado, infraestrutura gera custos de manutenção. O custo aumenta proporcionalmente à malha de transportes, afetando companhias maiores mais do que as menores @@ -1248,7 +1271,7 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Veículos nunca STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Quanto ativado, mantém todos os modelos de veículos disponíveis após serem introduzidos STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Auto-renovação de veículos quando ficam velhos: {STRING} STR_CONFIG_SETTING_AUTORENEW_VEHICLE_HELPTEXT :Quando ativado, os veículos próximos do fim da vida útil são automaticamente substituídos quando as condições forem atingidas -STR_CONFIG_SETTING_AUTORENEW_MONTHS :Renovar a {STRING} da vida útil +STR_CONFIG_SETTING_AUTORENEW_MONTHS :Renovar veículos a {STRING} da vida útil STR_CONFIG_SETTING_AUTORENEW_MONTHS_HELPTEXT :Idade relativa para quando um veículo deva ser renovado STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_BEFORE :{COMMA} m{P 0 ês eses} antes STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_AFTER :{COMMA} m{P 0 ês eses} depois @@ -1258,39 +1281,53 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :Duração da me STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Define quanto tempo as janelas de erro (vermelhas) ficam abertas antes de fecharem automaticamente. Erros críticos devem ser fechados manualmente. STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{COMMA} segundo{P "" s} STR_CONFIG_SETTING_HOVER_DELAY :Exibir dicas: {STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Intervalo antes das dicas de ferramentas aparecerem ao deixar o mouse sobre algum botão na interface -STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Aguardar {COMMA} segundo{P "" s} +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Intervalo antes das dicas de ferramentas aparecerem ao deixar o mouse sobre algum botão na interface. Em contrapartida, as dicas são mostradas ao se clicar com o botão direito se esse valor for definido para 0. +STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Aguardar {COMMA} milisegundo{P "" s} STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Botão direito STR_CONFIG_SETTING_POPULATION_IN_LABEL :Exibir população da cidade na janela da cidade: {STRING} STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Exibe a população das cidades nos nomes, no mapa STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Grossura das linhas nos gráficos: {STRING} STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Grossura da linha nos gráficos. Linhas finas são mais precisas, enquanto linhas grossas são mais fáceis de distinguir. +STR_CONFIG_SETTING_LANDSCAPE :Terreno: {STRING} +STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :O terreno define a jogabilidade básica com diferentes cargas e requerimentos para o crescimento das cidades. NewGRF's e Scripts de Jogo permitem um controle mais fino STR_CONFIG_SETTING_LAND_GENERATOR :Gerador de Terreno: {STRING} +STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :O gerador original depende do set gráficos base, e cria terrenos de formatos fixos. TerraGenesis é um gerador baseado em ruído Perlin com configurações mais delicadas STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Original STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis -STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Dist. máx. da borda para Refinarias de Óleo: {STRING} +STR_CONFIG_SETTING_TERRAIN_TYPE :Tipo de terreno: {STRING} +STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(TerraGenesis apenas) O quão acidentado é o terreno +STR_CONFIG_SETTING_INDUSTRY_DENSITY :Densidade de indústrias: {STRING} +STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Define quantas indústrias devem ser geradas e o nível que deve ser mantido durante o jogo +STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Dist máx da borda para Refinarias de Óleo: {STRING} STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Refinarias são construídas apenas nas bordas, ou no litoral, para ilhas -STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Altitude da linha de neve: {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Irregularidade do terreno (TerraGenesis apenas) : {STRING} +STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Altura da linha de neve: {STRING} +STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Controla a que altitude a neve começa nos climas sub-árticos. Neve também afeta geração de indústrias e necessidades para o crescimento das cidades +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Irregularidade do terreno: {STRING} +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(TerraGenesis apenas) Escolhe a frequência de colinas: Terrenos planos têm menos colinas, mais espalhadas. Montanhosos tem mais colinas, que pode se tornar repetitivo STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Muito Regular STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Regular STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Irregular STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Muito Irregular +STR_CONFIG_SETTING_VARIETY :Distribuição de variedade: {STRING} +STR_CONFIG_SETTING_VARIETY_HELPTEXT :(TerraGenesis apenas) Controla se o mapa contém tanto áreas montanhosas como planas. Como isso apenas torna o mapa mais plano, as outras configurações devem ser mantidas em montanhoso +STR_CONFIG_SETTING_RIVER_AMOUNT :Quantidade de rios: {STRING} +STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Escolha quantos rios a serem gerados STR_CONFIG_SETTING_TREE_PLACER :Algorítimo de colocação de árvores: {STRING} +STR_CONFIG_SETTING_TREE_PLACER_HELPTEXT :Escolha a distribuição das árvores no mapa: 'Original' planta árvores uniformemente pelo mapa, 'Melhorado' planta-as em grupos STR_CONFIG_SETTING_TREE_PLACER_NONE :Nenhum STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :Original STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :Melhorado +STR_CONFIG_SETTING_ROAD_SIDE :Automóveis: {STRING} +STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :Escolha a mão de direção STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Rotação do mapa topográfico: {STRING} STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Sentido Anti-Horário STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Sentido Horário STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :A altitude de um mapa regular é de: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :Permitir paisagismo nos quadrados na bordas do mapa: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES_HELPTEXT :Se desativado, as bordas do mapa serão sempre oceanos STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}Há construções na borda norte do mapa STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}Há bordas acima da nível do mar -STR_CONFIG_SETTING_STATION_SPREAD :Tam. máx. de estações compostas {STRING} +STR_CONFIG_SETTING_STATION_SPREAD :Tam máx de estações compostas {STRING} STR_CONFIG_SETTING_STATION_SPREAD_HELPTEXT :Área máxima que uma só estação pode ocupar com partes de estação. Valores altos tornam o jogo lento STR_CONFIG_SETTING_SERVICEATHELIPAD :Manutenção automática de helicópteros em heliportos: {STRING} STR_CONFIG_SETTING_SERVICEATHELIPAD_HELPTEXT :Faz manutenção de helicópteros a cada pouso, mesmo que não haja depósito no local de pouso @@ -1307,7 +1344,7 @@ STR_CONFIG_SETTING_SMOOTH_SCROLLING :Suavizar rolame STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Controla como a janela principal rola para uma posição específica quando clicado no minimapa ou após localizar um objeto. Ativado torna o rolamento suave. Desativado torna o rolamento instanâneo STR_CONFIG_SETTING_MEASURE_TOOLTIP :Exibe distâncias quando usar ferramentas de construção: {STRING} STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT :Exibe distâncias e diferenças de altitude quando clicando e arrastando enquanto constrói -STR_CONFIG_SETTING_LIVERIES :Exibir cores das empresas: {STRING} +STR_CONFIG_SETTING_LIVERIES :Exibir cores avançadas: {STRING} STR_CONFIG_SETTING_LIVERIES_HELPTEXT :Contra o uso de cores de veículos dependentes do tipo (ao invés de cores específicas à companhia) STR_CONFIG_SETTING_LIVERIES_NONE :Nenhum STR_CONFIG_SETTING_LIVERIES_OWN :Minha empresa @@ -1337,17 +1374,15 @@ 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_AUTOSAVE :Auto-salvar: {STRING} +STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Selecione intervalo entre jogos salvos automaticamente + STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Use o formato de data {STRING} para criar arquivos de salvamento STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Formato da data nos nomes dos jogos salvos STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :comprido (31 Dez 2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :curto (31-12-2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE :Paleta padrão a ser usada para NewGRF's sem paletas específicas: {STRING} -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_HELPTEXT :Paleta padrão a ser usada por NewGRFs que não a especificarem -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_DOS :Paleta Padrão (D) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_WIN :Paleta Original (W) - STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Pausar automaticamente ao inicar um novo jogo: {STRING} STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :Ativado, pausa o jogo ao iniciar um jogo novo, permitindo um estudo do mapa antes do jogo STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Permite enquanto pausado: {STRING} @@ -1356,7 +1391,7 @@ STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :Nenhuma ação STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :Todas ações "não-construentes" STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :Todas ações exceto modificações de terreno STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_ACTIONS :Todas ações -STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Usar a lista avançada de veículos: {STRING} +STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Usar a lista agrupada de veículos: {STRING} STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Ativa o uso da listagem avançada para agrupamento de veículos STR_CONFIG_SETTING_LOADING_INDICATORS :Usar indicadores de carga: {STRING} STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Seleciona se os indicadores de carga são exibidos sobre os veículos (des)carregando @@ -1371,7 +1406,7 @@ STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_HELPTEXT :Tipo de trilho 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 -STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :Exibir vias reservadas: {STRING} +STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :Exibir vias reservadas para trilhos: {STRING} STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION_HELPTEXT :Escurece as vias reservadas para ajudar a lidar com problemas de trens não funcionando em blocos baseados em destinos STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Manter a barra de construção aberta: {STRING} STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Mantém as ferramentas de construção para pontes, túneis, etc abertas após o uso @@ -1397,13 +1432,13 @@ STR_CONFIG_SETTING_SOUND_AMBIENT_HELPTEXT :Tocar som ambie STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING :Desativar construção de infraestrutura quando nenhum veículo adequado estiver disponível: {STRING} STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING_HELPTEXT :Quando ativado, a infraestrutura só é disponível se há veículos disponíveis para usá-la, prevenindo gasto de tempo e dinheiro com infraestrutura inútil. -STR_CONFIG_SETTING_MAX_TRAINS :Máximo de trens por companhia: {STRING} +STR_CONFIG_SETTING_MAX_TRAINS :Número máx de trens por companhia: {STRING} STR_CONFIG_SETTING_MAX_TRAINS_HELPTEXT :Máx. de trens que uma companhia pode ter -STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :Máximo de automóveis por companhia: {STRING} +STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :Número máx de automóveis por companhia: {STRING} STR_CONFIG_SETTING_MAX_ROAD_VEHICLES_HELPTEXT :Quantidade máxima de automóveis que uma companhia pode ter -STR_CONFIG_SETTING_MAX_AIRCRAFT :Máximo de aeronaves por companhia: {STRING} +STR_CONFIG_SETTING_MAX_AIRCRAFT :Número máx de aeronaves por companhia: {STRING} STR_CONFIG_SETTING_MAX_AIRCRAFT_HELPTEXT :Quantidade máxima de aeronaves que uma companhia pode ter -STR_CONFIG_SETTING_MAX_SHIPS :Máximo de embarcações por companhia: {STRING} +STR_CONFIG_SETTING_MAX_SHIPS :Número máx de embarcações por companhia: {STRING} STR_CONFIG_SETTING_MAX_SHIPS_HELPTEXT :Quantidade máxima de embarcações que uma companhia pode ter STR_CONFIG_SETTING_AI_BUILDS_TRAINS :Desativar trens para o computador: {STRING} @@ -1430,7 +1465,7 @@ STR_CONFIG_SETTING_SERVINT_ISPERCENT :Os intervalos d STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Define se a manutenção de veículos é ativada pelo tempo passado desde a última manutenção ou quando a confiabilidade alcança um certo valor STR_CONFIG_SETTING_SERVINT_TRAINS :Intervalo padrão de manutenção para trens: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Define o intervalo padrão de manutenção para novos trens, se não for definido individualmente -STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA} dia{P "" s}/% +STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}dia{P "" s}/% STR_CONFIG_SETTING_SERVINT_DISABLED :Desativado STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES :Intervalo padrão de manutenção para automóveis: {STRING} STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES_HELPTEXT :Define o intervalo padrão de manutenção para novos automóveis, se não for definido individualmente @@ -1521,12 +1556,12 @@ STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT :Permite cidades STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :Permitir cidades construirem cruzamentos de nível: {STRING} STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Se ativado, permite as cidades construírem ruas que atravessam ferrovias STR_CONFIG_SETTING_NOISE_LEVEL :Permitir controle de ruído de aeronaves pelas cidades: {STRING} -STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Se desativado, podem haver 2 aeroportos por cidade. Se ativado, o número de aeroportos depende do controle de ruído da cidade, que depende da população, tamanho e distância do aeroporto +STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Se desativado, podem haver 2 aeroportos por cidade. Se ativado, o número de aeroportos é limitado pelo controle de ruído da cidade, que depende da população, tamanho e distância do aeroporto STR_CONFIG_SETTING_TOWN_FOUNDING :Fundação de cidades no jogo: {STRING} STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Se ativado, permite jogadores construírem novas cidades STR_CONFIG_SETTING_TOWN_FOUNDING_FORBIDDEN :Proibido STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED :Permitido -STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED_CUSTOM_LAYOUT :Aermitido, layout de cidades customizável +STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED_CUSTOM_LAYOUT :Permitido, layout de cidades customizável STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT :Posicionamento de árvores: {STRING} STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_HELPTEXT :Controla o nascimento aleatório de árvores durante o jogo. Isso pode afetar indústrias que dependem do crescimento de árvores, como serrarias @@ -1569,12 +1604,10 @@ STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 a cada {COMMA STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Nenhum STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Multiplicador do tamanho inicial da cidade: {STRING} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Tamanho médio das cidades grandes em relação às cidades no início do jogo -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :Remover elementos de estrada absurdos ao construir ruas: {STRING} -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD_HELPTEXT :Remove ruas sem saída durante a reconstrução de ruas patrocinada -STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Atualizar gráfico de distribuição a cada {STRING} dia{P 0:2 "" s} +STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Atualizar gráfico de distribuição a cada {STRING}{NBSP}dia{P 0:2 "" s} STR_CONFIG_SETTING_LINKGRAPH_INTERVAL_HELPTEXT :Tempo tomado entre recálculos subsequentes de cada gráfico. Cada recálculo calcula os planos para cada componente do gráfico. Isso significa que um valor X para essa configuração não indica que o gráfico todo será atualizado a cada X dias. Apenas alguns componentes irão. Quanto mais curto você o definir, mais tempo de CPU será necessário para calculá-lo. Quanto mais longo, mais tempo levará até que a distribuição de carga começe em novas rotas. -STR_CONFIG_SETTING_LINKGRAPH_TIME :Demore {STRING} dia{P 0:2 "" s} para recálculo do gráfico de distribuição +STR_CONFIG_SETTING_LINKGRAPH_TIME :Demore {STRING}{NBSP}dia{P 0:2 "" s} para recálculo do gráfico de distribuição STR_CONFIG_SETTING_LINKGRAPH_TIME_HELPTEXT :Tempo tomado para cada recálculo de um componente de um gráfico. Quando um recálculo começa, um processo é criado e é executado por esse número de dias. Quanto menos dias você define, maior a chance do processo não terminar quando era para ter terminado. Nesse caso, o jogo irá parar até ele terminar ("lag"). Quanto maior você definir isso, mais tempo leva para a distribuição ser atualizada quando as rotas mudarem. STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :manual STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :assimétrico @@ -1604,55 +1637,57 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_SI :SI (m/s) STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER :Unidade de potência veicular: {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_HELPTEXT :Sempre que a potência de um veículo for exibida na interface de usuário, será exibida na unidade selecionada -STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_IMPERIAL :IMperial (hp) -STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_METRIC :Métrico (hp) +STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_IMPERIAL :Imperial (hp) +STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_METRIC :Métrico (cv) STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_SI :SI (kW) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT :Unidades de peso: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_HELPTEXT :Sempre que pesos forem exibidos na interface de usuário, serão exibidos na unidade selecionada -STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_IMPERIAL :Imperial (ton. imperial) +STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_HELPTEXT :Sempre que pesos forem exibidos na interface de usuário, exiba-os na unidade selecionada +STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_IMPERIAL :Imperial (ton. curta) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_METRIC :Métrico (ton) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_SI :SI (kg) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME :Unidades volumétricas: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_HELPTEXT :Sempre que volumes forem exibidos na interface de usuário, serão exibidos na unidade selecionada +STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_HELPTEXT :Sempre que volumes forem exibidos na interface de usuário, exiba-os na unidade selecionada STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_IMPERIAL :Imperial (gal) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_METRIC :Métrico (l) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_SI :SI (m³) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE :Unidade de tração: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_HELPTEXT :Sempre que tração, ou efeito trator, é exibido na interface de usuário, será exibido na unidade selecionada +STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_HELPTEXT :Sempre que tração, ou efeito trator, é exibido na interface de usuário, exiba na unidade selecionada STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_IMPERIAL :Imperial (lbf) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_METRIC :Métrico (kgf) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_SI :SI (kN) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT :Unidade de altitude: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT :Sempre que altitudes são exibidas na interface do usuário, será exibida na unidade selecionada +STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT :Sempre que altitudes são exibidas na interface do usuário, exiba na unidade selecionada STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :Imperial (ft) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :Métrico (m) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :SI (m) -STR_CONFIG_SETTING_GUI :{ORANGE}Interface STR_CONFIG_SETTING_LOCALISATION :{ORANGE}Localização -STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}Construção +STR_CONFIG_SETTING_GRAPHICS :{ORANGE}Gráficos +STR_CONFIG_SETTING_SOUND :{ORANGE}Som +STR_CONFIG_SETTING_INTERFACE :{ORANGE}Interface +STR_CONFIG_SETTING_INTERFACE_GENERAL :{ORANGE}Geral +STR_CONFIG_SETTING_INTERFACE_VIEWPORTS :{ORANGE}Janelas de visualização +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Construção +STR_CONFIG_SETTING_ADVISORS :{ORANGE}Notícias / Conselheiros +STR_CONFIG_SETTING_COMPANY :{ORANGE}Companhia +STR_CONFIG_SETTING_ACCOUNTING :{ORANGE}Contabilidade STR_CONFIG_SETTING_VEHICLES :{ORANGE}Veículos -STR_CONFIG_SETTING_STATIONS :{ORANGE}Estações -STR_CONFIG_SETTING_ECONOMY :{ORANGE}Economia -STR_CONFIG_SETTING_LINKGRAPH :{ORANGE}Distribuição de Carga -STR_CONFIG_SETTING_AI :{ORANGE}Oponentes -STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}Opções de visualização -STR_CONFIG_SETTING_INTERACTION :{ORANGE}Interação -STR_CONFIG_SETTING_SOUND :{ORANGE}Efeitos sonoros -STR_CONFIG_SETTING_NEWS :{ORANGE}Notícias e mensagens -STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}Sinais -STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE}Manejo de carga -STR_CONFIG_SETTING_AI_NPC :{ORANGE}Computadores -STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE}Auto-renovação -STR_CONFIG_SETTING_VEHICLES_SERVICING :{ORANGE}Manutenção +STR_CONFIG_SETTING_VEHICLES_PHYSICS :{ORANGE}Física STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Rota -STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}Trens -STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE} Cidades -STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}Indústrias +STR_CONFIG_SETTING_LIMITATIONS :{ORANGE}Limitações +STR_CONFIG_SETTING_ACCIDENTS :{ORANGE}Desastres / Acidentes +STR_CONFIG_SETTING_GENWORLD :{ORANGE}Geração de Mundo +STR_CONFIG_SETTING_ENVIRONMENT :{ORANGE}Meio-Ambiente +STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :{ORANGE}Autoridades +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE} Cidades +STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}Indústrias +STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :{ORANGE}Distribuição de Carga +STR_CONFIG_SETTING_AI :{ORANGE}Oponentes +STR_CONFIG_SETTING_AI_NPC :{ORANGE}Computadores STR_CONFIG_SETTING_PATHFINDER_OPF :Original STR_CONFIG_SETTING_PATHFINDER_NPF :NPF @@ -1701,7 +1736,7 @@ STR_INTRO_MULTIPLAYER :{BLACK}Multi-jo STR_INTRO_GAME_OPTIONS :{BLACK}Opções do Jogo STR_INTRO_HIGHSCORE :{BLACK}Pontuações -STR_INTRO_ADVANCED_SETTINGS :{BLACK}Configurações avançadas +STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Configurações STR_INTRO_NEWGRF_SETTINGS :{BLACK}Configurar NewGRF STR_INTRO_ONLINE_CONTENT :{BLACK}Checar conteúdo on-line STR_INTRO_SCRIPT_SETTINGS :{BLACK}Configurações de IA / Script do jogo @@ -1721,7 +1756,7 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Selecion STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Exibir opções de jogo STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Exibe as pontuações -STR_INTRO_TOOLTIP_ADVANCED_SETTINGS :{BLACK}Exibe as configurações avançadas +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Config. de exibição STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Exibir configs. dos NewGRF STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Checar por conteúdo novo e atualizado para baixar STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Exibe configurações de IA e script do jogo @@ -1761,6 +1796,8 @@ STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Jogando STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Escavadeira mágica (destrói indústrias, objetos estáticos): {ORANGE}{STRING} STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}Os túneis poderão cruzar-se: {ORANGE}{STRING} STR_CHEAT_NO_JETCRASH :{LTBLUE}Aeronaves a jato não irão se acidentar (frequentemente) em aeroportos pequenos: {ORANGE} {STRING} +STR_CHEAT_EDIT_MAX_HL :{LTBLUE}Editar a altitude máx do mapa: {ORANGE}{NUM} +STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Editar a altitude máx das montanhas no mapa STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE :terreno temperado STR_CHEAT_SWITCH_CLIMATE_SUB_ARCTIC_LANDSCAPE :terreno subártico STR_CHEAT_SWITCH_CLIMATE_SUB_TROPICAL_LANDSCAPE :terreno subtropical @@ -1809,6 +1846,7 @@ STR_LIVERY_FREIGHT_TRAM :Bonde de Carga STR_FACE_CAPTION :{WHITE}Seleção de Rosto STR_FACE_CANCEL_TOOLTIP :{BLACK}Cancelar seleção da novo rosto STR_FACE_OK_TOOLTIP :{BLACK}Aceitar seleção do novo rosto +STR_FACE_RANDOM :{BLACK}Randomizar STR_FACE_MALE_BUTTON :{BLACK}Masculino STR_FACE_MALE_TOOLTIP :{BLACK}Rostos masculinos @@ -1929,13 +1967,13 @@ STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}Proteja STR_NETWORK_START_SERVER_UNADVERTISED :Não STR_NETWORK_START_SERVER_ADVERTISED :Sim STR_NETWORK_START_SERVER_CLIENTS_SELECT :{BLACK}{NUM} cliente{P "" s} -STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Máx de clientes: +STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Num máx de clientes: STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS_TOOLTIP :{BLACK}Escolha o número máximo de clientes. Não é necessário estarem todos preenchidos STR_NETWORK_START_SERVER_COMPANIES_SELECT :{BLACK}{NUM} empresa{P "" s} -STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}Máximo de empresas: +STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}Núm máx de empresas: STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES_TOOLTIP :{BLACK}Limita o servidor para uma certa quantia de empresas STR_NETWORK_START_SERVER_SPECTATORS_SELECT :{BLACK}{NUM} espectador{P "" es} -STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS :{BLACK}Máx de espectadores: +STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS :{BLACK}Núm máx de espectadores: STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS_TOOLTIP :{BLACK}Limita o servidor para um certa quantia de espectadores STR_NETWORK_START_SERVER_LANGUAGE_SPOKEN :{BLACK}Idioma falado: STR_NETWORK_START_SERVER_LANGUAGE_TOOLTIP :{BLACK}Outros jogadores saberão o idioma utilizado no servidor. @@ -2278,7 +2316,7 @@ STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Construi STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Construir depósito (para compra e manutenção de trens). Shift altera construção/preço estimado STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Converter linha em ponto de controle. Ctrl permite a união de pontos de controle. Shift altera construção/preço estimado STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Construir estação ferroviária. Ctrl permite a união de estações. Shift altera construção/preço estimado -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Construir sinais ferroviários. Ctrl alterna a construção de semáforos/sinais{}Clicar e arrastar constroi sinais até a próxima junção{}Ctrl+Clique alterna a janela de seleção de sinais. Shift altera construção/preço estimado +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Construir sinais ferroviários. Ctrl alterna a construção de semáforos/sinais{}Clicar e arrastar constroi sinais até a próxima junção ou sinal{}Ctrl+Clique alterna a janela de seleção de sinais. Shift alterna construção/preço estimado STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Construir ponte ferroviária. Shift altera construção/preço estimado STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Construir túnel ferroviário. Shift altera construção/preço estimado STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Alternar construir/remover ferrovias, sinais, pontos de controle e estações. Segure ctrl para remover os trilhos de estações e pontos de controle. @@ -2650,7 +2688,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-2014 A equipe do OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 A equipe do OpenTTD # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Salvar Jogo @@ -2685,13 +2723,12 @@ STR_MAPGEN_BY :{BLACK}* STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}No. de cidades: STR_MAPGEN_DATE :{BLACK}Data: STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}No. de indústrias: +STR_MAPGEN_MAX_HEIGHTLEVEL :{BLACK}Altitude máx. do mapa: +STR_MAPGEN_MAX_HEIGHTLEVEL_UP :{BLACK}Aumenta a altitude máxima das montanhas no mapa em uma unidade +STR_MAPGEN_MAX_HEIGHTLEVEL_DOWN :{BLACK}Diminui a altitude máxima das montanhas no mapa em uma unidade STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}Linha da neve STR_MAPGEN_SNOW_LINE_UP :{BLACK}Aumentar a linha da neve em um ponto STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}Diminuir a linha da neve em um ponto -STR_MAPGEN_RANDOM_SEED :{BLACK}Semente: -STR_MAPGEN_RANDOM_SEED_HELP :{BLACK}Clique para digitar uma semente -STR_MAPGEN_RANDOM :{BLACK}Randomizar -STR_MAPGEN_RANDOM_HELP :{BLACK}Muda a semente randômica da Geração de Terreno STR_MAPGEN_LAND_GENERATOR :{BLACK}Gerador de terra STR_MAPGEN_TREE_PLACER :{BLACK}Algorítimo de árvores STR_MAPGEN_TERRAIN_TYPE :{BLACK}Tipo de terreno @@ -2718,7 +2755,7 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Nome do STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Tamanho: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} -STR_MAPGEN_RANDOM_SEED_OSKTITLE :{BLACK}Coloque uma semente randomica +STR_MAPGEN_MAX_HEIGHTLEVEL_QUERY_CAPT :{WHITE}Alterar a altitude máxima do mapa STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}Mudar linha da neve STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Mudar data de início @@ -2773,6 +2810,8 @@ STR_NEWGRF_SETTINGS_MOVEUP :{BLACK}Mover ci STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP :{BLACK}Move o NewGRF selecionado para cima STR_NEWGRF_SETTINGS_MOVEDOWN :{BLACK}Mover baixo STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP :{BLACK}Move o NewGRF selecionado para baixo +STR_NEWGRF_SETTINGS_UPGRADE :{BLACK}Atualizar +STR_NEWGRF_SETTINGS_UPGRADE_TOOLTIP :{BLACK}Atualiza arquivos NewGRF para os quais você tem uma versão mais nova instalada STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}Uma lista dos NewGRF instalados. STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}Definir parâmetros @@ -2797,6 +2836,16 @@ STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Arquivo co STR_NEWGRF_SETTINGS_DISABLED :{RED}Desativado STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Incompatível com esta versão de OpenTTD +# NewGRF save preset window +STR_SAVE_PRESET_CAPTION :{WHITE}Salvar padrão +STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK}Lista de padrões disponíveis, selecione um para copiá-lo para o nome abaixo +STR_SAVE_PRESET_TITLE :{BLACK}Digite um nome para o padrão +STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}Nome selecionado para o padrão ser salvo +STR_SAVE_PRESET_CANCEL :{BLACK}Cancelar +STR_SAVE_PRESET_CANCEL_TOOLTIP :{BLACK}Não altera o padrão +STR_SAVE_PRESET_SAVE :{BLACK}Salvar +STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}Salva o padrão com o nome selecionado + # NewGRF parameters window STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Alterar parâmetros NewGRF STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Fechar @@ -2820,14 +2869,17 @@ STR_NEWGRF_INSPECT_QUERY_CAPTION :{WHITE}Variáve # Sprite aligner window STR_SPRITE_ALIGNER_CAPTION :{WHITE}Alinhando "sprite" {COMMA} ({STRING}) STR_SPRITE_ALIGNER_NEXT_BUTTON :{BLACK}Próximo "sprite" -STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Prossegue ao próximo "sprite" normal, pulando quaisquer "sprites" falsos, recoloridos ou de fontes, e junta tudo no fim +STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Prossegue ao próximo "sprite" normal, pulando quaisquer "sprites" falsos, recoloridos ou de fontes, e junta tudo do último pro primeiro STR_SPRITE_ALIGNER_GOTO_BUTTON :{BLACK}Ir para o "sprite" STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}Vai para o "sprite" determinado. Se o "sprite" não é um "sprite" normal, segue para o próximo "sprite" normal STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}"Sprite" anterior -STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Retorna ao "sprite" normal anterior, pulando quaisquer "sprites" falsos, recoloridos ou de fontes, e junta tudo no início +STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Retorna ao "sprite" normal anterior, pulando quaisquer "sprites" falsos, recoloridos ou de fontes, e junta tudo do primeiro ao último STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Representação do "sprite" atualmente selecionado. O alinhamento é ignorado ao desenhar esse "sprite" STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Move o "sprite", alterando os offsets X e Y -STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X offset: {NUM}, Y offset: {NUM} +STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Resetar relativo +STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Reseta os offsets relativos atuais +STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}X offset: {NUM}, Y offset: {NUM} (Absoluto) +STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}X offset: {NUM}, Y offset: {NUM} (Relativo) STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Escolher "sprite" STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Escolhe um "sprite" de qualquer lugar na tela @@ -2939,8 +2991,8 @@ STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} entregues STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (ainda necessário) STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (entregue{P "" s}) -STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Cidade cresce a cada {ORANGE}{COMMA}{BLACK} dia{P "" s} -STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Cidade cresce a cada {ORANGE}{COMMA}{BLACK} dia{P "" s} (patrocinado) +STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Cidade cresce a cada {ORANGE}{COMMA}{BLACK}{NBSP}dia{P "" s} +STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Cidade cresce a cada {ORANGE}{COMMA}{BLACK}{NBSP}dia{P "" s} (patrocinado) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}A cidade {RED}não{BLACK} está crescendo STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Limite de ruído na cidade: {ORANGE}{COMMA}{BLACK} max: {ORANGE}{COMMA} STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Centrar visão no local da cidade. Ctrl+Clique abre uma nova janela no local da cidade @@ -3000,7 +3052,7 @@ STR_GOAL_QUESTION_CAPTION_INFORMATION :Informação STR_GOAL_QUESTION_CAPTION_WARNING :Alerta STR_GOAL_QUESTION_CAPTION_ERROR :Erro -### Start of Goal Question button list +############ Start of Goal Question button list STR_GOAL_QUESTION_BUTTON_CANCEL :Cancelar STR_GOAL_QUESTION_BUTTON_OK :OK STR_GOAL_QUESTION_BUTTON_NO :Não @@ -3019,6 +3071,7 @@ STR_GOAL_QUESTION_BUTTON_RESTART :Reiniciar STR_GOAL_QUESTION_BUTTON_POSTPONE :Postergar STR_GOAL_QUESTION_BUTTON_SURRENDER :Desistir STR_GOAL_QUESTION_BUTTON_CLOSE :Fechar +############ End of Goal Question button list # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}Subsídios @@ -3054,7 +3107,6 @@ STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}Não há # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} -STR_STATION_VIEW_WAITING_TITLE :{BLACK}Aguardando: {WHITE}{STRING} STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} vindo de {STATION}) STR_STATION_VIEW_RESERVED :{YELLOW}({CARGO_SHORT} reservado para carregamento) @@ -3344,10 +3396,10 @@ STR_PURCHASE_INFO_ALL_BUT :Todas menos {CA STR_PURCHASE_INFO_MAX_TE :{BLACK}Tração máx : {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Alcance: {GOLD}{COMMA} quadrados -STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Lista de trens - clique num trem para informações -STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Lista de automóveis - clique num automóvel para informações -STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Lista de embarcações - clique numa embarcação para informações -STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Lista de aeronaves - clique numa aeronave para informações +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 +STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Lista de embarcações - clique numa embarcação para informações. Cltr+Clique para alterar a visibilidade do tipo de navio +STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Lista de aeronaves - clique numa aeronave para informações. Cltr+Clique para alterar a visibilidade do tipo de aeronave STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}Comprar Veículo STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Comprar Veículo @@ -3369,6 +3421,21 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Renomear STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Renomear tipo de embarcação STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Renomear tipo de aeronave +STR_BUY_VEHICLE_TRAIN_HIDE_TOGGLE_BUTTON :{BLACK}Ocultar +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_TOGGLE_BUTTON :{BLACK}Ocultar +STR_BUY_VEHICLE_SHIP_HIDE_TOGGLE_BUTTON :{BLACK}Ocultar +STR_BUY_VEHICLE_AIRCRAFT_HIDE_TOGGLE_BUTTON :{BLACK}Ocultar + +STR_BUY_VEHICLE_TRAIN_SHOW_TOGGLE_BUTTON :{BLACK}Exibir +STR_BUY_VEHICLE_ROAD_VEHICLE_SHOW_TOGGLE_BUTTON :{BLACK}Exibir +STR_BUY_VEHICLE_SHIP_SHOW_TOGGLE_BUTTON :{BLACK}Exibir +STR_BUY_VEHICLE_AIRCRAFT_SHOW_TOGGLE_BUTTON :{BLACK}Exibir + +STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Alterna a exibição do tipo de trem +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Alterna a exibição do tipo de automóvel +STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Alterna a exibição do tipo de navio +STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Alterna a exibição do tipo de aeronave + STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}Renomear tipo de veículo ferroviário STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}Renomear tipo do automóvel STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}Renomear tipo de embarcação @@ -3422,7 +3489,7 @@ STR_DEPOT_CLONE_ROAD_VEHICLE :{BLACK}Clonar A STR_DEPOT_CLONE_SHIP :{BLACK}Clonar Embarcação STR_DEPOT_CLONE_AIRCRAFT :{BLACK}Clonar Aeronave -STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Isso irá comprar uma cópia do trem, incluindo todos os vagões. Clique neste botão e depois em um trem dentro ou fora do depósito. Ctrl+Clique compartilhará as ordens. Shift+Clique mostra o preço estimado sem a compra +STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Isso irá comprar uma cópia do trem incluindo todos os vagões. Clique neste botão e depois em um trem dentro ou fora do depósito. Ctrl+Clique compartilhará as ordens. Shift+Clique mostra o preço estimado sem a compra STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Isso irá comprar uma cópia do automóvel. Clique neste botão e depois em um automóvel dentro ou fora da garagem. Ctrl+Clique compartilhará as ordens. Shift+Clique mostra o preço estimado sem a compra STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Isso irá comprar uma cópia da embarcação. Clique neste botão e depois em uma embarcação dentro ou fora do depósito naval. Ctrl+Clique irá compartilhar as ordens. Shift+Clique mostra preço estimado sem a compra STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Isso irá comprar uma cópia de uma aeronave. Clique nesse botão e depois em uma aeronave dentro ou fora do hangar. Ctrl+Clique compartilhará as ordens. Shift+Clique mostra o preço estimado sem a compra @@ -3473,6 +3540,11 @@ STR_REPLACE_VEHICLE_ROAD_VEHICLE :{G=m}Automóvel STR_REPLACE_VEHICLE_SHIP :{G=m}Embarcação STR_REPLACE_VEHICLE_AIRCRAFT :{G=f}Aeronave +STR_REPLACE_VEHICLE_VEHICLES_IN_USE :{YELLOW}Veículos em uso +STR_REPLACE_VEHICLE_VEHICLES_IN_USE_TOOLTIP :[BLACK}Coluna com os veículos que você possui +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES :{YELLOW}Veículos disponíveis +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES_TOOLTIP :{BLACK}Coluna com os veículos disponíveis para substituição + STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Selecionar o tipo de motor para substituir STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Selecionar o novo tipo de motor para substituir o que selecionou à esquerda @@ -3597,7 +3669,7 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Capacida STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Transferir Dinheiro: {LTBLUE}{CURRENCY_LONG} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Intervalo de serviço: {LTBLUE}{COMMA}dias{BLACK} Último serviço: {LTBLUE}{DATE_LONG} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Intervalo de manutenção: {LTBLUE}{COMMA}{NBSP}dias{BLACK} Última manutenção: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Intervalo de serviço: {LTBLUE}{COMMA}%{BLACK} Último serviço: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Aumentar intervalo de serviço em 10. Ctrl+Clique aumenta em 5 STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Reduzir intervalo de serviço em 10. Ctrl+Clique reduz em 5 @@ -3695,8 +3767,8 @@ STR_ORDER_TOOLTIP_UNLOAD :{BLACK}Altera a STR_ORDER_REFIT :{BLACK}Adaptar STR_ORDER_REFIT_TOOLTIP :{BLACK}Selecionar a adaptação na ordem atual. CTRL + Clique para remover a instrução -STR_ORDER_REFIT_AUTO :{BLACK}Auto-reforma -STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Selecione o tipo de carga para o qual auto-reformar nessa ordem. Ctrl+clique para remover a ordem de reforma. Auto-reformar apenas será feito se o veículo permitir +STR_ORDER_REFIT_AUTO :{BLACK}Reformar na estação +STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Selecione o tipo de carga para o qual reformar nessa ordem. Ctrl+clique para remover a ordem de reforma. Reforma apenas será feita se o veículo permitir STR_ORDER_DROP_REFIT_AUTO :Carga fixa STR_ORDER_DROP_REFIT_AUTO_ANY :Cargas disponíveis @@ -3787,18 +3859,18 @@ STR_ORDER_NO_UNLOAD_FULL_LOAD :(Não descarreg STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY :(Não descarregar e esperar por qualquer carregamento completo) STR_ORDER_NO_UNLOAD_NO_LOAD :(Não descarregar e não carregar) -STR_ORDER_AUTO_REFIT :(Auto-reformar para {STRING}) -STR_ORDER_FULL_LOAD_REFIT :(Carga completa com auto-reforma para {STRING}) -STR_ORDER_FULL_LOAD_ANY_REFIT :(Qualquer carga completa com auto-reforma para {STRING}) -STR_ORDER_UNLOAD_REFIT :(Descarregar e carregar com auto-reforma para {STRING}) -STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(Descarregar e aguardar carga completa com auto-reforma para {STRING}) -STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(Descarregar e aguardar qualquer carga completa com auto-reforma para {STRING}) -STR_ORDER_TRANSFER_REFIT :(Transferir e carregar com auto-reforma para {STRING}) -STR_ORDER_TRANSFER_FULL_LOAD_REFIT :(Transferir e aguardar carga completa com auto-reforma para {STRING}) -STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :(Transferir e aguardar por qualquer carga completa com auto-reforma para {STRING}) -STR_ORDER_NO_UNLOAD_REFIT :(Não descarregar e carregar com auto-reforma para {STRING}) -STR_ORDER_NO_UNLOAD_FULL_LOAD_REFIT :(Não descarregar e aguardar carga completa com auto-reforma para {STRING}) -STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY_REFIT :(Não carregar e aguardar por qualquer carga completa com auto-reforma para {STRING}) +STR_ORDER_AUTO_REFIT :(Reformar para {STRING}) +STR_ORDER_FULL_LOAD_REFIT :(Carga completa com reforma para {STRING}) +STR_ORDER_FULL_LOAD_ANY_REFIT :(Qualquer carga completa com reforma para {STRING}) +STR_ORDER_UNLOAD_REFIT :(Descarregar e carregar com reforma para {STRING}) +STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(Descarregar e aguardar carga completa com reforma para {STRING}) +STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(Descarregar e aguardar qualquer carga completa com reforma para {STRING}) +STR_ORDER_TRANSFER_REFIT :(Transferir e carregar com reforma para {STRING}) +STR_ORDER_TRANSFER_FULL_LOAD_REFIT :(Transferir e aguardar carga completa com reforma para {STRING}) +STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :(Transferir e aguardar por qualquer carga completa com reforma para {STRING}) +STR_ORDER_NO_UNLOAD_REFIT :(Não descarregar e carregar com reforma para {STRING}) +STR_ORDER_NO_UNLOAD_FULL_LOAD_REFIT :(Não descarregar e aguardar carga completa com reforma para {STRING}) +STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY_REFIT :(Não descarregar e aguardar por qualquer carga completa com reforma para {STRING}) STR_ORDER_AUTO_REFIT_ANY :cargas disponíveis @@ -3822,18 +3894,22 @@ STR_TIMETABLE_ORDER_VIEW_TOOLTIP :{BLACK}Alternar STR_TIMETABLE_TOOLTIP :{BLACK}Horário - clique sobre uma ordem para destaca-la STR_TIMETABLE_NO_TRAVEL :Não viajar -STR_TIMETABLE_NOT_TIMETABLEABLE :Viagem (automático; calendarizada pela próxima ordem manual) -STR_TIMETABLE_TRAVEL_NOT_TIMETABLED :Viajar (não calendarizado) -STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Viaje em até {2:VELOCITY} (sem plano de horário) +STR_TIMETABLE_NOT_TIMETABLEABLE :Viagem (automático; com horário marcado pela próxima ordem manual) +STR_TIMETABLE_TRAVEL_NOT_TIMETABLED :Viajar (sem horário marcado) +STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Viagem a no máximo {2:VELOCITY} (sem horário marcado) STR_TIMETABLE_TRAVEL_FOR :Viajar para {STRING} STR_TIMETABLE_TRAVEL_FOR_SPEED :Viaje por {STRING} em até {VELOCITY} +STR_TIMETABLE_TRAVEL_FOR_ESTIMATED :Viajar (por {STRING}, sem horário marcado) +STR_TIMETABLE_TRAVEL_FOR_SPEED_ESTIMATED :Viajar (por {STRING}, sem horário marcado) a no máximo {VELOCITY} +STR_TIMETABLE_STAY_FOR_ESTIMATED :(aguardar por {STRING}, sem horário marcado) +STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(viajar para {STRING}, sem horário marcado) STR_TIMETABLE_STAY_FOR :e ficar durante {STRING} STR_TIMETABLE_AND_TRAVEL_FOR :e viajar por {STRING} -STR_TIMETABLE_DAYS :{COMMA} dia{P "" s} -STR_TIMETABLE_TICKS :{COMMA} tique{P "" s} +STR_TIMETABLE_DAYS :{COMMA}{NBSP}dia{P "" s} +STR_TIMETABLE_TICKS :{COMMA}{NBSP}tique{P "" s} STR_TIMETABLE_TOTAL_TIME :{BLACK}Este horário levará {STRING} para completar -STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}Este horário levará no mínimo {STRING} para completar (nem todos calendarizados) +STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}Este horário levará no mínimo {STRING} para completar (nem todos com horário marcado) STR_TIMETABLE_STATUS_ON_TIME :{BLACK}Este veículo está atualmente circulando pontualmente STR_TIMETABLE_STATUS_LATE :{BLACK}Este veículo está atualmente circulando {STRING} atrasado @@ -4068,6 +4144,7 @@ STR_ERROR_EXCAVATION_WOULD_DAMAGE :{WHITE}A escava STR_ERROR_ALREADY_AT_SEA_LEVEL :{WHITE}Já está ao nível do mar STR_ERROR_TOO_HIGH :{WHITE}Muito alto STR_ERROR_ALREADY_LEVELLED :{WHITE}... já está plano +STR_ERROR_BRIDGE_TOO_HIGH_AFTER_LOWER_LAND :{WHITE}A ponte acima ficaria muito alta. # Company related errors STR_ERROR_CAN_T_CHANGE_COMPANY_NAME :{WHITE}Impossível alterar o nome da empresa... @@ -4094,7 +4171,7 @@ STR_ERROR_TOO_CLOSE_TO_EDGE_OF_MAP_SUB :{WHITE}... muit STR_ERROR_TOO_CLOSE_TO_ANOTHER_TOWN :{WHITE}... muito perto de outra cidade STR_ERROR_TOO_MANY_TOWNS :{WHITE}... cidades demais STR_ERROR_NO_SPACE_FOR_TOWN :{WHITE}... não há mais espaço no mapa -STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}A cidade não irá construir estradas. Você pode ativar essa opção através de Config. Avançadas>Economia>Cidades +STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}A cidade não irá construir estradas. Você pode ativar a construção através de Configurações->Ambiente->Cidades STR_ERROR_ROAD_WORKS_IN_PROGRESS :{WHITE}Recapeamento rodoviário em progresso STR_ERROR_TOWN_CAN_T_DELETE :{WHITE}Impossível remover cidade... {}Uma estação ou depósito referente à essa cidade não pode ser removido STR_ERROR_STATUE_NO_SUITABLE_PLACE :{WHITE}... não há local para uma estátua no centro dessa cidade @@ -4118,6 +4195,9 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... a fl STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... só pode ser construído acima do nível da neve STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... só pode ser construída abaixo do nível da neve +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}Não existe locais aceitáveis para '{STRING}' indústrias +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Mude os parâmetros de geração do mapa para obter um mapa melhor + # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Impossível construir estação ferroviária aqui... STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}Impossível construir estação de ônibus... @@ -4254,6 +4334,7 @@ STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Remova a STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}Impossível iniciar e terminar no mesmo ponto STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}Extremidades da ponte não estão no mesmo nível STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}Ponte é muito baixa para o terreno +STR_ERROR_BRIDGE_TOO_HIGH_FOR_TERRAIN :{WHITE}A ponte está muito alta para esse terreno. STR_ERROR_START_AND_END_MUST_BE_IN :{WHITE}Inicio e fim devem estar alinhados STR_ERROR_ENDS_OF_BRIDGE_MUST_BOTH :{WHITE}... os extremos da ponte devem estar sobre a terra STR_ERROR_BRIDGE_TOO_LONG :{WHITE}... ponte muito longa @@ -4818,6 +4899,7 @@ STR_COMPANY_NAME :{COMPANY} STR_COMPANY_NAME_COMPANY_NUM :{COMPANY} {COMPANY_NUM} STR_DEPOT_NAME :{DEPOT} STR_ENGINE_NAME :{ENGINE} +STR_HIDDEN_ENGINE_NAME :{ENGINE} (oculto) STR_GROUP_NAME :{GROUP} STR_INDUSTRY_NAME :{INDUSTRY} STR_PRESIDENT_NAME :{PRESIDENT_NAME} @@ -4853,8 +4935,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -4865,9 +4945,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/bulgarian.txt b/src/lang/bulgarian.txt index e4c77b2ab2..9d88718fb7 100644 --- a/src/lang/bulgarian.txt +++ b/src/lang/bulgarian.txt @@ -211,19 +211,19 @@ STR_UNITS_WEIGHT_LONG_SI :{COMMA} кг STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}гал STR_UNITS_VOLUME_SHORT_METRIC :{COMMA} л. -STR_UNITS_VOLUME_SHORT_SI :{COMMA} м³ +STR_UNITS_VOLUME_SHORT_SI :{COMMA}{NBSP}м³ -STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA} галон{P "" и} -STR_UNITS_VOLUME_LONG_METRIC :{COMMA} лит{P ър ри} -STR_UNITS_VOLUME_LONG_SI :{COMMA} куб. м. +STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA}{NBSP}галон{P "" и} +STR_UNITS_VOLUME_LONG_METRIC :{COMMA}{NBSP}лит{P ър ри} +STR_UNITS_VOLUME_LONG_SI :{COMMA}{NBSP}куб. м. -STR_UNITS_FORCE_IMPERIAL :{COMMA} lbf -STR_UNITS_FORCE_METRIC :{COMMA} kgf -STR_UNITS_FORCE_SI :{COMMA} kN +STR_UNITS_FORCE_IMPERIAL :{COMMA}{NBSP}lbf +STR_UNITS_FORCE_METRIC :{COMMA}{NBSP}kgf +STR_UNITS_FORCE_SI :{COMMA}{NBSP}kN -STR_UNITS_HEIGHT_IMPERIAL :{COMMA} фут -STR_UNITS_HEIGHT_METRIC :{COMMA} м -STR_UNITS_HEIGHT_SI :{COMMA} м +STR_UNITS_HEIGHT_IMPERIAL :{COMMA}{NBSP}фут +STR_UNITS_HEIGHT_METRIC :{COMMA}{NBSP}м +STR_UNITS_HEIGHT_SI :{COMMA}{NBSP}м # Common window strings STR_LIST_FILTER_TITLE :{BLACK}Филтриращ низ: @@ -248,6 +248,17 @@ STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Лент STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Превъртаща ивица - превърта списъка на ляво/дясно STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Разруши постройки и др. върху квадрат от картата. Ctrl маркира по диагонал. Shift показва евентуалната цена на разрушението. +# Show engines button +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}Покажи скрити +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK}Покажи скрити +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}Покажи скрити +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}Покажи скрити + +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}С активирането на бутона всички скрити влакове също се показват +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE_TOOLTIP :{BLACK}С активирането на бутона всички скрити автомобили също се показват +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}С активирането на бутона всички скрити кораби също се показват +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}С активирането на бутона всички скрити самолети също се показват + # Query window STR_BUTTON_DEFAULT :{BLACK}По подразбиране STR_BUTTON_CANCEL :{BLACK}Отказ @@ -360,7 +371,7 @@ STR_SCENEDIT_FILE_MENU_QUIT :Изход ############ range for settings menu starts STR_SETTINGS_MENU_GAME_OPTIONS :Игрови опции -STR_SETTINGS_MENU_CONFIG_SETTINGS :Настройки за напреднали +STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Настройки STR_SETTINGS_MENU_SCRIPT_SETTINGS :Настройка на ИИ програмите STR_SETTINGS_MENU_NEWGRF_SETTINGS :Newgrf настройки STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Настройки на прозрачност @@ -468,7 +479,7 @@ STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Превклю STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Превключва оцветяване на замърсените блокове ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window STR_ORDINAL_NUMBER_1ST :1-ви STR_ORDINAL_NUMBER_2ND :2-ри STR_ORDINAL_NUMBER_3RD :3-ти @@ -484,22 +495,40 @@ STR_ORDINAL_NUMBER_12TH :12-ти STR_ORDINAL_NUMBER_13TH :13-ти STR_ORDINAL_NUMBER_14TH :14-ти STR_ORDINAL_NUMBER_15TH :15-ти -STR_ORDINAL_NUMBER_16TH :16-ти -STR_ORDINAL_NUMBER_17TH :17-ти -STR_ORDINAL_NUMBER_18TH :18-ти -STR_ORDINAL_NUMBER_19TH :19-ти -STR_ORDINAL_NUMBER_20TH :20-ти -STR_ORDINAL_NUMBER_21ST :21-ви -STR_ORDINAL_NUMBER_22ND :22-ри -STR_ORDINAL_NUMBER_23RD :23-ти -STR_ORDINAL_NUMBER_24TH :24-ти -STR_ORDINAL_NUMBER_25TH :25-ти -STR_ORDINAL_NUMBER_26TH :26-ти -STR_ORDINAL_NUMBER_27TH :27-ми -STR_ORDINAL_NUMBER_28TH :28-и -STR_ORDINAL_NUMBER_29TH :29-и -STR_ORDINAL_NUMBER_30TH :30-ти -STR_ORDINAL_NUMBER_31ST :31-ви +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :1-ви +STR_DAY_NUMBER_2ND :2-ри +STR_DAY_NUMBER_3RD :3-ти +STR_DAY_NUMBER_4TH :4-ти +STR_DAY_NUMBER_5TH :5-и +STR_DAY_NUMBER_6TH :6-и +STR_DAY_NUMBER_7TH :7-и +STR_DAY_NUMBER_8TH :8-и +STR_DAY_NUMBER_9TH :9-ти +STR_DAY_NUMBER_10TH :10-ти +STR_DAY_NUMBER_11TH :11-ти +STR_DAY_NUMBER_12TH :12-ти +STR_DAY_NUMBER_13TH :13-ти +STR_DAY_NUMBER_14TH :14-ти +STR_DAY_NUMBER_15TH :15-ти +STR_DAY_NUMBER_16TH :16-ти +STR_DAY_NUMBER_17TH :17-ти +STR_DAY_NUMBER_18TH :18-ти +STR_DAY_NUMBER_19TH :19-ти +STR_DAY_NUMBER_20TH :20-ти +STR_DAY_NUMBER_21ST :21-ви +STR_DAY_NUMBER_22ND :22-ри +STR_DAY_NUMBER_23RD :23-ти +STR_DAY_NUMBER_24TH :24-ти +STR_DAY_NUMBER_25TH :25-ти +STR_DAY_NUMBER_26TH :26-ти +STR_DAY_NUMBER_27TH :27-ми +STR_DAY_NUMBER_28TH :28-и +STR_DAY_NUMBER_29TH :29-и +STR_DAY_NUMBER_30TH :30-ти +STR_DAY_NUMBER_31ST :31-ви ############ range for days ends ############ range for months starts @@ -802,13 +831,11 @@ STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}{VEHICLE STR_NEWS_SHIP_IS_WAITING :{WHITE}{VEHICLE} чака в депото STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE} чака в хангара -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE +# Order review system / warnings STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE} има прекалено малко задачи STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE} има празна задача STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE} има дублирани задачи STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE} има невалидна спирка в задачите -# end of order system STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} започва да остарява STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} е много остаряло @@ -891,10 +918,6 @@ STR_GAME_OPTIONS_CURRENCY_GEL :Грузинс STR_GAME_OPTIONS_CURRENCY_IRR :Ирански Риал (ИРР) ############ end of currency region - -############ start of measuring units region -############ end of measuring units region - STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Движение по пътищата STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}Избор посоката на движение по пътищата STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :ляво @@ -930,11 +953,13 @@ STR_GAME_OPTIONS_TOWN_NAME_CATALAN :каталон STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Автозаписване STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Интервала между две автозаписваня +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :изключено STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :всеки месец STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :всеки 3 месеца STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :всеки 6 месеца STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :всеки 12 месеца +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}Език STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Избор на език @@ -946,8 +971,12 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}Разм STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Избор размера на екран STR_GAME_OPTIONS_RESOLUTION_OTHER :друго -STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}Формат на снимките -STR_GAME_OPTIONS_SCREENSHOT_FORMAT_TOOLTIP :{BLACK}Избор на файловия форма в който ще се записват екранните снимки +STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Интерфейс размер +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Изберете размера на интерфейс елемент за използване + +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Нормално +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Двукратно +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Четирикратно STR_GAME_OPTIONS_BASE_GRF :{BLACK}Базов графичен набор STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Изберете базов графичен набор @@ -963,6 +992,7 @@ STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Избе STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} повреден файл{P "" s} STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Допълнителна информация за пакетът базовата музика +STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Неуспешно извличане на списък с поддържаните резолюции STR_ERROR_FULLSCREEN_FAILED :{WHITE}Проблем при включване на режим "цял екран" # Custom currency window @@ -1041,6 +1071,7 @@ STR_TERRAIN_TYPE_VERY_FLAT :платови STR_TERRAIN_TYPE_FLAT :равнинен STR_TERRAIN_TYPE_HILLY :хълмист STR_TERRAIN_TYPE_MOUNTAINOUS :планински +STR_TERRAIN_TYPE_ALPINIST :Алпинист STR_CITY_APPROVAL_PERMISSIVE :разрешаващи STR_CITY_APPROVAL_TOLERANT :толерантни @@ -1048,8 +1079,8 @@ STR_CITY_APPROVAL_HOSTILE :враждеб STR_WARNING_NO_SUITABLE_AI :{WHITE}Няма подходящи AI...{}Можете да свалите допълнителни AI чрез системата Online Content (Онлайн Съдържание) -# Advanced settings window -STR_CONFIG_SETTING_CAPTION :{WHITE}Настройки за напреднали +# Settings tree window +STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Настройки STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Филтриращ низ: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Разгъни всички STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Сгъни всички @@ -1125,8 +1156,9 @@ STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Включва STR_CONFIG_SETTING_CITY_APPROVAL :Отношението на градския съвет към реструктурирането на района: {STRING} STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Изберете какво количество шум и поражения по околната среда причинени от компаниите афектират техния рейтинг в града и бъдещи конструкции в района. -STR_CONFIG_SETTING_BUILDONSLOPES :Строене на склонове и брегове: {STRING.n} -STR_CONFIG_SETTING_BUILDONSLOPES_HELPTEXT :Ако бъде активирано, ЖП линиите и гарите могат да бъдат построени на повечето склонове. Ако е деактивирано могат да бъдат построени само на склонове, които съвпадат с посоката на линията и следователно не изискват основи +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :Максимална височина на картата: {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :Определете максималната допустима височина за планини на картата +STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}Не можете да зададете максималната височина на картата на тази стойност. Поне една планина на карта е по-висока STR_CONFIG_SETTING_AUTOSLOPE :Тераформиране под постройки (autoslope): {STRING} STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Разреши промяна на наклона на терена под постройки и пътища без необходимост от премахване STR_CONFIG_SETTING_CATCHMENT :По-реалистична зона за обслужване: {STRING} @@ -1151,16 +1183,12 @@ STR_CONFIG_SETTING_FORBID_90_DEG :Забрани STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90 градусови завои, това е, когато хоризонтални релси са последвани от вертикални, следователно влакът прави 90 градусов завой когато преминава през тях, вместо нормалният 45 градусов завой при останалите комбинации от релси. Това се отнася и за завоите на корабите STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Позволено е присъединяването на станции, които не се допират: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Позволява добавянето на части към дадена гара без директно на докосва вече съществуващи нейни части. Натиснете Ctrl+Click докато поставяте новите части -STR_CONFIG_SETTING_IMPROVEDLOAD :Подобрен алгоритъм за зареждане: {STRING} -STR_CONFIG_SETTING_IMPROVEDLOAD_HELPTEXT :Ако е активирано, превозните средства чакащи на гарите биват натоварвани последователно. Натоварването на следващото превозно средство започва едва когато има достатъчно товар, който да запълни напълно превозното средство преди него -STR_CONFIG_SETTING_GRADUAL_LOADING :Постепенно зареждане на автомобилите: {STRING} -STR_CONFIG_SETTING_GRADUAL_LOADING_HELPTEXT :Постепенно натоварване на превозните средства, използва се специфична продължителност за натоварването на различните стоки, вместо всичко да се товари наведнъж за фиксирано време, зависещо единствено от количеството на товара STR_CONFIG_SETTING_INFLATION :Инфлация: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :Разрешава инфлация на икономиката, при което цените ще се покачват малко по-бързо от заплащането -STR_CONFIG_SETTING_SELECTGOODS :Доставяне на стока до станция само ако има търсене: {STRING} -STR_CONFIG_SETTING_SELECTGOODS_HELPTEXT :Доставяне на товара само на спирките, които са го изискали от товарещо превозно средство. Това предотвратява лош ратинг за стоки, които не се приемат на дадена станция STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Максимална дължина на мост: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Максимална дължина за построяване на мост +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :Максимална височина на мост: {STRING} +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :Максимална височина за изграждане на мостове STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Максимална дължина на тунел: {STRING} STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :Максимална дължина за построяване на тунел STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Ръчен строеж на първични индустрии: {STRING} @@ -1186,8 +1214,6 @@ STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Мястото STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :в близкия край STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :по средата STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :в далечния край -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING :Опашка на автомобилите (със сумарен ефект): {STRING.f} -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING_HELPTEXT :Пътните превозни средства ще изчакват пред заетите спирки, докато не се освободят STR_CONFIG_SETTING_AUTOSCROLL :Местене на екрана когато мишката е в края: {STRING.n} STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Ако тази опция бъде активирана, viewports ще се "скролват" кога курсора на мишката доближи края на прозореца STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Изключен @@ -1218,10 +1244,6 @@ STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Премина STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Позволява строежа на ЖП линии пресичащи път притежаван от даден град STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Преминаване през спирки на пътища, собственост на конкуренти: {STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Позволява строежа на ЖП линии пресичащи път притежаван от други компании -STR_CONFIG_SETTING_ADJACENT_STATIONS :Позвалявай допрени гари: {STRING} -STR_CONFIG_SETTING_ADJACENT_STATIONS_HELPTEXT :Разреши различни станции взаимно да се допират -STR_CONFIG_SETTING_DYNAMIC_ENGINES :Няколко NewGRF алгоритъма едновременно: {STRING} -STR_CONFIG_SETTING_DYNAMIC_ENGINES_HELPTEXT :Опция за съвместимост за стари NewGRFs. Не деактивирайте тази опция, освен ако наистина знаете какво правите! STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Промяната не е възможна, когато има превозни средства. STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Поддръжка на инфраструктурата: {STRING} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Когато е разрешено, съществуват разходи за поддръжка на инфраструктурата. Разходите се увеличават пропорционално на размера на пътната мрежа, влияейки повече на големите компании отколкото на по-малките @@ -1252,7 +1274,7 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :Продълж STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Време през което съобщенията за грешки се показват в червен прозорец. Някой (критичните) съобщения за грешки не се затварят автоматично след това време, а трябва да бъдат затворени ръчно. STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{COMMA} секунд{P 0 а и} STR_CONFIG_SETTING_HOVER_DELAY :Покажи съвети: {STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Изкачване преди съветът да се покаже, когато мишката е върху елемент от интерфейса. Алтернативно съветите могат да бъдат активирани с десния бутон на мишката +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Изкачване преди съветът да се покаже, когато мишката е върху елемент от интерфейса. Алтернативно съветите могат да бъдат активирани с десния бутон на мишката ако стойността е 0 STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Изчакай за {COMMA} секунд{P 0 а и} STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Десен бутон STR_CONFIG_SETTING_POPULATION_IN_LABEL :Население в табелата на града: {STRING.n} @@ -1275,12 +1297,12 @@ STR_CONFIG_SETTING_TREE_PLACER :Алгорит STR_CONFIG_SETTING_TREE_PLACER_NONE :без дървета STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :оригинален STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :подобрен +STR_CONFIG_SETTING_ROAD_SIDE :Пътни превозни средства: {STRING} +STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :Изберете страна шофиране STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Завъртане на картата: {STRING} STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Обратрно на часовниковата стрелка STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :По часовниковата стрелка STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :Височина на картата за плосък сценарий: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :Разреши тераформирането на терена в краищата на картата: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES_HELPTEXT :Ако се забрани, границите на картата е винаги океан STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}Една или повече плочи в северния край не са празни STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}Един или повече от плочките в един от краищата не е вода @@ -1331,16 +1353,15 @@ 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_AUTOSAVE :Автоматично запазване: {STRING} +STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Изберете интервал между автоматично запаметяване на играта + STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Използвай {STRING} формат на датата за имена на записаните игри. STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Формат на датата във файловете за запис на играта STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :дълъг (31st Dec 2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :къс (31-12-2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE :Палитра по подразбиране за NewGRF, които не са задали палитра: {STRING} -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_HELPTEXT :Палитра по подразбиране за NewGRF, за които е зададена от коя се нуждаят -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_WIN :Legacy (W) palette - STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Игрите започват в пауза: {STRING} STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :Ако тази опция бъде активирана, играта автоматично ще бъде паузирана, когато започнете нова игра, това ще ви позволи да изучите по-подробно картата STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :По време на пауза разреши: {STRING} @@ -1423,7 +1444,7 @@ STR_CONFIG_SETTING_SERVINT_ISPERCENT :Интерва STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Изберете дали обслужването на превозните средства е предизвикано от времето изминало от последното им обслужване, или от падането на надеждността им под даден процент от максималната им надеждност STR_CONFIG_SETTING_SERVINT_TRAINS :Интервал на обслужване за влакове: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Задайте интервала за обслужване на новите влакове по подразбиране, ако такъв интервал не е зададен за превозното средство -STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA} д{P 0 ен ни}/% +STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}д{P 0 ен ни}/% STR_CONFIG_SETTING_SERVINT_DISABLED :Изключен STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES :Интервал на обслужване за автомобили: {STRING} STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES_HELPTEXT :Задайте интервала за обслужване на новите пътни превозни средства по подразбиране, ако такъв интервал не е зададен за превозното средство @@ -1562,8 +1583,6 @@ STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 на {COMMA} STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Без STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Множител за големината на града: {STRING} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Относителен размер на мегаполисите в сравнение с градовете в началото на играта -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :Премахване на абсурдни разклонения при строене на пътища: {STRING} -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD_HELPTEXT :Премахва краищата на пътища при финансиране на ремонт на пътя STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Единици за скорост: {STRING} @@ -1602,26 +1621,16 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :Imperial (ft) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :Metric (m) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :SI (m) -STR_CONFIG_SETTING_GUI :{ORANGE}Интерфейс STR_CONFIG_SETTING_LOCALISATION :{ORANGE}Позициониране -STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}Строене -STR_CONFIG_SETTING_VEHICLES :{ORANGE}Автомобили -STR_CONFIG_SETTING_STATIONS :{ORANGE}Станции -STR_CONFIG_SETTING_ECONOMY :{ORANGE}Икономика -STR_CONFIG_SETTING_AI :{ORANGE}Съперници -STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}Покажи опциите -STR_CONFIG_SETTING_INTERACTION :{ORANGE}Взаимодействие STR_CONFIG_SETTING_SOUND :{ORANGE}Звукови ефекти -STR_CONFIG_SETTING_NEWS :{ORANGE}Новини и съобщения -STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}Сигнализация -STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE}Обработката на товари -STR_CONFIG_SETTING_AI_NPC :{ORANGE}Компютърни играчи -STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE}Автоматично подновяване -STR_CONFIG_SETTING_VEHICLES_SERVICING :{ORANGE}Сервизиране +STR_CONFIG_SETTING_INTERFACE :{ORANGE}Интерфейс +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Строене +STR_CONFIG_SETTING_VEHICLES :{ORANGE}Автомобили STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Маршрутизация -STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}Влакове -STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}Градове -STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}Индустрии +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Градове +STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}Индустрии +STR_CONFIG_SETTING_AI :{ORANGE}Съперници +STR_CONFIG_SETTING_AI_NPC :{ORANGE}Компютърни играчи STR_CONFIG_SETTING_PATHFINDER_OPF :Оригинален STR_CONFIG_SETTING_PATHFINDER_NPF :NPF @@ -1669,7 +1678,7 @@ STR_INTRO_MULTIPLAYER :{BLACK}Онла STR_INTRO_GAME_OPTIONS :{BLACK}Настройки STR_INTRO_HIGHSCORE :{BLACK}Таблица с най-добрите резултати -STR_INTRO_ADVANCED_SETTINGS :{BLACK}Настройки за напреднали +STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Настройки STR_INTRO_NEWGRF_SETTINGS :{BLACK}NewGRF настройки STR_INTRO_ONLINE_CONTENT :{BLACK}Провери онлайн съдържанието STR_INTRO_SCRIPT_SETTINGS :{BLACK}ИИ/Игрови настройки @@ -1689,7 +1698,7 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Избе STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Покажи параметрите на играта STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Показване на таблицата с най-добри резултати -STR_INTRO_TOOLTIP_ADVANCED_SETTINGS :{BLACK}Покажи настройките за напреднали +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Настройки на дисплея STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Покажи NewGRF настройки STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Провери за ново съдържание за сваляне STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Показва настройките на ИИ @@ -1729,6 +1738,8 @@ STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Игр STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Магически булдозер (премахва промишленост, неподвижни обекти): {ORANGE}{STRING} STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}Тунелите може да се пресичат: {ORANGE}{STRING} STR_CHEAT_NO_JETCRASH :{LTBLUE}Реактивните самолети няма да се разбиват (често) в малки летища: {ORANGE} {STRING} +STR_CHEAT_EDIT_MAX_HL :{LTBLUE}Редактиране на максималната височина на картата:{ORANGE}{NUM} +STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Редактиране на максималната височина на планините, на картата STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE :умерен климат STR_CHEAT_SWITCH_CLIMATE_SUB_ARCTIC_LANDSCAPE :Арктичен климат STR_CHEAT_SWITCH_CLIMATE_SUB_TROPICAL_LANDSCAPE :Тропически климат @@ -1777,6 +1788,7 @@ STR_LIVERY_FREIGHT_TRAM :Товарен STR_FACE_CAPTION :{WHITE}Избор на лице STR_FACE_CANCEL_TOOLTIP :{BLACK}Прекъсване избора на ново лице STR_FACE_OK_TOOLTIP :{BLACK}Признавам избора на ново лице +STR_FACE_RANDOM :{BLACK}Произволно STR_FACE_MALE_BUTTON :{BLACK}Мъж STR_FACE_MALE_TOOLTIP :{BLACK}Избери мъжки лица @@ -2207,8 +2219,14 @@ STR_TRANSPARENT_LOADING_TOOLTIP :{BLACK}Вклу STR_TRANSPARENT_INVISIBLE_TOOLTIP :{BLACK}Направи обектите невидими вместо прозрачни # Linkgraph legend window +STR_LINKGRAPH_LEGEND_ALL :{BLACK}Всички +STR_LINKGRAPH_LEGEND_NONE :{BLACK}Николко +STR_LINKGRAPH_LEGEND_SELECT_COMPANIES :{BLACK}Изберете компании, който да се показват # Linkgraph legend window and linkgraph legend in smallmap +STR_LINKGRAPH_LEGEND_UNUSED :{TINY_FONT}{BLACK}неизползван +STR_LINKGRAPH_LEGEND_SATURATED :{TINY_FONT}{BLACK}наситен +STR_LINKGRAPH_LEGEND_OVERLOADED :{TINY_FONT}{BLACK}претоварен # Base for station construction window(s) STR_STATION_BUILD_COVERAGE_AREA_TITLE :{BLACK}Маркиране на Отбелязаната зона @@ -2608,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-2014 The OpenTTD team +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2015 The OpenTTD team # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Запази играта @@ -2642,13 +2660,12 @@ STR_MAPGEN_BY :{BLACK}* STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Брой градове: STR_MAPGEN_DATE :{BLACK}Дата: STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Брой индустрии: +STR_MAPGEN_MAX_HEIGHTLEVEL :{BLACK}Максимална височина на картата: +STR_MAPGEN_MAX_HEIGHTLEVEL_UP :{BLACK}Увеличаване на максималната височина на планините на карта с едно +STR_MAPGEN_MAX_HEIGHTLEVEL_DOWN :{BLACK}Намаляне максималната височина на планините на карта с едно STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}Снежна линия: STR_MAPGEN_SNOW_LINE_UP :{BLACK}Преместване снежната линия нагоре STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}Преместване снежната линия надолу -STR_MAPGEN_RANDOM_SEED :{BLACK}Случайност: -STR_MAPGEN_RANDOM_SEED_HELP :{BLACK}Натиснете за въвеждане семе на случайност -STR_MAPGEN_RANDOM :{BLACK}Произволно -STR_MAPGEN_RANDOM_HELP :{BLACK}Промяна на случайността използване за генериране на терен STR_MAPGEN_LAND_GENERATOR :{BLACK}Земегенератор: STR_MAPGEN_TREE_PLACER :{BLACK}Дърворазсад: STR_MAPGEN_TERRAIN_TYPE :{BLACK}Тип на терен: @@ -2675,7 +2692,7 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Име STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Размер: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} -STR_MAPGEN_RANDOM_SEED_OSKTITLE :{BLACK}Въведи случаено семе +STR_MAPGEN_MAX_HEIGHTLEVEL_QUERY_CAPT :{WHITE}Промяна на максималната височина на картата STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}Височина на снежната линия STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Промяна началната година @@ -2730,6 +2747,8 @@ STR_NEWGRF_SETTINGS_MOVEUP :{BLACK}Наго STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP :{BLACK}Премества избрания NewGRF файл нагоре в списъка STR_NEWGRF_SETTINGS_MOVEDOWN :{BLACK}Надолу STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP :{BLACK}Премества избрания NewGRF файл надолу в списъка +STR_NEWGRF_SETTINGS_UPGRADE :{BLACK}Ъпгрейд +STR_NEWGRF_SETTINGS_UPGRADE_TOOLTIP :{BLACK}Подобрете NewGRF файлове, за които имате по-нова версия инсталирана STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}Списък на инсталираните NewGRF файлове STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}Настройване на параметрите @@ -2754,6 +2773,14 @@ STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Не е н STR_NEWGRF_SETTINGS_DISABLED :{RED}Изключен STR_NEWGRF_SETTINGS_INCOMPATIBLE :{G=n}{RED}Несъвместимо с тази версия на OpenTTD +# NewGRF save preset window +STR_SAVE_PRESET_TITLE :{BLACK}Въведи име за шаблона +STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}Текущо избраното име за именуване на шаблона +STR_SAVE_PRESET_CANCEL :Отказ +STR_SAVE_PRESET_CANCEL_TOOLTIP :{BLACK}Не променяй шаблона +STR_SAVE_PRESET_SAVE :{BLACK}Запис +STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}Запази шаблона за текущо избраното име + # NewGRF parameters window STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Промени параметрите на новите графики (NewGRF) STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Затвори @@ -2784,7 +2811,6 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Пред STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Продължи към предишен нормален sprite, Пропускайки всички псевдо/прерисувани/текстови sprite и ги облечи в края STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Показване на избрания sprite. Подредбата се пренебрегва при рисуването му. STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Преместване на sprite, променяйки X и Y координатите -STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X координата: {NUM}, Y координата: {NUM} STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Избери sprite STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Избери sprite от целия екран @@ -2895,8 +2921,8 @@ STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} доставено STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (все още трява) STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (доставено) -STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Града нараства всеги {ORANGE}{COMMA}{BLACK} д{P ен ни} -STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Града нараства всеки {ORANGE}{COMMA}{BLACK} д{P ен ни} (субсидиран) +STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Града нараства всеги {ORANGE}{COMMA}{BLACK}{NBSP}д{P ен ни} +STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Града нараства всеки {ORANGE}{COMMA}{BLACK}{NBSP}д{P ен ни} (субсидиран) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}Града {RED}не{BLACK} расте STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Лимит на шумът в градът: {ORANGE}{COMMA}{BLACK} най-много: {ORANGE}{COMMA} STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Фиксиране на главния изглед върху града. Ctrl+Click отваря прозорец на нов изглед върху града. @@ -2939,11 +2965,13 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}Пок STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW} Подкупването на местната власт за да увеличи рейтинга носи огромен риск ако бъдете хванати.{} Цена: {CURRENCY_LONG} # Goal window +STR_GOALS_CAPTION :{WHITE}{COMPANY} Цели STR_GOALS_SPECTATOR_CAPTION :{WHITE}Глобални цели STR_GOALS_GLOBAL_TITLE :{BLACK}Основни цели: STR_GOALS_TEXT :{ORANGE}{STRING} STR_GOALS_NONE :{ORANGE}- Никакви - STR_GOALS_SPECTATOR_NONE :{ORANGE}- Неприложимо- +STR_GOALS_PROGRESS :{ORANGE}напредък{STRING} STR_GOALS_COMPANY_TITLE :{BLACK}Цели на компанията: STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Кликни на задачата за да центрирате камерата на фабрика/град/плочка. Ctrl+Click отваря нов прозорец центриран на фабрика/град/плочка @@ -2953,8 +2981,8 @@ STR_GOAL_QUESTION_CAPTION_INFORMATION :Информа STR_GOAL_QUESTION_CAPTION_WARNING :Внимание STR_GOAL_QUESTION_CAPTION_ERROR :Грешка -### Start of Goal Question button list -STR_GOAL_QUESTION_BUTTON_CANCEL :Недобре +############ Start of Goal Question button list +STR_GOAL_QUESTION_BUTTON_CANCEL :Откажи STR_GOAL_QUESTION_BUTTON_OK :Добре STR_GOAL_QUESTION_BUTTON_NO :Не STR_GOAL_QUESTION_BUTTON_YES :Да @@ -2972,6 +3000,7 @@ STR_GOAL_QUESTION_BUTTON_RESTART :Рестарт STR_GOAL_QUESTION_BUTTON_POSTPONE :Отложи STR_GOAL_QUESTION_BUTTON_SURRENDER :Предай се STR_GOAL_QUESTION_BUTTON_CLOSE :Затвори +############ End of Goal Question button list # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}Субсидии @@ -2983,6 +3012,8 @@ STR_SUBSIDIES_SUBSIDISED_FROM_TO :{ORANGE}{STRING STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Натисни върху услугата за да се фокусира върху индустрията/града. Ctrl отваря нов изглед към индустрията/града # Story book window +STR_STORY_BOOK_NEXT_PAGE :{BLACK}Следваща +STR_STORY_BOOK_NEXT_PAGE_TOOLTIP :{BLACK}Отиди на следващата страница STR_STORY_BOOK_INVALID_GOAL_REF :{RED}Невалидна цел # Station list window @@ -2998,7 +3029,6 @@ STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}Няма # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} -STR_STATION_VIEW_WAITING_TITLE :{BLACK}Чакат: {WHITE}{STRING} STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} на път от {STATION}) STR_STATION_VIEW_RESERVED :{YELLOW}({CARGO_SHORT} запазени за товарене) @@ -3012,8 +3042,29 @@ STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPAN STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Рейтинги STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Покажи нивото на обслужване +STR_STATION_VIEW_SUPPLY_RATINGS_TITLE :{BLACK}Месечни доставки и местен рейтинг: +STR_STATION_VIEW_GROUP :{BLACK}По група +STR_STATION_VIEW_WAITING_STATION :Станция: Изчакване +STR_STATION_VIEW_WAITING_AMOUNT :Сума: Изчакване +STR_STATION_VIEW_PLANNED_STATION :Станция: Планирано +STR_STATION_VIEW_PLANNED_AMOUNT :Количество: Планирано +STR_STATION_VIEW_FROM :{YELLOW}{CARGO_SHORT} от {STATION} +STR_STATION_VIEW_VIA :{YELLOW}{CARGO_SHORT} посредством {STATION} +STR_STATION_VIEW_TO :{YELLOW}{CARGO_SHORT} до {STATION} +STR_STATION_VIEW_FROM_ANY :{RED}{CARGO_SHORT} от неизвестна станция +STR_STATION_VIEW_TO_ANY :{RED}{CARGO_SHORT} за която и да е гара +STR_STATION_VIEW_VIA_ANY :{RED}{CARGO_SHORT} посредством която и да е гара +STR_STATION_VIEW_FROM_HERE :{GREEN}{CARGO_SHORT} от тази гара +STR_STATION_VIEW_VIA_HERE :{GREEN}{CARGO_SHORT} спиране на тази гара +STR_STATION_VIEW_TO_HERE :{GREEN}{CARGO_SHORT} до тази станция +STR_STATION_VIEW_NONSTOP :{YELLOW}{CARGO_SHORT} без прекъсване +STR_STATION_VIEW_GROUP_S_V_D :Източник-Чрез-Дестинация +STR_STATION_VIEW_GROUP_S_D_V :Източник-Дестинация-Посредством +STR_STATION_VIEW_GROUP_V_S_D :Посредством-Източник-Дестинация +STR_STATION_VIEW_GROUP_V_D_S :Посредством-Дестинация-Източник +STR_STATION_VIEW_GROUP_D_S_V :Дестинация-Източник-Посредством STR_STATION_VIEW_GROUP_D_V_S :Посока-през-Източника ############ range for rating starts @@ -3226,6 +3277,7 @@ STR_GROUP_DELETE_TOOLTIP :{BLACK}Изтр STR_GROUP_RENAME_TOOLTIP :{BLACK}Преименувай избраната група STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Щракни да защитиш тази група от глобална автоматична замяна + STR_GROUP_ADD_SHARED_VEHICLE :Добави споделени превозни средства STR_GROUP_REMOVE_ALL_VEHICLES :Премахни всички превозни средсва @@ -3288,6 +3340,21 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Преи STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Промяна името на кораб STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Смяна името на самолета +STR_BUY_VEHICLE_TRAIN_HIDE_TOGGLE_BUTTON :{BLACK}Скрий +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_TOGGLE_BUTTON :{BLACK}Скрий +STR_BUY_VEHICLE_SHIP_HIDE_TOGGLE_BUTTON :{BLACK}Скрий +STR_BUY_VEHICLE_AIRCRAFT_HIDE_TOGGLE_BUTTON :{BLACK}Скрий + +STR_BUY_VEHICLE_TRAIN_SHOW_TOGGLE_BUTTON :{BLACK}Покажи +STR_BUY_VEHICLE_ROAD_VEHICLE_SHOW_TOGGLE_BUTTON :{BLACK}Покажи +STR_BUY_VEHICLE_SHIP_SHOW_TOGGLE_BUTTON :{BLACK}Покажи +STR_BUY_VEHICLE_AIRCRAFT_SHOW_TOGGLE_BUTTON :{BLACK}Покажи + +STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Превключи показването на типа на локомотива +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Превключи показването на типа на автомобила +STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Превключи показването на типа на кораба +STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Превключи показването на типа на самолета + STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}Преименуване на влак STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}Преименувай МПС-то STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}Промяна името на кораба @@ -3392,6 +3459,11 @@ STR_REPLACE_VEHICLE_ROAD_VEHICLE :Автобус/ STR_REPLACE_VEHICLE_SHIP :Кораб STR_REPLACE_VEHICLE_AIRCRAFT :Самолет +STR_REPLACE_VEHICLE_VEHICLES_IN_USE :{YELLOW}Използвани автомобили +STR_REPLACE_VEHICLE_VEHICLES_IN_USE_TOOLTIP :{BLACK}Колона с автомобили, които притежавате +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES :{YELLOW}Готови автомобили +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES_TOOLTIP :{BLACK}Колона с готови за подмяна автомобили + STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Избор на нов двигател за замяната STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Изберете нов двигател, който бихте желали да поставите на мястото на избрания в ляво двигател @@ -3516,7 +3588,7 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Капа STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Сума за преместване: {LTBLUE}{CURRENCY_LONG} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Дни на обслужване: {LTBLUE}{COMMA}дни{BLACK} Последно облужване: {LTBLUE}{DATE_LONG} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Дни на обслужване: {LTBLUE}{COMMA}{NBSP}дни{BLACK} Последно облужване: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Интервал на сервиз: {LTBLUE}{COMMA}%{BLACK} Последен сервиз: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Удължава периода за сервиз с 10. Ctrl-click удължава периода за сервиз с 5 STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Намалява периода за сервиз с 10. Ctrl-click намалява периода за сервиз с 5 @@ -3748,8 +3820,8 @@ STR_TIMETABLE_TRAVEL_FOR :Пътувай STR_TIMETABLE_TRAVEL_FOR_SPEED :Пътувай за {STRING} с не повече от {VELOCITY} STR_TIMETABLE_STAY_FOR :и остани за {STRING} STR_TIMETABLE_AND_TRAVEL_FOR :и отпътувай към {STRING} -STR_TIMETABLE_DAYS :{COMMA} ден{P "" а} -STR_TIMETABLE_TICKS :{COMMA} щракане{P "" та} +STR_TIMETABLE_DAYS :{COMMA}{NBSP}ден{P "" а} +STR_TIMETABLE_TICKS :{COMMA}{NBSP}щракане{P "" та} STR_TIMETABLE_TOTAL_TIME :{BLACK}Ще трябва {STRING} за това разписание да бъде приключено STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}Това разписание ще вземе най-малко {STRING} за да приклучи (не всичко е планирано) @@ -3986,6 +4058,7 @@ STR_ERROR_EXCAVATION_WOULD_DAMAGE :{WHITE}Изко STR_ERROR_ALREADY_AT_SEA_LEVEL :{WHITE}Морското ниво е вече достигнато STR_ERROR_TOO_HIGH :{WHITE}Прекалено високо STR_ERROR_ALREADY_LEVELLED :{WHITE}... вече е равно +STR_ERROR_BRIDGE_TOO_HIGH_AFTER_LOWER_LAND :{WHITE}След моста над него, ще бъде твърде високо. # Company related errors STR_ERROR_CAN_T_CHANGE_COMPANY_NAME :{WHITE}Не може да бъде променено името на компанията... @@ -4036,6 +4109,9 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... го STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... може да бъде построено само над снежната линия STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... може да бъде построено само под снежната линия +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}Няма подходящо място за '{STRING}' индустрия +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Промяна на параметрите за генериране на карта, за да получите по-добра карта + # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Тук не може да бъде построена ЖП гара... STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}Тук не може да бъде построена автогара... @@ -4172,6 +4248,7 @@ STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Първ STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}Не може да започва и да свърша на едно и също място STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}Мостни начала не са на същото ниво STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}Мостът е ту нисък за теренът +STR_ERROR_BRIDGE_TOO_HIGH_FOR_TERRAIN :{WHITE}Мостът е прекалено висок за този терен. STR_ERROR_START_AND_END_MUST_BE_IN :{WHITE}Началото и краят трябва да са на една линия STR_ERROR_ENDS_OF_BRIDGE_MUST_BOTH :{WHITE}... краищата на моста трябва да бъдат на земя STR_ERROR_BRIDGE_TOO_LONG :{WHITE}... мостът е много дълъг @@ -4735,6 +4812,7 @@ STR_COMPANY_NAME :{COMPANY} STR_COMPANY_NAME_COMPANY_NUM :{COMPANY} {COMPANY_NUM} STR_DEPOT_NAME :{DEPOT} STR_ENGINE_NAME :{ENGINE} +STR_HIDDEN_ENGINE_NAME :{ENGINE} (скрит) STR_GROUP_NAME :{GROUP} STR_INDUSTRY_NAME :{INDUSTRY} STR_PRESIDENT_NAME :{PRESIDENT_NAME} @@ -4770,8 +4848,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -4782,9 +4858,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/catalan.txt b/src/lang/catalan.txt index 0d7bfebdca..b9de63180f 100644 --- a/src/lang/catalan.txt +++ b/src/lang/catalan.txt @@ -36,11 +36,11 @@ STR_CARGO_PLURAL_LIVESTOCK :{G=Masculin}Bes STR_CARGO_PLURAL_GOODS :{G=Femenin}Mercaderies STR_CARGO_PLURAL_GRAIN :{G=Masculin}Gra STR_CARGO_PLURAL_WOOD :{G=Femenin}Fusta -STR_CARGO_PLURAL_IRON_ORE :{G=Masculin}Mineral de Ferro +STR_CARGO_PLURAL_IRON_ORE :{G=Masculin}Mineral de ferro STR_CARGO_PLURAL_STEEL :{G=Masculin}Acer STR_CARGO_PLURAL_VALUABLES :{G=Masculin}Valors -STR_CARGO_PLURAL_COPPER_ORE :{G=Masculin}Mineral de Coure -STR_CARGO_PLURAL_MAIZE :{G=Masculin}Blat de Moro +STR_CARGO_PLURAL_COPPER_ORE :{G=Masculin}Mineral de coure +STR_CARGO_PLURAL_MAIZE :{G=Masculin}Blat de moro STR_CARGO_PLURAL_FRUIT :{G=Femenin}Fruita STR_CARGO_PLURAL_DIAMONDS :{G=Masculin}Diamants STR_CARGO_PLURAL_FOOD :{G=Masculin}Menjar @@ -53,12 +53,12 @@ STR_CARGO_PLURAL_SUGAR :{G=Masculin}Suc STR_CARGO_PLURAL_TOYS :{G=Femenin}Joguines STR_CARGO_PLURAL_CANDY :{G=Masculin}Dolços STR_CARGO_PLURAL_COLA :{G=Masculin}Refrescs -STR_CARGO_PLURAL_COTTON_CANDY :{G=Masculin}Cotó de Sucre +STR_CARGO_PLURAL_COTTON_CANDY :{G=Masculin}Cotó de sucre STR_CARGO_PLURAL_BUBBLES :{G=Femenin}Bombolles STR_CARGO_PLURAL_TOFFEE :{G=Masculin}Caramels STR_CARGO_PLURAL_BATTERIES :{G=Femenin}Bateries STR_CARGO_PLURAL_PLASTIC :{G=Masculin}Plàstic -STR_CARGO_PLURAL_FIZZY_DRINKS :{G=Femenin}Begudes Gasoses +STR_CARGO_PLURAL_FIZZY_DRINKS :{G=Femenin}Begudes gasoses # Singular cargo name STR_CARGO_SINGULAR_NOTHING : @@ -70,11 +70,11 @@ STR_CARGO_SINGULAR_LIVESTOCK :{G=Masculin}Bes STR_CARGO_SINGULAR_GOODS :{G=Femenin}Mercaderia STR_CARGO_SINGULAR_GRAIN :{G=Masculin}Gra STR_CARGO_SINGULAR_WOOD :{G=Femenin}Fusta -STR_CARGO_SINGULAR_IRON_ORE :{G=Masculin}Mineral de Ferro +STR_CARGO_SINGULAR_IRON_ORE :{G=Masculin}Mineral de ferro STR_CARGO_SINGULAR_STEEL :{G=Masculin}Acer STR_CARGO_SINGULAR_VALUABLES :{G=Masculin}Valors -STR_CARGO_SINGULAR_COPPER_ORE :{G=Masculin}Mineral de Coure -STR_CARGO_SINGULAR_MAIZE :{G=Masculin}Blat de Moro +STR_CARGO_SINGULAR_COPPER_ORE :{G=Masculin}Mineral de coure +STR_CARGO_SINGULAR_MAIZE :{G=Masculin}Blat de moro STR_CARGO_SINGULAR_FRUIT :{G=Femenin}Fruita STR_CARGO_SINGULAR_DIAMOND :{G=Masculin}Diamant STR_CARGO_SINGULAR_FOOD :{G=Masculin}Queviures @@ -87,39 +87,39 @@ STR_CARGO_SINGULAR_SUGAR :{G=Masculin}Suc STR_CARGO_SINGULAR_TOY :{G=Femenin}Joguina STR_CARGO_SINGULAR_CANDY :{G=Masculin}Dolç STR_CARGO_SINGULAR_COLA :{G=Masculin}Refresc -STR_CARGO_SINGULAR_COTTON_CANDY :{G=Masculin}Cotó de Sucre +STR_CARGO_SINGULAR_COTTON_CANDY :{G=Masculin}Cotó de sucre STR_CARGO_SINGULAR_BUBBLE :{G=Femenin}Bombolla STR_CARGO_SINGULAR_TOFFEE :{G=Masculin}Caramel STR_CARGO_SINGULAR_BATTERY :{G=Femenin}Pila STR_CARGO_SINGULAR_PLASTIC :{G=Masculin}Plàstic -STR_CARGO_SINGULAR_FIZZY_DRINK :{G=Femenin}Beguda Gasosa +STR_CARGO_SINGULAR_FIZZY_DRINK :{G=Femenin}Beguda gasosa # Quantity of cargo STR_QUANTITY_NOTHING : -STR_QUANTITY_PASSENGERS :{G=Masculin}{COMMA} passatger{P "" s} +STR_QUANTITY_PASSENGERS :{G=Masculin}{COMMA}{NBSP}passatger{P "" s} STR_QUANTITY_COAL :{WEIGHT_LONG} de carbó -STR_QUANTITY_MAIL :{COMMA} sac{P "" s} de correu +STR_QUANTITY_MAIL :{COMMA}{NBSP}sac{P "" s} de correu STR_QUANTITY_OIL :{VOLUME_LONG} de petroli -STR_QUANTITY_LIVESTOCK :{COMMA} cap{P "" s} de bestiar -STR_QUANTITY_GOODS :{COMMA} palet{P "" s} de mercaderies +STR_QUANTITY_LIVESTOCK :{COMMA}{NBSP}cap{P "" s} de bestiar +STR_QUANTITY_GOODS :{COMMA}{NBSP}palet{P "" s} de mercaderies STR_QUANTITY_GRAIN :{WEIGHT_LONG} de gra STR_QUANTITY_WOOD :{WEIGHT_LONG} de fusta STR_QUANTITY_IRON_ORE :{WEIGHT_LONG} de mineral de ferro STR_QUANTITY_STEEL :{WEIGHT_LONG} d'acer -STR_QUANTITY_VALUABLES :{G=Masculin}{COMMA} sac{P "" s} de valors +STR_QUANTITY_VALUABLES :{G=Masculin}{COMMA}{NBSP}sac{P "" s} de valors STR_QUANTITY_COPPER_ORE :{WEIGHT_LONG} de mineral de coure STR_QUANTITY_MAIZE :{WEIGHT_LONG} de blat de moro STR_QUANTITY_FRUIT :{WEIGHT_LONG} de fruita -STR_QUANTITY_DIAMONDS :{COMMA} boss{P a es} de diamants +STR_QUANTITY_DIAMONDS :{COMMA}{NBSP}boss{P a es} de diamants STR_QUANTITY_FOOD :{WEIGHT_LONG} de queviures STR_QUANTITY_PAPER :{WEIGHT_LONG} de paper -STR_QUANTITY_GOLD :{G=Femenin}{COMMA} sa{P ca ques} d'or +STR_QUANTITY_GOLD :{G=Femenin}{COMMA}{NBSP}sa{P ca ques} d'or STR_QUANTITY_WATER :{VOLUME_LONG} d'aigua STR_QUANTITY_WHEAT :{WEIGHT_LONG} de blat STR_QUANTITY_RUBBER :{VOLUME_LONG} de cautxú STR_QUANTITY_SUGAR :{WEIGHT_LONG} de sucre -STR_QUANTITY_TOYS :{COMMA} joguin{P a es} -STR_QUANTITY_SWEETS :{G=Femenin}{COMMA} boss{P a es} de dolços +STR_QUANTITY_TOYS :{COMMA}{NBSP}joguin{P a es} +STR_QUANTITY_SWEETS :{G=Femenin}{COMMA}{NBSP}boss{P a es} de dolços STR_QUANTITY_COLA :{VOLUME_LONG} de refrescs STR_QUANTITY_CANDYFLOSS :{WEIGHT_LONG} de cotó de sucre STR_QUANTITY_BUBBLES :{COMMA} bomboll{P a es} @@ -127,7 +127,7 @@ STR_QUANTITY_TOFFEE :{WEIGHT_LONG} d STR_QUANTITY_BATTERIES :{COMMA} pil{P a es} STR_QUANTITY_PLASTIC :{VOLUME_LONG} de plàstic STR_QUANTITY_FIZZY_DRINKS :{G=Femenin}{COMMA} begud{P a es} gasos{P a es} -STR_QUANTITY_N_A :N/A +STR_QUANTITY_N_A :n/d # Two letter abbreviation of cargo name STR_ABBREV_NOTHING : @@ -157,7 +157,7 @@ STR_ABBREV_TOYS :{TINY_FONT}JO STR_ABBREV_SWEETS :{TINY_FONT}DO STR_ABBREV_COLA :{TINY_FONT}RF STR_ABBREV_CANDYFLOSS :{TINY_FONT}CS -STR_ABBREV_BUBBLES :{TINY_FONT}BM +STR_ABBREV_BUBBLES :{TINY_FONT}BB STR_ABBREV_TOFFEE :{TINY_FONT}CA STR_ABBREV_BATTERIES :{TINY_FONT}BA STR_ABBREV_PLASTIC :{TINY_FONT}PL @@ -166,22 +166,22 @@ STR_ABBREV_NONE :{TINY_FONT}NO STR_ABBREV_ALL :{TINY_FONT}TOT # 'Mode' of transport for cargoes -STR_PASSENGERS :{G=Masculin}{COMMA} passatger{P "" s} -STR_BAGS :{G=Masculin}{COMMA} sac{P "" s} -STR_TONS :{G=Femenin}{COMMA} ton{P a es} -STR_LITERS :{G=Masculin}{COMMA} litre{P "" s} -STR_ITEMS :{G=Masculin}{COMMA} cap{P "" s} -STR_CRATES :{G=Masculin}{COMMA} palet{P "" s} +STR_PASSENGERS :{G=Masculin}{COMMA}{NBSP}passatger{P "" s} +STR_BAGS :{G=Masculin}{COMMA}{NBSP}sac{P "" s} +STR_TONS :{G=Femenin}{COMMA}{NBSP}ton{P a es} +STR_LITERS :{G=Masculin}{COMMA}{NBSP}litre{P "" s} +STR_ITEMS :{G=Masculin}{COMMA}{NBSP}cap{P "" s} +STR_CRATES :{G=Masculin}{COMMA}{NBSP}palet{P "" s} # Colours, do not shuffle -STR_COLOUR_DARK_BLUE :{G=Masculin}Blau Fosc -STR_COLOUR_PALE_GREEN :{G=Masculin}Verd Pàl·lid +STR_COLOUR_DARK_BLUE :{G=Masculin}Blau fosc +STR_COLOUR_PALE_GREEN :{G=Masculin}Verd pàl·lid STR_COLOUR_PINK :{G=Masculin}Rosa STR_COLOUR_YELLOW :{G=Masculin}Groc STR_COLOUR_RED :{G=Masculin}Vermell -STR_COLOUR_LIGHT_BLUE :{G=Masculin}Blau Cel +STR_COLOUR_LIGHT_BLUE :{G=Masculin}Blau cel STR_COLOUR_GREEN :{G=Masculin}Verd -STR_COLOUR_DARK_GREEN :{G=Masculin}Verd Fosc +STR_COLOUR_DARK_GREEN :{G=Masculin}Verd fosc STR_COLOUR_BLUE :{G=Masculin}Blau STR_COLOUR_CREAM :{G=Masculin}Crema STR_COLOUR_MAUVE :{G=Masculin}Malva @@ -192,67 +192,78 @@ STR_COLOUR_GREY :{G=Masculin}Gri STR_COLOUR_WHITE :{G=Masculin}Blanc # Units used in OpenTTD -STR_UNITS_VELOCITY_IMPERIAL :{COMMA} mph -STR_UNITS_VELOCITY_METRIC :{COMMA} km/h -STR_UNITS_VELOCITY_SI :{COMMA} m/s +STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}mph +STR_UNITS_VELOCITY_METRIC :{COMMA}{NBSP}km/h +STR_UNITS_VELOCITY_SI :{COMMA}{NBSP}m/s -STR_UNITS_POWER_IMPERIAL :{COMMA}cv -STR_UNITS_POWER_METRIC :{COMMA}cv -STR_UNITS_POWER_SI :{COMMA}kW +STR_UNITS_POWER_IMPERIAL :{COMMA}{NBSP}cv +STR_UNITS_POWER_METRIC :{COMMA}{NBSP}cv +STR_UNITS_POWER_SI :{COMMA}{NBSP}kW -STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}t -STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}t -STR_UNITS_WEIGHT_SHORT_SI :{COMMA}kg +STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_SI :{COMMA}{NBSP}kg -STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA} tones{P "" s} -STR_UNITS_WEIGHT_LONG_METRIC :{G=Femenin}{COMMA} ton{P a es} -STR_UNITS_WEIGHT_LONG_SI :{COMMA} kg +STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA}{NBSP}ton{P a es} +STR_UNITS_WEIGHT_LONG_METRIC :{G=Femenin}{COMMA}{NBSP}ton{P a es} +STR_UNITS_WEIGHT_LONG_SI :{COMMA}{NBSP}quilogram{P "" s} -STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}gal -STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}l -STR_UNITS_VOLUME_SHORT_SI :{G=Masculin}{COMMA}m³ +STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}{NBSP}gal +STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}{NBSP}L +STR_UNITS_VOLUME_SHORT_SI :{G=Masculin}{COMMA}{NBSP}m³ -STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA} galons{P "" s} -STR_UNITS_VOLUME_LONG_METRIC :{G=Masculin}{COMMA} litre{P "" s} -STR_UNITS_VOLUME_LONG_SI :{G=Masculin}{COMMA} m³ +STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA}{NBSP}gal{P ó ons} +STR_UNITS_VOLUME_LONG_METRIC :{G=Masculin}{COMMA}{NBSP}litre{P "" s} +STR_UNITS_VOLUME_LONG_SI :{G=Masculin}{COMMA}{NBSP}metre{P "" s}{NBSP}cúbic{P "" s} -STR_UNITS_FORCE_IMPERIAL :{COMMA} lbf -STR_UNITS_FORCE_METRIC :{COMMA} kgf -STR_UNITS_FORCE_SI :{G=Masculin}{COMMA} kN +STR_UNITS_FORCE_IMPERIAL :{COMMA}{NBSP}lbf +STR_UNITS_FORCE_METRIC :{COMMA}{NBSP}kgf +STR_UNITS_FORCE_SI :{G=Masculin}{COMMA}{NBSP}kN -STR_UNITS_HEIGHT_IMPERIAL :{COMMA} ft -STR_UNITS_HEIGHT_METRIC :{COMMA} m -STR_UNITS_HEIGHT_SI :{G=Masculin}{COMMA} m +STR_UNITS_HEIGHT_IMPERIAL :{COMMA}{NBSP}ft +STR_UNITS_HEIGHT_METRIC :{COMMA}{NBSP}m +STR_UNITS_HEIGHT_SI :{G=Masculin}{COMMA}{NBSP}m # Common window strings -STR_LIST_FILTER_TITLE :{BLACK}Cadena de filtre: -STR_LIST_FILTER_OSKTITLE :{BLACK}Introdueix una cadena de filtre +STR_LIST_FILTER_TITLE :{BLACK}Cadena de filtrat: +STR_LIST_FILTER_OSKTITLE :{BLACK}Introdueix una cadena de filtrat STR_LIST_FILTER_TOOLTIP :{BLACK}Introdueix una paraula clau per filtrar la llista de -STR_TOOLTIP_GROUP_ORDER :{BLACK}Selecciona ordre d'agrupament -STR_TOOLTIP_SORT_ORDER :{BLACK}Selecciona l'ordre de classificació (descendent/ascendent) -STR_TOOLTIP_SORT_CRITERIA :{BLACK}Selecciona el criteri de classificació -STR_TOOLTIP_FILTER_CRITERIA :{BLACK}Selecciona el criteri de filtratge -STR_BUTTON_SORT_BY :{BLACK}Ordena per +STR_TOOLTIP_GROUP_ORDER :{BLACK}Selecciona l'agrupament de la càrrega +STR_TOOLTIP_SORT_ORDER :{BLACK}Selecciona si l'ordre ha de ser descendent o ascendent +STR_TOOLTIP_SORT_CRITERIA :{BLACK}Selecciona el criteri per ordenar la llista +STR_TOOLTIP_FILTER_CRITERIA :{BLACK}Filtra per tipus de càrrega +STR_BUTTON_SORT_BY :{BLACK}Ordena per: STR_BUTTON_LOCATION :{G=Masculin}{BLACK}Lloc STR_BUTTON_RENAME :{BLACK}Canvia el nom STR_TOOLTIP_CLOSE_WINDOW :{BLACK}Tanca la finestra -STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS :{BLACK}Títol de la finestra - arrossega això per moure la finestra -STR_TOOLTIP_SHADE :{BLACK}Ombra de la finestra - mostra només la barra de títol +STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS :{BLACK}Títol de la finestra: arrossegueu el títol per desplaçar la finestra. +STR_TOOLTIP_SHADE :{BLACK}Ombra de la finestra: mostra només la barra de títol. STR_TOOLTIP_DEBUG :{BLACK}Mostra la informació de depuració NewGRF -STR_TOOLTIP_DEFSIZE :{BLACK}Redimensiona la finestra a la mida predeterminada. Ctrl+Clic per desar la mida actual com a predeterminada -STR_TOOLTIP_STICKY :{BLACK}Marca aquesta finestra com a no eliminable per la tecla 'Tanca totes les Finestres' Ctrl+Clic per desar també l'estat predeterminat +STR_TOOLTIP_DEFSIZE :{BLACK}Redimensiona la finestra a la mida predeterminada. Ctrl+Clic desa la mida actual com a predeterminada. +STR_TOOLTIP_STICKY :{BLACK}Marca aquesta finestra com a no eliminable per la tecla «Tanca totes les finestres». Ctrl+Clic per desar també l'estat predeterminat. STR_TOOLTIP_RESIZE :{BLACK}Clica i arrossega per redimensionar aquesta finestra -STR_TOOLTIP_TOGGLE_LARGE_SMALL_WINDOW :{BLACK}Intercanvia mida gran/petita de finestra -STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Barra de desplaçament - desplaça la llista amunt/avall -STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Barra de desplaçament - desplaça la llista dreta/esquerra -STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Enderroca edificis, etc. en un quadre de terreny. Ctrl selecciona l'àrea en diagonal. Shift commuta construir/mostrar el cost estimat +STR_TOOLTIP_TOGGLE_LARGE_SMALL_WINDOW :{BLACK}Commuta entre la mida gran i petita de la finestra +STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Barra de desplaçament: desplaça la llista amunt/avall. +STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Barra de desplaçament: desplaça la llista lateralment. +STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Neteja les caselles seleccionades (enderroca edificis, tala arbres...). Per seleccionar l'àrea en diagonal, cliqueu Ctrl. Shift commuta construir/mostrar el cost estimat. + +# Show engines button +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}Mostra ocultats +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK}Mostra ocultats +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}Mostra ocultats +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}Mostra ocultats + +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}Activant aquest botó, també es mostraran els vehicles ferroviaris ocultats +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE_TOOLTIP :{BLACK}Activant aquest botó, també es mostraran els vehicles de carretera ocultats +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}Activant aquest botó, també es mostraran els vaixells ocultats +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Activant aquest botó, també es mostraran les aeronaus ocultades # Query window STR_BUTTON_DEFAULT :{BLACK}Predeterminat STR_BUTTON_CANCEL :{BLACK}Cancel·la -STR_BUTTON_OK :{BLACK}Bé +STR_BUTTON_OK :{BLACK}D'acord # On screen keyboard window STR_OSK_KEYBOARD_LAYOUT :`1234567890-=\qwertyuiop[]asdfghjkl;' zxcvbnm,./ . @@ -272,25 +283,25 @@ STR_SORT_BY_CAPTION_DATE :{BLACK}Data STR_SORT_BY_NAME :Nom STR_SORT_BY_PRODUCTION :Producció STR_SORT_BY_TYPE :Tipus -STR_SORT_BY_TRANSPORTED :Transportat +STR_SORT_BY_TRANSPORTED :% transportat STR_SORT_BY_NUMBER :Número -STR_SORT_BY_PROFIT_LAST_YEAR :Benef. darrer any -STR_SORT_BY_PROFIT_THIS_YEAR :Benef. aquest any -STR_SORT_BY_AGE :Antig. -STR_SORT_BY_RELIABILITY :Rendibilitat +STR_SORT_BY_PROFIT_LAST_YEAR :Benefici darrer any +STR_SORT_BY_PROFIT_THIS_YEAR :Benefici aquest any +STR_SORT_BY_AGE :Antiguitat +STR_SORT_BY_RELIABILITY :Fiabilitat STR_SORT_BY_TOTAL_CAPACITY_PER_CARGOTYPE :Capac. total per tipus de càrrega -STR_SORT_BY_MAX_SPEED :Veloc. Màxima +STR_SORT_BY_MAX_SPEED :Velocitat màxima STR_SORT_BY_MODEL :Model STR_SORT_BY_VALUE :Valor STR_SORT_BY_LENGTH :Llargada STR_SORT_BY_LIFE_TIME :Temps de vida restant STR_SORT_BY_TIMETABLE_DELAY :Retràs de l'horari -STR_SORT_BY_FACILITY :Tipus de estació +STR_SORT_BY_FACILITY :Tipus d'estació STR_SORT_BY_WAITING_TOTAL :Càrrega en espera total STR_SORT_BY_WAITING_AVAILABLE :Càrrega en espera disponible STR_SORT_BY_RATING_MAX :Rati de càrrega més alt STR_SORT_BY_RATING_MIN :Rati de càrrega més baix -STR_SORT_BY_ENGINE_ID :IDModel (ordre clàssic) +STR_SORT_BY_ENGINE_ID :Número de model (ordre clàssic) STR_SORT_BY_COST :Cost STR_SORT_BY_POWER :Potència STR_SORT_BY_TRACTIVE_EFFORT :Esforç de tracció @@ -303,67 +314,67 @@ STR_SORT_BY_POPULATION :Població STR_SORT_BY_RATING :Qualificació # Tooltips for the main toolbar -STR_TOOLBAR_TOOLTIP_PAUSE_GAME :{BLACK}Pausa la partida -STR_TOOLBAR_TOOLTIP_FORWARD :{BLACK}Avanç ràpid de la partida +STR_TOOLBAR_TOOLTIP_PAUSE_GAME :{BLACK}Posa en pausa o reprèn la partida +STR_TOOLBAR_TOOLTIP_FORWARD :{BLACK}Avança la partida el més ràpid possible STR_TOOLBAR_TOOLTIP_OPTIONS :{BLACK}Opcions STR_TOOLBAR_TOOLTIP_SAVE_GAME_ABANDON_GAME :{BLACK}Desa la partida, abandona-la o surt del programa -STR_TOOLBAR_TOOLTIP_DISPLAY_MAP :{BLACK}Mostra el mapa -STR_TOOLBAR_TOOLTIP_DISPLAY_TOWN_DIRECTORY :{BLACK}Mostra el directori de poblacions +STR_TOOLBAR_TOOLTIP_DISPLAY_MAP :{BLACK}Mostra el mapa, finestres de visualització o llista de senyals, entre d'altres +STR_TOOLBAR_TOOLTIP_DISPLAY_TOWN_DIRECTORY :{BLACK}Mostra la llista de poblacions STR_TOOLBAR_TOOLTIP_DISPLAY_SUBSIDIES :{BLACK}Mostra les subvencions STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_STATIONS :{BLACK}Mostra la llista d'estacions de la companyia -STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_FINANCES :{BLACK}Mostra informació financera de la companyia -STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_GENERAL :{BLACK}Mostra informació general de la companyia -STR_TOOLBAR_TOOLTIP_DISPLAY_STORY_BOOK :{BLACK}Mostra llibre -STR_TOOLBAR_TOOLTIP_DISPLAY_GOALS_LIST :{BLACK}Mostra llista d'objectius -STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}Mostra gràfics +STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_FINANCES :{BLACK}Mostra la informació financera de la companyia +STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_GENERAL :{BLACK}Mostra la informació general de la companyia +STR_TOOLBAR_TOOLTIP_DISPLAY_STORY_BOOK :{BLACK}Mostra el llibre de partida +STR_TOOLBAR_TOOLTIP_DISPLAY_GOALS_LIST :{BLACK}Mostra la llista d'objectius +STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}Mostra gràfics de les empreses STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_LEAGUE :{BLACK}Mostra la taula de la lliga d'empreses -STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}Financia la construcció d'una nova indústria -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}Mostra la llista de trens de la companyia. Ctrl+Clic commuta l'obertura de la llista de grups/vehicles -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_ROAD_VEHICLES :{BLACK}Mostra la llista de vehicles de la companyia. Ctrl+Clic commuta l'obertura de la llista de grups/vehicles -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :{BLACK}Mostra la llista de vaixells de la companyia. Ctrl+Clic canvia entre l'obertura de la llista de grups/vehicles -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_AIRCRAFT :{BLACK}Mostra la llista d'avions de la companyia. Ctrl+Clic commuta l'obertura de la llista de grups/vehicles +STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}Finança la construcció d'una nova indústria +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}Mostra la llista de trens de la companyia. Ctrl+Clic commuta l'obertura de la llista de grups/vehicles. +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_ROAD_VEHICLES :{BLACK}Mostra la llista de vehicles de la companyia. Ctrl+Clic commuta l'obertura de la llista de grups/vehicles. +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :{BLACK}Mostra la llista de vaixells de la companyia. Ctrl+Clic canvia entre l'obertura de la llista de grups/vehicles. +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_AIRCRAFT :{BLACK}Mostra la llista d'avions de la companyia. Ctrl+Clic commuta l'obertura de la llista de grups/vehicles. STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_IN :{BLACK}Apropar-se STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_OUT :{BLACK}Allunyar-se STR_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Construeix vies STR_TOOLBAR_TOOLTIP_BUILD_ROADS :{BLACK}Construeix carreteres STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}Construeix ports STR_TOOLBAR_TOOLTIP_BUILD_AIRPORTS :{BLACK}Construeix aeroports -STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}Obre la barra d'eines del terreny per elevar/rebaixar nivell, plantar arbres, etc. +STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}Obre la barra d'eines del terreny per elevar/rebaixar el terreny, plantar arbres, etc. STR_TOOLBAR_TOOLTIP_SHOW_SOUND_MUSIC_WINDOW :{BLACK}Mostra la finestra de so/música -STR_TOOLBAR_TOOLTIP_SHOW_LAST_MESSAGE_NEWS :{BLACK}Mostra els darrers missatges/notícies, mostra les opcions de missatges -STR_TOOLBAR_TOOLTIP_LAND_BLOCK_INFORMATION :{BLACK}Informació del terreny, terminal, depuració d'scripts, captures de pantalla, quant a OpenTTD +STR_TOOLBAR_TOOLTIP_SHOW_LAST_MESSAGE_NEWS :{BLACK}Mostra els darrers missatges/notícies i l'historial disponible +STR_TOOLBAR_TOOLTIP_LAND_BLOCK_INFORMATION :{BLACK}Informació de terreny, consola, depuració d'scripts, captures de pantalla, informació de l'OpenTTD... STR_TOOLBAR_TOOLTIP_SWITCH_TOOLBAR :{BLACK}Commuta barres d'eines # Extra tooltips for the scenario editor toolbar -STR_SCENEDIT_TOOLBAR_TOOLTIP_SAVE_SCENARIO_LOAD_SCENARIO :{BLACK}Desa l'escenari, carrega un escenari, abandona l'editor d'escenaris, surt +STR_SCENEDIT_TOOLBAR_TOOLTIP_SAVE_SCENARIO_LOAD_SCENARIO :{BLACK}Desa o carrega un escenari o bé surt de l'editor o de l'OpenTTD STR_SCENEDIT_TOOLBAR_OPENTTD :{YELLOW}OpenTTD -STR_SCENEDIT_TOOLBAR_SCENARIO_EDITOR :{YELLOW}Editor d'Escenaris +STR_SCENEDIT_TOOLBAR_SCENARIO_EDITOR :{YELLOW}Editor d'escenaris STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_BACKWARD :{BLACK}Retarda la data d'inici 1 any STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_FORWARD :{BLACK}Avança la data d'inici 1 any STR_SCENEDIT_TOOLBAR_TOOLTIP_SET_DATE :{BLACK}Clica per introduir l'any d'inici -STR_SCENEDIT_TOOLBAR_TOOLTIP_DISPLAY_MAP_TOWN_DIRECTORY :{BLACK}Mostra el mapa, directori de poblacions -STR_SCENEDIT_TOOLBAR_LANDSCAPE_GENERATION :{BLACK}Generació de Paisatges -STR_SCENEDIT_TOOLBAR_TOWN_GENERATION :{BLACK}Generació de Poblacions +STR_SCENEDIT_TOOLBAR_TOOLTIP_DISPLAY_MAP_TOWN_DIRECTORY :{BLACK}Mostra el mapa o el llistat de poblacions +STR_SCENEDIT_TOOLBAR_LANDSCAPE_GENERATION :{BLACK}Generació del terreny +STR_SCENEDIT_TOOLBAR_TOWN_GENERATION :{BLACK}Generació de poblacions STR_SCENEDIT_TOOLBAR_INDUSTRY_GENERATION :{BLACK}Generació d'indústries STR_SCENEDIT_TOOLBAR_ROAD_CONSTRUCTION :{BLACK}Construcció de carreteres -STR_SCENEDIT_TOOLBAR_PLANT_TREES :{BLACK}Planta arbres. Shift commuta construeix/mostra el cost estimat +STR_SCENEDIT_TOOLBAR_PLANT_TREES :{BLACK}Planta arbres. Shift per sols mostrar el cost estimat. STR_SCENEDIT_TOOLBAR_PLACE_SIGN :{BLACK}Situa un senyal -STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Situa objecte. Shift commuta construeix/mostra el cost estimat +STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Situa objecte. Shift per sols mostrar el cost estimat. ############ range for SE file menu starts STR_SCENEDIT_FILE_MENU_SAVE_SCENARIO :Desa l'escenari STR_SCENEDIT_FILE_MENU_LOAD_SCENARIO :Carrega un escenari -STR_SCENEDIT_FILE_MENU_SAVE_HEIGHTMAP :Desa mapa d'alçades -STR_SCENEDIT_FILE_MENU_LOAD_HEIGHTMAP :Carrega Mapa d'alçades +STR_SCENEDIT_FILE_MENU_SAVE_HEIGHTMAP :Desa el mapa d'alçades +STR_SCENEDIT_FILE_MENU_LOAD_HEIGHTMAP :Carrega un mapa d'alçades STR_SCENEDIT_FILE_MENU_QUIT_EDITOR :Surt de l'editor d'escenaris STR_SCENEDIT_FILE_MENU_SEPARATOR : STR_SCENEDIT_FILE_MENU_QUIT :Surt ############ range for SE file menu starts ############ range for settings menu starts -STR_SETTINGS_MENU_GAME_OPTIONS :Opcions de la Partida -STR_SETTINGS_MENU_CONFIG_SETTINGS :Paràmetres avançats -STR_SETTINGS_MENU_SCRIPT_SETTINGS :Paràmetres de les IA/Script de la partida +STR_SETTINGS_MENU_GAME_OPTIONS :Opcions de la partida +STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Configuració +STR_SETTINGS_MENU_SCRIPT_SETTINGS :Paràmetres de les IA i de l'script de la partida STR_SETTINGS_MENU_NEWGRF_SETTINGS :Extensions NewGRF STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Opcions de transparència STR_SETTINGS_MENU_TOWN_NAMES_DISPLAYED :Mostra els noms de les poblacions @@ -373,7 +384,7 @@ STR_SETTINGS_MENU_SIGNS_DISPLAYED :Mostra els seny STR_SETTINGS_MENU_SHOW_COMPETITOR_SIGNS :Mostra noms i senyals dels competidors STR_SETTINGS_MENU_FULL_ANIMATION :Animació completa STR_SETTINGS_MENU_FULL_DETAIL :Detall complet -STR_SETTINGS_MENU_TRANSPARENT_BUILDINGS :Edificis Transparents +STR_SETTINGS_MENU_TRANSPARENT_BUILDINGS :Edificis transparents STR_SETTINGS_MENU_TRANSPARENT_SIGNS :Senyals transparents ############ range ends here @@ -388,11 +399,11 @@ STR_FILE_MENU_EXIT :Surt # map menu STR_MAP_MENU_MAP_OF_WORLD :Mapa del món STR_MAP_MENU_EXTRA_VIEW_PORT :Vista extra -STR_MAP_MENU_LINGRAPH_LEGEND :Llegenda del fluxe de càrrega +STR_MAP_MENU_LINGRAPH_LEGEND :Llegenda del flux de càrrega STR_MAP_MENU_SIGN_LIST :Llista de senyals ############ range for town menu starts -STR_TOWN_MENU_TOWN_DIRECTORY :Directori de Poblacions +STR_TOWN_MENU_TOWN_DIRECTORY :Llista de poblacions STR_TOWN_MENU_FOUND_TOWN :Funda una població ############ range ends here @@ -401,36 +412,36 @@ STR_SUBSIDIES_MENU_SUBSIDIES :Subvencions ############ range ends here ############ range for graph menu starts -STR_GRAPH_MENU_OPERATING_PROFIT_GRAPH :Gràfic de benefici operatiu +STR_GRAPH_MENU_OPERATING_PROFIT_GRAPH :Gràfic de beneficis operatius STR_GRAPH_MENU_INCOME_GRAPH :Gràfic d'ingressos STR_GRAPH_MENU_DELIVERED_CARGO_GRAPH :Gràfic d'entrega de càrrega STR_GRAPH_MENU_PERFORMANCE_HISTORY_GRAPH :Gràfic històric de rendiment -STR_GRAPH_MENU_COMPANY_VALUE_GRAPH :Gràfic de valor de l'Empresa +STR_GRAPH_MENU_COMPANY_VALUE_GRAPH :Gràfic del valor de les empreses STR_GRAPH_MENU_CARGO_PAYMENT_RATES :Tarifes de pagament per càrrega ############ range ends here ############ range for company league menu starts -STR_GRAPH_MENU_COMPANY_LEAGUE_TABLE :Taula de la Lliga d'Empreses +STR_GRAPH_MENU_COMPANY_LEAGUE_TABLE :Taula de la lliga d'empreses STR_GRAPH_MENU_DETAILED_PERFORMANCE_RATING :Detall de ratis de rendiment -STR_GRAPH_MENU_HIGHSCORE :Taula de rècords +STR_GRAPH_MENU_HIGHSCORE :Taula de puntuacions ############ range ends here ############ range for industry menu starts -STR_INDUSTRY_MENU_INDUSTRY_DIRECTORY :Directori d'indústries +STR_INDUSTRY_MENU_INDUSTRY_DIRECTORY :Llista d'indústries STR_INDUSTRY_MENU_INDUSTRY_CHAIN :Cadenes industrials -STR_INDUSTRY_MENU_FUND_NEW_INDUSTRY :Financia una nova indústria +STR_INDUSTRY_MENU_FUND_NEW_INDUSTRY :Finança una nova indústria ############ range ends here ############ range for railway construction menu starts -STR_RAIL_MENU_RAILROAD_CONSTRUCTION :Construcció de Ferrocarril -STR_RAIL_MENU_ELRAIL_CONSTRUCTION :Construcció de Ferrocarril Elèctric -STR_RAIL_MENU_MONORAIL_CONSTRUCTION :Construcció de Monorail +STR_RAIL_MENU_RAILROAD_CONSTRUCTION :Construcció de ferrocarril +STR_RAIL_MENU_ELRAIL_CONSTRUCTION :Construcció de ferrocarril elèctric +STR_RAIL_MENU_MONORAIL_CONSTRUCTION :Construcció de monorail STR_RAIL_MENU_MAGLEV_CONSTRUCTION :Construcció de Maglev ############ range ends here ############ range for road construction menu starts -STR_ROAD_MENU_ROAD_CONSTRUCTION :Construcció de Carreteres -STR_ROAD_MENU_TRAM_CONSTRUCTION :Construcció de Tramvies +STR_ROAD_MENU_ROAD_CONSTRUCTION :Construcció de carreteres +STR_ROAD_MENU_TRAM_CONSTRUCTION :Construcció de tramvies ############ range ends here ############ range for waterways construction menu starts @@ -438,11 +449,11 @@ STR_WATERWAYS_MENU_WATERWAYS_CONSTRUCTION :Construcció de ############ range ends here ############ range for airport construction menu starts -STR_AIRCRAFT_MENU_AIRPORT_CONSTRUCTION :Construcció d'Aeroport +STR_AIRCRAFT_MENU_AIRPORT_CONSTRUCTION :Construcció d'aeroports ############ range ends here ############ range for landscaping menu starts -STR_LANDSCAPING_MENU_LANDSCAPING :Paisatges +STR_LANDSCAPING_MENU_LANDSCAPING :Modificació del paisatge STR_LANDSCAPING_MENU_PLANT_TREES :Planta arbres STR_LANDSCAPING_MENU_PLACE_SIGN :Situa un senyal ############ range ends here @@ -453,71 +464,89 @@ STR_TOOLBAR_SOUND_MUSIC :So/música ############ range for message menu starts STR_NEWS_MENU_LAST_MESSAGE_NEWS_REPORT :Darrer missatge/notícia -STR_NEWS_MENU_MESSAGE_HISTORY_MENU :Historial de Missatges +STR_NEWS_MENU_MESSAGE_HISTORY_MENU :Historial de missatges ############ range ends here ############ range for about menu starts -STR_ABOUT_MENU_LAND_BLOCK_INFO :Informació de l'àrea de terreny +STR_ABOUT_MENU_LAND_BLOCK_INFO :Informació de la casella de terreny STR_ABOUT_MENU_SEPARATOR : -STR_ABOUT_MENU_TOGGLE_CONSOLE :Canvia al terminal -STR_ABOUT_MENU_AI_DEBUG :Depuració de les IA/Script de la partida +STR_ABOUT_MENU_TOGGLE_CONSOLE :Mostra/oculta la consola +STR_ABOUT_MENU_AI_DEBUG :Depuració de les IA i l'script de la partida STR_ABOUT_MENU_SCREENSHOT :Captura de pantalla STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Captura de pantalla amb el zoom màxim STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Captura de pantalla amb el zoom predeterminat STR_ABOUT_MENU_GIANT_SCREENSHOT :Captura de pantalla de tot el mapa -STR_ABOUT_MENU_ABOUT_OPENTTD :Quant a 'OpenTTD' +STR_ABOUT_MENU_ABOUT_OPENTTD :Quant a l'OpenTTD STR_ABOUT_MENU_SPRITE_ALIGNER :Alineador d'sprites STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Commuta les caixes delimitadores STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Commuta el colorejat dels blocs bruts ############ range ends here -############ range for days starts (also used for the place in the highscore window) -STR_ORDINAL_NUMBER_1ST :1 -STR_ORDINAL_NUMBER_2ND :2 -STR_ORDINAL_NUMBER_3RD :3 -STR_ORDINAL_NUMBER_4TH :4 -STR_ORDINAL_NUMBER_5TH :5 -STR_ORDINAL_NUMBER_6TH :6 -STR_ORDINAL_NUMBER_7TH :7 -STR_ORDINAL_NUMBER_8TH :8 -STR_ORDINAL_NUMBER_9TH :9 -STR_ORDINAL_NUMBER_10TH :10 -STR_ORDINAL_NUMBER_11TH :11 -STR_ORDINAL_NUMBER_12TH :12 -STR_ORDINAL_NUMBER_13TH :13 -STR_ORDINAL_NUMBER_14TH :14 -STR_ORDINAL_NUMBER_15TH :15 -STR_ORDINAL_NUMBER_16TH :16 -STR_ORDINAL_NUMBER_17TH :17 -STR_ORDINAL_NUMBER_18TH :18 -STR_ORDINAL_NUMBER_19TH :19 -STR_ORDINAL_NUMBER_20TH :20 -STR_ORDINAL_NUMBER_21ST :21 -STR_ORDINAL_NUMBER_22ND :22 -STR_ORDINAL_NUMBER_23RD :23 -STR_ORDINAL_NUMBER_24TH :24 -STR_ORDINAL_NUMBER_25TH :25 -STR_ORDINAL_NUMBER_26TH :26 -STR_ORDINAL_NUMBER_27TH :27 -STR_ORDINAL_NUMBER_28TH :28 -STR_ORDINAL_NUMBER_29TH :29 -STR_ORDINAL_NUMBER_30TH :30 -STR_ORDINAL_NUMBER_31ST :31 +############ range for ordinal numbers used for the place in the highscore window +STR_ORDINAL_NUMBER_1ST :1r +STR_ORDINAL_NUMBER_2ND :2n +STR_ORDINAL_NUMBER_3RD :3r +STR_ORDINAL_NUMBER_4TH :4t +STR_ORDINAL_NUMBER_5TH :5è +STR_ORDINAL_NUMBER_6TH :6è +STR_ORDINAL_NUMBER_7TH :7è +STR_ORDINAL_NUMBER_8TH :8è +STR_ORDINAL_NUMBER_9TH :9è +STR_ORDINAL_NUMBER_10TH :10è +STR_ORDINAL_NUMBER_11TH :11è +STR_ORDINAL_NUMBER_12TH :12è +STR_ORDINAL_NUMBER_13TH :13è +STR_ORDINAL_NUMBER_14TH :14è +STR_ORDINAL_NUMBER_15TH :15è +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :1 +STR_DAY_NUMBER_2ND :2 +STR_DAY_NUMBER_3RD :3 +STR_DAY_NUMBER_4TH :4 +STR_DAY_NUMBER_5TH :5 +STR_DAY_NUMBER_6TH :6 +STR_DAY_NUMBER_7TH :7 +STR_DAY_NUMBER_8TH :8 +STR_DAY_NUMBER_9TH :9 +STR_DAY_NUMBER_10TH :10 +STR_DAY_NUMBER_11TH :11 +STR_DAY_NUMBER_12TH :12 +STR_DAY_NUMBER_13TH :13 +STR_DAY_NUMBER_14TH :14 +STR_DAY_NUMBER_15TH :15 +STR_DAY_NUMBER_16TH :16 +STR_DAY_NUMBER_17TH :17 +STR_DAY_NUMBER_18TH :18 +STR_DAY_NUMBER_19TH :19 +STR_DAY_NUMBER_20TH :20 +STR_DAY_NUMBER_21ST :21 +STR_DAY_NUMBER_22ND :22 +STR_DAY_NUMBER_23RD :23 +STR_DAY_NUMBER_24TH :24 +STR_DAY_NUMBER_25TH :25 +STR_DAY_NUMBER_26TH :26 +STR_DAY_NUMBER_27TH :27 +STR_DAY_NUMBER_28TH :28 +STR_DAY_NUMBER_29TH :29 +STR_DAY_NUMBER_30TH :30 +STR_DAY_NUMBER_31ST :31 ############ range for days ends ############ range for months starts -STR_MONTH_ABBREV_JAN :Gen -STR_MONTH_ABBREV_FEB :Feb -STR_MONTH_ABBREV_MAR :Mar -STR_MONTH_ABBREV_APR :Abr -STR_MONTH_ABBREV_MAY :Mai -STR_MONTH_ABBREV_JUN :Jun -STR_MONTH_ABBREV_JUL :Jul -STR_MONTH_ABBREV_AUG :Ago -STR_MONTH_ABBREV_SEP :Sep -STR_MONTH_ABBREV_OCT :Oct -STR_MONTH_ABBREV_NOV :Nov -STR_MONTH_ABBREV_DEC :Des +STR_MONTH_ABBREV_JAN :gen. +STR_MONTH_ABBREV_FEB :febr. +STR_MONTH_ABBREV_MAR :març +STR_MONTH_ABBREV_APR :abr. +STR_MONTH_ABBREV_MAY :maig +STR_MONTH_ABBREV_JUN :juny +STR_MONTH_ABBREV_JUL :jul. +STR_MONTH_ABBREV_AUG :ag. +STR_MONTH_ABBREV_SEP :set. +STR_MONTH_ABBREV_OCT :oct. +STR_MONTH_ABBREV_NOV :nov. +STR_MONTH_ABBREV_DEC :des. STR_MONTH_JAN :Gener STR_MONTH_FEB :Febrer @@ -535,44 +564,44 @@ STR_MONTH_DEC :Desembre # Graph window STR_GRAPH_KEY_BUTTON :{BLACK}Llegenda -STR_GRAPH_KEY_TOOLTIP :{BLACK}Mostra la llegenda als gràfics +STR_GRAPH_KEY_TOOLTIP :{BLACK}Mostra la llegenda dels gràfics STR_GRAPH_X_LABEL_MONTH :{TINY_FONT}{STRING}{} {STRING} STR_GRAPH_X_LABEL_MONTH_YEAR :{TINY_FONT}{STRING}{} {STRING}{}{NUM} STR_GRAPH_Y_LABEL :{TINY_FONT}{STRING} STR_GRAPH_Y_LABEL_NUMBER :{TINY_FONT}{COMMA} -STR_GRAPH_OPERATING_PROFIT_CAPTION :{WHITE}Gràfic de Rendiment d'Operacions -STR_GRAPH_INCOME_CAPTION :{WHITE}Gràfic d'Ingressos +STR_GRAPH_OPERATING_PROFIT_CAPTION :{WHITE}Gràfic de rendiment d'operacions +STR_GRAPH_INCOME_CAPTION :{WHITE}Gràfic d'ingressos STR_GRAPH_CARGO_DELIVERED_CAPTION :{WHITE}Unitats de càrrega entregada -STR_GRAPH_COMPANY_PERFORMANCE_RATINGS_CAPTION :{WHITE}Ratis de rendiment de la companyia (màxim rati=1000) +STR_GRAPH_COMPANY_PERFORMANCE_RATINGS_CAPTION :{WHITE}Ratis de rendiment de la companyia (rati màxim: 1000) STR_GRAPH_COMPANY_VALUES_CAPTION :{WHITE}Valors de la companyia -STR_GRAPH_CARGO_PAYMENT_RATES_CAPTION :{WHITE}Tarifes de Pagament de Càrrega +STR_GRAPH_CARGO_PAYMENT_RATES_CAPTION :{WHITE}Tarifes de pagament de càrregues STR_GRAPH_CARGO_PAYMENT_RATES_X_LABEL :{TINY_FONT}{BLACK}Dies en trànsit -STR_GRAPH_CARGO_PAYMENT_RATES_TITLE :{TINY_FONT}{BLACK}Pagament per entregar 10 unitats (o 10,000 litres) de càrrega a una distància de 20 quadres +STR_GRAPH_CARGO_PAYMENT_RATES_TITLE :{TINY_FONT}{BLACK}Pagament per entregar 10 unitats (o 10.000 litres) de càrrega a una distància de 20 caselles STR_GRAPH_CARGO_ENABLE_ALL :{TINY_FONT}{BLACK}Activa-ho tot STR_GRAPH_CARGO_DISABLE_ALL :{TINY_FONT}{BLACK}Desactiva-ho tot STR_GRAPH_CARGO_TOOLTIP_ENABLE_ALL :{BLACK}Mostra totes les càrregues al gràfic de ratis de pagament de càrregues STR_GRAPH_CARGO_TOOLTIP_DISABLE_ALL :{BLACK}No mostris càrregues al gràfic de ratis de pagament de càrregues -STR_GRAPH_CARGO_PAYMENT_TOGGLE_CARGO :{BLACK}Activa/desactiva gràfic de tipus de càrrega +STR_GRAPH_CARGO_PAYMENT_TOGGLE_CARGO :{BLACK}Mostra/amaga el tipus de càrrega al gràfic STR_GRAPH_CARGO_PAYMENT_CARGO :{TINY_FONT}{BLACK}{STRING} STR_GRAPH_PERFORMANCE_DETAIL_TOOLTIP :{BLACK}Mostra ratis de rendiment detallats # Graph key window STR_GRAPH_KEY_CAPTION :{WHITE}Llegenda dels gràfics de la companyia -STR_GRAPH_KEY_COMPANY_SELECTION_TOOLTIP :{BLACK}Clica aquí per activar/desactivar l'entrada als gràfics de la companyia +STR_GRAPH_KEY_COMPANY_SELECTION_TOOLTIP :{BLACK}Clica aquí per mostrar/amagar la companyia al gràfic # Company league window -STR_COMPANY_LEAGUE_TABLE_CAPTION :{WHITE}Taula de la Lliga d'Empreses +STR_COMPANY_LEAGUE_TABLE_CAPTION :{WHITE}Taula de la lliga d'empreses STR_COMPANY_LEAGUE_COMPANY_NAME :{ORANGE}{COMPANY} {BLACK}{COMPANY_NUM} '{STRING}' STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_ENGINEER :Enginyer -STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_TRAFFIC_MANAGER :Director de Trànsit -STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_TRANSPORT_COORDINATOR :Coordinador de Transport -STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_ROUTE_SUPERVISOR :Supervisor de Ruta +STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_TRAFFIC_MANAGER :Director de trànsit +STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_TRANSPORT_COORDINATOR :Coordinador de transport +STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_ROUTE_SUPERVISOR :Supervisor de ruta STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_DIRECTOR :Director -STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_CHIEF_EXECUTIVE :Cap Executiu -STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_CHAIRMAN :Conseller Delegat +STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_CHIEF_EXECUTIVE :Cap executiu +STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_CHAIRMAN :Conseller delegat STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_PRESIDENT :President STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_TYCOON :Magnat @@ -586,34 +615,34 @@ STR_PERFORMANCE_DETAIL_SELECT_COMPANY_TOOLTIP :{BLACK}Veure el ############ Those following lines need to be in this order!! STR_PERFORMANCE_DETAIL_VEHICLES :{BLACK}Vehicles: STR_PERFORMANCE_DETAIL_STATIONS :{BLACK}Estacions: -STR_PERFORMANCE_DETAIL_MIN_PROFIT :{BLACK}Mín. benefici: -STR_PERFORMANCE_DETAIL_MIN_INCOME :{BLACK}Mín. ingrés: -STR_PERFORMANCE_DETAIL_MAX_INCOME :{BLACK}Màx. ingrés: +STR_PERFORMANCE_DETAIL_MIN_PROFIT :{BLACK}Benefici menor: +STR_PERFORMANCE_DETAIL_MIN_INCOME :{BLACK}Ingrés mínim: +STR_PERFORMANCE_DETAIL_MAX_INCOME :{BLACK}Ingrés màxim: STR_PERFORMANCE_DETAIL_DELIVERED :{BLACK}Entregat: STR_PERFORMANCE_DETAIL_CARGO :{BLACK}Càrrega: STR_PERFORMANCE_DETAIL_MONEY :{BLACK}Diner: STR_PERFORMANCE_DETAIL_LOAN :{BLACK}Préstec: STR_PERFORMANCE_DETAIL_TOTAL :{BLACK}Total: ############ End of order list -STR_PERFORMANCE_DETAIL_VEHICLES_TOOLTIP :{BLACK}Quantitat de vehicles que han donat beneficis el darrer any. Inclou els automòbils, trens, vaixells i avions -STR_PERFORMANCE_DETAIL_STATIONS_TOOLTIP :{BLACK}Quantitat d'estacions revisades recentment. Estacions, parades d'autobús, aeroports, etc. es compten separadament, fins hi tot si pertanyen a la mateixa estació. -STR_PERFORMANCE_DETAIL_MIN_PROFIT_TOOLTIP :{BLACK}El benefici del vehicle amb els menors ingressos (només s'han considerat els vehicles més antics de 2 anys) -STR_PERFORMANCE_DETAIL_MIN_INCOME_TOOLTIP :{BLACK}Quantitat de diners fets durant el quatrimestre amb el mínim benefici dels darrers 12 quatrimestres -STR_PERFORMANCE_DETAIL_MAX_INCOME_TOOLTIP :{BLACK}Quantitat de diners fets durant el quatrimestre amb el màxim benefici dels darrers 12 quatrimestres -STR_PERFORMANCE_DETAIL_DELIVERED_TOOLTIP :{BLACK}Unitats de càrrega entregades en els darrers quatre trimestres. -STR_PERFORMANCE_DETAIL_CARGO_TOOLTIP :{BLACK}Tipus de càrrega entregada durant el darrer trimestre. -STR_PERFORMANCE_DETAIL_MONEY_TOOLTIP :{BLACK}Quantitats de diners en efectiu -STR_PERFORMANCE_DETAIL_LOAN_TOOLTIP :{BLACK}La quantitat de diners que aquesta companyia té com a préstec +STR_PERFORMANCE_DETAIL_VEHICLES_TOOLTIP :{BLACK}Quantitat de vehicles que han donat beneficis el darrer any. Inclou els automòbils, trens, vaixells i avions. +STR_PERFORMANCE_DETAIL_STATIONS_TOOLTIP :{BLACK}Nombre d'estacions visitades recentment per algun vehicle. Estacions, parades d'autobús, aeroports, etc. es compten per separat, fins i tot si pertanyen a la mateixa estació. +STR_PERFORMANCE_DETAIL_MIN_PROFIT_TOOLTIP :{BLACK}El benefici del vehicle amb els menors ingressos. Només es consideren els vehicles amb més de 2 anys. +STR_PERFORMANCE_DETAIL_MIN_INCOME_TOOLTIP :{BLACK}Quantitat de diners guanyats durant el trimestre amb el mínim benefici dels darrers 12 trimestres +STR_PERFORMANCE_DETAIL_MAX_INCOME_TOOLTIP :{BLACK}Quantitat de diners guanyats durant el trimestre amb el màxim benefici dels darrers 12 trimestres +STR_PERFORMANCE_DETAIL_DELIVERED_TOOLTIP :{BLACK}Unitats de càrrega entregades en els darrers quatre trimestres +STR_PERFORMANCE_DETAIL_CARGO_TOOLTIP :{BLACK}Tipus de càrrega entregada durant el darrer trimestre +STR_PERFORMANCE_DETAIL_MONEY_TOOLTIP :{BLACK}Quantitat de diners de què disposa aquesta companyia +STR_PERFORMANCE_DETAIL_LOAN_TOOLTIP :{BLACK}La quantitat de diners que aquesta companyia té en préstec STR_PERFORMANCE_DETAIL_TOTAL_TOOLTIP :{BLACK}Total de punts sobre els punts possibles # Music window -STR_MUSIC_JAZZ_JUKEBOX_CAPTION :{WHITE}Jukebox de Jazz +STR_MUSIC_JAZZ_JUKEBOX_CAPTION :{WHITE}Reproductor de música STR_MUSIC_PLAYLIST_ALL :{TINY_FONT}{BLACK}Tot -STR_MUSIC_PLAYLIST_OLD_STYLE :{TINY_FONT}{BLACK}Estil Antic -STR_MUSIC_PLAYLIST_NEW_STYLE :{TINY_FONT}{BLACK}Nou Estil +STR_MUSIC_PLAYLIST_OLD_STYLE :{TINY_FONT}{BLACK}Estil antic +STR_MUSIC_PLAYLIST_NEW_STYLE :{TINY_FONT}{BLACK}Estil nou STR_MUSIC_PLAYLIST_EZY_STREET :{TINY_FONT}{BLACK}Ezy Street -STR_MUSIC_PLAYLIST_CUSTOM_1 :{TINY_FONT}{BLACK}Opcional 1 -STR_MUSIC_PLAYLIST_CUSTOM_2 :{TINY_FONT}{BLACK}Opcional 2 +STR_MUSIC_PLAYLIST_CUSTOM_1 :{TINY_FONT}{BLACK}Personalitzat 1 +STR_MUSIC_PLAYLIST_CUSTOM_2 :{TINY_FONT}{BLACK}Personalitzat 2 STR_MUSIC_MUSIC_VOLUME :{TINY_FONT}{BLACK}Volum de la música STR_MUSIC_EFFECTS_VOLUME :{TINY_FONT}{BLACK}Volum dels efectes STR_MUSIC_RULER_MIN :{TINY_FONT}{BLACK}MÍN @@ -622,7 +651,7 @@ STR_MUSIC_RULER_MARKER :{TINY_FONT}{BLA STR_MUSIC_TRACK_NONE :{TINY_FONT}{DKGREEN}-- STR_MUSIC_TRACK_DIGIT :{TINY_FONT}{DKGREEN}{ZEROFILL_NUM} STR_MUSIC_TITLE_NONE :{TINY_FONT}{DKGREEN}------ -STR_MUSIC_TITLE_NAME :{TINY_FONT}{DKGREEN}"{STRING}" +STR_MUSIC_TITLE_NAME :{TINY_FONT}{DKGREEN}«{STRING}» STR_MUSIC_TRACK :{TINY_FONT}{BLACK}Pista STR_MUSIC_XTITLE :{TINY_FONT}{BLACK}Títol STR_MUSIC_SHUFFLE :{TINY_FONT}{BLACK}Aleatori @@ -630,79 +659,79 @@ STR_MUSIC_PROGRAM :{TINY_FONT}{BLA STR_MUSIC_TOOLTIP_SKIP_TO_PREVIOUS_TRACK :{BLACK}Salta a la pista anterior de la selecció STR_MUSIC_TOOLTIP_SKIP_TO_NEXT_TRACK_IN_SELECTION :{BLACK}Salta a la pista següent de la selecció STR_MUSIC_TOOLTIP_STOP_PLAYING_MUSIC :{BLACK}Para la música -STR_MUSIC_TOOLTIP_START_PLAYING_MUSIC :{BLACK}Engega la música +STR_MUSIC_TOOLTIP_START_PLAYING_MUSIC :{BLACK}Reprodueix la música STR_MUSIC_TOOLTIP_DRAG_SLIDERS_TO_SET_MUSIC :{BLACK}Arrossega els controls per establir el volum de la música i els efectes de so -STR_MUSIC_TOOLTIP_SELECT_ALL_TRACKS_PROGRAM :{BLACK}Selecciona el programa 'totes les pistes' -STR_MUSIC_TOOLTIP_SELECT_OLD_STYLE_MUSIC :{BLACK}Selecciona el programa 'música estil antic' -STR_MUSIC_TOOLTIP_SELECT_NEW_STYLE_MUSIC :{BLACK}Selecciona el programa 'música de nou estil' -STR_MUSIC_TOOLTIP_SELECT_EZY_STREET_STYLE :{BLACK}Selecciona el programa 'Ezy Street style music' -STR_MUSIC_TOOLTIP_SELECT_CUSTOM_1_USER_DEFINED :{BLACK}Selecciona el programa 'Opcional 1' (definit per l'usuari) -STR_MUSIC_TOOLTIP_SELECT_CUSTOM_2_USER_DEFINED :{BLACK}Selecciona el programa 'Opcional 2' (definit per l'usuari) -STR_MUSIC_TOOLTIP_TOGGLE_PROGRAM_SHUFFLE :{BLACK}Commuta el programa aleatori actiu/inactiu -STR_MUSIC_TOOLTIP_SHOW_MUSIC_TRACK_SELECTION :{BLACK}Mostra la finestra de selecció de pistes de música +STR_MUSIC_TOOLTIP_SELECT_ALL_TRACKS_PROGRAM :{BLACK}Selecciona una llista que inclou totes les pistes +STR_MUSIC_TOOLTIP_SELECT_OLD_STYLE_MUSIC :{BLACK}Selecciona la llista de peces d'estil antic +STR_MUSIC_TOOLTIP_SELECT_NEW_STYLE_MUSIC :{BLACK}Selecciona la llista de peces d'estil nou +STR_MUSIC_TOOLTIP_SELECT_EZY_STREET_STYLE :{BLACK}Selecciona la llista de peces d'estil «Ezy Street» +STR_MUSIC_TOOLTIP_SELECT_CUSTOM_1_USER_DEFINED :{BLACK}Selecciona la primera llista configurable per l'usuari +STR_MUSIC_TOOLTIP_SELECT_CUSTOM_2_USER_DEFINED :{BLACK}Selecciona la segona llista configurable per l'usuari +STR_MUSIC_TOOLTIP_TOGGLE_PROGRAM_SHUFFLE :{BLACK}Habilita/deshabilita la reproducció en ordre aleatori +STR_MUSIC_TOOLTIP_SHOW_MUSIC_TRACK_SELECTION :{BLACK}Mostra la finestra de selecció de pistes -STR_ERROR_NO_SONGS :{WHITE}S'ha seleccionat un conjunt de músiques sense cançons. No es reproduiran cançons +STR_ERROR_NO_SONGS :{WHITE}S'ha seleccionat un conjunt de música sense peces. No es reproduirà res. # Playlist window -STR_PLAYLIST_MUSIC_PROGRAM_SELECTION :{WHITE}Selecció del Programa de Música -STR_PLAYLIST_TRACK_NAME :{TINY_FONT}{LTBLUE}{ZEROFILL_NUM} "{STRING}" -STR_PLAYLIST_TRACK_INDEX :{TINY_FONT}{BLACK}Índex de Pistes -STR_PLAYLIST_PROGRAM :{TINY_FONT}{BLACK}Programa - '{STRING}' +STR_PLAYLIST_MUSIC_PROGRAM_SELECTION :{WHITE}Selecció de les peces de la llista +STR_PLAYLIST_TRACK_NAME :{TINY_FONT}{LTBLUE}{ZEROFILL_NUM} «{STRING}» +STR_PLAYLIST_TRACK_INDEX :{TINY_FONT}{BLACK}Índex de pistes +STR_PLAYLIST_PROGRAM :{TINY_FONT}{BLACK}Llista «{STRING}» STR_PLAYLIST_CLEAR :{TINY_FONT}{BLACK}Esborra -STR_PLAYLIST_TOOLTIP_CLEAR_CURRENT_PROGRAM_CUSTOM1 :{BLACK}Esborra el programa actual (només Opcional 1 o Opcional 2) -STR_PLAYLIST_TOOLTIP_CLICK_TO_ADD_TRACK :{BLACK}Clica a la pista de música per afegir-la al programa actual (només Opcional 1 o Opcional 2) -STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Clica a la pista de música per treure-la del programa actual (només Personalitzat 1 o Personalitzat 2) +STR_PLAYLIST_TOOLTIP_CLEAR_CURRENT_PROGRAM_CUSTOM1 :{BLACK}Esborra la llista actual (només les llistes personalitzables) +STR_PLAYLIST_TOOLTIP_CLICK_TO_ADD_TRACK :{BLACK}Clica la pista de música per afegir-la a la llista actual (només en les llistes personalitzables) +STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Clica la pista de música per treure-la de la llista actual (només en llistes personalitzables) # Highscore window -STR_HIGHSCORE_TOP_COMPANIES_WHO_REACHED :{BIG_FONT}{BLACK}Principals empreses en aconseguir el Nivell {NUM} -STR_HIGHSCORE_TOP_COMPANIES_NETWORK_GAME :{BIG_FONT}{BLACK}Taula de Lliga d'Empreses a {NUM} +STR_HIGHSCORE_TOP_COMPANIES_WHO_REACHED :{BIG_FONT}{BLACK}Principals empreses en arribar al {NUM} +STR_HIGHSCORE_TOP_COMPANIES_NETWORK_GAME :{BIG_FONT}{BLACK}Taula de la lliga d'empreses a {NUM} STR_HIGHSCORE_POSITION :{BIG_FONT}{BLACK}{COMMA}. STR_HIGHSCORE_PERFORMANCE_TITLE_BUSINESSMAN :Empresari STR_HIGHSCORE_PERFORMANCE_TITLE_ENTREPRENEUR :Emprenedor STR_HIGHSCORE_PERFORMANCE_TITLE_INDUSTRIALIST :Industrial STR_HIGHSCORE_PERFORMANCE_TITLE_CAPITALIST :Capitalista STR_HIGHSCORE_PERFORMANCE_TITLE_MAGNATE :Magnat -STR_HIGHSCORE_PERFORMANCE_TITLE_MOGUL :Gran Magnat -STR_HIGHSCORE_PERFORMANCE_TITLE_TYCOON_OF_THE_CENTURY :Magnat del Segle +STR_HIGHSCORE_PERFORMANCE_TITLE_MOGUL :Gran magnat +STR_HIGHSCORE_PERFORMANCE_TITLE_TYCOON_OF_THE_CENTURY :Magnat del segle STR_HIGHSCORE_NAME :{PRESIDENT_NAME}, {COMPANY} STR_HIGHSCORE_STATS :{BIG_FONT}'{STRING}' ({COMMA}) STR_HIGHSCORE_COMPANY_ACHIEVES_STATUS :{BIG_FONT}{BLACK}{COMPANY} assoleix l'estat '{STRING}' ! STR_HIGHSCORE_PRESIDENT_OF_COMPANY_ACHIEVES_STATUS :{BIG_FONT}{WHITE}{PRESIDENT_NAME} de {COMPANY} assoleix l'estat '{STRING}' ! # Smallmap window -STR_SMALLMAP_CAPTION :{WHITE}Mapa - {STRING} +STR_SMALLMAP_CAPTION :{WHITE}Minimapa: {STRING} STR_SMALLMAP_TYPE_CONTOURS :Límits STR_SMALLMAP_TYPE_VEHICLES :Vehicles STR_SMALLMAP_TYPE_INDUSTRIES :Indústries -STR_SMALLMAP_TYPE_ROUTEMAP :Fluxe de càrregues +STR_SMALLMAP_TYPE_ROUTEMAP :Flux de càrregues STR_SMALLMAP_TYPE_ROUTES :Rutes STR_SMALLMAP_TYPE_VEGETATION :Vegetació STR_SMALLMAP_TYPE_OWNERS :Propietaris -STR_SMALLMAP_TOOLTIP_SHOW_LAND_CONTOURS_ON_MAP :{BLACK}Mostra els límits de terreny al mapa -STR_SMALLMAP_TOOLTIP_SHOW_VEHICLES_ON_MAP :{BLACK}Mostra els vehicles al mapa -STR_SMALLMAP_TOOLTIP_SHOW_INDUSTRIES_ON_MAP :{BLACK}Mostra les indústries al mapa -STR_SMALLMAP_TOOLTIP_SHOW_LINK_STATS_ON_MAP :{BLACK}Mostra el fluxe de càrregues al mapa -STR_SMALLMAP_TOOLTIP_SHOW_TRANSPORT_ROUTES_ON :{BLACK}Mostra les rutes de transport al mapa -STR_SMALLMAP_TOOLTIP_SHOW_VEGETATION_ON_MAP :{BLACK}Mostra la vegetació al mapa -STR_SMALLMAP_TOOLTIP_SHOW_LAND_OWNERS_ON_MAP :{BLACK}Mostra els propietaris del terreny al mapa -STR_SMALLMAP_TOOLTIP_INDUSTRY_SELECTION :{BLACK}Clica sobre el tipus d'indústria per commutar mostrar-les. Ctrl+Clic desactiva tots els tipus excepte la seleccionada. Ctrl+Clic sobre un altre cop activa tots els tipus d'indústria -STR_SMALLMAP_TOOLTIP_COMPANY_SELECTION :{BLACK}Clica sobre la companyia per commutar mostrar les seves propietats. Ctrl+Clic desactiva totes les companyies excepte la seleccionada. Ctrl+Clic sobre un altre cop per activar totes les companyies -STR_SMALLMAP_TOOLTIP_CARGO_SELECTION :{BLACK}Clica sobre una càrrega per commutar la visualització. Ctrl+Clic desactiva totes les càrregues excepte la seleccionada. Ctrl+Clic sobre ella una altra vegada activa totes les càrregues +STR_SMALLMAP_TOOLTIP_SHOW_LAND_CONTOURS_ON_MAP :{BLACK}Mostra l'alçada del terreny +STR_SMALLMAP_TOOLTIP_SHOW_VEHICLES_ON_MAP :{BLACK}Mostra els vehicles al minimapa +STR_SMALLMAP_TOOLTIP_SHOW_INDUSTRIES_ON_MAP :{BLACK}Mostra les indústries al minimapa +STR_SMALLMAP_TOOLTIP_SHOW_LINK_STATS_ON_MAP :{BLACK}Mostra el flux de càrregues al minimapa +STR_SMALLMAP_TOOLTIP_SHOW_TRANSPORT_ROUTES_ON :{BLACK}Mostra les estacions i rutes de transport al minimapa +STR_SMALLMAP_TOOLTIP_SHOW_VEGETATION_ON_MAP :{BLACK}Mostra la vegetació al minimapa +STR_SMALLMAP_TOOLTIP_SHOW_LAND_OWNERS_ON_MAP :{BLACK}Mostra els propietaris del terreny al minimapa +STR_SMALLMAP_TOOLTIP_INDUSTRY_SELECTION :{BLACK}Clica sobre el tipus d'indústria per mostrar-les o ocultar-les. Ctrl+Clic desactiva tots els tipus excepte la seleccionada. Ctrl+Clic a sobre d'ella un altre cop activa tots els tipus d'indústria. +STR_SMALLMAP_TOOLTIP_COMPANY_SELECTION :{BLACK}Clica sobre la companyia per mostrar o amagar les seves propietats. Ctrl+Clic desactiva totes les companyies excepte la seleccionada. Ctrl+Clic a sobre d'ella un altre cop per activar totes les companyies. +STR_SMALLMAP_TOOLTIP_CARGO_SELECTION :{BLACK}Clica sobre una càrrega per commutar la visualització. Ctrl+Clic desactiva totes les càrregues excepte la seleccionada. Ctrl+Clic a sobre d'ella una altra vegada activa totes les càrregues. STR_SMALLMAP_LEGENDA_ROADS :{TINY_FONT}{BLACK}Carreteres STR_SMALLMAP_LEGENDA_RAILROADS :{TINY_FONT}{BLACK}Vies -STR_SMALLMAP_LEGENDA_STATIONS_AIRPORTS_DOCKS :{TINY_FONT}{BLACK}Estacions/Aeroports/Ports -STR_SMALLMAP_LEGENDA_BUILDINGS_INDUSTRIES :{TINY_FONT}{BLACK}Edificis/Indústries +STR_SMALLMAP_LEGENDA_STATIONS_AIRPORTS_DOCKS :{TINY_FONT}{BLACK}Estacions, aeroports i ports +STR_SMALLMAP_LEGENDA_BUILDINGS_INDUSTRIES :{TINY_FONT}{BLACK}Edificis i indústries STR_SMALLMAP_LEGENDA_VEHICLES :{TINY_FONT}{BLACK}Vehicles STR_SMALLMAP_LEGENDA_TRAINS :{TINY_FONT}{BLACK}Trens -STR_SMALLMAP_LEGENDA_ROAD_VEHICLES :{TINY_FONT}{BLACK}Vehicles de carretera +STR_SMALLMAP_LEGENDA_ROAD_VEHICLES :{TINY_FONT}{BLACK}Automòbils STR_SMALLMAP_LEGENDA_SHIPS :{TINY_FONT}{BLACK}Vaixells STR_SMALLMAP_LEGENDA_AIRCRAFT :{TINY_FONT}{BLACK}Avions -STR_SMALLMAP_LEGENDA_TRANSPORT_ROUTES :{TINY_FONT}{BLACK}Rutes de Transport +STR_SMALLMAP_LEGENDA_TRANSPORT_ROUTES :{TINY_FONT}{BLACK}Rutes de transport STR_SMALLMAP_LEGENDA_FOREST :{TINY_FONT}{BLACK}Bosc -STR_SMALLMAP_LEGENDA_RAILROAD_STATION :{TINY_FONT}{BLACK}Estació de Ferrocarril -STR_SMALLMAP_LEGENDA_TRUCK_LOADING_BAY :{TINY_FONT}{BLACK}Moll de Càrrega de Camions +STR_SMALLMAP_LEGENDA_RAILROAD_STATION :{TINY_FONT}{BLACK}Estació de ferrocarril +STR_SMALLMAP_LEGENDA_TRUCK_LOADING_BAY :{TINY_FONT}{BLACK}Moll de càrrega de camions STR_SMALLMAP_LEGENDA_BUS_STATION :{TINY_FONT}{BLACK}Parada d'autobús STR_SMALLMAP_LEGENDA_AIRPORT_HELIPORT :{TINY_FONT}{BLACK}Aeroport/Heliport STR_SMALLMAP_LEGENDA_DOCK :{TINY_FONT}{BLACK}Moll @@ -713,13 +742,13 @@ STR_SMALLMAP_LEGENDA_FIELDS :{TINY_FONT}{BLA STR_SMALLMAP_LEGENDA_TREES :{TINY_FONT}{BLACK}Arbres STR_SMALLMAP_LEGENDA_ROCKS :{TINY_FONT}{BLACK}Roques STR_SMALLMAP_LEGENDA_WATER :{TINY_FONT}{BLACK}Aigua -STR_SMALLMAP_LEGENDA_NO_OWNER :{TINY_FONT}{BLACK}Sense Propietari +STR_SMALLMAP_LEGENDA_NO_OWNER :{TINY_FONT}{BLACK}Sense propietari STR_SMALLMAP_LEGENDA_TOWNS :{TINY_FONT}{BLACK}Poblacions STR_SMALLMAP_LEGENDA_INDUSTRIES :{TINY_FONT}{BLACK}Indústries STR_SMALLMAP_LEGENDA_DESERT :{TINY_FONT}{BLACK}Desert STR_SMALLMAP_LEGENDA_SNOW :{TINY_FONT}{BLACK}Neu -STR_SMALLMAP_TOOLTIP_TOGGLE_TOWN_NAMES_ON_OFF :{BLACK}Activa/desactiva noms de poblacions al mapa +STR_SMALLMAP_TOOLTIP_TOGGLE_TOWN_NAMES_ON_OFF :{BLACK}Mostra/amaga el nom de les poblacions al mapa STR_SMALLMAP_CENTER :{BLACK}Centra el mapa petit a la posició actual STR_SMALLMAP_INDUSTRY :{TINY_FONT}{STRING} ({NUM}) STR_SMALLMAP_LINKSTATS :{TINY_FONT}{STRING} @@ -727,97 +756,96 @@ STR_SMALLMAP_COMPANY :{TINY_FONT}{COM STR_SMALLMAP_TOWN :{TINY_FONT}{WHITE}{TOWN} STR_SMALLMAP_DISABLE_ALL :{BLACK}Desactiva-ho tot STR_SMALLMAP_ENABLE_ALL :{BLACK}Activa-ho tot -STR_SMALLMAP_SHOW_HEIGHT :{BLACK}Mostra alçada -STR_SMALLMAP_TOOLTIP_DISABLE_ALL_INDUSTRIES :{BLACK}No mostris les indústries al mapa +STR_SMALLMAP_SHOW_HEIGHT :{BLACK}Mostra l'alçada +STR_SMALLMAP_TOOLTIP_DISABLE_ALL_INDUSTRIES :{BLACK}No mostris cap indústria al mapa STR_SMALLMAP_TOOLTIP_ENABLE_ALL_INDUSTRIES :{BLACK}Mostra totes les indústries al mapa -STR_SMALLMAP_TOOLTIP_SHOW_HEIGHT :{BLACK}Commuta mostrar els mapes d'alçades +STR_SMALLMAP_TOOLTIP_SHOW_HEIGHT :{BLACK}Mostra o amaga l'alçada del terreny al minimapa STR_SMALLMAP_TOOLTIP_DISABLE_ALL_COMPANIES :{BLACK}No mostris cap propietat de la companyia al mapa STR_SMALLMAP_TOOLTIP_ENABLE_ALL_COMPANIES :{BLACK}Mostra totes les propietats de la companyia al mapa -STR_SMALLMAP_TOOLTIP_DISABLE_ALL_CARGOS :{BLACK}No mostris càrregues al mapa +STR_SMALLMAP_TOOLTIP_DISABLE_ALL_CARGOS :{BLACK}No mostris cap càrrega al mapa STR_SMALLMAP_TOOLTIP_ENABLE_ALL_CARGOS :{BLACK}Mostra totes les càrregues al mapa # Status bar messages STR_STATUSBAR_TOOLTIP_SHOW_LAST_NEWS :{BLACK}Mostra el darrer missatge o notícia STR_STATUSBAR_COMPANY_NAME :{SILVER}- - {COMPANY} - - STR_STATUSBAR_PAUSED :{YELLOW}* * EN PAUSA * * -STR_STATUSBAR_AUTOSAVE :RED}DESADA AUTOMÀTICA +STR_STATUSBAR_AUTOSAVE :{RED}DESADA AUTOMÀTICA STR_STATUSBAR_SAVING_GAME :{RED}* * DESANT PARTIDA * * # News message history -STR_MESSAGE_HISTORY :{WHITE}Historial de Missatges +STR_MESSAGE_HISTORY :{WHITE}Historial de missatges STR_MESSAGE_HISTORY_TOOLTIP :{BLACK}Llista de les notícies més recents STR_MESSAGE_NEWS_FORMAT :{STRING} - {STRING} STR_NEWS_MESSAGE_CAPTION :{WHITE}Missatge STR_NEWS_CUSTOM_ITEM :{BIG_FONT}{BLACK}{STRING} -STR_NEWS_FIRST_TRAIN_ARRIVAL :{BIG_FONT}{BLACK}Celebració popular...{}El primer tren arriba a {STATION}! -STR_NEWS_FIRST_BUS_ARRIVAL :{BIG_FONT}{BLACK}Celebració popular...{}El primer autobús arriba a {STATION}! -STR_NEWS_FIRST_TRUCK_ARRIVAL :{BIG_FONT}{BLACK}Celebració popular...{}El primer camió arriba a {STATION}! -STR_NEWS_FIRST_PASSENGER_TRAM_ARRIVAL :{BIG_FONT}{BLACK}Els ciutadans celebren . . .{}El primer tramvia de passatgers arriba a {STATION}! -STR_NEWS_FIRST_CARGO_TRAM_ARRIVAL :{BIG_FONT}{BLACK}Els ciutadans celebren . . .{}El primer tramvia de mercaderies arriba a {STATION}! -STR_NEWS_FIRST_SHIP_ARRIVAL :{BIG_FONT}{BLACK}Celebració popular...{}El primer vaixell arriba a {STATION}! -STR_NEWS_FIRST_AIRCRAFT_ARRIVAL :{BIG_FONT}{BLACK}Celebració popular...{}El primer avió arriba a {STATION}! +STR_NEWS_FIRST_TRAIN_ARRIVAL :{BIG_FONT}{BLACK}Celebració popular{}El primer tren arriba a {STATION}! +STR_NEWS_FIRST_BUS_ARRIVAL :{BIG_FONT}{BLACK}Celebració popular{}El primer autobús arriba a {STATION}! +STR_NEWS_FIRST_TRUCK_ARRIVAL :{BIG_FONT}{BLACK}Celebració popular{}El primer camió arriba a {STATION}! +STR_NEWS_FIRST_PASSENGER_TRAM_ARRIVAL :{BIG_FONT}{BLACK}Celebració popular{}El primer tramvia de passatgers arriba a {STATION}! +STR_NEWS_FIRST_CARGO_TRAM_ARRIVAL :{BIG_FONT}{BLACK}Celebració popular{}El primer tramvia de mercaderies arriba a {STATION}! +STR_NEWS_FIRST_SHIP_ARRIVAL :{BIG_FONT}{BLACK}Celebració popular{}El primer vaixell arriba a {STATION}! +STR_NEWS_FIRST_AIRCRAFT_ARRIVAL :{BIG_FONT}{BLACK}Celebració popular{}El primer avió arriba a {STATION}! -STR_NEWS_TRAIN_CRASH :{BIG_FONT}{BLACK}Accident de Tren!{}{COMMA} moren en una bola de foc després de la col·lisió -STR_NEWS_ROAD_VEHICLE_CRASH_DRIVER :{BIG_FONT}{BLACK}Accident d'automòbil!{}El conductor mor en una bola de foc després de la col·lisió amb un tren -STR_NEWS_ROAD_VEHICLE_CRASH :{BIG_FONT}{BLACK}Accident d'automòbil!{}{COMMA} moren en una bola de foc després d'una col·lisió amb un tren -STR_NEWS_AIRCRAFT_CRASH :{BIG_FONT}{BLACK}Accident d'avió!{}{COMMA} moren en una bola de foc a {STATION} -STR_NEWS_PLANE_CRASH_OUT_OF_FUEL :{BIG_FONT}{BLACK}Accident d'aviació!{}L'avió s'ha quedat sense combustible, {COMMA} morts en l'accident! +STR_NEWS_TRAIN_CRASH :{BIG_FONT}{BLACK}Accident de tren!{}{COMMA} mort{P "" s} en el foc de la col·lisió +STR_NEWS_ROAD_VEHICLE_CRASH_DRIVER :{BIG_FONT}{BLACK}Accident d'automòbil!{}El conductor mor en la col·lisió amb un tren +STR_NEWS_ROAD_VEHICLE_CRASH :{BIG_FONT}{BLACK}Accident d'automòbil!{}{COMMA} mort{P "" s} en l'explosió després de la col·lisió amb un tren +STR_NEWS_AIRCRAFT_CRASH :{BIG_FONT}{BLACK}Accident d'avió!{}{COMMA} mort{P "" s} en el tràgic accident a {STATION} +STR_NEWS_PLANE_CRASH_OUT_OF_FUEL :{BIG_FONT}{BLACK}Accident d'aviació!{}L'aeronau s'ha quedat sense combustible:{}{COMMA} mort{P "" s} en l'accident! -STR_NEWS_DISASTER_ZEPPELIN :{BIG_FONT}{BLACK}Desastre de Zeppelin a {STATION}! -STR_NEWS_DISASTER_SMALL_UFO :{BIG_FONT}{BLACK}Automòbil destruït en col·lisionar amb un 'OVNI'! -STR_NEWS_DISASTER_AIRPLANE_OIL_REFINERY :{BIG_FONT}{BLACK}Explosió de refineria de petroli prop de {TOWN}! +STR_NEWS_DISASTER_ZEPPELIN :{BIG_FONT}{BLACK}Desastre amb un zepelí a {STATION}! +STR_NEWS_DISASTER_SMALL_UFO :{BIG_FONT}{BLACK}Automòbil destruït en col·lisionar amb un ovni! +STR_NEWS_DISASTER_AIRPLANE_OIL_REFINERY :{BIG_FONT}{BLACK}Explosió de la refineria de petroli prop de {TOWN}! STR_NEWS_DISASTER_HELICOPTER_FACTORY :{BIG_FONT}{BLACK}Fàbrica destruïda en estranyes circumstàncies prop de {TOWN}! -STR_NEWS_DISASTER_BIG_UFO :{BIG_FONT}{BLACK}'OVNI' aterra prop de {TOWN}! +STR_NEWS_DISASTER_BIG_UFO :{BIG_FONT}{BLACK}Ovni aterra prop de {TOWN}! STR_NEWS_DISASTER_COAL_MINE_SUBSIDENCE :{BIG_FONT}{BLACK}L'enfonsament d'una mina de carbó deixa un rastre de destrucció prop de {TOWN}! -STR_NEWS_DISASTER_FLOOD_VEHICLE :{BIG_FONT}{BLACK}Inundacions!{}Al menys {COMMA} presumptament desapareguts o morts després de les inundacions! +STR_NEWS_DISASTER_FLOOD_VEHICLE :{BIG_FONT}{BLACK}Inundacions{}Almenys {COMMA} desapareguts, possiblement morts, després de les inundacions! -STR_NEWS_COMPANY_IN_TROUBLE_TITLE :{BIG_FONT}{BLACK}Empresa de Transport en dificultats! -STR_NEWS_COMPANY_IN_TROUBLE_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} ha de ser venuda o declarar-se en fallida a menys que el seu rendiment s'incrementi aviat! -STR_NEWS_COMPANY_MERGER_TITLE :{BIG_FONT}{BLACK}Fusió d'Empreses de Transport! +STR_NEWS_COMPANY_IN_TROUBLE_TITLE :{BIG_FONT}{BLACK}Empresa de transport en dificultats! +STR_NEWS_COMPANY_IN_TROUBLE_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} ha de ser venuda o declarar-se en fallida a menys que el seu rendiment incrementi aviat! +STR_NEWS_COMPANY_MERGER_TITLE :{BIG_FONT}{BLACK}Fusió d'empreses de transport STR_NEWS_COMPANY_MERGER_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} s'ha venut a {STRING} per {CURRENCY_LONG}! STR_NEWS_COMPANY_BANKRUPT_TITLE :{BIG_FONT}{BLACK}Fallida! -STR_NEWS_COMPANY_BANKRUPT_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} ha estat tancada pels creditors i tots els seus actius han estat venuts! -STR_NEWS_COMPANY_LAUNCH_TITLE :{BIG_FONT}{BLACK}Creada nova companyia de transports! -STR_NEWS_COMPANY_LAUNCH_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} comença la construcció prop de {TOWN}! -STR_NEWS_MERGER_TAKEOVER_TITLE :{BIG_FONT}{BLACK}{STRING} ha estat absorbida per {STRING}! +STR_NEWS_COMPANY_BANKRUPT_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} ha estat tancada pels creditors i s'han venut tots els seus actius +STR_NEWS_COMPANY_LAUNCH_TITLE :{BIG_FONT}{BLACK}Creada una nova companyia de transports +STR_NEWS_COMPANY_LAUNCH_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} comença a treballar prop de {TOWN} +STR_NEWS_MERGER_TAKEOVER_TITLE :{BIG_FONT}{BLACK}{STRING} ha estat absorbida per {STRING} STR_PRESIDENT_NAME_MANAGER :{BLACK}{PRESIDENT_NAME}{}(President) -STR_NEWS_NEW_TOWN :{BLACK}{BIG_FONT}{STRING} ha patrocinat la construcció d'una nova població, anomenada {TOWN}! +STR_NEWS_NEW_TOWN :{BLACK}{BIG_FONT}{STRING} ha patrocinat la construcció d'una nova població, anomenada {TOWN} -STR_NEWS_INDUSTRY_CONSTRUCTION :{BIG_FONT}{BLACK}No{G u va} {STRING} en construcció prop de {TOWN}! -STR_NEWS_INDUSTRY_PLANTED :{BIG_FONT}{BLACK}S'està implantant {G un una} {G nou nova} {STRING} prop de {TOWN}! +STR_NEWS_INDUSTRY_CONSTRUCTION :{BIG_FONT}{BLACK}No{G u va} {STRING} en construcció prop de {TOWN} +STR_NEWS_INDUSTRY_PLANTED :{BIG_FONT}{BLACK}S'està plantant {G un una} {G nou nova} {STRING} prop de {TOWN} -STR_NEWS_INDUSTRY_CLOSURE_GENERAL :{BIG_FONT}{BLACK}{STRING} anuncia el seu imminent tancament! -STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS :{BIG_FONT}{BLACK}Problemes de subministrament fan que {STRING} anunciï el seu imminent tancament! -STR_NEWS_INDUSTRY_CLOSURE_LACK_OF_TREES :{BIG_FONT}{BLACK}La falta d'arbres propers fa que {STRING} anunciï el seu imminent tancament! +STR_NEWS_INDUSTRY_CLOSURE_GENERAL :{BIG_FONT}{BLACK}{STRING} anuncia el seu tancament imminent +STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS :{BIG_FONT}{BLACK}Problemes de subministrament fan que {STRING} anunciï el seu imminent tancament +STR_NEWS_INDUSTRY_CLOSURE_LACK_OF_TREES :{BIG_FONT}{BLACK}L'escassedat d'arbres propers fa que {STRING} anunciï el seu imminent tancament -STR_NEWS_EURO_INTRODUCTION :{BIG_FONT}{BLACK}Unió Monetària Europea!{}{}S'introdueix l'Euro com a moneda única per les transaccions diàries del teu país! -STR_NEWS_BEGIN_OF_RECESSION :{BIG_FONT}{BLACK}Recessió Mundial!{}{}Economistes experts temen que l'economia es desplomi! -STR_NEWS_END_OF_RECESSION :{BIG_FONT}{BLACK}S'ha acabat la recessió!{}{}La millora als negocis dóna confiança a les indústries i l'economia s'enforteix! +STR_NEWS_EURO_INTRODUCTION :{BIG_FONT}{BLACK}Unió Monetària Europea{}{}S'introdueix l'euro com a moneda única per les transaccions diàries del país +STR_NEWS_BEGIN_OF_RECESSION :{BIG_FONT}{BLACK}Recessió Mundial!{}{}Economistes experts temen que l'economia es desplomi +STR_NEWS_END_OF_RECESSION :{BIG_FONT}{BLACK}S'acaba la recessió{}{}La millora dels negocis dóna confiança a les indústries i l'economia s'enforteix -STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL :{BIG_FONT}{BLACK}{INDUSTRY} incrementa la producció! -STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_COAL :{BIG_FONT}{BLACK}Nova veta de carbó trobada a {INDUSTRY}!{}Es preveu doblar la producció! -STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_OIL :{BIG_FONT}{BLACK}Noves reserves de petroli trobades a {INDUSTRY}!{}Es preveu doblar la producció! -STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_FARM :{BIG_FONT}{BLACK}Sistemes de conreu millorats a {INDUSTRY} fan preveure doblar la producció! -STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_SMOOTH :{BIG_FONT}{BLACK}La producció de {STRING} a {INDUSTRY} creix un {COMMA}%! -STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL :{BIG_FONT}{BLACK}La producció de {INDUSTRY} es redueix un 50% -STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_FARM :{BIG_FONT}{BLACK}Una plaga d'insectes provoca el caos a {INDUSTRY}!{}La producció es redueix un 50% -STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_SMOOTH :{BIG_FONT}{BLACK}La producció de {STRING} a {INDUSTRY} es redueix un {COMMA}%! +STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL :{BIG_FONT}{BLACK}{INDUSTRY} incrementa la producció +STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_COAL :{BIG_FONT}{BLACK}Nova veta de carbó trobada a {INDUSTRY}{}Es preveu doblar la producció +STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_OIL :{BIG_FONT}{BLACK}Noves reserves de petroli trobades a {INDUSTRY}{}Es preveu doblar la producció +STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_FARM :{BIG_FONT}{BLACK}Sistemes de conreu millorats a {INDUSTRY} fan preveure que es doblarà la producció +STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_SMOOTH :{BIG_FONT}{BLACK}La producció de {STRING} a {INDUSTRY} creix un {COMMA}% +STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL :{BIG_FONT}{BLACK}La producció de {INDUSTRY} descendeix un 50% +STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_FARM :{BIG_FONT}{BLACK}Una plaga d'insectes provoca el caos a {INDUSTRY}{}La producció baixa un 50% +STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_SMOOTH :{BIG_FONT}{BLACK}La producció de {STRING} a {INDUSTRY} es redueix un {COMMA}% STR_NEWS_TRAIN_IS_WAITING :{WHITE}{VEHICLE} està esperant a la cotxera STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}{VEHICLE} està esperant a la cotxera STR_NEWS_SHIP_IS_WAITING :{WHITE}{VEHICLE} està esperant a la drassana STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE} està esperant a l'hangar -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE -STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE} té massa poques ordres a l'agenda +# Order review system / warnings +STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE} té poques ordres a l'agenda STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE} té una ordre buida STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE} té ordres duplicades STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE} té una estació invàlida en les seves ordres -# end of order system +STR_NEWS_PLANE_USES_TOO_SHORT_RUNWAY :{WHITE}{VEHICLE} té en les seves ordres un aeroport amb pista d'aterratge massa curta STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} s'està fent vell STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} s'està fent molt vell @@ -839,86 +867,82 @@ STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO_OR_CARGO :{WHITE}{STATION STR_NEWS_STATION_NOW_ACCEPTS_CARGO :{WHITE}{STATION} ara accepta {STRING} STR_NEWS_STATION_NOW_ACCEPTS_CARGO_AND_CARGO :{WHITE}{STATION} ara accepta {STRING} i {STRING} -STR_NEWS_OFFER_OF_SUBSIDY_EXPIRED :{BIG_FONT}{BLACK}Oferta de subvenció expirada: {}{}El transport de {STRING} des de {STRING} fins a {STRING} no tindrà subvenció +STR_NEWS_OFFER_OF_SUBSIDY_EXPIRED :{BIG_FONT}{BLACK}Oferta de subvenció caducada: {}{}El transport de {STRING} des de {STRING} fins a {STRING} no tindrà subvenció STR_NEWS_SUBSIDY_WITHDRAWN_SERVICE :{BIG_FONT}{BLACK}Subvenció retirada:{}{}El transport de {STRING} des de {STRING} fins a {STRING} ja no està subvencionat -STR_NEWS_SERVICE_SUBSIDY_OFFERED :{BIG_FONT}{BLACK}Oferta de subvenció per a un servei:{}{} El primer servei de {STRING} des de {STRING} fins a {STRING} tindrà una subvenció d'un any per part de l'autoritat local! -STR_NEWS_SERVICE_SUBSIDY_AWARDED_HALF :{BIG_FONT}{BLACK}Subvenció per a un servei concedida a {STRING}!{}{} El transport de {STRING} des de {STRING} fins a {STRING} rebrà un 50% addicional durant el pròxim any! -STR_NEWS_SERVICE_SUBSIDY_AWARDED_DOUBLE :{BIG_FONT}{BLACK}Subvenció per a un servei concedida a {STRING}!{}{} El transport de {STRING} des de {STRING} fins a {STRING} pagarà el doble de la tarifa durant el pròxim any! -STR_NEWS_SERVICE_SUBSIDY_AWARDED_TRIPLE :{BIG_FONT}{BLACK}Subvenció per a un servei concedida a {STRING}!{}{} El transport de {STRING} des de {STRING} fins a {STRING} pagarà el triple de la tarifa durant el pròxim any! -STR_NEWS_SERVICE_SUBSIDY_AWARDED_QUADRUPLE :{BIG_FONT}{BLACK}Subvenció per a un servei concedida a {STRING}!{}{} El transport de {STRING} des de {STRING} fins a {STRING} pagarà el quàdruple de la tarifa durant el pròxim any! +STR_NEWS_SERVICE_SUBSIDY_OFFERED :{BIG_FONT}{BLACK}Oferta de subvenció per a un servei:{}{}La primera companyia en transportar {STRING} des de {STRING} fins a {STRING} tindrà una subvenció d'un any per part de l'autoritat local +STR_NEWS_SERVICE_SUBSIDY_AWARDED_HALF :{BIG_FONT}{BLACK}Subvenció concedida a {STRING}{}{}El transport de {STRING} des de {STRING} fins a {STRING} rebrà uns ingressos addicionals del 50% durant el pròxim any +STR_NEWS_SERVICE_SUBSIDY_AWARDED_DOUBLE :{BIG_FONT}{BLACK}Subvenció concedida a {STRING}{}{}El transport de {STRING} des de {STRING} fins a {STRING} ingressarà el doble de la tarifa habitual durant el pròxim any +STR_NEWS_SERVICE_SUBSIDY_AWARDED_TRIPLE :{BIG_FONT}{BLACK}Subvenció concedida a {STRING}{}{}El transport de {STRING} des de {STRING} fins a {STRING} ingressarà el triple de la tarifa habitual durant el pròxim any +STR_NEWS_SERVICE_SUBSIDY_AWARDED_QUADRUPLE :{BIG_FONT}{BLACK}Subvenció concedida a {STRING}{}{}El transport de {STRING} des de {STRING} fins a {STRING} ingressarà el quàdruple de la tarifa habitual durant el pròxim any -STR_NEWS_ROAD_REBUILDING :{BIG_FONT}{BLACK}Caos de trànsit a {TOWN}!{}{}El programa de reconstrucció dels carrers patrocinat per {STRING} porta 6 mesos de misèria als automobilistes! -STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLACK}Monopoli de transport! -STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}L'autoritat local de {TOWN} signa un contracte amb {STRING} per l'exclusiva dels drets de transport durant un any! +STR_NEWS_ROAD_REBUILDING :{BIG_FONT}{BLACK}Trànsit caòtic a {TOWN}{}{}El programa de reconstrucció dels carrers patrocinat per {STRING} porta 6 mesos de misèria als automobilistes +STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLACK}Monopoli de transports +STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}L'autoritat local de {TOWN} signa un contracte amb {STRING} per l'explotació en exclusiva dels drets de transport durant un any # Extra view window STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Vista {COMMA} STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Copia a la vista -STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Copia el lloc de la vista principal a aquesta vista +STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Mou aquesta vista on està la vista principal STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Vés a la vista -STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW_TT :{BLACK}Enganxa el lloc d'aquesta vista a la vista principal +STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW_TT :{BLACK}Mou la vista principal on està aquesta vista # Game options window -STR_GAME_OPTIONS_CAPTION :{WHITE}Opcions de la Partida +STR_GAME_OPTIONS_CAPTION :{WHITE}Opcions de la partida STR_GAME_OPTIONS_CURRENCY_UNITS_FRAME :{BLACK}Moneda -STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Selecció d'unitats de moneda +STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Selecció de la unitat monetària ############ start of currency region -STR_GAME_OPTIONS_CURRENCY_GBP :Lliura Esterlina (GBP) -STR_GAME_OPTIONS_CURRENCY_USD :Dòlar Americà (USD) +STR_GAME_OPTIONS_CURRENCY_GBP :Lliura esterlina (GBP) +STR_GAME_OPTIONS_CURRENCY_USD :Dòlar americà (USD) STR_GAME_OPTIONS_CURRENCY_EUR :Euro (EUR) -STR_GAME_OPTIONS_CURRENCY_JPY :Ien Japonès (JPY) -STR_GAME_OPTIONS_CURRENCY_ATS :Shillings Austríacs (ATS) -STR_GAME_OPTIONS_CURRENCY_BEF :Francs Belgues (BEF) -STR_GAME_OPTIONS_CURRENCY_CHF :Francs Suïssos (CHF) -STR_GAME_OPTIONS_CURRENCY_CZK :Corones Txeques (CZK) -STR_GAME_OPTIONS_CURRENCY_DEM :Marcs Alemanys (DEM) -STR_GAME_OPTIONS_CURRENCY_DKK :Corones Daneses (DKK) -STR_GAME_OPTIONS_CURRENCY_ESP :Pesseta Espanyola (ESP) -STR_GAME_OPTIONS_CURRENCY_FIM :Marcs Finesos (FIM) -STR_GAME_OPTIONS_CURRENCY_FRF :Franc Francès (FRF) -STR_GAME_OPTIONS_CURRENCY_GRD :Dracmes Gregues (GRD) -STR_GAME_OPTIONS_CURRENCY_HUF :Florí Hongarès (HUF) -STR_GAME_OPTIONS_CURRENCY_ISK :Corones Islandeses (ISK) -STR_GAME_OPTIONS_CURRENCY_ITL :Lires Italianes (ITL) -STR_GAME_OPTIONS_CURRENCY_NLG :Florins Holandesos (NLG) -STR_GAME_OPTIONS_CURRENCY_NOK :Corones Noruegues (NOK) -STR_GAME_OPTIONS_CURRENCY_PLN :Zloty Polonès (PLN) -STR_GAME_OPTIONS_CURRENCY_RON :Leu Romanès (RON) -STR_GAME_OPTIONS_CURRENCY_RUR :Rubles Russos (RUR) -STR_GAME_OPTIONS_CURRENCY_SIT :Tòlar Eslovè (SIT) -STR_GAME_OPTIONS_CURRENCY_SEK :Corones Sueques (SEK) -STR_GAME_OPTIONS_CURRENCY_TRY :Lira Turca (TRY) -STR_GAME_OPTIONS_CURRENCY_SKK :Corona Eslovaca (SKK) -STR_GAME_OPTIONS_CURRENCY_BRL :Real Brasiler (BRL) -STR_GAME_OPTIONS_CURRENCY_EEK :Corona Estoniana (EEK) -STR_GAME_OPTIONS_CURRENCY_LTL :Lites Lituanes (LTL) -STR_GAME_OPTIONS_CURRENCY_KRW :Won Sud-coreà (KRW) -STR_GAME_OPTIONS_CURRENCY_ZAR :Rand Sud-africà (ZAR) -STR_GAME_OPTIONS_CURRENCY_CUSTOM :Personalitzat... -STR_GAME_OPTIONS_CURRENCY_GEL :Lari Georgià(GEL) -STR_GAME_OPTIONS_CURRENCY_IRR :Rial Iranià(IRR) +STR_GAME_OPTIONS_CURRENCY_JPY :Ien japonès (JPY) +STR_GAME_OPTIONS_CURRENCY_ATS :Xíling austríac (ATS) +STR_GAME_OPTIONS_CURRENCY_BEF :Franc belga (BEF) +STR_GAME_OPTIONS_CURRENCY_CHF :Franc suís (CHF) +STR_GAME_OPTIONS_CURRENCY_CZK :Corona txeca (CZK) +STR_GAME_OPTIONS_CURRENCY_DEM :Marc alemany (DEM) +STR_GAME_OPTIONS_CURRENCY_DKK :Corona danesa (DKK) +STR_GAME_OPTIONS_CURRENCY_ESP :Pesseta espanyola (ESP) +STR_GAME_OPTIONS_CURRENCY_FIM :Marc finlandès (FIM) +STR_GAME_OPTIONS_CURRENCY_FRF :Franc francès (FRF) +STR_GAME_OPTIONS_CURRENCY_GRD :Dracma grega (GRD) +STR_GAME_OPTIONS_CURRENCY_HUF :Florí hongarès (HUF) +STR_GAME_OPTIONS_CURRENCY_ISK :Corona islandesa (ISK) +STR_GAME_OPTIONS_CURRENCY_ITL :Lira italiana (ITL) +STR_GAME_OPTIONS_CURRENCY_NLG :Florí neerlandès (NLG) +STR_GAME_OPTIONS_CURRENCY_NOK :Corona noruega (NOK) +STR_GAME_OPTIONS_CURRENCY_PLN :Zloty polonès (PLN) +STR_GAME_OPTIONS_CURRENCY_RON :Leu romanès (RON) +STR_GAME_OPTIONS_CURRENCY_RUR :Ruble rus (RUR) +STR_GAME_OPTIONS_CURRENCY_SIT :Tolar eslovè (SIT) +STR_GAME_OPTIONS_CURRENCY_SEK :Corona sueca (SEK) +STR_GAME_OPTIONS_CURRENCY_TRY :Lira turca (TRY) +STR_GAME_OPTIONS_CURRENCY_SKK :Corona eslovaca (SKK) +STR_GAME_OPTIONS_CURRENCY_BRL :Real brasiler (BRL) +STR_GAME_OPTIONS_CURRENCY_EEK :Corona estoniana (EEK) +STR_GAME_OPTIONS_CURRENCY_LTL :Litas lituà (LTL) +STR_GAME_OPTIONS_CURRENCY_KRW :Won sud-coreà (KRW) +STR_GAME_OPTIONS_CURRENCY_ZAR :Rand sud-africà (ZAR) +STR_GAME_OPTIONS_CURRENCY_CUSTOM :Personalitzada +STR_GAME_OPTIONS_CURRENCY_GEL :Lari georgià (GEL) +STR_GAME_OPTIONS_CURRENCY_IRR :Rial iranià (IRR) ############ end of currency region +STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Vehicles de carretera +STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}Escull el sentit de circulació dels automòbils +STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :Conducció per l'esquerra +STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_RIGHT :Conducció per la dreta -############ start of measuring units region -############ end of measuring units region - -STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Automòbils -STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}Selecciona el sentit de circulació dels automòbils -STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :Condueix per l'esquerra -STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_RIGHT :Condueix per la dreta - -STR_GAME_OPTIONS_TOWN_NAMES_FRAME :{BLACK}Noms de Poblacions -STR_GAME_OPTIONS_TOWN_NAMES_DROPDOWN_TOOLTIP :{BLACK}Selecciona l'estil des noms de poblacions +STR_GAME_OPTIONS_TOWN_NAMES_FRAME :{BLACK}Estil dels noms de poblacions +STR_GAME_OPTIONS_TOWN_NAMES_DROPDOWN_TOOLTIP :{BLACK}Selecciona l'estil dels noms de poblacions ############ start of townname region STR_GAME_OPTIONS_TOWN_NAME_ORIGINAL_ENGLISH :Anglès STR_GAME_OPTIONS_TOWN_NAME_FRENCH :Francès STR_GAME_OPTIONS_TOWN_NAME_GERMAN :Alemany -STR_GAME_OPTIONS_TOWN_NAME_ADDITIONAL_ENGLISH :Anglès (Addicional) +STR_GAME_OPTIONS_TOWN_NAME_ADDITIONAL_ENGLISH :Anglès (addicional) STR_GAME_OPTIONS_TOWN_NAME_LATIN_AMERICAN :Llatinoamericà -STR_GAME_OPTIONS_TOWN_NAME_SILLY :Tonto +STR_GAME_OPTIONS_TOWN_NAME_SILLY :Graciós STR_GAME_OPTIONS_TOWN_NAME_SWEDISH :Suec STR_GAME_OPTIONS_TOWN_NAME_DUTCH :Holandès STR_GAME_OPTIONS_TOWN_NAME_FINNISH :Finès @@ -937,75 +961,82 @@ STR_GAME_OPTIONS_TOWN_NAME_CATALAN :Català ############ end of townname region STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Desa automàticament -STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Selecciona l'interval en què el joc es desa automàticament +STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Selecciona l'interval de desada automàtica de la partida +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Inactiu STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :Cada mes STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :Cada 3 mesos STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :Cada 6 mesos STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :Cada 12 mesos +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}Idioma STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Selecciona l'idioma de la interfície -STR_GAME_OPTIONS_FULLSCREEN :{BLACK}Pantalla Completa +STR_GAME_OPTIONS_FULLSCREEN :{BLACK}Pantalla completa STR_GAME_OPTIONS_FULLSCREEN_TOOLTIP :{BLACK}Marca la casella per tenir l'OpenTTD en pantalla completa -STR_GAME_OPTIONS_RESOLUTION :{BLACK}Resolució de Pantalla +STR_GAME_OPTIONS_RESOLUTION :{BLACK}Resolució de pantalla STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Selecciona la resolució de pantalla STR_GAME_OPTIONS_RESOLUTION_OTHER :altres -STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}Format de les captures de pantalla -STR_GAME_OPTIONS_SCREENSHOT_FORMAT_TOOLTIP :{BLACK}Selecciona el format a utilitzar en les captures de pantalla +STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Mida de la interfície +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Escull la mida dels elements de la interfície + +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normal +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Doble +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Quàdruple STR_GAME_OPTIONS_BASE_GRF :{BLACK}Conjunt de gràfics base STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Selecciona el conjunt de gràfics base a utilitzar -STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} arxiu{P "" s} faltant{P "" s}/corromput{P "" s} +STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} arxiu{P "" s} absent{P "" s}/corromput{P "" s} STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Informació addicional sobre el conjunt de gràfics base STR_GAME_OPTIONS_BASE_SFX :{BLACK}Conjunt de sons base STR_GAME_OPTIONS_BASE_SFX_TOOLTIP :{BLACK}Selecciona un conjunt de sons base a utilitzar -STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Informació additional sobre el joc de sons base +STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Informació addicional sobre el joc de sons base -STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Conjunt de músiques base -STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Selecciona el conjunt de músiques base a utilitzar +STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Conjunt de peces de música base +STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Selecciona el conjunt de peces de música base a utilitzar STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} fitxer{P "" s} corromput{P "" s} -STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Informació adicional sobre el conjunt de músiques base +STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Informació addicional sobre el conjunt de peces de música base -STR_ERROR_FULLSCREEN_FAILED :{WHITE}El mode en pantalla completa ha fallat +STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}No s'ha pogut obtenir la llista de resolucions permeses +STR_ERROR_FULLSCREEN_FAILED :{WHITE}Ha fallat el mode pantalla completa # Custom currency window STR_CURRENCY_WINDOW :{WHITE}Moneda personalitzada STR_CURRENCY_EXCHANGE_RATE :{LTBLUE}Canvi de moneda: {ORANGE}{CURRENCY_LONG} = £ {COMMA} -STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Disminueix la quantitat de moneda per cada Lliura (£) -STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Augmenta la quantitat de moneda per cada Lliura (£) +STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Disminueix la quantitat de moneda per cada lliura (£) +STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Augmenta la quantitat de moneda per cada lliura (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Estableix el tipus de canvi de la moneda per cada Lliura (£) STR_CURRENCY_SEPARATOR :{LTBLUE}Separador: {ORANGE}{STRING} -STR_CURRENCY_SET_CUSTOM_CURRENCY_SEPARATOR_TOOLTIP :{BLACK}Estableix el separador per a la moneda +STR_CURRENCY_SET_CUSTOM_CURRENCY_SEPARATOR_TOOLTIP :{BLACK}Estableix el separador per la moneda STR_CURRENCY_PREFIX :{LTBLUE}Prefix: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Estableix el prefix de text per a la moneda STR_CURRENCY_SUFFIX :{LTBLUE}Sufix: {ORANGE}{STRING} -STR_CURRENCY_SET_CUSTOM_CURRENCY_SUFFIX_TOOLTIP :{BLACK}Estableix el sufix de text per a la moneda +STR_CURRENCY_SET_CUSTOM_CURRENCY_SUFFIX_TOOLTIP :{BLACK}Estableix el sufix de text per la moneda -STR_CURRENCY_SWITCH_TO_EURO :{LTBLUE}Canvia a l'Euro: {ORANGE}{NUM} -STR_CURRENCY_SWITCH_TO_EURO_NEVER :{LTBLUE}Canvia a l'Euro: {ORANGE}mai -STR_CURRENCY_SET_CUSTOM_CURRENCY_TO_EURO_TOOLTIP :{BLACK}Estableix l'any d'introducció de l'Euro -STR_CURRENCY_DECREASE_CUSTOM_CURRENCY_TO_EURO_TOOLTIP :{BLACK}Canvia a l'Euro més aviat -STR_CURRENCY_INCREASE_CUSTOM_CURRENCY_TO_EURO_TOOLTIP :{BLACK}Canvia a l'Euro més tard +STR_CURRENCY_SWITCH_TO_EURO :{LTBLUE}Canvia a l'euro: {ORANGE}{NUM} +STR_CURRENCY_SWITCH_TO_EURO_NEVER :{LTBLUE}Canvia a l'euro: {ORANGE}mai +STR_CURRENCY_SET_CUSTOM_CURRENCY_TO_EURO_TOOLTIP :{BLACK}Estableix l'any d'introducció de l'euro +STR_CURRENCY_DECREASE_CUSTOM_CURRENCY_TO_EURO_TOOLTIP :{BLACK}Introdueix l'euro més aviat +STR_CURRENCY_INCREASE_CUSTOM_CURRENCY_TO_EURO_TOOLTIP :{BLACK}Introdueix l'euro més tard STR_CURRENCY_PREVIEW :{LTBLUE}Vista prèvia: {ORANGE}{CURRENCY_LONG} -STR_CURRENCY_CUSTOM_CURRENCY_PREVIEW_TOOLTIP :{BLACK}10000 Lliures (£) en aquesta moneda +STR_CURRENCY_CUSTOM_CURRENCY_PREVIEW_TOOLTIP :{BLACK}10.000 lliures (£) en aquesta moneda STR_CURRENCY_CHANGE_PARAMETER :{BLACK}Canvia el paràmetre de la moneda personalitzada -STR_DIFFICULTY_LEVEL_SETTING_MAXIMUM_NO_COMPETITORS :{LTBLUE}Màxim núm. de competidors: {ORANGE}{COMMA} +STR_DIFFICULTY_LEVEL_SETTING_MAXIMUM_NO_COMPETITORS :{LTBLUE}Nombre màxim de competidors: {ORANGE}{COMMA} STR_NONE :Cap -STR_FUNDING_ONLY :Només finança +STR_FUNDING_ONLY :Cap, excepte finançades STR_MINIMAL :Mínim -STR_NUM_VERY_LOW :Molt Baix +STR_NUM_VERY_LOW :Molt baix STR_NUM_LOW :Baix STR_NUM_NORMAL :Normal STR_NUM_HIGH :Alt @@ -1013,19 +1044,19 @@ STR_NUM_CUSTOM :Personalitzat STR_NUM_CUSTOM_NUMBER :Personalitzat ({NUM}) STR_VARIETY_NONE :Cap -STR_VARIETY_VERY_LOW :Molt Baix -STR_VARIETY_LOW :Baix -STR_VARIETY_MEDIUM :Mitjà -STR_VARIETY_HIGH :Alt -STR_VARIETY_VERY_HIGH :Molt Alt +STR_VARIETY_VERY_LOW :Molt baixa +STR_VARIETY_LOW :Baixa +STR_VARIETY_MEDIUM :Mitjana +STR_VARIETY_HIGH :Alta +STR_VARIETY_VERY_HIGH :Molt alta -STR_AI_SPEED_VERY_SLOW :Molt Lent +STR_AI_SPEED_VERY_SLOW :Molt lent STR_AI_SPEED_SLOW :Lent STR_AI_SPEED_MEDIUM :Mitjà STR_AI_SPEED_FAST :Ràpid -STR_AI_SPEED_VERY_FAST :Molt Ràpid +STR_AI_SPEED_VERY_FAST :Molt ràpid -STR_SEA_LEVEL_VERY_LOW :Molt Baix +STR_SEA_LEVEL_VERY_LOW :Molt baix STR_SEA_LEVEL_LOW :Baix STR_SEA_LEVEL_MEDIUM :Mitjà STR_SEA_LEVEL_HIGH :Alt @@ -1034,7 +1065,7 @@ STR_SEA_LEVEL_CUSTOM_PERCENTAGE :Personalitzat ( STR_RIVERS_NONE :Cap STR_RIVERS_FEW :Pocs -STR_RIVERS_MODERATE :Mitjà +STR_RIVERS_MODERATE :Normal STR_RIVERS_LOT :Molts STR_DISASTER_NONE :Cap @@ -1046,23 +1077,24 @@ STR_SUBSIDY_X2 :x2 STR_SUBSIDY_X3 :x3 STR_SUBSIDY_X4 :x4 -STR_TERRAIN_TYPE_VERY_FLAT :Molt Pla +STR_TERRAIN_TYPE_VERY_FLAT :Molt pla STR_TERRAIN_TYPE_FLAT :Pla STR_TERRAIN_TYPE_HILLY :Accidentat -STR_TERRAIN_TYPE_MOUNTAINOUS :Muntanyenc +STR_TERRAIN_TYPE_MOUNTAINOUS :Muntanyós +STR_TERRAIN_TYPE_ALPINIST :Escarpat -STR_CITY_APPROVAL_PERMISSIVE :Permissiu +STR_CITY_APPROVAL_PERMISSIVE :Permissiva STR_CITY_APPROVAL_TOLERANT :Tolerant STR_CITY_APPROVAL_HOSTILE :Hostil -STR_WARNING_NO_SUITABLE_AI :{WHITE}No hi ha cap IA disponible...{}Podeu descarregar-ne a través del 'Contingut en línia' +STR_WARNING_NO_SUITABLE_AI :{WHITE}No hi ha cap IA disponible...{}Podeu descarregar-ne a través del «Contingut en línia». -# Advanced settings window -STR_CONFIG_SETTING_CAPTION :{WHITE}Paràmetres avançats -STR_CONFIG_SETTING_FILTER_TITLE :{G=Femenin}{BLACK}Cadena filtrant: +# Settings tree window +STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Configuració +STR_CONFIG_SETTING_FILTER_TITLE :{G=Femenin}{BLACK}Cadena de filtrat: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Desplega-ho tot STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Plega-ho tot -STR_CONFIG_SETTING_NO_EXPLANATION_AVAILABLE_HELPTEXT :(Cap explicació disponible) +STR_CONFIG_SETTING_NO_EXPLANATION_AVAILABLE_HELPTEXT :(cap explicació disponible) STR_CONFIG_SETTING_DEFAULT_VALUE :{LTBLUE}Valor per defecte: {ORANGE}{STRING} STR_CONFIG_SETTING_TYPE :{LTBLUE}Tipus de paràmetre: {ORANGE}{STRING} STR_CONFIG_SETTING_TYPE_CLIENT :Paràmetre del client (no s'emmagatzema a les partides; afecta a totes les partides) @@ -1074,22 +1106,22 @@ STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :Paràmetre de l STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK}Categoria: STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}Tipus: STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Restringeix la llista de sota usant els filtres predefinits -STR_CONFIG_SETTING_RESTRICT_BASIC :Paràmetres bàsics -STR_CONFIG_SETTING_RESTRICT_ADVANCED :Paràmetres avançats -STR_CONFIG_SETTING_RESTRICT_ALL :Paràmetres per experts / tots els paràmetres +STR_CONFIG_SETTING_RESTRICT_BASIC :Paràmetres bàsics (mostra només els paràmetres importants) +STR_CONFIG_SETTING_RESTRICT_ADVANCED :Paràmetres avançats (mostra la majoria dels paràmetres) +STR_CONFIG_SETTING_RESTRICT_ALL :Paràmetres per experts (mostra tots els paràmetres, fins i tot els rars) STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :Paràmetres amb un valor diferent del predeterminat STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :Paràmetres amb un valor diferent dels paràmetres de partida nova STR_CONFIG_SETTING_TYPE_DROPDOWN_HELPTEXT :{BLACK}Restringeix la llista de sota a certs tipus de paràmetres STR_CONFIG_SETTING_TYPE_DROPDOWN_ALL :Tots els paràmetres STR_CONFIG_SETTING_TYPE_DROPDOWN_CLIENT :Paràmetres del client (no s'emmagatzemen a les partides; afecten a totes les partides) -STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :Paràmetres de la partida (emmagatzemats a les partides; només afectaran a les noves partides) +STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :Paràmetres de la partida (emmagatzemats a les partides; només afectaran les noves partides) STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :Paràmetres de la partida (emmagatzemats a la partida actual; només afecten la partida actual) STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :Paràmetres de la companyia (emmagatzemats a les partides desades; només afectaran les partides noves) STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :Paràmetres de la companyia (emmagatzemats a la partida actual; només afecten la companyia actual) -STR_CONFIG_SETTING_CATEGORY_HIDES :{BLACK}Mostra tots els resultats de la cerca ajustant{}{SILVER}Categoria {BLACK}a {WHITE}{STRING} -STR_CONFIG_SETTING_TYPE_HIDES :{BLACK}Mostrar tots els resultats per opció de configuració{}{SILVER}Tipus {BLACK}a {WHITE}Tots els tipus d'opció -STR_CONFIG_SETTING_CATEGORY_AND_TYPE_HIDES :{BLACK}Mostra tots els resultats de la cerca ajustant{}{SILVER}Categoria {BLACK}a {WHITE}{STRING} {BLACK}i {SILVER}Tipus {BLACK}a {WHITE}Tots els tipus d'ajustaments +STR_CONFIG_SETTING_CATEGORY_HIDES :{BLACK}Mostra tots els resultats de la cerca filtrada de {WHITE}{STRING} +STR_CONFIG_SETTING_TYPE_HIDES :{BLACK}Mostrar tots els resultats de la cerca filtrada amb {WHITE}tots els tipus de paràmetres +STR_CONFIG_SETTING_CATEGORY_AND_TYPE_HIDES :{BLACK}Mostra tots els resultats de la cerca filtrada de {WHITE}{STRING} {BLACK}i {WHITE}tots els tipus d'ajustaments STR_CONFIG_SETTINGS_NONE :{WHITE}- Cap - STR_CONFIG_SETTING_OFF :Inactiu @@ -1102,73 +1134,70 @@ STR_CONFIG_SETTING_COMPANIES_ALL :Totes les compa STR_CONFIG_SETTING_NONE :Cap STR_CONFIG_SETTING_ORIGINAL :Original -STR_CONFIG_SETTING_REALISTIC :Realístic +STR_CONFIG_SETTING_REALISTIC :Realista STR_CONFIG_SETTING_HORIZONTAL_POS_LEFT :Esquerra STR_CONFIG_SETTING_HORIZONTAL_POS_CENTER :Centre STR_CONFIG_SETTING_HORIZONTAL_POS_RIGHT :Dreta STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Préstec inicial màxim: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Quantitat màxima de préstec que pot demanar una companyia (sense tenir en compte l'inflació) +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Quantitat màxima del préstec que pot demanar una companyia (sense tenir en compte la inflació) STR_CONFIG_SETTING_INTEREST_RATE :Taxa d'interès: {STRING} STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :Tipus d'interès dels préstecs; també controla la inflació, si està activada STR_CONFIG_SETTING_RUNNING_COSTS :Costos d'utilització: {STRING} STR_CONFIG_SETTING_RUNNING_COSTS_HELPTEXT :Fixa el nivell de manteniment i els costos d'utilització dels vehicles i infraestructures -STR_CONFIG_SETTING_CONSTRUCTION_SPEED :Velocitat de construcció: {STRING} +STR_CONFIG_SETTING_CONSTRUCTION_SPEED :Ritme de construcció: {STRING} STR_CONFIG_SETTING_CONSTRUCTION_SPEED_HELPTEXT :Limita la quantitat d'accions de construcció per part de les IA -STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS :Avaries de vehicles: {STRING} +STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS :Nombre d'avaries de vehicles: {STRING} STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS_HELPTEXT :Controla cada quan els vehicles revisats inadequadament s'espatllen STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER :Multiplicador del subsidi: {STRING} -STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER_HELPTEXT :Fixa quant es paga per les connexions subsidiades +STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER_HELPTEXT :Fixa quant es paga pels transports subsidiats STR_CONFIG_SETTING_CONSTRUCTION_COSTS :Costos de construcció: {STRING} STR_CONFIG_SETTING_CONSTRUCTION_COSTS_HELPTEXT :Fixa el nivell de construcció i els preus de compra STR_CONFIG_SETTING_RECESSIONS :Recessions: {STRING} -STR_CONFIG_SETTING_RECESSIONS_HELPTEXT :Si està actiu les recessions poden passar cada pocs anys. Durant una recessió tota la producció és significativament baixa (torna al nivell previ quan la recessió s'acaba) -STR_CONFIG_SETTING_TRAIN_REVERSING :No permet que els trens canviïn de sentit a les estacions: {STRING} -STR_CONFIG_SETTING_TRAIN_REVERSING_HELPTEXT :Si està actiu els trens no canviaran de sentit a les estacions no-finals, inclús si hi ha un camí més curt al seu proper destí en cas de canviar de sentit -STR_CONFIG_SETTING_DISASTERS :Desastres: {STRING} -STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Commuta els desastres que poden bloquejar o destruir ocasionalment vehicles o infraestructures +STR_CONFIG_SETTING_RECESSIONS_HELPTEXT :Si està actiu, les recessions poden passar cada pocs anys. Durant una recessió, tota la producció és significativament baixa, tornant al nivell previ quan la recessió s'acabi. +STR_CONFIG_SETTING_TRAIN_REVERSING :No permetis que els trens canviïn de sentit a les estacions: {STRING} +STR_CONFIG_SETTING_TRAIN_REVERSING_HELPTEXT :Si està actiu, els trens no canviaran de sentit a les estacions no-finals, inclús si hi ha un camí més curt al seu proper destí en cas de canviar de sentit. +STR_CONFIG_SETTING_DISASTERS :Catàstrofes: {STRING} +STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Permet o no que passin catàstrofes que puguin bloquejar o destruir ocasionalment vehicles o infraestructures STR_CONFIG_SETTING_CITY_APPROVAL :Actitud de l'alcaldia de la població davant de reestructuracions a la zona: {STRING} -STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Escull quin nivell de soroll i de danys ambientals fets per les companyies afecten al seu prestigi a la població i a futures accions de construcció a la zona +STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Estableix quin nivell de soroll i de danys ambientals fets per les companyies afecten al seu prestigi davant de la població i futures accions de construcció a la zona -STR_CONFIG_SETTING_BUILDONSLOPES :Permet construir en desnivells i costes: {STRING} -STR_CONFIG_SETTING_BUILDONSLOPES_HELPTEXT :Si està activat, les vies i les estacions poden ser construïdes en la majoria de pendents. Si està desactivat, només està permès en aquells pendents que coincideixin amb la direcció de la via i no necessitin fonaments -STR_CONFIG_SETTING_AUTOSLOPE :Permet modelar el terreny sota edificis, rails, etc. (autopendent): {STRING} -STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Permetre modelar el terreny sota edificis i rails, sense eliminar-los -STR_CONFIG_SETTING_CATCHMENT :Permet una mida més real de l'àrea d'influència: {STRING} -STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Tenir diferents mides de zones de captació per a diferents tipus d'estacions i aeroports +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :Alçada màxima del mapa: {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :Estableix l'alçada màxima permesa del terreny en el mapa +STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}No es pot escollir aquesta alçada màxima del mapa: hi ha alguna zona del mapa actual que és més alta. +STR_CONFIG_SETTING_AUTOSLOPE :Permet la modificació del terreny sota edificis, rails, etc.: {STRING} +STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Permet modelar el terreny sota edificis i rails, sense eliminar-los +STR_CONFIG_SETTING_CATCHMENT :Estableix una mida més real de l'àrea d'influència: {STRING} +STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Permet tenir diferents mides de zones de captació per a diferents tipus d'estacions i aeroports STR_CONFIG_SETTING_EXTRADYNAMITE :Permet l'esborrat de carreteres, ponts i túnels propietat de les poblacions: {STRING} -STR_CONFIG_SETTING_EXTRADYNAMITE_HELPTEXT :Que sigui més fàcil esborrar infraesctuctures i construccions propietat de la població +STR_CONFIG_SETTING_EXTRADYNAMITE_HELPTEXT :Aquesta opció permet fer més fàcil l'esborrat d'infraestructures i construccions propietat de la població STR_CONFIG_SETTING_TRAIN_LENGTH :Longitud màxima dels trens: {STRING} -STR_CONFIG_SETTING_TRAIN_LENGTH_HELPTEXT :Establir la longitud màxima dels trens -STR_CONFIG_SETTING_TILE_LENGTH :{COMMA} cel·l{P 0 a es} +STR_CONFIG_SETTING_TRAIN_LENGTH_HELPTEXT :Estableix la longitud màxima dels trens +STR_CONFIG_SETTING_TILE_LENGTH :{COMMA} cel·l{P a es} STR_CONFIG_SETTING_SMOKE_AMOUNT :Quantitat de fum i espurnes dels vehicles: {STRING} -STR_CONFIG_SETTING_SMOKE_AMOUNT_HELPTEXT :Establir la quantitat de fums o quantes espurnes són emeses pels vehicles +STR_CONFIG_SETTING_SMOKE_AMOUNT_HELPTEXT :Estableix la quantitat de fum o quantes espurnes són emeses pels vehicles STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL :Model d'acceleració dels trens: {STRING} -STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL_HELPTEXT :Seleccioneu el model físic per a l'acceleració del tren. El model "original" penalitza les pujades per igual a tots els vehicles. El model "realístic" penalitza les pujades i les corbes en funció de diverses propietats del compost, al igual que la longitud i la força de tracció +STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL_HELPTEXT :Seleccioneu el model físic per l'acceleració de trens. El model «original» penalitza les pujades per igual a tots els vehicles. El model «realista» penalitza les pujades i les corbes en funció de diverses propietats del tren, com ara la longitud i la força de tracció STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL :Model d'acceleració per als vehicles: {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL_HELPTEXT :Seleccioneu el model físic per a l'acceleració d'un vehicle de carretera. El model "original" penalitza les pujades per igual a tots els vehicles. El model "realista" penalitza les pendents en funció de les diferents propietats de la màquina, com per exemple "l'esforç de tracció" +STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL_HELPTEXT :Seleccioneu el model físic per l'acceleració d'automòbils. El model «original» penalitza les pujades per igual a tots els vehicles. El model «realista» penalitza els pendents en funció de les diferents propietats de la màquina, com per exemple l'esforç de tracció. STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS :Pendent d'inclinació per als trens: {STRING} -STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS_HELPTEXT :La inclinació d'una celda en pendent per a un tren. Els valors més alts fan que sigui més difícil escalar un turó +STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS_HELPTEXT :La inclinació d'una cel·la en pendent per a un tren. Els valors més alts fan que sigui més difícil escalar un turó STR_CONFIG_SETTING_PERCENTAGE :{COMMA}% STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS :Pendent d'inclinació per als automòbils: {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT :La inclinació d'una celda en pendent per a un vehicle de carretera. Els valors més alts fan que sigui més difícil escalar un turó +STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT :La inclinació d'una cel·la amb pendent per a automòbils. Els valors més alts fan que sigui més difícil escalar un turó STR_CONFIG_SETTING_FORBID_90_DEG :Prohibeix fer girs de 90 graus als trens i vaixells: {STRING} -STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Els girs de 90 graus succeeixen quan una via horitzontal està seguida d'una vertical a la cel·la annexa, provocant que el tren giri 90 graus quan atravessi la vora de la cel·la enlloc dels 45 graus usuals en les altres combinacions. Això també s'aplica al radi de gir dels vaixells +STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Els girs de 90 graus succeeixen quan una via horitzontal està seguida d'una vertical a la cel·la annexa, provocant que el tren giri 90 graus quan travessi la vora de la cel·la en lloc dels 45 graus usuals en les altres combinacions. Això també s'aplica al radi de gir dels vaixells STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Permet ajuntar estacions no annexes: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Permetre afegir parts a una estació sense contacte directe amb les parts existents. Fa falta Ctrl + Clic, mentre és col·loquen les peces noves -STR_CONFIG_SETTING_IMPROVEDLOAD :Utilitza algorisme millorat de càrrega: {STRING} -STR_CONFIG_SETTING_IMPROVEDLOAD_HELPTEXT :Si està activat, múltiples vehicles esperant a una estació es carreguen de forma seqüencial. -STR_CONFIG_SETTING_GRADUAL_LOADING :Carrega els vehicles gradualment: {STRING} -STR_CONFIG_SETTING_GRADUAL_LOADING_HELPTEXT :De mica en mica, carregar els vehícles que utilitzen duracions específiques de vehícles, en comptes de carregar-los tots alhora en un temps fix que només depén de la quantitat de càrrega carregada STR_CONFIG_SETTING_INFLATION :Inflació: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :Habilita la inflació a l'economia, on l'augment dels costos són una mica més ràpids que els dels pagaments -STR_CONFIG_SETTING_SELECTGOODS :Entrega càrregues en una estació només quan hi ha demananda: {STRING} -STR_CONFIG_SETTING_SELECTGOODS_HELPTEXT :Només entregar la càrrega en una estació que ha demanat el vehícle de càrrega. Això evita ratis erronis per les càrregues que no han estat demanades per l'estació -STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Màxima longitud del pont: {STRING} +STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Màxima longitud dels ponts: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Longitud màxima per a la construcció de ponts -STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Màxima longitud del túnel: {STRING} -STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :Longitud màxima per a construir tunels +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :Alçada màxima dels ponts: {STRING} +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :Alçada màxima de construcció dels ponts +STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Màxima longitud dels túnels: {STRING} +STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :Longitud màxima per a la construcció de túnels STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Mètode de construcció de la indústria primària manual: {STRING} STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_HELPTEXT :Mètode de finançament d'indústria primària. 'cap' significa que no serà possible fundar-ne cap, 'prospecció' significa que serà possible fundar-ne, però la construcció succeirà en un lloc aleatori del mapa i també podria passar que fracassi, 'com les altre indústries' significa que les indústries de matèries primeres poden ser construides a qualsevol lloc per les companyies igual que les indústries manufactureres STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NONE :Cap @@ -1187,14 +1216,12 @@ STR_CONFIG_SETTING_SHOWFINANCES :Mostra la fines STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT :Si està activat, la finestra de finances apareix al final de cada any per permetre una inspecció fàcil de l'estat financer de la companyia STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :Les noves ordres predeterminades són 'sense parada': {STRING} STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT :Normalment, un vehicle pararà a cada estació que passi. Activant aquest paràmetre no pararà a cap estació fins arribar a la seu destí. Nota, aquest paràmetre només defineix el valor predeterminat per les noves ordres. De totes maneres les ordres individuals poden establir explícitament qualsevol dels comportaments -STR_CONFIG_SETTING_STOP_LOCATION :Noves ordres del tren parar per defecte a {STRING} de la plataforma +STR_CONFIG_SETTING_STOP_LOCATION :Noves ordres del tren: parar per defecte {STRING} de la plataforma STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Situa en quin lloc de la plataforma el tren pararà per defecte. 'Extrem més proper' significa a prop del punt d'entrada, 'al mig' significa al mig de la plataforma, i 'extrem més llunyà' significa lluny del punt d'entrada. Nota, aquest paràmetre només defineix el valor predeterminat per les noves ordres. De totes maneres les ordres individuals poden establir explícitament qualsevol dels comportaments STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :a l'extrem més proper STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :a la meitat STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :a l'extrem més llunyà -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING :Cues d'automòbils (amb efectes quàntics): {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING_HELPTEXT :Fes que un vehicle esperi davant d'una parada plena fins que estigui lliure -STR_CONFIG_SETTING_AUTOSCROLL :Finestra d'avis quan el ratolí és al marc del programa: {STRING} +STR_CONFIG_SETTING_AUTOSCROLL :Finestra d'avís quan el ratolí és al marc del programa: {STRING} STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Quan està activat, les vistes començaran a desplaçar-se quan el ratolí sigui a prop la vora de la finestra STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Desactivat STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT_FULLSCREEN :Vista principal, només pantalla completa @@ -1216,7 +1243,7 @@ STR_CONFIG_SETTING_PLANE_SPEED :Factor de veloc STR_CONFIG_SETTING_PLANE_SPEED_HELPTEXT :Estableix la velocitat relativa dels avions en comparació amb els altres tipus de vehicles, per reduir la quantitat de guanys de transport dels avions STR_CONFIG_SETTING_PLANE_SPEED_VALUE :1 / {COMMA} STR_CONFIG_SETTING_PLANE_CRASHES :Nombre d'accidents d'avió: {STRING} -STR_CONFIG_SETTING_PLANE_CRASHES_HELPTEXT :Estableix les probabilitats de que succeeixi un accident d'avió +STR_CONFIG_SETTING_PLANE_CRASHES_HELPTEXT :Estableix la probabilitat amb què succeeixen els accidents d'avió STR_CONFIG_SETTING_PLANE_CRASHES_NONE :Cap STR_CONFIG_SETTING_PLANE_CRASHES_REDUCED :Reduït STR_CONFIG_SETTING_PLANE_CRASHES_NORMAL :Normal @@ -1224,77 +1251,87 @@ STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Permet situar p STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Permet la construcció de passos a nivell en els carrers propietat de les poblacions STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Permet circular a través de les parades en carreteres propietat de competidors: {STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Permet la construcció de passos a nivell en els carrers propietat d'altres companyies -STR_CONFIG_SETTING_ADJACENT_STATIONS :Permet construir estacions annexes: {STRING} -STR_CONFIG_SETTING_ADJACENT_STATIONS_HELPTEXT :Permet que diferents estacions es toquin l'una a l'altra -STR_CONFIG_SETTING_DYNAMIC_ENGINES :Activa diversos paquets NewGRF de models de vehicles: {STRING} -STR_CONFIG_SETTING_DYNAMIC_ENGINES_HELPTEXT :Opció de compatibilitat per NewGRF vells. No desactivis això, a menys que sàpigues exactament el que estàs fent! STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}No es pot canviar aquest ajustament quan hi ha vehicles -STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Manteniment d'infrastructures: {STRING} -STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Quan està activat, la infrastructura provoca costos de manteniment. El cost creix proporcionalment al tamany de la xarxa de transport, afectant en conseqüència més a les companyies grosses que a les petites +STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Manteniment de la infraestructura: {STRING} +STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Quan està activat, la infraestructura provoca costos de manteniment. El cost creix proporcionalment al tamany de la xarxa de transport, afectant en conseqüència més a les companyies grosses que a les petites STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Els aeroports mai caduquen: {STRING} -STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Activant aquesta opció fa que cada tipus aeroport estigui disponible per sempre després de la seva introducció +STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Activant aquesta opció fa que cada tipus d'aeroport estigui disponible per sempre després de la seva introducció STR_CONFIG_SETTING_WARN_LOST_VEHICLE :Avisa si el vehicle es perd: {STRING} STR_CONFIG_SETTING_WARN_LOST_VEHICLE_HELPTEXT :Alerta amb missatges quan els vehicles no siguin capaços de trobar el camí al seu destí indicat STR_CONFIG_SETTING_ORDER_REVIEW :Revisa ordres dels vehicles: {STRING} -STR_CONFIG_SETTING_ORDER_REVIEW_HELPTEXT :Quan està activat, les ordres dels vehicles són verificades periòdicament, i alguns problemes evidents seran informats amb missatges de noticia quan siguin detectats +STR_CONFIG_SETTING_ORDER_REVIEW_HELPTEXT :Quan està activat, les ordres dels vehicles són verificades periòdicament, i alguns problemes evidents seran informats amb missatges de notícia quan siguin detectats STR_CONFIG_SETTING_ORDER_REVIEW_OFF :No STR_CONFIG_SETTING_ORDER_REVIEW_EXDEPOT :Sí, excepte vehicles parats STR_CONFIG_SETTING_ORDER_REVIEW_ON :De tots els vehicles STR_CONFIG_SETTING_WARN_INCOME_LESS :Avisa si el benefici del vehicle és negatiu: {STRING} -STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT :Quan està activat, un missatge de noticia és enviat quan un vehicle no ha tingut beneficis durant l'any +STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT :Quan està activat, un missatge de notícia és enviat quan un vehicle no ha tingut beneficis durant l'any STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Els vehicles mai caduquen: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Quan està activat, tots els models de vehicles continuen disponibles per sempre després de la seva introducció STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Autorenova el vehicle quan sigui vell: {STRING} -STR_CONFIG_SETTING_AUTORENEW_VEHICLE_HELPTEXT :Quan està activat, un vehicle que arriba al seu final de vida útil és automàticament substituït quan es compleixen les condicions d'autorenovació -STR_CONFIG_SETTING_AUTORENEW_MONTHS :Autorenova quan el vehicle tingui {STRING} anys màx. -STR_CONFIG_SETTING_AUTORENEW_MONTHS_HELPTEXT :Edat relativa quan el vehicle hagi de ser considerat per l'autorenovació -STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_BEFORE :{COMMA} mesos{P 0 "" s} abans -STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_AFTER :{COMMA} mesos{P 0 "" s} després -STR_CONFIG_SETTING_AUTORENEW_MONEY :Autorenovació: mínim de diners per renovar: {STRING} +STR_CONFIG_SETTING_AUTORENEW_VEHICLE_HELPTEXT :Quan està activat, un vehicle que arriba al final de la seva vida útil és automàticament substituït quan es compleixen les condicions d'autorenovació +STR_CONFIG_SETTING_AUTORENEW_MONTHS :Autorenova el vehicle {STRING} de la seva edat màxima +STR_CONFIG_SETTING_AUTORENEW_MONTHS_HELPTEXT :Edat relativa a partir de la qual s'ha de considerar l'autorenovació del vehicle +STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_BEFORE :{COMMA} mes{P 0 "" os} abans +STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_AFTER :{COMMA} mes{P 0 "" os} després +STR_CONFIG_SETTING_AUTORENEW_MONEY :Mínim de diners per a renovacions automàtiques: {STRING} STR_CONFIG_SETTING_AUTORENEW_MONEY_HELPTEXT :Quantitat mínima de diners que han de quedar al banc abans de considerar l'autorenovació de vehicles STR_CONFIG_SETTING_ERRMSG_DURATION :Duració del missatge d'error: {STRING} -STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Duració d'exhibició dels missatges d'error a la finestra vermella. Alguns missatges d'error (crítics) no són tancats automàticament després d'una estona, i han de ser tancats manualment +STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Duració dels missatges d'error mostrats en finestres vermelles. Alguns missatges d'error (crítics) no es tanquen automàticament i s'han de tancar manualment STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{COMMA} segon{P 0 "" s} STR_CONFIG_SETTING_HOVER_DELAY :Mostra descripcions emergents: {STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Retard abans que les descripcions emergents siguin mostrades quan el ratolí sigui sobre algun element de l'interfície. Alternativament les descripcions emergents poden ser vinculades al botó dret del ratolí -STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Manté durant {COMMA} segon{P 0 "" s} +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Retard abans que les descripcions emergents siguin mostrades quan el ratolí sigui sobre algun element de la interfície. Alternativament, les descripcions emergents poden ser vinculades al botó dret del ratolí si aquest paràmetre s'estableix en 0. +STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Manté durant {COMMA} milisegon{P 0 "" s} STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Botó dret STR_CONFIG_SETTING_POPULATION_IN_LABEL :Mostra els habitants a l'etiqueta del nom de la població: {STRING} STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Mostra els habitants a les etiquetes dels noms de les poblacions al mapa STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Gruix de les línies dels gràfics: {STRING} STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Gruix de la línia als gràfics. Una línia més fina és més llegible, una línia més gruixuda és més fàcil de veure i els colors són més fàcils de distingir +STR_CONFIG_SETTING_LANDSCAPE :Paisatge: {STRING} +STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :El tipus de paisatge defineix escenaris amb diferents tipus de càrrega i requisits per al creixement de les poblacions. Els NewGRF i l'script de la partida poden modificar-ne l'aparença i el comportament STR_CONFIG_SETTING_LAND_GENERATOR :Generador de terrenys: {STRING} +STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :L'algorisme generador original depèn del tipus de gràfics base i crea formes de terreny predefinides. TerraGenesis és un generador basat en el soroll Perlin que permet una configuració més precisa STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Original STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis -STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Distància màxima des de la vora de refineries de petroli: {STRING} +STR_CONFIG_SETTING_TERRAIN_TYPE :Tipus de terreny: {STRING} +STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(Només TerraGenesis) Escollir el tipus de terreny: des de molt pla fins a escarpat +STR_CONFIG_SETTING_INDUSTRY_DENSITY :Densitat d'indústries: {STRING} +STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Fixa el nombre d'indústries que s'haurien de generar i mantenir durant la partida +STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Distància màxima des de la vora a les refineries de petroli: {STRING} STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Les refineries de petroli només es construeixen a prop de les vores del mapa, això és a la costa en els mapes d'illes -STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Alçada de la cota de neu: {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Geografia del terreny (TerraGenesis només) : {STRING} +STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Alçada dels estatges amb neu: {STRING} +STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Controla a quina alçada la neu comença en el paisatge subàrtic. La neu també afecta la generació d'indústries i els requisits per al creixement de les poblacions +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Geografia del terreny: {STRING} +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(Només TerraGenesis) Escollir la suavitat del paisatge: els terrenys suaus tenen menys turons i són regulars; els terrenys més rugosos són irregulars i tenen molts turons STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Molt suau STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Suau STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Escarpat STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Molt escarpat +STR_CONFIG_SETTING_VARIETY :Varietat: {STRING} +STR_CONFIG_SETTING_VARIETY_HELPTEXT :(Només TerraGenesis) Controla la varietat en la distribució de les zones muntanyoses i planes. Aquesta opció controla la distribució d'aquestes zones; si es vol modificar si el terreny és més o menys muntanyós s'han de modificar altres opcions +STR_CONFIG_SETTING_RIVER_AMOUNT :Quantitat de rius: {STRING} +STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Escollir la quantitat de rius a generar STR_CONFIG_SETTING_TREE_PLACER :Algorisme per situar arbres: {STRING} +STR_CONFIG_SETTING_TREE_PLACER_HELPTEXT :Permet escollir la distribució d'arbres al mapa. 'Original' distribueix els arbres uniformement. 'Millorat' els planta en grups STR_CONFIG_SETTING_TREE_PLACER_NONE :Cap STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :Original STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :Millorat +STR_CONFIG_SETTING_ROAD_SIDE :Automòbils: {STRING} +STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :Escollir el costat de conducció STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Rotació del mapa d'alçades: {STRING} STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Antihorari STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Horari -STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :Alçada que un escenari pla pren: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :Activa modelar el terreny de les cel·les a les vores del mapa: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES_HELPTEXT :Si està desactivat, les vores del mapa sempre seran oceans +STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :Alçada que pren un escenari pla: {STRING} STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}Una o més cel·les al vèrtex nord no està buit STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}Una o més cel·les en una de les vores no és aigua -STR_CONFIG_SETTING_STATION_SPREAD :Màx. extensió de les estacions: {STRING} +STR_CONFIG_SETTING_STATION_SPREAD :Extensió màxima de les estacions: {STRING} STR_CONFIG_SETTING_STATION_SPREAD_HELPTEXT :Àrea màxima en què les parts d'una sola estació es poden estendre. Un valor alt farà alentir el joc STR_CONFIG_SETTING_SERVICEATHELIPAD :Revisions automàtiques dels helicòpters als heliports: {STRING} STR_CONFIG_SETTING_SERVICEATHELIPAD_HELPTEXT :Inspecciona els helicòpters cada vegada que aterrin, encara que no hi hagi hangar a l'aeroport -STR_CONFIG_SETTING_LINK_TERRAFORM_TOOLBAR :Enllaça la barra d'eines del paisatge a les barres d'eines de vies/carreteres/aigua/aeroports {STRING} +STR_CONFIG_SETTING_LINK_TERRAFORM_TOOLBAR :Enllaça la barra d'eines del paisatge a les barres d'eines de vies/carreteres/aigua/aeroports: {STRING} STR_CONFIG_SETTING_LINK_TERRAFORM_TOOLBAR_HELPTEXT :Quan s'obre la barra d'eines de construcció per un tipus de transport, també s'obre la barra d'eines de remodelació del paisatge STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR :Color del terra utilitzat al mapa petit: {STRING} STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_HELPTEXT :Color del terreny al mapa petit @@ -1304,10 +1341,10 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :Violat STR_CONFIG_SETTING_REVERSE_SCROLLING :En desplaçar la pantalla amb el ratolí mou la vista en la direcció contrària: {STRING} STR_CONFIG_SETTING_REVERSE_SCROLLING_HELPTEXT :Comportament quan es desplaci el mapa amb el botó dret del ratolí. Quan està desactivat, el ratolí mou la càmera. Quan està activat, el ratolí mou el mapa STR_CONFIG_SETTING_SMOOTH_SCROLLING :Desplaçament suau de la vista: {STRING} -STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Controla com la vista principal es desplaça a una posició específica quan es clica al mapa petit o quan s'envia una ordre de desplaçar-se a un objecte específic al mapa. Si està activat, la vista es desplaça suaument, si està desactivat salta directament al punt assenyalat +STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Controla com la vista principal es desplaça a una posició específica quan es clica al mapa petit o quan s'envia una ordre de desplaçar-se a un objecte específic al mapa. Si està activat, la vista es desplaça suaument; si està desactivat, salta directament al punt assenyalat STR_CONFIG_SETTING_MEASURE_TOOLTIP :Mostra un cartell de mesura quan estiguis utilitzant vàries eines de construcció: {STRING} STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT :Mostra les distàncies-cel·la i les diferències d'alçada quan s'arrossegui durant la construcció -STR_CONFIG_SETTING_LIVERIES :Mostra la decoració de la companyia: {STRING} +STR_CONFIG_SETTING_LIVERIES :Mostra la decoració específica del tipus de vehicle: {STRING} STR_CONFIG_SETTING_LIVERIES_HELPTEXT :Controla la utilització de les decoracions específiques d'un tipus de vehicle (en oposició a específic d'una companyia) STR_CONFIG_SETTING_LIVERIES_NONE :Cap STR_CONFIG_SETTING_LIVERIES_OWN :Pròpia companyia @@ -1337,41 +1374,39 @@ 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_DATE_FORMAT_IN_SAVE_NAMES :Utilitza el format de data curta {STRING} per a guardar partides +STR_CONFIG_SETTING_AUTOSAVE :Desada automàtica: {STRING} +STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Selecciona l'interval entre desades automàtiques de les partides + +STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Utilitza el format de data {STRING} per a guardar partides STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Format de la data en els noms dels arxius de les partides que es guardin -STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :llarga (31 Dec 2008) +STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :llarga (31 Des 2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :curta (31-12-2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE :Paleta predeterminada pels NewGRF que no n'especifiquin una: {STRING} -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_HELPTEXT :Paleta predeterminada a utilitzar als NewGRF que no especifiquen quina necessiten -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_DOS :Paleta predeterminada (D) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_WIN :Paleta preexistent (W) - -STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Pausa automàticament en començar una nova partida: {STRING} -STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :Quan està activat, el joc es pausarà automàticament quan es comenci una partida nova, permetent a l'usuari estudiar el mapa més detalladament +STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Posa en pausa automàticament quan comenci una nova partida: {STRING} +STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :Quan està activat, el joc es posa en pausa automàticament quan es comenci una partida nova, permetent a l'usuari estudiar el mapa més detalladament STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Quan s'estigui en pausa permet: {STRING} -STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_HELPTEXT :Selecciona quines accions poden fer-se quan la partida està pausada +STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_HELPTEXT :Selecciona quines accions poden fer-se quan la partida està en pausa STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :Sense accions STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :Totes les accions no-constructores STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :Tot menys les accions modificadores del paisatge STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_ACTIONS :Totes les accions -STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Utilitza la llista de vehicles avançada: {STRING} +STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Mostra els grups en el llistat de vehicles de la companyia: {STRING} STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Activa la utilització de llistes de vehicles avançades per agrupar vehicles STR_CONFIG_SETTING_LOADING_INDICATORS :Utilitza indicadors de càrrega: {STRING} STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Selecciona si els indicadors de càrrega seran mostrats sobre els vehicles en càrrega o descàrrega -STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Mostra horaris amb marques enlloc de dies: {STRING} -STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT :Mostra els temps de viatge als horaris en marques enlloc de dies +STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Mostra horaris amb marques en lloc de dies: {STRING} +STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT :Mostra els temps de viatge als horaris en marques en lloc de dies STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE :Mostra l'arribada i la sortida als horaris: {STRING} STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT :Mostra als horaris l'arribada anticipadament i les hores de sortida STR_CONFIG_SETTING_QUICKGOTO :Creació ràpida d'ordres per a vehicles: {STRING} -STR_CONFIG_SETTING_QUICKGOTO_HELPTEXT :Pre-selecciona el 'cursor ves a' quan s'obri la finestra d'ordres +STR_CONFIG_SETTING_QUICKGOTO_HELPTEXT :Preselecciona el botó 'Vés a' quan s'obri la finestra d'ordres STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE :Tipus predeterminat de via (en nova partida/càrrega de partida): {STRING} STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_HELPTEXT :Tipus de via a seleccionar després de començar o carregar una partida. 'El més antic disponible' selecciona el tipus de vies més antic disponible, 'El més modern disponible' selecciona el tipus de vies més modern, i 'El més utilitzat disponible' selecciona el tipus de vies que s'utilitzi més actualment STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_FIRST :El més antic disponible STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_LAST :El més modern disponible STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_MOST_USED :El més utilitzat disponible -STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :Mostra les vies reservades: {STRING} +STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :Mostra els camins reservats: {STRING} STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION_HELPTEXT :Dóna a les vies reservades un color diferent per ajudar en problemes de trens que refusen entrar en blocs basats en camí STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Mantingues les eines de construcció actives després del seu ús: {STRING} STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Mantingues les eines de construcció pels ponts, túnels, etc. obertes després d'utilitzar-les @@ -1395,22 +1430,22 @@ STR_CONFIG_SETTING_SOUND_VEHICLE_HELPTEXT :Reprodueix els STR_CONFIG_SETTING_SOUND_AMBIENT :Ambient: {STRING} STR_CONFIG_SETTING_SOUND_AMBIENT_HELPTEXT :Reprodueix efectes de so ambient del paisatge, les indústries i les poblacions -STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING :Desactiva la construcció d'infrastructures quan no hi hagi disponibles vehicles adequats: {STRING} -STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING_HELPTEXT :Quan està activat, la infrastructura només està disponible si hi ha també vehicles disponibles, prevenint perdre temps i diners en infraestructures no utilitzables -STR_CONFIG_SETTING_MAX_TRAINS :Màx. trens per companyia: {STRING} +STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING :Desactiva la construcció d'infraestructures quan no hi hagi disponibles vehicles adequats: {STRING} +STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING_HELPTEXT :Quan està activat, la infraestructura només està disponible si hi ha també vehicles disponibles, prevenint perdre temps i diners en infraestructures no utilitzables +STR_CONFIG_SETTING_MAX_TRAINS :Màxim nombre de trens per companyia: {STRING} STR_CONFIG_SETTING_MAX_TRAINS_HELPTEXT :Màxim nombre de trens que pot tenir una companyia -STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :Màx. automòbils per companyia: {STRING} -STR_CONFIG_SETTING_MAX_ROAD_VEHICLES_HELPTEXT :Màxim nombre de vehicles de carretera que pot tenir una companyia -STR_CONFIG_SETTING_MAX_AIRCRAFT :Màx. avions per companyia: {STRING} +STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :Màxim nombre d'automòbils per companyia: {STRING} +STR_CONFIG_SETTING_MAX_ROAD_VEHICLES_HELPTEXT :Màxim nombre d'automòbils que pot tenir una companyia +STR_CONFIG_SETTING_MAX_AIRCRAFT :Màxim nombre d'avions per companyia: {STRING} STR_CONFIG_SETTING_MAX_AIRCRAFT_HELPTEXT :Màxim nombre d'avions que pot tenir una companyia -STR_CONFIG_SETTING_MAX_SHIPS :Màx. vaixells per companyia: {STRING} +STR_CONFIG_SETTING_MAX_SHIPS :Màxim nombre de vaixells per companyia: {STRING} STR_CONFIG_SETTING_MAX_SHIPS_HELPTEXT :Màxim nombre de vaixells que pot tenir una companyia STR_CONFIG_SETTING_AI_BUILDS_TRAINS :Desactiva trens per a les IA de l'ordinador: {STRING} STR_CONFIG_SETTING_AI_BUILDS_TRAINS_HELPTEXT :Activant aquesta opció fa que sigui impossible construir trens als jugadors IA de l'ordinador STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES :Desactiva automòbils per a les IA de l'ordinador: {STRING} -STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES_HELPTEXT :Activant aquesta opció fa que sigui impossible construir vehicles de carretera als jugadors IA de l'ordinador -STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT :Desactiva els avions per a les IA de l'ordinador: {STRING} +STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES_HELPTEXT :Activant aquesta opció fa que sigui impossible construir automòbils als jugadors IA de l'ordinador +STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT :Desactiva avions per a les IA de l'ordinador: {STRING} STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT_HELPTEXT :Activant aquesta opció fa que sigui impossible construir avions als jugadors IA de l'ordinador STR_CONFIG_SETTING_AI_BUILDS_SHIPS :Desactiva vaixells per a les IA de l'ordinador: {STRING} STR_CONFIG_SETTING_AI_BUILDS_SHIPS_HELPTEXT :Activant aquesta opció fa que sigui impossible construir vaixells als jugadors IA de l'ordinador @@ -1430,7 +1465,7 @@ STR_CONFIG_SETTING_SERVINT_ISPERCENT :Els intervals d STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Escull si les revisions dels vehicles depenen del temps passat des de la darrera revisió o de la caiguda d'un cert percentatge de la fiabilitat màxima STR_CONFIG_SETTING_SERVINT_TRAINS :Interval per defecte de servei per als trens: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Estableix l'interval de revisió predeterminat pels nous ferrocarrils, si no hi ha un interval de revisió explícit pel vehicle -STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA} dia{P 0 "" s}/% +STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}di{P 0 a es}/% STR_CONFIG_SETTING_SERVINT_DISABLED :Desactivat STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES :Interval per defecte de servei per als vehicles: {STRING} STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES_HELPTEXT :Estableix l'interval de revisió predeterminat pels nous vehicles de caretera, si no hi ha un interval de revisió explícit pel vehicle @@ -1440,7 +1475,7 @@ STR_CONFIG_SETTING_SERVINT_SHIPS :Interval per de STR_CONFIG_SETTING_SERVINT_SHIPS_HELPTEXT :Estableix l'interval de revisió predeterminat pels nous vaixells, si no hi ha un interval de revisió explícit pel vehicle STR_CONFIG_SETTING_NOSERVICE :Desactiva les revisions quan les avaries s'estableixen a cap: {STRING} STR_CONFIG_SETTING_NOSERVICE_HELPTEXT :Quan està activat, els vehicles no són revisats si no es poden espatllar -STR_CONFIG_SETTING_WAGONSPEEDLIMITS :Activa limit de velocitat per al vagó: {STRING} +STR_CONFIG_SETTING_WAGONSPEEDLIMITS :Activa límits de velocitat per als vagons: {STRING} STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT :Quan està activat, també utilitza els límits de velocitat dels vagons per decidir la velocitat màxima del tren STR_CONFIG_SETTING_DISABLE_ELRAILS :Desactiva vies electrificades: {STRING} STR_CONFIG_SETTING_DISABLE_ELRAILS_HELPTEXT :Activant aquest paràmetre es desactiva el requeriment d'electrificar les vies per poder fer-hi circular locomotores elèctriques @@ -1451,13 +1486,13 @@ STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OTHER :Arribada del pr STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OTHER_HELPTEXT :Mostra les notícies quan arribi el primer vehicle a una estació d'un competidor STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS :Accidents / desastres: {STRING} STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS_HELPTEXT :Mostra un diari quan passin accidents i desastres -STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION :Informació de l'Empresa: {STRING} +STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION :Informació de l'empresa: {STRING} STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION_HELPTEXT :Mostra les notícies de companyies noves que es creen i de companyies en risc de fer fallida STR_CONFIG_SETTING_NEWS_INDUSTRY_OPEN :Obertura d'indústries: {STRING} STR_CONFIG_SETTING_NEWS_INDUSTRY_OPEN_HELPTEXT :Mostra les notícies d'aparicions d'indústries noves STR_CONFIG_SETTING_NEWS_INDUSTRY_CLOSE :Tancament d'indústries: {STRING} STR_CONFIG_SETTING_NEWS_INDUSTRY_CLOSE_HELPTEXT :Mostra les notícies d'indústries que tanquen -STR_CONFIG_SETTING_NEWS_ECONOMY_CHANGES :Canvis de l'Economia: {STRING} +STR_CONFIG_SETTING_NEWS_ECONOMY_CHANGES :Canvis de l'economia: {STRING} STR_CONFIG_SETTING_NEWS_ECONOMY_CHANGES_HELPTEXT :Mostra un diari sobre els canvis globals en l'economia STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_COMPANY :Canvis de producció de les indústries aprovisionades per la companyia: {STRING} STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_COMPANY_HELPTEXT :Mostra les notícies de canvis als nivells de producció de les indústries proveïdes per la companyia pròpia @@ -1473,7 +1508,7 @@ STR_CONFIG_SETTING_NEWS_CHANGES_ACCEPTANCE :Canvis en l'adm STR_CONFIG_SETTING_NEWS_CHANGES_ACCEPTANCE_HELPTEXT :Mostra missatges sobre les estacions que canviïn l'acceptació d'alguna càrrega STR_CONFIG_SETTING_NEWS_SUBSIDIES :Subvencions: {STRING} STR_CONFIG_SETTING_NEWS_SUBSIDIES_HELPTEXT :Mostra les notícies d'esdeveniments relacionats amb subsidis -STR_CONFIG_SETTING_NEWS_GENERAL_INFORMATION :Informació General: {STRING} +STR_CONFIG_SETTING_NEWS_GENERAL_INFORMATION :Informació general: {STRING} STR_CONFIG_SETTING_NEWS_GENERAL_INFORMATION_HELPTEXT :Mostra les notícies d'esdeveniments generals, com ara compra de drets exclusius o finançar la reconstrucció de carrers STR_CONFIG_SETTING_NEWS_MESSAGES_OFF :Desactivat @@ -1491,13 +1526,13 @@ STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE :Percentatge del STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :Percentatge del benefici donat a branques intermediàries dins els sistemes, donant més control sobre els beneficis STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY :En arrossegar, col·locar senyals cada: {STRING} STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_HELPTEXT :Estableix la distància en les quals els senyals seran construïts a la via fins al següent obstacle (senyal, desviament), si els senyals són arrossegats -STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_VALUE :{COMMA} cel·la{P 0 "" s} +STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_VALUE :{COMMA} cel·l{P 0 a es} STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE :Quan arrosseguis, mantingues fixada la distància entre senyals: {STRING} STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT :Selecciona el comportament de la situació de senyals quan Ctrl+arrossega senyals. Si es desactiva, els senyals són situats al voltant dels túnels o ponts per evitar grans trossos sense senyals. Si s'activa, els senyals són situats cada n cel·les, fent l'alineament de senyals en vies paral·leles més fàcil STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE :Construir semàfors mecànics automàticament abans de: {STRING} STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT :Estableix l'any per utilitzar semàfors elèctrics. Abans d'aquest any s'utilitzaran senyals mecànics (que tenen exactament la mateixa funció, però amb diferent aspecte) STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI :Activa la interfície de senyals: {STRING} -STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI_HELPTEXT :Mostra una finestra per escollir els tipus de senyals a construir, enlloc de només la rotació sense finestra de tipus de senyals amb Ctrl+clic sobre els senyals +STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI_HELPTEXT :Mostra una finestra per escollir els tipus de senyals a construir, en lloc de només la rotació de tipus de senyals sense finestra amb Ctrl+clic sobre els senyals STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE :Tipus de senyal a construir predeterminada: {STRING} STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE_HELPTEXT :Tipus de senyal predeterminat a utilitzar STR_CONFIG_SETTING_DEFAULT_SIGNAL_NORMAL :Normal @@ -1521,7 +1556,7 @@ STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT :Permet a les po STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :Les poblacions tenen permís per construir passos a nivell: {STRING} STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Activant aquesta opció es permet a les poblacions construir passos a nivell STR_CONFIG_SETTING_NOISE_LEVEL :Permet a la ciutat controlar el nivell de soroll dels aeroports: {STRING} -STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Amb aquesta opció desactivada, no podran haver-hi més de dos aeroports en una mateixa població. Amb aquesta opció activada, el nombre d'aeroports en cada població està limitat pel límit d'acceptació de soroll de la població, que depén de la mida de l'aeroport i de la distància +STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Amb aquesta opció desactivada, no podran haver-hi més de dos aeroports en una mateixa població. Amb aquesta opció activada, el nombre d'aeroports en cada població està limitat pel límit d'acceptació de soroll de la població, que depèn de la mida de l'aeroport i de la distància STR_CONFIG_SETTING_TOWN_FOUNDING :Fundar poblacions durant la partida: {STRING} STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Activant aquesta opció permets els jugadors fundar noves poblacions durant la partida STR_CONFIG_SETTING_TOWN_FOUNDING_FORBIDDEN :Prohibit @@ -1546,10 +1581,10 @@ STR_CONFIG_SETTING_SOFT_LIMIT :Nombre màxim d STR_CONFIG_SETTING_SOFT_LIMIT_HELPTEXT :Nombre de finestres no-enganxoses obertes abans que les finestres antigues es tanquin automàticament per fer lloc a les noves finestres STR_CONFIG_SETTING_SOFT_LIMIT_VALUE :{COMMA} STR_CONFIG_SETTING_SOFT_LIMIT_DISABLED :desactivat -STR_CONFIG_SETTING_ZOOM_MIN :Nivell màxim de zoom cap endavant: {STRING} -STR_CONFIG_SETTING_ZOOM_MIN_HELPTEXT :Nivell màxim de zoom cap endins a les vistes. Activant els nivells de zoom cap endins elevats incrementa les necessitats de memòria -STR_CONFIG_SETTING_ZOOM_MAX :Nivell màxim de zoom cap enrera: {STRING} -STR_CONFIG_SETTING_ZOOM_MAX_HELPTEXT :El nivell de zoom cap enfora màxim a les vistes. Un nivell més elevat de zoom cap enfora pot causar alentiments +STR_CONFIG_SETTING_ZOOM_MIN :Zoom màxim d'apropament: {STRING} +STR_CONFIG_SETTING_ZOOM_MIN_HELPTEXT :Nivell de zoom d'apropament màxim a les vistes. Un major nivell de zoom d'apropament incrementa les necessitats de memòria +STR_CONFIG_SETTING_ZOOM_MAX :Zoom màxim d'allunyament: {STRING} +STR_CONFIG_SETTING_ZOOM_MAX_HELPTEXT :Nivell de zoom d'allunyament màxim a les vistes. Un nivell elevat de zoom d'allunyament pot causar alentiments STR_CONFIG_SETTING_ZOOM_LVL_MIN :4x STR_CONFIG_SETTING_ZOOM_LVL_IN_2X :2x STR_CONFIG_SETTING_ZOOM_LVL_NORMAL :Normal @@ -1565,16 +1600,14 @@ STR_CONFIG_SETTING_TOWN_GROWTH_FAST :Ràpida STR_CONFIG_SETTING_TOWN_GROWTH_VERY_FAST :Molt ràpida STR_CONFIG_SETTING_LARGER_TOWNS :Proporció de pobles que esdevindran ciutats: {STRING} STR_CONFIG_SETTING_LARGER_TOWNS_HELPTEXT :Proporció de poblacions que seran ciutats, és a dir, poblacions que comencen amb més habitants i que creixen més ràpidament -STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 en {COMMA} +STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 de cada {COMMA} STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Cap -STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Multiplicador de mida de ciutat inicial: {STRING} +STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Multiplicador de mida inicial de ciutats: {STRING} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :La grandària mitjana de les ciutats en relació als pobles a l'inici de la partida -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :Treu els elements de carretera absurds durant la reconstrucció de carretera: {STRING} -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD_HELPTEXT :Elimina les carreteres sense sortida durant les reconstruccions de carreteres finançades -STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Actualitza el graf de distribució cada {STRING} di{P 0:2 a es} +STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Actualitza el graf de distribució cada {STRING}{NBSP}di{P 0:2 a es} STR_CONFIG_SETTING_LINKGRAPH_INTERVAL_HELPTEXT :Temps entre recàlculs successius del graf de distribució. Cada recàlcul calcula els plans per un component del graf. Això significa que un valor X per aquest paràmetre no implica que tot el graf serà actualitzat cada X dies. Només alguns components ho seran. Com més curt el valor, més temps de processador es requerirà per calcular-ho. Com més llarg, més temps passarà fins que la distribució de càrregues comenci en noves rutes. -STR_CONFIG_SETTING_LINKGRAPH_TIME :Empra {STRING} di{P 0:2 a es} per al recàlcul del graf de distribució +STR_CONFIG_SETTING_LINKGRAPH_TIME :Empra {STRING}{NBSP}di{P 0:2 a es} per al recàlcul del graf de distribució STR_CONFIG_SETTING_LINKGRAPH_TIME_HELPTEXT :Temps dedicat a cada recàlcul d'un component del graf de connexions. Quan un recàlcul s'inicia, el programa crea un fil que pot executar-se durant aquest nombre de dies. Com més curt el valor, més probable que el fil no hagi acabat quan s'espera. Aleshores el programa s'atura fins que el fil acaba ("ralentització"). Com més llarg el valor, més temps requereix l'actualització de la distribució quan les rutes canvien. STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :manual STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :asimètric @@ -1584,7 +1617,7 @@ STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"simètric" vol STR_CONFIG_SETTING_DISTRIBUTION_MAIL :Mode de distribució pel correu: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"simètric" vol dir que aproximadament la mateixa quantitat de correu serà enviada des de l'estació A a la B que de B a A. "asimètric" significa que una quantitat arbitrària de correu pot ser enviada en qualsevol dels dos sentits. "manual" vol dir que no s'aplicarà una distribució automàtica pel correu. STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Mode de distribució per la classe de càrrega BLINDADA: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :La classe de càrrega BLINDADA conté objectes de valor a la zona temperada, diamants a la subtropical o or al clima subàrtic. Els NewGRF poden canviar això. "simètric" significa que aproximadament la mateixa quantitat d'aquesta càrrega s'enviarà de l'estació A a la B que de B a A. "asimètric" vol dir que quantitats arbitràries d'aquesta càrrega poden ser enviades en qualsevol sentit. "manual" significa que no s'aplicarà cap distribució automàtica a aquesta càrrega. Es recomana indicar asimètric o manual en clima subàrtic, doncs els bancs no enviaran or de tornada a les mines. Pels climes temperat i subtropical podeu també seleccionar simètric, doncs els bancs enviaran objectes de valor de tornada al banc d'origen de certa quantitat d'aquests. +STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :La classe de càrrega BLINDADA conté objectes de valor a la zona temperada, diamants a la subtropical o or al clima subàrtic. Els NewGRF poden canviar això. "simètric" significa que aproximadament la mateixa quantitat d'aquesta càrrega s'enviarà de l'estació A a la B que de B a A. "asimètric" vol dir que quantitats arbitràries d'aquesta càrrega poden ser enviades en qualsevol sentit. "manual" significa que no s'aplicarà cap distribució automàtica a aquesta càrrega. Es recomana indicar asimètric o manual en clima subàrtic, doncs els bancs no enviaran or de tornada a les mines. Pels climes temperat i subtropical podeu també seleccionar simètric, doncs els bancs enviaran objectes de valor de tornada al banc d'origen. STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Mode de distribució per altres classes de càrrega: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"asimètric" vol dir que quantitats arbitràries de càrrega poden ser enviades en qualsevol sentit. "manual" significa que no s'aplicarà cap distribució automàtica a aquestes càrregues. STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Precisió de la distribució: {STRING} @@ -1621,7 +1654,7 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_METRIC :Mètric (l) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_SI :SI (m³) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE :Unitats de força de tracció: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_HELPTEXT :Quan es mostri força de tracció a la interfície d'usuari, presenta-la en les unitats seleccionades +STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_HELPTEXT :Quan es mostrin forces de tracció a la interfície d'usuari, presenta-les en les unitats seleccionades STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_IMPERIAL :Imperial (lbf) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_METRIC :Mètric (kgf) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_SI :SI (kN) @@ -1632,38 +1665,40 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :Imperial (peu) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :Mètric (m) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :SI (m) -STR_CONFIG_SETTING_GUI :{ORANGE}Interfície STR_CONFIG_SETTING_LOCALISATION :{ORANGE}Localització -STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}Construcció -STR_CONFIG_SETTING_VEHICLES :{ORANGE}Vehicles -STR_CONFIG_SETTING_STATIONS :{ORANGE}Estacions -STR_CONFIG_SETTING_ECONOMY :{ORANGE}Economia -STR_CONFIG_SETTING_LINKGRAPH :{ORANGE}Distribució de la Càrrega -STR_CONFIG_SETTING_AI :{ORANGE}Competidors -STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}Opcions de pantalla -STR_CONFIG_SETTING_INTERACTION :{ORANGE}Interacció +STR_CONFIG_SETTING_GRAPHICS :{ORANGE}Gràfics STR_CONFIG_SETTING_SOUND :{ORANGE}Efectes de so -STR_CONFIG_SETTING_NEWS :{ORANGE}Notícies i missatges -STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}Senyals -STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE}Manipulació de la càrrega -STR_CONFIG_SETTING_AI_NPC :{ORANGE}Jugadors de l'ordinador (IA) -STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE}Autorenovació -STR_CONFIG_SETTING_VEHICLES_SERVICING :{ORANGE}Revisions +STR_CONFIG_SETTING_INTERFACE :{ORANGE}Interfície +STR_CONFIG_SETTING_INTERFACE_GENERAL :{ORANGE}General +STR_CONFIG_SETTING_INTERFACE_VIEWPORTS :{ORANGE}Finestres de visualització +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Construcció +STR_CONFIG_SETTING_ADVISORS :{ORANGE}Notícies / Consells +STR_CONFIG_SETTING_COMPANY :{ORANGE}Companyia +STR_CONFIG_SETTING_ACCOUNTING :{ORANGE}Comptabilitat +STR_CONFIG_SETTING_VEHICLES :{ORANGE}Vehicles +STR_CONFIG_SETTING_VEHICLES_PHYSICS :{ORANGE}Lleis físiques STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Recorreguts -STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}Trens -STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}Poblacions -STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}Indústries +STR_CONFIG_SETTING_LIMITATIONS :{ORANGE}Limitacions +STR_CONFIG_SETTING_ACCIDENTS :{ORANGE}Desastres / Accidents +STR_CONFIG_SETTING_GENWORLD :{ORANGE}Generació del món +STR_CONFIG_SETTING_ENVIRONMENT :{ORANGE}Interacció amb l'entorn +STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :{ORANGE}Autoritats +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Poblacions +STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}Indústries +STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :{ORANGE}Distribució de la càrrega +STR_CONFIG_SETTING_AI :{ORANGE}Competidors +STR_CONFIG_SETTING_AI_NPC :{ORANGE}Jugadors de l'ordinador (IA) STR_CONFIG_SETTING_PATHFINDER_OPF :Original STR_CONFIG_SETTING_PATHFINDER_NPF :NPF STR_CONFIG_SETTING_PATHFINDER_YAPF_RECOMMENDED :YAPF {BLUE}(Recomanat) -STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS :Cerca de rutes per trens: {STRING} -STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS_HELPTEXT :Cercar rutes per a utilitzar als trens -STR_CONFIG_SETTING_PATHFINDER_FOR_ROAD_VEHICLES :Cerca de rutes per vehicles: {STRING} -STR_CONFIG_SETTING_PATHFINDER_FOR_ROAD_VEHICLES_HELPTEXT :Cercar rutes per a utilitzar per a vehícles de carretera -STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS :Cerca de rutes per vaixells: {STRING} -STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS_HELPTEXT :Cercar rutes per a utilitzar als vaixells +STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS :Encaminador dels trens: {STRING} +STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS_HELPTEXT :Algorisme a emprar per a escollir les rutes dels trens +STR_CONFIG_SETTING_PATHFINDER_FOR_ROAD_VEHICLES :Encaminador d'automòbils: {STRING} +STR_CONFIG_SETTING_PATHFINDER_FOR_ROAD_VEHICLES_HELPTEXT :Algorisme a emprar per a escollir les rutes dels automòbils +STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS :Encaminador dels vaixells: {STRING} +STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS_HELPTEXT :Algorisme a emprar per a escollir les rutes dels vaixells STR_CONFIG_SETTING_REVERSE_AT_SIGNALS :Canvi de sentit automàtic als senyals: {STRING} STR_CONFIG_SETTING_REVERSE_AT_SIGNALS_HELPTEXT :Permetre als trens girar en un senyal, si esperaven allà durant molt temps @@ -1695,15 +1730,15 @@ STR_INTRO_CAPTION :{WHITE}OpenTTD STR_INTRO_NEW_GAME :{BLACK}Nova Partida STR_INTRO_LOAD_GAME :{BLACK}Carrega una Partida STR_INTRO_PLAY_SCENARIO :{BLACK}Juga un Escenari -STR_INTRO_PLAY_HEIGHTMAP :{BLACK}Juga un mapa d'alçades +STR_INTRO_PLAY_HEIGHTMAP :{BLACK}Juga un Mapa d'Alçades STR_INTRO_SCENARIO_EDITOR :{BLACK}Editor d'Escenaris STR_INTRO_MULTIPLAYER :{BLACK}Multijugador STR_INTRO_GAME_OPTIONS :{BLACK}Opcions del Joc STR_INTRO_HIGHSCORE :{BLACK}Taula de rècords -STR_INTRO_ADVANCED_SETTINGS :{BLACK}Paràmetres avançats +STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Configuració STR_INTRO_NEWGRF_SETTINGS :{BLACK}Extensions NewGRF -STR_INTRO_ONLINE_CONTENT :{BLACK}Contingut en línia +STR_INTRO_ONLINE_CONTENT :{BLACK}Contingut en Línia STR_INTRO_SCRIPT_SETTINGS :{BLACK}Paràmetres de les IA/Script de la Partida STR_INTRO_QUIT :{BLACK}Surt @@ -1721,8 +1756,8 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Seleccio STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Mostra les opcions del joc STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Mostra la taula de rècords -STR_INTRO_TOOLTIP_ADVANCED_SETTINGS :{BLACK}Mostra paràmetres avançats -STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Mostra els paràmetres NewGRF +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Mostra la finestra de configuració +STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Mostra la configuració de les extensions NewGRF STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Comprova si hi ha continguts nous i actualitzats per a descarregar STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Mostra els paràmetres de les IA/Script de la partida STR_INTRO_TOOLTIP_QUIT :{BLACK}Surt d'OpenTTD @@ -1761,10 +1796,12 @@ STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Jugant STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Eruga màgica (treu indústries, objectes inamovibles): {ORANGE}{STRING} STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}Els túnels es poden creuar: {ORANGE}{STRING} STR_CHEAT_NO_JETCRASH :{LTBLUE}Els avions a reacció no tindran accidents (freqüents) en els aeroports petits: {ORANGE}{STRING} -STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE :paisatge temperat -STR_CHEAT_SWITCH_CLIMATE_SUB_ARCTIC_LANDSCAPE :paisatge subàrtic -STR_CHEAT_SWITCH_CLIMATE_SUB_TROPICAL_LANDSCAPE :paisatge subtropical -STR_CHEAT_SWITCH_CLIMATE_TOYLAND_LANDSCAPE :paisatge de joguines +STR_CHEAT_EDIT_MAX_HL :{LTBLUE}Edita l'alçada màxima del mapa: {ORANGE}{NUM} +STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Edita l'alçada màxima del terreny en el mapa +STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE :Paisatge temperat +STR_CHEAT_SWITCH_CLIMATE_SUB_ARCTIC_LANDSCAPE :Paisatge subàrtic +STR_CHEAT_SWITCH_CLIMATE_SUB_TROPICAL_LANDSCAPE :Paisatge subtropical +STR_CHEAT_SWITCH_CLIMATE_TOYLAND_LANDSCAPE :Paisatge de joguines STR_CHEAT_CHANGE_DATE :{LTBLUE}Canvia la data: {ORANGE}{DATE_SHORT} STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Canvia l'any actual STR_CHEAT_SETUP_PROD :{LTBLUE}Activa la modificació de valors de producció: {ORANGE}{STRING} @@ -1809,6 +1846,7 @@ STR_LIVERY_FREIGHT_TRAM :Tramvia de càr STR_FACE_CAPTION :{WHITE}Selecció de cares STR_FACE_CANCEL_TOOLTIP :{BLACK}Cancel·la la selecció de nova cara STR_FACE_OK_TOOLTIP :{BLACK}Accepta la selecció de nova cara +STR_FACE_RANDOM :{BLACK}Aleatoritza STR_FACE_MALE_BUTTON :{BLACK}Home STR_FACE_MALE_TOOLTIP :{BLACK}Selecciona cares d'home @@ -1822,15 +1860,15 @@ STR_FACE_SIMPLE :{BLACK}Simple STR_FACE_SIMPLE_TOOLTIP :{BLACK}Selecció de cara simple STR_FACE_LOAD :{BLACK}Carrega STR_FACE_LOAD_TOOLTIP :{BLACK}Carrega la cara preferida -STR_FACE_LOAD_DONE :{WHITE}La teva cara preferida ha estat carregada des de l'arxiu de configuració d'OpenTTD -STR_FACE_FACECODE :{BLACK}Cara jugador nu. +STR_FACE_LOAD_DONE :{WHITE}S'ha carregat la cara personalitzada des de l'arxiu de configuració de l'OpenTTD +STR_FACE_FACECODE :{BLACK}Número de la cara STR_FACE_FACECODE_TOOLTIP :{BLACK}Veure i/o assigna el número de la cara del president STR_FACE_FACECODE_CAPTION :{WHITE}Veure i/o assigna el número de la cara del president STR_FACE_FACECODE_SET :{WHITE}El número de la nova cara ha estat assignat STR_FACE_FACECODE_ERR :{WHITE}No s'ha pogut assignar el número de cara del president - ha de ser un nombre entre 0 i 4,294,967,295! STR_FACE_SAVE :{BLACK}Desa STR_FACE_SAVE_TOOLTIP :{BLACK}Desa la cara preferida -STR_FACE_SAVE_DONE :{WHITE}Aquesta cara serà desada com la preferida a l'arxiu de configuració d'OpenTTD. +STR_FACE_SAVE_DONE :{WHITE}Es desarà aquesta cara personalitzada a l'arxiu de configuració de l'OpenTTD STR_FACE_EUROPEAN :{BLACK}Europea STR_FACE_SELECT_EUROPEAN :{BLACK}Selecciona cares europees STR_FACE_AFRICAN :{BLACK}Africana @@ -1840,7 +1878,7 @@ STR_FACE_NO :No STR_FACE_MOUSTACHE_EARRING_TOOLTIP :{BLACK}Activa el bigoti o les arracades STR_FACE_HAIR :Cabell: STR_FACE_HAIR_TOOLTIP :{BLACK}Canvia el cabell -STR_FACE_EYEBROWS :Celles +STR_FACE_EYEBROWS :Celles: STR_FACE_EYEBROWS_TOOLTIP :{BLACK}Canvia les celles STR_FACE_EYECOLOUR :Color dels ulls: STR_FACE_EYECOLOUR_TOOLTIP :{BLACK}Canvia el color dels ulls @@ -1929,14 +1967,14 @@ STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}Protegei STR_NETWORK_START_SERVER_UNADVERTISED :No STR_NETWORK_START_SERVER_ADVERTISED :Sí STR_NETWORK_START_SERVER_CLIENTS_SELECT :{BLACK}{NUM} client{P "" s} -STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Màx. clients: +STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Màxim nombre de clients: STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS_TOOLTIP :{BLACK}Tria el nombre màxim de clients. No és necessari omplir tots els llocs. STR_NETWORK_START_SERVER_COMPANIES_SELECT :{BLACK}{NUM} companyi{P a es} -STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}Màx. companyies: +STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}Màxim nombre de companyies: STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES_TOOLTIP :{BLACK}Limita el servidor a un cert nombre de companyies STR_NETWORK_START_SERVER_SPECTATORS_SELECT :{BLACK}{NUM} espectador{P "" s} -STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS :{BLACK}Màx. espectadors: -STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS_TOOLTIP :{BLACK}Limita el servidor a un cert nombre de espectadors +STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS :{BLACK}Màxim nombre d'espectadors: +STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS_TOOLTIP :{BLACK}Limita el servidor a un cert nombre d'espectadors STR_NETWORK_START_SERVER_LANGUAGE_SPOKEN :{BLACK}Idioma parlat: STR_NETWORK_START_SERVER_LANGUAGE_TOOLTIP :{BLACK}Els altres jugadors sabran quin idioma es parla en aquest servidor. @@ -2066,15 +2104,15 @@ STR_COMPANY_VIEW_SET_PASSWORD :{BLACK}Establei # Network chat STR_NETWORK_CHAT_SEND :{BLACK}Envia -STR_NETWORK_CHAT_COMPANY_CAPTION :[Team] : +STR_NETWORK_CHAT_COMPANY_CAPTION :[Equip] : STR_NETWORK_CHAT_CLIENT_CAPTION :[Privat] {STRING}: -STR_NETWORK_CHAT_ALL_CAPTION :[All] : +STR_NETWORK_CHAT_ALL_CAPTION :[Tothom] : -STR_NETWORK_CHAT_COMPANY :[Team] {STRING}: {WHITE}{STRING} -STR_NETWORK_CHAT_TO_COMPANY :[Team] a {STRING}: {WHITE}{STRING} +STR_NETWORK_CHAT_COMPANY :[Equip] {STRING}: {WHITE}{STRING} +STR_NETWORK_CHAT_TO_COMPANY :[Equip] a {STRING}: {WHITE}{STRING} STR_NETWORK_CHAT_CLIENT :[Privat] {STRING}: {WHITE}{STRING} -STR_NETWORK_CHAT_TO_CLIENT :[Privat] A {STRING}: {WHITE}{STRING} -STR_NETWORK_CHAT_ALL :[All] {STRING}: {WHITE}{STRING} +STR_NETWORK_CHAT_TO_CLIENT :[Privat] a {STRING}: {WHITE}{STRING} +STR_NETWORK_CHAT_ALL :[Tothom] {STRING}: {WHITE}{STRING} STR_NETWORK_CHAT_OSKTITLE :{BLACK}Posa el text pel xat de xarxa # Network messages @@ -2119,7 +2157,7 @@ STR_NETWORK_ERROR_CLIENT_CHEATER :s'ha intentat u STR_NETWORK_ERROR_CLIENT_SERVER_FULL :servidor ple STR_NETWORK_ERROR_CLIENT_TOO_MANY_COMMANDS :estava enviant massa ordres STR_NETWORK_ERROR_CLIENT_TIMEOUT_PASSWORD :no s'ha rebut la contrasenya a temps -STR_NETWORK_ERROR_CLIENT_TIMEOUT_COMPUTER :General temps d'espera esgotat +STR_NETWORK_ERROR_CLIENT_TIMEOUT_COMPUTER :temps d'espera general esgotat STR_NETWORK_ERROR_CLIENT_TIMEOUT_MAP :la descàrrega del mapa ha tardat massa STR_NETWORK_ERROR_CLIENT_TIMEOUT_JOIN :el processat del mapa ha tardat massa ############ End of leave-in-this-order @@ -2130,11 +2168,11 @@ STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}Durant e # Network related errors STR_NETWORK_SERVER_MESSAGE :*** {1:STRING} ############ Leave those lines in this order!! -STR_NETWORK_SERVER_MESSAGE_GAME_PAUSED :Partida pausada ({STRING}) -STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_1 :Partida encara pausada ({STRING}) -STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_2 :Partida encara pausada ({STRING}, {STRING}) -STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_3 :Partida encara pausada ({STRING}, {STRING}, {STRING}) -STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_4 :La partida encara està pausada ({STRING}, {STRING}, {STRING}, {STRING}) +STR_NETWORK_SERVER_MESSAGE_GAME_PAUSED :Partida en pausa ({STRING}) +STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_1 :Partida encara en pausa ({STRING}) +STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_2 :Partida encara en pausa ({STRING}, {STRING}) +STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_3 :Partida encara en pausa ({STRING}, {STRING}, {STRING}) +STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_4 :La partida encara està en pausa ({STRING}, {STRING}, {STRING}, {STRING}) STR_NETWORK_SERVER_MESSAGE_GAME_UNPAUSED :Partida represa ({STRING}) STR_NETWORK_SERVER_MESSAGE_GAME_REASON_NOT_ENOUGH_PLAYERS :nombre de jugadors STR_NETWORK_SERVER_MESSAGE_GAME_REASON_CONNECTING_CLIENTS :connectant clients @@ -2182,7 +2220,7 @@ STR_CONTENT_DETAIL_SUBTITLE_UNSELECTED :{SILVER}No has STR_CONTENT_DETAIL_SUBTITLE_SELECTED :{SILVER}Has seleccionat això per a ser descarregat STR_CONTENT_DETAIL_SUBTITLE_AUTOSELECTED :{SILVER}Aquesta dependència ha estat seleccionada per a ser descarregada STR_CONTENT_DETAIL_SUBTITLE_ALREADY_HERE :{SILVER}Actualment instal·lat -STR_CONTENT_DETAIL_SUBTITLE_DOES_NOT_EXIST :{SILVER}Aquest contingut és desconegut i no pot ser descarregat a OpenTTD +STR_CONTENT_DETAIL_SUBTITLE_DOES_NOT_EXIST :{SILVER}Aquest contingut és desconegut i no pot ser descarregat a l'OpenTTD STR_CONTENT_DETAIL_UPDATE :{SILVER}Això és un substitut per a l'existent {STRING} STR_CONTENT_DETAIL_NAME :{SILVER}Nom: {WHITE}{STRING} STR_CONTENT_DETAIL_VERSION :{SILVER}Versió: {WHITE}{STRING} @@ -2193,7 +2231,7 @@ STR_CONTENT_DETAIL_FILESIZE :{SILVER}Mida de STR_CONTENT_DETAIL_SELECTED_BECAUSE_OF :{SILVER}Seleccionat a causa de: {WHITE}{STRING} STR_CONTENT_DETAIL_DEPENDENCIES :{SILVER}Dependències: {WHITE}{STRING} STR_CONTENT_DETAIL_TAGS :{SILVER}Etiquetes: {WHITE}{STRING} -STR_CONTENT_NO_ZLIB :{WHITE}OpenTTD està compilat sense suport "zlib"... +STR_CONTENT_NO_ZLIB :{WHITE}L'OpenTTD s'ha compilat sense compatibilitat «zlib»... STR_CONTENT_NO_ZLIB_SUB :{WHITE}... no és possible descarregar continguts! # Order of these is important! @@ -2211,9 +2249,9 @@ STR_CONTENT_TYPE_GS_LIBRARY :Llibreria GS # Content downloading progress window STR_CONTENT_DOWNLOAD_TITLE :{WHITE}Descarregant contingut... STR_CONTENT_DOWNLOAD_INITIALISE :{WHITE}Demanant arxius... -STR_CONTENT_DOWNLOAD_FILE :{WHITE}Actualment descarregant {STRING} ({NUM} of {NUM}) +STR_CONTENT_DOWNLOAD_FILE :{WHITE}Actualment descarregant {STRING} ({NUM}{NBSP}de{NBSP}{NUM}) STR_CONTENT_DOWNLOAD_COMPLETE :{WHITE}Descàrrega completa -STR_CONTENT_DOWNLOAD_PROGRESS_SIZE :{WHITE}{BYTES} of {BYTES} descarregats ({NUM} %) +STR_CONTENT_DOWNLOAD_PROGRESS_SIZE :{WHITE}{BYTES}{NBSP}de{NBSP}{BYTES}{NBSP}descarregats ({NUM}{NBSP}%) # Content downloading error messages STR_CONTENT_ERROR_COULD_NOT_CONNECT :{WHITE}No s'ha pogut connectar amb el servidor de continguts... @@ -2238,10 +2276,10 @@ STR_TRANSPARENT_BRIDGES_TOOLTIP :{BLACK}Commuta STR_TRANSPARENT_STRUCTURES_TOOLTIP :{BLACK}Commuta la transparència de les estructures com ara fars i antenes. Ctrl+Clic per bloquejar STR_TRANSPARENT_CATENARY_TOOLTIP :{BLACK}Commuta la transparència de la catenària. CTRL+clic per bloquejar STR_TRANSPARENT_LOADING_TOOLTIP :{BLACK}Commuta la transparència dels indicadors de càrrega. Ctrl+Clic per bloquejar -STR_TRANSPARENT_INVISIBLE_TOOLTIP :{BLACK}Mostra els objectes invisibles enlloc de transparents +STR_TRANSPARENT_INVISIBLE_TOOLTIP :{BLACK}Alternar entre transparència i invisibilitat dels objectes # Linkgraph legend window -STR_LINKGRAPH_LEGEND_CAPTION :{BLACK}Llegenda del fluxe de càrrega +STR_LINKGRAPH_LEGEND_CAPTION :{BLACK}Llegenda del Flux de Càrrega STR_LINKGRAPH_LEGEND_ALL :{BLACK}Tot STR_LINKGRAPH_LEGEND_NONE :{BLACK}Cap STR_LINKGRAPH_LEGEND_SELECT_COMPANIES :{BLACK}Selecciona les companyies que seran mostrades @@ -2278,7 +2316,7 @@ STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Construe STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Construeix unes cotxeres (per construir i revisar trens). Shift commuta construeix/mostra el cost estimat STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Converteix una via en un punt de control. Ctrl permet ajuntar punts de control. Shift commuta construeix/mostra el cost estimat STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Construeix una estació de tren. Ctrl permet ajuntar estacions. Shift commuta construeix/mostra el cost estimat -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Construeix senyals de tren. Ctrl commuta entre semàfors mecànics i elèctrics{}Arrossegant es construeixen senyals al llarg d'un tros recte de rail. Ctrl construeix senyals fins a la propera intersecció{}Ctrl+Clic commuta l'obertura de la finestra de detecció de senyals. Shift commuta construir/mostrar el cost estimat +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Construeix senyals de tren. Ctrl commuta entre semàfors mecànics i elèctrics{}Arrossegant es construeixen senyals al llarg d'un tros recte de rail. Ctrl construeix senyals fins a la propera intersecció o senyal{}Ctrl+Clic commuta l'obertura de la finestra de detecció de senyals. Shift commuta construir/mostrar el cost estimat STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Construeix un pont de tren. Shift commuta construeix/mostra el cost estimat STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Construeix un túnel per a trens. Shift commuta construeix/mostra el cost estimat STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Commuta construeix/treu per vies de tren, senyals, punts de control i estacions. Mantingueu Ctrl per treure també les vies dels punts de control i de les estacions @@ -2334,8 +2372,8 @@ STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Disminue STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP :{BLACK}Incrementa la densitat de senyals en arrossegar # Bridge selection window -STR_SELECT_RAIL_BRIDGE_CAPTION :{WHITE}Selecciona pont de tren -STR_SELECT_ROAD_BRIDGE_CAPTION :{WHITE}Selecciona un Pont de carretera +STR_SELECT_RAIL_BRIDGE_CAPTION :{WHITE}Selecciona Pont de Tren +STR_SELECT_ROAD_BRIDGE_CAPTION :{WHITE}Selecciona Pont de Carretera STR_SELECT_BRIDGE_SELECTION_TOOLTIP :{BLACK}Selecció de pont - clica sobre el pont triat per construir-lo STR_SELECT_BRIDGE_INFO :{GOLD}{STRING},{} {VELOCITY} {WHITE}{CURRENCY_LONG} STR_SELECT_BRIDGE_SCENEDIT_INFO :{GOLD}{STRING},{} {VELOCITY} @@ -2395,7 +2433,7 @@ STR_WATERWAYS_TOOLBAR_BUILD_DEPOT_TOOLTIP :{BLACK}Construe STR_WATERWAYS_TOOLBAR_BUILD_DOCK_TOOLTIP :{BLACK}Construeix un port. Ctrl permet ajuntar estacions. Shift commuta construeix/mostra el cost estimat STR_WATERWAYS_TOOLBAR_BUOY_TOOLTIP :{BLACK}Situa una boia que pot ser útil per fer punts de control addicionals. Shift commuta construeix/mostra el cost estimat STR_WATERWAYS_TOOLBAR_BUILD_AQUEDUCT_TOOLTIP :{BLACK} Construeix aqüeducte. Shift commuta construeix/mostra el cost estimat -STR_WATERWAYS_TOOLBAR_CREATE_LAKE_TOOLTIP :{BLACK}Defineix l'àrea d'aigua.{}Fa un canal, excepte si CTRL està polsat al nivell del mar, llavors s'inundaran els voltants +STR_WATERWAYS_TOOLBAR_CREATE_LAKE_TOOLTIP :{BLACK}Defineix l'àrea d'aigua.{}Fa un canal, excepte si CTRL està polsat al nivell de mar, llavors s'inundaran els voltants STR_WATERWAYS_TOOLBAR_CREATE_RIVER_TOOLTIP :{BLACK}Situa rius # Ship depot construction window @@ -2468,7 +2506,7 @@ STR_TERRAFORM_SE_NEW_WORLD :{BLACK}Crear no STR_TERRAFORM_RESET_LANDSCAPE :{BLACK}Restableix paisatge STR_TERRAFORM_RESET_LANDSCAPE_TOOLTIP :{BLACK}Treure totes les propietats pertanyents a companyies del mapa -STR_QUERY_RESET_LANDSCAPE_CAPTION :{WHITE}Restablir Paisatge +STR_QUERY_RESET_LANDSCAPE_CAPTION :{WHITE}Restableix Paisatge STR_RESET_LANDSCAPE_CONFIRMATION_TEXT :{WHITE}Estàs segur que vols treure totes les propietats pertanyents a companyies? # Town generation window (SE) @@ -2504,14 +2542,14 @@ STR_FOUND_TOWN_SELECT_LAYOUT_3X3_GRID :{BLACK}graella STR_FOUND_TOWN_SELECT_LAYOUT_RANDOM :{BLACK}Aleatori # Fund new industry window -STR_FUND_INDUSTRY_CAPTION :{WHITE}Financia una nova indústria +STR_FUND_INDUSTRY_CAPTION :{WHITE}Finança una nova indústria STR_FUND_INDUSTRY_SELECTION_TOOLTIP :{BLACK}Escolleix el tipus d'indústria adequada d'aquesta llista STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES :Moltes indústries aleatòries STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES_TOOLTIP :{BLACK}Omple el mapa amb indústries situades aleatòriament STR_FUND_INDUSTRY_INDUSTRY_BUILD_COST :{BLACK}Cost: {YELLOW}{CURRENCY_LONG} STR_FUND_INDUSTRY_PROSPECT_NEW_INDUSTRY :{BLACK}Prospecciona STR_FUND_INDUSTRY_BUILD_NEW_INDUSTRY :{BLACK}Construeix -STR_FUND_INDUSTRY_FUND_NEW_INDUSTRY :{BLACK}Financia +STR_FUND_INDUSTRY_FUND_NEW_INDUSTRY :{BLACK}Finança # Industry cargoes window STR_INDUSTRY_CARGOES_INDUSTRY_CAPTION :{WHITE}Cadena industrial per la indústria {STRING} @@ -2650,7 +2688,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :terreny propiet STR_ABOUT_OPENTTD :{WHITE}Quant a OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Copyright original {COPYRIGHT} 1995 Chris Sawyer, Tots els drets reservats STR_ABOUT_VERSION :{BLACK}OpenTTD versió {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2014 L'equip d'OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 L'equip de l'OpenTTD # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Desa la Partida @@ -2685,28 +2723,27 @@ STR_MAPGEN_BY :{BLACK}* STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Nombre de poblacions: STR_MAPGEN_DATE :{BLACK}Data: STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Nombre d'indústries: -STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}Alçada de la neu: -STR_MAPGEN_SNOW_LINE_UP :{BLACK}Mou la línia de neu un pas amunt -STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}Mou la línia de neu un pas avall -STR_MAPGEN_RANDOM_SEED :{BLACK}Nombre aleatori: -STR_MAPGEN_RANDOM_SEED_HELP :{BLACK}Clica per introduir un nombre aleatori -STR_MAPGEN_RANDOM :{BLACK}Aleatoritza -STR_MAPGEN_RANDOM_HELP :{BLACK}Canvia el nombre aleatori utilitzat pel Generador de Terrenys +STR_MAPGEN_MAX_HEIGHTLEVEL :{BLACK}Alçada màxima del mapa: +STR_MAPGEN_MAX_HEIGHTLEVEL_UP :{BLACK}Augmenta l'alçada màxima del terreny en el mapa en una unitat +STR_MAPGEN_MAX_HEIGHTLEVEL_DOWN :{BLACK}Disminueix l'alçada màxima del mapa en una unitat +STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}Alçada dels estatges amb neu: +STR_MAPGEN_SNOW_LINE_UP :{BLACK}Mou els estatges amb neu un pas amunt +STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}Mou els estatges amb neu un pas avall STR_MAPGEN_LAND_GENERATOR :{BLACK}Generació de terrenys: STR_MAPGEN_TREE_PLACER :{BLACK}Algoritme d'arbres: STR_MAPGEN_TERRAIN_TYPE :{BLACK}Tipus de terreny: -STR_MAPGEN_QUANTITY_OF_SEA_LAKES :{BLACK}Nivell del mar: -STR_MAPGEN_QUANTITY_OF_RIVERS :{BLACK}Rius: +STR_MAPGEN_QUANTITY_OF_SEA_LAKES :{BLACK}Nivell de mar: +STR_MAPGEN_QUANTITY_OF_RIVERS :{BLACK}Quantitat de rius: STR_MAPGEN_SMOOTHNESS :{BLACK}Suavitat: STR_MAPGEN_VARIETY :{BLACK}Varietat: STR_MAPGEN_GENERATE :{WHITE}Genera # Strings for map borders at game generation STR_MAPGEN_BORDER_TYPE :{BLACK}Vores del mapa: -STR_MAPGEN_NORTHWEST :{BLACK}Nordoest -STR_MAPGEN_NORTHEAST :{BLACK}Nordest -STR_MAPGEN_SOUTHEAST :{BLACK}Sudest -STR_MAPGEN_SOUTHWEST :{BLACK}Sudoest +STR_MAPGEN_NORTHWEST :{BLACK}Nord-oest +STR_MAPGEN_NORTHEAST :{BLACK}Nord-est +STR_MAPGEN_SOUTHEAST :{BLACK}Sud-est +STR_MAPGEN_SOUTHWEST :{BLACK}Sud-oest STR_MAPGEN_BORDER_FREEFORM :{BLACK}Forma lliure STR_MAPGEN_BORDER_WATER :{BLACK}Aigua STR_MAPGEN_BORDER_RANDOM :{BLACK}Aleatori @@ -2718,8 +2755,8 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Nom del STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Mida: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} -STR_MAPGEN_RANDOM_SEED_OSKTITLE :{BLACK}Posa un valor aleatori -STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}Canviar alçada de la línia de neu +STR_MAPGEN_MAX_HEIGHTLEVEL_QUERY_CAPT :{WHITE}Canvia l'alçada màxima del mapa +STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}Canvia l'alçada d'inici d'estatges amb neu STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Canviar l'any inicial # SE Map generation @@ -2731,7 +2768,7 @@ STR_SE_MAPGEN_FLAT_WORLD_HEIGHT :{BLACK}Alçada STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_DOWN :{BLACK}Mou l'alçada del terreny pla un pas avall STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_UP :{BLACK}Mou l'alçada del terreny pla un pas amunt -STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_QUERY_CAPT :{WHITE}Canvia alçada del terreny pla +STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_QUERY_CAPT :{WHITE}Canvia l'alçada del terreny pla # Map generation progress STR_GENERATION_WORLD :{WHITE}Generant món... @@ -2758,10 +2795,10 @@ STR_NEWGRF_SETTINGS_INACTIVE_LIST :{WHITE}Arxius N STR_NEWGRF_SETTINGS_SELECT_PRESET :{ORANGE}Selecciona configuració: STR_NEWGRF_FILTER_TITLE :{ORANGE}Cadena de filtre: STR_NEWGRF_SETTINGS_PRESET_LIST_TOOLTIP :{BLACK}Carrega la predefinició seleccionada -STR_NEWGRF_SETTINGS_PRESET_SAVE :{BLACK}Desa predef. +STR_NEWGRF_SETTINGS_PRESET_SAVE :{BLACK}Desa configuració STR_NEWGRF_SETTINGS_PRESET_SAVE_TOOLTIP :{BLACK}Desa la llista actual com a predefinició STR_NEWGRF_SETTINGS_PRESET_SAVE_QUERY :{BLACK}Introdueix el nom de la predefinició -STR_NEWGRF_SETTINGS_PRESET_DELETE :{BLACK}Esborra predef. +STR_NEWGRF_SETTINGS_PRESET_DELETE :{BLACK}Esborra configuració STR_NEWGRF_SETTINGS_PRESET_DELETE_TOOLTIP :{BLACK}Esborra la predefinició selecciona actualment STR_NEWGRF_SETTINGS_ADD :{BLACK}Afegeix STR_NEWGRF_SETTINGS_ADD_FILE_TOOLTIP :{BLACK}Afegeix l'arxiu NewGRF seleccionat a la teva configuració @@ -2773,9 +2810,11 @@ STR_NEWGRF_SETTINGS_MOVEUP :{BLACK}Mou amun STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP :{BLACK}Mou amunt l'arxiu NewGRF seleccionat de la llista STR_NEWGRF_SETTINGS_MOVEDOWN :{BLACK}Mou avall STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP :{BLACK}Mou avall l'arxiu NewGRF seleccionat de la llista +STR_NEWGRF_SETTINGS_UPGRADE :{BLACK}Actualitza +STR_NEWGRF_SETTINGS_UPGRADE_TOOLTIP :{BLACK}Utiliza les versions més noves dels NewGRF que disposin de diverses versions instal·lades STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}Una llista de fitxers NewGRF que estan instal·lats -STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}Estableix paràm. +STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}Establir paràmetres STR_NEWGRF_SETTINGS_SHOW_PARAMETERS :{BLACK}Mostra els paràmetres STR_NEWGRF_SETTINGS_TOGGLE_PALETTE :{BLACK}Commuta paleta STR_NEWGRF_SETTINGS_TOGGLE_PALETTE_TOOLTIP :{BLACK}Commuta la paleta del NewGRF seleccionat.{}Fes això quan els gràfics del NewGRF en el joc es vegin rosats @@ -2785,9 +2824,9 @@ STR_NEWGRF_SETTINGS_FIND_MISSING_CONTENT_BUTTON :{BLACK}Cerca co STR_NEWGRF_SETTINGS_FIND_MISSING_CONTENT_TOOLTIP :{BLACK}Comprova si el contingut que falta pot ser trobat en línia STR_NEWGRF_SETTINGS_FILENAME :{BLACK}Nom d'arxiu: {SILVER}{STRING} -STR_NEWGRF_SETTINGS_GRF_ID :{BLACK}Id de GRF: {SILVER}{STRING} +STR_NEWGRF_SETTINGS_GRF_ID :{BLACK}ID de GRF: {SILVER}{STRING} STR_NEWGRF_SETTINGS_VERSION :{BLACK}Versió: {SILVER}{NUM} -STR_NEWGRF_SETTINGS_MIN_VERSION :{BLACK}Min. versió compatible: {SILVER}{NUM} +STR_NEWGRF_SETTINGS_MIN_VERSION :{BLACK}Mín. versió compatible: {SILVER}{NUM} STR_NEWGRF_SETTINGS_MD5SUM :{BLACK}MD5sum: {SILVER}{STRING} STR_NEWGRF_SETTINGS_PALETTE :{BLACK}Paleta: {SILVER}{STRING} STR_NEWGRF_SETTINGS_PARAMETER :{BLACK}Paràmetres: {SILVER}{STRING} @@ -2797,10 +2836,20 @@ STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}No s'ha tr STR_NEWGRF_SETTINGS_DISABLED :{RED}Desactivat STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Versió incompatible amb aquesta versió de OpenTTD +# NewGRF save preset window +STR_SAVE_PRESET_CAPTION :{WHITE}Guardar configuració NewGRF +STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK}Llista de totes les configuracions NewGRF preestablertes; seleccioneu-ne una per a copiar el nom +STR_SAVE_PRESET_TITLE :{BLACK}Introduïu un nom per a l'actual configuració NewGRF +STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}Nom amb què guardar la nova configuració preestablerta de NewGRF +STR_SAVE_PRESET_CANCEL :{BLACK}Cancel·la +STR_SAVE_PRESET_CANCEL_TOOLTIP :{BLACK}No guardar els canvies en la configuració NewGRF preestablerta +STR_SAVE_PRESET_SAVE :{BLACK}Guarda +STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}Guarda la configuració NewGRF preestablerta amb el nom seleccionat + # NewGRF parameters window STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Canvia els paràmetres NewGRF STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Tanca -STR_NEWGRF_PARAMETERS_RESET :{BLACK}Reseteja +STR_NEWGRF_PARAMETERS_RESET :{BLACK}Restableix STR_NEWGRF_PARAMETERS_RESET_TOOLTIP :{BLACK}Estableix tots els paràmetres al seu valor predeterminat STR_NEWGRF_PARAMETERS_DEFAULT_NAME :Paràmetre {NUM} STR_NEWGRF_PARAMETERS_SETTING :{STRING}: {ORANGE}{STRING} @@ -2820,32 +2869,35 @@ STR_NEWGRF_INSPECT_QUERY_CAPTION :{WHITE}Paràmet # Sprite aligner window STR_SPRITE_ALIGNER_CAPTION :{WHITE}Alineant sprite {COMMA} ({STRING}) STR_SPRITE_ALIGNER_NEXT_BUTTON :{BLACK}Sprite següent -STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Procedeix cap al següent sprite normal, saltant qualsevol sprite pseudo/recolor/font i ajustant el voltant al final -STR_SPRITE_ALIGNER_GOTO_BUTTON :{BLACK}Anar a l'sprite -STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}Anar cap a l'sprite donat. Si l'sprite no és un sprite normal, procedir cap al següent sprite normal +STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Procedeix cap al següent sprite normal, saltant qualsevol sprite pseudo/recolor/font i passant de l'últim sprite al primer +STR_SPRITE_ALIGNER_GOTO_BUTTON :{BLACK}Vés a l'sprite +STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}Va cap a l'sprite donat. Si l'sprite no és un sprite normal, procedir cap al següent sprite normal STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Sprite anterior -STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Procedeix cap a l'sprite normal anterior, saltant qualsevol sprite pseudo/recolor/font i ajustant el voltant al començament +STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Procedeix cap a l'sprite normal anterior, saltant qualsevol sprite pseudo/recolor/font i passant del primer sprite a l'últim STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Representació de l'sprite seleccionat actualment. L'alineació s'ignora quan es dibuixa aquest sprite STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Mou l'sprite al voltant, canviant els desplaçaments en X i Y -STR_SPRITE_ALIGNER_OFFSETS :{BLACK}Desplaçament X: {NUM}, Desplaçament Y: {NUM} +STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Restableix relatius +STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Restableix els desplaçaments relatius actuals +STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}Desplaçament X: {NUM}, Desplaçament Y: {NUM} (Absolut) +STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}Desplaçament X: {NUM}, Desplaçament Y: {NUM} (Relatiu) STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Agafa un sprite STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Agafa un sprite de qualsevol lloc de la pantalla -STR_SPRITE_ALIGNER_GOTO_CAPTION :{WHITE}Anar a l'sprite +STR_SPRITE_ALIGNER_GOTO_CAPTION :{WHITE}Vés a l'sprite # NewGRF (self) generated warnings/errors STR_NEWGRF_ERROR_MSG_INFO :{SILVER}{STRING} STR_NEWGRF_ERROR_MSG_WARNING :{RED}Alerta: {SILVER}{STRING} STR_NEWGRF_ERROR_MSG_ERROR :{RED}Error: {SILVER}{STRING} STR_NEWGRF_ERROR_MSG_FATAL :{RED}Fatal: {SILVER}{STRING} -STR_NEWGRF_ERROR_FATAL_POPUP :{WHITE}Ha passat un error fatal de NewGRF: {}{STRING} -STR_NEWGRF_ERROR_VERSION_NUMBER :{1:STRING} no funcionarà amb la versió de TTDPatch informada per OpenTTD +STR_NEWGRF_ERROR_FATAL_POPUP :{WHITE}S'ha produït un error fatal de NewGRF: {}{STRING} +STR_NEWGRF_ERROR_VERSION_NUMBER :{1:STRING} no funcionarà amb la versió TTDPatch informada per l'OpenTTD STR_NEWGRF_ERROR_DOS_OR_WINDOWS :{1:STRING} és per la versió {STRING} de TTD STR_NEWGRF_ERROR_UNSET_SWITCH :{1:STRING} està dissenyat per ser utilitzat amb {STRING} STR_NEWGRF_ERROR_INVALID_PARAMETER :Paràmetre invàlid per {1:STRING}: paràmetre {STRING} ({NUM}) STR_NEWGRF_ERROR_LOAD_BEFORE :{1:STRING} ha de ser carregat abans de {STRING} STR_NEWGRF_ERROR_LOAD_AFTER :{1:STRING} ha de ser carregat després de {STRING} -STR_NEWGRF_ERROR_OTTD_VERSION_NUMBER :{1:STRING} necessita OpenTTD versió {STRING} o més modern +STR_NEWGRF_ERROR_OTTD_VERSION_NUMBER :{1:STRING} necessita l'OpenTTD versió {STRING} o superior STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE :l'arxiu GRF dissenyat està pendent de traduir STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :Hi ha massa arxius NewGRF carregats STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :Carregant {1:STRING} com a NewGRF estàtic amb {STRING} podria causar desincronitzacions @@ -2863,7 +2915,7 @@ STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Format de dispo # NewGRF related 'general' warnings STR_NEWGRF_POPUP_CAUTION_CAPTION :{WHITE}Alerta! -STR_NEWGRF_CONFIRMATION_TEXT :{YELLOW}Estàs a punt de fer canvis en una partida activa. Això pot fer que OpenTTD es pengi. No enviis cap informe d'error sobre això.{}Estàs completament segur que vols fer-los? +STR_NEWGRF_CONFIRMATION_TEXT :{YELLOW}Esteu a punt de fer canvis en una partida activa. Això pot fer que l'OpenTTD falli. No envieu cap informe d'error sobre això.{}Esteu completament segur que voleu fer-los? STR_NEWGRF_DUPLICATE_GRFID :{WHITE}No es pot afegir l'arxiu: ID GRF duplicada STR_NEWGRF_COMPATIBLE_LOADED :{ORANGE}No s'ha trobat un arxiu coincident (els GRF compatibles s'han carregat) @@ -2872,7 +2924,7 @@ STR_NEWGRF_TOO_MANY_NEWGRFS :{WHITE}No es po STR_NEWGRF_COMPATIBLE_LOAD_WARNING :{WHITE}S'han carregat els GRF compatibles pels arxius faltants STR_NEWGRF_DISABLED_WARNING :{WHITE}Els fitxers GRF faltants han estat desactivats STR_NEWGRF_UNPAUSE_WARNING_TITLE :{YELLOW}Falten fitxers GRF -STR_NEWGRF_UNPAUSE_WARNING :{WHITE}Treure la pausa pot provocar fallades d'OpenTTD. No informis d'errors a causa de fallades subseqüents.{}Estàs segur de voler treure la pausa? +STR_NEWGRF_UNPAUSE_WARNING :{WHITE}Reprendre la partida pot provocar errors de l'OpenTTD. No informeu errors de fallades posteriors d'aquesta partida.{}Esteu segur de reprendre la partida? # NewGRF status STR_NEWGRF_LIST_NONE :Cap @@ -2904,7 +2956,7 @@ STR_INVALID_VEHICLE :Economia->Poblacions +STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}La població no construirà carrers. Pots activar la construcció de carrers via Configuració->Interacció amb l'entorn->Poblacions STR_ERROR_ROAD_WORKS_IN_PROGRESS :{WHITE}Obres en progrés STR_ERROR_TOWN_CAN_T_DELETE :{WHITE}No es pot eliminar aquesta població...{}Hi ha una estació, un dipòsit o una cel·la pertanyent a la població que no pot ser eliminada STR_ERROR_STATUE_NO_SUITABLE_PLACE :{WHITE}... no hi ha un lloc adequat per situar l'estàtua al centre d'aquesta població @@ -4114,9 +4191,12 @@ STR_ERROR_CAN_ONLY_BE_BUILT_IN_TOWNS :{WHITE}... nom STR_ERROR_CAN_ONLY_BE_BUILT_NEAR_TOWN_CENTER :{WHITE}... només es pot construir prop del centre de les poblacions STR_ERROR_CAN_ONLY_BE_BUILT_IN_LOW_AREAS :{WHITE}... només pot ser construït en zones baixes STR_ERROR_CAN_ONLY_BE_POSITIONED :{WHITE}... només es pot situar prop dels límits del mapa -STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... els boscos només es poden plantar sota la cota de neu -STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... només es pot construir per sobre la cota de neu -STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... només es pot construir per sota la cota de neu +STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... el bosc només es pot plantar en estatges amb neu +STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... només es pot construir en estatges amb neu +STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... només es pot construir en estatges sense neu + +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}No hi havia llocs adequats per a indústries '{STRING}' +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Canvia els paràmetres de generació de mapa per a obtenir-ne un de millor # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Aquí no es pot construir una estació de tren... @@ -4137,7 +4217,7 @@ STR_ERROR_TOO_CLOSE_TO_ANOTHER_STATION :{WHITE}Massa pr STR_ERROR_TOO_CLOSE_TO_ANOTHER_DOCK :{WHITE}Massa prop d'un altre moll STR_ERROR_TOO_CLOSE_TO_ANOTHER_AIRPORT :{WHITE}Massa prop d'un altre aeroport STR_ERROR_CAN_T_RENAME_STATION :{WHITE}No es pot canviar el nom de l'estació... -STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... aquesta carretera es propietat de la població +STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... aquesta carretera és propietat de la població STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... sentit de la carretera en la direcció incorrecta STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... les estacions d'autobús de pas no poden tenir cantonades STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... les estacions d'autobús de pas no poden tenir interseccions @@ -4254,6 +4334,7 @@ STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Primer h STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}No es pot començar i acabar a la mateixa posició STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}Les capçaleres del pont no són al mateix nivell STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}El pont és massa baix pel terreny +STR_ERROR_BRIDGE_TOO_HIGH_FOR_TERRAIN :{WHITE}El pont és massa alt per a aquest terreny. STR_ERROR_START_AND_END_MUST_BE_IN :{WHITE}Inici i final han d'estar en línia recta STR_ERROR_ENDS_OF_BRIDGE_MUST_BOTH :{WHITE}... els extrems del pont han d'estar tots dos a terra STR_ERROR_BRIDGE_TOO_LONG :{WHITE}... el pont és massa llarg @@ -4292,7 +4373,7 @@ STR_ERROR_SHIP_IN_THE_WAY :{WHITE}Vaixell STR_ERROR_AIRCRAFT_IN_THE_WAY :{WHITE}Avió al camí STR_ERROR_CAN_T_REFIT_TRAIN :{WHITE}No es pot remodelar el tren... -STR_ERROR_CAN_T_REFIT_ROAD_VEHICLE :{WHITE}No es pot remodelar el vehicle de carretera... +STR_ERROR_CAN_T_REFIT_ROAD_VEHICLE :{WHITE}No es pot remodelar l'automòbil... STR_ERROR_CAN_T_REFIT_SHIP :{WHITE}No es pot remodelar el vaixell... STR_ERROR_CAN_T_REFIT_AIRCRAFT :{WHITE}No es pot remodelar l'avió... @@ -4534,10 +4615,10 @@ STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_KELLING_3100_DIESEL :Kelling 3100 (D STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_TURNER_TURBO_DIESEL :Turner Turbo (Dièsel) STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_MJS_1000_DIESEL :MJS 1000 (Dièsel) STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_125_DIESEL :SH '125' (Dièsel) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_30_ELECTRIC :SH '30' (Elèctric) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_40_ELECTRIC :SH '40' (Elèctric) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_T_I_M_ELECTRIC :'T.I.M.' (Elèctric) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_ASIASTAR_ELECTRIC :'AsiaStar' (Elèctric) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_30_ELECTRIC :SH '30' (Elèctrica) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_40_ELECTRIC :SH '40' (Elèctrica) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_T_I_M_ELECTRIC :'T.I.M.' (Elèctrica) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_ASIASTAR_ELECTRIC :'AsiaStar' (Elèctrica) STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_PASSENGER_CAR :{G=Masculin}Vagó per Passatgers STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_MAIL_VAN :{G=Masculin}Vagó per Correu STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_COAL_CAR :{G=Masculin}Vagó per Carbó @@ -4565,10 +4646,10 @@ STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_TOY_VAN :{G=Masculin}Vag STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_BATTERY_TRUCK :{G=Masculin}Vagó per Piles STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_FIZZY_DRINK_TRUCK :{G=Masculin}Vagó per Begudes Gasoses STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_PLASTIC_TRUCK :{G=Masculin}Vagó per Plàstic -STR_VEHICLE_NAME_TRAIN_ENGINE_MONORAIL_X2001_ELECTRIC :'X2001' (Elèctric) -STR_VEHICLE_NAME_TRAIN_ENGINE_MONORAIL_MILLENNIUM_Z1_ELECTRIC :'Millennium Z1' (Elèctric) +STR_VEHICLE_NAME_TRAIN_ENGINE_MONORAIL_X2001_ELECTRIC :'X2001' (Elèctrica) +STR_VEHICLE_NAME_TRAIN_ENGINE_MONORAIL_MILLENNIUM_Z1_ELECTRIC :'Millennium Z1' (Elèctrica) STR_VEHICLE_NAME_TRAIN_ENGINE_MONORAIL_WIZZOWOW_Z99 :Wizzowow Z99 -STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_PASSENGER_CAR :{G=Masculin}Vagó per Passatgers +STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_PASSENGER_CAR :{G=Masculin}Vagó de Passatgers STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_MAIL_VAN :{G=Masculin}Vagó per Correu STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_COAL_CAR :{G=Masculin}Vagó per Carbó STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_OIL_TANKER :{G=Masculin}Tanc de Petroli @@ -4595,12 +4676,12 @@ STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_TOY_VAN :{G=Masculin}Vag STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_BATTERY_TRUCK :{G=Masculin}Vagó per Piles STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_FIZZY_DRINK_TRUCK :{G=Masculin}Vagó per Begudes Gasoses STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_PLASTIC_TRUCK :{G=Masculin}Vagó per Plàstic -STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV1_LEVIATHAN_ELECTRIC :Lev1 'Leviathan' (Elèctric) -STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV2_CYCLOPS_ELECTRIC :Lev2 'Cíclope' (Elèctric) -STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV3_PEGASUS_ELECTRIC :Lev3 'Pegasus' (Elèctric) -STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV4_CHIMAERA_ELECTRIC :Lev4 'Quimera' (Elèctric) +STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV1_LEVIATHAN_ELECTRIC :Lev1 'Leviathan' (Elèctrica) +STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV2_CYCLOPS_ELECTRIC :Lev2 'Cíclope' (Elèctrica) +STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV3_PEGASUS_ELECTRIC :Lev3 'Pegasus' (Elèctrica) +STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV4_CHIMAERA_ELECTRIC :Lev4 'Quimera' (Elèctrica) STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_WIZZOWOW_ROCKETEER :Wizzowow Rocketeer -STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_PASSENGER_CAR :{G=Masculin}Vagó per Passatgers +STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_PASSENGER_CAR :{G=Masculin}Vagó de Passatgers STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_MAIL_VAN :{G=Masculin}Vagó per Correu STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_COAL_CAR :{G=Masculin}Vagó per Carbó STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_OIL_TANKER :{G=Masculin}Tanc de Petroli @@ -4688,9 +4769,9 @@ STR_VEHICLE_NAME_ROAD_VEHICLE_RMT_RUBBER_TRUCK :{G=Masculin}Cam STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_SUGAR_TRUCK :{G=Masculin}Camió per Sucre MightyMover STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_SUGAR_TRUCK :{G=Masculin}Camió per Sucre Powernaught STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_SUGAR_TRUCK :{G=Masculin}Camió per Sucre Wizzowow -STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_COLA_TRUCK :{G=Masculin}Camió per Refresc MightyMover -STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_COLA_TRUCK :{G=Masculin}Camió per Refresc Powernaught -STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_COLA_TRUCK :{G=Masculin}Camió per Refresc Wizzowow +STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_COLA_TRUCK :{G=Masculin}Camió per Refrescs MightyMover +STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_COLA_TRUCK :{G=Masculin}Camió per Refrescs Powernaught +STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_COLA_TRUCK :{G=Masculin}Camió per Refrescs Wizzowow STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_COTTON_CANDY :{G=Masculin}Camió per Cotó de Sucre MightyMover STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_COTTON_CANDY :{G=Masculin}Camió per Cotó de Sucre Powernaught STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_COTTON_CANDY_TRUCK :{G=Masculin}Camió per Cotó de Sucre Wizzowow @@ -4818,6 +4899,7 @@ STR_COMPANY_NAME :{COMPANY} STR_COMPANY_NAME_COMPANY_NUM :{COMPANY} {COMPANY_NUM} STR_DEPOT_NAME :{DEPOT} STR_ENGINE_NAME :{ENGINE} +STR_HIDDEN_ENGINE_NAME :{ENGINE} (ocultat) STR_GROUP_NAME :{GROUP} STR_INDUSTRY_NAME :{INDUSTRY} STR_PRESIDENT_NAME :{PRESIDENT_NAME} @@ -4853,8 +4935,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -4865,9 +4945,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/croatian.txt b/src/lang/croatian.txt index 9b3a7b2690..993a7600ee 100644 --- a/src/lang/croatian.txt +++ b/src/lang/croatian.txt @@ -190,30 +190,30 @@ STR_CARGO_SINGULAR_FIZZY_DRINK.aku :gazirano piće # Quantity of cargo STR_QUANTITY_NOTHING : -STR_QUANTITY_PASSENGERS :{COMMA} putnik{P "" a a} +STR_QUANTITY_PASSENGERS :{COMMA}{NBSP}putnik{P "" a a} STR_QUANTITY_COAL :{WEIGHT_LONG} ugljena -STR_QUANTITY_MAIL :{COMMA} poštansk{P a e ih} vreć{P a e a} +STR_QUANTITY_MAIL :{COMMA}{NBSP}poštansk{P a e ih} vreć{P a e a} STR_QUANTITY_OIL :{VOLUME_LONG} nafte -STR_QUANTITY_LIVESTOCK :{COMMA} grl{P o a a} domaćih životinja -STR_QUANTITY_GOODS :{COMMA} sanduk{P "" a a} robe +STR_QUANTITY_LIVESTOCK :{COMMA}{NBSP}grl{P o a a} stoke +STR_QUANTITY_GOODS :{COMMA}{NBSP}sanduk{P "" a a} robe STR_QUANTITY_GRAIN :{WEIGHT_LONG} žita STR_QUANTITY_WOOD :{WEIGHT_LONG} drveta STR_QUANTITY_IRON_ORE :{WEIGHT_LONG} željezne rude STR_QUANTITY_STEEL :{WEIGHT_LONG} čelika -STR_QUANTITY_VALUABLES :{COMMA} vreć{P a e a} s vrijednostima +STR_QUANTITY_VALUABLES :{COMMA}{NBSP}vreć{P a e a} s vrijednosnicama STR_QUANTITY_COPPER_ORE :{WEIGHT_LONG} bakrene rude STR_QUANTITY_MAIZE :{WEIGHT_LONG} kukuruza STR_QUANTITY_FRUIT :{WEIGHT_LONG} voća -STR_QUANTITY_DIAMONDS :{COMMA} vreć{P a e a} dijamanata +STR_QUANTITY_DIAMONDS :{COMMA}{NBSP}vreć{P a e a} dijamanata STR_QUANTITY_FOOD :{WEIGHT_LONG} hrane STR_QUANTITY_PAPER :{WEIGHT_LONG} papira -STR_QUANTITY_GOLD :{COMMA} vreć{P a e a} zlata +STR_QUANTITY_GOLD :{COMMA}{NBSP}vreć{P a e a} zlata STR_QUANTITY_WATER :{VOLUME_LONG} vode STR_QUANTITY_WHEAT :{WEIGHT_LONG} pšenice STR_QUANTITY_RUBBER :{VOLUME_LONG} gume STR_QUANTITY_SUGAR :{WEIGHT_LONG} šećera -STR_QUANTITY_TOYS :{COMMA} igrač{P ka ke aka} -STR_QUANTITY_SWEETS :{COMMA} vreć{P a e a} slatkiša +STR_QUANTITY_TOYS :{COMMA}{NBSP}igrač{P ka ke aka} +STR_QUANTITY_SWEETS :{COMMA}{NBSP}vreć{P a e a} slatkiša STR_QUANTITY_COLA :{VOLUME_LONG} cole STR_QUANTITY_CANDYFLOSS :{WEIGHT_LONG} šećerne vune STR_QUANTITY_BUBBLES :{COMMA} balon{P "" a a} @@ -260,13 +260,13 @@ STR_ABBREV_NONE :{TINY_FONT}NI STR_ABBREV_ALL :{TINY_FONT}SVE # 'Mode' of transport for cargoes -STR_PASSENGERS :{COMMA} putnici +STR_PASSENGERS :{COMMA}{NBSP}putnik{P "" a ""} STR_PASSENGERS.gen :{COMMA} putnika -STR_BAGS :{COMMA} vreća -STR_TONS :{COMMA} tona -STR_LITERS :{COMMA} litra -STR_ITEMS :{COMMA} predmet -STR_CRATES :{COMMA} sanduk +STR_BAGS :{COMMA}{NBSP}vreć{P a e a} +STR_TONS :{COMMA}{NBSP}ton{P a e e} +STR_LITERS :{COMMA}{NBSP}lit{P ra re ara} +STR_ITEMS :{COMMA}{NBSP}predmet{P "" a a} +STR_CRATES :{COMMA}{NBSP}sanduk{P "" a a} # Colours, do not shuffle STR_COLOUR_DARK_BLUE :Tamnoplava @@ -287,37 +287,37 @@ STR_COLOUR_GREY :Siva STR_COLOUR_WHITE :Bijela # Units used in OpenTTD -STR_UNITS_VELOCITY_IMPERIAL :{COMMA} mph -STR_UNITS_VELOCITY_METRIC :{COMMA} km/h -STR_UNITS_VELOCITY_SI :{COMMA} m/s +STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}mph +STR_UNITS_VELOCITY_METRIC :{COMMA}{NBSP}km/h +STR_UNITS_VELOCITY_SI :{COMMA}{NBSP}m/s -STR_UNITS_POWER_IMPERIAL :{COMMA}KS -STR_UNITS_POWER_METRIC :{COMMA}KS -STR_UNITS_POWER_SI :{COMMA}kW +STR_UNITS_POWER_IMPERIAL :{COMMA}{NBSP}KS +STR_UNITS_POWER_METRIC :{COMMA}{NBSP}KS +STR_UNITS_POWER_SI :{COMMA}{NBSP}kW -STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}t -STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}t -STR_UNITS_WEIGHT_SHORT_SI :{COMMA}kg +STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_SI :{COMMA}{NBSP}kg -STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA} ton{P a e e} -STR_UNITS_WEIGHT_LONG_METRIC :{COMMA} ton{P a e a} -STR_UNITS_WEIGHT_LONG_SI :{COMMA} kg +STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA}{NBSP}ton{P a e e} +STR_UNITS_WEIGHT_LONG_METRIC :{COMMA}{NBSP}ton{P a e a} +STR_UNITS_WEIGHT_LONG_SI :{COMMA}{NBSP}kg -STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}gal -STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}l -STR_UNITS_VOLUME_SHORT_SI :{COMMA}m³ +STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}{NBSP}gal +STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}{NBSP}l +STR_UNITS_VOLUME_SHORT_SI :{COMMA}{NBSP}m³ -STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA} galon{P "" "" i} -STR_UNITS_VOLUME_LONG_METRIC :{COMMA} lit{P ra re ara} -STR_UNITS_VOLUME_LONG_SI :{COMMA} m³ +STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA}{NBSP}galon{P "" a a} +STR_UNITS_VOLUME_LONG_METRIC :{COMMA}{NBSP}lit{P ra re ara} +STR_UNITS_VOLUME_LONG_SI :{COMMA}{NBSP}m³ -STR_UNITS_FORCE_IMPERIAL :{COMMA} lbf -STR_UNITS_FORCE_METRIC :{COMMA} kgf -STR_UNITS_FORCE_SI :{COMMA} kN +STR_UNITS_FORCE_IMPERIAL :{COMMA}{NBSP}lbf +STR_UNITS_FORCE_METRIC :{COMMA}{NBSP}kgf +STR_UNITS_FORCE_SI :{COMMA}{NBSP}kN -STR_UNITS_HEIGHT_IMPERIAL :{COMMA} ft -STR_UNITS_HEIGHT_METRIC :{COMMA} m -STR_UNITS_HEIGHT_SI :{COMMA} m +STR_UNITS_HEIGHT_IMPERIAL :{COMMA}{NBSP}ft +STR_UNITS_HEIGHT_METRIC :{COMMA}{NBSP}m +STR_UNITS_HEIGHT_SI :{COMMA}{NBSP}m # Common window strings STR_LIST_FILTER_TITLE :{BLACK}Filtriraj niz: @@ -344,6 +344,17 @@ STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Klizna t STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Klizna traka - lista lijevo/desno STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Sruši građevine itd. na kvadratu zemlje. Ctrl selektira područje dijagonalno. Shift mijenja prikaz građenje/procjena troškova. +# Show engines button +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}Prikaži sakrivene +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK}Prikaži sakrivene +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}Prikaži sakrivene +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}Prikaži sakrivene + +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}Uključivanjem ove opcije, prikazani su i sakriveni vlakovi +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE_TOOLTIP :{BLACK}Uključivanjem ove opcije, prikazana su i sakrivena cestovna vozila +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}Uključivanjem ove opcije, prikazani su i sakriveni brodovi +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Uključivanjem ove opcije, prikazani su i sakriveni zrakoplovi + # Query window STR_BUTTON_DEFAULT :{BLACK}Zadano STR_BUTTON_CANCEL :{BLACK}Odustani @@ -380,7 +391,7 @@ STR_SORT_BY_VALUE :Vrijednost STR_SORT_BY_LENGTH :Dužina STR_SORT_BY_LIFE_TIME :Preostali životni vijek STR_SORT_BY_TIMETABLE_DELAY :Kašnjenje voznog reda -STR_SORT_BY_FACILITY :Vrsta stanice +STR_SORT_BY_FACILITY :Vrsta postaje STR_SORT_BY_WAITING_TOTAL :Ukupni teret na čekanju STR_SORT_BY_WAITING_AVAILABLE :Dostupni teret na čekanju STR_SORT_BY_RATING_MAX :Najviša ocjena tereta @@ -457,7 +468,7 @@ STR_SCENEDIT_FILE_MENU_QUIT :Izlaz ############ range for settings menu starts STR_SETTINGS_MENU_GAME_OPTIONS :Postavke igre -STR_SETTINGS_MENU_CONFIG_SETTINGS :Napredne postavke +STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Postavke STR_SETTINGS_MENU_SCRIPT_SETTINGS :Postavke UI-ja/Skripte igre STR_SETTINGS_MENU_NEWGRF_SETTINGS :Postavke za NewGRF STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Postavke prozirnosti @@ -566,7 +577,7 @@ STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Odaberi granič STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Mijenjaj boju blatnih blokova ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window STR_ORDINAL_NUMBER_1ST :1. STR_ORDINAL_NUMBER_2ND :2. STR_ORDINAL_NUMBER_3RD :3. @@ -582,22 +593,40 @@ STR_ORDINAL_NUMBER_12TH :12. STR_ORDINAL_NUMBER_13TH :13. STR_ORDINAL_NUMBER_14TH :14. STR_ORDINAL_NUMBER_15TH :15. -STR_ORDINAL_NUMBER_16TH :16. -STR_ORDINAL_NUMBER_17TH :17. -STR_ORDINAL_NUMBER_18TH :18. -STR_ORDINAL_NUMBER_19TH :19. -STR_ORDINAL_NUMBER_20TH :20. -STR_ORDINAL_NUMBER_21ST :21. -STR_ORDINAL_NUMBER_22ND :22. -STR_ORDINAL_NUMBER_23RD :23. -STR_ORDINAL_NUMBER_24TH :24. -STR_ORDINAL_NUMBER_25TH :25. -STR_ORDINAL_NUMBER_26TH :26. -STR_ORDINAL_NUMBER_27TH :27. -STR_ORDINAL_NUMBER_28TH :28. -STR_ORDINAL_NUMBER_29TH :29. -STR_ORDINAL_NUMBER_30TH :30. -STR_ORDINAL_NUMBER_31ST :31. +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :1. +STR_DAY_NUMBER_2ND :2. +STR_DAY_NUMBER_3RD :3. +STR_DAY_NUMBER_4TH :4. +STR_DAY_NUMBER_5TH :5. +STR_DAY_NUMBER_6TH :6. +STR_DAY_NUMBER_7TH :7. +STR_DAY_NUMBER_8TH :8. +STR_DAY_NUMBER_9TH :9. +STR_DAY_NUMBER_10TH :10. +STR_DAY_NUMBER_11TH :11. +STR_DAY_NUMBER_12TH :12. +STR_DAY_NUMBER_13TH :13. +STR_DAY_NUMBER_14TH :14. +STR_DAY_NUMBER_15TH :15. +STR_DAY_NUMBER_16TH :16. +STR_DAY_NUMBER_17TH :17. +STR_DAY_NUMBER_18TH :18. +STR_DAY_NUMBER_19TH :19. +STR_DAY_NUMBER_20TH :20. +STR_DAY_NUMBER_21ST :21. +STR_DAY_NUMBER_22ND :22. +STR_DAY_NUMBER_23RD :23. +STR_DAY_NUMBER_24TH :24. +STR_DAY_NUMBER_25TH :25. +STR_DAY_NUMBER_26TH :26. +STR_DAY_NUMBER_27TH :27. +STR_DAY_NUMBER_28TH :28. +STR_DAY_NUMBER_29TH :29. +STR_DAY_NUMBER_30TH :30. +STR_DAY_NUMBER_31ST :31. ############ range for days ends ############ range for months starts @@ -677,7 +706,7 @@ STR_PERFORMANCE_DETAIL_KEY :{BLACK}Detalji STR_PERFORMANCE_DETAIL_AMOUNT_CURRENCY :{BLACK}({CURRENCY_SHORT}/{CURRENCY_SHORT}) STR_PERFORMANCE_DETAIL_AMOUNT_INT :{BLACK}({COMMA}/{COMMA}) STR_PERFORMANCE_DETAIL_PERCENT :{WHITE}{NUM}% -STR_PERFORMANCE_DETAIL_SELECT_COMPANY_TOOLTIP :{BLACK}Pogledaj detalje za ovu kompaniju +STR_PERFORMANCE_DETAIL_SELECT_COMPANY_TOOLTIP :{BLACK}Pogledaj detalje za ovu tvrtku ############ Those following lines need to be in this order!! STR_PERFORMANCE_DETAIL_VEHICLES :{BLACK}Vozila: STR_PERFORMANCE_DETAIL_STATIONS :{BLACK}Postaje: @@ -782,7 +811,7 @@ STR_SMALLMAP_TOOLTIP_SHOW_TRANSPORT_ROUTES_ON :{BLACK}Pokaži STR_SMALLMAP_TOOLTIP_SHOW_VEGETATION_ON_MAP :{BLACK}Pokaži vegetaciju na karti STR_SMALLMAP_TOOLTIP_SHOW_LAND_OWNERS_ON_MAP :{BLACK}Pokaži vlasnike zemlje na karti STR_SMALLMAP_TOOLTIP_INDUSTRY_SELECTION :{BLACK}Klikni na tip industrije za njen prikaz. Ctrl+Klik isključuje sve tipove industrije osim odabrane. Ponovni Ctrl+Klik uključuje sve tipove industrije. -STR_SMALLMAP_TOOLTIP_COMPANY_SELECTION :{BLACK}Klikni na kompaniju za prikaz njenog vlasništva. Ctrl+Klik isključuje sve kompanije osim odabrane. Ponovni Ctrl+Klik uključuje sve kompanije. +STR_SMALLMAP_TOOLTIP_COMPANY_SELECTION :{BLACK}Klikni na tvrtku za prikaz njenog vlasništva. Ctrl+Klik isključuje sve tvrtke osim odabrane. Ponovni Ctrl+Klik uključuje sve tvrtke. STR_SMALLMAP_TOOLTIP_CARGO_SELECTION :{BLACK}Klikni na teret za odabir prikaza njegovih svojstava. Ctrl+Klik isključuje sve terete osim odabranog. Ponovljeni Ctrl+Klik opet uključuje sve terete. STR_SMALLMAP_LEGENDA_ROADS :{TINY_FONT}{BLACK}Ceste @@ -826,8 +855,8 @@ STR_SMALLMAP_SHOW_HEIGHT :{BLACK}Pokaži STR_SMALLMAP_TOOLTIP_DISABLE_ALL_INDUSTRIES :{BLACK}Ne prikazuj industrije na karti STR_SMALLMAP_TOOLTIP_ENABLE_ALL_INDUSTRIES :{BLACK}Prikaži sve industrije na karti STR_SMALLMAP_TOOLTIP_SHOW_HEIGHT :{BLACK}Aktiviraj prikaz visinske karte -STR_SMALLMAP_TOOLTIP_DISABLE_ALL_COMPANIES :{BLACK}Prikaži sve što nije vlasništvo kompanije na mapi -STR_SMALLMAP_TOOLTIP_ENABLE_ALL_COMPANIES :{BLACK}Prikaži sve vlasništvo kompanije na mapi +STR_SMALLMAP_TOOLTIP_DISABLE_ALL_COMPANIES :{BLACK}Prikaži sve što nije vlasništvo tvrtke na karti +STR_SMALLMAP_TOOLTIP_ENABLE_ALL_COMPANIES :{BLACK}Prikaži sve vlasništvo tvrtke na karti STR_SMALLMAP_TOOLTIP_DISABLE_ALL_CARGOS :{BLACK}Prikaži bez tereta na mapi STR_SMALLMAP_TOOLTIP_ENABLE_ALL_CARGOS :{BLACK}Prikaži sve terete na mapi @@ -906,13 +935,12 @@ STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}{VEHICLE STR_NEWS_SHIP_IS_WAITING :{WHITE}{VEHICLE} čeka u brodogradilištu STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE} čeka u zrakoplovnom hangaru -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE +# Order review system / warnings STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE} ima premalo naredbi u rasporedu STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE} ima nevažeće naredbe STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE} ima duplicirane naredbe STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE} ima neispravnu postaju u svojim naredbama -# end of order system +STR_NEWS_PLANE_USES_TOO_SHORT_RUNWAY :{WHITE}{VEHICLE} ima u naredbama zračunu luku s prekratkom pistom STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} postaje star STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} postaje vrlo star @@ -995,10 +1023,6 @@ STR_GAME_OPTIONS_CURRENCY_GEL :Gruzijski Lari STR_GAME_OPTIONS_CURRENCY_IRR :Iranski Rial (IRR) ############ end of currency region - -############ start of measuring units region -############ end of measuring units region - STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Cestovna vozila STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}Odaberi na kojoj će strani ceste vozila prometovati STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :Vozi na lijevoj strani @@ -1034,11 +1058,13 @@ STR_GAME_OPTIONS_TOWN_NAME_CATALAN :Katalonski STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Automatsko spremanje STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Odaberi interval između automatskih spremanja igre +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Isključeno STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :Svaki mjesec STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :Svaka 3 mjeseca STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :Svakih 6 mjeseci STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :Svakih 12 mjeseci +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}Jezik STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Izaberi jezično sučelje @@ -1050,8 +1076,12 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}Razluči STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Izaberi razlučivost ekrana STR_GAME_OPTIONS_RESOLUTION_OTHER :ostalo -STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}Format za sliku ekrana -STR_GAME_OPTIONS_SCREENSHOT_FORMAT_TOOLTIP :{BLACK}Izaberi format za sliku ekrana +STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Veličina sučelja +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Odaberite koju ćete veličinu elementa sučelja koristiti + +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normalno +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Dvostruka veličina +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Četvorostruka veličina STR_GAME_OPTIONS_BASE_GRF :{BLACK}Osnovni set grafike STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Odaberi osnovni grafički set za igru @@ -1067,6 +1097,7 @@ STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Odaberi STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} neispravn{P a e ih} datotek{P a e a} STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Dodatne informacije o setu osnovne glazbe +STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Povlačenje liste podržanih rezolucija nije uspjelo STR_ERROR_FULLSCREEN_FAILED :{WHITE}Neuspješan prelazak na prikaz na cijelom ekranu # Custom currency window @@ -1145,6 +1176,7 @@ STR_TERRAIN_TYPE_VERY_FLAT :Vrlo ravno STR_TERRAIN_TYPE_FLAT :Ravno STR_TERRAIN_TYPE_HILLY :Brežuljkasto STR_TERRAIN_TYPE_MOUNTAINOUS :Brdovito +STR_TERRAIN_TYPE_ALPINIST :Alpinist STR_CITY_APPROVAL_PERMISSIVE :Dopustiv STR_CITY_APPROVAL_TOLERANT :Tolerantan @@ -1152,8 +1184,8 @@ STR_CITY_APPROVAL_HOSTILE :Agresivan STR_WARNING_NO_SUITABLE_AI :{WHITE}Odgovarajuća UI nije dostupna...{}Možete preuzeti nekoliko UI pomoću sustava 'Online sadržaja' -# Advanced settings window -STR_CONFIG_SETTING_CAPTION :{WHITE}Napredne postavke +# Settings tree window +STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Postavke STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Filtriraj slijed: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Otvori sve STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Zatvori sve @@ -1163,15 +1195,15 @@ STR_CONFIG_SETTING_TYPE :{LTBLUE}Vrsta p STR_CONFIG_SETTING_TYPE_CLIENT :Postavke klijenta (nisu pohranjene u snimljenoj datoteci; utječu na sve igre) STR_CONFIG_SETTING_TYPE_GAME_MENU :Postavke igre (pohranjene u snimljenoj datoteci; utječu samo na nove igre) STR_CONFIG_SETTING_TYPE_GAME_INGAME :Postavke igre (pohranjene u snimljenoj datoteci; utječu samo na trenutnu igru) -STR_CONFIG_SETTING_TYPE_COMPANY_MENU :Postavke kompanije (pohranjene u snimljenoj datoteci; utječu samo na nove igre) -STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :Postavke kompanije (pohranjene u snimljenoj datoteci; utječu samo na trenutnu kompaniju) +STR_CONFIG_SETTING_TYPE_COMPANY_MENU :Postavke tvrtke (pohranjene u snimljenoj datoteci; utječu samo na nove igre) +STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :Postavke tvrtke (pohranjene u snimljenoj datoteci; utječu samo na trenutnu tvrtku) STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK}Kategorija: STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}Tip: -STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Sužava doljnju listu prikazom samo izmijenjenih postavki -STR_CONFIG_SETTING_RESTRICT_BASIC :Osnovne postavke -STR_CONFIG_SETTING_RESTRICT_ADVANCED :Napredne postavke -STR_CONFIG_SETTING_RESTRICT_ALL :Postavke za napredne korisnike / sve postavke +STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Sužava doljnju listu koristeći samo predpostavljene filtere +STR_CONFIG_SETTING_RESTRICT_BASIC :Osnovno (prikaži samo važne postavke) +STR_CONFIG_SETTING_RESTRICT_ADVANCED :Napredno (prikaži većinu postavki) +STR_CONFIG_SETTING_RESTRICT_ALL :Stručno (prikaži sve postavke, uključujući i one neobične) STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :Postavke sa drugačijim vrijednostima od osnovnih STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :Postavke sa drugačijim vrijednostima od postavki vaše nove igre @@ -1180,8 +1212,8 @@ STR_CONFIG_SETTING_TYPE_DROPDOWN_ALL :Sve vrste posta STR_CONFIG_SETTING_TYPE_DROPDOWN_CLIENT :Postavke klijenta (nisu spremljene prilikom snimanja; utječu na sve igre) STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :Postavke igre (spremljene prilikom snimanja; utječu samo na nove igre) STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :Postavke igre (spremljene prilikom snimanja; utječu samo na tekuću igru) -STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :Postavke kompanije (spremljene prilikom snimanja; utječu samo na nove igre) -STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :Postavke kompanije (spremljene prilikom snimanja; utječu samo na trenutnu kompaniju) +STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :Postavke tvrtke (spremljene prilikom snimanja; utječu samo na nove igre) +STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :Postavke tvrtke (spremljene prilikom snimanja; utječu samo na trenutnu tvrtku) STR_CONFIG_SETTING_CATEGORY_HIDES :{BLACK}Prikaži sve rezultate pretraga po postavkama{}{SILVER}Kategorija {BLACK}do {WHITE}{STRING} STR_CONFIG_SETTING_TYPE_HIDES :{BLACK}Prikaži sve rezultate pretraga po postavkama{}{SILVER}Tip {BLACK}do {WHITE}Svi tipovi postavki STR_CONFIG_SETTING_CATEGORY_AND_TYPE_HIDES :{BLACK}Prikaži sve rezultate pretrage po postavkama{}{SILVER}Kategorija {BLACK}do {WHITE}{STRING} {BLACK}i {SILVER}Tip {BLACK}do {WHITE}Svi tipovi postavki @@ -1204,7 +1236,7 @@ STR_CONFIG_SETTING_HORIZONTAL_POS_CENTER :Sredina STR_CONFIG_SETTING_HORIZONTAL_POS_RIGHT :Desno STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Najveći početni zajam: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Najveći iznos koji kompanija može pozajmiti (bez uzimanja inflacije u obzir) +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Najveći iznos koji tvrtka može pozajmiti (ne uzimajući inflaciju u obzir) STR_CONFIG_SETTING_INTEREST_RATE :Kamatna stopa: {STRING} STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :Kamatna stopa zajmova; također kontrolira i inflaciju ako je uključena STR_CONFIG_SETTING_RUNNING_COSTS :Troškovi korištenja: {STRING} @@ -1224,12 +1256,13 @@ STR_CONFIG_SETTING_TRAIN_REVERSING_HELPTEXT :Ukoliko je uklj STR_CONFIG_SETTING_DISASTERS :Nesreće: {STRING} STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Uključivanje nesreća koje mogu povremeno blokirati ili uništiti vozila ili infrastrukturu STR_CONFIG_SETTING_CITY_APPROVAL :Stav gradske uprave prema restrukturiranju područja: {STRING} -STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Odaberi koliko buka i ekološka šteta utječu na gradsku ocjenu pojedine kompanije i na daljnja građevinska djelovanja u njihovim područjima +STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Odaberi koliko buka i ekološka šteta utječu na gradsku ocjenu pojedine tvrtke i na daljnja građevinska djelovanja u njihovim područjima -STR_CONFIG_SETTING_BUILDONSLOPES :Dopusti izgradnju na kosinama i obalama: {STRING} -STR_CONFIG_SETTING_BUILDONSLOPES_HELPTEXT :Ukoliko je uključenom, tračnice i stanice se mogu graditi na većini nagiba. Ukoliko je isključeni, dozvoljava se njihova gradnja samo na nagibima koji se podudaraju smjerom tračnica i tada ne trebaju temelje -STR_CONFIG_SETTING_AUTOSLOPE :Dopusti modeliranje zemlje ispod građevina, tračnica, itd (autonagib): {STRING} -STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Dozvoli uređivanje terena ispod građevina i pruga bez njihovog uklanjanja +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :Maksimalna visina mape: {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :Postavi maksimalnu dozvoljenu visinu planina na mapi +STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}Ne možete postavini maksimalnu visinu mape na ovu vijednost. Barem jedna planina na mapi je viša. +STR_CONFIG_SETTING_AUTOSLOPE :Dopusti modeliranje zemlje ispod građevina, tračnica, itd.: {STRING} +STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Dopusti uređivanje terena ispod građevina i pruga bez njihovog uklanjanja STR_CONFIG_SETTING_CATCHMENT :Dopusti realističnije veličine područja zahvaćanja: {STRING} STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Različiti dohvati za različite vrste stanica i zračnih luka STR_CONFIG_SETTING_EXTRADYNAMITE :Dopusti rušenje više cesta, mostova i tunela u vlasništvu grada: {STRING} @@ -1244,24 +1277,20 @@ STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL_HELPTEXT :Odaberi fizikal STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL :Model ubrzavanja za cestovna vozila: {STRING} STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL_HELPTEXT :Odaberi fizikalni model za ubrzanje cestovnih vozila. "Originalni" model penalizira nagibe jednako za sva vozila. "Realistični" model penalizira nagibe ovisno o raznim karakteristikama vozila, npr. vučna sila. STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS :Strmina nagiba za vlakove: {STRING} -STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS_HELPTEXT :Kosina nagiba pločice za vlak. Više vrijednosti čine nagib težim za penjanje +STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS_HELPTEXT :Kosina nagiba polja za vlak. Više vrijednosti čine nagib težim za penjanje STR_CONFIG_SETTING_PERCENTAGE :{COMMA}% STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS :Strmina nagiba za cestovna vozila: {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT :Kosina nagiba pločice za cestovna vozila. Veće vrijednosti čine nagib težim za penjanje +STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT :Kosina nagiba polja za cestovna vozila. Veće vrijednosti čine nagib težim za penjanje STR_CONFIG_SETTING_FORBID_90_DEG :Zabrani vlakovima i brodovima skretanja pod 90 stupnjeva: {STRING} -STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Okreti za 90 stupnjeva se događaju kada vodoravni dio pruge odmah nastavlja okomiti dio pruge na sljedećoj pločici, dakle čineći zaokret vlaka od 90 stupnjeva prelaskom ruba pločice umjesto uobičajenih 45 stupnjeva kod drugih kombinacija pruge. Ovo se primjenjuje i na radijus okretanja brodova +STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Okreti za 90 stupnjeva se događaju kada vodoravni dio pruge odmah nastavlja okomiti dio pruge na sljedećem polju, dakle čineći zaokret vlaka od 90 stupnjeva prelaskom ruba polja umjesto uobičajenih 45 stupnjeva kod drugih kombinacija pruge. Ovo se primjenjuje i na radijus okretanja brodova STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Dopusti spajanje postaja koje nisu izravno jedna do druge {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Dozvoli dodavanje dijelova stanice bez direktog dodira s postojećim dijelovima. Potrebno pritisnuti Ctrl+Klik dok se dodaju novi dijelovi -STR_CONFIG_SETTING_IMPROVEDLOAD :Koristi unaprijeđeni utovarni algoritam: {STRING} -STR_CONFIG_SETTING_IMPROVEDLOAD_HELPTEXT :Ukoliko je uključeno, vozila koja čekaju na stanici se utovaruju jedno po jedno. Utovarivanje sljedećeg vozila započinje tek kada ima dovoljno tereta da se napuni prethodno vozilo. -STR_CONFIG_SETTING_GRADUAL_LOADING :Postupno utovaruj u vozila: {STRING} -STR_CONFIG_SETTING_GRADUAL_LOADING_HELPTEXT :Postupno utovarivanje vozila koristeći specifično trajanje utovara, umjesto utovarivanja odjednom sa stalnim vremenom ovisnom jedino o količini utovarenog tereta STR_CONFIG_SETTING_INFLATION :Inflacija: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :Uključi inflaciju u ekonomiji, gdje troškovi rastu malo brže od plaćanja -STR_CONFIG_SETTING_SELECTGOODS :Dostavi teret na postaju samo ako na njoj postoji potražnja: {STRING} -STR_CONFIG_SETTING_SELECTGOODS_HELPTEXT :Isporuči teret jedino na stanicu gdje je zatražen od strane vozila koje se utovaruje. Ovo sprečava loše ocjene za terete koji nisu servisirani na stanici STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Najveća dužina mostova: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Najveća dužina za izgradnju mostova +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :Maksimalna visina mostova: {STRING} +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :Maksimalna visina za gradnju mostova STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Najveća dužina tunela: {STRING} STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :Najveća dužina za izgradnju tunela STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Ručna metoda izgradnje primarne industrije: {STRING} @@ -1287,8 +1316,6 @@ STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Mjesto gdje će STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :početka STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :sredine STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :kraja -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING :Nizanje cestovnih vozila (s kvantnim učincima): {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING_HELPTEXT :Cestovna vozila moraju čekati ispred zauzetih raskrižja dok se ne rasčiste STR_CONFIG_SETTING_AUTOSCROLL :Pomakni prozor kada je miš na rubu: {STRING} STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Kada je uključeno, prikazna polja će se početi pomicati kada se miš nalazi blizu ruba prozora STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Isključeno @@ -1298,13 +1325,13 @@ STR_CONFIG_SETTING_AUTOSCROLL_EVERY_VIEWPORT :Svako prikazno STR_CONFIG_SETTING_BRIBE :Dopusti potkupljivanje lokalne samouprave: {STRING} STR_CONFIG_SETTING_BRIBE_HELPTEXT :Omogućiti tvrtkama pokušavanje podmićivanja lokalne gradske vlasti. Ako mito je primjećeno od strane inspektora, tvrtka neće biti u mogućnosti djelovati u gradu na šest mjeseci STR_CONFIG_SETTING_ALLOW_EXCLUSIVE :Dopusti kupovinu ekskluzivnih prijevoznih prava: {STRING} -STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT :Ako kompanije kupi eksluzivna prava transporta za neki grad, protivničke stanice (putničke i teretne) neće dobivati ništa tereta tijekom cijele godine -STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS :Dozvoli financiranje zgrada: {STRING} -STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS_HELPTEXT :Dozvoli kompanijama davanje novca gradovima za financiranje novih kuća -STR_CONFIG_SETTING_ALLOW_FUND_ROAD :Dozvoli financiranje rekonstrukcije lokalnih cesta: {STRING} -STR_CONFIG_SETTING_ALLOW_FUND_ROAD_HELPTEXT :Dozvoli kompanijama davanje novca gradovima za cestovnu rekonstrukciju radi sabotiranja cestovnog prijevoza u gradu +STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT :Ako tvrtka kupi eksluzivna prava prijevoza za neki grad, protivničke postaje (putničke i teretne) neće dobivati ništa tereta tijekom cijele godine +STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS :Dopusti financiranje zgrada: {STRING} +STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS_HELPTEXT :Dopusti tvrtkama davanje novca gradovima za financiranje novih kuća +STR_CONFIG_SETTING_ALLOW_FUND_ROAD :Dopusti financiranje rekonstrukcije lokalnih cesta: {STRING} +STR_CONFIG_SETTING_ALLOW_FUND_ROAD_HELPTEXT :Dopusti tvrtkama davanje novca gradovima za cestovnu rekonstrukciju radi sabotiranja cestovnog prijevoza u gradu STR_CONFIG_SETTING_ALLOW_GIVE_MONEY :Dopusti slanje novca drugim tvrtkama: {STRING} -STR_CONFIG_SETTING_ALLOW_GIVE_MONEY_HELPTEXT :Dozvoli transfere novca između kompanija u načinu igre za više igrača +STR_CONFIG_SETTING_ALLOW_GIVE_MONEY_HELPTEXT :Dopusti prijenose novca između tvrtki u načinu igre za više igrača STR_CONFIG_SETTING_FREIGHT_TRAINS :Težinski množitelj za teret za simulaciju teških vlakova: {STRING} STR_CONFIG_SETTING_FREIGHT_TRAINS_HELPTEXT :Odredi utjecaj prijevoza tereta u vlakovima. Veća vrijednost čini prijevoz tereta zahtjevnijim za vlakove, pogotovo na brdima STR_CONFIG_SETTING_PLANE_SPEED :Faktor brzine zrakoplova: {STRING} @@ -1316,19 +1343,15 @@ STR_CONFIG_SETTING_PLANE_CRASHES_NONE :Ništa STR_CONFIG_SETTING_PLANE_CRASHES_REDUCED :Smanjeno STR_CONFIG_SETTING_PLANE_CRASHES_NORMAL :Normalno STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Dopusti prolazne postaje na cestama u vlasništvu gradova: {STRING} -STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Dozvoli izgradnju prolaznih stanica za cestama u vlasništvu grada +STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Dopusti izgradnju prolaznih postaja na cestama u vlasništvu grada STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Dopusti prolazne postaje na cestama koje su u vlasništvu konkurencije: {STRING} -STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Dozvoli izgradnju prolaznih stanica na cestama u vlasništvu drugih kompanija -STR_CONFIG_SETTING_ADJACENT_STATIONS :Dopusti izgradnju pridruženih postaja: {STRING} -STR_CONFIG_SETTING_ADJACENT_STATIONS_HELPTEXT :Dozvoli dodirivanje različitih stanica -STR_CONFIG_SETTING_DYNAMIC_ENGINES :Omogući više setova NewGRF strojeva: {STRING} -STR_CONFIG_SETTING_DYNAMIC_ENGINES_HELPTEXT :Opcija za kompatibilnost starih NewGRF-ova. Ne isključujte osim ako točno znate što radite! +STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Dopusti izgradnju prolaznih postaja na cestama u vlasništvu drugih tvrtki STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Mijenjanje ovih postavki nije moguće kada postoje vozila STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Održavanje infrastrukture: {STRING} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Kada je omogućeno, infrastruktura uzrokuje troškove održavanja. Cijena raste više nego proporcionalno s veličinom mreže, čime utječe veće tvrtke više od manjih STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Zračne luke nikad ne ističu: {STRING} -STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Uključivanjem ove postavke čini svaku vrstu aerodroma dostupnom zauvijek nakon uvođenja +STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Uključivanjem ove postavke čini svaku vrstu zračne luke dostupnom zauvijek nakon uvođenja STR_CONFIG_SETTING_WARN_LOST_VEHICLE :Upozori ako je vozilo izgubljeno: {STRING} STR_CONFIG_SETTING_WARN_LOST_VEHICLE_HELPTEXT :Uključi poruke o vozilima koje ne mogu naći put do svog odredišta @@ -1353,42 +1376,56 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :Trajanje poruke STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Trajanje prikaza poruke s greškom u crvenom prozoru. Uzmite u obzir da se neke (kritične) poruke s greškom ne zatvaraju automatski nakon isteka ovog vremena, nego ih je potrebno zatvoriti ručno STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{COMMA} sekundi STR_CONFIG_SETTING_HOVER_DELAY :Prikaži pojašnjenja alata: {STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Odgoda prije prikaza objašnjenja alata kada se miš postavi iznad nekog elementa sučelja. Alternativno, objašnjena alata se mogu vezati uz desnu tipku na mišu -STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Lebdi na {COMMA} sekundi +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Odgoda prije prikaza objašnjenja alata kada se miš postavi iznad nekog elementa sučelja. Alternativno, objašnjena alata se mogu vezati uz desnu tipku na mišu kada je ova vrijednost postavljena na 0. +STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Lebdi na {COMMA} milisekund{P 0 u i i} STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Desni klik STR_CONFIG_SETTING_POPULATION_IN_LABEL :Pokaži broj stanovnika u oznaci imena grada: {STRING} STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Prikaži populaciju gradova u njihovim oznakama na mapi STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Debljina linija u grafikonima: {STRING} STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Debljina linije u grafikonima. Tanja linija je preciznija za čitanje, deblja linija je lakša za vidjeti i boje su lakše za razabrati +STR_CONFIG_SETTING_LANDSCAPE :Teren: {STRING} +STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Tereni definiraju osnovne scenarije za igru sa različitim teretima i preduvjetima za rast gradova. NewGRF-ovi i Skripte Igre dozvoljavaju detaljnije kontrole i postavke. STR_CONFIG_SETTING_LAND_GENERATOR :Generator zemlje: {STRING} +STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :Originalni generator ovisi o baznom grafičkom setu i stvara fiksne oblike u terenu. TerraGenesis je generator baziran na Perlinu sa detaljnijim kontrolama i postavkama. STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Izvorni STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis -STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Najveća udaljenost Rafinerija Nafte od rubova: {STRING} +STR_CONFIG_SETTING_TERRAIN_TYPE :Vrsta terena: {STRING} +STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(Samo TerraGenesis) Brdovitost terena +STR_CONFIG_SETTING_INDUSTRY_DENSITY :Gustoća industrija: {STRING} +STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Odredite koliko će industrija biti stvoreno i kolika će količina biti održavana tijekom igre. +STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Najveća udaljenost rafinerija nafte od rubova mape: {STRING} STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Rafinerije nafte se grade samo uz rubove mape odnosno na obali za otočne mape STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Visina linije snijega: {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Grubost terena (samo TerraGenesis) : {STRING} +STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Upravljajte na kojoj visini počinje snijeg u subarktičkoj klimi. Snijeg također utječe na stvaranje industrija i preduvjeta za rast gradova. +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Grubost terena: {STRING} +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(Samo TerraGenesis) Odaberite učestalost brda: Blaži tereni imaju rjeđa ali raširenija brda. Teži tereni imaju više brda koja bi mogla izgledati kao da se ponavljaju. STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Vrlo glatko STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Glatko STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Grubo STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Vrlo grubo +STR_CONFIG_SETTING_VARIETY :Raspodjela raznolikosti: {STRING} +STR_CONFIG_SETTING_VARIETY_HELPTEXT :(Samo TerraGenesis) Upravljajte da li će mapa sadržati i planinska i ravna područja. Pošto ovo samo radi mapu ravnijom, druge postavke bi trebali biti podešene na planinske. +STR_CONFIG_SETTING_RIVER_AMOUNT :Količina rijeka: {STRING} +STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Odaberite koliko rijeka želite stvoriti STR_CONFIG_SETTING_TREE_PLACER :Algoritam za sađenje drveća: {STRING} +STR_CONFIG_SETTING_TREE_PLACER_HELPTEXT :Odaberite raspored drveća na mapi: 'Original' sadi drveće ravnomjerno raspoređeno, 'Napredno' ih sadi u skupinama. STR_CONFIG_SETTING_TREE_PLACER_NONE :Nijedan STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :Izvorni STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :Unaprijeđen +STR_CONFIG_SETTING_ROAD_SIDE :Cestovna vozila: {STRING} +STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :Odaberite stranu vožnje STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Rotacija visinske karte: {STRING} STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Obrnuto od smjera kazaljke na satu STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :U smjeru kazaljke na satu STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :Visinski nivo koji ravna mapa u scenariju dobiva: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :Omogući teraformiranje polja na rubovima karte: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES_HELPTEXT :Ako je isključeno, rubovi mape će uvijek biti ocean -STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}Jedna ili više pločica na sjevernom rubu nisu prazne -STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}Jedna ili više pločica na jednom od rubova nije voda +STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}Jedno ili više polja na sjevernom rubu nisu prazne +STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}Jedno ili više polja na jednom od rubova nije voda -STR_CONFIG_SETTING_STATION_SPREAD :Najveći raspon stanice: {STRING} +STR_CONFIG_SETTING_STATION_SPREAD :Najveći raspon postaje: {STRING} STR_CONFIG_SETTING_STATION_SPREAD_HELPTEXT :Najveća površina na kojoj mogu biti dijelovi jedne stanice. Uzmite u obzir da visoke vrijednosti mogu usporiti igru STR_CONFIG_SETTING_SERVICEATHELIPAD :Automatski servisiraj helikoptere na heliodromima: {STRING} -STR_CONFIG_SETTING_SERVICEATHELIPAD_HELPTEXT :Servisiraj helikoptere nakon svakog slijetanja, čak i ako nema depoa na aerodromu +STR_CONFIG_SETTING_SERVICEATHELIPAD_HELPTEXT :Servisiraj helikoptere nakon svakog slijetanja, čak i ako nema spremišta u zračnoj luci STR_CONFIG_SETTING_LINK_TERRAFORM_TOOLBAR :Poveži alatnu traku za krajolik s alatnim trakama za željeznicu/ceste/vodu/zračne luke: {STRING} STR_CONFIG_SETTING_LINK_TERRAFORM_TOOLBAR_HELPTEXT :Kada se otvara alatna traka za građenje neke vrste transporta, istodobno se otvara i alatna traka za uređivanje terena STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR :Boja polja korištena na maloj karti: {STRING} @@ -1401,14 +1438,14 @@ STR_CONFIG_SETTING_REVERSE_SCROLLING_HELPTEXT :Ponašanje kod STR_CONFIG_SETTING_SMOOTH_SCROLLING :Glatko klizanje kroz mini pogled: {STRING} STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Kontroliraj kako se glavni prikaz pomiče na neku lokaciju kada se klikne na malu mapu ili kada se izda naredba za pomicanje na određeni objekt na mapi. Ako je uključeno, prikaz se pomiče glatko, ako je isključeno, prikaz odmah preskoči na ciljnu lokaciju STR_CONFIG_SETTING_MEASURE_TOOLTIP :Pokaži mjerni naputak prilikom korištenja raznih alata za izgradnju: {STRING} -STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT :Prikaži udaljenosu u pločicama i visinsku razliku kod povlačenja prilikom operacija gradnje -STR_CONFIG_SETTING_LIVERIES :Pokaži tvrtkine boje: {STRING} -STR_CONFIG_SETTING_LIVERIES_HELPTEXT :Kontroliraj korištenje shema boja tipa vozila za određena vozila (u suprotnosti sa shemama boja kompanija) +STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT :Prikaži udaljenost u poljima i visinsku razliku kod povlačenja prilikom gradnje +STR_CONFIG_SETTING_LIVERIES :Pokaži specifične livreje prema tipu vozila: {STRING} +STR_CONFIG_SETTING_LIVERIES_HELPTEXT :Kontroliraj korištenje shema boja tipa vozila za određena vozila (u suprotnosti sa shemama boja tvrtke) STR_CONFIG_SETTING_LIVERIES_NONE :Nijedna STR_CONFIG_SETTING_LIVERIES_OWN :Vlastita tvrtka STR_CONFIG_SETTING_LIVERIES_ALL :Sve tvrtke STR_CONFIG_SETTING_PREFER_TEAMCHAT :Preferiraj ekipni razgovor s :{STRING} -STR_CONFIG_SETTING_PREFER_TEAMCHAT_HELPTEXT :Prebacivanje vezivanja kompanijskog internog i javnog razgovota na odnosno +STR_CONFIG_SETTING_PREFER_TEAMCHAT_HELPTEXT :Prebacivanje vezivanja tvrtkinog internog i javnog razgovora na odnosno STR_CONFIG_SETTING_SCROLLWHEEL_SCROLLING :Funkcija kotačića za klizanje: {STRING} STR_CONFIG_SETTING_SCROLLWHEEL_SCROLLING_HELPTEXT :Uključi pomicanje sa dvodimenzionalnim kotačićima miša STR_CONFIG_SETTING_SCROLLWHEEL_ZOOM :Zumiraj kartu @@ -1432,26 +1469,24 @@ 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 mape povlačenjem sa lijevom tipkom miša. Ovo je posebno korisno kada se koristi ekran na dodir za pomicanje +STR_CONFIG_SETTING_AUTOSAVE :Automatsko snimanje: {STRING} +STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Odaberite interval između automatskog snimanja igre + STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Koristi {STRING} format datuma za ime snimljene pozicije STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Format datuma u imenima datoteka sa snimljenom igrom STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :dugo (31st Dec 2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :kratko (31-12-2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE :Osnovna paleta će biti postavljena za NewGRFove koji ne odrede paletu: {STRING} -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_HELPTEXT :Osnovna paleta koju će koristiti NewGRF-ovi koji nemaju specificirano koju paletu trebaju -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_DOS :Osnovna (D) paleta boja -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_WIN :Legacy (W) paleta boja - STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Automatski pauziraj prilikom pokretanja nove igre: {STRING} -STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :Kada je uključeno, igra će se automatski pauzirati priliko pokretanja nove igre, dozvoljavajući bolje proučavanje mape -STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Kod pauze dozvoli: {STRING} +STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :Kada je uključeno, igra će se automatski pauzirati prilikom pokretanja nove igre, dopuštajući bolje proučavanje karte +STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Kod pauze dopusti: {STRING} STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_HELPTEXT :Odaberi koje se akcije mogu koristiti dok je igra pauzirana STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :Nijedna akcija STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :Sve ne-konstrukcijske akcije STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :Sve osim akcija za izmjenu krajolika STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_ACTIONS :Sve akcije -STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Koristi napredni popis vozila: {STRING} +STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Koristi grupe u listi vozila: {STRING} STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Uključi korištenje naprednih lista vozila za grupiranje vozila STR_CONFIG_SETTING_LOADING_INDICATORS :Koristi pokazatelje utovara: {STRING} STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Odaberi da li će prikazivači utovara biti prikazani iznad vozila koja se utovaruju ili iznad vozila koja se istovaruju @@ -1470,15 +1505,15 @@ STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :Pokaži rezervi STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION_HELPTEXT :Prikaži rezervirane pruge u drugoj boji kako bi se olakšalo rješavanje problema sa vlakovima koji ne žele ući u određenu dionicu puta STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Zadrži alate za izradu aktivnima nakon upotrebe: {STRING} STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Zadrži otvorenim alate za mostove, tunele itd. i nakon upotrebe -STR_CONFIG_SETTING_EXPENSES_LAYOUT :Grupiraj troškove u financijskom prozoru tvrtke: {STRING} -STR_CONFIG_SETTING_EXPENSES_LAYOUT_HELPTEXT :Odredi izgled prozora troškova kompanije +STR_CONFIG_SETTING_EXPENSES_LAYOUT :Grupiraj rashode u financijskom prozoru tvrtke: {STRING} +STR_CONFIG_SETTING_EXPENSES_LAYOUT_HELPTEXT :Odredi izgled prozora rashoda tvrtke STR_CONFIG_SETTING_SOUND_TICKER :Skraćene novosti: {STRING} STR_CONFIG_SETTING_SOUND_TICKER_HELPTEXT :Sviraj zvuk kod skraćenih poruka novosti STR_CONFIG_SETTING_SOUND_NEWS :Novine: {STRING} STR_CONFIG_SETTING_SOUND_NEWS_HELPTEXT :Sviraj zvuk kod prikaza novina STR_CONFIG_SETTING_SOUND_NEW_YEAR :Kraj godine: {STRING} -STR_CONFIG_SETTING_SOUND_NEW_YEAR_HELPTEXT :Sviraj zvučne efekte na kraju godine sumirajući uspjeh kompanije tijekom godine uspoređujući ga sa prethodnom godinom +STR_CONFIG_SETTING_SOUND_NEW_YEAR_HELPTEXT :Sviraj zvučne efekte na kraju godine sumirajući uspjeh tvrtke tijekom godine uspoređujući ga s prethodnom godinom STR_CONFIG_SETTING_SOUND_CONFIRM :Gradnja: {STRING} STR_CONFIG_SETTING_SOUND_CONFIRM_HELPTEXT :Sviraj zvučne efekte kod uspješne gradnje ili drugih akcija STR_CONFIG_SETTING_SOUND_CLICK :Klik na dugmadi: {STRING} @@ -1492,14 +1527,14 @@ STR_CONFIG_SETTING_SOUND_AMBIENT_HELPTEXT :Sviraj zvučne STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING :Isključi gradnju infrastrukture kada odgovarajuća vozila nisu dostupna: {STRING} STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING_HELPTEXT :Kada je uključeno, infrastruktura je dostupna samo ako su dostupna i vozila za nju, sprečavajući trošenje vremena i novca na neupotrebljivu infrastrukturu -STR_CONFIG_SETTING_MAX_TRAINS :Maksimalan broj vlakova po kompaniji: {STRING} -STR_CONFIG_SETTING_MAX_TRAINS_HELPTEXT :Najveći broj vlakova koje može imati kompanija -STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :Maksimalan broj cestovnih vozila po kompaniji: {STRING} -STR_CONFIG_SETTING_MAX_ROAD_VEHICLES_HELPTEXT :Najveći broj cestovnih vozila koje može imati kompanija -STR_CONFIG_SETTING_MAX_AIRCRAFT :Maksimalan broj zrakoplova po kompaniji: {STRING} -STR_CONFIG_SETTING_MAX_AIRCRAFT_HELPTEXT :Najveći broj zrakoplova koje može imati kompanija -STR_CONFIG_SETTING_MAX_SHIPS :Maksimalan broj brodova po kompaniji: {STRING} -STR_CONFIG_SETTING_MAX_SHIPS_HELPTEXT :Najveći broj brodova koje može imati kompanija +STR_CONFIG_SETTING_MAX_TRAINS :Maksimalni broj vlakova po tvrtki: {STRING} +STR_CONFIG_SETTING_MAX_TRAINS_HELPTEXT :Najveći broj vlakova koje tvrtka može imati +STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :Maksimalni broj cestovnih vozila po tvrtki: {STRING} +STR_CONFIG_SETTING_MAX_ROAD_VEHICLES_HELPTEXT :Najveći broj cestovnih vozila koje tvrtka može imati +STR_CONFIG_SETTING_MAX_AIRCRAFT :Maksimalni broj zrakoplova po tvrtki: {STRING} +STR_CONFIG_SETTING_MAX_AIRCRAFT_HELPTEXT :Najveći broj zrakoplova koje tvrtka može imati +STR_CONFIG_SETTING_MAX_SHIPS :Maksimalni broj brodova po tvrtki: {STRING} +STR_CONFIG_SETTING_MAX_SHIPS_HELPTEXT :Najveći broj brodova koje tvrtka može imati STR_CONFIG_SETTING_AI_BUILDS_TRAINS :Isključi vlakove za računalo: {STRING} STR_CONFIG_SETTING_AI_BUILDS_TRAINS_HELPTEXT :Uključivanjem ove postavke, računalo-igrač neće moći koristiti vlakove @@ -1517,7 +1552,7 @@ STR_CONFIG_SETTING_AI_PROFILE_MEDIUM :Srednje STR_CONFIG_SETTING_AI_PROFILE_HARD :Teško STR_CONFIG_SETTING_AI_IN_MULTIPLAYER :Dopusti UI u mrežnoj igri: {STRING} -STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Dozvoli UI računalnim-igračima da sudjeluju u igrama za više igrača +STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Dopusti UI računalnim-igračima da sudjeluju u igrama za više igrača STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :#op-kodova prije suspendiranja skripti: {STRING} STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Najveći broj računalnih koraka koje skripta može poduzeti u jednom krugu @@ -1525,7 +1560,7 @@ STR_CONFIG_SETTING_SERVINT_ISPERCENT :Servisni su int STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Odaberi da li će se servisiranje vozila pokrenuti nakon isteka vremena od zadnjeg servisa ili padom pouzdanosti za određenu vrijednost od najveće pouzdanosti STR_CONFIG_SETTING_SERVINT_TRAINS :Zadani interval servisiranja za vlakove: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Postavi osnovni interval servisa za nova pružna vozila, ako nije postavljen drugi specifični interval za određeno vozilo -STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA} dana/% +STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}dan{P 0 "" a a}/% STR_CONFIG_SETTING_SERVINT_DISABLED :Isključeno STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES :Zadani interval servisiranja za cestovna vozila: {STRING} STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES_HELPTEXT :Postavi osnovni interval servisa za nova cestovna vozila, ako nije postavljen drugi specifični interval za određeno vozilo @@ -1547,7 +1582,7 @@ STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OTHER_HELPTEXT :Prikaži novine STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS :Nesreće / katastrofe: {STRING} STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS_HELPTEXT :Prikaži novine kod nesreća ili katastrofa STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION :Podaci vezani za tvrtku: {STRING} -STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION_HELPTEXT :Prikai novine kada se pojavi nova kompanije ili kada kompanije riskiraju bankrot +STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION_HELPTEXT :Prikaži novine kada se pojavi nova tvrtka ili kada tvrtke riskiraju bankrot STR_CONFIG_SETTING_NEWS_INDUSTRY_OPEN :Otvaranje industrije: {STRING} STR_CONFIG_SETTING_NEWS_INDUSTRY_OPEN_HELPTEXT :Prikaži novine kada se nove industrije otvaraju STR_CONFIG_SETTING_NEWS_INDUSTRY_CLOSE :Zatvaranje industrije: {STRING} @@ -1555,11 +1590,11 @@ STR_CONFIG_SETTING_NEWS_INDUSTRY_CLOSE_HELPTEXT :Prikaži novine STR_CONFIG_SETTING_NEWS_ECONOMY_CHANGES :Promjene u gospodarstvu: {STRING} STR_CONFIG_SETTING_NEWS_ECONOMY_CHANGES_HELPTEXT :Prikaži novine vezano za globalne promjene u ekonomiji STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_COMPANY :Promjene u proizvodnji industrija koje opslužuje tvrtka: {STRING} -STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_COMPANY_HELPTEXT :Prikaži novine kod promjene proizvodnih nivoa industrija koje servisira kompanija +STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_COMPANY_HELPTEXT :Prikaži novine kod promjene proizvodnih razina industrija koje tvrtka opslužuje STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_OTHER :Promjene u proizvodnji industrija koje opslužuju suparnici: {STRING} STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_OTHER_HELPTEXT :Prikaži novine kod promjene proizvodnih nivoa industrija koje servisiraju suparnici STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_UNSERVED :Ostale izmjene u proizvodnji industrija: {STRING} -STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_UNSERVED_HELPTEXT :Prikaži novine kod promjene proizvodnih nivoa industrija koje ne servisira kompanija ili suparnici +STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_UNSERVED_HELPTEXT :Prikaži novine kod promjene proizvodnih razina industrija koje tvrtka ili suparnici ne opslužuju STR_CONFIG_SETTING_NEWS_ADVICE :Savjeti / informacije o vozilima tvrtke: {STRING} STR_CONFIG_SETTING_NEWS_ADVICE_HELPTEXT :Prikaži poruke o vozilima koje trebaju pozornost STR_CONFIG_SETTING_NEWS_NEW_VEHICLES :Nova vozila: {STRING} @@ -1581,18 +1616,18 @@ STR_CONFIG_SETTING_STARTING_YEAR :Početna godina STR_CONFIG_SETTING_SMOOTH_ECONOMY :Uključi tečnu ekonomiju (više manjih izazova): {STRING} STR_CONFIG_SETTING_SMOOTH_ECONOMY_HELPTEXT :Kada je uključeno, promjene u industrijskoj proizvodnji su češće ali u manjim rasponima. Ova postavka obično nema efekta ukoliko su industrije postavljene iz nekog NewGRF-a STR_CONFIG_SETTING_ALLOW_SHARES :Dopusti kupovanje udjela u drugim tvrtkama: {STRING} -STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT :Kada je uključeno, dozvoljava se kupnja i prodaja dionica kompanija. Dionice će postati dostupne samo za kompanije određene starosti +STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT :Kada je uključeno, dopušta se kupnja i prodaja dionica tvrtki. Dionice će postati dostupne samo za tvrtke određene starosti STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE :Postotak profita za dionicu koji se plaća kod sistema feeder-a: {STRING} STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :Postotak prihoda koji će biti predan srednjim dionicama prijevoza feeder sustavima, daje više kontrole nad prihodima STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY :Kod povlačenja, postavi signale svakih: {STRING} STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_HELPTEXT :Postavi razmak između signala koji će se graditi do sljedeće prepreke (signal, raskrižje), ukoliko se signali povlače STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_VALUE :{COMMA} polje STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE :Prilikom povlačenja, zadrži odabrani razmak između signala: {STRING} -STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT :Odabire ponašanje kod postavljanja signala putem Ctrl+povlačenja. Ukoliko je isključeno, signali se postavljaju oko tunela i mostova kako bi se izbjegla veća područja bez signala. Ukoliko je uključeno, signali se postavljaju svakih N pločica, olakšavajući poravnanje signala kod paralelnih pruga +STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT :Odabire ponašanje kod postavljanja signala putem Ctrl+povlačenja. Ukoliko je isključeno, signali se postavljaju oko tunela i mostova kako bi se izbjegla veća područja bez signala. Ukoliko je uključeno, signali se postavljaju svakih N polja, olakšavajući poravnanje signala kod paralelnih pruga STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE :Automatski izgradi semafore prije: {STRING} STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT :Postavi godinu kada će se koristiti električni signali za pruge. Prije ove godine, koristiti će se ne-električni signali (imaju iste funkcije samo izgledaju drugačije) STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI :Omogući signalni GUI: {STRING} -STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI_HELPTEXT :Prikaži prozor za odabir tipova signala za gradnju, umjesto samo prikaza tipa signala bez prozora sa Ctrl+klikanjem kod gradnje +STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI_HELPTEXT :Prikaži prozor za odabir tipova signala za gradnju, umjesto samo rotacije tipa signala bez prozora sa Ctrl+klik na sagrađenim signalima STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE :Predodređeni signal za izgradnju: {STRING} STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE_HELPTEXT :Osnovni tip signala za korištenje STR_CONFIG_SETTING_DEFAULT_SIGNAL_NORMAL :Blokirajući signali @@ -1616,7 +1651,7 @@ STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT :Dozvoli gradovi STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :Gradovi smiju graditi pružne prijelaze: {STRING} STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Uključivanje ove postavke dozvoljava se gradovima da grade cestovno-pružne prijelaze STR_CONFIG_SETTING_NOISE_LEVEL :Omogući određivanje razine buke za zračne luke od strane gradova: {STRING} -STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Kada je ova postavka isključena, mogu postojati dve zračne luke u svakom gradu. Kada je ova postavka uključena, broj zračnih luka u nekom gradu je limitirana količinom dozvoljene buke u gradu, koja ovisi o populaciji i udaljenosti i veličini zračnih luka +STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Kada je ova postavka isključena, mogu postojati dvije zračne luke u svakom gradu. Kada je ova postavka uključena, broj zračnih luka u nekom gradu je ograničen količinom dopuštene buke u gradu, koja ovisi o broju stanovnika i udaljenosti i veličini zračne luke STR_CONFIG_SETTING_TOWN_FOUNDING :Osnivanje gradova tijekom igre: {STRING} STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Uklučivanje ove postavke dozvoljava igračima osnivanje novih gradova tijekom igre STR_CONFIG_SETTING_TOWN_FOUNDING_FORBIDDEN :Zabranjeno @@ -1664,12 +1699,10 @@ STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 od {COMMA} STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Nijedan STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Početni množitelj veličine grada: {STRING} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Prosječna veličina gradova u donosu na naselja kod početka igre -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :Ukloni besmislene cestovne elemente tijekom izgradnje prometnica: {STRING} -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD_HELPTEXT :Uklanjanje slijepih ulica kod financirane rekonstrukcije cesta -STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Ažuriraj povezni grafikon svakih {STRING} dan{P 0:2 a a a} +STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Ažuriraj povezni grafikon svakih {STRING}{NBSP}dan{P 0:2 a a a} STR_CONFIG_SETTING_LINKGRAPH_INTERVAL_HELPTEXT :Vrijeme između slijedećih rekalkulacija poveznog grafikona. Svaka rekalkulacija izračunava planove za jednu komponentu grafikona. To znači da vrijednost X za ovu postavku ne mora značiti i ažuriranje kompletnog grafikona unutar X dana. Samo neke komponente će biti ažurirane. Čim kraće vrijeme odredite, više će biti potrebno resursa CPU-a za izračun. Čim duže vrijeme odredite, trebati će više vremena za pokretanje distribucije po novim rutama. -STR_CONFIG_SETTING_LINKGRAPH_TIME :Uzmi {STRING} dan{P 0:2 a a a} za rekalkulaciju poveznog grafikona +STR_CONFIG_SETTING_LINKGRAPH_TIME :Uzmi {STRING}{NBSP}dan{P 0:2 a a a} za rekalkulaciju poveznog grafikona STR_CONFIG_SETTING_LINKGRAPH_TIME_HELPTEXT :Vrijeme potrebno za rekalkulaciju komponente poveznog grafikona. Kada se rekalkulacija pokrene, stvara se slijed koji može raditi broj dana koliko ovdje odredite. Čim kraće vrijeme odredite, postoji mogućnost da slijed neće biti gotov kada bi trebao. Tada se igra usporava odnosno zaustavlja dok ne bude gotovo. Čim duže vrijeme odredite, potrebno je duže da se distribucija ažurira kad se izmijene rute. STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :ručno STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :asimetrično @@ -1679,7 +1712,7 @@ STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"Simetrično" z STR_CONFIG_SETTING_DISTRIBUTION_MAIL :Način distribucije poštu: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"Simetrično" znači da će se otprilike ista količina pošte slati od stanice A prema stanici B ako od B prema A. "Asimetrično" znači da će se proizvoljne količine pošte slati u oba smjera. "Ručno" znači da se distribucija neće vršiti automatski. STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Način distribucije za OKLOPLJENU klasu tereta: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :OKLOPLJENA klasa tereta sadrži vrijednosnice u umjerenoj klimi, dijamante u subtropskoj klimi ili zlato u subarktičkoj klimi. NewGFR-ovi bi mogli ovo izmijeniti. "Simetrično" znači da će se otprilike ista količina tereta slati od stanice A prema stanici B ako od B prema A. "Asimetrično" znači da će se proizvoljne količine tereta slati u oba smjera. "Ručno" znači da se distribucija tih tereta neće vršiti automatski. Preporučljivo je namjestiti ovu postavku na "asimetrično" ili "ručno" kod subarktičke klime jer banke neće slati zlato natrag prema rudnicima zlata. Za umjerenu i subtropsku klimu možete namjestiti i "simetrično" jer će banke slati neke vrijednosnice natrag prema izvorišnoj banci. +STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :OKLOPLJENA klasa tereta sadrži vrijednosnice u umjerenoj klimi, dijamante u subtropskoj klimi ili zlato u subarktičkoj klimi. NewGFR-ovi bi mogli ovo izmijeniti. "Simetrično" znači da će se otprilike ista količina tereta slati od stanice A prema stanici B kao od B prema A. "Asimetrično" znači da će se proizvoljne količine tereta slati u oba smjera. "Ručno" znači da se distribucija tih tereta neće vršiti automatski. Preporučljivo je namjestiti ovu postavku na "asimetrično" ili "ručno" kod subarktičke klime jer banke neće slati zlato natrag prema rudnicima zlata. Za umjerenu i subtropsku klimu možete namjestiti i "simetrično" jer će banke slati neke vrijednosnice natrag prema izvorišnoj banci. STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Način distribucije za ostale klase tereta: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"Asimetrično" znači da će se proizvoljna količina tereta slati u bilo kojem smjeru. "Ručno" znači da neće biti nikakve automatske distribucije za te terete. STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Točnost distribucije: {STRING} @@ -1704,13 +1737,13 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_METRIC :Metrički (hp) STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_SI :SI (kW) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT :Jedinice mase: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_HELPTEXT :Uvijek kada su mase prikazane u korisničkom sučelju, prikaži ih u odabranim jedinicama +STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_HELPTEXT :Uvijek kada je masa prikazana u korisničkom sučelju, prikaži je u odabranim jedinicama STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_IMPERIAL :Imperijalni (short t/ton) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_METRIC :Metrički (t/tonne) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_SI :SI (kg) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME :Jedinice volumena: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_HELPTEXT :Uvijek kada su volumeni prikazani u korisničkom sučelju, prikaži ih u odabranim jedinicama +STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_HELPTEXT :Uvijek kada je volumen prikazan u korisničkom sučelju, prikaži ga u odabranim jedinicama STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_IMPERIAL :Imperijalni (gal) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_METRIC :Metrički (l) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_SI :SI (m³) @@ -1722,32 +1755,34 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_METRIC :Metrički (kgf) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_SI :SI (kN) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT :Jedinice visine: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT :Uvijek kada su visine prikazane u korisničkom sučelju, prikaži ih u odabranim jedinicama +STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT :Uvijek kada je visina prikazana u korisničkom sučelju, prikaži je u odabranim jedinicama STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :Imperijalni (ft) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :Metrički (m) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :SI (m) -STR_CONFIG_SETTING_GUI :{ORANGE}Sučelje STR_CONFIG_SETTING_LOCALISATION :{ORANGE}Lokalizacija -STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}Izgradnja -STR_CONFIG_SETTING_VEHICLES :{ORANGE}Vozila -STR_CONFIG_SETTING_STATIONS :{ORANGE}Postaje -STR_CONFIG_SETTING_ECONOMY :{ORANGE}Ekonomija -STR_CONFIG_SETTING_LINKGRAPH :{ORANGE}Distribucija tereta -STR_CONFIG_SETTING_AI :{ORANGE}Suparnici -STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}Postavke prikaza -STR_CONFIG_SETTING_INTERACTION :{ORANGE}Interakcija +STR_CONFIG_SETTING_GRAPHICS :{ORANGE}Grafika STR_CONFIG_SETTING_SOUND :{ORANGE}Zvučni efekti -STR_CONFIG_SETTING_NEWS :{ORANGE}Novosti i poruke -STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}Signali -STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE}Tretiranje tereta -STR_CONFIG_SETTING_AI_NPC :{ORANGE}Računalni igrači -STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE}Auto-obnavljanje -STR_CONFIG_SETTING_VEHICLES_SERVICING :{ORANGE}Servisiranje +STR_CONFIG_SETTING_INTERFACE :{ORANGE}Sučelje +STR_CONFIG_SETTING_INTERFACE_GENERAL :{ORANGE}Opće +STR_CONFIG_SETTING_INTERFACE_VIEWPORTS :{ORANGE}Pogledi +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Izgradnja +STR_CONFIG_SETTING_ADVISORS :{ORANGE}Novosti / savjetnici +STR_CONFIG_SETTING_COMPANY :{ORANGE}Tvrtka +STR_CONFIG_SETTING_ACCOUNTING :{ORANGE}Računovodstvo +STR_CONFIG_SETTING_VEHICLES :{ORANGE}Vozila +STR_CONFIG_SETTING_VEHICLES_PHYSICS :{ORANGE}Fizika STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Rutanje -STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}Vlakovi -STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}Gradovi -STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}Industrije +STR_CONFIG_SETTING_LIMITATIONS :{ORANGE}Ograničenja +STR_CONFIG_SETTING_ACCIDENTS :{ORANGE}Katastrofe / nesreće +STR_CONFIG_SETTING_GENWORLD :{ORANGE}Generacija svijeta +STR_CONFIG_SETTING_ENVIRONMENT :{ORANGE}Okoliš +STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :{ORANGE}Vlasti +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Gradovi +STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}Industrije +STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :{ORANGE}Distribucija tereta +STR_CONFIG_SETTING_AI :{ORANGE}Suparnici +STR_CONFIG_SETTING_AI_NPC :{ORANGE}Računalni igrači STR_CONFIG_SETTING_PATHFINDER_OPF :Original STR_CONFIG_SETTING_PATHFINDER_NPF :NPF @@ -1796,7 +1831,7 @@ STR_INTRO_MULTIPLAYER :{BLACK}Više ig STR_INTRO_GAME_OPTIONS :{BLACK}Postavke igre STR_INTRO_HIGHSCORE :{BLACK}Tablica najboljih rezultata -STR_INTRO_ADVANCED_SETTINGS :{BLACK}Napredne postavke +STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Postavke STR_INTRO_NEWGRF_SETTINGS :{BLACK}NewGRF Postavke STR_INTRO_ONLINE_CONTENT :{BLACK}Provjeri online sadržaj STR_INTRO_SCRIPT_SETTINGS :{BLACK}Postavke UI-ja/Skripte igre @@ -1816,7 +1851,7 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Odaberi STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Prikaži postavke igre STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Prikaži tablicu najboljih rezultata -STR_INTRO_TOOLTIP_ADVANCED_SETTINGS :{BLACK}Prikaži napredne postavke +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Prikaži postavke STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Prikaži postavke NewGRF STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Provjeri novi i nadograđeni sadržaj za preuzimanje STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Prikaži postavke UI-ja/Skripte igre @@ -1856,6 +1891,8 @@ STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Igraj k STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Magični buldožer (uklanja industrije, nepokretne objekte): {ORANGE}{STRING} STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}Tuneli se mogu ukrštavati međusobno: {ORANGE}{STRING} STR_CHEAT_NO_JETCRASH :{LTBLUE}Veliki avioni se ne će rušiti (često) na malim zračnim lukama: {ORANGE} {STRING} +STR_CHEAT_EDIT_MAX_HL :{LTBLUE}Uredi maksimalnu visinu mape: {ORANGE}{NUM} +STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Uredi maksimalnu visinu planina na mapi STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE :Blagi krajolik STR_CHEAT_SWITCH_CLIMATE_SUB_ARCTIC_LANDSCAPE :Subarktički krajolik STR_CHEAT_SWITCH_CLIMATE_SUB_TROPICAL_LANDSCAPE :Suptropski krajolik @@ -1904,6 +1941,7 @@ STR_LIVERY_FREIGHT_TRAM :Teretni tramvaj STR_FACE_CAPTION :{WHITE}Izbor lica STR_FACE_CANCEL_TOOLTIP :{BLACK}Odustani od izbora novog lica STR_FACE_OK_TOOLTIP :{BLACK}Prihvati izbor novog lica +STR_FACE_RANDOM :{BLACK}Nasumično STR_FACE_MALE_BUTTON :{BLACK}Muško STR_FACE_MALE_TOOLTIP :{BLACK}Odaberi muška lica @@ -1919,7 +1957,7 @@ STR_FACE_LOAD :{BLACK}Učitaj STR_FACE_LOAD_TOOLTIP :{BLACK}Učitaj omiljeno lice STR_FACE_LOAD_DONE :{WHITE}Tvoje omiljeno lice je učitano iz OpenTTD konfiguracijske datoteke. STR_FACE_FACECODE :{BLACK}Broj igračevog lica -STR_FACE_FACECODE_TOOLTIP :{BLACK}Pogledaj i/ili postavi broj lica predsjednika kompanije +STR_FACE_FACECODE_TOOLTIP :{BLACK}Pogledaj i/ili postavi broj lica predsjednika tvrtke STR_FACE_FACECODE_CAPTION :{WHITE}Pogledaj i/ili postavi broj predsjednikovog lica STR_FACE_FACECODE_SET :{WHITE}Novi kod za broj igračevog lica je postavljen STR_FACE_FACECODE_ERR :{WHITE}Nemoguće namjestiti broj predsjednikovog lica - mora biti broj između 0 and 4,294,967,295! @@ -2024,13 +2062,13 @@ STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}Zaštiti STR_NETWORK_START_SERVER_UNADVERTISED :Ne STR_NETWORK_START_SERVER_ADVERTISED :Da STR_NETWORK_START_SERVER_CLIENTS_SELECT :{BLACK}{NUM} klijen{P t ta ata} -STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Maks klijenata: +STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Maksimalni broj klijenata: STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS_TOOLTIP :{BLACK}Izaberi maksimalan broj klijenata. Ne moraju sva mjesta biti popunjena. STR_NETWORK_START_SERVER_COMPANIES_SELECT :{BLACK}{NUM} tvrtk{P a e i} -STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}Maks tvrtki: +STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}Maksimalni broj tvrtki: STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES_TOOLTIP :{BLACK}Ograniči poslužitelj na određeni broj tvrtki STR_NETWORK_START_SERVER_SPECTATORS_SELECT :{BLACK}{NUM} gledatelj{P "" a a} -STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS :{BLACK}Maks promatrača: +STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS :{BLACK}Maksimalni broj promatrača: STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS_TOOLTIP :{BLACK}Ograniči poslužitelj na određeni broj gledatelja STR_NETWORK_START_SERVER_LANGUAGE_SPOKEN :{BLACK}Jezik kojim se govori: STR_NETWORK_START_SERVER_LANGUAGE_TOOLTIP :{BLACK}Drugi igrači znat će kojim se jezikom govori na poslužitelju @@ -2244,7 +2282,7 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} se STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} je osnovao novu tvrtku (#{2:NUM}) STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} je izašao iz igre ({2:STRING}) STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} je promijenio/la ime u {STRING} -STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} je dao vašoj kompaniji {2:CURRENCY_LONG} +STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} je dao vašoj tvrtki {2:CURRENCY_LONG} STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Dao si {1:STRING} {2:CURRENCY_LONG} STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Poslužitelj je zatvorio sesiju STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Poslužitelj se ponovno pokreće...{}Molimo pričekajte... @@ -2328,7 +2366,7 @@ STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Namjesti STR_TRANSPARENT_TREES_TOOLTIP :{BLACK}Namjesti prozirnost za drveće. Ctrl+klik za zaključavanje STR_TRANSPARENT_HOUSES_TOOLTIP :{BLACK}Namjesti prozirnost za kuće. Ctrl+klik za zaključavanje STR_TRANSPARENT_INDUSTRIES_TOOLTIP :{BLACK}Namjesti prozirnost za industrije. Ctrl+klik za zaključavanje -STR_TRANSPARENT_BUILDINGS_TOOLTIP :{BLACK}Namjesti prozirnost za građevine poput stanica, depoa i čvorišta. Ctrl+klik za zaključavanje +STR_TRANSPARENT_BUILDINGS_TOOLTIP :{BLACK}Namjesti prozirnost za građevine poput postaja, spremiša i čvorišta. Ctrl+klik za zaključavanje STR_TRANSPARENT_BRIDGES_TOOLTIP :{BLACK}Namjesti prozirnost za mostove. Ctrl+klik za zaključavanje STR_TRANSPARENT_STRUCTURES_TOOLTIP :{BLACK}Namjesti prozirnost za strukture poput svjetionika i antena. Ctrl+klik za zaključavanje. STR_TRANSPARENT_CATENARY_TOOLTIP :{BLACK}Aktiviraj prozirnost za viseće žice. Ctrl+klik za zaključavanje @@ -2339,7 +2377,7 @@ STR_TRANSPARENT_INVISIBLE_TOOLTIP :{BLACK}Učini o STR_LINKGRAPH_LEGEND_CAPTION :{BLACK}Legenda protoka tereta STR_LINKGRAPH_LEGEND_ALL :{BLACK}Sve STR_LINKGRAPH_LEGEND_NONE :{BLACK}Ništa -STR_LINKGRAPH_LEGEND_SELECT_COMPANIES :{BLACK}Odaberi kompanije koje će se prikazati +STR_LINKGRAPH_LEGEND_SELECT_COMPANIES :{BLACK}Odaberi tvrtke koje će se prikazati # Linkgraph legend window and linkgraph legend in smallmap STR_LINKGRAPH_LEGEND_UNUSED :{TINY_FONT}{BLACK}nekorišten @@ -2373,7 +2411,7 @@ STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Izgradi STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Izgradi spremište vlakova (za kupnju i servisiranje vlakova). Shift mijenja prikaz građenje/procjena troškova. STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Pretvori prugu u čvorište. Ctrl omogućava spajanje čvorišta. Shift mijenja prikaz građenje/procjena troškova. STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Izgradi željezničku postaju. Ctrl omogućava spajanje postaja. Shift mijenja prikaz građenje/procjena troškova. -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Izgradi željezničke signale. Ctrl aktivira semafore/svjetlosne signale{}Povlačenjem će se izgraditi signali uzduž ravnog dijela pruge. Ctrl će izgraditi signale do sljedećeg križanja.{}Ctrl+klik aktivira otvaranje prozora za odabir signala. Shift mijenja prikaz građenje/procjena troškova. +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Izgradi željezničke signale. Ctrl aktivira semafore/svjetlosne signale{}Povlačenjem će se izgraditi signali uzduž ravnog dijela pruge. Ctrl će izgraditi signale do sljedećeg križanja ili signala.{}Ctrl+klik aktivira otvaranje prozora za odabir signala. Shift mijenja prikaz građenje/procjena troškova. STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Izgradi željeznički most. Shift mijenja prikaz građenje/procjena troškova. STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Izgradi željeznički tunel. Shift mijenja prikaz građenje/procjena troškova. STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Aktiviraj izgradnju/uklanjanje željezničke pruge, signala, čvorišta i postaja. Držanjem tipke Ctrl također se uklanjaju tračnice na čvorištima i postajama. @@ -2476,9 +2514,9 @@ STR_STATION_BUILD_BUS_ORIENTATION :{WHITE}Smjer au STR_STATION_BUILD_BUS_ORIENTATION_TOOLTIP :{BLACK}Odaberi smjer autobusne postaje STR_STATION_BUILD_TRUCK_ORIENTATION :{WHITE}Smjer kamionskog terminala STR_STATION_BUILD_TRUCK_ORIENTATION_TOOLTIP :{BLACK}Odaberi smjer kamionskog terminala -STR_STATION_BUILD_PASSENGER_TRAM_ORIENTATION :{WHITE}Orijentacija stanice putničkog tramvaja +STR_STATION_BUILD_PASSENGER_TRAM_ORIENTATION :{WHITE}Orijentacija postaje putničkog tramvaja STR_STATION_BUILD_PASSENGER_TRAM_ORIENTATION_TOOLTIP :{BLACK}Odaberi smjer putničke tramvajske postaje -STR_STATION_BUILD_CARGO_TRAM_ORIENTATION :{WHITE}Orijentacija stanice teretnog tramvaja +STR_STATION_BUILD_CARGO_TRAM_ORIENTATION :{WHITE}Orijentacija postaje teretnog tramvaja STR_STATION_BUILD_CARGO_TRAM_ORIENTATION_TOOLTIP :{BLACK}Odaberi smjer teretne tramvajske postaje # Waterways toolbar (last two for SE only) @@ -2561,10 +2599,10 @@ STR_TERRAFORM_TOOLTIP_DECREASE_SIZE_OF_LAND_AREA :{BLACK}Smanji p STR_TERRAFORM_TOOLTIP_GENERATE_RANDOM_LAND :{BLACK}Napravi nasumično zemljište STR_TERRAFORM_SE_NEW_WORLD :{BLACK}Kreiraj novi scenarij STR_TERRAFORM_RESET_LANDSCAPE :{BLACK}Poništi krajolik -STR_TERRAFORM_RESET_LANDSCAPE_TOOLTIP :{BLACK}Obriši sa mape sve u vlasništvu kompanije +STR_TERRAFORM_RESET_LANDSCAPE_TOOLTIP :{BLACK}Obriši s karte sve u vlasništvu tvrtke STR_QUERY_RESET_LANDSCAPE_CAPTION :{WHITE}Poništi krajolik -STR_RESET_LANDSCAPE_CONFIRMATION_TEXT :{WHITE}Jeste li sigurni da želite obrisati sve u vlasništvu kompanije? +STR_RESET_LANDSCAPE_CONFIRMATION_TEXT :{WHITE}Jeste li sigurni da želite obrisati sve u vlasništvu tvrtke? # Town generation window (SE) STR_FOUND_TOWN_CAPTION :{WHITE}Stvaranje gradova @@ -2681,7 +2719,7 @@ STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :{STRING} pruga STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :{STRING} pruga sa kombiniranim i putnim signalima STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :{STRING} pruga sa kombiniranim i jednosmjernim putnim signalima STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :{STRING} pruga sa putnim i jednosmjernim putnim signalima -STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :{STRING} depo vlaka +STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :{STRING} spremište vlaka STR_LAI_ROAD_DESCRIPTION_ROAD :Cesta STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Cesta s javnom rasvjetom @@ -2745,7 +2783,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-2014 OpenTTD tim +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 OpenTTD tim # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Spremi igru @@ -2780,13 +2818,12 @@ STR_MAPGEN_BY :{BLACK}* STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Broj gradova: STR_MAPGEN_DATE :{BLACK}Datum: STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Broj industrija: +STR_MAPGEN_MAX_HEIGHTLEVEL :{BLACK}Maksimalna visina mape: +STR_MAPGEN_MAX_HEIGHTLEVEL_UP :{BLACK}Povećaj maksimalnu visinu planina na mapi za jedan +STR_MAPGEN_MAX_HEIGHTLEVEL_DOWN :{BLACK}Smanji maksimalnu visinu planina na mapi za jedan STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}Visina linije snijega STR_MAPGEN_SNOW_LINE_UP :{BLACK}Pomakni visinu linije snijega za jedan gore STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}Pomakni visinu linije snijega za jedan dolje -STR_MAPGEN_RANDOM_SEED :{BLACK}Nasumični slijed: -STR_MAPGEN_RANDOM_SEED_HELP :{BLACK}Klikni za unos nasumičnog slijeda -STR_MAPGEN_RANDOM :{BLACK}Nasumično -STR_MAPGEN_RANDOM_HELP :{BLACK}Promijeni slučajni slijed koji se koristi za kreiranje terena STR_MAPGEN_LAND_GENERATOR :{BLACK}Izrađivač zemljišta: STR_MAPGEN_TREE_PLACER :{BLACK} Algoritam za drveće: STR_MAPGEN_TERRAIN_TYPE :{BLACK}Vrsta terena: @@ -2813,7 +2850,7 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Ime visi STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Veličina: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} -STR_MAPGEN_RANDOM_SEED_OSKTITLE :{BLACK}Upiši nasumično sjeme +STR_MAPGEN_MAX_HEIGHTLEVEL_QUERY_CAPT :{WHITE}Promijeni maksimalnu visinu mape STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}Promijeni visinu linije snijega STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Promijeni početnu godinu @@ -2868,6 +2905,8 @@ STR_NEWGRF_SETTINGS_MOVEUP :{BLACK}Pomakni STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP :{BLACK}Pomakni odabranu NewGRF datoteku gore na listi STR_NEWGRF_SETTINGS_MOVEDOWN :{BLACK} Pomakni dolje STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP :{BLACK}Pomakni odabranu NewGRF datoteku dolje na listi +STR_NEWGRF_SETTINGS_UPGRADE :{BLACK}Nadogradnja +STR_NEWGRF_SETTINGS_UPGRADE_TOOLTIP :{BLACK}Nadogradite NewGRF datoteke za koje već imate instalirane novije verzije STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}Popis instaliranih NewGRF datoteka STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}Postavi parametre @@ -2892,6 +2931,16 @@ STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Nije prona STR_NEWGRF_SETTINGS_DISABLED :{RED}Onemogućeno STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Nije kompatibilno sa ovom verzijom OpenTTD-a +# NewGRF save preset window +STR_SAVE_PRESET_CAPTION :{WHITE}Snimiti predpostavke +STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK}Popis dostupnih predpostavki, odaberite jednu za kopiranje pod imenom ispod +STR_SAVE_PRESET_TITLE :{BLACK}Unesite ime za predpostavke +STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}Trenutno odabrano ime za snimanje predpostavki +STR_SAVE_PRESET_CANCEL :{BLACK}Odustani +STR_SAVE_PRESET_CANCEL_TOOLTIP :{BLACK}Ne mijenjati predpostavke +STR_SAVE_PRESET_SAVE :{BLACK}Snimanje +STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}Snimite predpostavke u trenutno odabrano ime + # NewGRF parameters window STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Promijeni NewGRF parametre STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Zatvori @@ -2915,14 +2964,17 @@ STR_NEWGRF_INSPECT_QUERY_CAPTION :{WHITE}NewGRF v # Sprite aligner window STR_SPRITE_ALIGNER_CAPTION :{WHITE}Poravnanje sprite-a {COMMA} ({STRING}) STR_SPRITE_ALIGNER_NEXT_BUTTON :{BLACK}Sljedeći sprite -STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Otiđi na sljedeći normalni sprite, preskačući svaki pseudo/prebojani/font sprite i nakon kraja kreni od početka +STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Otiđi na sljedeći normalni sprite, preskačući svaki pseudo/prebojani/font sprite i nakon dolaska na zadnjeg prebaci na prvi STR_SPRITE_ALIGNER_GOTO_BUTTON :{BLACK}Otiđi na sprite STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}Otiđi na određeni sprite. Ako sprite nije normalni sprite, otiđi na slijedeći normalni sprite STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Prethodni sprite -STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Otiđi na prethodni normalni sprite, preskačući svaki pseudo/prebojani/font sprite i kreni od kraja ako se dođe na početak +STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Otiđi na prethodni normalni sprite, preskačući svaki pseudo/prebojani/font sprite i {BLACK}Otiđi na sljedeći normalni sprite, preskačući svaki pseudo/prebojani/font sprite i nakon dolaska na prvi prebaci na zadnjeg STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Prikaz trenutno odabranog spritea. Poravnjanje se ignorira kod crtanja ovog spritea. STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Pomakni sprite mijenjajući X i Y pomake -STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X pomak: {NUM}, Y pomak: {NUM} +STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Poništi relativne +STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Poništi trenutne relativne pomake +STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}X pomak: {NUM}, Y pomak: {NUM} (Apsolutni) +STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}X pomak: {NUM}, Y pomak: {NUM} (Relativni) STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Odaberi sprite STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Odaberi sprite od bilo gdje na ekranu @@ -2977,9 +3029,9 @@ STR_NEWGRF_LIST_MISSING :{RED}Nedostaju # NewGRF 'it's broken' warnings STR_NEWGRF_BROKEN :{WHITE}Ponašanje NewGRF '{0:STRING}' će vjerojatno uzrokovati deharmonizaciju i/ili rušenje igre -STR_NEWGRF_BROKEN_POWERED_WAGON :{WHITE}Promijenjen status motoriziranog vagona za '{1:ENGINE}' kad vozilo nije u depou. -STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Ovo mijenja dužinu vozila za '{1:ENGINE}' kada vozilo nije unutar depoa -STR_NEWGRF_BROKEN_CAPACITY :{WHITE}Promijenilo je kapacitet vozila za '{1:ENGINE}' kada nije u depou ili se remontira +STR_NEWGRF_BROKEN_POWERED_WAGON :{WHITE}Promijenjen status motoriziranog vagona za '{1:ENGINE}' kad vozilo nije u spremištu. +STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Ovo mijenja dužinu vozila za '{1:ENGINE}' kada vozilo nije unutar spremišta +STR_NEWGRF_BROKEN_CAPACITY :{WHITE}Promijenilo je kapacitet vozila za '{1:ENGINE}' kada nije u spremšta ili se remontira STR_BROKEN_VEHICLE_LENGTH :{WHITE}Vlak'{VEHICLE}' koji pripada tvrtci '{COMPANY}' neispravne je dužine. Uzrok problema je vjerojatno u NewGRF datotekama. Igra će se možda deharmonizirati ili srušiti STR_NEWGRF_BUGGY :{WHITE}NewGRF '{0:STRING}' daje netočne informacije @@ -3034,8 +3086,8 @@ STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} isporučeno STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (još potrebno) STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (isporučeno) -STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Grad raste svaki {ORANGE}{COMMA}{BLACK} dan -STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Grad raste svaki {ORANGE}{COMMA}{BLACK} dan (financirano) +STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Grad raste svaki {ORANGE}{COMMA}{BLACK}{NBSP}dan +STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Grad raste svaki {ORANGE}{COMMA}{BLACK}{NBSP}dan (financirano) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}Grad {RED}ne{BLACK} raste STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Ograničenje buke u gradu: {ORANGE}{COMMA}{BLACK} maks: {ORANGE}{COMMA} STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Centriraj glavni pogled na lokaciju grada. Ctrl+klik otvara novi prozor sa lokacijom grada @@ -3086,8 +3138,8 @@ STR_GOALS_NONE :{ORANGE}- Nijed STR_GOALS_SPECTATOR_NONE :{ORANGE}- Nije primjenjivo - STR_GOALS_PROGRESS :{ORANGE}{STRING} STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING} -STR_GOALS_COMPANY_TITLE :{BLACK}Ciljevi kompanije: -STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Klikni na cilj za centriranje središnjeg pogleda na industriju/grad/pločicu. Ctrl+Klik otvara novi prozor s pogledom na lokaciju industrije/grada/pločice +STR_GOALS_COMPANY_TITLE :{BLACK}Ciljevi tvrtke: +STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Klikni na cilj za centriranje središnjeg pogleda na industriju/grad/polje. Ctrl+Klik otvara novi prozor s pogledom na lokaciju industrije/grada/polja # Goal question window STR_GOAL_QUESTION_CAPTION_QUESTION :Pitanje @@ -3095,7 +3147,7 @@ STR_GOAL_QUESTION_CAPTION_INFORMATION :Informacija STR_GOAL_QUESTION_CAPTION_WARNING :Upozorenje STR_GOAL_QUESTION_CAPTION_ERROR :Greška -### Start of Goal Question button list +############ Start of Goal Question button list STR_GOAL_QUESTION_BUTTON_CANCEL :Poništi STR_GOAL_QUESTION_BUTTON_OK :OK STR_GOAL_QUESTION_BUTTON_NO :Ne @@ -3114,6 +3166,7 @@ STR_GOAL_QUESTION_BUTTON_RESTART :Ponovi od poče STR_GOAL_QUESTION_BUTTON_POSTPONE :Odgodi STR_GOAL_QUESTION_BUTTON_SURRENDER :Odustani STR_GOAL_QUESTION_BUTTON_CLOSE :Zatvori +############ End of Goal Question button list # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}Subvencije @@ -3149,7 +3202,6 @@ STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}Nijedna # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} -STR_STATION_VIEW_WAITING_TITLE :{BLACK}Čekanje: {WHITE}{STRING} STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} iz {STATION}) STR_STATION_VIEW_RESERVED :{YELLOW}({CARGO_SHORT} rezervirano za ukrcaj) @@ -3210,8 +3262,8 @@ STR_STATION_VIEW_SCHEDULED_SHIPS_TOOLTIP :{BLACK}Pokaži STR_STATION_VIEW_RENAME_STATION_CAPTION :Preimenuj postaju/terminal -STR_STATION_VIEW_CLOSE_AIRPORT :{BLACK}Zatvori aerodrom -STR_STATION_VIEW_CLOSE_AIRPORT_TOOLTIP :{BLACK}Spriječi sletanje aviona na ovaj aerodrom +STR_STATION_VIEW_CLOSE_AIRPORT :{BLACK}Zatvori zračnu luku +STR_STATION_VIEW_CLOSE_AIRPORT_TOOLTIP :{BLACK}Spriječi slijetanje zrakoplova u ovu zračnu luku # Waypoint/buoy view window STR_WAYPOINT_VIEW_CAPTION :{WHITE}{WAYPOINT} @@ -3244,7 +3296,7 @@ STR_FINANCES_POSITIVE_INCOME :{BLACK}+{CURREN STR_FINANCES_TOTAL_CAPTION :{WHITE}Ukupno: STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}Bankovna bilanca STR_FINANCES_LOAN_TITLE :{WHITE}Zajam -STR_FINANCES_MAX_LOAN :{WHITE}Maks zajam: {BLACK}{CURRENCY_LONG} +STR_FINANCES_MAX_LOAN :{WHITE}Maksimalni kredit: {BLACK}{CURRENCY_LONG} STR_FINANCES_TOTAL_CURRENCY :{BLACK}{CURRENCY_LONG} STR_FINANCES_BORROW_BUTTON :{BLACK}Pozajmi {CURRENCY_LONG} STR_FINANCES_BORROW_TOOLTIP :{BLACK}Povećaj iznos zajma. Ctrl+klik posuđuje najveći mogući iznos @@ -3270,15 +3322,15 @@ STR_COMPANY_VIEW_INFRASTRUCTURE :{GOLD}Infrastru STR_COMPANY_VIEW_INFRASTRUCTURE_RAIL :{WHITE}{COMMA} dijelovi pruge STR_COMPANY_VIEW_INFRASTRUCTURE_ROAD :{WHITE}{COMMA} dio ceste STR_COMPANY_VIEW_INFRASTRUCTURE_WATER :{WHITE}{COMMA} polje vode -STR_COMPANY_VIEW_INFRASTRUCTURE_STATION :{WHITE}{COMMA} polje stanice -STR_COMPANY_VIEW_INFRASTRUCTURE_AIRPORT :{WHITE}{COMMA} aerodromi +STR_COMPANY_VIEW_INFRASTRUCTURE_STATION :{WHITE}{COMMA} polje postaje +STR_COMPANY_VIEW_INFRASTRUCTURE_AIRPORT :{WHITE}{COMMA} zračne luke STR_COMPANY_VIEW_INFRASTRUCTURE_NONE :{WHITE}Ništa STR_COMPANY_VIEW_BUILD_HQ_BUTTON :{BLACK}Izgradi sjedište tvrtke STR_COMPANY_VIEW_BUILD_HQ_TOOLTIP :{BLACK}Izgradi sjedište tvrtke STR_COMPANY_VIEW_VIEW_HQ_BUTTON :{BLACK}Pogledaj sjedište tvrtke STR_COMPANY_VIEW_VIEW_HQ_TOOLTIP :{BLACK}Pogledaj sjedište tvrtke -STR_COMPANY_VIEW_RELOCATE_HQ :{BLACK}Premjesti sjedište kompanije +STR_COMPANY_VIEW_RELOCATE_HQ :{BLACK}Premjesti sjedište tvrtke STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS :{BLACK}Izgradi sjedište tvrtke negdje drugdje za 1% troška od cjelokupne vrijednosti tvrtke. Shift+Klik prikazuje trošak bez premještanja sjedišta tvrtke. STR_COMPANY_VIEW_INFRASTRUCTURE_BUTTON :{BLACK}Detalji STR_COMPANY_VIEW_INFRASTRUCTURE_TOOLTIP :{BLACK}Pogledaj detaljne podatke infrastrukture @@ -3309,11 +3361,11 @@ STR_COMPANY_INFRASTRUCTURE_VIEW_SIGNALS :{WHITE}Signali STR_COMPANY_INFRASTRUCTURE_VIEW_ROAD_SECT :{GOLD}Dijelovi ceste: STR_COMPANY_INFRASTRUCTURE_VIEW_ROAD :{WHITE}Cesta STR_COMPANY_INFRASTRUCTURE_VIEW_TRAMWAY :{WHITE}Tramvajska pruga -STR_COMPANY_INFRASTRUCTURE_VIEW_WATER_SECT :{GOLD}Pločice vode: +STR_COMPANY_INFRASTRUCTURE_VIEW_WATER_SECT :{GOLD}Polje s vodom: STR_COMPANY_INFRASTRUCTURE_VIEW_CANALS :{WHITE}Kanali -STR_COMPANY_INFRASTRUCTURE_VIEW_STATION_SECT :{GOLD}Stanice: -STR_COMPANY_INFRASTRUCTURE_VIEW_STATIONS :{WHITE}Pločice stanice -STR_COMPANY_INFRASTRUCTURE_VIEW_AIRPORTS :{WHITE}Aerodromi +STR_COMPANY_INFRASTRUCTURE_VIEW_STATION_SECT :{GOLD}Postaje: +STR_COMPANY_INFRASTRUCTURE_VIEW_STATIONS :{WHITE}Polje s postajom +STR_COMPANY_INFRASTRUCTURE_VIEW_AIRPORTS :{WHITE}Zračne luke STR_COMPANY_INFRASTRUCTURE_VIEW_TOTAL :{WHITE}{CURRENCY_LONG}/god # Industry directory @@ -3437,12 +3489,12 @@ STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Prenamje STR_PURCHASE_INFO_ALL_TYPES :Sve vrste tereta STR_PURCHASE_INFO_ALL_BUT :Sve osim {CARGO_LIST} STR_PURCHASE_INFO_MAX_TE :{BLACK} Maks. vučni napor: {GOLD}{FORCE} -STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Domet: {GOLD}{COMMA} pločica +STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Domet: {GOLD}{COMMA} polja -STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Popis izabranih vlakova - klikni na vlak za informacije -STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Popis izabranih cestovnih vozila - klikni na vozilo za informacije -STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Popis izabranih brodova - klikni na brod za informacije -STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Popis izabranih zrakoplova - klikni na zrakoplov za informacije +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 +STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Popis brodova za odabir. Klikni na vozilo za informacije. Ctrl+klik za uključivanje ili isključivanje prikaza vrste broda +STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Popis zrakoplova za odabir. Klikni na vozilo za informacije. Ctrl+klik za uključivanje ili isključivanje prikaza vrste zrakoplova STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}Kupi vozilo STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Kupi vozilo @@ -3464,6 +3516,21 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Preimenu STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Preimenuj vrstu broda STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Preimenuj vrstu zrakoplova +STR_BUY_VEHICLE_TRAIN_HIDE_TOGGLE_BUTTON :{BLACK}Sakrij +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_TOGGLE_BUTTON :{BLACK}Sakrij +STR_BUY_VEHICLE_SHIP_HIDE_TOGGLE_BUTTON :{BLACK}Sakrij +STR_BUY_VEHICLE_AIRCRAFT_HIDE_TOGGLE_BUTTON :{BLACK}Sakrij + +STR_BUY_VEHICLE_TRAIN_SHOW_TOGGLE_BUTTON :{BLACK}Prikaži +STR_BUY_VEHICLE_ROAD_VEHICLE_SHOW_TOGGLE_BUTTON :{BLACK}Prikaži +STR_BUY_VEHICLE_SHIP_SHOW_TOGGLE_BUTTON :{BLACK}Prikaži +STR_BUY_VEHICLE_AIRCRAFT_SHOW_TOGGLE_BUTTON :{BLACK}Prikaži + +STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Prebacivanje skrivanja/prikazivanja vrste vlakova +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Prebacivanje skrivanja/prikazivanja vrste cestovnog vozila +STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Prebacivanje skrivanja/prikazivanja vrste broda +STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Prebacivanje skrivanja/prikazivanja vrste zrakoplova + STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}Preimenuj vrstu vagona STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}Preimenuj vrstu cestovnog vozila STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}Preimenuj vrstu broda @@ -3472,8 +3539,8 @@ STR_QUERY_RENAME_AIRCRAFT_TYPE_CAPTION :{WHITE}Preimenu # Depot window STR_DEPOT_CAPTION :{WHITE}{DEPOT} -STR_DEPOT_RENAME_TOOLTIP :{BLACK}Promijeniti ime depoa -STR_DEPOT_RENAME_DEPOT_CAPTION :Preimenovati depo +STR_DEPOT_RENAME_TOOLTIP :{BLACK}Promijeniti ime spremišta +STR_DEPOT_RENAME_DEPOT_CAPTION :Preimenovati spremište STR_DEPOT_NO_ENGINE :{BLACK}- STR_DEPOT_VEHICLE_TOOLTIP :{BLACK}{ENGINE}{STRING} @@ -3517,7 +3584,7 @@ STR_DEPOT_CLONE_ROAD_VEHICLE :{BLACK}Kloniraj STR_DEPOT_CLONE_SHIP :{BLACK}Kloniraj brod STR_DEPOT_CLONE_AIRCRAFT :{BLACK}Kloniraj zrakoplov -STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Ovo će kupiti kopiju vlaka uključujući sve vagone. Kliknite na ovaj gumb i onda na vlak unutar ili izvan spremišta. Ctrl+Klik će dijeliti naredbe. Shift+Klik prikazuje trošak bez kupnje. +STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Ovo će kupiti kopiju vlaka uključujući sve vagone. Kliknite na ovaj gumb i onda na vlak unutar ili izvan spremišta. Ctrl+Klik će dijeliti naredbe. Shift+Klik prikazuje procijenjeni trošak bez kupnje. STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Ovo će kupiti kopiju cestovnog vozila. Klikni na ovaj gumb i onda na cestovno vozilo unutar ili izvan spremišta. CTRL+Klik će dijeliti naredbe. Shift+Klik prikazuje procijenjeni trošak bez kupnje. STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Ovo će kupiti kopiju broda. Klikni na ovaj gumb i onda na brod unutar ili izvan spremišta. Ctrl+Klik će dijeliti naredbe. Shift+Klik prikazuje trošak bez kupnje. STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Ovo će kupiti kopiju zrakoplova. Klikni ovaj gumb i onda na zrakoplov unutar ili izvan hangara. Control+Klik će dijeliti naredbe. Shift+Klik prikazuje trošak bez kupnje. @@ -3568,6 +3635,11 @@ STR_REPLACE_VEHICLE_ROAD_VEHICLE :Cestovno vozilo STR_REPLACE_VEHICLE_SHIP :Brod STR_REPLACE_VEHICLE_AIRCRAFT :Zrakoplov +STR_REPLACE_VEHICLE_VEHICLES_IN_USE :{YELLOW}Vozila u uporabi +STR_REPLACE_VEHICLE_VEHICLES_IN_USE_TOOLTIP :{BLACK}Stupac s vozilima koje posjedujete +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES :{YELLOW}Dostupna vozila +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES_TOOLTIP :{BLACK}Stupac sa vozilima dostupnim za zamjenjivanje + STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Izaberi vrstu motora koju želiš zamijeniti STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Odaberite novu vrstu lokomotive koji želite koristiti umjesto lijevo odabrane vrste lokomotive @@ -3677,7 +3749,7 @@ 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}Maks. brzina: {LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}Maks. brzina: {LTBLUE}{VELOCITY} {BLACK}Domet: {LTBLUE}{COMMA} pločica +STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}Maks. brzina: {LTBLUE}{VELOCITY} {BLACK}Domet: {LTBLUE}{COMMA} polja STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Težina: {LTBLUE}{WEIGHT_SHORT} {BLACK}Snaga: {LTBLUE}{POWER}{BLACK} Maks. brzina: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Težina: {LTBLUE}{WEIGHT_SHORT} {BLACK}Snaga: {LTBLUE}{POWER}{BLACK} Maks. brzina: {LTBLUE}{VELOCITY} {BLACK}Maks. T.E.: {LTBLUE}{FORCE} @@ -3692,7 +3764,7 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Nosivost STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Prebaci novac: {LTBLUE}{CURRENCY_LONG} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Servisni interval: {LTBLUE}{COMMA}dana{BLACK} Zadnji servis: {LTBLUE}{DATE_LONG} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Servisni interval: {LTBLUE}{COMMA}{NBSP}dana{BLACK} Zadnji servis: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Servisni interval: {LTBLUE}{COMMA}%{BLACK} Zadnji servis: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Povećaj servisni interval za 10. Ctrl+klik povećava servisni interval za 5. STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Smanji servisni interval za 10. Ctrl+klik smanjuje servisni interval za 5. @@ -3737,7 +3809,7 @@ STR_REFIT_NEW_CAPACITY_COST_OF_REFIT :{BLACK}Nova nos STR_REFIT_NEW_CAPACITY_INCOME_FROM_REFIT :{BLACK}Novi kapacitet: {GOLD}{CARGO_LONG}{}{BLACK}Prihod od remonta: {GREEN}{CURRENCY_LONG} STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT :{BLACK}Novi kapacitet: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Trošak remonta: {RED}{CURRENCY_LONG} STR_REFIT_NEW_CAPACITY_INCOME_FROM_AIRCRAFT_REFIT :{BLACK}Novi kapacitet: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Prihod od remonta: {GREEN}{CURRENCY_LONG} -STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}Odaberi vozila za remont. Povlačenje mišem dozvoljava odabir više vozila. Klik na prazninu će označiti cijelo vozilo. Ctrl+Klik će označiti vozilo i niz koji slijedi. +STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}Odaberi vozila za remont. Povlačenje mišem dopušta odabir više vozila. Klik na prazninu će označiti cijelo vozilo. Ctrl+Klik će označiti vozilo i niz koji slijedi. STR_REFIT_TRAIN_LIST_TOOLTIP :{BLACK}Odaberi vrstu tereta koju će vlak prevoziti STR_REFIT_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Odaberi vrstu tereta koje će cestovno vozilo prevoziti @@ -3790,7 +3862,7 @@ STR_ORDER_TOOLTIP_UNLOAD :{BLACK}Promijen STR_ORDER_REFIT :{BLACK}Prenamijeni STR_ORDER_REFIT_TOOLTIP :{BLACK}Odaberi vrstu tereta za prenamijenu u ovoj naredbi. Ctrl+klik kako bi uklonio naputak za prenamjenu -STR_ORDER_REFIT_AUTO :{BLACK}Auto-remont +STR_ORDER_REFIT_AUTO :{BLACK}Auto-remont na postaji STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Odaberi za koji tip tereta odraditi auto-remont. Ctrl+Click za micanje remontnih uputa. Auto-remont će se odraditi samo ako ga vozilo dopušta. STR_ORDER_DROP_REFIT_AUTO :Popravljen teret STR_ORDER_DROP_REFIT_AUTO_ANY :Dostupni teret @@ -3839,7 +3911,7 @@ STR_ORDER_GO_TO_NEAREST_DEPOT :Idi do najbliž STR_ORDER_GO_TO_NEAREST_HANGAR :Idi do najbližeg hangara STR_ORDER_CONDITIONAL :Uvjetovani skok na naredbu STR_ORDER_SHARE :Dijeli naredbe -STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Umetni novu naredbu prije označene naredbe, ili dodaj na kraj liste. Ctrl određuje naredbe stanice 'napuni do kraja bilo koji teret', naredbe prolaznih točki 'non-stop', a naredbe depoa 'servisiraj'. 'Dijeli naredbe' ili Ctrl dozvoljava da ovo vozilo dijeli naredbe sa odabranim vozilom. Klik na vozilo kopira naredbe tog vozila. Naredba depoa isključuje automatsko servisiranje vozila. +STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Umetni novu naredbu prije označene naredbe, ili dodaj na kraj liste. Ctrl određuje naredbe postaje 'napuni do kraja bilo koji teret', naredbe prolaznih točki 'non-stop', a naredbe spremišta 'servisiraj'. 'Dijeli naredbe' ili Ctrl dopušta da ovo vozilo dijeli naredbe s odabranim vozilom. Klik na vozilo kopira naredbe tog vozila. Naredba spremišta isključuje automatsko servisiranje vozila. STR_ORDERS_VEH_WITH_SHARED_ORDERS_LIST_TOOLTIP :{BLACK}Pokaži sva vozila koja dijele ovaj raspored. @@ -3883,8 +3955,8 @@ STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY :(Čekaj bilo ko STR_ORDER_NO_UNLOAD_NO_LOAD :(Bez iskrcaja i bez ukrcaja) STR_ORDER_AUTO_REFIT :(Auto-remont u {STRING}) -STR_ORDER_FULL_LOAD_REFIT :(Puni teret sa auto-remontom u {STRING}) -STR_ORDER_FULL_LOAD_ANY_REFIT :(Bilo koji puni teret sa auto-remontom u {STRING}) +STR_ORDER_FULL_LOAD_REFIT :(Preuzimanje punog tereta sa auto-remontom u {STRING}) +STR_ORDER_FULL_LOAD_ANY_REFIT :(Preuzimanje bilo kojeg punog tereta sa auto-remontom u {STRING}) STR_ORDER_UNLOAD_REFIT :(Iskrcaj i preuzimanje tereta sa auto-remontom u {STRING}) STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(Iskrcaj i čekanje punog tereta sa auto-remontom u {STRING}) STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(Iskrcaj i čekanje bilo kojeg punog tereta sa auto-remontom u {STRING}) @@ -3919,13 +3991,17 @@ STR_TIMETABLE_TOOLTIP :{BLACK}Vozni re STR_TIMETABLE_NO_TRAVEL :Nema putovanja STR_TIMETABLE_NOT_TIMETABLEABLE :Putovanje (automatsko; prema rasporedu sljedeće ručno određene naredbe) STR_TIMETABLE_TRAVEL_NOT_TIMETABLED :Putovanje (izvan voznog reda) -STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Putuj uz najviše {2:VELOCITY} (not timetabled) +STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Putovanje (nije mjereno) uz najviše {2:VELOCITY} STR_TIMETABLE_TRAVEL_FOR :Putovanje za {STRING} STR_TIMETABLE_TRAVEL_FOR_SPEED :Putuj prema {STRING} uz najviše {VELOCITY} +STR_TIMETABLE_TRAVEL_FOR_ESTIMATED :Putovanje (za {STRING}, nije mjereno) +STR_TIMETABLE_TRAVEL_FOR_SPEED_ESTIMATED :Putovanje (za {STRING}, nije mjereno) sa najviše {VELOCITY} +STR_TIMETABLE_STAY_FOR_ESTIMATED :(stajanje za {STRING}, nije mjereno) +STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(putovanje za {STRING}, nije mjereno) STR_TIMETABLE_STAY_FOR :i boravak za {STRING} STR_TIMETABLE_AND_TRAVEL_FOR :i putovanje za {STRING} -STR_TIMETABLE_DAYS :{COMMA} dan{P "" a a} -STR_TIMETABLE_TICKS :{COMMA} otkucaj{P "" a a} +STR_TIMETABLE_DAYS :{COMMA}{NBSP}dan{P "" a a} +STR_TIMETABLE_TICKS :{COMMA}{NBSP}otkucaj{P "" a a} STR_TIMETABLE_TOTAL_TIME :{BLACK}Ovaj vozni red trebat će {STRING} za završetak STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}Ovaj vozni red trebat će najmanje {STRING} za završetak (nije sve raspoređeno) @@ -4147,7 +4223,7 @@ STR_ERROR_CLEARING_LIMIT_REACHED :{WHITE}... dose STR_ERROR_TREE_PLANT_LIMIT_REACHED :{WHITE}... dosegnut limit sađenja drveća STR_ERROR_NAME_MUST_BE_UNIQUE :{WHITE}Ime mora biti jedinstveno STR_ERROR_GENERIC_OBJECT_IN_THE_WAY :{WHITE}{1:STRING} na putu -STR_ERROR_NOT_ALLOWED_WHILE_PAUSED :{WHITE}Nije dozvoljeno za vrijeme pauze +STR_ERROR_NOT_ALLOWED_WHILE_PAUSED :{WHITE}Nije dopušteno za vrijeme pauze # Local authority errors STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS :{WHITE}{TOWN} lokalna samouprava odbija to dopustiti @@ -4163,6 +4239,7 @@ STR_ERROR_EXCAVATION_WOULD_DAMAGE :{WHITE}Iskopava STR_ERROR_ALREADY_AT_SEA_LEVEL :{WHITE}Već je na razini mora STR_ERROR_TOO_HIGH :{WHITE}Previsoko STR_ERROR_ALREADY_LEVELLED :{WHITE}... već je sravnjeno +STR_ERROR_BRIDGE_TOO_HIGH_AFTER_LOWER_LAND :{WHITE}Nakon toga, most iznad toga bi bio previsok. # Company related errors STR_ERROR_CAN_T_CHANGE_COMPANY_NAME :{WHITE}Ime tvrtke nije moguće promijeniti... @@ -4189,7 +4266,7 @@ STR_ERROR_TOO_CLOSE_TO_EDGE_OF_MAP_SUB :{WHITE}... preb STR_ERROR_TOO_CLOSE_TO_ANOTHER_TOWN :{WHITE}... preblizu drugome gradu STR_ERROR_TOO_MANY_TOWNS :{WHITE}... previše gradova STR_ERROR_NO_SPACE_FOR_TOWN :{WHITE}... nema više mjesta na karti -STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}Grad neće graditi ceste. Možete uključiti gradnju cesta putem Naprednih postavki -> Ekonomija -> Gradovi +STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}Grad neće graditi ceste. Možete uključiti gradnju cesta putem Postavki->Okolina->Gradovi STR_ERROR_ROAD_WORKS_IN_PROGRESS :{WHITE}Cestovni radovi u tijeku STR_ERROR_TOWN_CAN_T_DELETE :{WHITE}Nije moguće izbrisati ovaj grad...{}Postaja ili spremište se pozivaju na grad ili polja u vlasništvu grada nije moguće ukloniti STR_ERROR_STATUE_NO_SUITABLE_PLACE :{WHITE}... nema odgovarajućeg mjesta za kip u središtu ovog grada @@ -4213,6 +4290,9 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... šum STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... moguće graditi samo iznad razine snijega STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... moguće graditi samo ispod razine snijega +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}Nije bilo odgovarajućih mjesta za '{STRING}' industrije +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Izmijenite parametre za generaciju mape kako bi dobili bolju mapu + # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Ovdje nije moguće izgraditi željezničku postaju... STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}Nije moguće izgraditi autobusnu postaju... @@ -4234,8 +4314,8 @@ STR_ERROR_TOO_CLOSE_TO_ANOTHER_AIRPORT :{WHITE}Preblizu STR_ERROR_CAN_T_RENAME_STATION :{WHITE}Nije moguće preimenovati postaju... STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... ovo je gradska cesta STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... cesta je orijentirana u krivom smjeru -STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... prolazne stanice ne mogu imati zavoje -STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... prolazne stanice ne mogu imati raskrižja +STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... prolazne postaje ne mogu imati zavoje +STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... prolazne postaje ne mogu imati raskrižja # Station destruction related errors STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Nije moguće ukloniti dio postaje... @@ -4244,8 +4324,8 @@ STR_ERROR_CAN_T_REMOVE_BUS_STATION :{WHITE}Nije mog STR_ERROR_CAN_T_REMOVE_TRUCK_STATION :{WHITE}Nije moguće ukloniti kamionsku postaju... STR_ERROR_CAN_T_REMOVE_PASSENGER_TRAM_STATION :{WHITE}Nije moguće ukloniti putničku tramvajsku postaju... STR_ERROR_CAN_T_REMOVE_CARGO_TRAM_STATION :{WHITE}Nije moguće ukloniti teretnu tramvajsku postaju... -STR_ERROR_MUST_REMOVE_ROAD_STOP_FIRST :{WHITE}Najprije je potrebno ukloniti cestovnu stanicu -STR_ERROR_THERE_IS_NO_STATION :{WHITE}...ovdje nema stanice +STR_ERROR_MUST_REMOVE_ROAD_STOP_FIRST :{WHITE}Najprije je potrebno ukloniti cestovnu postaju +STR_ERROR_THERE_IS_NO_STATION :{WHITE}... ovdje nema postaje STR_ERROR_MUST_DEMOLISH_RAILROAD :{WHITE}Najprije je potrebno srušiti željezničku postaju STR_ERROR_MUST_DEMOLISH_BUS_STATION_FIRST :{WHITE}Najprije je potrebno srušiti autobusnu postaju @@ -4266,7 +4346,7 @@ STR_ERROR_CAN_T_CHANGE_WAYPOINT_NAME :{WHITE}Nije mog STR_ERROR_CAN_T_REMOVE_TRAIN_WAYPOINT :{WHITE}Nije moguće ukloniti željezničko čvorište odavde... STR_ERROR_MUST_REMOVE_RAILWAYPOINT_FIRST :{WHITE}Najprije je potrebno ukloniti željezničko čvorište STR_ERROR_BUOY_IN_THE_WAY :{WHITE}... plutača na putu -STR_ERROR_BUOY_IS_IN_USE :{WHITE}... plutača je u uporabi od strane druge kompanije! +STR_ERROR_BUOY_IS_IN_USE :{WHITE}... plutača je u uporabi od strane druge tvrtke! # Depot related errors STR_ERROR_CAN_T_BUILD_TRAIN_DEPOT :{WHITE}Ovdje nije moguće izgraditi spremište vlakova... @@ -4274,7 +4354,7 @@ STR_ERROR_CAN_T_BUILD_ROAD_DEPOT :{WHITE}Ovdje ni STR_ERROR_CAN_T_BUILD_TRAM_DEPOT :{WHITE}Ovdje nije moguće izgraditi tramvajsko spremište... STR_ERROR_CAN_T_BUILD_SHIP_DEPOT :{WHITE}Ovdje nije moguće izgraditi spremište brodova... -STR_ERROR_CAN_T_RENAME_DEPOT :{WHITE}Nije moguće preimenovati depo... +STR_ERROR_CAN_T_RENAME_DEPOT :{WHITE}Nije moguće preimenovati spremište... STR_ERROR_TRAIN_MUST_BE_STOPPED_INSIDE_DEPOT :{WHITE}... mora biti zaustavljen unutar spremišta STR_ERROR_ROAD_VEHICLE_MUST_BE_STOPPED_INSIDE_DEPOT :{WHITE}... mora biti zaustavljen unutar spremišta cestovnih vozila @@ -4349,6 +4429,7 @@ STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Najprije STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}Početak i kraj ne mogu biti na istom mjestu STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}Glave mosta nisu na istoj razini STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}Most je prenizak za teren +STR_ERROR_BRIDGE_TOO_HIGH_FOR_TERRAIN :{WHITE}Most je previsok za ovaj teren. STR_ERROR_START_AND_END_MUST_BE_IN :{WHITE}Početak i kraj moraju biti u ravnini STR_ERROR_ENDS_OF_BRIDGE_MUST_BOTH :{WHITE}... oba kraja mosta moraju biti na zemlji STR_ERROR_BRIDGE_TOO_LONG :{WHITE}... predugačak most @@ -4466,7 +4547,7 @@ STR_ERROR_AIRCRAFT_NOT_ENOUGH_RANGE :{WHITE}... avio # Timetable related errors STR_ERROR_CAN_T_TIMETABLE_VEHICLE :{WHITE}Nije moguće zadati vozni red za vozilo... -STR_ERROR_TIMETABLE_ONLY_WAIT_AT_STATIONS :{WHITE}Vozila mogu čekati samo na stanicama. +STR_ERROR_TIMETABLE_ONLY_WAIT_AT_STATIONS :{WHITE}Vozila mogu čekati samo na postajama. STR_ERROR_TIMETABLE_NOT_STOPPING_HERE :{WHITE}Ovo vozilo se ne zaustavlja na ovoj postaji. # Sign related errors @@ -4915,12 +4996,12 @@ STR_FORMAT_INDUSTRY_NAME :{TOWN} {STRING} STR_FORMAT_WAYPOINT_NAME :Čvorište {TOWN} STR_FORMAT_WAYPOINT_NAME_SERIAL :Čvorište {TOWN} #{COMMA} -STR_FORMAT_DEPOT_NAME_TRAIN :{TOWN} Depo za vlakove -STR_FORMAT_DEPOT_NAME_TRAIN_SERIAL :{TOWN} Depo za vlakove #{COMMA} -STR_FORMAT_DEPOT_NAME_ROAD_VEHICLE :{TOWN} Depo za cestovna vozila -STR_FORMAT_DEPOT_NAME_ROAD_VEHICLE_SERIAL :{TOWN} Depo za cestovna vozila #{COMMA} -STR_FORMAT_DEPOT_NAME_SHIP :{TOWN} Depo za brodove -STR_FORMAT_DEPOT_NAME_SHIP_SERIAL :{TOWN} Depo za brodove #{COMMA} +STR_FORMAT_DEPOT_NAME_TRAIN :{TOWN} Spremište vlakova +STR_FORMAT_DEPOT_NAME_TRAIN_SERIAL :{TOWN} Spremište vlakova #{COMMA} +STR_FORMAT_DEPOT_NAME_ROAD_VEHICLE :{TOWN} Spremište cestovnih vozila +STR_FORMAT_DEPOT_NAME_ROAD_VEHICLE_SERIAL :{TOWN} Spremište cestovnih vozila #{COMMA} +STR_FORMAT_DEPOT_NAME_SHIP :{TOWN} Spremšte za brodove +STR_FORMAT_DEPOT_NAME_SHIP_SERIAL :{TOWN} Spremište brodova #{COMMA} STR_FORMAT_DEPOT_NAME_AIRCRAFT :{STATION} Hangar STR_UNKNOWN_STATION :nepoznata postaja @@ -4950,6 +5031,7 @@ STR_COMPANY_NAME :{COMPANY} STR_COMPANY_NAME_COMPANY_NUM :{COMPANY} {COMPANY_NUM} STR_DEPOT_NAME :{DEPOT} STR_ENGINE_NAME :{ENGINE} +STR_HIDDEN_ENGINE_NAME :{ENGINE} (sakriveno) STR_GROUP_NAME :{GROUP} STR_INDUSTRY_NAME :{INDUSTRY} STR_PRESIDENT_NAME :{PRESIDENT_NAME} @@ -4985,8 +5067,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -4997,9 +5077,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/czech.txt b/src/lang/czech.txt index b06d9d652c..b3e361057c 100644 --- a/src/lang/czech.txt +++ b/src/lang/czech.txt @@ -170,30 +170,30 @@ STR_CARGO_SINGULAR_FIZZY_DRINK :limonád # Quantity of cargo STR_QUANTITY_NOTHING : -STR_QUANTITY_PASSENGERS :{COMMA} cestující{P "" "" ch} +STR_QUANTITY_PASSENGERS :{COMMA}{NBSP}cestující{P "" "" ch} STR_QUANTITY_COAL :{WEIGHT_LONG} uhlí -STR_QUANTITY_MAIL :{COMMA} balík{P "" y ů} pošty +STR_QUANTITY_MAIL :{COMMA}{NBSP}balík{P "" y ů} pošty STR_QUANTITY_OIL :{VOLUME_LONG} ropy -STR_QUANTITY_LIVESTOCK :{COMMA} kus{P "" y ů} dobytka -STR_QUANTITY_GOODS :{COMMA} krabic{P e e ""} zboží +STR_QUANTITY_LIVESTOCK :{COMMA}{NBSP}kus{P "" y ů} dobytka +STR_QUANTITY_GOODS :{COMMA}{NBSP}krabic{P e e ""} zboží STR_QUANTITY_GRAIN :{WEIGHT_LONG} zrní STR_QUANTITY_WOOD :{WEIGHT_LONG} dřeva STR_QUANTITY_IRON_ORE :{WEIGHT_LONG} železné rudy STR_QUANTITY_STEEL :{WEIGHT_LONG} oceli -STR_QUANTITY_VALUABLES :{COMMA} balík{P "" y ů} cenin +STR_QUANTITY_VALUABLES :{COMMA}{NBSP}balík{P "" y ů} cenin STR_QUANTITY_COPPER_ORE :{WEIGHT_LONG} měděné rudy STR_QUANTITY_MAIZE :{WEIGHT_LONG} kukuřice STR_QUANTITY_FRUIT :{WEIGHT_LONG} ovoce -STR_QUANTITY_DIAMONDS :{COMMA} pyt{P el le lů} diamantů +STR_QUANTITY_DIAMONDS :{COMMA}{NBSP}pyt{P el le lů} diamantů STR_QUANTITY_FOOD :{WEIGHT_LONG} jídla STR_QUANTITY_PAPER :{WEIGHT_LONG} papíru -STR_QUANTITY_GOLD :{COMMA} balík{P "" y ů} zlata +STR_QUANTITY_GOLD :{COMMA}{NBSP}balík{P "" y ů} zlata STR_QUANTITY_WATER :{VOLUME_LONG} vody STR_QUANTITY_WHEAT :{WEIGHT_LONG} pšenice STR_QUANTITY_RUBBER :{VOLUME_LONG} kaučuku STR_QUANTITY_SUGAR :{WEIGHT_LONG} cukru -STR_QUANTITY_TOYS :{COMMA} hrač{P ka ky ek} -STR_QUANTITY_SWEETS :{COMMA} pyt{P el le lů} bonbonů +STR_QUANTITY_TOYS :{COMMA}{NBSP}hrač{P ka ky ek} +STR_QUANTITY_SWEETS :{COMMA}{NBSP}pyt{P el le lů} bonbonů STR_QUANTITY_COLA :{VOLUME_LONG} koly STR_QUANTITY_CANDYFLOSS :{WEIGHT_LONG} cukrové vaty STR_QUANTITY_BUBBLES :{COMMA} bublin{P a y ""} @@ -215,7 +215,7 @@ STR_ABBREV_GRAIN :{TINY_FONT}ZR STR_ABBREV_WOOD :{TINY_FONT}DŘ STR_ABBREV_IRON_ORE :{TINY_FONT}ŽR STR_ABBREV_STEEL :{TINY_FONT}OC -STR_ABBREV_VALUABLES :{TINY_FONT}CE +STR_ABBREV_VALUABLES :{TINY_FONT}CN STR_ABBREV_COPPER_ORE :{TINY_FONT}MR STR_ABBREV_MAIZE :{TINY_FONT}KU STR_ABBREV_FRUIT :{TINY_FONT}OV @@ -240,12 +240,12 @@ STR_ABBREV_NONE :{TINY_FONT}NIC STR_ABBREV_ALL :{TINY_FONT}VŠE # 'Mode' of transport for cargoes -STR_PASSENGERS :{COMMA} cestující{P "" "" ch} -STR_BAGS :{COMMA} balík{P "" y ů} -STR_TONS :{COMMA} tun{P a y ""} -STR_LITERS :{COMMA} litr{P "" y ů} -STR_ITEMS :{COMMA} kus{P "" y ů} -STR_CRATES :{COMMA} krabic{P e e ""} +STR_PASSENGERS :{COMMA}{NBSP}cestující{P "" "" ch} +STR_BAGS :{COMMA}{NBSP}balík{P "" y ů} +STR_TONS :{COMMA}{NBSP}tun{P a y ""} +STR_LITERS :{COMMA}{NBSP}litr{P "" y ů} +STR_ITEMS :{COMMA}{NBSP}kus{P "" y ů} +STR_CRATES :{COMMA}{NBSP}krabic{P e e ""} # Colours, do not shuffle STR_COLOUR_DARK_BLUE :Tmavomodrá @@ -266,37 +266,37 @@ STR_COLOUR_GREY :Šedá STR_COLOUR_WHITE :Bílá # Units used in OpenTTD -STR_UNITS_VELOCITY_IMPERIAL :{COMMA} mil/h -STR_UNITS_VELOCITY_METRIC :{COMMA} km/h -STR_UNITS_VELOCITY_SI :{COMMA} m/s +STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}m{P íle íle il}/h +STR_UNITS_VELOCITY_METRIC :{COMMA}{NBSP}km/h +STR_UNITS_VELOCITY_SI :{COMMA}{NBSP}m/s -STR_UNITS_POWER_IMPERIAL :{COMMA} hp -STR_UNITS_POWER_METRIC :{COMMA} hp -STR_UNITS_POWER_SI :{COMMA} kW +STR_UNITS_POWER_IMPERIAL :{COMMA}{NBSP}hp +STR_UNITS_POWER_METRIC :{COMMA}{NBSP}hp +STR_UNITS_POWER_SI :{COMMA}{NBSP}kW -STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}t -STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA} t -STR_UNITS_WEIGHT_SHORT_SI :{COMMA} kg +STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_SI :{COMMA}{NBSP}kg -STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA} tun{P a y ""} -STR_UNITS_WEIGHT_LONG_METRIC :{COMMA} tun{P a y ""} -STR_UNITS_WEIGHT_LONG_SI :{COMMA} kg +STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA}{NBSP}tun{P a y ""} +STR_UNITS_WEIGHT_LONG_METRIC :{COMMA}{NBSP}tun{P a y ""} +STR_UNITS_WEIGHT_LONG_SI :{COMMA}{NBSP}kg -STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}gal -STR_UNITS_VOLUME_SHORT_METRIC :{COMMA} l -STR_UNITS_VOLUME_SHORT_SI :{COMMA} m³ +STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}{NBSP}gal +STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}{NBSP}l +STR_UNITS_VOLUME_SHORT_SI :{COMMA}{NBSP}m³ -STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA} gallon{P "" "y" "ů"} -STR_UNITS_VOLUME_LONG_METRIC :{COMMA} litr{P "" y ů} -STR_UNITS_VOLUME_LONG_SI :{COMMA} m³ +STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA}{NBSP}gallon{P "" "y" "ů"} +STR_UNITS_VOLUME_LONG_METRIC :{COMMA}{NBSP}litr{P "" y ů} +STR_UNITS_VOLUME_LONG_SI :{COMMA}{NBSP}m³ -STR_UNITS_FORCE_IMPERIAL :{COMMA} lbf -STR_UNITS_FORCE_METRIC :{COMMA} kgf -STR_UNITS_FORCE_SI :{COMMA} kN +STR_UNITS_FORCE_IMPERIAL :{COMMA}{NBSP}lbf +STR_UNITS_FORCE_METRIC :{COMMA}{NBSP}kgf +STR_UNITS_FORCE_SI :{COMMA}{NBSP}kN -STR_UNITS_HEIGHT_IMPERIAL :{COMMA} stop{P a y ""} -STR_UNITS_HEIGHT_METRIC :{COMMA} m -STR_UNITS_HEIGHT_SI :{COMMA} m +STR_UNITS_HEIGHT_IMPERIAL :{COMMA}{NBSP}stop{P a y ""} +STR_UNITS_HEIGHT_METRIC :{COMMA}{NBSP}m +STR_UNITS_HEIGHT_SI :{COMMA}{NBSP}m # Common window strings STR_LIST_FILTER_TITLE :{BLACK}Filtrovat řetězec: @@ -323,6 +323,17 @@ STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Posuvní STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Posuvník - posouvá výpisem doleva nebo doprava STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Demolice budov, atd. na čtverečku. Ctrl vybírá diagonální oblast. Shift zobrazí odhad ceny +# Show engines button +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}Zobrazit skryté +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK}Zobrazit skryté +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}Zobrazit skryté +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}Zobrazit skryté + +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}Zapnutím tohoto přepínače se budou zobrazovat i skryté lokomotivy a vagóny +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE_TOOLTIP :{BLACK}Zapnutím tohoto přepínače se budou zobrazovat i skrytá silniční vozidla +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}Zapnutím tohoto přepínače se budou zobrazovat i skryté lodě +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Zapnutím tohoto přepínače se budou zobrazovat i skrytá letadla + # Query window STR_BUTTON_DEFAULT :{BLACK}Původní STR_BUTTON_CANCEL :{BLACK}Zrušit @@ -436,7 +447,7 @@ STR_SCENEDIT_FILE_MENU_QUIT :Ukončit ############ range for settings menu starts STR_SETTINGS_MENU_GAME_OPTIONS :Možnosti hry -STR_SETTINGS_MENU_CONFIG_SETTINGS :Pokročilé nastavení +STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Nastavení STR_SETTINGS_MENU_SCRIPT_SETTINGS :Nastavení AI / hry STR_SETTINGS_MENU_NEWGRF_SETTINGS :Nastavení grafik STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Nastavení průhlednosti @@ -545,7 +556,7 @@ STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Přepnout ohran STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Přepnout zbarvení špinavých bloků ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window STR_ORDINAL_NUMBER_1ST :1. STR_ORDINAL_NUMBER_2ND :2. STR_ORDINAL_NUMBER_3RD :3. @@ -561,22 +572,40 @@ STR_ORDINAL_NUMBER_12TH :12. STR_ORDINAL_NUMBER_13TH :13. STR_ORDINAL_NUMBER_14TH :14. STR_ORDINAL_NUMBER_15TH :15. -STR_ORDINAL_NUMBER_16TH :16. -STR_ORDINAL_NUMBER_17TH :17. -STR_ORDINAL_NUMBER_18TH :18. -STR_ORDINAL_NUMBER_19TH :19. -STR_ORDINAL_NUMBER_20TH :20. -STR_ORDINAL_NUMBER_21ST :21. -STR_ORDINAL_NUMBER_22ND :22. -STR_ORDINAL_NUMBER_23RD :23. -STR_ORDINAL_NUMBER_24TH :24. -STR_ORDINAL_NUMBER_25TH :25. -STR_ORDINAL_NUMBER_26TH :26. -STR_ORDINAL_NUMBER_27TH :27. -STR_ORDINAL_NUMBER_28TH :28. -STR_ORDINAL_NUMBER_29TH :29. -STR_ORDINAL_NUMBER_30TH :30. -STR_ORDINAL_NUMBER_31ST :31. +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :1. +STR_DAY_NUMBER_2ND :2. +STR_DAY_NUMBER_3RD :3. +STR_DAY_NUMBER_4TH :4. +STR_DAY_NUMBER_5TH :5. +STR_DAY_NUMBER_6TH :6. +STR_DAY_NUMBER_7TH :7. +STR_DAY_NUMBER_8TH :8. +STR_DAY_NUMBER_9TH :9. +STR_DAY_NUMBER_10TH :10. +STR_DAY_NUMBER_11TH :11. +STR_DAY_NUMBER_12TH :12. +STR_DAY_NUMBER_13TH :13. +STR_DAY_NUMBER_14TH :14. +STR_DAY_NUMBER_15TH :15. +STR_DAY_NUMBER_16TH :16. +STR_DAY_NUMBER_17TH :17. +STR_DAY_NUMBER_18TH :18. +STR_DAY_NUMBER_19TH :19. +STR_DAY_NUMBER_20TH :20. +STR_DAY_NUMBER_21ST :21. +STR_DAY_NUMBER_22ND :22. +STR_DAY_NUMBER_23RD :23. +STR_DAY_NUMBER_24TH :24. +STR_DAY_NUMBER_25TH :25. +STR_DAY_NUMBER_26TH :26. +STR_DAY_NUMBER_27TH :27. +STR_DAY_NUMBER_28TH :28. +STR_DAY_NUMBER_29TH :29. +STR_DAY_NUMBER_30TH :30. +STR_DAY_NUMBER_31ST :31. ############ range for days ends ############ range for months starts @@ -897,13 +926,12 @@ STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}{VEHICLE STR_NEWS_SHIP_IS_WAITING :{WHITE}{VEHICLE} čeká v depu STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE} čeká v hangáru -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE +# Order review system / warnings STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE} má příliš málo příkazů STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE} nemá žádné příkazy STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE} má zdvojené příkazy STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE} má v příkazech neplatnou stanici -# end of order system +STR_NEWS_PLANE_USES_TOO_SHORT_RUNWAY :{WHITE}{VEHICLE} má v příkazech letiště, jehož dráha je příliš krátká STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} zastarává STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} silně zastarává @@ -986,10 +1014,6 @@ STR_GAME_OPTIONS_CURRENCY_GEL :Georgijské Lar STR_GAME_OPTIONS_CURRENCY_IRR :Íránský Riál (IRR) ############ end of currency region - -############ start of measuring units region -############ end of measuring units region - STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Silniční vozidla jezdí STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}Výběr strany, na které jezdí silnični vozidla STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :Vlevo @@ -1025,11 +1049,13 @@ STR_GAME_OPTIONS_TOWN_NAME_CATALAN :Katalánská STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Automatické ukládání STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Volba intervalu mezi automatickým ukládáním hry +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Vypnuto STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :Každý měsíc STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :Každé 3 měsíce STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :Každých 6 měsíců STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :Každých 12 měsíců +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}Jazyk STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Zvolit jazyk uživatelského rozhraní @@ -1041,8 +1067,12 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}Rozliše STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Zvolit rozlišení obrazovky STR_GAME_OPTIONS_RESOLUTION_OTHER :jiné -STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}Formát screenshotů -STR_GAME_OPTIONS_SCREENSHOT_FORMAT_TOOLTIP :{BLACK}Zvolit formát screenshotů +STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Velikost rozhraní +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Zvolil velikost prvků uživatelského rozhraní + +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normální +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Dvojnásobná velikost +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Čtyřnásobná velikost STR_GAME_OPTIONS_BASE_GRF :{BLACK}Základní sada grafiky STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Zvol základní sadu grafiky @@ -1058,6 +1088,7 @@ STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Vyberte STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} poškozen{P ý é é} soubor{P "" y y} STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Další informace o základním hudebním setu +STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Nepodařilo se získat seznam podporovaných rozlišení STR_ERROR_FULLSCREEN_FAILED :{WHITE}Selhalo přepnutí na celou obrazovku # Custom currency window @@ -1136,6 +1167,7 @@ STR_TERRAIN_TYPE_VERY_FLAT :velmi plochá STR_TERRAIN_TYPE_FLAT :plochá STR_TERRAIN_TYPE_HILLY :kopcovitá STR_TERRAIN_TYPE_MOUNTAINOUS :hornatá +STR_TERRAIN_TYPE_ALPINIST :Alpské STR_CITY_APPROVAL_PERMISSIVE :nezaujatý STR_CITY_APPROVAL_TOLERANT :tolerantní @@ -1143,8 +1175,8 @@ STR_CITY_APPROVAL_HOSTILE :zaujatý STR_WARNING_NO_SUITABLE_AI :{WHITE}Žádná vhodná AI není k dispozici...{}Některé AI lze stáhnout pomocí služby "Stahovat součásti" -# Advanced settings window -STR_CONFIG_SETTING_CAPTION :{WHITE}Pokročilé nastavení +# Settings tree window +STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Nastavení STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Filtrovat podle: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Rozbalit vše STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Sbalit vše @@ -1159,16 +1191,16 @@ STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :Nastavení spol STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK}Kategorie: STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}Druh: -STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Zobrazovat v seznamu níže pouze změněná nastavení -STR_CONFIG_SETTING_RESTRICT_BASIC :Základní nastavení -STR_CONFIG_SETTING_RESTRICT_ADVANCED :Pokročilé nastavení -STR_CONFIG_SETTING_RESTRICT_ALL :Expertní nastavení / všechna nastavení +STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Omezit nastavení v seznamu níže pomocí předdefinovaných filtrů +STR_CONFIG_SETTING_RESTRICT_BASIC :Základní (zobrazí pouze důležitá nastavení) +STR_CONFIG_SETTING_RESTRICT_ADVANCED :Pokročilé (zobrazí většinu nastavení) +STR_CONFIG_SETTING_RESTRICT_ALL :Expertní (zobrazí všechna nastavení, včetně těch podivných) STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :Nastavení s jinou než defaultní hodnotou STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :Nastavení s jinou hodnotou než tvé nastavení nových her STR_CONFIG_SETTING_TYPE_DROPDOWN_HELPTEXT :{BLACK}Omezí určitá nastavení v seznamu níže STR_CONFIG_SETTING_TYPE_DROPDOWN_ALL :Všechny typy nastavení -STR_CONFIG_SETTING_TYPE_DROPDOWN_CLIENT :Nastavení klienta (není uchováno v uložených hrách; ovlivní všechny hry) +STR_CONFIG_SETTING_TYPE_DROPDOWN_CLIENT :Nastavení klienta (neuchována v uložených hrách; ovlivní všechny hry) STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :Nastavení hry (uchováno v uložených hrách; ovlivní pouze nové hry) STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :Nastavení hry (uchováno v uložené hře; ovlivní pouze stávající hru) STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :Nastavení společnosti (uchováno v uložených hrách; ovlivní pouze nové hry) @@ -1217,9 +1249,10 @@ STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Katastrofy, kte STR_CONFIG_SETTING_CITY_APPROVAL :Postoj městské rady k úpravám v oblasti: {STRING} STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Vyber jak moc hluku a změn prostředí poškozuje hodnocení společnosti u města a tak dále komplikuje budoucí stavbu na jeho území -STR_CONFIG_SETTING_BUILDONSLOPES :Povolit výstavbu na svazích kopců a na pobřežích: {STRING} -STR_CONFIG_SETTING_BUILDONSLOPES_HELPTEXT :Pokud je zapnuto, tratě a stanice mohou být postaveny na většině svahů. Pokud ne, mohou být postaveny pouze na svazích stejného směru tak, že nevyžadují žádné základy. -STR_CONFIG_SETTING_AUTOSLOPE :Srovnání terénu pod budovami, kolejemi atd. (autoslope): {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :Maximální výška mapy: {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :Nastavit maximální povolenou výšku hor na mapě +STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}Nemůžete změnit maximální výšku mapy na tuto hodnotu. Alespoň jedna hora na mapě je vyšší. +STR_CONFIG_SETTING_AUTOSLOPE :Povolit srovnání terénu pod budovami, kolejemi atd. (autoslope): {STRING} STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Povoluje změnu terénu pod budovami a tratěmi bez jejich odstranění STR_CONFIG_SETTING_CATCHMENT :Povolit u oblasti pokrytí realističtější velikost: {STRING} STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Rozdílná velikost oblasti pokrytí u různých stanic a letišť @@ -1227,8 +1260,8 @@ STR_CONFIG_SETTING_EXTRADYNAMITE :Povolit bourán STR_CONFIG_SETTING_EXTRADYNAMITE_HELPTEXT :Usnadňuje odstranění městských staveb a silnic STR_CONFIG_SETTING_TRAIN_LENGTH :Maximální délka vlaků: {STRING} STR_CONFIG_SETTING_TRAIN_LENGTH_HELPTEXT :Určuje maximální délku vlaků -STR_CONFIG_SETTING_TILE_LENGTH :{COMMA} pole{P e e í} -STR_CONFIG_SETTING_SMOKE_AMOUNT :množství kouře/jisker u stroje: {STRING} +STR_CONFIG_SETTING_TILE_LENGTH :{COMMA} pol{P e e í} +STR_CONFIG_SETTING_SMOKE_AMOUNT :Množství kouře/jisker u vozidel: {STRING} STR_CONFIG_SETTING_SMOKE_AMOUNT_HELPTEXT :Množštví kouře či jisker emitovaných vozidly STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL :Model akcelerace vlaků: {STRING} STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL_HELPTEXT :Zvolit fyzikální model pro zrychlení vlaků. "Originální" model zpomaluje všechny vozidla na svahu stejně. Realistický model zpomaluje na svazích a v zatáčkách podle různých parametrů, například délky a tažné síly. @@ -1243,16 +1276,12 @@ STR_CONFIG_SETTING_FORBID_90_DEG :Zakázat vlaků STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90° zatočení nastane ve chvíli, kdy vodorovná kolej přímo navazuje na svislou kolej na vedlejším políčku. Vlak tak zatáčí o 90° místo klasických 45° u jiných kombinací kolejí. Ovlivní i zatáčení lodí. STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Umožnit spojení nesousedících stanic: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Povolit přidávání částí stanice, které se nedotýkají již existujících částí. Je potřeba stisknout Ctrl při přidávání nových částí. -STR_CONFIG_SETTING_IMPROVEDLOAD :Použít vylepšený algoritmus nakládání: {STRING} -STR_CONFIG_SETTING_IMPROVEDLOAD_HELPTEXT :Pokud je zapnuto, vozidla čekající ve stanici jsou nakládána postupně. Nakládání druhého vozidla začne pouze pokud ve stanici čeká dostatek nákladu k plnému naložení prvního vozidla. -STR_CONFIG_SETTING_GRADUAL_LOADING :Nakládat vozidla postupně: {STRING} -STR_CONFIG_SETTING_GRADUAL_LOADING_HELPTEXT :Postupně nakládat vozidla po danou dobu, místo nakládání všeho najednou za pevný čas stanovený množstvím nákladu STR_CONFIG_SETTING_INFLATION :Inflace: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :Povolit inflaci. Ceny se časem zvyšují mírně rychleji než platby. -STR_CONFIG_SETTING_SELECTGOODS :Dodávat zboží do stanice jen když je poptávka: {STRING} -STR_CONFIG_SETTING_SELECTGOODS_HELPTEXT :Stanice přijme náklad pouze pokud je vyžadován nakládajícím vozidlem. Zamezí se tak špatnému hodnocení u nákladů, které nejsou ze stanice vůbec odváženy STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Maximální délka mostu: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Určuje maximální délku mostů +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :Maximální výška mostu: {STRING} +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :Maximální výška pro stavění mostů STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Maximální délka tunelu: {STRING} STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :Určuje maximální délku tunelů STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Způsob manuálního budování primárního průmyslu: {STRING} @@ -1278,8 +1307,6 @@ STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Místo kde vlak STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :na začátku STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :uprostřed STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :na konci -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING :Silniční vozidla stojí fronty (s kvantovým efektem): {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING_HELPTEXT :Vozidlo bude stát před zastávkou dokud se neuvolní STR_CONFIG_SETTING_AUTOSCROLL :Posouvat okno, když je kurzor na okraji: {STRING} STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Pokud je zapnuto, pohledy se začnou posouvat pokud bude kurzor v blízkosti okraje okna STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Vypnuto @@ -1310,10 +1337,6 @@ STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Stavba průjezd STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Povoluje stavbu průjezdných stanic na městem vlastněných silnicích STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Stavba průjezdných zastávek na silnicích vlastněných konkurencí: {STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Povolit stavění průjezných stanic na silnicích vlastněných jinými společnostmi. -STR_CONFIG_SETTING_ADJACENT_STATIONS :Povolit stavění přilehlých stanic: {STRING} -STR_CONFIG_SETTING_ADJACENT_STATIONS_HELPTEXT :Povoluje stavbu stanic dotýkajících se jiných -STR_CONFIG_SETTING_DYNAMIC_ENGINES :Více grafických setů s vozidly vedle sebe: {STRING} -STR_CONFIG_SETTING_DYNAMIC_ENGINES_HELPTEXT :Možnost kompatibility pro starší grafiky. Nevypínej, pokud nevíš co přesně děláš! STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Toto nastavení nemůže být změněno, když jsou ve hře již nějaká vozidla STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Udržování infrastruktury: {STRING} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Pokud je zapnuto, je třeba platit za údržbu infrastruktury. Náklady vzrůstají společně s velikostí dopravní sítě, takže velké společnosti platí více než malé. @@ -1334,7 +1357,7 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Vozidlům se ni STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Pokud je zapnuto, všechny modely vlaků zůstanou po uvedení dostupné napořád. (nezastarají) STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Automaticky nahradit dopravní prostředek, když zestárne: {STRING} STR_CONFIG_SETTING_AUTORENEW_VEHICLE_HELPTEXT :Pokud je zapnuto, vozidla na konci své plánované životnosti budou automaticky nahrazena, když jsou splněny podmínky pro automatické obnovení. -STR_CONFIG_SETTING_AUTORENEW_MONTHS :Automaticky nahradit vozidlo {STRING} před/po dosažení životnosti +STR_CONFIG_SETTING_AUTORENEW_MONTHS :Automaticky nahradit vozidlo při dosažení {STRING} životnosti STR_CONFIG_SETTING_AUTORENEW_MONTHS_HELPTEXT :Relativní věk kdy by měli být vozidlo automaticky vyměněno za nové STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_BEFORE :{COMMA} měsíc{P "" e ů} před STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_AFTER :{COMMA} měsíc{P "" e ů} po @@ -1344,35 +1367,49 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :Doba zobrazení STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Doba zobrazení chybových zpráv v červeném okně. Některé zprávy o (kritických) chybách však nejsou zavírány automaticky a musí být zavřeny ručně. STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{COMMA} sekund STR_CONFIG_SETTING_HOVER_DELAY :Zobrazení kontextové nápovědy: {STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Prodleva před zobrazením nápovědy, pokud se kurzor vznáší nad nějakým ovládacím prvkem. Nápověda může být rovněž vyvolána pravým tlačítkem myši. -STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Podržet kurzor nad {COMMA} sekund +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Prodleva před zobrazením nápovědy, pokud kurzor leží nad nějakým ovládacím prvkem. Nápověda může být rovněž vyvolána pravým tlačítkem myši. +STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Podržet kurzor po dobu {COMMA} sekund{P y "" ""} STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Pravým klikem STR_CONFIG_SETTING_POPULATION_IN_LABEL :Zobrazovat populaci města v jeho popisku: {STRING} STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Zobrazovat městskou populaci u názvu města na mapě STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Tloušťky čar v grafech: {STRING} STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Tloušťka čáry v grafech. Tenká čára se čte přesněji, silnější je lépe viditelná a barva je snadněji rozpoznatelná. +STR_CONFIG_SETTING_LANDSCAPE :Klima: {STRING} +STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Klima určuje základy herního scénáře s rozdílnými druhy nákladu a požadavky na růst měst. Nové GRaFiky a Herní Skripty umožní ještě jemnější kontrolu STR_CONFIG_SETTING_LAND_GENERATOR :Tvůrce krajiny: {STRING} +STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :Originální generátor závisí na originálním setu grafik a tvoří mapy pevně daného tvaru. TerraGenesis je založen na generátoru Perlinova šumu s lepšími možnostmi nastavení STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :původní STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis +STR_CONFIG_SETTING_TERRAIN_TYPE :Druh terénu: {STRING} +STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(pouze TerraGenesis) Hornatost terénu +STR_CONFIG_SETTING_INDUSTRY_DENSITY :Množství průmyslu: {STRING} +STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Nastavuje množství průmyslu, které bude nyní vytvořeno a udržováno v průběhu hry STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Maximální vzdálenost rafinerie od okraje mapy: {STRING} STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Ropné rafinerie jsou stavěny pouze blízko okrajům mapy. Pokud je mapa ostrov, pak je to pobřeží. STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Výška sněhové čáry: {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Členitost krajiny (jen TerraGenesis): {STRING} +STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Určuje o jaké výšky se vyskytuje sníh u subarktického klimatu. Sníh rovněž ovlivňuje vytváření průmyslu a požadavky na růst měst +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Členitost krajiny: {STRING} +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(Pouze TerraGenesis) Zvol množství hor: Rovinatý terén má méně hor, které jsou však rozlehlejší. Členitý terén má mnoho hor, u kterých se může zdát, že se upakují STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :velmi rovná STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :rovná STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :členitá STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :velmi členitá +STR_CONFIG_SETTING_VARIETY :Rozmanitost umisťování: {STRING} +STR_CONFIG_SETTING_VARIETY_HELPTEXT :(Pouze TerraGenesis) Určuje, zda krajina bude obsahovat zároveň hory i roviny. Vzhledem k tomu, že toto dělá mapu rovinatější, ostatní nastavení by měla být nastavena na hornatá +STR_CONFIG_SETTING_RIVER_AMOUNT :Množství řek: {STRING} +STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Zvol množství řek k vytvoření STR_CONFIG_SETTING_TREE_PLACER :Algoritmus sázení stromového porostu: {STRING} -STR_CONFIG_SETTING_TREE_PLACER_NONE :žádné +STR_CONFIG_SETTING_TREE_PLACER_HELPTEXT :Zvol způsob rozmisťování stromů ve světe: "Originální" sází stromy rovnoměrně, "Vylepšené" sází stromy ve skupinách +STR_CONFIG_SETTING_TREE_PLACER_NONE :žádný STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :původní -STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :vylepšené +STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :vylepšený +STR_CONFIG_SETTING_ROAD_SIDE :Silniční vozidla: {STRING} +STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :Zvol na jaké straně vozovky jezdí vozidla STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Otočení výškové mapy: {STRING} STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Doleva STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Doprava STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :Výšková úroveň pro plochou krajinu: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :Umožnit terénní úpravy na okrajích mapy: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES_HELPTEXT :Pokud je deaktivován, okraje mapy budou vždy tvořeny oceánem STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}Alespoň jeden dílek na severním okraji není prázdný STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}Alespoň jeden dílek na jednom z okrajů není zaplaven @@ -1423,17 +1460,15 @@ 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_AUTOSAVE :Automaticky ukládat: {STRING} +STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Zvol frekvenci automatického ukládání + STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Pro jméno uložené hry použít {STRING} formát STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Formát data v názvu uložené hry STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :dlouhý (31. pro 2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :krátký (31-12-2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE :Předpokládaná základní paleta pro NewGRF nespecifikuje paletu: {STRING} -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_HELPTEXT :Pro nové grafiky, které nemají definovanou potřebnou paletu, použít paletu defaultní. -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_DOS :Původní (D) paleta -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_WIN :Stará (W) paleta - STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Zastavit automaticky hru při začínání nové hry: {STRING} STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :Pokud je zapnuto, hra se na začátku nové hry automaticky pozastaví a umožní tak bližší prozkoumání mapy STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :V pozastavené hře povolit: {STRING} @@ -1442,7 +1477,7 @@ STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :Žádné akce STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :Všechny akce kromě stavebních STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :Všechny akce kromě úprav terénu STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_ACTIONS :Všechny akce -STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Používat pokročilý seznam vozidel: {STRING} +STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Používat seznam vozidel se skupinami: {STRING} STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Umožňuje použití vylepšeného seznamu vozidel ve skupinách STR_CONFIG_SETTING_LOADING_INDICATORS :Používat ukazatele naložení: {STRING} STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Vyber jestli budou zobrazovány ukazatele naložení nad nakládajícími a vykládajícími vozidly. @@ -1483,7 +1518,7 @@ STR_CONFIG_SETTING_SOUND_AMBIENT_HELPTEXT :Přehrávat zvu STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING :Zakázat zastávky, když nejsou dostupná příslušná vozidla: {STRING} STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING_HELPTEXT :Pokud je zapnuto, infrastruktura je dostupná pouze pokud jsou k dispozici vozidla, která ji mohou používat. Zamezí ztrátě času a peněz za budovaní nevyužitelné infrastruktury -STR_CONFIG_SETTING_MAX_TRAINS :Maximum vlaků na hráče: {STRING} +STR_CONFIG_SETTING_MAX_TRAINS :Maximum vlaků na společnost: {STRING} STR_CONFIG_SETTING_MAX_TRAINS_HELPTEXT :Maximální počet vlaků, které může společnost vlastnit STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :Maximum silničních vozidel na společnost: {STRING} STR_CONFIG_SETTING_MAX_ROAD_VEHICLES_HELPTEXT :Maximální počet vozidel, které může společnost vlastnit @@ -1516,7 +1551,7 @@ STR_CONFIG_SETTING_SERVINT_ISPERCENT :Intervaly servi STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Vyber, jestli potřebu návštěvy servisu určuje čas od poslední návštěvy nebo určitý pokles % spolehlivosti od jejího maxima. STR_CONFIG_SETTING_SERVINT_TRAINS :Základní servisní interval pro vlaky: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Nastaví defaultní servisní interval pro vlaky. -STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA} dní/% +STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}dní/% STR_CONFIG_SETTING_SERVINT_DISABLED :Vypnuto STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES :Základní servisní interval pro silniční vozidla: {STRING} STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES_HELPTEXT :Nastaví defaultní servisní interval pro silniční vozidla pokud vozidlo nemá nastaveno jiný servisní interval @@ -1525,11 +1560,11 @@ STR_CONFIG_SETTING_SERVINT_AIRCRAFT_HELPTEXT :Nastaví defaul STR_CONFIG_SETTING_SERVINT_SHIPS :Základní servisní interval pro lodě: {STRING} STR_CONFIG_SETTING_SERVINT_SHIPS_HELPTEXT :Nastaví defaultní servisní interval pro lodě pokud loď nemá nastaven jiný servisní interval STR_CONFIG_SETTING_NOSERVICE :Vypnout servisy, když jsou vypnuty poruchy: {STRING} -STR_CONFIG_SETTING_NOSERVICE_HELPTEXT :Pokud je zapnuto, vozidla nejezdí do servisu pokud se nemohou porouchat, tedy pokud jsou vypnuty poruchy +STR_CONFIG_SETTING_NOSERVICE_HELPTEXT :Pokud je zapnuto a zároveň jsou vypnuty poruchy, vozidla nebudou vůbec jezdit do servisu, protože se nemohou nikdy porouchat STR_CONFIG_SETTING_WAGONSPEEDLIMITS :Zapnout omezení rychlosti vagonů: {STRING} STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT :Pokud zapnuto, použije rychlostní omezení vagónů při stanovení maximální rychlosti vlaku STR_CONFIG_SETTING_DISABLE_ELRAILS :Vypnout elektrickou železnici: {STRING} -STR_CONFIG_SETTING_DISABLE_ELRAILS_HELPTEXT :Zapnutím této možnosti odstraní potřebu elektrifikované trati pro elektrické lokomotivy +STR_CONFIG_SETTING_DISABLE_ELRAILS_HELPTEXT :Zapnutí této možnosti odstraní potřebu elektrifikované trati pro elektrické lokomotivy STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OWN :Příjezd prvního vozidla do hráčovy stanice: {STRING} STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OWN_HELPTEXT :Zobrazovat noviny pokud první vozidlo dorazí do stanice této společnosti @@ -1583,7 +1618,7 @@ STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT :Zvol chování STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE :Semafory automaticky stavět do roku: {STRING} STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT :Nastav rok, ve kterém budou používány elektrické semafory. Před tímto rokem jsou používány mechanické, které fungují stejně ale mají jiný vzhled STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI :Okno pro stavbu návěstidel: {STRING} -STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI_HELPTEXT :Zobrazovat okno pro vybrání typu semaforů místo "bezokeního" měnění pomocí ctrl+kliku při jejich stavbě. +STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI_HELPTEXT :Zobrazovat okno pro vybrání typu semaforů místo "bezokeního" měnění pomocí ctrl+klikání na existující semafor STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE :Výchozí typ návěstidla: {STRING} STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE_HELPTEXT :Výchozí typ semaforu k použití STR_CONFIG_SETTING_DEFAULT_SIGNAL_NORMAL :obyčejné @@ -1607,7 +1642,7 @@ STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT :Povolí městů STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :Města mohou stavět přejezdy: {STRING} STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Povolení tohoto nastavení umožní městům, budovat železniční přejezdy STR_CONFIG_SETTING_NOISE_LEVEL :Umožnit městům ovlivňovat hlukový limit pro letiště: {STRING} -STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Pokud je vypnuto, ve každém městě mohou být dvě letiště. Pokud je zapnuto, počet letišť bude omezen hlukovými limity města, což závisí na jeho populaci, velikosti letiště a jeho vzdálenosti od centra města +STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Pokud je vypnuto, ve každém městě mohou být dvě letiště. Pokud je zapnuto, počet letišť ve městě bude omezen hlukovými limity města, což závisí na jeho populaci, velikosti letiště a jeho vzdálenosti od centra města STR_CONFIG_SETTING_TOWN_FOUNDING :Zakládání měst během hry: {STRING} STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Povoluje hráčům zakládat nové města během hry STR_CONFIG_SETTING_TOWN_FOUNDING_FORBIDDEN :Zakázáno @@ -1655,20 +1690,18 @@ STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 z {COMMA} STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Žádné STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Činitel základní velikosti města: {STRING} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Průměrná velikost větších měst v porovnání s ostatními městy na začátku hry -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :Odstraňovat nesmyslné prvky vozovky při výstavbě silnic: {STRING} -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD_HELPTEXT :Odstraní mrtvé konce silnice při rekonstrukci silnic -STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Aktualizovat distribuční graf každých {STRING} {P den dny dnů} +STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Aktualizovat distribuční graf po {STRING}{P 0:2 dni dnech dnech} STR_CONFIG_SETTING_LINKGRAPH_INTERVAL_HELPTEXT :Čas mezi přepočítáváním částí grafu spojení. Každý přepočet přepočítává plány jedné části grafu. To znamená, že hodnota X u toho nastavení nezpůsobí, že se každých X dní přepočítá celý graf, ale pouze určité části. Čím kratší interval nastavíš, tím více času CPU bude potřeba ke spočítání. Čím delší nastavíš, tím déle bude trvat dokud si distribuce nákladu najde nové trasy. -STR_CONFIG_SETTING_LINKGRAPH_TIME :Zaber si {STRING} {P "den" "dny" "dnů"} na přepočet grafu spojení +STR_CONFIG_SETTING_LINKGRAPH_TIME :Zaber si {STRING}{NBSP}{P 0:2 "den" "dny" "dní"} na přepočet grafu spojení STR_CONFIG_SETTING_LINKGRAPH_TIME_HELPTEXT :Čas vyhrazený pro každý přepočet části grafu spojení. Pokud přepočet začne, je vytvořeno nové vlákno, které má dovoleno běžet po zvolený počet dnů. Čím nižší hodnotu nastavíš tím je pravděpodobnější, že vlákno nebude dokončeno kdy má. Pokud se tak stane, hra se zastaví ("lagne") dokud dokončeno nebude. Čím vyšší hodnotu nastavíš, tím déle bude trvat aktualizace grafu pokud se trasy změní. STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :manuální STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :nerovnoměrný STR_CONFIG_SETTING_DISTRIBUTION_SYMMETRIC :rovnoměrný STR_CONFIG_SETTING_DISTRIBUTION_PAX :Mód distribuce pro cestující: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"Rovnoměrný" znamená, že téměř stejné množství cestujících bude chce cestovat ze stanice A do stanice B, jako ze stanice B do A. "Nerovnoměrný znamená", že libovolné množství cestujících může cestovat v jakýchkoliv směrech. "manuální" znamená, že zde nebude žádná automatická distribuce pro cestující. +STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"Rovnoměrný" znamená, že téměř stejné množství cestujících chce cestovat ze stanice A do stanice B, jako ze stanice B do A. "Nerovnoměrný znamená", že libovolné množství cestujících může cestovat v jakýchkoliv směrech. "manuální" znamená, že zde nebude žádná automatická distribuce pro cestující. STR_CONFIG_SETTING_DISTRIBUTION_MAIL :Mód distribuce pro poštu: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"Rovnoměrný" znamená, že téměř stejné množství pošty bude odesláno ze stanice A do stanice B, jako ze stanice B do A. "Nerovnoměrný znamená", že libovolná množství pošty může být odesláno v jakýchkoliv směrech. "manuální" znamená, že zde nebude žádná automatická distribuce pro poštu. +STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"Rovnoměrný" znamená, že téměř stejné množství pošty bude odesláno ze stanice A do stanice B, jako ze stanice B do A. "Nerovnoměrný znamená", že libovolné množství pošty může být odesláno v jakýchkoliv směrech. "manuální" znamená, že zde nebude žádná automatická distribuce pro poštu. STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Mód distribuce pro náklady pancéřových vozů: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :Pancéřované vozy převážejí ceniny v mírném, diamanty v subtropickém nebo zlato v subarktickém klimatu. Nové grafiky však toho mohou změnit. "Rovnoměrný" znamená, že téměř stejné množství nákladu bude odesláno ze stanice A do stanice B, jako ze stanice B do A. "Nerovnoměrný znamená", že libovolná množství nákladu mohou být odeslána v jakýchkoliv směrech. "manuální" znamená, že zde nebude žádná automatická distribuce pro tyto druhy nákladu. Je doporučeno nastavit "nerovnoměrný" nebo "manuální" při hraní v subarktickém klimatu, neboť banky neposílají do dolů žádné zlato. Pro mírné a subtropické klima můžeš nastavit "rovnoměrné", neboť banky odesílají zpět do původní banky nějaký náklad cenin. STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Módy distribuce pro ostatní třídy nákladu: {STRING} @@ -1718,27 +1751,29 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :Imperiální (f STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :Metrické (m) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :SI (m) -STR_CONFIG_SETTING_GUI :{ORANGE}Ovládaní STR_CONFIG_SETTING_LOCALISATION :{ORANGE}Překlad -STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}Výstavba +STR_CONFIG_SETTING_GRAPHICS :{ORANGE}Grafika +STR_CONFIG_SETTING_SOUND :{ORANGE}Zvuk +STR_CONFIG_SETTING_INTERFACE :{ORANGE}Ovládaní +STR_CONFIG_SETTING_INTERFACE_GENERAL :{ORANGE}Obecné +STR_CONFIG_SETTING_INTERFACE_VIEWPORTS :{ORANGE}Pohledy +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Výstavba +STR_CONFIG_SETTING_ADVISORS :{ORANGE}Novinky / Poradci +STR_CONFIG_SETTING_COMPANY :{ORANGE}Společnost +STR_CONFIG_SETTING_ACCOUNTING :{ORANGE}Účetnictví STR_CONFIG_SETTING_VEHICLES :{ORANGE}Dopravní prostředky -STR_CONFIG_SETTING_STATIONS :{ORANGE}Stanice -STR_CONFIG_SETTING_ECONOMY :{ORANGE}Ekonomika -STR_CONFIG_SETTING_LINKGRAPH :{ORANGE}Distribuce nákladu -STR_CONFIG_SETTING_AI :{ORANGE}Konkurenti -STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}Zobrazení -STR_CONFIG_SETTING_INTERACTION :{ORANGE}Chování -STR_CONFIG_SETTING_SOUND :{ORANGE}Zvukové efekty -STR_CONFIG_SETTING_NEWS :{ORANGE}Novinky a zprávy -STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}Návěstidla -STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE}Náklad -STR_CONFIG_SETTING_AI_NPC :{ORANGE}Umělá inteligence -STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE}Obnovování -STR_CONFIG_SETTING_VEHICLES_SERVICING :{ORANGE}Servis +STR_CONFIG_SETTING_VEHICLES_PHYSICS :{ORANGE}Fyzika STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Směrování -STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}Vlaky -STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}Města -STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}Průmysl +STR_CONFIG_SETTING_LIMITATIONS :{ORANGE}Omezení +STR_CONFIG_SETTING_ACCIDENTS :{ORANGE}Katastrofy / Nehody +STR_CONFIG_SETTING_GENWORLD :{ORANGE}Generování krajiny +STR_CONFIG_SETTING_ENVIRONMENT :{ORANGE}Prostředí +STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :{ORANGE}Městská správa +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Města +STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}Průmysl +STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :{ORANGE}Distribuce nákladu +STR_CONFIG_SETTING_AI :{ORANGE}Konkurenti +STR_CONFIG_SETTING_AI_NPC :{ORANGE}Umělá inteligence STR_CONFIG_SETTING_PATHFINDER_OPF :Původní STR_CONFIG_SETTING_PATHFINDER_NPF :NPF @@ -1787,7 +1822,7 @@ STR_INTRO_MULTIPLAYER :{BLACK}Více hr STR_INTRO_GAME_OPTIONS :{BLACK}Možnosti hry STR_INTRO_HIGHSCORE :{BLACK}Nejlepší výsledky -STR_INTRO_ADVANCED_SETTINGS :{BLACK}Pokročilé nastavení +STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Nastavení STR_INTRO_NEWGRF_SETTINGS :{BLACK}Nastavení grafik STR_INTRO_ONLINE_CONTENT :{BLACK}Stahovat součásti STR_INTRO_SCRIPT_SETTINGS :{BLACK}Nastavení AI / hry @@ -1807,7 +1842,7 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Země hr STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Zobrazit možnosti hry STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Zobrazit tabulku nejlepších výsledků -STR_INTRO_TOOLTIP_ADVANCED_SETTINGS :{BLACK}Zobrazit pokročilé nastavení +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Nastavení zobrazení STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Ukázat nastavení NewGRF STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Ukázat, jaký nový nebo upravený obsah se dá stáhnout STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Zobrazit nastavení AI a hry @@ -1847,6 +1882,8 @@ STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Hrát j STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Magický buldozer (odstraní průmysl a další objekty): {ORANGE}{STRING} STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}Tunely se mohou křížit: {ORANGE}{STRING} STR_CHEAT_NO_JETCRASH :{LTBLUE}Letadla nebudou na malých letištích havarovat (tak často): {ORANGE}{STRING} +STR_CHEAT_EDIT_MAX_HL :{LTBLUE}Upravit maximální výšku mapy: {ORANGE}{NUM} +STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{BLACK}Upravit maximální výšku hor na mapě STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE :krajina mírného pásma STR_CHEAT_SWITCH_CLIMATE_SUB_ARCTIC_LANDSCAPE :subarktická krajina STR_CHEAT_SWITCH_CLIMATE_SUB_TROPICAL_LANDSCAPE :subtropická kraina @@ -1895,6 +1932,7 @@ STR_LIVERY_FREIGHT_TRAM :Nákladní tram STR_FACE_CAPTION :{WHITE}Volba tváře STR_FACE_CANCEL_TOOLTIP :{BLACK}Zrušit volbu nového obličeje STR_FACE_OK_TOOLTIP :{BLACK}Potvrdit výběr obličeje +STR_FACE_RANDOM :{BLACK}Nové číslo STR_FACE_MALE_BUTTON :{BLACK}Mužská STR_FACE_MALE_TOOLTIP :{BLACK}Zvolit mužské obličeje @@ -2364,7 +2402,7 @@ STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Pokláda STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Postavit železniční depo (pro nákup a servis vlaků). Shift zobrazí odhad ceny STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Postavit na trati směrování. Stisknutý Shift pro zobrazení odhadu ceny STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Postavit nádraží. Pomocí Ctrl ho připojíš k jinému. Stisknutý Shift pro zobrazení odhadu ceny -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Umístit návěstidla. Pomocí Ctrl vybereš mezi mechanickými a světelnými{}Tažením umístíš návěstidla na rovném úseku tratě a s Ctrl až do dalšího křížení{}Kliknutím na tlačítko s Ctrl otevřeš okno s výběrem návěstidel{}Stisknutý Shift pro zobrazení odhadu ceny +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Umístit návěstidla. Pomocí Ctrl vybereš mezi mechanickými a světelnými{}Tažením umístíš návěstidla na rovném úseku tratě a s přidržením Ctrl až do dalšího křížení{}Kliknutím na tlačítko s Ctrl otevřeš okno s výběrem návěstidel{}Stisknutý Shift pro zobrazení odhadu ceny STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Postavit železniční most. Stisknutý Shift pro zobrazení odhadu ceny STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Postavit železniční tunel. Stisknutý Shift pro zobrazení odhadu ceny STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Přepnout režim stavba/odstranění pro kolejí, semaforů, směrování a stanic. Při stisku Ctrl odebere také koleje ze směrování a stanic @@ -2742,7 +2780,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-2014 Tým OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 Tým OpenTTD # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Uložit hru @@ -2777,13 +2815,12 @@ STR_MAPGEN_BY :{BLACK}* STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Množství měst: STR_MAPGEN_DATE :{BLACK}Datum: STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Množství průmyslu: +STR_MAPGEN_MAX_HEIGHTLEVEL :{BLACK}Maximální výška mapy: +STR_MAPGEN_MAX_HEIGHTLEVEL_UP :{BLACK}Zvýšit maximální výšku hor na mapě o jeden stupeň +STR_MAPGEN_MAX_HEIGHTLEVEL_DOWN :{BLACK}Snížit maximální výšku hor na mapě o jeden stupeň STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}Výška sněžné čáry: STR_MAPGEN_SNOW_LINE_UP :{BLACK}Zvýšit sněžnou čáru o jednu úroveň STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}Snížit sněžnou čáru o jednu úroveň -STR_MAPGEN_RANDOM_SEED :{BLACK}Náhodné číslo: -STR_MAPGEN_RANDOM_SEED_HELP :{BLACK}Zde můžeš zadat seed -STR_MAPGEN_RANDOM :{BLACK}Nové číslo -STR_MAPGEN_RANDOM_HELP :{BLACK}Vytvořit nový seed (číslo) pro generátor terénu STR_MAPGEN_LAND_GENERATOR :{BLACK}Generátor krajiny: STR_MAPGEN_TREE_PLACER :{BLACK}Sázení stromů: STR_MAPGEN_TERRAIN_TYPE :{BLACK}Typ krajiny: @@ -2810,7 +2847,7 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Jméno v STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Velikost: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} -STR_MAPGEN_RANDOM_SEED_OSKTITLE :{BLACK}Zadej náhodné číslo +STR_MAPGEN_MAX_HEIGHTLEVEL_QUERY_CAPT :{WHITE}Změnit maximální výšku mapy STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}Změnit výšku sněžne čáry STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Změnit počáteční rok @@ -2865,6 +2902,8 @@ STR_NEWGRF_SETTINGS_MOVEUP :{BLACK}Nahoru STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP :{BLACK}Posunout označenou grafiku nahoru STR_NEWGRF_SETTINGS_MOVEDOWN :{BLACK}Dolů STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP :{BLACK}Posunout označenou grafiku dolů +STR_NEWGRF_SETTINGS_UPGRADE :{BLACK}Aktualizovat +STR_NEWGRF_SETTINGS_UPGRADE_TOOLTIP :{BLACK}Aktualizovat soubory nových grafik, u kterých jsi nainstaloval novější verzi. STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}Seznam NewGRF souborů, které jsou nainstalovány. STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}Nastavit parametry @@ -2889,6 +2928,16 @@ STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Nenalezen STR_NEWGRF_SETTINGS_DISABLED :{RED}Vypnuto STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Není kompatibilní s touto verzí OpenTTD +# NewGRF save preset window +STR_SAVE_PRESET_CAPTION :{WHITE}Uložit předvolby +STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK}Seznam předvoleb k dispozici, vyber jednu pro zkopírování do uložené hry vybrané níže +STR_SAVE_PRESET_TITLE :{BLACK}Vlož název pro předvolby +STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}Aktuálně zvolený název pro předvolby +STR_SAVE_PRESET_CANCEL :{BLACK}Zrušit +STR_SAVE_PRESET_CANCEL_TOOLTIP :{BLACK}Neměnit předvolby +STR_SAVE_PRESET_SAVE :{BLACK}Uložit +STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}Uloží předvolby do aktuálně zvolené uložené hry + # NewGRF parameters window STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Úprava nastavení parametrů STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Zavřít @@ -2919,7 +2968,10 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Předcho STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Jít na předchozí normální sprite (s grafikou), přičemž se přeskakují pseudo-/barvící/znakové sprity a při dosažení začátku se jde na konec STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Zobrazení vybraného spritu. Posun se při jeho vykreslení neuvažoval STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Posouvání spritu změnou souřadnic X a Y -STR_SPRITE_ALIGNER_OFFSETS :{BLACK}Posun X: {NUM}, posun Y: {NUM} +STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Resetovat +STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Resetovat aktuání relativní posunutí +STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}Posunutí v ose X: {NUM}, Posunutí v ose Y: {NUM} (Absolutní) +STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}Posunutí v ose X: {NUM}, Posunutí v ose Y: {NUM} (Relativní) STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Vybrat sprite STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Klikni na sprite kdekoli na obrazovce @@ -3031,8 +3083,8 @@ STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} doručeno STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (ještě požadováno) STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (doručeno) -STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Město se rozrůstá každých {ORANGE}{COMMA}{BLACK} dní -STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Město se rozrůstá každý {ORANGE}{COMMA}{BLACK} den (financováno) +STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Město se rozrůstá co {ORANGE}{COMMA}{BLACK}{NBSP}d{P en ny ní} +STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Město se rozrůstá každý {ORANGE}{COMMA}.{BLACK}{NBSP}den (financováno) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}Město se {RED}nerozrůstá{BLACK} STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Hlukový limit ve městě: {ORANGE}{COMMA}{BLACK} max.: {ORANGE}{COMMA} STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Vystředit pohled na město. Ctrl+Klik otevře nový pohled @@ -3092,7 +3144,7 @@ STR_GOAL_QUESTION_CAPTION_INFORMATION :Informace STR_GOAL_QUESTION_CAPTION_WARNING :Varování STR_GOAL_QUESTION_CAPTION_ERROR :Chyba -### Start of Goal Question button list +############ Start of Goal Question button list STR_GOAL_QUESTION_BUTTON_CANCEL :Zrušit STR_GOAL_QUESTION_BUTTON_OK :OK STR_GOAL_QUESTION_BUTTON_NO :Ne @@ -3111,6 +3163,7 @@ STR_GOAL_QUESTION_BUTTON_RESTART :Restartovat STR_GOAL_QUESTION_BUTTON_POSTPONE :Odložit STR_GOAL_QUESTION_BUTTON_SURRENDER :Vzdát se STR_GOAL_QUESTION_BUTTON_CLOSE :Zavřít +############ End of Goal Question button list # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}Dotace @@ -3146,7 +3199,6 @@ STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}Nečeká # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} -STR_STATION_VIEW_WAITING_TITLE :{BLACK}Čeká tu: {WHITE}{STRING} STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} z {NBSP}{STATION}) STR_STATION_VIEW_RESERVED :{YELLOW}({CARGO_SHORT} rezervováno pro naložení) @@ -3241,7 +3293,7 @@ STR_FINANCES_POSITIVE_INCOME :{BLACK}+{CURREN STR_FINANCES_TOTAL_CAPTION :{WHITE}Celkem: STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}Stav na účtu STR_FINANCES_LOAN_TITLE :{WHITE}Půjčka -STR_FINANCES_MAX_LOAN :{WHITE}Max. půjčka: {BLACK}{CURRENCY_LONG} +STR_FINANCES_MAX_LOAN :{WHITE}Maximální půjčka: {BLACK}{CURRENCY_LONG} STR_FINANCES_TOTAL_CURRENCY :{BLACK}{CURRENCY_LONG} STR_FINANCES_BORROW_BUTTON :{BLACK}Půjčit {CURRENCY_LONG} STR_FINANCES_BORROW_TOOLTIP :{BLACK}Půjčit si více @@ -3436,10 +3488,10 @@ STR_PURCHASE_INFO_ALL_BUT :Všechny kromě STR_PURCHASE_INFO_MAX_TE :{BLACK}Max. tažná síla: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Dosah: {GOLD}{COMMA} polí -STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Seznam vlaků - pro informace klikni na název vlaku -STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Seznam silničních vozidel - klikni na vozidlo pro informace -STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Seznam lodí - informace získáš kliknutím na jméno lodi -STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Seznam letadel - klikni na letadlo pro informace +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. +STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Seznam lodí - informace získáš kliknutím na loď. Ctrl+kliknutí způsobí přepínání skrytí lodí. +STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Seznam letadel - klikni na letadlo pro informace. Ctrl+kliknutí způsobí přepínání skrytí letadel. STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}Koupit vozidlo STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Koupit vozidlo @@ -3461,6 +3513,21 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Přejmen STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Přejmenovat typ lodi STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Přejmenovat typ letadla +STR_BUY_VEHICLE_TRAIN_HIDE_TOGGLE_BUTTON :{BLACK}Schovat +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_TOGGLE_BUTTON :{BLACK}Schovat +STR_BUY_VEHICLE_SHIP_HIDE_TOGGLE_BUTTON :{BLACK}Schovat +STR_BUY_VEHICLE_AIRCRAFT_HIDE_TOGGLE_BUTTON :{BLACK}Schovat + +STR_BUY_VEHICLE_TRAIN_SHOW_TOGGLE_BUTTON :{BLACK}Zobrazit +STR_BUY_VEHICLE_ROAD_VEHICLE_SHOW_TOGGLE_BUTTON :{BLACK}Zobrazit +STR_BUY_VEHICLE_SHIP_SHOW_TOGGLE_BUTTON :{BLACK}Zobrazit +STR_BUY_VEHICLE_AIRCRAFT_SHOW_TOGGLE_BUTTON :{BLACK}Zobrazit + +STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Přepnout zobrazení/schování typu vlaku +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Přepnout zobrazení/schování typu silničního vozidla +STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Přepnout zobrazení/schování typu lodi +STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Přepnout zobrazení/schování typu letadla + STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}Přejmenovat typ železničního vozidla STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}Přejmenovat typ silničního vozidla STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}Přejmenovat typ lodi @@ -3514,7 +3581,7 @@ STR_DEPOT_CLONE_ROAD_VEHICLE :{BLACK}Klonovat STR_DEPOT_CLONE_SHIP :{BLACK}Klonovat loď STR_DEPOT_CLONE_AIRCRAFT :{BLACK}Klonovat letadlo -STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Vytvoří se kopie vlaku se všemi vagony. Klepni na toto tlačítko a pak na vlak v nebo vně depa. Se stisknutým Ctrl se budou sdílet příkazy. Stisknutý Shift pro zobrazení odhadu ceny +STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Vytvoří se kopie vlaku se všemi vagony. Klikni napřed na toto tlačítko a následně na vlak uvnitř nebo vně depa. Se stisknutou klávesou Ctrl při kliku se budou sdílet příkazy. Stisknutý Shift při kliku zobrazí odhad ceny bez provedení nákupu. STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Vytvoří se kopie silničního vozidla. Klepni na toto tlačítko a pak na vozidlo v nebo vně depa. Se stisknutým Ctrl se budou sdílet příkazy. Stisknutý Shift pro zobrazení odhadované ceny STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Vytvoří se kopie lodě. Klepni na toto tlačítko a pak na loď v nebo vně lodního depa. Se stisknutým Ctrl se budou sdílet příkazy. Stisknutý Shift pro zobrazení odhadu ceny STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Vytvoří se kopie letadla. Klepni na toto tlačítko a pak na letadlo v nebo vně hangáru. Se stisknutým Ctrl se budou sdílet příkazy. Stisknutý Shift pro zobrazení odhadu ceny @@ -3571,6 +3638,11 @@ STR_REPLACE_VEHICLE_ROAD_VEHICLE :Silniční vozi STR_REPLACE_VEHICLE_SHIP :Loď STR_REPLACE_VEHICLE_AIRCRAFT :Letadlo +STR_REPLACE_VEHICLE_VEHICLES_IN_USE :{YELLOW}Používaná vozidla +STR_REPLACE_VEHICLE_VEHICLES_IN_USE_TOOLTIP :{BLACK}Sloupec s vozidly, které vlastníte +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES :{YELLOW}Dostupná vozidla +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES_TOOLTIP :{BLACK}Sloupec s vozidly, které lze nahradit + STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Vyber typ lokomotivy na výměnu STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Vyber typ nové lokomotivy, kterou chceš použít místo vybrané v levém seznamu @@ -3695,7 +3767,7 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Kapacita STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Podíl za převoz: {LTBLUE}{CURRENCY_LONG} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Interval servisů: {LTBLUE}{COMMA} d{P en ny ní}{BLACK} Naposledy v servisu: {LTBLUE}{DATE_LONG} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Interval servisů: {LTBLUE}{COMMA}{NBSP}d{P en ny ní}{BLACK} Naposledy v servisu: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Interval servisů: {LTBLUE}{COMMA}%{BLACK} Naposledy v servisu: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Prodloužit interval servisů o 10. S Ctrl prodloužit o 5 STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Zkrátit interval servisů o 10. S Ctrl zkrátit o 5 @@ -3793,7 +3865,7 @@ STR_ORDER_TOOLTIP_UNLOAD :{BLACK}Ovlivnit STR_ORDER_REFIT :{BLACK}Přestavět STR_ORDER_REFIT_TOOLTIP :{BLACK}Vyber, na který druh nákladu přestavět. Ctrl+klik odstraní přestavbu z příkazu -STR_ORDER_REFIT_AUTO :{BLACK}Automaticky přestavět +STR_ORDER_REFIT_AUTO :{BLACK}Ve stanici přestavět STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Zvolit druh nákladu pro automatické přestavění pro tento příkaz. Ctrl+Click odebere z příkazu automatické přestavění. Automatické přestavění bude fungovat pouze pokud vozidlo lze přestavět. STR_ORDER_DROP_REFIT_AUTO :Neměnný náklad STR_ORDER_DROP_REFIT_AUTO_ANY :Dostupný náklad @@ -3885,18 +3957,18 @@ STR_ORDER_NO_UNLOAD_FULL_LOAD :(nevykládat a STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY :(nevykládat a plně naložit čímkoli) STR_ORDER_NO_UNLOAD_NO_LOAD :(nevykládat ani nenakládat) -STR_ORDER_AUTO_REFIT :(Automatické přestavění na {STRING}) -STR_ORDER_FULL_LOAD_REFIT :(Plně naložit vše s automatickým přestavěním na {STRING}) -STR_ORDER_FULL_LOAD_ANY_REFIT :(Plně naložit cokoliv a automaticky přestavět na {STRING}) -STR_ORDER_UNLOAD_REFIT :(Vyložit a naložit s automatickým přestavěním na {STRING}) -STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(Vyložit a počkat na plné naložení s automatickým přestavěním na {STRING}) -STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(Vyložit a počkat na naložení čehokoliv s automatickým přestavěním na {STRING}) -STR_ORDER_TRANSFER_REFIT :(Přeložit a naložit s automatickým přestavěním na {STRING}) -STR_ORDER_TRANSFER_FULL_LOAD_REFIT :(Přeložit a počkat na plné naložení s automatickým přestavěním na {STRING}) -STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :(Přeložit a počkat na naložení čehokoliv s automatickým přestavěním na {STRING}) -STR_ORDER_NO_UNLOAD_REFIT :(Nevykládat a naložit s automatickým přestavěním na {STRING}) -STR_ORDER_NO_UNLOAD_FULL_LOAD_REFIT :(Nevykládat a počkat na plné naložení s automatickým přestavěním na {STRING}) -STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY_REFIT :(Nevykládat a počkat na plné naložení čehokoliv s automatickým přestavěním na {STRING}) +STR_ORDER_AUTO_REFIT :(Přestavění na {STRING}) +STR_ORDER_FULL_LOAD_REFIT :(Plně naložit vše s přestavěním na {STRING}) +STR_ORDER_FULL_LOAD_ANY_REFIT :(Plně naložit cokoliv a přestavět na {STRING}) +STR_ORDER_UNLOAD_REFIT :(Vyložit a naložit s přestavěním na {STRING}) +STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(Vyložit a počkat na plné naložení s přestavěním na {STRING}) +STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(Vyložit a počkat na naložení čehokoliv s přestavěním na {STRING}) +STR_ORDER_TRANSFER_REFIT :(Přeložit a naložit s přestavěním na {STRING}) +STR_ORDER_TRANSFER_FULL_LOAD_REFIT :(Přeložit a počkat na plné naložení s přestavěním na {STRING}) +STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :(Přeložit a počkat na naložení čehokoliv s přestavěním na {STRING}) +STR_ORDER_NO_UNLOAD_REFIT :(Nevykládat a naložit s přestavěním na {STRING}) +STR_ORDER_NO_UNLOAD_FULL_LOAD_REFIT :(Nevykládat a počkat na plné naložení s přestavěním na {STRING}) +STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY_REFIT :(Nevykládat a počkat na plné naložení čehokoliv s přestavěním na {STRING}) STR_ORDER_AUTO_REFIT_ANY :dostupný náklad @@ -3922,13 +3994,17 @@ STR_TIMETABLE_TOOLTIP :{BLACK}Jízdní STR_TIMETABLE_NO_TRAVEL :Nikam nejet STR_TIMETABLE_NOT_TIMETABLEABLE :Jet do (automatický; jizdní řád podle následujícího ručního příkazu) STR_TIMETABLE_TRAVEL_NOT_TIMETABLED :Jet do (mimo jízdní řád) -STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Jet maximálně {2:VELOCITY} (mimo jízdní řád) +STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Jet (mimo jízdní řád) maximální rychlostí {2:VELOCITY} STR_TIMETABLE_TRAVEL_FOR :Jet do {STRING} STR_TIMETABLE_TRAVEL_FOR_SPEED :Jeď {STRING} a maximálně {VELOCITY} +STR_TIMETABLE_TRAVEL_FOR_ESTIMATED :Jeď ({STRING}, mimo jízdní řád) +STR_TIMETABLE_TRAVEL_FOR_SPEED_ESTIMATED :Jeď ({STRING}, mimo jízdní řád) při maximální rychlosti {VELOCITY} +STR_TIMETABLE_STAY_FOR_ESTIMATED :(zůstaň {STRING}, mimo jízdní řád) +STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(jet {STRING}, mimo jízdní řád) STR_TIMETABLE_STAY_FOR :a zůstat {STRING} STR_TIMETABLE_AND_TRAVEL_FOR :a jet {STRING} -STR_TIMETABLE_DAYS :{COMMA} d{P en ny nů} -STR_TIMETABLE_TICKS :{COMMA} cykl{P us y ů} +STR_TIMETABLE_DAYS :{COMMA}{NBSP}d{P en ny ní} +STR_TIMETABLE_TICKS :{COMMA}{NBSP}cykl{P us y ů} STR_TIMETABLE_TOTAL_TIME :{BLACK}Tento jízdní řád bude trvat {STRING} STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}Tento jízdní řád bude trvat nejméně {STRING} (vozidla mimo jízdní řád) @@ -4166,6 +4242,7 @@ STR_ERROR_EXCAVATION_WOULD_DAMAGE :{WHITE}Úprava STR_ERROR_ALREADY_AT_SEA_LEVEL :{WHITE}... již na úrovni moře STR_ERROR_TOO_HIGH :{WHITE}... příliš vysoko STR_ERROR_ALREADY_LEVELLED :{WHITE}... už je plochý +STR_ERROR_BRIDGE_TOO_HIGH_AFTER_LOWER_LAND :{WHITE}Most by po této úpravě byl příliš vysoko. # Company related errors STR_ERROR_CAN_T_CHANGE_COMPANY_NAME :{WHITE}Nelze přejmenovat společnost... @@ -4216,6 +4293,9 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... les STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... může být postaven pouze nad sněžnou čarou STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... může být postaven pouze pod sněžnou čarou +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}Na mapě nebyla žádná vhodná místa pro '{STRING}' +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Pro získání lepší mapy změňte parametry jejího generování + # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Zde nelze postavit nádraží... STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}Nelze postavit autobusovou stanici... @@ -4352,6 +4432,7 @@ STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Je nutn STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}Nelze začít a skončit na stejném místě STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}Nájezdy na most nejsou ve stejné výšce STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}Most je pro terén moc nízký +STR_ERROR_BRIDGE_TOO_HIGH_FOR_TERRAIN :{WHITE}Most je příliš vysoko na tento terén. STR_ERROR_START_AND_END_MUST_BE_IN :{WHITE}Začátek a konec musí být ve stejné výšce STR_ERROR_ENDS_OF_BRIDGE_MUST_BOTH :{WHITE}... oba konce mostu musí být na zemi STR_ERROR_BRIDGE_TOO_LONG :{WHITE}... most je příliš dlouhý @@ -5038,6 +5119,7 @@ STR_COMPANY_NAME :{COMPANY} STR_COMPANY_NAME_COMPANY_NUM :{COMPANY} {COMPANY_NUM} STR_DEPOT_NAME :{DEPOT} STR_ENGINE_NAME :{ENGINE} +STR_HIDDEN_ENGINE_NAME :{ENGINE} (schováno) STR_GROUP_NAME :{GROUP} STR_INDUSTRY_NAME :{INDUSTRY} STR_INDUSTRY_NAME.gen :{INDUSTRY.gen} @@ -5075,8 +5157,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -5087,9 +5167,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/danish.txt b/src/lang/danish.txt index 19941ef504..4b013f74af 100644 --- a/src/lang/danish.txt +++ b/src/lang/danish.txt @@ -248,6 +248,17 @@ STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Scrollba STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Scroll bar - flytter listen mod venstre/højre STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Nedriv bygninger osv. på et stykke land. Ctrl vælger arealet diagonalt. Shift skifter mellem at bygge og vise prisoverslag. +# Show engines button +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}Vis skjulte +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK}Vis skjulte +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}Vis skjulte +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}Vis skjulte + +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}Ved at aktivere denne knap, bliver de skjulte tog også vist +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE_TOOLTIP :{BLACK}Ved at aktivere denne knap, bliver de skjulte køretøjer også vist +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}Ved at aktivere denne knap, bliver de skjulte skibe også vist +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Ved at aktivere denne knap, bliver de skjulte fly også vist + # Query window STR_BUTTON_DEFAULT :{BLACK}Standard STR_BUTTON_CANCEL :{BLACK}Annuller @@ -361,7 +372,7 @@ STR_SCENEDIT_FILE_MENU_QUIT :Afslut ############ range for settings menu starts STR_SETTINGS_MENU_GAME_OPTIONS :Spilvalg -STR_SETTINGS_MENU_CONFIG_SETTINGS :Avancerede indstillinger +STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Indstillinger STR_SETTINGS_MENU_SCRIPT_SETTINGS :AI/spilscript-indstillinger STR_SETTINGS_MENU_NEWGRF_SETTINGS :NewGRF indstillinger STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Gennemsigtighedsvalg @@ -470,7 +481,7 @@ STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Slå afgrænsni STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Slå farvning af beskidte blokke til/fra ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window STR_ORDINAL_NUMBER_1ST :1. STR_ORDINAL_NUMBER_2ND :2. STR_ORDINAL_NUMBER_3RD :3. @@ -486,22 +497,40 @@ STR_ORDINAL_NUMBER_12TH :12. STR_ORDINAL_NUMBER_13TH :13. STR_ORDINAL_NUMBER_14TH :14. STR_ORDINAL_NUMBER_15TH :15. -STR_ORDINAL_NUMBER_16TH :16. -STR_ORDINAL_NUMBER_17TH :17. -STR_ORDINAL_NUMBER_18TH :18. -STR_ORDINAL_NUMBER_19TH :19. -STR_ORDINAL_NUMBER_20TH :20. -STR_ORDINAL_NUMBER_21ST :21. -STR_ORDINAL_NUMBER_22ND :22. -STR_ORDINAL_NUMBER_23RD :23. -STR_ORDINAL_NUMBER_24TH :24. -STR_ORDINAL_NUMBER_25TH :25. -STR_ORDINAL_NUMBER_26TH :26. -STR_ORDINAL_NUMBER_27TH :27. -STR_ORDINAL_NUMBER_28TH :28. -STR_ORDINAL_NUMBER_29TH :29. -STR_ORDINAL_NUMBER_30TH :30. -STR_ORDINAL_NUMBER_31ST :31. +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :1. +STR_DAY_NUMBER_2ND :2. +STR_DAY_NUMBER_3RD :3. +STR_DAY_NUMBER_4TH :4. +STR_DAY_NUMBER_5TH :5. +STR_DAY_NUMBER_6TH :6. +STR_DAY_NUMBER_7TH :7. +STR_DAY_NUMBER_8TH :8. +STR_DAY_NUMBER_9TH :9. +STR_DAY_NUMBER_10TH :10. +STR_DAY_NUMBER_11TH :11. +STR_DAY_NUMBER_12TH :12. +STR_DAY_NUMBER_13TH :13. +STR_DAY_NUMBER_14TH :14. +STR_DAY_NUMBER_15TH :15. +STR_DAY_NUMBER_16TH :16. +STR_DAY_NUMBER_17TH :17. +STR_DAY_NUMBER_18TH :18. +STR_DAY_NUMBER_19TH :19. +STR_DAY_NUMBER_20TH :20. +STR_DAY_NUMBER_21ST :21. +STR_DAY_NUMBER_22ND :22. +STR_DAY_NUMBER_23RD :23. +STR_DAY_NUMBER_24TH :24. +STR_DAY_NUMBER_25TH :25. +STR_DAY_NUMBER_26TH :26. +STR_DAY_NUMBER_27TH :27. +STR_DAY_NUMBER_28TH :28. +STR_DAY_NUMBER_29TH :29. +STR_DAY_NUMBER_30TH :30. +STR_DAY_NUMBER_31ST :31. ############ range for days ends ############ range for months starts @@ -810,13 +839,12 @@ STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}{VEHICLE STR_NEWS_SHIP_IS_WAITING :{WHITE}{VEHICLE} venter i skibsdokken STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE} venter i hangaren -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE +# Order review system / warnings STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE} har for få ordrer i ordrelisten STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE} har en ugyldig ordre STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE} har dublerede ordrer STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE} har en ugyldig station i sine ordrer -# end of order system +STR_NEWS_PLANE_USES_TOO_SHORT_RUNWAY :{WHITE}{VEHICLE} har i sine ordrer en lufthavn, hvis bane er for kort STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} er gammel STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} er meget gammel @@ -899,10 +927,6 @@ STR_GAME_OPTIONS_CURRENCY_GEL :Georgiske Lari STR_GAME_OPTIONS_CURRENCY_IRR :Iranske Rialer (IRR) ############ end of currency region - -############ start of measuring units region -############ end of measuring units region - STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Vejkøretøjer STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}Vælg den side af vejen, køretøjer skal kører i STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :Kør i venstre side @@ -938,11 +962,13 @@ STR_GAME_OPTIONS_TOWN_NAME_CATALAN :Catalanske STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Automatisk gemning STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Vælg interval imellem automatisk gemning +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Fra STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :Hver måned STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :Hver 3. måned STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :Hver 6. måned STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :Hver 12. måned +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}Sprog STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Vælg sprog til brugerfladen @@ -954,8 +980,12 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}Skærmop STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Vælg ønsket skærmopløsning STR_GAME_OPTIONS_RESOLUTION_OTHER :andet -STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}Skærmbillede-format -STR_GAME_OPTIONS_SCREENSHOT_FORMAT_TOOLTIP :{BLACK}Vælg skærmbillede-format +STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}grænseflade størrelse +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Vælg den grænseflade størrelse du ønsker at benytte + +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normal +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Dobbelt størrelse +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Quad (4x) størrelse STR_GAME_OPTIONS_BASE_GRF :{BLACK}Basis-grafiksæt STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Vælg det basis-grafiksæt der skal bruges @@ -971,6 +1001,7 @@ STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Vælg ba STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} beskadiget fil{P "" s} STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Yderligere information om basismusik-sættet +STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Det lykkedes ikke at hente en liste over understøttede opløsninger STR_ERROR_FULLSCREEN_FAILED :{WHITE}Fuldskærmstilstand fejlede # Custom currency window @@ -1049,6 +1080,7 @@ STR_TERRAIN_TYPE_VERY_FLAT :Meget fladt STR_TERRAIN_TYPE_FLAT :Fladt STR_TERRAIN_TYPE_HILLY :Bakket STR_TERRAIN_TYPE_MOUNTAINOUS :Bjergrigt +STR_TERRAIN_TYPE_ALPINIST :Alpinist STR_CITY_APPROVAL_PERMISSIVE :Passiv STR_CITY_APPROVAL_TOLERANT :Tolerant @@ -1056,8 +1088,8 @@ STR_CITY_APPROVAL_HOSTILE :Fjendtlig STR_WARNING_NO_SUITABLE_AI :{WHITE}Der blev ikke fundet en egnet computer-spiller...{}Du kan downloade flere forskellige computer-spillere gennem 'Online Indhold'. -# Advanced settings window -STR_CONFIG_SETTING_CAPTION :{WHITE}Avancerede indstillinger +# Settings tree window +STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Indstillinger STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Filter streng: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Udvid alle STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Skjul alle @@ -1086,6 +1118,9 @@ STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :Spil indstillin STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :Spil indstilling (lagret i gemt spil, påvirker kun det aktuelt spil) STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :Firma indstilling (lagret i gemt spil; påvirker kun nye spil) STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :Firma indstilling (lagret i gemt spil; påvirker kun aktuelt selskab) +STR_CONFIG_SETTING_CATEGORY_HIDES :{BLACK}Vis alle søgeresultater ved at sætte{}{SILVER}Kategori {BLACK}to {WHITE}{STRING} +STR_CONFIG_SETTING_TYPE_HIDES :{BLACK}Vis alle søgeresultater ved at sætte{}{SILVER}Indtast {BLACK}til {WHITE}Alle Indstillingstyper +STR_CONFIG_SETTING_CATEGORY_AND_TYPE_HIDES :{BLACK}Vis alle søgeresultater ved at sætte {} {SILVER}Kategori {BLACK}til {WHITE} {STRING} {BLACK}og {SILVER} Indtast {BLACK}til {WHITE}Alle Indstillingstyper STR_CONFIG_SETTINGS_NONE :{WHITE}- Ingen - STR_CONFIG_SETTING_OFF :Fra @@ -1127,8 +1162,9 @@ STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Slå katastrofe STR_CONFIG_SETTING_CITY_APPROVAL :Byrådets holdning til omstrukturering: {STRING} STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Vælg hvor meget selskaber støj og miljømæssige skader påvirker byvurdering og fremtidige byggeretigheder i området -STR_CONFIG_SETTING_BUILDONSLOPES :Tillad bygning på skråninger og kyster: {STRING} -STR_CONFIG_SETTING_BUILDONSLOPES_HELPTEXT :Hvis den er aktiveret, kan spor og stationer bygges på de fleste skråninger. Hvis den er deaktiveret, er de kun tilladt på skråninger, som svarer til retningen af sporet og kræver derfor ikke fundament +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :Maksimal map højde: {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :Indstil den maksimale tilladte højde for bjerge på kortet +STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}Du kan ikke sætte den maksimale kortet højde for denne værdi. Mindst et bjerg på kortet er højere STR_CONFIG_SETTING_AUTOSLOPE :Tillad landskabsformning under bygninger, spor, etc. (autoslope): {STRING} STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Tillad landskabsformning under bygninger og spor uden at fjerne dem STR_CONFIG_SETTING_CATCHMENT :Tillad mere realistisk størrelse på stationernes opland: {STRING} @@ -1153,16 +1189,12 @@ STR_CONFIG_SETTING_FORBID_90_DEG :Forbyd skibe og STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90 graders drejninger forekommer når et horisontalt spor er direkte efterfulgt af et lodret spor stykke på det tilstødende felt, hvorved toget drejer 90 grader ved kørsel på feltets kant stedet for de sædvanlige 45 grader for andre spor kombinationer. Dette gælder også for drejeradius af skibe STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Tillad sammenkædning af stationer der ikke ligger direkte op ad hinanden: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Tillad at tilføje dele til en station uden direkte at berøre eksisterende dele. Ctrl+Klik for at sætte nye dele -STR_CONFIG_SETTING_IMPROVEDLOAD :Brug forbedret indlæsningsalgoritme: {STRING} -STR_CONFIG_SETTING_IMPROVEDLOAD_HELPTEXT :Hvis aktiveret, er flere køretøjer ventende på en station indlæst sekventielt. Lastning af det næste køretøj kun starter, når der er nok fragt der venter på at fylde det første køretøj -STR_CONFIG_SETTING_GRADUAL_LOADING :Last køretøjer gradvist: {STRING} -STR_CONFIG_SETTING_GRADUAL_LOADING_HELPTEXT :Gradvist last køretøjer ved brug af specifikke laste varigheder, i stedet for at laste alting på én gang med en fast tid afhængigt af kun lastet mængde gods STR_CONFIG_SETTING_INFLATION :Inflation: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :Aktiver inflation i økonomien, hvor omkostningerne er lidt hurtigere stigende end betalinger -STR_CONFIG_SETTING_SELECTGOODS :Aflever kun last til en station hvis der er en forespørgsel: {STRING} -STR_CONFIG_SETTING_SELECTGOODS_HELPTEXT :Kun aflevere last til en station, der er blevet anmodet af et køretøj. Dette forhindrer dårlige bedømmelse af laster, der ikke serviceres på en station STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Maksimal bro længde: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Maksimal længde af broer +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :Maksimal bro højde: {STRING} +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :Maksimal højde for at bygge bro STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Maksimal tunnel længde: {STRING} STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :Maksimal længde af tunneler STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Metode til manuel opførsel af primær industri: {STRING} @@ -1188,8 +1220,6 @@ STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Stedet hvor et STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :den nærmeste ende STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :midten STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :den fjerneste ende -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING :Kødannelse af køretøjer (med kvanteeffekt): {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING_HELPTEXT :Få et køretøj til at vente foran optaget veje indtil de er ryddet STR_CONFIG_SETTING_AUTOSCROLL :Panorér vindue når musen er ved kanten: {STRING} STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Når den er aktiveret, vil skærmbilledet begynde at rulle, når musen er nær kanten af skærmen STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Deaktiveret @@ -1220,10 +1250,6 @@ STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Tillad gennemk STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Tillad konstruktion af gennemkørsels-stop på by-ejede veje STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Tillad gennemkørsels-stoppesteder på veje ejet af konkurrenter: {STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Tillad konstruktion af gennemkørsels-stop på veje ejet af andre firmaer -STR_CONFIG_SETTING_ADJACENT_STATIONS :Tillad bygning af tilstødende stationer: {STRING} -STR_CONFIG_SETTING_ADJACENT_STATIONS_HELPTEXT :Tillad forskellige stationer til at røre hinanden -STR_CONFIG_SETTING_DYNAMIC_ENGINES :Muliggør flere NewGRF køretøjssæt: {STRING} -STR_CONFIG_SETTING_DYNAMIC_ENGINES_HELPTEXT :Kompatibilitet for gamle NewGRFs. Deaktiver ikke dette, medmindre du ved præcis hvad du laver! STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Denne indstilling kan ikke ændres, når der er køretøjer. STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Infrastruktur vedligeholdelse: {STRING} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Når aktiveret, infrastruktur forårsager vedligeholdelsesomkostninger. Omkostningerne vokser over-proportional med nettets størrelse, hvilket påvirker større virksomheder mere end de små @@ -1254,7 +1280,7 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :Varighed af fej STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Varighed for visning fejlmeddelelser i en rød vindue. Bemærk, at nogle (kritisk) fejlmeddelelser ikke lukkes automatisk efter dette tidspunkt, men skal lukkes manuelt STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{COMMA} sekund{P 0 "" er} STR_CONFIG_SETTING_HOVER_DELAY :Vis værktøjstip: {STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Forsinkelse før tooltips vises, når musen er over et brugerflade element. Alternativt kan tooltips bindes til højre museknap +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Forsinkelse inden tooltips vises, når musen føres over nogle den grænseflade . Alternativt tooltips er bundet til den højre museknap, når denne værdi er sat til 0. STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Hold markøren i {COMMA} sekund{P 0 "" er} STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Højre klik STR_CONFIG_SETTING_POPULATION_IN_LABEL :Vis byens indbyggertal i bynavnet: {STRING} @@ -1262,27 +1288,41 @@ STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Vis befolkninge STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Linjetykkelse i grafer: {STRING} STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Bredde af linjerne i graferne. En tynd linie er mere læsbar, en tykkere linje er nemmere at se og det er lettere at skelne mellem farverne +STR_CONFIG_SETTING_LANDSCAPE :Landskab: {STRING} +STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Landskaber definerer grundlæggende gameplay-scenarier med forskellige laster og krav by vækst. NewGRF og spil Scripts tillader finere kontrol selv STR_CONFIG_SETTING_LAND_GENERATOR :Landskabs generator: {STRING} +STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :Den oprindelige generator afhænger af basen grafik sæt, og komponerer faste landskab former. TerraGenesis er en Perlin baseret generator med finere kontrol indstillinger STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Original STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis +STR_CONFIG_SETTING_TERRAIN_TYPE :Terræn type: {STRING} +STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(TerraGenesis only) Hilliness af landskabet +STR_CONFIG_SETTING_INDUSTRY_DENSITY :Industri tæthed: {STRING} +STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Angiv hvor mange industrier skal genereres og hvilket niveau der bevares i løbet af spillet STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Max afstand fra kant til olieraffinaderier: {STRING} STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Olieraffinaderier er kun opføres nær kortets grænse, det er ved kysten for kort med øer STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Snelinjehøjden: {STRING} +STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Kontrol med på hvilket højde sneen begynder i sub-arktiske landskab. Sne påvirker også industrien generation og betingelser by vækst STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Tærrenets hårdhed (kun TerraGenesis) : {STRING} +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(TerraGenesis kun) Vælg frekvensen af bakkerne: Glatte landskaber har færre, mere udbredt bakker. Ujævne landskaber har mange bakker, der kan se gentaget ud STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Meget blødt STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Blødt STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Råt STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Meget råt +STR_CONFIG_SETTING_VARIETY :Forskelligheds fordeling: {STRING} +STR_CONFIG_SETTING_VARIETY_HELPTEXT :(TerraGenesis kun) Kontrollere, om kortet indeholder både bjerg- og flade områder. Da dette kun gør kortet fladere bør andre indstillinger sættes til bjergrigt +STR_CONFIG_SETTING_RIVER_AMOUNT :Floder antal: {STRING} +STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Vælg, hvor mange floder at skabe STR_CONFIG_SETTING_TREE_PLACER :Algoritme ved placering af træer: {STRING} +STR_CONFIG_SETTING_TREE_PLACER_HELPTEXT :Vælg fordelingen af træer på kortet: "Original" planter træer ensartet spredt, "forbedret" planter dem i grupper STR_CONFIG_SETTING_TREE_PLACER_NONE :Ingen STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :Original STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :Forbedret +STR_CONFIG_SETTING_ROAD_SIDE :Vejkøretøjer: {STRING} +STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :Vælg køre side STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Rotér højdekort: {STRING} STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Mod uret STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Med uret STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :Den højde et flat scenariekort får: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :Tillad landskabsændring af felter ved kortets kanter: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES_HELPTEXT :Hvis deaktiveret vil kortets kanter altid være hav STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}Et eller flere felter ved den nordlige kant er ikke tomme STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}Et eller flere felter ved en af kanterne er ikke vand @@ -1333,17 +1373,15 @@ 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_AUTOSAVE :Auto gem: {STRING} +STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Vælg interval mellem automatisk gemte spil + STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Brug {STRING} datoformat til navne på gemte spil. STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Formatet af datoen i gemte spil filnavne STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :langt (31. Dec 2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :kort (31-12-2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE :Standard palette NewGRFer uden valgt palette: {STRING} -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_HELPTEXT :Standardpalet til brug af NewGRFs der ikke angiver hvilken en de har brug for -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_DOS :Standard (D) palet -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_WIN :Legacy (W) palet - STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Sæt automatisk på pause når nyt spil startes: {STRING} STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :Når aktiveret, vil spillet automatisk pause når du starter et nyt spil, det giver mulighed for at studerer kortet nærmere STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Når pauset tillad: {STRING} @@ -1493,7 +1531,7 @@ STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT :Vælg opførsle STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE :Byg automatisk semaforer før: {STRING} STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT :Sæt året hvor elektriske signaler vil blive brugt på spor. Før dette år vil ikke-elektriske signaler blive brugt (hvilket har den fuldstændig same funktion, men anderledes udseende) STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI :Vis signalvælgeren som standard: {STRING} -STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI_HELPTEXT :Vis et vindue til at vælge signal typer at bygge, i stedet for kun vindue-løs signal-type skift med Ctrl+klik på byg-signal +STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI_HELPTEXT :Vis et vindue til at vælge den signaltype du vil bygge, i stedet for kun vindue-løs signal-type skift med Ctrl+klik på byg-signal STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE :Signaltype der bygges som standard: {STRING} STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE_HELPTEXT :Standard signaltype STR_CONFIG_SETTING_DEFAULT_SIGNAL_NORMAL :Normal @@ -1556,17 +1594,15 @@ STR_CONFIG_SETTING_TOWN_GROWTH :Byvækst tempo: STR_CONFIG_SETTING_TOWN_GROWTH_HELPTEXT :Hastigheden af by vækst STR_CONFIG_SETTING_TOWN_GROWTH_NONE :Ingen STR_CONFIG_SETTING_TOWN_GROWTH_SLOW :Langsom -STR_CONFIG_SETTING_TOWN_GROWTH_NORMAL :Mængden af byer der vil blive bestragtet som storbyer, og derfor er større og vokser hurtigere +STR_CONFIG_SETTING_TOWN_GROWTH_NORMAL :Normal STR_CONFIG_SETTING_TOWN_GROWTH_FAST :Hurtig STR_CONFIG_SETTING_TOWN_GROWTH_VERY_FAST :Meget hurtig STR_CONFIG_SETTING_LARGER_TOWNS :Andel af byer der er storbyer: {STRING} -STR_CONFIG_SETTING_LARGER_TOWNS_HELPTEXT :Mængden af byer der vil blive bestragtet som storbyer, og derfor er større og vokser hurtigere +STR_CONFIG_SETTING_LARGER_TOWNS_HELPTEXT :Mængden af byer der vil blive betragtet som storbyer, og derfor er større og vokser hurtigere STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 ud af {COMMA} STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Ingen STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Startværdi for bystørrelsesfaktor: {STRING} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Gennemsnitlig størrelse af storbyer i forhold til normale byer ved start af spillet -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :Fjern absurde vejelementer under opførelse af vej: {STRING} -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD_HELPTEXT :Fjern døde vej-ender i løbet af finansierede vej-rekostruktioner STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Opdatér distributionsgraf hver {STRING} dag{P 0:2 "" e} STR_CONFIG_SETTING_LINKGRAPH_INTERVAL_HELPTEXT :Tid mellem efterfølgende genberegninger af forbindelsesgrafen. Hver genberegning beregner planerne for et komponent af grafen. Det betyder, at en værdi X for denne indstilling ikke betyder at hele grafen vil blive opdateret hver X dage. Kun nogle komponenter vil. Jo kortere du sætter indstillingen, jo mere CPU-tid vil være nødvendig for at beregne forbindelsesgrafen. Jo længere du sætter indstillingen, jo længere vil det tage før lastdistribution starter på nye ruter. @@ -1605,13 +1641,13 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_METRIC :Metrisk (hk) STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_SI :SI (kW) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT :Vægtenheder: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_HELPTEXT :Når vægte er vist i brugergrænsefladen, så vis dem i de valgte enheder +STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_HELPTEXT :Når en vægt vises i brugergrænsefladen, vise det i de udvalgte enheder STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_IMPERIAL :Imperisk (kort t/ton) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_METRIC :Metrisk (t/ton) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_SI :SI (kg) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME :Rumfangsenheder: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_HELPTEXT :Når rumfang er vist i brugergrænsefladen, så vis dem i de valgte enheder +STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_HELPTEXT :Når en volumen vises i brugergrænsefladen, vise det i de udvalgte enheder STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_IMPERIAL :Imperisk (gal) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_METRIC :Metrisk (l) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_SI :SI (m³) @@ -1623,32 +1659,34 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_METRIC :Metrisk (kp) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_SI :SI (kN) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT :Højdeenheder: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT :Når højder er vist i brugergrænsefladen, så vis dem i de valgte enheder +STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT :Når højde er vist i brugergrænsefladen, så vis dem i de valgte enheder STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :Imperisk (fod) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :Metrisk (m) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :SI (m) -STR_CONFIG_SETTING_GUI :{ORANGE}Brugerflade STR_CONFIG_SETTING_LOCALISATION :{ORANGE}Lokalisering -STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}Konstruktion -STR_CONFIG_SETTING_VEHICLES :{ORANGE}Køretøjer -STR_CONFIG_SETTING_STATIONS :{ORANGE}Stationer -STR_CONFIG_SETTING_ECONOMY :{ORANGE}Økonomi -STR_CONFIG_SETTING_LINKGRAPH :{ORANGE}Fragtdistribution -STR_CONFIG_SETTING_AI :{ORANGE}Modstandere -STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}Visningsindstillinger -STR_CONFIG_SETTING_INTERACTION :{ORANGE}Brugerflade +STR_CONFIG_SETTING_GRAPHICS :{ORANGE}Grafiksæt / Manglende grafik STR_CONFIG_SETTING_SOUND :{ORANGE}Lydeffekter -STR_CONFIG_SETTING_NEWS :{ORANGE}Nyheder og beskeder -STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}Signaler -STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE}Fragthåndtering -STR_CONFIG_SETTING_AI_NPC :{ORANGE}Computerstyrede spillere -STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE}Auto-forny -STR_CONFIG_SETTING_VEHICLES_SERVICING :{ORANGE}Servicering +STR_CONFIG_SETTING_INTERFACE :{ORANGE}Brugerflade +STR_CONFIG_SETTING_INTERFACE_GENERAL :{ORANGE}Generelt +STR_CONFIG_SETTING_INTERFACE_VIEWPORTS :{ORANGE}Viewports +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Konstruktion +STR_CONFIG_SETTING_ADVISORS :{ORANGE}Nyheder / Rådgivere +STR_CONFIG_SETTING_COMPANY :{ORANGE}Firma +STR_CONFIG_SETTING_ACCOUNTING :{ORANGE}Regnskab +STR_CONFIG_SETTING_VEHICLES :{ORANGE}Køretøjer +STR_CONFIG_SETTING_VEHICLES_PHYSICS :{ORANGE}Fysik / Tilstand STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Ruteplanlægning -STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}Tog -STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}Byer -STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}Industrier +STR_CONFIG_SETTING_LIMITATIONS :{ORANGE}Begrænsninger +STR_CONFIG_SETTING_ACCIDENTS :{ORANGE}Katastrofer / Ulykker +STR_CONFIG_SETTING_GENWORLD :{ORANGE}Verden generation +STR_CONFIG_SETTING_ENVIRONMENT :{ORANGE}Miljø +STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :{ORANGE}Myndigheder +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Byer +STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}Industrier +STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :{ORANGE}Fragtdistribution +STR_CONFIG_SETTING_AI :{ORANGE}Modstandere +STR_CONFIG_SETTING_AI_NPC :{ORANGE}Computerstyrede spillere STR_CONFIG_SETTING_PATHFINDER_OPF :Original STR_CONFIG_SETTING_PATHFINDER_NPF :NPF @@ -1697,7 +1735,7 @@ STR_INTRO_MULTIPLAYER :{BLACK}Netværk STR_INTRO_GAME_OPTIONS :{BLACK}Spilvalg STR_INTRO_HIGHSCORE :{BLACK} Topresultater -STR_INTRO_ADVANCED_SETTINGS :{BLACK}Avancerede indstillinger +STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Indstillinger STR_INTRO_NEWGRF_SETTINGS :{BLACK}NewGRF indstillinger STR_INTRO_ONLINE_CONTENT :{BLACK}Tjek Online Indhold STR_INTRO_SCRIPT_SETTINGS :{BLACK}AI/Spilscript indstillinger @@ -1717,7 +1755,7 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Vælg 'l STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Vis spilvalg STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Hvis topscoreliste -STR_INTRO_TOOLTIP_ADVANCED_SETTINGS :{BLACK}Vis avancerede indstillinger +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Skærm indstillinger STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Vis NewGRF-indstillinger STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Tjek for nyt og opdateret indhold til download STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Vis computerspiller/spilscript indstillinger @@ -1757,6 +1795,8 @@ STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Spiller STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Magisk bulldozer (nedriv ting, som normalt ikke kan fjernes): {ORANGE}{STRING} STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}Tunneler kan krydse hinanden: {ORANGE}{STRING} STR_CHEAT_NO_JETCRASH :{LTBLUE}Jetfly vil ikke styrte (ofte) i små lufthavne: {ORANGE}{STRING} +STR_CHEAT_EDIT_MAX_HL :{LTBLUE}Rediger den maksimale map højde: {ORANGE}{NUM} +STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Rediger den maksimale højde af bjerge på kortet STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE :Tempereret klima STR_CHEAT_SWITCH_CLIMATE_SUB_ARCTIC_LANDSCAPE :Arktisk klima STR_CHEAT_SWITCH_CLIMATE_SUB_TROPICAL_LANDSCAPE :Tropisk klima @@ -1805,6 +1845,7 @@ STR_LIVERY_FREIGHT_TRAM :Fragt-sporvogn STR_FACE_CAPTION :{WHITE}Ansigtsvalg STR_FACE_CANCEL_TOOLTIP :{BLACK}Annuller nyt valg af ansigt STR_FACE_OK_TOOLTIP :{BLACK}Accepter nyt ansigtsvalg +STR_FACE_RANDOM :{BLACK}Tilfældig STR_FACE_MALE_BUTTON :{BLACK}Mand STR_FACE_MALE_TOOLTIP :{BLACK}Vælg mandlige ansigter @@ -2646,7 +2687,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-2014 OpenTTD teamet +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 OpenTTD teamet # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Gem spil @@ -2665,6 +2706,7 @@ STR_SAVELOAD_SAVE_BUTTON :{BLACK}Gem STR_SAVELOAD_SAVE_TOOLTIP :{BLACK}Gem det nuværende spil, med det valgte navn STR_SAVELOAD_LOAD_BUTTON :{BLACK}Åbn STR_SAVELOAD_LOAD_TOOLTIP :{BLACK}Åbn det markerede spil +STR_SAVELOAD_LOAD_HEIGHTMAP_TOOLTIP :{BLACK}Indlæs valgte højdemap STR_SAVELOAD_DETAIL_CAPTION :{BLACK}Spil Detaljer STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}Ingen information til rådighed STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING} @@ -2680,13 +2722,12 @@ STR_MAPGEN_BY :{BLACK}* STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Antal byer: STR_MAPGEN_DATE :{BLACK}Dato: STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Antal industrier: +STR_MAPGEN_MAX_HEIGHTLEVEL :{BLACK}Maksimal map højde: +STR_MAPGEN_MAX_HEIGHTLEVEL_UP :{BLACK}Øge den maksimale højde af bjerge på kortet med en +STR_MAPGEN_MAX_HEIGHTLEVEL_DOWN :{BLACK}Formindsk den maksimale højde af bjerge på kortet med en STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}Snegrænse STR_MAPGEN_SNOW_LINE_UP :{BLACK}Flyt snegrænsen een op STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}Flyt snegrænsen een ned -STR_MAPGEN_RANDOM_SEED :{BLACK}Tilfældig -STR_MAPGEN_RANDOM_SEED_HELP :{BLACK}Klik for at angive tilfældighed -STR_MAPGEN_RANDOM :{BLACK}Tilfældig -STR_MAPGEN_RANDOM_HELP :{BLACK}Ændre den tilfældige værdi ved brug i terrængeneratoren STR_MAPGEN_LAND_GENERATOR :{BLACK}Terrængenerator: STR_MAPGEN_TREE_PLACER :{BLACK}Træalgoritme: STR_MAPGEN_TERRAIN_TYPE :{BLACK}Terræntype: @@ -2713,7 +2754,7 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Højdeko STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Størrelse: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} -STR_MAPGEN_RANDOM_SEED_OSKTITLE :{BLACK}Skriv startværdi til tilfældige tal +STR_MAPGEN_MAX_HEIGHTLEVEL_QUERY_CAPT :{WHITE}Skift maksimal kort højde STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}Ændre snegrænsen STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Ændre startår @@ -2768,6 +2809,8 @@ STR_NEWGRF_SETTINGS_MOVEUP :{BLACK}Flyt op STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP :{BLACK}Flyt det valgte NewGRF sæt op i listen STR_NEWGRF_SETTINGS_MOVEDOWN :{BLACK}Flyt ned STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP :{BLACK}Flyt det valgte NewGRF sæt ned i listen +STR_NEWGRF_SETTINGS_UPGRADE :{BLACK}Opgradering +STR_NEWGRF_SETTINGS_UPGRADE_TOOLTIP :{BLACK}Opgrader NewGRF filer, som har en nyere version installeret STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}En liste over de NewGRF sæt der er installeret. STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}Indstil parameter @@ -2792,6 +2835,16 @@ STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Tilsvarend STR_NEWGRF_SETTINGS_DISABLED :{RED}Deaktiveret STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Ikke kompatibel med denne version af OpenTTD +# NewGRF save preset window +STR_SAVE_PRESET_CAPTION :{WHITE}Gem forudindstilling +STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK} Liste over tilgængelige presets, skal du vælge en til at kopiere det til gemte navn nedenfor +STR_SAVE_PRESET_TITLE :{BLACK}Indtast et navn til den forudindstillede +STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}Aktuelt valgte navn til den forudindstillede at gemme +STR_SAVE_PRESET_CANCEL :{BLACK}Annuller +STR_SAVE_PRESET_CANCEL_TOOLTIP :{BLACK}Du må ikke ændre den forudindstillede +STR_SAVE_PRESET_SAVE :{BLACK}Gem +STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}Gem forudindstilling til den aktuelle valgte navn + # NewGRF parameters window STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Ændre NewGRF parameterne STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Luk @@ -2819,10 +2872,13 @@ STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Fortsæt STR_SPRITE_ALIGNER_GOTO_BUTTON :{BLACK}Gå til grafikelement STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}Gå til det givne grafikelement. Hvis den ikke er et normalt grafikelement, fortsæt til næste normale element STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Tidligere grafikelement -STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Gå til forrige normale grafikelement, spring pseudo/omfarvede/skrift-elementer og omsvøb fra begyndelsen. +STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Fortsæt til den forrige normal sprite, springe over nogen pseudo / recolour / FONT sprites og indpakning rundt fra den første sprite til det sidste STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Repræsentation af den markerede sprite. Justeringen ignoreres når denne sprite tegnes. STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Flyt spriten rundt for at ændre X- og Y-forskydningen -STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X-forskydning: {NUM}, Y-forskydning: {NUM} +STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Nulstil relativ +STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Nulstil den nuværende relative forskydning +STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}X-forskydning: {NUM}, Y-forskydning: {NUM} (Absolut) +STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}X-forskydning: {NUM}, Y-forskydning: {NUM} (Relativt) STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Vælg grafikelement STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Vælg en sprite fra et vilkårligt sted på skærmen @@ -2879,6 +2935,7 @@ STR_NEWGRF_LIST_MISSING :{RED}Manglende STR_NEWGRF_BROKEN :{WHITE}Denne NewGRFs opførsel '{0:STRING}' vil sandsynligvis forårsage at spillet går ned. STR_NEWGRF_BROKEN_POWERED_WAGON :{WHITE}Den ændrer status for '{1:ENGINE}' når den ikke er i depot STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Den ændrer toglængden for '{1:ENGINE}' mens den ikke er i depot +STR_NEWGRF_BROKEN_CAPACITY :{WHITE}Det ændrede køretøj kapacitet til '{1:ENGINE}' når det ikke er inde i et depot eller genmontering STR_BROKEN_VEHICLE_LENGTH :{WHITE}Toget '{VEHICLE}' fra firmaet '{COMPANY}' har ugyldig længde. Det skyldes sandsynligvis at problem med en NewGRF. Spillet går muligvis ned. STR_NEWGRF_BUGGY :{WHITE}NewGRF '{0:STRING}' indeholder forkert information @@ -2994,7 +3051,7 @@ STR_GOAL_QUESTION_CAPTION_INFORMATION :Information STR_GOAL_QUESTION_CAPTION_WARNING :Advarsel STR_GOAL_QUESTION_CAPTION_ERROR :Mål-spørgsmåls-overskriftsfejl -### Start of Goal Question button list +############ Start of Goal Question button list STR_GOAL_QUESTION_BUTTON_CANCEL :Annuller STR_GOAL_QUESTION_BUTTON_OK :OK STR_GOAL_QUESTION_BUTTON_NO :Nej @@ -3013,6 +3070,7 @@ STR_GOAL_QUESTION_BUTTON_RESTART :Genstart STR_GOAL_QUESTION_BUTTON_POSTPONE :Udskyd STR_GOAL_QUESTION_BUTTON_SURRENDER :Overgiv dig STR_GOAL_QUESTION_BUTTON_CLOSE :Luk +############ End of Goal Question button list # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}Tilskudsordninger @@ -3048,7 +3106,6 @@ STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}Der vent # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} -STR_STATION_VIEW_WAITING_TITLE :{BLACK}Venter: {WHITE}{STRING} STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} undervejs fra {STATION}) STR_STATION_VIEW_RESERVED :{YELLOW}({CARGO_SHORT} forbeholdt lastning) @@ -3298,6 +3355,9 @@ STR_GROUP_DELETE_TOOLTIP :{BLACK}Slet den STR_GROUP_RENAME_TOOLTIP :{BLACK}Omdøb den valgte gruppe STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Klik for at beskytte denne gruppe mod global auto-udskiftning +STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Slet gruppe +STR_GROUP_DELETE_QUERY_TEXT :{WHITE}Er du sikker på at du vil slette denne gruppe og eventuelle under grupper? + STR_GROUP_ADD_SHARED_VEHICLE :Tilføj delte køretøjer STR_GROUP_REMOVE_ALL_VEHICLES :Fjern alle køretøjer @@ -3337,8 +3397,8 @@ STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Rækkevi 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 -STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Skibstypeliste - klik på skibstype for information -STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Flytypeliste - klik på en flytype for mere information +STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Skib valgliste. Klik på skib for information. Ctrl + Klik for at skifte skjule skibstypen +STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Luftfartøj valgliste. Klik på fly til orientering. Ctrl + Klik for at skifte skjule flytypen STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}Køb køretøj STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Køb køretøj @@ -3360,6 +3420,21 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Omdøb k STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Omdøb skibstypen STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Ømdøb flytypen +STR_BUY_VEHICLE_TRAIN_HIDE_TOGGLE_BUTTON :{BLACK}skjule +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_TOGGLE_BUTTON :{BLACK}skjule +STR_BUY_VEHICLE_SHIP_HIDE_TOGGLE_BUTTON :{BLACK}Skjul +STR_BUY_VEHICLE_AIRCRAFT_HIDE_TOGGLE_BUTTON :{BLACK}skjul + +STR_BUY_VEHICLE_TRAIN_SHOW_TOGGLE_BUTTON :{BLACK}Vis +STR_BUY_VEHICLE_ROAD_VEHICLE_SHOW_TOGGLE_BUTTON :{BLACK}Vis +STR_BUY_VEHICLE_SHIP_SHOW_TOGGLE_BUTTON :{BLACK}Vis +STR_BUY_VEHICLE_AIRCRAFT_SHOW_TOGGLE_BUTTON :{BLACK}Display + +STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Toggle skjule / vise af tog type +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Toggle skjule / vise af kørtøjstype +STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Toggle skjule / vise af skibstype +STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Toggle skjule / vise af flytype + STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}Omdøb tog-/togvognstypen STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}Omdøb køretøjstypen STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}Omdøb skibstypen @@ -3464,6 +3539,11 @@ STR_REPLACE_VEHICLE_ROAD_VEHICLE :Vejkøretøj STR_REPLACE_VEHICLE_SHIP :Skib STR_REPLACE_VEHICLE_AIRCRAFT :Fly +STR_REPLACE_VEHICLE_VEHICLES_IN_USE :{YELLOW}Køretøjer i brug +STR_REPLACE_VEHICLE_VEHICLES_IN_USE_TOOLTIP :{BLACK}Kolonne med køretøjer, som du ejer +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES :{YELLOW}Tilgængelige køretøjer +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES_TOOLTIP :{BLACK}Kolonne med køretøjer til rådighed til udskiftning + STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Vælg en køretøjstype, som du ønsker udskiftet STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Vælg en køretøjstype, som du ønker benyttet i stedet for den type, du har valgt i venste side @@ -3818,6 +3898,10 @@ STR_TIMETABLE_TRAVEL_NOT_TIMETABLED :Rejs (ikke iflg STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Rejs med højst {2:VELOCITY} (ikke skemalagt) STR_TIMETABLE_TRAVEL_FOR :Rejs i {STRING} STR_TIMETABLE_TRAVEL_FOR_SPEED :Rejs mod {STRING} med højst {VELOCITY} +STR_TIMETABLE_TRAVEL_FOR_ESTIMATED :Køreplan (for {STRING}, ikke skemalagt) +STR_TIMETABLE_TRAVEL_FOR_SPEED_ESTIMATED :Køreplan (for {STRING}, ikke skemalagt) med på de fleste {VELOCITY} +STR_TIMETABLE_STAY_FOR_ESTIMATED :(ophold for {STRING}, ikke skemalagt) +STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(rejse for {STRING}, ikke skemalagt) STR_TIMETABLE_STAY_FOR :og vent i {STRING} STR_TIMETABLE_AND_TRAVEL_FOR :og rejs i {STRING} STR_TIMETABLE_DAYS :{COMMA} dag{P "" e} @@ -4059,6 +4143,7 @@ STR_ERROR_EXCAVATION_WOULD_DAMAGE :{WHITE}Udgravni STR_ERROR_ALREADY_AT_SEA_LEVEL :{WHITE}... allerede ved havoverfladen STR_ERROR_TOO_HIGH :{WHITE}... for højt STR_ERROR_ALREADY_LEVELLED :{WHITE}... allerede fladt +STR_ERROR_BRIDGE_TOO_HIGH_AFTER_LOWER_LAND :{WHITE}Bagefter vil broen over dette ville være for høj. # Company related errors STR_ERROR_CAN_T_CHANGE_COMPANY_NAME :{WHITE}Kan ikke ændre selskabets navn... @@ -4109,6 +4194,9 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... skov STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE} ... kan kun bygges over snegrænsen STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE} ... kan kun bygges under snegrænsen +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}Der var ingen egnede steder for '{STRING}' industrier +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Skift kort generations parametre for at få et bedre kort + # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Kan ikke bygge en banegård her... STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}Kan ikke bygge rutebilstation... @@ -4245,6 +4333,7 @@ STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Det er n STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}Kan ikke starte og slutte på samme position STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}Brohoveder er ikke i samme niveau STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}Broen er for lav til terrænet +STR_ERROR_BRIDGE_TOO_HIGH_FOR_TERRAIN :{WHITE}Broen er for høj for dette terræn. STR_ERROR_START_AND_END_MUST_BE_IN :{WHITE}Start- og slutposition skal være på linje STR_ERROR_ENDS_OF_BRIDGE_MUST_BOTH :{WHITE}... begge ender af en bro skal være på land STR_ERROR_BRIDGE_TOO_LONG :{WHITE}... broen er for lang @@ -4271,6 +4360,7 @@ STR_ERROR_YOU_ALREADY_OWN_IT :{WHITE}... du e STR_ERROR_GROUP_CAN_T_CREATE :{WHITE}Kan ikke oprette gruppe... STR_ERROR_GROUP_CAN_T_DELETE :{WHITE}Kan ikke slette denne gruppe... STR_ERROR_GROUP_CAN_T_RENAME :{WHITE}Kan ikke omdøbe gruppe... +STR_ERROR_GROUP_CAN_T_SET_PARENT :{WHITE}Kan ikke sætte overordnede gruppe ... STR_ERROR_GROUP_CAN_T_REMOVE_ALL_VEHICLES :{WHITE}Kan ikke fjerne alle køretøjer fra denne gruppe... STR_ERROR_GROUP_CAN_T_ADD_VEHICLE :{WHITE}Kan ikke tilføje køretøjet til denne gruppe... STR_ERROR_GROUP_CAN_T_ADD_SHARED_VEHICLE :{WHITE}Kan ikke tilføje delte køretøjer til gruppe... @@ -4808,6 +4898,7 @@ STR_COMPANY_NAME :{COMPANY} STR_COMPANY_NAME_COMPANY_NUM :{COMPANY} {COMPANY_NUM} STR_DEPOT_NAME :{DEPOT} STR_ENGINE_NAME :{ENGINE} +STR_HIDDEN_ENGINE_NAME :{ENGINE} (skjult) STR_GROUP_NAME :{GROUP} STR_INDUSTRY_NAME :{INDUSTRY} STR_PRESIDENT_NAME :{PRESIDENT_NAME} @@ -4843,8 +4934,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -4855,9 +4944,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/dutch.txt b/src/lang/dutch.txt index 073414e478..8af6cacc55 100644 --- a/src/lang/dutch.txt +++ b/src/lang/dutch.txt @@ -95,30 +95,30 @@ STR_CARGO_SINGULAR_FIZZY_DRINK :Frisdrank # Quantity of cargo STR_QUANTITY_NOTHING : -STR_QUANTITY_PASSENGERS :{COMMA} passagier{P "" s} +STR_QUANTITY_PASSENGERS :{COMMA}{NBSP}passagier{P "" s} STR_QUANTITY_COAL :{WEIGHT_LONG} kolen -STR_QUANTITY_MAIL :{COMMA} zak{P "" ken} post +STR_QUANTITY_MAIL :{COMMA}{NBSP}zak{P "" ken} post STR_QUANTITY_OIL :{VOLUME_LONG} olie -STR_QUANTITY_LIVESTOCK :{COMMA} stuk{P "" s} vee -STR_QUANTITY_GOODS :{COMMA} krat{P "" ten} goederen +STR_QUANTITY_LIVESTOCK :{COMMA}{NBSP}stuk{P "" s} vee +STR_QUANTITY_GOODS :{COMMA}{NBSP}krat{P "" ten} goederen STR_QUANTITY_GRAIN :{WEIGHT_LONG} graan STR_QUANTITY_WOOD :{WEIGHT_LONG} hout STR_QUANTITY_IRON_ORE :{WEIGHT_LONG} ijzererts STR_QUANTITY_STEEL :{WEIGHT_LONG} staal -STR_QUANTITY_VALUABLES :{COMMA} zak{P "" ken} kostbaarheden +STR_QUANTITY_VALUABLES :{COMMA}{NBSP}zak{P "" ken} kostbaarheden STR_QUANTITY_COPPER_ORE :{WEIGHT_LONG} kopererts STR_QUANTITY_MAIZE :{WEIGHT_LONG} mais STR_QUANTITY_FRUIT :{WEIGHT_LONG} fruit -STR_QUANTITY_DIAMONDS :{COMMA} zak{P "" ken} diamanten +STR_QUANTITY_DIAMONDS :{COMMA}{NBSP}zak{P "" ken} diamanten STR_QUANTITY_FOOD :{WEIGHT_LONG} voedsel STR_QUANTITY_PAPER :{WEIGHT_LONG} papier -STR_QUANTITY_GOLD :{COMMA} zak{P "" ken} goud +STR_QUANTITY_GOLD :{COMMA}{NBSP}zak{P "" ken} goud STR_QUANTITY_WATER :{VOLUME_LONG} water STR_QUANTITY_WHEAT :{WEIGHT_LONG} tarwe STR_QUANTITY_RUBBER :{VOLUME_LONG} rubber STR_QUANTITY_SUGAR :{WEIGHT_LONG} suiker -STR_QUANTITY_TOYS :{COMMA} stuk{P "" ken} speelgoed -STR_QUANTITY_SWEETS :{COMMA} zak{P "" ken} snoep +STR_QUANTITY_TOYS :{COMMA}{NBSP}stuk{P "" ken} speelgoed +STR_QUANTITY_SWEETS :{COMMA}{NBSP}zak{P "" ken} snoep STR_QUANTITY_COLA :{VOLUME_LONG} cola STR_QUANTITY_CANDYFLOSS :{WEIGHT_LONG} suikerspinnen STR_QUANTITY_BUBBLES :{COMMA} bel{P "" len} @@ -165,12 +165,12 @@ STR_ABBREV_NONE :{TINY_FONT}GEEN STR_ABBREV_ALL :{TINY_FONT}ALLES # 'Mode' of transport for cargoes -STR_PASSENGERS :{COMMA} passagier{P "" s} -STR_BAGS :{COMMA} zak{P "" ken} -STR_TONS :{COMMA} ton -STR_LITERS :{COMMA} liter -STR_ITEMS :{COMMA} stuk{P "" s} -STR_CRATES :{COMMA} krat{P "" ten} +STR_PASSENGERS :{COMMA}{NBSP}passagier{P "" s} +STR_BAGS :{COMMA}{NBSP}zak{P "" ken} +STR_TONS :{COMMA}{NBSP}ton +STR_LITERS :{COMMA}{NBSP}liter +STR_ITEMS :{COMMA}{NBSP}stuk{P "" s} +STR_CRATES :{COMMA}{NBSP}krat{P "" ten} # Colours, do not shuffle STR_COLOUR_DARK_BLUE :Donkerblauw @@ -191,37 +191,37 @@ STR_COLOUR_GREY :Grijs STR_COLOUR_WHITE :Wit # Units used in OpenTTD -STR_UNITS_VELOCITY_IMPERIAL :{COMMA} mph -STR_UNITS_VELOCITY_METRIC :{COMMA} km/u -STR_UNITS_VELOCITY_SI :{COMMA} m/s +STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}mph +STR_UNITS_VELOCITY_METRIC :{COMMA}{NBSP}km/u +STR_UNITS_VELOCITY_SI :{COMMA}{NBSP}m/s -STR_UNITS_POWER_IMPERIAL :{COMMA} pk -STR_UNITS_POWER_METRIC :{COMMA} pk -STR_UNITS_POWER_SI :{COMMA} kW +STR_UNITS_POWER_IMPERIAL :{COMMA}{NBSP}pk +STR_UNITS_POWER_METRIC :{COMMA}{NBSP}pk +STR_UNITS_POWER_SI :{COMMA}{NBSP}kW -STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}t -STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}t -STR_UNITS_WEIGHT_SHORT_SI :{COMMA}kg +STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_SI :{COMMA}{NBSP}kg -STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA} ton -STR_UNITS_WEIGHT_LONG_METRIC :{COMMA} ton -STR_UNITS_WEIGHT_LONG_SI :{COMMA} kg +STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA}{NBSP}ton +STR_UNITS_WEIGHT_LONG_METRIC :{COMMA}{NBSP}ton +STR_UNITS_WEIGHT_LONG_SI :{COMMA}{NBSP}kg -STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}gal -STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}l -STR_UNITS_VOLUME_SHORT_SI :{COMMA}m³ +STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}{NBSP}gal +STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}{NBSP}l +STR_UNITS_VOLUME_SHORT_SI :{COMMA}{NBSP}m³ -STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA} gallon{P "" s} -STR_UNITS_VOLUME_LONG_METRIC :{COMMA} liter -STR_UNITS_VOLUME_LONG_SI :{COMMA} m³ +STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA}{NBSP}gallon{P "" s} +STR_UNITS_VOLUME_LONG_METRIC :{COMMA}{NBSP}liter +STR_UNITS_VOLUME_LONG_SI :{COMMA}{NBSP}m³ -STR_UNITS_FORCE_IMPERIAL :{COMMA} lbf -STR_UNITS_FORCE_METRIC :{COMMA} kgf -STR_UNITS_FORCE_SI :{COMMA} kN +STR_UNITS_FORCE_IMPERIAL :{COMMA}{NBSP}lbf +STR_UNITS_FORCE_METRIC :{COMMA}{NBSP}kgf +STR_UNITS_FORCE_SI :{COMMA}{NBSP}kN -STR_UNITS_HEIGHT_IMPERIAL :{COMMA} ft -STR_UNITS_HEIGHT_METRIC :{COMMA} m -STR_UNITS_HEIGHT_SI :{COMMA} m +STR_UNITS_HEIGHT_IMPERIAL :{COMMA}{NBSP}ft +STR_UNITS_HEIGHT_METRIC :{COMMA}{NBSP}m +STR_UNITS_HEIGHT_SI :{COMMA}{NBSP}m # Common window strings STR_LIST_FILTER_TITLE :{BLACK}Filter tekst: @@ -248,6 +248,17 @@ STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Schuifba STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Schuifbalk - scroll horizontaal door de lijst STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Sloop gebouwen etc. op een stuk land. Ctrl selecteert het gebied diagonaal. Shift schakelt tussen bouwen/inschatting van de kosten +# Show engines button +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}Toon verborgen +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK}Toon verborgen +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}Toon verborgen +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}Toon verborgen + +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}Door het inschakelen van deze knop, worden de verborgen treinen ook weergegeven +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE_TOOLTIP :Door het inschakelen van deze knop, worden de verborgen wegvoertuigen ook weergegeven +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}Door het inschakelen van deze knop, worden de verborgen schepen ook weergegeven +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Door het inschakelen van deze knop, worden de verborgen vliegtuig ook weergegeven + # Query window STR_BUTTON_DEFAULT :{BLACK}Standaard STR_BUTTON_CANCEL :{BLACK}Annuleren @@ -361,7 +372,7 @@ STR_SCENEDIT_FILE_MENU_QUIT :Afsluiten ############ range for settings menu starts STR_SETTINGS_MENU_GAME_OPTIONS :Spelopties -STR_SETTINGS_MENU_CONFIG_SETTINGS :Geavanceerde instellingen +STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Instellingen STR_SETTINGS_MENU_SCRIPT_SETTINGS :AI/Game script instellingen STR_SETTINGS_MENU_NEWGRF_SETTINGS :NewGRF instellingen STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Doorzichtigheidsopties @@ -470,7 +481,7 @@ STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Schakel selecti STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Schakel kleuren van braakliggende grond aan/uit ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window STR_ORDINAL_NUMBER_1ST :1 STR_ORDINAL_NUMBER_2ND :2 STR_ORDINAL_NUMBER_3RD :3 @@ -486,22 +497,40 @@ STR_ORDINAL_NUMBER_12TH :12 STR_ORDINAL_NUMBER_13TH :13 STR_ORDINAL_NUMBER_14TH :14 STR_ORDINAL_NUMBER_15TH :15 -STR_ORDINAL_NUMBER_16TH :16 -STR_ORDINAL_NUMBER_17TH :17 -STR_ORDINAL_NUMBER_18TH :18 -STR_ORDINAL_NUMBER_19TH :19 -STR_ORDINAL_NUMBER_20TH :20 -STR_ORDINAL_NUMBER_21ST :21 -STR_ORDINAL_NUMBER_22ND :22 -STR_ORDINAL_NUMBER_23RD :23 -STR_ORDINAL_NUMBER_24TH :24 -STR_ORDINAL_NUMBER_25TH :25 -STR_ORDINAL_NUMBER_26TH :26 -STR_ORDINAL_NUMBER_27TH :27 -STR_ORDINAL_NUMBER_28TH :28 -STR_ORDINAL_NUMBER_29TH :29 -STR_ORDINAL_NUMBER_30TH :30 -STR_ORDINAL_NUMBER_31ST :31 +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :1 +STR_DAY_NUMBER_2ND :2 +STR_DAY_NUMBER_3RD :3 +STR_DAY_NUMBER_4TH :4 +STR_DAY_NUMBER_5TH :5 +STR_DAY_NUMBER_6TH :6 +STR_DAY_NUMBER_7TH :7 +STR_DAY_NUMBER_8TH :8 +STR_DAY_NUMBER_9TH :9 +STR_DAY_NUMBER_10TH :10 +STR_DAY_NUMBER_11TH :11 +STR_DAY_NUMBER_12TH :12 +STR_DAY_NUMBER_13TH :13 +STR_DAY_NUMBER_14TH :14 +STR_DAY_NUMBER_15TH :15 +STR_DAY_NUMBER_16TH :16 +STR_DAY_NUMBER_17TH :17 +STR_DAY_NUMBER_18TH :18 +STR_DAY_NUMBER_19TH :19 +STR_DAY_NUMBER_20TH :20 +STR_DAY_NUMBER_21ST :21 +STR_DAY_NUMBER_22ND :22 +STR_DAY_NUMBER_23RD :23 +STR_DAY_NUMBER_24TH :24 +STR_DAY_NUMBER_25TH :25 +STR_DAY_NUMBER_26TH :26 +STR_DAY_NUMBER_27TH :27 +STR_DAY_NUMBER_28TH :28 +STR_DAY_NUMBER_29TH :29 +STR_DAY_NUMBER_30TH :30 +STR_DAY_NUMBER_31ST :31 ############ range for days ends ############ range for months starts @@ -810,13 +839,12 @@ STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}{VEHICLE STR_NEWS_SHIP_IS_WAITING :{WHITE}{VEHICLE} wacht in dok STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE} wacht in hangar -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE +# Order review system / warnings STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE} heeft te weinig orders STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE} heeft een lege order STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE} heeft dubbele orders STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE} heeft een ongeldig station in de orders -# end of order system +STR_NEWS_PLANE_USES_TOO_SHORT_RUNWAY :{WHITE}{VEHICLE} heeft in de opdrachten een luchthaven waarvan de start-en landingsbaan is te kort STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} is oud aan het worden STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} is erg oud aan het worden @@ -899,10 +927,6 @@ STR_GAME_OPTIONS_CURRENCY_GEL :Georgische Lari STR_GAME_OPTIONS_CURRENCY_IRR :Iraanse Rial (IRR) ############ end of currency region - -############ start of measuring units region -############ end of measuring units region - STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Wegvoertuigen STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}Kies aan welke kant de wegvoertuigen moeten rijden STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :Links rijden @@ -938,11 +962,13 @@ STR_GAME_OPTIONS_TOWN_NAME_CATALAN :Catalaans STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Automatisch opslaan STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Kies interval tussen automatisch opgeslagen spellen +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Uit STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :Iedere maand STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :Iedere 3 maanden STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :Iedere 6 maanden STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :Iedere 12 maanden +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}Taal STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Selecteer de interfacetaal @@ -954,8 +980,12 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}Schermre STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Selecteer de schermresolutie STR_GAME_OPTIONS_RESOLUTION_OTHER :Anders -STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}Screenshotformaat -STR_GAME_OPTIONS_SCREENSHOT_FORMAT_TOOLTIP :{BLACK}Selecteer het bestandsformaat van screenshots +STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Menupuntgrootte +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Kies de menupuntgrootte dat moet worden gebruikt + +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normaal +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Dubbele grootte +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :4x Grootte STR_GAME_OPTIONS_BASE_GRF :{BLACK}Basisset voor graphics STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Kies de te gebruiken basisset voor graphics @@ -971,6 +1001,7 @@ STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Kies de STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} corrupt{P "" e} bestand{P "" en} STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Aanvullende informatie over the basisset voor muziek +STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Mislukt om een lijst met ondersteunde resoluties op te halen STR_ERROR_FULLSCREEN_FAILED :{WHITE}Modus voor volledig scherm is mislukt # Custom currency window @@ -1049,6 +1080,7 @@ STR_TERRAIN_TYPE_VERY_FLAT :Zeer Vlak STR_TERRAIN_TYPE_FLAT :Vlak STR_TERRAIN_TYPE_HILLY :Heuvelachtig STR_TERRAIN_TYPE_MOUNTAINOUS :Bergachtig +STR_TERRAIN_TYPE_ALPINIST :Berglandschap STR_CITY_APPROVAL_PERMISSIVE :Toegeeflijk STR_CITY_APPROVAL_TOLERANT :Tolerant @@ -1056,8 +1088,8 @@ STR_CITY_APPROVAL_HOSTILE :Vijandig STR_WARNING_NO_SUITABLE_AI :{WHITE}Geen bruikbare AIs beschikbaar...{}U kunt diverse AI's downloaden via het 'Online Content' systeem -# Advanced settings window -STR_CONFIG_SETTING_CAPTION :{WHITE}Geavanceerde instellingen +# Settings tree window +STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Instellingen STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Filtertekst: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Alles uitvouwen STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Alles inklappen @@ -1072,18 +1104,18 @@ STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :Bedrijfsinstell STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK}Categorie: STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}Type: -STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Filtert de onstaande lijst op alleen gewijzigde instellingen -STR_CONFIG_SETTING_RESTRICT_BASIC :Gewone instellingen -STR_CONFIG_SETTING_RESTRICT_ADVANCED :Geavanceerde instellingen -STR_CONFIG_SETTING_RESTRICT_ALL :Geavanceerde instellingen / Alle instellingen +STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Beperkt de onderstaande lijst met vooraf gedefinieerde filters +STR_CONFIG_SETTING_RESTRICT_BASIC :Basis (toon alleen belangrijke instellingen) +STR_CONFIG_SETTING_RESTRICT_ADVANCED :Geavanceerd (toon de meeste instellingen) +STR_CONFIG_SETTING_RESTRICT_ALL :Expert (toon alle instellingen, inclusief vreemde) STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :Instellingen met een andere waarde dan de standaard STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :Instellingen met een andere waarde dan je 'nieuw spel' instellingen STR_CONFIG_SETTING_TYPE_DROPDOWN_HELPTEXT :{BLACK}Filter de lijst hieronder op bepaalde instellingstypen STR_CONFIG_SETTING_TYPE_DROPDOWN_ALL :Alle instellingen STR_CONFIG_SETTING_TYPE_DROPDOWN_CLIENT :Gebruikersinstellingen (Niet opgeslagen in bestand; heeft betrekking op alle spellen) -STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :Spelinstellingen (Opgeslagen in bestand; hebben alleen betrekking op nieuw spel) -STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :Bedrijfsinstellingen (Opgeslagen in bestand; hebben alleen betrekking op huidig spel) +STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :Spelinstellingen (Opgeslagen in bestand; hebben alleen betrekking op nieuwe spellen) +STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :Spelinstellingen (Opgeslagen in bestand; hebben alleen betrekking op huidig spel) STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :Bedrijfsinstellingen (Opgeslagen in bestand; heeft alleen betrekking op nieuwe spellen) STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :Bedrijfsinstellingen (Opgeslagen in bestand; hebben alleen betrekking op huidig bedrijf) STR_CONFIG_SETTING_CATEGORY_HIDES :{BLACK}Toon alle zoekresultaten per instelling{}{SILVER}Categorie {BLACK}naar {WHITE}{STRING} @@ -1130,9 +1162,10 @@ STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Schakel rampen STR_CONFIG_SETTING_CITY_APPROVAL :Gemeenteraad's houding ten opzichte van herstructurering gebied: {STRING} STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Kies hoeveel lawaai en schade aan het milieu door bedrijven de stadswaardering en hun acties beïnvloeden in hun bouwgebied -STR_CONFIG_SETTING_BUILDONSLOPES :Bouwen op hellingen en kusten toestaan: {STRING} -STR_CONFIG_SETTING_BUILDONSLOPES_HELPTEXT :Indien ingeschakeld kunnen sporen en stations gebouwd worden op hellingen. Indien uitgeschakeld kunnen stations en sporen alleen gebouwd worden op hellingen waar geen fundering nodig is en alleen in de richting van het spoor. -STR_CONFIG_SETTING_AUTOSLOPE :Omgeving aanpassen onder gebouwen, spoorwegen, enz. toestaan (autoslope): {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :Maximum kaarthoogte: {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :Stel de maximum toegestande hoogte voor bergen op de kaart in +STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}Je kunt de maximum kaarthoogte niet in deze waarde wijzigen. Minstens één berg op de kaart is hoger +STR_CONFIG_SETTING_AUTOSLOPE :Omgeving aanpassen onder gebouwen, spoorwegen, enz. toestaan: {STRING} STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Laat het aanpassen van funderingne onder gebouwen en spoor toe zonder deze te verwijderen STR_CONFIG_SETTING_CATCHMENT :Gebruik meer realistische handelsgebieden: {STRING} STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Heb verschillende grootte verzorgingsgebied voor verschillende typen stations en luchthavens @@ -1156,16 +1189,12 @@ STR_CONFIG_SETTING_FORBID_90_DEG :Verbied treinen STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90 graden draaien treden op wanneer een horizontale baan direct gevolgd door een verticale baan stuk op de aangrenzende tegel, waardoor de trein daarna 90 graad wanneer het doorlopen van de tegel rand plaats van de gebruikelijke 45 graden voor andere spoor combinaties. Dit geldt ook voor de draaicirkel van schepen STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Sta het samenvoegen van niet direct aaneensluitende stations toe: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Sta toe dat er aanvullende onderdelen aan een station worden geplaatst, zonder dat reed bestaande onderdelen beïnvloed worden. Gebruikt Ctrl+Click tijdens het plaatsen van nieuwe onderdelen. -STR_CONFIG_SETTING_IMPROVEDLOAD :Gebruik verbeterd laadalgoritme: {STRING} -STR_CONFIG_SETTING_IMPROVEDLOAD_HELPTEXT :Indien ingeschakeld, meerdere voertuigen die wachten op een station worden achter elkaar geplaatst. Het laden van het volgende voertuig start pas als er voldoende lading is om het eerste voertuig volledig te vullen -STR_CONFIG_SETTING_GRADUAL_LOADING :Voertuigen geleidelijk laden: {STRING} -STR_CONFIG_SETTING_GRADUAL_LOADING_HELPTEXT :Geleidelijk laadt voertuigen die gebruikmaken van het voertuig specifieke laad-duur, in plaats van laden alles in een keer met een vaste tijd die alleen afhangt van de hoeveelheid te laden vracht STR_CONFIG_SETTING_INFLATION :Inflatie: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :Schakel de inflatie in de economie in, waar de kosten iets sneller stijgen dan de betalingen -STR_CONFIG_SETTING_SELECTGOODS :Vracht alleen bezorgen aan een station als er vraag naar is: {STRING} -STR_CONFIG_SETTING_SELECTGOODS_HELPTEXT :Leveren alleen vracht naar een station dat werd aangevraagd bij een laad-voertuig. Dit voorkomt een slechte score voor ladingen die niet wordt opgehaald bij een station STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Maximum brug lengte: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Maximum lengte voor te bouwen bruggen +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :Maximum brughoogte: {STRING} +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :Maximum hoogte ombruggen te bouwen STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Maximum tunnel lengte: {STRING} STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :Maximum lengte voor te bouwen tunnels STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Handmatige bouwmethode voor primaire industrieën: {STRING} @@ -1191,8 +1220,6 @@ STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Plaats waar een STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :aan het begin STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :in het midden STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :aan het einde -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING :Wachtrijvorming bij wegvoertuigen (met bijwerkingen): {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING_HELPTEXT :Wegvoertuigen laten stoppen voor een bezet wegstation tot ze toestemming krijgen om door te gaan. STR_CONFIG_SETTING_AUTOSCROLL :Verschuif scherm als muis aan de rand is: {STRING} STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Wanneer aan, start een subvenster met scrollen wanneer de muis vlak bij de rand van het venster komt STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Uitgeschakeld @@ -1223,10 +1250,6 @@ STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Sta toe dat doo STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Laat het bouwen van doorrijhaltes toe op stedelijke wegen STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Sta doorrijhaltes op wegen van tegenstanders toe: {STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Laat het bouwen van doorrijhaltes toe op wegen van andere bedrijven -STR_CONFIG_SETTING_ADJACENT_STATIONS :Bouwen van aangrenzende stations toestaan: {STRING} -STR_CONFIG_SETTING_ADJACENT_STATIONS_HELPTEXT :Laat het aaneen bouwen van verschillende stations toe -STR_CONFIG_SETTING_DYNAMIC_ENGINES :Maak het mogelijk om meerdere NewGRF-voertuigsets te gebruiken: {STRING} -STR_CONFIG_SETTING_DYNAMIC_ENGINES_HELPTEXT :Compatibiliteit optie voor oude NewGRFs. Schakel dit niet uit, tenzij je precies weet wat je doet! STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Deze instelling kan niet gewijzigd worden als er voertuigen zijn STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Onderhoud infrastructuur: {STRING} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Wanneer ingeschakeld, infrastructuur veroorzaakt onderhoudskosten. De kosten groeit boven-proportioneel met de grootte van het netwerk, hetgeen van hogere invloed is op grotere bedrijven dan kleinere @@ -1257,7 +1280,7 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :Duur van foutbe STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Duur voor het weergeven van foutmeldingen in een rood venster. Merk op dat sommige (kritische) foutmeldingen niet automatisch wordt gesloten na deze tijd, deze moeten handmatig worden gesloten STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{COMMA} seconde{P 0 "" n} STR_CONFIG_SETTING_HOVER_DELAY :Toon tooltips: {STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Vertraging voordat tooltips worden weergegeven wanneer de muis over een interface-element. Als alternatief kunnen tooltips worden gebonden aan de rechter muisknop +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Vertraging voordat tooltips worden weergegeven wanneer de muis over een interface-element. Als alternatief kunnen tooltips worden gebonden aan de rechter muisknop wanneer de waarde 0 is. STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Wijs aan voor {COMMA} seconde{P 0 "" n} STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Rechtsklik STR_CONFIG_SETTING_POPULATION_IN_LABEL :Geef het inwoneraantal bij een stad weer: {STRING} @@ -1265,27 +1288,41 @@ STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Toon de populat STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Dikte van de lijnen in grafieken: {STRING} STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Breedte van de lijnen in de grafiek. Een dunne lijn is preciezer leesbaar, een dikke lijn is makkelijker te zien en kleuren zijn gemakkelijker herkenbaar.e lijn +STR_CONFIG_SETTING_LANDSCAPE :Landschap: {STRING} +STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Landschappen definiëren basis gameplay scenario's met verschillende vracht en stadsgroei eisen. NewGRF en Game Scripts kunnen fijne instellingen hebben STR_CONFIG_SETTING_LAND_GENERATOR :Landgenerator: {STRING} +STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :De originele generator afhankelijk van de basis graphics set, en composeert vaste landschap vormen. TerraGenesis is een Perlin-ruis gebaseerde generator met fijnere instellingen STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Origineel STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis -STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Max afstand van de rand voor Olierafinaderijen: {STRING} +STR_CONFIG_SETTING_TERRAIN_TYPE :Terrein type: {STRING} +STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(Alleen TerraGenesis) Heuvelachtigheid van het landschap +STR_CONFIG_SETTING_INDUSTRY_DENSITY :Industrie-dichtheid: {STRING} +STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Stel in hoeveel industrieën moeten worden gegenereerd en welk niveau tijdens het spel moet worden gehandhaafd +STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Maximum afstand van de rand voor Olierafinaderijen: {STRING} STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Olieraffinaderijen worden alleen gebouwd nabij de kaart grens, dat is aan de kust van eiland kaarten STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Sneeuwhoogte: {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Ruwheid van het terrein (alleen TerraGenesis) : {STRING} +STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Instellen op welke hoogte de sneeuw begint in sub-arctische landschap. Sneeuw heeft ook invloed op de industrie generatie en stadsgroei eisen +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Ruwheid van het terrein: {STRING} +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(Alleen TerraGenesis) Kies de frequentie van de heuvels: Gladde landschappen hebben minder, meer wijdverspreide heuvels. Ruwe landschappen hebben veel heuvels, die repetitief kunnen lijken STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Erg glad STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Glad STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Ruig STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Erg ruig +STR_CONFIG_SETTING_VARIETY :Variëteit distributie: {STRING} +STR_CONFIG_SETTING_VARIETY_HELPTEXT :(Alleen TerraGenesis) Controleer of de kaart zowel bergachtige als vlakke gebieden bevat. Aangezien dit alleen de kaart platter maakt, moeten andere instellingen worden ingesteld op bergachtige +STR_CONFIG_SETTING_RIVER_AMOUNT :Hoeveelheid rivieren: {STRING} +STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Kies hoeveel rivieren er gegenereerd worden STR_CONFIG_SETTING_TREE_PLACER :Algoritme voor plaatsing van bomen: {STRING} +STR_CONFIG_SETTING_TREE_PLACER_HELPTEXT :Kies de verdeling van de bomen op de kaart: 'Origineel' plant bomen gelijkmatig verspreid, 'verbeterde' plant in groepen STR_CONFIG_SETTING_TREE_PLACER_NONE :Geen STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :Origineel STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :Verbeterd +STR_CONFIG_SETTING_ROAD_SIDE :Wegvoertuigen: {STRING} +STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :Kies de rij zijde STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Draaiing van hoogtekaart: {STRING} STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Tegen de klok in STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Met de klok mee STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :De hoogte van een plat scenario wordt: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :Aanpassen van de hoogte van de randen van de kaart toestaan: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES_HELPTEXT :Indien uitgeschakeld, zijn de kaart grenzen altijd oceaan STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}Een of meer vakjes aan de noordelijke rand zijn niet leeg STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}Een of meer vakjes aan de rand zijn geen water @@ -1306,7 +1343,7 @@ STR_CONFIG_SETTING_SMOOTH_SCROLLING :Vloeiend scroll STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Bepalen hoe de hoofdweergave schuift naar een specifieke positie bij het klikken op de minikaart of bij de afgifte van een opdracht om naar een specifiek object op de kaart. Indien ingeschakeld, de viewport scrollt soepel, als deze uitgeschakeld gaat u rechtstreeks naar de beoogde plek STR_CONFIG_SETTING_MEASURE_TOOLTIP :Toon dimensie-informatie bij het gebruik van diverse bouwgereedschappen: {STRING} STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT :Geef tegel-afstanden en hoogteverschillen bij het slepen tijdens de bouw werkzaamheden -STR_CONFIG_SETTING_LIVERIES :Laat alle bedrijfskleuren zien: {STRING} +STR_CONFIG_SETTING_LIVERIES :Laat alle voertuigkleuren zien: {STRING} STR_CONFIG_SETTING_LIVERIES_HELPTEXT :Beheer het gebruik van voertuigspecifieke levering voor voertuigen (in tegenstelling tot bedrijfsspecifieke leveringen). STR_CONFIG_SETTING_LIVERIES_NONE :Niets STR_CONFIG_SETTING_LIVERIES_OWN :Eigen bedrijf @@ -1336,17 +1373,15 @@ 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 linkermuis knop in door te slepen. Dit is vooral handig bij het gebruik van een touch-screen voor scrollen +STR_CONFIG_SETTING_AUTOSAVE :Automatisch opslaan: {STRING} +STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Kies interval tussen automatische spelopslag + STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Gebruik {STRING} datumformaat voor naamgeving van opgeslagen spellen STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Formaat van de datum in op te slaan spel bestandsnamen STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :lang (31e dec 2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :kort (31-12-2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE :Standaard palette voor NewGRFs zonder specifiek palette: {STRING} -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_HELPTEXT :Standaard palet te gebruiken voor NewGRFs die niet aangeven welke ze nodig hebben -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_DOS :Standaard (D) palette -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_WIN :Legacy (W) palette - STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Automatisch pauzeren als je een nieuw spel start: {STRING} STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :Wanneer ingeschakeld, het spel zal automatisch pauzeren bij het starten van een nieuw spel, waardoor nadere bestudering van de kaart mogelijk is STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Toestaan wanneer gepauzeerd: {STRING} @@ -1355,7 +1390,7 @@ STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :Geen mogelijkhe STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :Alle niet-constructie mogelijkheden STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :Alles behalve landschapsaanpassingen STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_ACTIONS :Alle mogelijkheden -STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Gebruik de geavanceerde voertuigenlijst: {STRING} +STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Gebruik groepen voor voertuigenlijst: {STRING} STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Schakel het gebruik van de geavanceerde voertuigenlijsten in voor het groeperen van voertuigen STR_CONFIG_SETTING_LOADING_INDICATORS :Gebruik laadindicatoren: {STRING} STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Geef aan of laad indicatoren worden weergegeven boven ladende of lossende voertuigen @@ -1396,13 +1431,13 @@ STR_CONFIG_SETTING_SOUND_AMBIENT_HELPTEXT :Speel omgevings STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING :Bouwen van infrastructuur uitschakelen wanneer geen geschikt voertuig beschikbaar is: {STRING} STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING_HELPTEXT :Wanneer ingeschakeld, de infrastructuur is alleen beschikbaar als er ook voertuigen beschikbaar zijn, het voorkomen van verspilling van tijd en geld aan onbruikbare infrastructuur -STR_CONFIG_SETTING_MAX_TRAINS :Maximaal aantal treinen per bedrijf: {STRING} +STR_CONFIG_SETTING_MAX_TRAINS :Maximum aantal treinen per bedrijf: {STRING} STR_CONFIG_SETTING_MAX_TRAINS_HELPTEXT :Maximum aantal treinen dat een bedrijf kan hebben -STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :Maximaal aantal wegvoertuigen per bedrijf: {STRING} +STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :Maximum aantal wegvoertuigen per bedrijf: {STRING} STR_CONFIG_SETTING_MAX_ROAD_VEHICLES_HELPTEXT :Maximum aantal wegvoertuigen die een bedrijf kan hebben -STR_CONFIG_SETTING_MAX_AIRCRAFT :Maximaal aantal vliegtuigen per bedrijf: {STRING} +STR_CONFIG_SETTING_MAX_AIRCRAFT :Maximum aantal vliegtuigen per bedrijf: {STRING} STR_CONFIG_SETTING_MAX_AIRCRAFT_HELPTEXT :Maximum aantal vliegtuigen dat een bedrijf kan hebben -STR_CONFIG_SETTING_MAX_SHIPS :Maximaal aantal schepen per bedrijf: {STRING} +STR_CONFIG_SETTING_MAX_SHIPS :Maximum aantal schepen per bedrijf: {STRING} STR_CONFIG_SETTING_MAX_SHIPS_HELPTEXT :Maximum aantal schepen dat een bedrijf kan hebben STR_CONFIG_SETTING_AI_BUILDS_TRAINS :Treinen voor de computer uitschakelen: {STRING} @@ -1429,7 +1464,7 @@ STR_CONFIG_SETTING_SERVINT_ISPERCENT :Interval tussen STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Kies of onderhoud van de voertuigen wordt geactiveerd door verstreken tijd sinds het laatste onderhoud of door het zakken van de betrouwbaarheid met een bepaald percentage van de maximale betrouwbaarheid STR_CONFIG_SETTING_SERVINT_TRAINS :Standaard onderhoudsinterval voor treinen: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Stel de standaard service-interval voor nieuwe railvoertuigen, als er geen expliciete service-interval is ingesteld voor het voertuig -STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA} dag{P 0 "" en}/% +STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}dag{P 0 "" en}/% STR_CONFIG_SETTING_SERVINT_DISABLED :Uitgeschakeld STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES :Standaard onderhoudsinterval voor wegvoertuigen: {STRING} STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES_HELPTEXT :Stel de standaard service-interval voor nieuwe wegvoertuigen, als er geen expliciete service-interval is ingesteld voor het voertuig @@ -1568,12 +1603,10 @@ STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 op {COMMA} STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Geen STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Stadsgroei-indicator: {STRING} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Gemiddelde grootte van steden in vergelijking tot normale steden bij het begin van het spel. -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :Verwijder rare weg-elementen tijdens het repareren van de weg: {STRING} -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD_HELPTEXT :Verwijder doodlopende wegen bij het bouwen van gefinancierde wegen. -STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Bijwerken distributie grafiek elke {STRING} dag{P 0:2 "" en} +STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Bijwerken distributie grafiek elke {STRING}{NBSP}dag{P 0:2 "" en} STR_CONFIG_SETTING_LINKGRAPH_INTERVAL_HELPTEXT :Tijd tussen opeenvolgende herberekeningen van de link grafiek. Elke herberekening berekent de plannen voor een component van de grafiek. Dat betekent dat een waarde X voor deze instelling betekent niet dat de hele grafiek wordt elke X dagen worden bijgewerkt. Slechts een component wil. Hoe korter u instellen hoe meer CPU-tijd nodig is om het te berekenen zal zijn. Hoe langer je instellen hoe langer het zal duren totdat de lading distributie start op nieuwe routes. -STR_CONFIG_SETTING_LINKGRAPH_TIME :Neem {STRING} dag{P 0:2 "" en} voor de herberekening van de distributie grafiek +STR_CONFIG_SETTING_LINKGRAPH_TIME :Neem {STRING}{NBSP}dag{P 0:2 "" en} voor de herberekening van de distributie grafiek STR_CONFIG_SETTING_LINKGRAPH_TIME_HELPTEXT :Tijd gebruikt voor elke herberekening van een link grafiek component. Wanneer een herberekening wordt gestart, wordt een thread voortgebracht die mag lopen voor dit aantal dagen. Hoe korter u dit instelt des te waarschijnlijker het is dat de draad niet is voltooid als het zou moeten. Dan stopt het spel totdat het is ("lag"). Hoe langer je instellen hoe langer het duurt voor de distributie aan te passen wanneer routes te wijzigen. STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :handmatig STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :asymmetrisch @@ -1608,7 +1641,7 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_METRIC :Metrisch (hp) STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_SI :SI (kW) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT :Gewichten eenheden: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_HELPTEXT :Telkens als gewichten worden weergegeven in de gebruikersinterface, laten dat in de geselecteerde eenheden zien +STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_HELPTEXT :Wanneer er gewichten worden weergegeven in de gebruikersinterface, laten dat in de geselecteerde eenheden zien STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_IMPERIAL :Imperial (short t/ton) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_METRIC :Metrisch (t/ton) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_SI :SI (kg) @@ -1631,27 +1664,29 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :Imperial (ft) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :Metrisch (m) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :SI (m) -STR_CONFIG_SETTING_GUI :{ORANGE}Interface STR_CONFIG_SETTING_LOCALISATION :{ORANGE}Lokalisatie -STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}Constructie +STR_CONFIG_SETTING_GRAPHICS :{ORANGE}Graphics +STR_CONFIG_SETTING_SOUND :{ORANGE}Geluid +STR_CONFIG_SETTING_INTERFACE :{ORANGE}Interface +STR_CONFIG_SETTING_INTERFACE_GENERAL :{ORANGE}Algemeen +STR_CONFIG_SETTING_INTERFACE_VIEWPORTS :{ORANGE}Kijkvensters +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Constructie +STR_CONFIG_SETTING_ADVISORS :{ORANGE}Nieuws / Adviseurs +STR_CONFIG_SETTING_COMPANY :{ORANGE}Bedrijf +STR_CONFIG_SETTING_ACCOUNTING :{ORANGE}Boekhouding STR_CONFIG_SETTING_VEHICLES :{ORANGE}Voertuigen -STR_CONFIG_SETTING_STATIONS :{ORANGE}Stations -STR_CONFIG_SETTING_ECONOMY :{ORANGE}Economie -STR_CONFIG_SETTING_LINKGRAPH :{ORANGE}Vrachtdistributie -STR_CONFIG_SETTING_AI :{ORANGE}Tegenstanders -STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}Weergave-opties -STR_CONFIG_SETTING_INTERACTION :{ORANGE}Interactie -STR_CONFIG_SETTING_SOUND :{ORANGE}Geluidseffecten -STR_CONFIG_SETTING_NEWS :{ORANGE}Nieuws en berichten -STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}Seinen -STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE}Vrachtafhandeling -STR_CONFIG_SETTING_AI_NPC :{ORANGE}Computerspelers -STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE}Automatisch vervangen -STR_CONFIG_SETTING_VEHICLES_SERVICING :{ORANGE}Onderhoud +STR_CONFIG_SETTING_VEHICLES_PHYSICS :{ORANGE}Physics STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Routebepaling -STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}Treinen -STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}Steden -STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}Industrieën +STR_CONFIG_SETTING_LIMITATIONS :{ORANGE}Beperkingen +STR_CONFIG_SETTING_ACCIDENTS :{ORANGE}Rampen / Ongelukken +STR_CONFIG_SETTING_GENWORLD :{ORANGE}Wereld generatie +STR_CONFIG_SETTING_ENVIRONMENT :{ORANGE}Omgeving +STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :{ORANGE}Autoriteiten +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Steden +STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}Industrieën +STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :{ORANGE}Vrachtdistributie +STR_CONFIG_SETTING_AI :{ORANGE}Tegenstanders +STR_CONFIG_SETTING_AI_NPC :{ORANGE}Computerspelers STR_CONFIG_SETTING_PATHFINDER_OPF :Origineel STR_CONFIG_SETTING_PATHFINDER_NPF :NPF @@ -1700,7 +1735,7 @@ STR_INTRO_MULTIPLAYER :{BLACK}Multipla STR_INTRO_GAME_OPTIONS :{BLACK}Spelopties STR_INTRO_HIGHSCORE :{BLACK}Score tabel -STR_INTRO_ADVANCED_SETTINGS :{BLACK}Geavanceerde instellingen +STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Instellingen STR_INTRO_NEWGRF_SETTINGS :{BLACK}NewGRF-instellingen STR_INTRO_ONLINE_CONTENT :{BLACK}Online inhoud zoeken STR_INTRO_SCRIPT_SETTINGS :{BLACK}AI/Spel script Instellingen @@ -1720,7 +1755,7 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Kies spe STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Toon spelopties STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Toon score tabel -STR_INTRO_TOOLTIP_ADVANCED_SETTINGS :{BLACK}Toon geavanceerde instellingen +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Scherminstellingen STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Toon NewGRF-instellingen STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Zoeken naar nieuwe en aangepaste inhoud om te downloaden STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Toon AI/Game script instellingen @@ -1760,6 +1795,8 @@ STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Spelen STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Magische bulldozer (industrieën en andere onverplaatsbare objecten verwijderen): {ORANGE}{STRING} STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}Tunnels mogen elkaar kruisen: {ORANGE}{STRING} STR_CHEAT_NO_JETCRASH :{LTBLUE}Straalvliegtuigen storten niet (vaak) neer op kleine vliegvelden: {ORANGE} {STRING} +STR_CHEAT_EDIT_MAX_HL :{LTBLUE}Wijzig de maximum kaarthoogte: {ORANGE}{NUM} +STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Wijzig de maximum hoogte van bergen op de kaart STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE :Gematigd landschap STR_CHEAT_SWITCH_CLIMATE_SUB_ARCTIC_LANDSCAPE :Subarctisch landschap STR_CHEAT_SWITCH_CLIMATE_SUB_TROPICAL_LANDSCAPE :Subtropisch landschap @@ -1808,6 +1845,7 @@ STR_LIVERY_FREIGHT_TRAM :Vrachttram STR_FACE_CAPTION :{WHITE}Gezichtskeuze STR_FACE_CANCEL_TOOLTIP :{BLACK}Annuleer nieuwe gezichtskeuze STR_FACE_OK_TOOLTIP :{BLACK}Accepteer nieuwe gezichtskeuze +STR_FACE_RANDOM :{BLACK}Willekeurig maken STR_FACE_MALE_BUTTON :{BLACK}Mannelijk STR_FACE_MALE_TOOLTIP :{BLACK}Selecteer mannelijke gezichten @@ -1928,13 +1966,13 @@ STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}Bescherm STR_NETWORK_START_SERVER_UNADVERTISED :Nee STR_NETWORK_START_SERVER_ADVERTISED :Ja STR_NETWORK_START_SERVER_CLIENTS_SELECT :{BLACK}{NUM} speler{P "" s} -STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Maximaal aantal spelers: +STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Maximum aantal spelers: STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS_TOOLTIP :{BLACK}Kies het maximaal aantal toegestane spelers. Niet alle posities hoeven gebruikt te worden STR_NETWORK_START_SERVER_COMPANIES_SELECT :{BLACK}{NUM} bedr{P ijf ijven} -STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}Max bedrijven: +STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}Maximum aantal bedrijven: STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES_TOOLTIP :{BLACK}Beperk de server tot een bepaald aantal bedrijven STR_NETWORK_START_SERVER_SPECTATORS_SELECT :{BLACK}{NUM} toeschouwer{P "" s} -STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS :{BLACK}Max toeschouwers: +STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS :{BLACK}Maximum aantal toeschouwers: STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS_TOOLTIP :{BLACK}Beperk de server tot een bepaald aantal toeschouwers STR_NETWORK_START_SERVER_LANGUAGE_SPOKEN :{BLACK}Gesproken taal: STR_NETWORK_START_SERVER_LANGUAGE_TOOLTIP :{BLACK}Andere spelers zullen weten welke taal er wordt gesproken op de server @@ -2277,7 +2315,7 @@ STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Bouw spo STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Bouw treindepot (om treinen te kopen en te onderhouden). Shift schakelt tussen bouwen/inschatting van de kosten STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Bouw spoor om naar controlepost. Houd Ctrl ingedrukt om samen te voegen met andere controlepost. Shift schakelt tussen bouwen/inschatting van de kosten STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Bouw treinstation. Houd Ctrl ingedrukt om samen te voegen met ander station. Shift schakelt tussen bouwen/inschatting van de kosten -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Plaats seinen. Ctrl wisselt tussen armseinen en lichtseinen{}Slepen plaatst seinen langs een recht stuk spoor. Ctrl bouwt seinen tot de volgende wissel{}Ctrl+klik schakelt het openen van het keuzescherm voor seinen aan/uit. Shift schakelt tussen bouwen/inschatting van de kosten +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Plaats seinen. Ctrl wisselt tussen armseinen/lichtseinen{}Slepen plaatst seinen langs een recht stuk spoor. Ctrl bouwt seinen tot de volgende wissel{}Ctrl+klik schakelt het openen van het keuzescherm voor seinen aan/uit. Shift schakelt tussen bouwen/inschatting van de kosten STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Bouw spoorbrug. Shift schakelt tussen bouwen/inschatting van de kosten STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Graaf spoortunnel. Shift schakelt tussen bouwen/inschatting van de kosten STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Kies tussen bouwen en verwijderen van sporen, seinen, controleposten en stations. Houd Ctrl ingedrukt om ook het spoor van controleposten en stations te verwijderen @@ -2649,7 +2687,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-2014 Het OpenTTD team +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 Het OpenTTD team # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Spel Opslaan @@ -2684,13 +2722,12 @@ STR_MAPGEN_BY :{BLACK}* STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Aantal steden: STR_MAPGEN_DATE :{BLACK}Datum: STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Aantal industrieën: +STR_MAPGEN_MAX_HEIGHTLEVEL :{BLACK}Maximum kaarthoogte +STR_MAPGEN_MAX_HEIGHTLEVEL_UP :{BLACK}Verhoog de maximum hoogte van bergen op de kaart met één +STR_MAPGEN_MAX_HEIGHTLEVEL_DOWN :{BLACK}Verklein de maximum hoogte van bergen op de kaart met één STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}Hoogte van sneeuwgrens: STR_MAPGEN_SNOW_LINE_UP :{BLACK}Verschuif de sneeuwgrens één omhoog STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}Verschuif de sneeuwgrens één omlaag -STR_MAPGEN_RANDOM_SEED :{BLACK}Willekeurig getal: -STR_MAPGEN_RANDOM_SEED_HELP :{BLACK}Klik om een willekeurig getal in te voeren -STR_MAPGEN_RANDOM :{BLACK}Willekeurig maken -STR_MAPGEN_RANDOM_HELP :{BLACK}Wijzig het willekeurige getal dat gebruikt wordt om het landschap te genereren STR_MAPGEN_LAND_GENERATOR :{BLACK}Landgenerator: STR_MAPGEN_TREE_PLACER :{BLACK}Bosalgoritme: STR_MAPGEN_TERRAIN_TYPE :{BLACK}Terreintype: @@ -2717,7 +2754,7 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Naam van STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Grootte: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} -STR_MAPGEN_RANDOM_SEED_OSKTITLE :{BLACK}Voer een willekeurig getal in +STR_MAPGEN_MAX_HEIGHTLEVEL_QUERY_CAPT :{WHITE}Wijzig maximum kaarthoogte STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}Verander hoogte van sneeuwgrens STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Verander beginjaar @@ -2772,6 +2809,8 @@ STR_NEWGRF_SETTINGS_MOVEUP :{BLACK}Naar bov STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP :{BLACK}Verplaats het geselecteerde NewGRF-bestand naar boven in de lijst STR_NEWGRF_SETTINGS_MOVEDOWN :{BLACK}Naar beneden STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP :{BLACK}Verplaats het geselecteerde NewGRF-bestand naar beneden in de lijst +STR_NEWGRF_SETTINGS_UPGRADE :{BLACK}Opwaarderen +STR_NEWGRF_SETTINGS_UPGRADE_TOOLTIP :{BLACK}Opwaarderen van NewGRF bestanden waar je een nieuwere versie van hebt geïnstalleerd STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}Een lijst van de NewGRF-bestanden die zijn geïnstalleerd. STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}Stel parameters in @@ -2796,6 +2835,16 @@ STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Bestand ni STR_NEWGRF_SETTINGS_DISABLED :{RED}Uitgeschakeld STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Niet compatibel met deze versie van OpenTTD +# NewGRF save preset window +STR_SAVE_PRESET_CAPTION :{WHITE}Preset opslaan +STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK}Lijst met beschikbare presets, Kies er één om deze te kopiëren naar de opslagnaam hieronder +STR_SAVE_PRESET_TITLE :{BLACK}Voer een naam in voor de preset +STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}Nu gekozen naam voor de preset opslag +STR_SAVE_PRESET_CANCEL :{BLACK}Annuleren +STR_SAVE_PRESET_CANCEL_TOOLTIP :{BLACK}Preset niet wijzigen +STR_SAVE_PRESET_SAVE :{BLACK}Opslaan +STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}Sla de huidige preset op naar de nu gekozen naam + # NewGRF parameters window STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}NewGRF parameters wijzigen STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Sluiten @@ -2826,7 +2875,10 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Vorige a STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Ga naar vorige normale afbeelding, sla alle pseudo/herkleur/lettertype afbeeldingen over en ga naar het einde bij het begin STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Voorbeeld van de huidige afbeelding. De uitlijning wordt genegeerd bij het weergeven van de afbeelding STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Afbeelding verplaatsen, dit verandert X en Y offsets -STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X offset: {NUM}, Y offset: {NUM} +STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Herstel relatief +STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Herstel de huidige relative offsets +STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}X offset: {NUM}, Y offset: {NUM} (Absoluut) +STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}X offset: {NUM}, Y offset: {NUM} (Relatief) STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Kies afbeelding STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Kies een afbeelding van een willekeurige plaats op het scherm @@ -2938,8 +2990,8 @@ STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} afgeleverd STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (nog nodig) STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (afgeleverd) -STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Stad groeit iedere {ORANGE}{COMMA}{BLACK} dag{P "" en} -STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Stad groeit iedere {ORANGE}{COMMA}{BLACK} dag{P "" en} (gefinancierd) +STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Stad groeit iedere {ORANGE}{COMMA}{BLACK}{NBSP}dag{P "" en} +STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Stad groeit iedere {ORANGE}{COMMA}{BLACK}{NBSP}dag{P "" en} (gefinancierd) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}Stad groeit {RED}niet{BLACK} STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Geluidslimiet in stad: {ORANGE}{COMMA}{BLACK} max: {ORANGE}{COMMA} STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Centreer het scherm op de locatie van de stad. Ctrl+klik opent een nieuw kijkvenster op de locatie van de stad @@ -2999,7 +3051,7 @@ STR_GOAL_QUESTION_CAPTION_INFORMATION :Informatie STR_GOAL_QUESTION_CAPTION_WARNING :Waarschuwing STR_GOAL_QUESTION_CAPTION_ERROR :Fout -### Start of Goal Question button list +############ Start of Goal Question button list STR_GOAL_QUESTION_BUTTON_CANCEL :Annuleren STR_GOAL_QUESTION_BUTTON_OK :OK STR_GOAL_QUESTION_BUTTON_NO :Nee @@ -3018,6 +3070,7 @@ STR_GOAL_QUESTION_BUTTON_RESTART :Herstart STR_GOAL_QUESTION_BUTTON_POSTPONE :Stel uit STR_GOAL_QUESTION_BUTTON_SURRENDER :Geef op STR_GOAL_QUESTION_BUTTON_CLOSE :Sluiten +############ End of Goal Question button list # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}Subsidies @@ -3053,7 +3106,6 @@ STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}Er wacht # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} -STR_STATION_VIEW_WAITING_TITLE :{BLACK}Wachtend: {WHITE}{STRING} STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} van {STATION}) STR_STATION_VIEW_RESERVED :{YELLOW}({CARGO_SHORT} gereserveerd voor laden) @@ -3148,7 +3200,7 @@ STR_FINANCES_POSITIVE_INCOME :{BLACK}+{CURREN STR_FINANCES_TOTAL_CAPTION :{WHITE}Totaal: STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}Banksaldo STR_FINANCES_LOAN_TITLE :{WHITE}Lening -STR_FINANCES_MAX_LOAN :{WHITE}Max. lening: {BLACK}{CURRENCY_LONG} +STR_FINANCES_MAX_LOAN :{WHITE}Maximum lening: {BLACK}{CURRENCY_LONG} STR_FINANCES_TOTAL_CURRENCY :{BLACK}{CURRENCY_LONG} STR_FINANCES_BORROW_BUTTON :{BLACK}Leen {CURRENCY_LONG} STR_FINANCES_BORROW_TOOLTIP :{BLACK}Vergroot lening. Ctrl+klik om zoveel als mogelijk te lenen @@ -3297,12 +3349,15 @@ STR_GROUP_DEFAULT_ROAD_VEHICLES :Niet gegroepeer STR_GROUP_DEFAULT_SHIPS :Niet gegroepeerde schepen STR_GROUP_DEFAULT_AIRCRAFTS :Niet gegroepeerde vliegtuigen -STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Groepen - Klik op een groep voor een lijst van alle voertuigen in deze groep +STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Groepen - Klik op een groep voor een lijst van alle voertuigen in deze groep. Klik en sleep om hiërarchie te beheren STR_GROUP_CREATE_TOOLTIP :{BLACK}Klik om een groep te maken STR_GROUP_DELETE_TOOLTIP :{BLACK}Verwijder de geselecteerde groep STR_GROUP_RENAME_TOOLTIP :{BLACK}Hernoem de geselecteerde groep STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Klik om deze groep te beschermen tegen globaal automatisch vervangen +STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Verwijder groep +STR_GROUP_DELETE_QUERY_TEXT :{WHITE}Weet u zeker dat u deze groep en de eventuele subgroepen wilt verwijderen? + STR_GROUP_ADD_SHARED_VEHICLE :Toevoegen gedeelde voertuigen STR_GROUP_REMOVE_ALL_VEHICLES :Verwijder alle voertuigen @@ -3340,10 +3395,10 @@ STR_PURCHASE_INFO_ALL_BUT :Alles behalve { STR_PURCHASE_INFO_MAX_TE :{BLACK}Max. trekkracht: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Bereik: {GOLD}{COMMA} tegels -STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Railvoertuigkeuzelijst - klik op een railvoertuig voor informatie -STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Wegvoertuigkeuzelijst - klik op een wegvoertuig voor informatie -STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Schipkeuzelijst - klik op een schip voor informatie -STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Vliegtuigkeuzelijst - klik op een vliegtuig voor informatie +STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Railvoertuigkeuzelijst. Klik op een railvoertuig voor informatie. Ctrl+klik voor wijzigen verbergen voertuig type +STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Wegvoertuigkeuzelijst. Klik op een wegvoertuig voor informatie. Ctrl+klik voor wijzigen verbergen voertuig type +STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Schipkeuzelijst. Klik op een schip voor informatie. Ctrl+klik voor wijzigen verbergen schip type +STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Vliegtuigkeuzelijst. Klik op een vliegtuig voor informatie. Ctrl+clik voor Wijzigen voor verbergenvlieftuig type STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}Koop spoorvoertuig STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Koop wegvoertuig @@ -3365,6 +3420,21 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Hernoem STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Hernoem type van schip STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Hernoem type van vliegtuig +STR_BUY_VEHICLE_TRAIN_HIDE_TOGGLE_BUTTON :{BLACK}Verberg +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_TOGGLE_BUTTON :{BLACK}Verberg +STR_BUY_VEHICLE_SHIP_HIDE_TOGGLE_BUTTON :{BLACK}Verberg +STR_BUY_VEHICLE_AIRCRAFT_HIDE_TOGGLE_BUTTON :{BLACK}Verberg + +STR_BUY_VEHICLE_TRAIN_SHOW_TOGGLE_BUTTON :{BLACK}Toon +STR_BUY_VEHICLE_ROAD_VEHICLE_SHOW_TOGGLE_BUTTON :{BLACK}Toon +STR_BUY_VEHICLE_SHIP_SHOW_TOGGLE_BUTTON :{BLACK}Toon +STR_BUY_VEHICLE_AIRCRAFT_SHOW_TOGGLE_BUTTON :{BLACK}Toon + +STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Wijzig verberg/toon van treintype +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Wijzig verberg/toon van wegvoertuigtype +STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Wijzig verberg/toon van schiptype +STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Wijzig verberg/toon van vliegtuigtype + STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}Hernoem type van railvoertuig STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}Hernoem type van wegvoertuig STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}Hernoem type van schip @@ -3469,6 +3539,11 @@ STR_REPLACE_VEHICLE_ROAD_VEHICLE :Wegvoertuig STR_REPLACE_VEHICLE_SHIP :Schip STR_REPLACE_VEHICLE_AIRCRAFT :Vliegtuig +STR_REPLACE_VEHICLE_VEHICLES_IN_USE :{YELLOW}Voertuigen in gebruik +STR_REPLACE_VEHICLE_VEHICLES_IN_USE_TOOLTIP :{BLACK}Kolom met voertuigen die je bezig +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES :{YELLOW}Beschikbare voertuigen +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES_TOOLTIP :{BLACK}Kolom met voertuigen beschikbaar voor vervanging + STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Kies het type locomotief om te vervangen STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Kies een nieuw type locomotief die je wilt gebruiken om de links geselecteerde type locomotief te vervangen @@ -3593,7 +3668,7 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Capacite STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Geldoverdracht: {LTBLUE}{CURRENCY_LONG} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Onderhoudsinterval: {LTBLUE}{COMMA}dagen{BLACK} Laatste onderhoud: {LTBLUE}{DATE_LONG} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Onderhoudsinterval: {LTBLUE}{COMMA}{NBSP}dagen{BLACK} Laatste onderhoud: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Onderhoudsinterval: {LTBLUE}{COMMA}%{BLACK} Laatste onderhoud: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Vergroot onderhoudsinterval met 10. Ctrl+klik verhoogt interval met 5 STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Verklein onderhoudsinterval met 10. Ctrl+klik verlaagt interval met 5 @@ -3691,8 +3766,8 @@ STR_ORDER_TOOLTIP_UNLOAD :{BLACK}Verander STR_ORDER_REFIT :{BLACK}Ombouwen STR_ORDER_REFIT_TOOLTIP :{BLACK}Kies naar welk type vracht ombouwen in deze order. Ctrl+klik om ombouw instructie te verwijderen -STR_ORDER_REFIT_AUTO :{BLACK}Auto-ombouwen -STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Kies vrachttype voor auto-ombouwen naar in deze order. Ctrl+Klik om ombouw opdracht te verwijderen. Auto-ombouwen wordt alleen uitgevoerd als het voertuig dit toelaat +STR_ORDER_REFIT_AUTO :{BLACK}Ombouwen +STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Kies vrachttype voor ombouwen naar in deze order. Ctrl+Klik om ombouw opdracht te verwijderen. Ombouwen wordt alleen uitgevoerd als het voertuig dit toelaat STR_ORDER_DROP_REFIT_AUTO :Voorgedefinieerde vracht STR_ORDER_DROP_REFIT_AUTO_ANY :Beschikbare vracht @@ -3783,18 +3858,18 @@ STR_ORDER_NO_UNLOAD_FULL_LOAD :(Niet lossen en STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY :(Niet lossen en één soort vracht volledig laden) STR_ORDER_NO_UNLOAD_NO_LOAD :(Niet lossen en niet laden) -STR_ORDER_AUTO_REFIT :(Auto-ombouw naar {STRING}) -STR_ORDER_FULL_LOAD_REFIT :(Volledig laden met auto-ombouw naar {STRING}) -STR_ORDER_FULL_LOAD_ANY_REFIT :(Volledig willekeurige vracht laden met auto-ombouw naar {STRING}) -STR_ORDER_UNLOAD_REFIT :(Lossen en neem vracht met auto-ombouw naar {STRING}) -STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(Lossen en wacht op volledig geladen vracht met auto-ombouw naar {STRING}) -STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(Lossen en wacht op willekeurig volledig geladen vracht met auto-ombouw naar {STRING}) -STR_ORDER_TRANSFER_REFIT :(Overdragen en neem vracht met auto-ombouw naar {STRING}) -STR_ORDER_TRANSFER_FULL_LOAD_REFIT :(Overdragen en wacht op volledig geladen vracht met auto-ombouw naar {STRING}) -STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :(Overdragen en wacht op willekeurige vollediggeladen vracht met auto-ombouw naar {STRING}) -STR_ORDER_NO_UNLOAD_REFIT :(Niet lossen en neem vracht met auto-ombouw naar {STRING}) -STR_ORDER_NO_UNLOAD_FULL_LOAD_REFIT :(Niet lossen en wacht op volledig geladen vracht met auto-ombouw naar {STRING}) -STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY_REFIT :(Niet lossen en wacht voor willekeurige volledigladen vracht met auto-ombouw naar {STRING}) +STR_ORDER_AUTO_REFIT :(Ombouw naar {STRING}) +STR_ORDER_FULL_LOAD_REFIT :(Volledig laden met ombouw naar {STRING}) +STR_ORDER_FULL_LOAD_ANY_REFIT :(Volledig willekeurige vracht laden met ombouw naar {STRING}) +STR_ORDER_UNLOAD_REFIT :(Lossen en neem vracht met ombouw naar {STRING}) +STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(Lossen en wacht op volledig geladen vracht met ombouw naar {STRING}) +STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(Lossen en wacht op willekeurig volledig geladen vracht met ombouw naar {STRING}) +STR_ORDER_TRANSFER_REFIT :(Overdragen en neem vracht met ombouw naar {STRING}) +STR_ORDER_TRANSFER_FULL_LOAD_REFIT :(Overdragen en wacht op volledig geladen vracht met ombouw naar {STRING}) +STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :(Overdragen en wacht op willekeurige vollediggeladen vracht met ombouw naar {STRING}) +STR_ORDER_NO_UNLOAD_REFIT :(Niet lossen en neem vracht met ombouw naar {STRING}) +STR_ORDER_NO_UNLOAD_FULL_LOAD_REFIT :(Niet lossen en wacht op volledig geladen vracht met ombouw naar {STRING}) +STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY_REFIT :(Niet lossen en wacht voor willekeurige volledigladen vracht met ombouw naar {STRING}) STR_ORDER_AUTO_REFIT_ANY :beschikbare vracht @@ -3823,10 +3898,14 @@ STR_TIMETABLE_TRAVEL_NOT_TIMETABLED :Reis (geen dien STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Reis met maximaal {2:VELOCITY} (geen tijdschema) STR_TIMETABLE_TRAVEL_FOR :Reis naar {STRING} STR_TIMETABLE_TRAVEL_FOR_SPEED :Reis {STRING} met maximaal {VELOCITY} +STR_TIMETABLE_TRAVEL_FOR_ESTIMATED :Reis (gedurende {STRING}, geen tijdschema) +STR_TIMETABLE_TRAVEL_FOR_SPEED_ESTIMATED :Reis (gedurende {STRING}, geen tijdschema) maximaal {VELOCITY} +STR_TIMETABLE_STAY_FOR_ESTIMATED :(wacht gedurende {STRING}, geen tijdschema) +STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(reis gedurende {STRING}, geen tijdschema) STR_TIMETABLE_STAY_FOR :en blijf voor {STRING} STR_TIMETABLE_AND_TRAVEL_FOR :en rijd naar {STRING} -STR_TIMETABLE_DAYS :{COMMA} dag{P "" en} -STR_TIMETABLE_TICKS :{COMMA} tik{P "" ken} +STR_TIMETABLE_DAYS :{COMMA}{NBSP}dag{P "" en} +STR_TIMETABLE_TICKS :{COMMA}{NBSP}tik{P "" ken} STR_TIMETABLE_TOTAL_TIME :{BLACK}Dit tijdschema duurt {STRING} om te volbrengen STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}Dit tijdschema duurt minstens {STRING} om te volbrengen (niet alles geselecteerd) @@ -4064,6 +4143,7 @@ STR_ERROR_EXCAVATION_WOULD_DAMAGE :{WHITE}Graafwer STR_ERROR_ALREADY_AT_SEA_LEVEL :{WHITE}... al op zeeniveau STR_ERROR_TOO_HIGH :{WHITE}... te hoog STR_ERROR_ALREADY_LEVELLED :{WHITE}... al vlak +STR_ERROR_BRIDGE_TOO_HIGH_AFTER_LOWER_LAND :{WHITE}Hierna zou de brug hierboven te hoog zijn. # Company related errors STR_ERROR_CAN_T_CHANGE_COMPANY_NAME :{WHITE}Kan bedrijfsnaam niet veranderen... @@ -4090,7 +4170,7 @@ STR_ERROR_TOO_CLOSE_TO_EDGE_OF_MAP_SUB :{WHITE}... te d STR_ERROR_TOO_CLOSE_TO_ANOTHER_TOWN :{WHITE}... te dicht bij een andere plaats STR_ERROR_TOO_MANY_TOWNS :{WHITE}... te veel plaatsen STR_ERROR_NO_SPACE_FOR_TOWN :{WHITE}... er is geen ruimte meer op de kaart -STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}De plaats bouwt geen wegen. Het bouwen van wegen kan aangezet worden via Geavanceerde Instellingen->Economie->Plaatsen +STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}De plaats bouwt geen wegen. Het bouwen van wegen kan aangezet worden via Geavanceerde Instellingen->Omgeving->Plaatsen STR_ERROR_ROAD_WORKS_IN_PROGRESS :{WHITE}Wegwerkzaamheden in uitvoering STR_ERROR_TOWN_CAN_T_DELETE :{WHITE}Kan deze plaats niet verwijderen...{}Een station of depot verwijst naar deze plaats of een door de plaats beheerde tegel kan niet worden verwijderd STR_ERROR_STATUE_NO_SUITABLE_PLACE :{WHITE}... er is geen geschikte plaats voor een standbeeld in het centrum van dit dorp @@ -4114,6 +4194,9 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... boss STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... kan alleen boven de sneeuwlijn gebouwd worden STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... kan alleen onder de sneeuwlijn gebouwd worden +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}Er waren een geschikte locaties voor '{STRING}' industrieën +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Wijzig de kaart-generatie parameters om een betere kaart te krijgen + # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Kan hier geen treinstation bouwen... STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}Kan hier geen bushalte bouwen... @@ -4250,6 +4333,7 @@ STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Brug moe STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}Kan niet beginnen en eindigen op dezelfde plaats STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}Begin van bruggen niet op hetzelfde niveau STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}Brug is te laag voor dit terrein +STR_ERROR_BRIDGE_TOO_HIGH_FOR_TERRAIN :{WHITE}Brug is te hoogte voor dit terrein. STR_ERROR_START_AND_END_MUST_BE_IN :{WHITE}Begin en einde moeten op een lijn staan STR_ERROR_ENDS_OF_BRIDGE_MUST_BOTH :{WHITE}... uiteinden van brug moeten beiden op land zijn STR_ERROR_BRIDGE_TOO_LONG :{WHITE}... brug te lang @@ -4276,6 +4360,7 @@ STR_ERROR_YOU_ALREADY_OWN_IT :{WHITE}... het STR_ERROR_GROUP_CAN_T_CREATE :{WHITE}Kan groep niet maken... STR_ERROR_GROUP_CAN_T_DELETE :{WHITE}Kan deze groep niet verwijderen... STR_ERROR_GROUP_CAN_T_RENAME :{WHITE}Kan deze groep niet hernoemen... +STR_ERROR_GROUP_CAN_T_SET_PARENT :{WHITE}Kan huidige groep niet instellen... STR_ERROR_GROUP_CAN_T_REMOVE_ALL_VEHICLES :{WHITE}Kan niet alle voertuigen van deze groep verwijderen... STR_ERROR_GROUP_CAN_T_ADD_VEHICLE :{WHITE}Kan niet alle voertuigen aan deze groep toevoegen... STR_ERROR_GROUP_CAN_T_ADD_SHARED_VEHICLE :{WHITE}Kan niet alle gedeelde voertuigen aan deze groep toevoegen... @@ -4813,6 +4898,7 @@ STR_COMPANY_NAME :{COMPANY} STR_COMPANY_NAME_COMPANY_NUM :{COMPANY} {COMPANY_NUM} STR_DEPOT_NAME :{DEPOT} STR_ENGINE_NAME :{ENGINE} +STR_HIDDEN_ENGINE_NAME :{ENGINE} (verborgen) STR_GROUP_NAME :{GROUP} STR_INDUSTRY_NAME :{INDUSTRY} STR_PRESIDENT_NAME :{PRESIDENT_NAME} @@ -4848,8 +4934,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -4860,9 +4944,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/english.txt b/src/lang/english.txt index c9fc514b34..5c3cd6a2e0 100644 --- a/src/lang/english.txt +++ b/src/lang/english.txt @@ -95,30 +95,30 @@ STR_CARGO_SINGULAR_FIZZY_DRINK :Fizzy Drink # Quantity of cargo STR_QUANTITY_NOTHING : -STR_QUANTITY_PASSENGERS :{COMMA} passenger{P "" s} +STR_QUANTITY_PASSENGERS :{COMMA}{NBSP}passenger{P "" s} STR_QUANTITY_COAL :{WEIGHT_LONG} of coal -STR_QUANTITY_MAIL :{COMMA} bag{P "" s} of mail +STR_QUANTITY_MAIL :{COMMA}{NBSP}bag{P "" s} of mail STR_QUANTITY_OIL :{VOLUME_LONG} of oil -STR_QUANTITY_LIVESTOCK :{COMMA} item{P "" s} of livestock -STR_QUANTITY_GOODS :{COMMA} crate{P "" s} of goods +STR_QUANTITY_LIVESTOCK :{COMMA}{NBSP}item{P "" s} of livestock +STR_QUANTITY_GOODS :{COMMA}{NBSP}crate{P "" s} of goods STR_QUANTITY_GRAIN :{WEIGHT_LONG} of grain STR_QUANTITY_WOOD :{WEIGHT_LONG} of wood STR_QUANTITY_IRON_ORE :{WEIGHT_LONG} of iron ore STR_QUANTITY_STEEL :{WEIGHT_LONG} of steel -STR_QUANTITY_VALUABLES :{COMMA} bag{P "" s} of valuables +STR_QUANTITY_VALUABLES :{COMMA}{NBSP}bag{P "" s} of valuables STR_QUANTITY_COPPER_ORE :{WEIGHT_LONG} of copper ore STR_QUANTITY_MAIZE :{WEIGHT_LONG} of maize STR_QUANTITY_FRUIT :{WEIGHT_LONG} of fruit -STR_QUANTITY_DIAMONDS :{COMMA} bag{P "" s} of diamonds +STR_QUANTITY_DIAMONDS :{COMMA}{NBSP}bag{P "" s} of diamonds STR_QUANTITY_FOOD :{WEIGHT_LONG} of food STR_QUANTITY_PAPER :{WEIGHT_LONG} of paper -STR_QUANTITY_GOLD :{COMMA} bag{P "" s} of gold +STR_QUANTITY_GOLD :{COMMA}{NBSP}bag{P "" s} of gold STR_QUANTITY_WATER :{VOLUME_LONG} of water STR_QUANTITY_WHEAT :{WEIGHT_LONG} of wheat STR_QUANTITY_RUBBER :{VOLUME_LONG} of rubber STR_QUANTITY_SUGAR :{WEIGHT_LONG} of sugar -STR_QUANTITY_TOYS :{COMMA} toy{P "" s} -STR_QUANTITY_SWEETS :{COMMA} bag{P "" s} of sweets +STR_QUANTITY_TOYS :{COMMA}{NBSP}toy{P "" s} +STR_QUANTITY_SWEETS :{COMMA}{NBSP}bag{P "" s} of sweets STR_QUANTITY_COLA :{VOLUME_LONG} of cola STR_QUANTITY_CANDYFLOSS :{WEIGHT_LONG} of candyfloss STR_QUANTITY_BUBBLES :{COMMA} bubble{P "" s} @@ -165,12 +165,12 @@ STR_ABBREV_NONE :{TINY_FONT}NO STR_ABBREV_ALL :{TINY_FONT}ALL # 'Mode' of transport for cargoes -STR_PASSENGERS :{COMMA} passenger{P "" s} -STR_BAGS :{COMMA} bag{P "" s} -STR_TONS :{COMMA} tonne{P "" s} -STR_LITERS :{COMMA} litre{P "" s} -STR_ITEMS :{COMMA} item{P "" s} -STR_CRATES :{COMMA} crate{P "" s} +STR_PASSENGERS :{COMMA}{NBSP}passenger{P "" s} +STR_BAGS :{COMMA}{NBSP}bag{P "" s} +STR_TONS :{COMMA}{NBSP}tonne{P "" s} +STR_LITERS :{COMMA}{NBSP}litre{P "" s} +STR_ITEMS :{COMMA}{NBSP}item{P "" s} +STR_CRATES :{COMMA}{NBSP}crate{P "" s} # Colours, do not shuffle STR_COLOUR_DARK_BLUE :Dark Blue @@ -191,37 +191,37 @@ STR_COLOUR_GREY :Grey STR_COLOUR_WHITE :White # Units used in OpenTTD -STR_UNITS_VELOCITY_IMPERIAL :{COMMA} mph -STR_UNITS_VELOCITY_METRIC :{COMMA} km/h -STR_UNITS_VELOCITY_SI :{COMMA} m/s +STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}mph +STR_UNITS_VELOCITY_METRIC :{COMMA}{NBSP}km/h +STR_UNITS_VELOCITY_SI :{COMMA}{NBSP}m/s -STR_UNITS_POWER_IMPERIAL :{COMMA}hp -STR_UNITS_POWER_METRIC :{COMMA}hp -STR_UNITS_POWER_SI :{COMMA}kW +STR_UNITS_POWER_IMPERIAL :{COMMA}{NBSP}hp +STR_UNITS_POWER_METRIC :{COMMA}{NBSP}hp +STR_UNITS_POWER_SI :{COMMA}{NBSP}kW -STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}t -STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}t -STR_UNITS_WEIGHT_SHORT_SI :{COMMA}kg +STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_SI :{COMMA}{NBSP}kg -STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA} ton{P "" s} -STR_UNITS_WEIGHT_LONG_METRIC :{COMMA} tonne{P "" s} -STR_UNITS_WEIGHT_LONG_SI :{COMMA} kg +STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA}{NBSP}ton{P "" s} +STR_UNITS_WEIGHT_LONG_METRIC :{COMMA}{NBSP}tonne{P "" s} +STR_UNITS_WEIGHT_LONG_SI :{COMMA}{NBSP}kg -STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}gal -STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}l -STR_UNITS_VOLUME_SHORT_SI :{COMMA}m³ +STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}{NBSP}gal +STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}{NBSP}l +STR_UNITS_VOLUME_SHORT_SI :{COMMA}{NBSP}m³ -STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA} gallon{P "" s} -STR_UNITS_VOLUME_LONG_METRIC :{COMMA} litre{P "" s} -STR_UNITS_VOLUME_LONG_SI :{COMMA} m³ +STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA}{NBSP}gallon{P "" s} +STR_UNITS_VOLUME_LONG_METRIC :{COMMA}{NBSP}litre{P "" s} +STR_UNITS_VOLUME_LONG_SI :{COMMA}{NBSP}m³ -STR_UNITS_FORCE_IMPERIAL :{COMMA} lbf -STR_UNITS_FORCE_METRIC :{COMMA} kgf -STR_UNITS_FORCE_SI :{COMMA} kN +STR_UNITS_FORCE_IMPERIAL :{COMMA}{NBSP}lbf +STR_UNITS_FORCE_METRIC :{COMMA}{NBSP}kgf +STR_UNITS_FORCE_SI :{COMMA}{NBSP}kN -STR_UNITS_HEIGHT_IMPERIAL :{COMMA} ft -STR_UNITS_HEIGHT_METRIC :{COMMA} m -STR_UNITS_HEIGHT_SI :{COMMA} m +STR_UNITS_HEIGHT_IMPERIAL :{COMMA}{NBSP}ft +STR_UNITS_HEIGHT_METRIC :{COMMA}{NBSP}m +STR_UNITS_HEIGHT_SI :{COMMA}{NBSP}m # Common window strings STR_LIST_FILTER_TITLE :{BLACK}Filter string: @@ -248,6 +248,17 @@ STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Scroll b STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Scroll bar - scrolls list left/right STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Demolish buildings etc. on a square of land. Ctrl selects the area diagonally. Shift toggles building/showing cost estimate +# Show engines button +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}Show hidden +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK}Show hidden +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}Show hidden +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}Show hidden + +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}By enabling this button, the hidden train vehicles are also displayed +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE_TOOLTIP :{BLACK}By enabling this button, the hidden road vehicles are also displayed +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}By enabling this button, the hidden ships are also displayed +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}By enabling this button, the hidden aircraft are also displayed + # Query window STR_BUTTON_DEFAULT :{BLACK}Default STR_BUTTON_CANCEL :{BLACK}Cancel @@ -361,7 +372,7 @@ STR_SCENEDIT_FILE_MENU_QUIT :Exit ############ range for settings menu starts STR_SETTINGS_MENU_GAME_OPTIONS :Game options -STR_SETTINGS_MENU_CONFIG_SETTINGS :Advanced settings +STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Settings STR_SETTINGS_MENU_SCRIPT_SETTINGS :AI/Game script settings STR_SETTINGS_MENU_NEWGRF_SETTINGS :NewGRF settings STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Transparency options @@ -470,7 +481,7 @@ STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Toggle bounding STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Toggle colouring of dirty blocks ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window STR_ORDINAL_NUMBER_1ST :1st STR_ORDINAL_NUMBER_2ND :2nd STR_ORDINAL_NUMBER_3RD :3rd @@ -486,22 +497,40 @@ STR_ORDINAL_NUMBER_12TH :12th STR_ORDINAL_NUMBER_13TH :13th STR_ORDINAL_NUMBER_14TH :14th STR_ORDINAL_NUMBER_15TH :15th -STR_ORDINAL_NUMBER_16TH :16th -STR_ORDINAL_NUMBER_17TH :17th -STR_ORDINAL_NUMBER_18TH :18th -STR_ORDINAL_NUMBER_19TH :19th -STR_ORDINAL_NUMBER_20TH :20th -STR_ORDINAL_NUMBER_21ST :21st -STR_ORDINAL_NUMBER_22ND :22nd -STR_ORDINAL_NUMBER_23RD :23rd -STR_ORDINAL_NUMBER_24TH :24th -STR_ORDINAL_NUMBER_25TH :25th -STR_ORDINAL_NUMBER_26TH :26th -STR_ORDINAL_NUMBER_27TH :27th -STR_ORDINAL_NUMBER_28TH :28th -STR_ORDINAL_NUMBER_29TH :29th -STR_ORDINAL_NUMBER_30TH :30th -STR_ORDINAL_NUMBER_31ST :31st +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :1st +STR_DAY_NUMBER_2ND :2nd +STR_DAY_NUMBER_3RD :3rd +STR_DAY_NUMBER_4TH :4th +STR_DAY_NUMBER_5TH :5th +STR_DAY_NUMBER_6TH :6th +STR_DAY_NUMBER_7TH :7th +STR_DAY_NUMBER_8TH :8th +STR_DAY_NUMBER_9TH :9th +STR_DAY_NUMBER_10TH :10th +STR_DAY_NUMBER_11TH :11th +STR_DAY_NUMBER_12TH :12th +STR_DAY_NUMBER_13TH :13th +STR_DAY_NUMBER_14TH :14th +STR_DAY_NUMBER_15TH :15th +STR_DAY_NUMBER_16TH :16th +STR_DAY_NUMBER_17TH :17th +STR_DAY_NUMBER_18TH :18th +STR_DAY_NUMBER_19TH :19th +STR_DAY_NUMBER_20TH :20th +STR_DAY_NUMBER_21ST :21st +STR_DAY_NUMBER_22ND :22nd +STR_DAY_NUMBER_23RD :23rd +STR_DAY_NUMBER_24TH :24th +STR_DAY_NUMBER_25TH :25th +STR_DAY_NUMBER_26TH :26th +STR_DAY_NUMBER_27TH :27th +STR_DAY_NUMBER_28TH :28th +STR_DAY_NUMBER_29TH :29th +STR_DAY_NUMBER_30TH :30th +STR_DAY_NUMBER_31ST :31st ############ range for days ends ############ range for months starts @@ -810,13 +839,12 @@ STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}{VEHICLE STR_NEWS_SHIP_IS_WAITING :{WHITE}{VEHICLE} is waiting in depot STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE} is waiting in the aircraft hangar -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE +# Order review system / warnings STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE} has too few orders in the schedule STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE} has a void order STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE} has duplicate orders STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE} has an invalid station in its orders -# end of order system +STR_NEWS_PLANE_USES_TOO_SHORT_RUNWAY :{WHITE}{VEHICLE} has in its orders an airport whose runway is too short STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} is getting old STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} is getting very old @@ -899,10 +927,6 @@ STR_GAME_OPTIONS_CURRENCY_GEL :Georgian Lari ( STR_GAME_OPTIONS_CURRENCY_IRR :Iranian Rial (IRR) ############ end of currency region - -############ start of measuring units region -############ end of measuring units region - STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Road vehicles STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}Select side of road for vehicles to drive on STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :Drive on left @@ -938,11 +962,13 @@ STR_GAME_OPTIONS_TOWN_NAME_CATALAN :Catalan STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Autosave STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Select interval between automatic game saves +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Off STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :Every month STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :Every 3 months STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :Every 6 months STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :Every 12 months +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}Language STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Select the interface language to use @@ -954,8 +980,12 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}Screen r STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Select the screen resolution to use STR_GAME_OPTIONS_RESOLUTION_OTHER :other -STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}Screenshot format -STR_GAME_OPTIONS_SCREENSHOT_FORMAT_TOOLTIP :{BLACK}Select the screenshot format to use +STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Interface size +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Select the interface element size to use + +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normal +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Double size +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Quad size STR_GAME_OPTIONS_BASE_GRF :{BLACK}Base graphics set STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Select the base graphics set to use @@ -971,6 +1001,7 @@ STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Select t STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} corrupted file{P "" s} STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Additional information about the base music set +STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Failed to retrieve a list of supported resolutions STR_ERROR_FULLSCREEN_FAILED :{WHITE}Fullscreen mode failed # Custom currency window @@ -1049,6 +1080,7 @@ STR_TERRAIN_TYPE_VERY_FLAT :Very Flat STR_TERRAIN_TYPE_FLAT :Flat STR_TERRAIN_TYPE_HILLY :Hilly STR_TERRAIN_TYPE_MOUNTAINOUS :Mountainous +STR_TERRAIN_TYPE_ALPINIST :Alpinist STR_CITY_APPROVAL_PERMISSIVE :Permissive STR_CITY_APPROVAL_TOLERANT :Tolerant @@ -1056,8 +1088,8 @@ STR_CITY_APPROVAL_HOSTILE :Hostile STR_WARNING_NO_SUITABLE_AI :{WHITE}No suitable AIs available...{}You can download several AIs via the 'Online Content' system -# Advanced settings window -STR_CONFIG_SETTING_CAPTION :{WHITE}Advanced Settings +# Settings tree window +STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Settings STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Filter string: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Expand all STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Collapse all @@ -1073,9 +1105,9 @@ STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :Company setting STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK}Category: STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}Type: STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Restricts the list below using predefined filters -STR_CONFIG_SETTING_RESTRICT_BASIC :Basic settings -STR_CONFIG_SETTING_RESTRICT_ADVANCED :Advanced settings -STR_CONFIG_SETTING_RESTRICT_ALL :Expert settings / all settings +STR_CONFIG_SETTING_RESTRICT_BASIC :Basic (show only important settings) +STR_CONFIG_SETTING_RESTRICT_ADVANCED :Advanced (show most settings) +STR_CONFIG_SETTING_RESTRICT_ALL :Expert (show all settings, including weird ones) STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :Settings with a different value than the default STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :Settings with a different value than your new-game settings @@ -1130,9 +1162,10 @@ STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Toggle disaster STR_CONFIG_SETTING_CITY_APPROVAL :Town council's attitude towards area restructuring: {STRING2} STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Choose how much noise and environmental damage by companies affect their town rating and further construction actions in their area -STR_CONFIG_SETTING_BUILDONSLOPES :Allow building on slopes and coasts: {STRING2} -STR_CONFIG_SETTING_BUILDONSLOPES_HELPTEXT :If enabled, tracks and stations can be build on most slopes. If disabled, they are only allowed on slopes which match the direction of the track and thus require no foundations -STR_CONFIG_SETTING_AUTOSLOPE :Allow landscaping under buildings, tracks, etc. (autoslope): {STRING2} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :Maximum map height: {STRING2} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :Set the maximum allowed height for mountains on the map +STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}You can't set the maximum map height to this value. At least one mountain on the map is higher +STR_CONFIG_SETTING_AUTOSLOPE :Allow landscaping under buildings, tracks, etc.: {STRING2} STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Allow landscaping under buildings and tracks without removing them STR_CONFIG_SETTING_CATCHMENT :Allow more realistically sized catchment areas: {STRING2} STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Have differently sized catchment areas for different types of stations and airports @@ -1156,16 +1189,12 @@ STR_CONFIG_SETTING_FORBID_90_DEG :Forbid trains a STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90 degree turns occur when a horizontal track is directly followed by a vertical track piece on the adjacent tile, thus making the train turn by 90 degree when traversing the tile edge instead of the usual 45 degrees for other track combinations. This also applies to the turning radius of ships STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Allow to join stations not directly adjacent: {STRING2} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Allow adding parts to a station without directly touching the existing parts. Needs Ctrl+Click while placing the new parts -STR_CONFIG_SETTING_IMPROVEDLOAD :Use improved loading algorithm: {STRING2} -STR_CONFIG_SETTING_IMPROVEDLOAD_HELPTEXT :If enabled, multiple vehicles waiting at a station are loaded sequentially. Loading of the next vehicle only starts when there is enough cargo waiting to completely fill the first vehicle -STR_CONFIG_SETTING_GRADUAL_LOADING :Load vehicles gradually: {STRING2} -STR_CONFIG_SETTING_GRADUAL_LOADING_HELPTEXT :Gradually load vehicles using vehicle specific loading durations, instead of loading everything at once with a fixed time depending only on the amount of cargo loaded STR_CONFIG_SETTING_INFLATION :Inflation: {STRING2} STR_CONFIG_SETTING_INFLATION_HELPTEXT :Enable inflation in the economy, where costs are slightly faster rising than payments -STR_CONFIG_SETTING_SELECTGOODS :Deliver cargo to a station only when there is a demand: {STRING2} -STR_CONFIG_SETTING_SELECTGOODS_HELPTEXT :Only deliver cargo to a station that was requested from a loading vehicle. This prevents bad ratings for cargoes that are not serviced at a station STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Maximum bridge length: {STRING2} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Maximum length for building bridges +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :Maximum bridge height: {STRING2} +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :Maximum height for building bridges STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Maximum tunnel length: {STRING2} STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :Maximum length for building tunnels STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Manual primary industry construction method: {STRING2} @@ -1191,8 +1220,6 @@ STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Place where a t STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :near end STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :middle STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :far end -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING :Road vehicle queueing (with quantum effects): {STRING2} -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING_HELPTEXT :Make road vehicle wait in front of occupied road stops until they are cleared STR_CONFIG_SETTING_AUTOSCROLL :Pan window when mouse is at the edge: {STRING2} STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :When enabled, viewports will start to scroll when the mouse is near the edge of the window STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Disabled @@ -1219,14 +1246,10 @@ STR_CONFIG_SETTING_PLANE_CRASHES_HELPTEXT :Set the chance STR_CONFIG_SETTING_PLANE_CRASHES_NONE :None STR_CONFIG_SETTING_PLANE_CRASHES_REDUCED :Reduced STR_CONFIG_SETTING_PLANE_CRASHES_NORMAL :Normal -STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Allow drive-through road stops on town owned roads: {STRING} +STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Allow drive-through road stops on town owned roads: {STRING2} STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Allow construction of drive-through road stops on town-owned roads STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Allow drive-through road stops on roads owned by competitors: {STRING2} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Allow construction of drive-through road stops on roads owned by other companies -STR_CONFIG_SETTING_ADJACENT_STATIONS :Allow building adjacent stations: {STRING2} -STR_CONFIG_SETTING_ADJACENT_STATIONS_HELPTEXT :Allow different stations to touch each other -STR_CONFIG_SETTING_DYNAMIC_ENGINES :Enable multiple NewGRF engine sets: {STRING2} -STR_CONFIG_SETTING_DYNAMIC_ENGINES_HELPTEXT :Compatibility option for old NewGRFs. Do not disable this, unless you know exactly what you are doing! STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Changing this setting is not possible when there are vehicles STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Infrastructure maintenance: {STRING2} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :When enabled, infrastructure causes maintenance costs. The cost grows over-proportional with the network size, thus affecting bigger companies more than smaller ones @@ -1247,7 +1270,7 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Vehicles never STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :When enabled, all vehicle models remain available forever after their introduction STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Autorenew vehicle when it gets old: {STRING2} STR_CONFIG_SETTING_AUTORENEW_VEHICLE_HELPTEXT :When enabled, a vehicle nearing its end of life gets automatically replaced when the renew conditions are fulfilled -STR_CONFIG_SETTING_AUTORENEW_MONTHS :Autorenew when vehicle is {STRING2} max age +STR_CONFIG_SETTING_AUTORENEW_MONTHS :Autorenew when vehicle is {STRING2} maximum age STR_CONFIG_SETTING_AUTORENEW_MONTHS_HELPTEXT :Relative age when a vehicle should be considered for auto-renewing STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_BEFORE :{COMMA} month{P 0 "" s} before STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_AFTER :{COMMA} month{P 0 "" s} after @@ -1257,39 +1280,53 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :Duration of err STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Duration for displaying error messages in a red window. Note that some (critical) error messages are not closed automatically after this time, but must be closed manually STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{COMMA} second{P 0 "" s} STR_CONFIG_SETTING_HOVER_DELAY :Show tooltips: {STRING2} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Delay before tooltips are displayed when hovering the mouse over some interface element. Alternatively tooltips can be bound to the right mouse button -STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Hover for {COMMA} second{P 0 "" s} +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Delay before tooltips are displayed when hovering the mouse over some interface element. Alternatively tooltips are bound to the right mouse button when this value is set to 0. +STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Hover for {COMMA} millisecond{P 0 "" s} STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Right click STR_CONFIG_SETTING_POPULATION_IN_LABEL :Show extra information in the town name label: {STRING2} STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Display the population of towns in their label on the map STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Thickness of lines in graphs: {STRING2} STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Width of the line in the graphs. A thin line is more precisely readable, a thicker line is easier to see and colours are easier to distinguish +STR_CONFIG_SETTING_LANDSCAPE :Landscape: {STRING2} +STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Landscapes define basic gameplay scenarios with different cargos and town growth requirements. NewGRF and Game Scripts allow finer control though STR_CONFIG_SETTING_LAND_GENERATOR :Land generator: {STRING2} +STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :The original generator depends on the base graphics set, and composes fixed landscape shapes. TerraGenesis is a Perlin noise based generator with finer control settings STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Original STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis -STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Max distance from edge for Oil Refineries: {STRING2} +STR_CONFIG_SETTING_TERRAIN_TYPE :Terrain type: {STRING2} +STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(TerraGenesis only) Hilliness of the landscape +STR_CONFIG_SETTING_INDUSTRY_DENSITY :Industry density: {STRING2} +STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Set how many industries should be generated and what level should be maintained during the game +STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Maximum distance from edge for Oil refineries: {STRING2} STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Oil refineries are only constructed near the map border, that is at the coast for island maps STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Snow line height: {STRING2} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Roughness of terrain (TerraGenesis only) : {STRING2} +STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Control at what height snow starts in sub-arctic landscape. Snow also affects industry generation and town growth requirements +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Roughness of terrain: {STRING2} +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(TerraGenesis only) Choose the frequency of hills: Smooth landscapes have fewer, more wide-spread hills. Rough landscapes have many hills, which may look repetitive STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Very Smooth STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Smooth STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Rough STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Very Rough +STR_CONFIG_SETTING_VARIETY :Variety distribution: {STRING2} +STR_CONFIG_SETTING_VARIETY_HELPTEXT :(TerraGenesis only) Control whether the map contains both mountainous and flat areas. Since this only makes the map flatter, other settings should be set to mountainous +STR_CONFIG_SETTING_RIVER_AMOUNT :River amount: {STRING2} +STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Choose how many rivers to generate STR_CONFIG_SETTING_TREE_PLACER :Tree placer algorithm: {STRING2} +STR_CONFIG_SETTING_TREE_PLACER_HELPTEXT :Choose the distribution of trees on the map: 'Original' plants trees uniformly scattered, 'Improved' plants them in groups STR_CONFIG_SETTING_TREE_PLACER_NONE :None STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :Original STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :Improved +STR_CONFIG_SETTING_ROAD_SIDE :Road vehicles: {STRING2} +STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :Choose the driving side STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Heightmap rotation: {STRING2} STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Counter clockwise STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Clockwise STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :The height level a flat scenario map gets: {STRING2} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :Enable landscaping the tiles at the map borders: {STRING2} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES_HELPTEXT :If disabled, the map borders will always be ocean STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}One or more tiles at the northern edge are not empty STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}One or more tiles at one of the edges is not water -STR_CONFIG_SETTING_STATION_SPREAD :Max station spread: {STRING2} +STR_CONFIG_SETTING_STATION_SPREAD :Maximum station spread: {STRING2} STR_CONFIG_SETTING_STATION_SPREAD_HELPTEXT :Maximum area the parts of a single station may be spread out on. Note that high values will slow the game STR_CONFIG_SETTING_SERVICEATHELIPAD :Service helicopters at helipads automatically: {STRING2} STR_CONFIG_SETTING_SERVICEATHELIPAD_HELPTEXT :Service helicopters after every landing, even if there is no depot at the airport @@ -1306,7 +1343,7 @@ STR_CONFIG_SETTING_SMOOTH_SCROLLING :Smooth viewport STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Control how the main view scrolls to a specific position when clicking on the smallmap or when issuing a command to scroll to a specific object on the map. If enabled, the viewport scrolls smoothly, if disabled it jumps directly to the targeted spot STR_CONFIG_SETTING_MEASURE_TOOLTIP :Show a measurement tooltip when using various build-tools: {STRING2} STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT :Display tile-distances and height differences when dragging during construction operations -STR_CONFIG_SETTING_LIVERIES :Show company liveries: {STRING2} +STR_CONFIG_SETTING_LIVERIES :Show vehicle-type specific liveries: {STRING2} STR_CONFIG_SETTING_LIVERIES_HELPTEXT :Control usage of vehicle-type specific liveries for vehicles (in contrary to company specific) STR_CONFIG_SETTING_LIVERIES_NONE :None STR_CONFIG_SETTING_LIVERIES_OWN :Own company @@ -1336,17 +1373,15 @@ 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_AUTOSAVE :Autosave: {STRING2} +STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Select interval between automatic game saves + STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Use the {STRING2} date format for savegame names STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Format of the date in save game filenames STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :long (31st Dec 2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :short (31-12-2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE :Default palette to assume for NewGRFs not specifying a palette: {STRING2} -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_HELPTEXT :Default palette to use for NewGRFs that do not specify which one they need -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_DOS :Default (D) palette -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_WIN :Legacy (W) palette - STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Automatically pause when starting a new game: {STRING2} STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :When enabled, the game will automatically pause when starting a new game, allowing for closer study of the map STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :When paused allow: {STRING2} @@ -1355,7 +1390,7 @@ STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :No actions STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :All non-construction actions STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :All but landscape modifying actions STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_ACTIONS :All actions -STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Use the advanced vehicle list: {STRING2} +STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Use groups in vehicle list: {STRING2} STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Enable usage of the advanced vehicle lists for grouping vehicles STR_CONFIG_SETTING_LOADING_INDICATORS :Use loading indicators: {STRING2} STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Select whether loading indicators are displayed above loading or unloading vehicles @@ -1370,7 +1405,7 @@ STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_HELPTEXT :Rail type to se STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_FIRST :First available STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_LAST :Last available STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_MOST_USED :Most used -STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :Show reserved tracks: {STRING2} +STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :Show path reservations for tracks: {STRING2} STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION_HELPTEXT :Give reserved tracks a different colour to assist in problems with trains refusing to enter path-based blocks STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Keep building tools active after usage: {STRING2} STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Keep the building tools for bridges, tunnels, etc. open after use @@ -1396,13 +1431,13 @@ STR_CONFIG_SETTING_SOUND_AMBIENT_HELPTEXT :Play ambient so STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING :Disable infrastructure building when no suitable vehicles are available: {STRING2} STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING_HELPTEXT :When enabled, infrastructure is only available if there are also vehicles available, preventing waste of time and money on unusable infrastructure -STR_CONFIG_SETTING_MAX_TRAINS :Max trains per company: {STRING2} +STR_CONFIG_SETTING_MAX_TRAINS :Maximum number of trains per company: {STRING2} STR_CONFIG_SETTING_MAX_TRAINS_HELPTEXT :Maximum number of trains that a company can have -STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :Max road vehicles per company: {STRING2} +STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :Maximum number of road vehicles per company: {STRING2} STR_CONFIG_SETTING_MAX_ROAD_VEHICLES_HELPTEXT :Maximum number of road vehicles that a company can have -STR_CONFIG_SETTING_MAX_AIRCRAFT :Max aircraft per company: {STRING2} +STR_CONFIG_SETTING_MAX_AIRCRAFT :Maximum number of aircraft per company: {STRING2} STR_CONFIG_SETTING_MAX_AIRCRAFT_HELPTEXT :Maximum number of aircraft that a company can have -STR_CONFIG_SETTING_MAX_SHIPS :Max ships per company: {STRING2} +STR_CONFIG_SETTING_MAX_SHIPS :Maximum number of ships per company: {STRING2} STR_CONFIG_SETTING_MAX_SHIPS_HELPTEXT :Maximum number of ships that a company can have STR_CONFIG_SETTING_AI_BUILDS_TRAINS :Disable trains for computer: {STRING2} @@ -1429,7 +1464,7 @@ STR_CONFIG_SETTING_SERVINT_ISPERCENT :Service interva STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Choose whether servicing of vehicles is triggered by the time passed since last service or by reliability dropping by a certain percentage of the maximum reliability STR_CONFIG_SETTING_SERVINT_TRAINS :Default service interval for trains: {STRING2} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Set the default service interval for new rail vehicles, if no explicit service interval is set for the vehicle -STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA} day{P 0 "" s}/% +STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}day{P 0 "" s}/% STR_CONFIG_SETTING_SERVINT_DISABLED :Disabled STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES :Default service interval for road vehicles: {STRING2} STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES_HELPTEXT :Set the default service interval for new road vehicles, if no explicit service interval is set for the vehicle @@ -1496,7 +1531,7 @@ STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT :Select the beha STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE :Automatically build semaphores before: {STRING2} STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT :Set the year when electric signals will be used for tracks. Before this year, non-electric signals will be used (which have the exact same function, but different looks) STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI :Enable the signal GUI: {STRING2} -STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI_HELPTEXT :Display a window for choosing signal types to build, instead of only window-less signal-type rotation with Ctrl+clicking on build signals +STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI_HELPTEXT :Display a window for choosing signal types to build, instead of only window-less signal-type rotation with Ctrl+clicking on built signals STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE :Signal type to build by default: {STRING2} STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE_HELPTEXT :Default signal type to use STR_CONFIG_SETTING_DEFAULT_SIGNAL_NORMAL :Block signals @@ -1568,12 +1603,10 @@ STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 in {COMMA} STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :None STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Initial city size multiplier: {STRING2} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Average size of cities relative to normal towns at start of the game -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :Remove absurd road-elements during the road construction: {STRING2} -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD_HELPTEXT :Remove dead road ends during funded road reconstruction -STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Update distribution graph every {STRING2} day{P 0:2 "" s} +STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Update distribution graph every {STRING2}{NBSP}day{P 0:2 "" s} STR_CONFIG_SETTING_LINKGRAPH_INTERVAL_HELPTEXT :Time between subsequent recalculations of the link graph. Each recalculation calculates the plans for one component of the graph. That means that a value X for this setting does not mean the whole graph will be updated every X days. Only some component will. The shorter you set it the more CPU time will be necessary to calculate it. The longer you set it the longer it will take until the cargo distribution starts on new routes. -STR_CONFIG_SETTING_LINKGRAPH_TIME :Take {STRING2} day{P 0:2 "" s} for recalculation of distribution graph +STR_CONFIG_SETTING_LINKGRAPH_TIME :Take {STRING2}{NBSP}day{P 0:2 "" s} for recalculation of distribution graph STR_CONFIG_SETTING_LINKGRAPH_TIME_HELPTEXT :Time taken for each recalculation of a link graph component. When a recalculation is started, a thread is spawned which is allowed to run for this number of days. The shorter you set this the more likely it is that the thread is not finished when it's supposed to. Then the game stops until it is ("lag"). The longer you set it the longer it takes for the distribution to be updated when routes change. STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :manual STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :asymmetric @@ -1583,7 +1616,7 @@ STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"symmetric" mea STR_CONFIG_SETTING_DISTRIBUTION_MAIL :Distribution mode for mail: {STRING2} STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"symmetric" means that roughly the same amount of mail will be sent from a station A to a station B as from B to A. "asymmetric" means that arbitrary amounts of mail can be sent in either direction. "manual" means that no automatic distribution will take place for mail. STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Distribution mode for the ARMOURED cargo class: {STRING2} -STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :The ARMOURED cargo class contains valuables in the temperate, diamonds in the subtropical or gold in subarctic climate. NewGRFs may change that. "symmetric" means that roughly the same amount of that cargo will be sent from a station A to a station B as from B to A. "asymmetric" means that arbitrary of that cargo can be sent in either direction. "manual" means that no automatic distribution will take place for that cargo. It is recommended to set this to asymmetric or manual when playing subarctic, as banks won't send any gold back to gold mines. For temperate and subtropical you can also choose symmetric as banks will send valuables back to the origin bank of some load of valuables. +STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :The ARMOURED cargo class contains valuables in the temperate, diamonds in the subtropical or gold in subarctic climate. NewGRFs may change that. "symmetric" means that roughly the same amount of that cargo will be sent from a station A to a station B as from B to A. "asymmetric" means that arbitrary amounts of that cargo can be sent in either direction. "manual" means that no automatic distribution will take place for that cargo. It is recommended to set this to asymmetric or manual when playing subarctic, as banks won't send any gold back to gold mines. For temperate and subtropical you can also choose symmetric as banks will send valuables back to the origin bank of some load of valuables. STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Distribution mode for other cargo classes: {STRING2} STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"asymmetric" means that arbitrary amounts of cargo can be sent in either direction. "manual" means that no automatic distribution will take place for those cargoes. STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Distribution accuracy: {STRING2} @@ -1608,50 +1641,52 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_METRIC :Metric (hp) STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_SI :SI (kW) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT :Weights units: {STRING2} -STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_HELPTEXT :Whenever weights are shown in the user interface, show it in the selected units +STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_HELPTEXT :Whenever a weight is shown in the user interface, show it in the selected units STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_IMPERIAL :Imperial (short t/ton) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_METRIC :Metric (t/tonne) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_SI :SI (kg) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME :Volumes units: {STRING2} -STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_HELPTEXT :Whenever volumes are shown in the user interface, show it in the selected units +STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_HELPTEXT :Whenever a volume is shown in the user interface, show it in the selected units STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_IMPERIAL :Imperial (gal) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_METRIC :Metric (l) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_SI :SI (m³) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE :Tractive effort units: {STRING2} -STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_HELPTEXT :Whenever tractive effort, also known as tractive force, is shown in the user interface, show it in the selected units +STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_HELPTEXT :Whenever a tractive effort (also known as tractive force) is shown in the user interface, show it in the selected units STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_IMPERIAL :Imperial (lbf) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_METRIC :Metric (kgf) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_SI :SI (kN) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT :Heights units: {STRING2} -STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT :Whenever heights are shown in the user interface, show it in the selected units +STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT :Whenever a height is shown in the user interface, show it in the selected units STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :Imperial (ft) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :Metric (m) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :SI (m) -STR_CONFIG_SETTING_GUI :{ORANGE}Interface STR_CONFIG_SETTING_LOCALISATION :{ORANGE}Localisation -STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}Construction +STR_CONFIG_SETTING_GRAPHICS :{ORANGE}Graphics +STR_CONFIG_SETTING_SOUND :{ORANGE}Sound +STR_CONFIG_SETTING_INTERFACE :{ORANGE}Interface +STR_CONFIG_SETTING_INTERFACE_GENERAL :{ORANGE}General +STR_CONFIG_SETTING_INTERFACE_VIEWPORTS :{ORANGE}Viewports +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Construction +STR_CONFIG_SETTING_ADVISORS :{ORANGE}News / Advisors +STR_CONFIG_SETTING_COMPANY :{ORANGE}Company +STR_CONFIG_SETTING_ACCOUNTING :{ORANGE}Accounting STR_CONFIG_SETTING_VEHICLES :{ORANGE}Vehicles -STR_CONFIG_SETTING_STATIONS :{ORANGE}Stations -STR_CONFIG_SETTING_ECONOMY :{ORANGE}Economy -STR_CONFIG_SETTING_LINKGRAPH :{ORANGE}Cargo Distribution -STR_CONFIG_SETTING_AI :{ORANGE}Competitors -STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}Display options -STR_CONFIG_SETTING_INTERACTION :{ORANGE}Interaction -STR_CONFIG_SETTING_SOUND :{ORANGE}Sound effects -STR_CONFIG_SETTING_NEWS :{ORANGE}News and messages -STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}Signals -STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE}Cargo handling -STR_CONFIG_SETTING_AI_NPC :{ORANGE}Computer players -STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE}Autorenew -STR_CONFIG_SETTING_VEHICLES_SERVICING :{ORANGE}Servicing +STR_CONFIG_SETTING_VEHICLES_PHYSICS :{ORANGE}Physics STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Routing -STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}Trains -STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}Towns -STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}Industries +STR_CONFIG_SETTING_LIMITATIONS :{ORANGE}Limitations +STR_CONFIG_SETTING_ACCIDENTS :{ORANGE}Disasters / Accidents +STR_CONFIG_SETTING_GENWORLD :{ORANGE}World generation +STR_CONFIG_SETTING_ENVIRONMENT :{ORANGE}Environment +STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :{ORANGE}Authorities +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Towns +STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}Industries +STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :{ORANGE}Cargo distribution +STR_CONFIG_SETTING_AI :{ORANGE}Competitors +STR_CONFIG_SETTING_AI_NPC :{ORANGE}Computer players STR_CONFIG_SETTING_PATHFINDER_OPF :Original STR_CONFIG_SETTING_PATHFINDER_NPF :NPF @@ -1700,7 +1735,7 @@ STR_INTRO_MULTIPLAYER :{BLACK}Multipla STR_INTRO_GAME_OPTIONS :{BLACK}Game Options STR_INTRO_HIGHSCORE :{BLACK}Highscore Table -STR_INTRO_ADVANCED_SETTINGS :{BLACK}Advanced Settings +STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Settings STR_INTRO_NEWGRF_SETTINGS :{BLACK}NewGRF Settings STR_INTRO_ONLINE_CONTENT :{BLACK}Check Online Content STR_INTRO_SCRIPT_SETTINGS :{BLACK}AI/Game Script Settings @@ -1720,7 +1755,7 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Select ' STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Display game options STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Display highscore table -STR_INTRO_TOOLTIP_ADVANCED_SETTINGS :{BLACK}Display advanced settings +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Display settings STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Display NewGRF settings STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Check for new and updated content to download STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Display AI/Game script settings @@ -1760,6 +1795,8 @@ STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Playing STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Magic bulldozer (remove industries, unmovable objects): {ORANGE}{STRING1} STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}Tunnels may cross each other: {ORANGE}{STRING1} STR_CHEAT_NO_JETCRASH :{LTBLUE}Jetplanes will not crash (frequently) on small airports: {ORANGE}{STRING} +STR_CHEAT_EDIT_MAX_HL :{LTBLUE}Edit the maximum map height: {ORANGE}{NUM} +STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Edit the maximum height of mountains on the map STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE :Temperate landscape STR_CHEAT_SWITCH_CLIMATE_SUB_ARCTIC_LANDSCAPE :Sub-arctic landscape STR_CHEAT_SWITCH_CLIMATE_SUB_TROPICAL_LANDSCAPE :Sub-tropical landscape @@ -1808,6 +1845,7 @@ STR_LIVERY_FREIGHT_TRAM :Freight Tram STR_FACE_CAPTION :{WHITE}Face Selection STR_FACE_CANCEL_TOOLTIP :{BLACK}Cancel new face selection STR_FACE_OK_TOOLTIP :{BLACK}Accept new face selection +STR_FACE_RANDOM :{BLACK}Randomise STR_FACE_MALE_BUTTON :{BLACK}Male STR_FACE_MALE_TOOLTIP :{BLACK}Select male faces @@ -1928,13 +1966,13 @@ STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}Protect STR_NETWORK_START_SERVER_UNADVERTISED :No STR_NETWORK_START_SERVER_ADVERTISED :Yes STR_NETWORK_START_SERVER_CLIENTS_SELECT :{BLACK}{NUM} client{P "" s} -STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Max clients: +STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Maximum number of clients: STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS_TOOLTIP :{BLACK}Choose the maximum number of clients. Not all slots need to be filled STR_NETWORK_START_SERVER_COMPANIES_SELECT :{BLACK}{NUM} compan{P y ies} -STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}Max companies: +STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}Maximum number of companies: STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES_TOOLTIP :{BLACK}Limit the server to a certain amount of companies STR_NETWORK_START_SERVER_SPECTATORS_SELECT :{BLACK}{NUM} spectator{P "" s} -STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS :{BLACK}Max spectators: +STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS :{BLACK}Maximum number of spectators: STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS_TOOLTIP :{BLACK}Limit the server to a certain amount of spectators STR_NETWORK_START_SERVER_LANGUAGE_SPOKEN :{BLACK}Language spoken: STR_NETWORK_START_SERVER_LANGUAGE_TOOLTIP :{BLACK}Other players will know which language is spoken on the server @@ -2277,7 +2315,7 @@ STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Build ra STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Build train depot (for buying and servicing trains). Shift toggles building/showing cost estimate STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Convert rail to waypoint. Ctrl enables joining waypoints. Shift toggles building/showing cost estimate STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Build railway station. Ctrl enables joining stations. Shift toggles building/showing cost estimate -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Build railway signals. Ctrl toggles semaphore/light signals{}Dragging builds signals along a straight stretch of rail. Ctrl builds signals till the next junction{}Ctrl+Click toggles opening the signal selection window. Shift toggles building/showing cost estimate +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Build railway signals. Ctrl toggles semaphore/light signals{}Dragging builds signals along a straight stretch of rail. Ctrl builds signals up to the next junction or signal{}Ctrl+Click toggles opening the signal selection window. Shift toggles building/showing cost estimate STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Build railway bridge. Shift toggles building/showing cost estimate STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Build railway tunnel. Shift toggles building/showing cost estimate STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Toggle build/remove for railway track, signals, waypoints and stations. Hold Ctrl to also remove the rail of waypoints and stations @@ -2649,7 +2687,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-2014 The OpenTTD team +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 The OpenTTD team # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Save Game @@ -2684,13 +2722,12 @@ STR_MAPGEN_BY :{BLACK}* STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}No. of towns: STR_MAPGEN_DATE :{BLACK}Date: STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}No. of industries: +STR_MAPGEN_MAX_HEIGHTLEVEL :{BLACK}Maximum map height: +STR_MAPGEN_MAX_HEIGHTLEVEL_UP :{BLACK}Increase the maximum height of mountains on the map by one +STR_MAPGEN_MAX_HEIGHTLEVEL_DOWN :{BLACK}Decrease the maximum height of mountains on the map by one STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}Snow line height: STR_MAPGEN_SNOW_LINE_UP :{BLACK}Move the snow line height one up STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}Move the snow line height one down -STR_MAPGEN_RANDOM_SEED :{BLACK}Random seed: -STR_MAPGEN_RANDOM_SEED_HELP :{BLACK}Click to enter a random seed -STR_MAPGEN_RANDOM :{BLACK}Randomise -STR_MAPGEN_RANDOM_HELP :{BLACK}Change the random seed used for Terrain Generation STR_MAPGEN_LAND_GENERATOR :{BLACK}Land generator: STR_MAPGEN_TREE_PLACER :{BLACK}Tree algorithm: STR_MAPGEN_TERRAIN_TYPE :{BLACK}Terrain type: @@ -2717,7 +2754,7 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Heightma STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Size: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} -STR_MAPGEN_RANDOM_SEED_OSKTITLE :{BLACK}Enter a random seed +STR_MAPGEN_MAX_HEIGHTLEVEL_QUERY_CAPT :{WHITE}Change maximum map height STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}Change snow line height STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Change starting year @@ -2772,6 +2809,8 @@ STR_NEWGRF_SETTINGS_MOVEUP :{BLACK}Move Up STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP :{BLACK}Move the selected NewGRF file up the list STR_NEWGRF_SETTINGS_MOVEDOWN :{BLACK}Move Down STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP :{BLACK}Move the selected NewGRF file down the list +STR_NEWGRF_SETTINGS_UPGRADE :{BLACK}Upgrade +STR_NEWGRF_SETTINGS_UPGRADE_TOOLTIP :{BLACK}Upgrade NewGRF files for which you have a newer version installed STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}A list of the NewGRF files that are installed STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}Set parameters @@ -2796,6 +2835,16 @@ STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Matching f STR_NEWGRF_SETTINGS_DISABLED :{RED}Disabled STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Incompatible with this version of OpenTTD +# NewGRF save preset window +STR_SAVE_PRESET_CAPTION :{WHITE}Save preset +STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK}List of available presets, select one to copy it to the save name below +STR_SAVE_PRESET_TITLE :{BLACK}Enter a name for the preset +STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}Currently selected name for the preset to save +STR_SAVE_PRESET_CANCEL :{BLACK}Cancel +STR_SAVE_PRESET_CANCEL_TOOLTIP :{BLACK}Don't change the preset +STR_SAVE_PRESET_SAVE :{BLACK}Save +STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}Save the preset to the current selected name + # NewGRF parameters window STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Change NewGRF parameters STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Close @@ -2819,14 +2868,17 @@ STR_NEWGRF_INSPECT_QUERY_CAPTION :{WHITE}NewGRF v # Sprite aligner window STR_SPRITE_ALIGNER_CAPTION :{WHITE}Aligning sprite {COMMA} ({RAW_STRING}) STR_SPRITE_ALIGNER_NEXT_BUTTON :{BLACK}Next sprite -STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Proceed to the next normal sprite, skipping any pseudo/recolour/font sprites and wrapping around at the end +STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Proceed to the next normal sprite, skipping any pseudo/recolour/font sprites and wrapping around from the last sprite to the first STR_SPRITE_ALIGNER_GOTO_BUTTON :{BLACK}Go to sprite STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}Go to the given sprite. If the sprite is not a normal sprite, proceed to the next normal sprite STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Previous sprite -STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Proceed to the previous normal sprite, skipping any pseudo/recolour/font sprites and wrapping around at the begin +STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Proceed to the previous normal sprite, skipping any pseudo/recolour/font sprites and wrapping around from the first sprite to the last STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Representation of the currently selected sprite. The alignment is ignored when drawing this sprite STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Move the sprite around, changing the X and Y offsets -STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X offset: {NUM}, Y offset: {NUM} +STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Reset relative +STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Reset the current relative offsets +STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}X offset: {NUM}, Y offset: {NUM} (Absolute) +STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}X offset: {NUM}, Y offset: {NUM} (Relative) STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Pick sprite STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Pick a sprite from anywhere on the screen @@ -2938,8 +2990,8 @@ STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} delivered STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (still required) STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (delivered) -STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Town grows every {ORANGE}{COMMA}{BLACK} day{P "" s} -STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Town grows every {ORANGE}{COMMA}{BLACK} day{P "" s} (funded) +STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Town grows every {ORANGE}{COMMA}{BLACK}{NBSP}day{P "" s} +STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Town grows every {ORANGE}{COMMA}{BLACK}{NBSP}day{P "" s} (funded) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}Town is {RED}not{BLACK} growing STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Noise limit in town: {ORANGE}{COMMA}{BLACK} max: {ORANGE}{COMMA} STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Centre the main view on town location. Ctrl+Click opens a new viewport on town location @@ -2999,7 +3051,7 @@ STR_GOAL_QUESTION_CAPTION_INFORMATION :Information STR_GOAL_QUESTION_CAPTION_WARNING :Warning STR_GOAL_QUESTION_CAPTION_ERROR :Error -### Start of Goal Question button list +############ Start of Goal Question button list STR_GOAL_QUESTION_BUTTON_CANCEL :Cancel STR_GOAL_QUESTION_BUTTON_OK :OK STR_GOAL_QUESTION_BUTTON_NO :No @@ -3018,6 +3070,7 @@ STR_GOAL_QUESTION_BUTTON_RESTART :Restart STR_GOAL_QUESTION_BUTTON_POSTPONE :Postpone STR_GOAL_QUESTION_BUTTON_SURRENDER :Surrender STR_GOAL_QUESTION_BUTTON_CLOSE :Close +############ End of Goal Question button list # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}Subsidies @@ -3053,7 +3106,6 @@ STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}No cargo # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} -STR_STATION_VIEW_WAITING_TITLE :{BLACK}Waiting: {WHITE}{STRING} STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} from {STATION}) STR_STATION_VIEW_RESERVED :{YELLOW}({CARGO_SHORT} reserved for loading) @@ -3148,7 +3200,7 @@ STR_FINANCES_POSITIVE_INCOME :{BLACK}+{CURREN STR_FINANCES_TOTAL_CAPTION :{WHITE}Total: STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}Bank Balance STR_FINANCES_LOAN_TITLE :{WHITE}Loan -STR_FINANCES_MAX_LOAN :{WHITE}Max Loan: {BLACK}{CURRENCY_LONG} +STR_FINANCES_MAX_LOAN :{WHITE}Maximum Loan: {BLACK}{CURRENCY_LONG} STR_FINANCES_TOTAL_CURRENCY :{BLACK}{CURRENCY_LONG} STR_FINANCES_BORROW_BUTTON :{BLACK}Borrow {CURRENCY_LONG} STR_FINANCES_BORROW_TOOLTIP :{BLACK}Increase size of loan. Ctrl+Click borrows as much as possible @@ -3343,10 +3395,10 @@ STR_PURCHASE_INFO_ALL_BUT :All but {CARGO_ STR_PURCHASE_INFO_MAX_TE :{BLACK}Max. Tractive Effort: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Range: {GOLD}{COMMA} tiles -STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Train vehicle selection list - click on vehicle for information -STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Road vehicle selection list - click on vehicle for information -STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Ship selection list - click on ship for information -STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Aircraft selection list - click on aircraft for information +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 +STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Ship selection list. Click on ship for information. Ctrl+Click for toggling hiding of the ship type +STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Aircraft selection list. Click on aircraft for information. Ctrl+Click for toggling hiding of the aircraft type STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}Buy Vehicle STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Buy Vehicle @@ -3368,6 +3420,21 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Rename r STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Rename ship type STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Rename aircraft type +STR_BUY_VEHICLE_TRAIN_HIDE_TOGGLE_BUTTON :{BLACK}Hide +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_TOGGLE_BUTTON :{BLACK}Hide +STR_BUY_VEHICLE_SHIP_HIDE_TOGGLE_BUTTON :{BLACK}Hide +STR_BUY_VEHICLE_AIRCRAFT_HIDE_TOGGLE_BUTTON :{BLACK}Hide + +STR_BUY_VEHICLE_TRAIN_SHOW_TOGGLE_BUTTON :{BLACK}Display +STR_BUY_VEHICLE_ROAD_VEHICLE_SHOW_TOGGLE_BUTTON :{BLACK}Display +STR_BUY_VEHICLE_SHIP_SHOW_TOGGLE_BUTTON :{BLACK}Display +STR_BUY_VEHICLE_AIRCRAFT_SHOW_TOGGLE_BUTTON :{BLACK}Display + +STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Toggle hiding/displaying of the train vehicle type +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Toggle hiding/displaying of the road vehicle type +STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Toggle hiding/displaying of the ship type +STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Toggle hiding/displaying of the aircraft type + STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}Rename train vehicle type STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}Rename road vehicle type STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}Rename ship type @@ -3421,7 +3488,7 @@ STR_DEPOT_CLONE_ROAD_VEHICLE :{BLACK}Clone Ve STR_DEPOT_CLONE_SHIP :{BLACK}Clone Ship STR_DEPOT_CLONE_AIRCRAFT :{BLACK}Clone Aircraft -STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}This will buy a copy of a train including all cars. Click this button and then on a train inside or outside the depot. Ctrl+Click share the orders. Shift+Click shows estimated cost without purchase +STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}This will buy a copy of a train including all cars. Click this button and then on a train inside or outside the depot. Ctrl+Click will share the orders. Shift+Click shows estimated cost without purchase STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}This will buy a copy of a road vehicle. Click this button and then on a road vehicle inside or outside the depot. Ctrl+Click will share the orders. Shift+Click shows estimated cost without purchase STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}This will buy a copy of a ship. Click this button and then on a ship inside or outside the depot. Ctrl+Click will share the orders. Shift+Click shows estimated cost without purchase STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}This will buy a copy of an aircraft. Click this button and then on an aircraft inside or outside the hangar. Ctrl+Click will share the orders. Shift+Click shows estimated cost without purchase @@ -3472,6 +3539,11 @@ STR_REPLACE_VEHICLE_ROAD_VEHICLE :Road Vehicle STR_REPLACE_VEHICLE_SHIP :Ship STR_REPLACE_VEHICLE_AIRCRAFT :Aircraft +STR_REPLACE_VEHICLE_VEHICLES_IN_USE :{YELLOW}Vehicles in use +STR_REPLACE_VEHICLE_VEHICLES_IN_USE_TOOLTIP :{BLACK}Column with vehicles that you own +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES :{YELLOW}Available vehicles +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES_TOOLTIP :{BLACK}Column with vehicles available for replacement + STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Select the engine type to replace STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Select the new engine type you would like to use in place of the left selected engine type @@ -3596,7 +3668,7 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Capacity STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Transfer Credits: {LTBLUE}{CURRENCY_LONG} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Servicing interval: {LTBLUE}{COMMA}days{BLACK} Last service: {LTBLUE}{DATE_LONG} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Servicing interval: {LTBLUE}{COMMA}{NBSP}days{BLACK} Last service: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Servicing interval: {LTBLUE}{COMMA}%{BLACK} Last service: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Increase servicing interval by 10. Ctrl+Click increases servicing interval by 5 STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Decrease servicing interval by 10. Ctrl+Click decreases servicing interval by 5 @@ -3694,8 +3766,8 @@ STR_ORDER_TOOLTIP_UNLOAD :{BLACK}Change t STR_ORDER_REFIT :{BLACK}Refit STR_ORDER_REFIT_TOOLTIP :{BLACK}Select what cargo type to refit to in this order. Ctrl+Click to remove refit instruction -STR_ORDER_REFIT_AUTO :{BLACK}Auto-refit -STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Select what cargo type to auto-refit to in this order. Ctrl+Click to remove refit instruction. Auto-refitting will only be done if the vehicle allows it +STR_ORDER_REFIT_AUTO :{BLACK}Refit at station +STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Select what cargo type to refit to in this order. Ctrl+Click to remove refit instruction. Refitting at stations will only be done if the vehicle allows it STR_ORDER_DROP_REFIT_AUTO :Fixed cargo STR_ORDER_DROP_REFIT_AUTO_ANY :Available cargo @@ -3766,7 +3838,7 @@ STR_ORDER_REFIT_ORDER :(Refit to {STRI STR_ORDER_REFIT_STOP_ORDER :(Refit to {STRING} and stop) STR_ORDER_STOP_ORDER :(Stop) -STR_ORDER_GO_TO_STATION :{STRING} {STATION} {STRING} +STR_ORDER_GO_TO_STATION :{STRING} {STATION} {STRING1} STR_ORDER_IMPLICIT :(Implicit) @@ -3786,18 +3858,18 @@ STR_ORDER_NO_UNLOAD_FULL_LOAD :(No unloading a STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY :(No unloading and wait for any full load) STR_ORDER_NO_UNLOAD_NO_LOAD :(No unloading and no loading) -STR_ORDER_AUTO_REFIT :(Auto-refit to {STRING}) -STR_ORDER_FULL_LOAD_REFIT :(Full load with auto-refit to {STRING}) -STR_ORDER_FULL_LOAD_ANY_REFIT :(Full load any cargo with auto-refit to {STRING}) -STR_ORDER_UNLOAD_REFIT :(Unload and take cargo with auto-refit to {STRING}) -STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(Unload and wait for full load with auto-refit to {STRING}) -STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(Unload and wait for any full load with auto-refit to {STRING}) -STR_ORDER_TRANSFER_REFIT :(Transfer and take cargo with auto-refit to {STRING}) -STR_ORDER_TRANSFER_FULL_LOAD_REFIT :(Transfer and wait for full load with auto-refit to {STRING}) -STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :(Transfer and wait for any full load with auto-refit to {STRING}) -STR_ORDER_NO_UNLOAD_REFIT :(No unloading and take cargo with auto-refit to {STRING}) -STR_ORDER_NO_UNLOAD_FULL_LOAD_REFIT :(No unloading and wait for full load with auto-refit to {STRING}) -STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY_REFIT :(No unloading and wait for any full load with auto-refit to {STRING}) +STR_ORDER_AUTO_REFIT :(Refit to {STRING}) +STR_ORDER_FULL_LOAD_REFIT :(Full load with refit to {STRING}) +STR_ORDER_FULL_LOAD_ANY_REFIT :(Full load any cargo with refit to {STRING}) +STR_ORDER_UNLOAD_REFIT :(Unload and take cargo with refit to {STRING}) +STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(Unload and wait for full load with refit to {STRING}) +STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(Unload and wait for any full load with refit to {STRING}) +STR_ORDER_TRANSFER_REFIT :(Transfer and take cargo with refit to {STRING}) +STR_ORDER_TRANSFER_FULL_LOAD_REFIT :(Transfer and wait for full load with refit to {STRING}) +STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :(Transfer and wait for any full load with refit to {STRING}) +STR_ORDER_NO_UNLOAD_REFIT :(No unloading and take cargo with refit to {STRING}) +STR_ORDER_NO_UNLOAD_FULL_LOAD_REFIT :(No unloading and wait for full load with refit to {STRING}) +STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY_REFIT :(No unloading and wait for any full load with refit to {STRING}) STR_ORDER_AUTO_REFIT_ANY :available cargo @@ -3823,13 +3895,17 @@ STR_TIMETABLE_TOOLTIP :{BLACK}Timetabl STR_TIMETABLE_NO_TRAVEL :No travel STR_TIMETABLE_NOT_TIMETABLEABLE :Travel (automatic; timetabled by next manual order) STR_TIMETABLE_TRAVEL_NOT_TIMETABLED :Travel (not timetabled) -STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Travel with at most {2:VELOCITY} (not timetabled) +STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Travel (not timetabled) with at most {2:VELOCITY} STR_TIMETABLE_TRAVEL_FOR :Travel for {STRING1} STR_TIMETABLE_TRAVEL_FOR_SPEED :Travel for {STRING1} with at most {VELOCITY} +STR_TIMETABLE_TRAVEL_FOR_ESTIMATED :Travel (for {STRING1}, not timetabled) +STR_TIMETABLE_TRAVEL_FOR_SPEED_ESTIMATED :Travel (for {STRING1}, not timetabled) with at most {VELOCITY} +STR_TIMETABLE_STAY_FOR_ESTIMATED :(stay for {STRING1}, not timetabled) +STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(travel for {STRING1}, not timetabled) STR_TIMETABLE_STAY_FOR :and stay for {STRING1} STR_TIMETABLE_AND_TRAVEL_FOR :and travel for {STRING1} -STR_TIMETABLE_DAYS :{COMMA} day{P "" s} -STR_TIMETABLE_TICKS :{COMMA} tick{P "" s} +STR_TIMETABLE_DAYS :{COMMA}{NBSP}day{P "" s} +STR_TIMETABLE_TICKS :{COMMA}{NBSP}tick{P "" s} STR_TIMETABLE_TOTAL_TIME :{BLACK}This timetable will take {STRING1} to complete STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}This timetable will take at least {STRING1} to complete (not all timetabled) @@ -3990,9 +4066,9 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Estimate STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Saving still in progress,{}please wait until it is finished! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Autosave failed STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Unable to read drive -STR_ERROR_GAME_SAVE_FAILED :{WHITE}Game Save Failed{}{STRING} +STR_ERROR_GAME_SAVE_FAILED :{WHITE}Game Save Failed{}{STRING1} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Unable to delete file -STR_ERROR_GAME_LOAD_FAILED :{WHITE}Game Load Failed{}{STRING} +STR_ERROR_GAME_LOAD_FAILED :{WHITE}Game Load Failed{}{STRING1} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Internal error: {RAW_STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Broken savegame - {RAW_STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Savegame is made with newer version @@ -4067,6 +4143,7 @@ STR_ERROR_EXCAVATION_WOULD_DAMAGE :{WHITE}Excavati STR_ERROR_ALREADY_AT_SEA_LEVEL :{WHITE}... already at sea level STR_ERROR_TOO_HIGH :{WHITE}... too high STR_ERROR_ALREADY_LEVELLED :{WHITE}... already flat +STR_ERROR_BRIDGE_TOO_HIGH_AFTER_LOWER_LAND :{WHITE}Afterwards the bridge above it would be too high. # Company related errors STR_ERROR_CAN_T_CHANGE_COMPANY_NAME :{WHITE}Can't change company name... @@ -4093,7 +4170,7 @@ STR_ERROR_TOO_CLOSE_TO_EDGE_OF_MAP_SUB :{WHITE}... too STR_ERROR_TOO_CLOSE_TO_ANOTHER_TOWN :{WHITE}... too close to another town STR_ERROR_TOO_MANY_TOWNS :{WHITE}... too many towns STR_ERROR_NO_SPACE_FOR_TOWN :{WHITE}... there is no more space on the map -STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}The town will not build roads. You can enable building of roads via Advanced Settings->Economy->Towns +STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}The town will not build roads. You can enable building of roads via Settings->Environment->Towns STR_ERROR_ROAD_WORKS_IN_PROGRESS :{WHITE}Road works in progress STR_ERROR_TOWN_CAN_T_DELETE :{WHITE}Can't delete this town...{}A station or depot is referring to the town or a town owned tile can't be removed STR_ERROR_STATUE_NO_SUITABLE_PLACE :{WHITE}... there is no suitable place for a statue in the centre of this town @@ -4117,6 +4194,9 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... fore STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... can only be built above the snow-line STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... can only be built below the snow-line +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}There were no suitable places for '{STRING}' industries +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Change the map generation parameters to get a better map + # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Can't build railway station here... STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}Can't build bus station... @@ -4253,6 +4333,7 @@ STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Must dem STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}Can't start and end in the same spot STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}Bridge heads not at the same level STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}Bridge is too low for the terrain +STR_ERROR_BRIDGE_TOO_HIGH_FOR_TERRAIN :{WHITE}Bridge is too high for this terrain. STR_ERROR_START_AND_END_MUST_BE_IN :{WHITE}Start and end must be in line STR_ERROR_ENDS_OF_BRIDGE_MUST_BOTH :{WHITE}... ends of bridge must both be on land STR_ERROR_BRIDGE_TOO_LONG :{WHITE}... bridge too long @@ -4825,6 +4906,7 @@ STR_COMPANY_NAME :{COMPANY} STR_COMPANY_NAME_COMPANY_NUM :{COMPANY} {COMPANY_NUM} STR_DEPOT_NAME :{DEPOT} STR_ENGINE_NAME :{ENGINE} +STR_HIDDEN_ENGINE_NAME :{ENGINE} (hidden) STR_GROUP_NAME :{GROUP} STR_INDUSTRY_NAME :{INDUSTRY} STR_PRESIDENT_NAME :{PRESIDENT_NAME} @@ -4860,8 +4942,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -4872,9 +4952,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{RAW_STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING1}{WHITE} diff --git a/src/lang/english_AU.txt b/src/lang/english_AU.txt index 5558ac4c58..252464a970 100644 --- a/src/lang/english_AU.txt +++ b/src/lang/english_AU.txt @@ -95,30 +95,30 @@ STR_CARGO_SINGULAR_FIZZY_DRINK :Soft Drink # Quantity of cargo STR_QUANTITY_NOTHING : -STR_QUANTITY_PASSENGERS :{COMMA} passenger{P "" s} +STR_QUANTITY_PASSENGERS :{COMMA}{NBSP}passenger{P "" s} STR_QUANTITY_COAL :{WEIGHT_LONG} of coal -STR_QUANTITY_MAIL :{COMMA} bag{P "" s} of mail +STR_QUANTITY_MAIL :{COMMA}{NBSP}bag{P "" s} of mail STR_QUANTITY_OIL :{VOLUME_LONG} of oil -STR_QUANTITY_LIVESTOCK :{COMMA} item{P "" s} of livestock -STR_QUANTITY_GOODS :{COMMA} crate{P "" s} of goods +STR_QUANTITY_LIVESTOCK :{COMMA}{NBSP}item{P "" s} of livestock +STR_QUANTITY_GOODS :{COMMA}{NBSP}crate{P "" s} of goods STR_QUANTITY_GRAIN :{WEIGHT_LONG} of grain STR_QUANTITY_WOOD :{WEIGHT_LONG} of wood STR_QUANTITY_IRON_ORE :{WEIGHT_LONG} of iron ore STR_QUANTITY_STEEL :{WEIGHT_LONG} of steel -STR_QUANTITY_VALUABLES :{COMMA} bag{P "" s} of valuables +STR_QUANTITY_VALUABLES :{COMMA}{NBSP}bag{P "" s} of valuables STR_QUANTITY_COPPER_ORE :{WEIGHT_LONG} of copper ore STR_QUANTITY_MAIZE :{WEIGHT_LONG} of corn STR_QUANTITY_FRUIT :{WEIGHT_LONG} of fruit -STR_QUANTITY_DIAMONDS :{COMMA} bag{P "" s} of diamonds +STR_QUANTITY_DIAMONDS :{COMMA}{NBSP}bag{P "" s} of diamonds STR_QUANTITY_FOOD :{WEIGHT_LONG} of food STR_QUANTITY_PAPER :{WEIGHT_LONG} of paper -STR_QUANTITY_GOLD :{COMMA} bag{P "" s} of gold +STR_QUANTITY_GOLD :{COMMA}{NBSP}bag{P "" s} of gold STR_QUANTITY_WATER :{VOLUME_LONG} of water STR_QUANTITY_WHEAT :{WEIGHT_LONG} of wheat STR_QUANTITY_RUBBER :{VOLUME_LONG} of rubber STR_QUANTITY_SUGAR :{WEIGHT_LONG} of sugar -STR_QUANTITY_TOYS :{COMMA} toy{P "" s} -STR_QUANTITY_SWEETS :{COMMA} bag{P "" s} of lollies +STR_QUANTITY_TOYS :{COMMA}{NBSP}toy{P "" s} +STR_QUANTITY_SWEETS :{COMMA}{NBSP}bag{P "" s} of sweets STR_QUANTITY_COLA :{VOLUME_LONG} of cola STR_QUANTITY_CANDYFLOSS :{WEIGHT_LONG} of fairy floss STR_QUANTITY_BUBBLES :{COMMA} bubble{P "" s} @@ -165,12 +165,12 @@ STR_ABBREV_NONE :{TINY_FONT}NO STR_ABBREV_ALL :{TINY_FONT}ALL # 'Mode' of transport for cargoes -STR_PASSENGERS :{COMMA} passenger{P "" s} -STR_BAGS :{COMMA} bag{P "" s} -STR_TONS :{COMMA} tonne{P "" s} -STR_LITERS :{COMMA} litre{P "" s} -STR_ITEMS :{COMMA} item{P "" s} -STR_CRATES :{COMMA} crate{P "" s} +STR_PASSENGERS :{COMMA}{NBSP}passenger{P "" s} +STR_BAGS :{COMMA}{NBSP}bag{P "" s} +STR_TONS :{COMMA}{NBSP}tonne{P "" s} +STR_LITERS :{COMMA}{NBSP}litre{P "" s} +STR_ITEMS :{COMMA}{NBSP}item{P "" s} +STR_CRATES :{COMMA}{NBSP}crate{P "" s} # Colours, do not shuffle STR_COLOUR_DARK_BLUE :Dark Blue @@ -191,37 +191,37 @@ STR_COLOUR_GREY :Grey STR_COLOUR_WHITE :White # Units used in OpenTTD -STR_UNITS_VELOCITY_IMPERIAL :{COMMA} mph -STR_UNITS_VELOCITY_METRIC :{COMMA} km/h -STR_UNITS_VELOCITY_SI :{COMMA} m/s +STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}mph +STR_UNITS_VELOCITY_METRIC :{COMMA}{NBSP}km/h +STR_UNITS_VELOCITY_SI :{COMMA}{NBSP}m/s -STR_UNITS_POWER_IMPERIAL :{COMMA}hp -STR_UNITS_POWER_METRIC :{COMMA}hp -STR_UNITS_POWER_SI :{COMMA}kW +STR_UNITS_POWER_IMPERIAL :{COMMA}{NBSP}hp +STR_UNITS_POWER_METRIC :{COMMA}{NBSP}hp +STR_UNITS_POWER_SI :{COMMA}{NBSP}kW -STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}t -STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}t -STR_UNITS_WEIGHT_SHORT_SI :{COMMA}kg +STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_SI :{COMMA}{NBSP}kg -STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA} ton{P "" s} -STR_UNITS_WEIGHT_LONG_METRIC :{COMMA} tonne{P "" s} -STR_UNITS_WEIGHT_LONG_SI :{COMMA} kg +STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA}{NBSP}ton{P "" s} +STR_UNITS_WEIGHT_LONG_METRIC :{COMMA}{NBSP}tonne{P "" s} +STR_UNITS_WEIGHT_LONG_SI :{COMMA}{NBSP}kg -STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}gal -STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}l -STR_UNITS_VOLUME_SHORT_SI :{COMMA}m³ +STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}{NBSP}gal +STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}{NBSP}l +STR_UNITS_VOLUME_SHORT_SI :{COMMA}{NBSP}m³ -STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA} gallon{P "" s} -STR_UNITS_VOLUME_LONG_METRIC :{COMMA} litre{P "" s} -STR_UNITS_VOLUME_LONG_SI :{COMMA} m³ +STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA}{NBSP}gallon{P "" s} +STR_UNITS_VOLUME_LONG_METRIC :{COMMA}{NBSP}litre{P "" s} +STR_UNITS_VOLUME_LONG_SI :{COMMA}{NBSP}m³ -STR_UNITS_FORCE_IMPERIAL :{COMMA} lbf -STR_UNITS_FORCE_METRIC :{COMMA} kgf -STR_UNITS_FORCE_SI :{COMMA} kN +STR_UNITS_FORCE_IMPERIAL :{COMMA}{NBSP}lbf +STR_UNITS_FORCE_METRIC :{COMMA}{NBSP}kgf +STR_UNITS_FORCE_SI :{COMMA}{NBSP}kN -STR_UNITS_HEIGHT_IMPERIAL :{COMMA} ft -STR_UNITS_HEIGHT_METRIC :{COMMA} m -STR_UNITS_HEIGHT_SI :{COMMA} m +STR_UNITS_HEIGHT_IMPERIAL :{COMMA}{NBSP}ft +STR_UNITS_HEIGHT_METRIC :{COMMA}{NBSP}m +STR_UNITS_HEIGHT_SI :{COMMA}{NBSP}m # Common window strings STR_LIST_FILTER_TITLE :{BLACK}Filter string: @@ -248,6 +248,9 @@ STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Scroll b STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Scroll bar - scrolls list left/right STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Demolish buildings etc. on a square of land. Ctrl selects the area diagonally. Shift toggles building/showing cost estimate +# Show engines button + + # Query window STR_BUTTON_DEFAULT :{BLACK}Default STR_BUTTON_CANCEL :{BLACK}Cancel @@ -361,7 +364,6 @@ STR_SCENEDIT_FILE_MENU_QUIT :Exit ############ range for settings menu starts STR_SETTINGS_MENU_GAME_OPTIONS :Game options -STR_SETTINGS_MENU_CONFIG_SETTINGS :Advanced settings STR_SETTINGS_MENU_SCRIPT_SETTINGS :AI/Game script settings STR_SETTINGS_MENU_NEWGRF_SETTINGS :NewGRF settings STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Transparency options @@ -470,7 +472,7 @@ STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Toggle bounding STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Toggle colouring of dirty blocks ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window STR_ORDINAL_NUMBER_1ST :1st STR_ORDINAL_NUMBER_2ND :2nd STR_ORDINAL_NUMBER_3RD :3rd @@ -486,22 +488,40 @@ STR_ORDINAL_NUMBER_12TH :12th STR_ORDINAL_NUMBER_13TH :13th STR_ORDINAL_NUMBER_14TH :14th STR_ORDINAL_NUMBER_15TH :15th -STR_ORDINAL_NUMBER_16TH :16th -STR_ORDINAL_NUMBER_17TH :17th -STR_ORDINAL_NUMBER_18TH :18th -STR_ORDINAL_NUMBER_19TH :19th -STR_ORDINAL_NUMBER_20TH :20th -STR_ORDINAL_NUMBER_21ST :21st -STR_ORDINAL_NUMBER_22ND :22nd -STR_ORDINAL_NUMBER_23RD :23rd -STR_ORDINAL_NUMBER_24TH :24th -STR_ORDINAL_NUMBER_25TH :25th -STR_ORDINAL_NUMBER_26TH :26th -STR_ORDINAL_NUMBER_27TH :27th -STR_ORDINAL_NUMBER_28TH :28th -STR_ORDINAL_NUMBER_29TH :29th -STR_ORDINAL_NUMBER_30TH :30th -STR_ORDINAL_NUMBER_31ST :31st +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :1st +STR_DAY_NUMBER_2ND :2nd +STR_DAY_NUMBER_3RD :3rd +STR_DAY_NUMBER_4TH :4th +STR_DAY_NUMBER_5TH :5th +STR_DAY_NUMBER_6TH :6th +STR_DAY_NUMBER_7TH :7th +STR_DAY_NUMBER_8TH :8th +STR_DAY_NUMBER_9TH :9th +STR_DAY_NUMBER_10TH :10th +STR_DAY_NUMBER_11TH :11th +STR_DAY_NUMBER_12TH :12th +STR_DAY_NUMBER_13TH :13th +STR_DAY_NUMBER_14TH :14th +STR_DAY_NUMBER_15TH :15th +STR_DAY_NUMBER_16TH :16th +STR_DAY_NUMBER_17TH :17th +STR_DAY_NUMBER_18TH :18th +STR_DAY_NUMBER_19TH :19th +STR_DAY_NUMBER_20TH :20th +STR_DAY_NUMBER_21ST :21st +STR_DAY_NUMBER_22ND :22nd +STR_DAY_NUMBER_23RD :23rd +STR_DAY_NUMBER_24TH :24th +STR_DAY_NUMBER_25TH :25th +STR_DAY_NUMBER_26TH :26th +STR_DAY_NUMBER_27TH :27th +STR_DAY_NUMBER_28TH :28th +STR_DAY_NUMBER_29TH :29th +STR_DAY_NUMBER_30TH :30th +STR_DAY_NUMBER_31ST :31st ############ range for days ends ############ range for months starts @@ -810,13 +830,12 @@ STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}{VEHICLE STR_NEWS_SHIP_IS_WAITING :{WHITE}{VEHICLE} is waiting in depot STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE} is waiting in the aircraft hangar -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE +# Order review system / warnings STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE} has too few orders in the schedule STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE} has a void order STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE} has duplicate orders STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE} has an invalid station in its orders -# end of order system +STR_NEWS_PLANE_USES_TOO_SHORT_RUNWAY :{WHITE}{VEHICLE} has in its orders an airport whose runway is too short STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} is getting old STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} is getting very old @@ -899,10 +918,6 @@ STR_GAME_OPTIONS_CURRENCY_GEL :Georgian Lari ( STR_GAME_OPTIONS_CURRENCY_IRR :Iranian Rial (IRR) ############ end of currency region - -############ start of measuring units region -############ end of measuring units region - STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Road vehicles STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}Select side of road for vehicles to drive on STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :Drive on left @@ -938,11 +953,13 @@ STR_GAME_OPTIONS_TOWN_NAME_CATALAN :Catalan STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Autosave STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Select interval between automatic game saves +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Off STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :Every month STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :Every 3 months STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :Every 6 months STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :Every 12 months +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}Language STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Select the interface language to use @@ -954,8 +971,7 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}Screen r STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Select the screen resolution to use STR_GAME_OPTIONS_RESOLUTION_OTHER :other -STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}Screenshot format -STR_GAME_OPTIONS_SCREENSHOT_FORMAT_TOOLTIP :{BLACK}Select the screenshot format to use + STR_GAME_OPTIONS_BASE_GRF :{BLACK}Base graphics set STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Select the base graphics set to use @@ -971,6 +987,7 @@ STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Select t STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} corrupted file{P "" s} STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Additional information about the base music set +STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Failed to retrieve a list of supported resolutions STR_ERROR_FULLSCREEN_FAILED :{WHITE}Fullscreen mode failed # Custom currency window @@ -1056,8 +1073,7 @@ STR_CITY_APPROVAL_HOSTILE :Hostile STR_WARNING_NO_SUITABLE_AI :{WHITE}No suitable AIs available...{}You can download several AIs via the 'Online Content' system -# Advanced settings window -STR_CONFIG_SETTING_CAPTION :{WHITE}Advanced Settings +# Settings tree window STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Filter string: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Expand all STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Collapse all @@ -1072,7 +1088,7 @@ STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :Company setting STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK}Category: STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}Type: -STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Restricts the list below showing only changed settings +STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Restricts the list below using predefined filters STR_CONFIG_SETTING_RESTRICT_BASIC :Basic settings STR_CONFIG_SETTING_RESTRICT_ADVANCED :Advanced settings STR_CONFIG_SETTING_RESTRICT_ALL :Expert settings / all settings @@ -1081,11 +1097,11 @@ STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :Settings with a STR_CONFIG_SETTING_TYPE_DROPDOWN_HELPTEXT :{BLACK}Restricts the list below to certain setting types STR_CONFIG_SETTING_TYPE_DROPDOWN_ALL :All setting types -STR_CONFIG_SETTING_TYPE_DROPDOWN_CLIENT :Client settings (not stored in saves; affects all games) -STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :Game settings (stored in saves; only affects new games) -STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :Game settings (stored in save; only affects current game) -STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :Company settings (stored in saves; only affects new games) -STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :Company settings (stored in save; only affects current company) +STR_CONFIG_SETTING_TYPE_DROPDOWN_CLIENT :Client settings (not stored in saves; affect all games) +STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :Game settings (stored in saves; affect only new games) +STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :Game settings (stored in save; affect only current game) +STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :Company settings (stored in saves; affect only new games) +STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :Company settings (stored in save; affect only current company) STR_CONFIG_SETTING_CATEGORY_HIDES :{BLACK}Show all search results by setting{}{SILVER}Category {BLACK}to {WHITE}{STRING} STR_CONFIG_SETTING_TYPE_HIDES :{BLACK}Show all search results by setting{}{SILVER}Type {BLACK}to {WHITE}All setting types STR_CONFIG_SETTING_CATEGORY_AND_TYPE_HIDES :{BLACK}Show all search results by setting{}{SILVER}Category {BLACK}to {WHITE}{STRING} {BLACK}and {SILVER}Type {BLACK}to {WHITE}All setting types @@ -1127,12 +1143,10 @@ STR_CONFIG_SETTING_TRAIN_REVERSING :Disallow train STR_CONFIG_SETTING_TRAIN_REVERSING_HELPTEXT :If enabled, trains will not reverse in non-terminus stations, even if there is a shorter path to their next destination when reversing STR_CONFIG_SETTING_DISASTERS :Disasters: {STRING} STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Toggle disasters which may occasionally block or destroy vehicles or infrastructure -STR_CONFIG_SETTING_CITY_APPROVAL :City council's attitude towards area restructuring: {STRING} +STR_CONFIG_SETTING_CITY_APPROVAL :Town council's attitude towards area restructuring: {STRING} STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Choose how much noise and environmental damage by companies affect their town rating and further construction actions in their area -STR_CONFIG_SETTING_BUILDONSLOPES :Allow building on slopes and coasts: {STRING} -STR_CONFIG_SETTING_BUILDONSLOPES_HELPTEXT :If enabled, tracks and stations can be built on most slopes. If disabled, they are only allowed on slopes which match the direction of the track and thus require no foundations -STR_CONFIG_SETTING_AUTOSLOPE :Allow landscaping under buildings, tracks, etc. (autoslope): {STRING} +STR_CONFIG_SETTING_AUTOSLOPE :Allow landscaping under buildings, tracks, etc.: {STRING} STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Allow landscaping under buildings and tracks without removing them STR_CONFIG_SETTING_CATCHMENT :Allow more realistically sized catchment areas: {STRING} STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Have differently sized catchment areas for different types of stations and airports @@ -1156,14 +1170,8 @@ STR_CONFIG_SETTING_FORBID_90_DEG :Forbid trains a STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90 degree turns occur when a horizontal track is directly followed by a vertical track piece on the adjacent tile, thus making the train turn by 90 degree when traversing the tile edge instead of the usual 45 degrees for other track combinations. This also applies to the turning radius of ships STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Allow to join stations not directly adjacent: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Allow adding parts to a station without directly touching the existing parts. Needs Ctrl+Click while placing the new parts -STR_CONFIG_SETTING_IMPROVEDLOAD :Use improved loading algorithm: {STRING} -STR_CONFIG_SETTING_IMPROVEDLOAD_HELPTEXT :If enabled, multiple vehicles waiting at a station are loaded sequentially. Loading of the next vehicle only starts when there is enough cargo waiting to completely fill the first vehicle -STR_CONFIG_SETTING_GRADUAL_LOADING :Load vehicles gradually: {STRING} -STR_CONFIG_SETTING_GRADUAL_LOADING_HELPTEXT :Gradually load vehicles using vehicle specific loading durations, instead of loading everything at once with a fixed time depending only on the amount of cargo loaded STR_CONFIG_SETTING_INFLATION :Inflation: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :Enable inflation in the economy, where costs are rising slightly faster than payments -STR_CONFIG_SETTING_SELECTGOODS :Deliver cargo to a station only when there is a demand: {STRING} -STR_CONFIG_SETTING_SELECTGOODS_HELPTEXT :Only deliver cargo to a station that was requested from a loading vehicle. This prevents bad ratings for cargoes that are not serviced at a station STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Maximum bridge length: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Maximum length for building bridges STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Maximum tunnel length: {STRING} @@ -1191,8 +1199,6 @@ STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Place where a t STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :near end STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :middle STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :far end -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING :Road vehicle queueing (with quantum effects): {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING_HELPTEXT :Make road vehicle wait in front of occupied road stops until they are cleared STR_CONFIG_SETTING_AUTOSCROLL :Pan window when mouse is at the edge: {STRING} STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :When enabled, viewports will start to scroll when the mouse is near the edge of the window STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Disabled @@ -1223,10 +1229,6 @@ STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Allow drive-thr STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Allow construction of drive-through road stops on town-owned roads STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Allow drive-through road stops on roads owned by competitors: {STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Allow construction of drive-through road stops on roads owned by other companies -STR_CONFIG_SETTING_ADJACENT_STATIONS :Allow building adjacent stations: {STRING} -STR_CONFIG_SETTING_ADJACENT_STATIONS_HELPTEXT :Allow different stations to touch each other -STR_CONFIG_SETTING_DYNAMIC_ENGINES :Enable multiple NewGRF engine sets: {STRING} -STR_CONFIG_SETTING_DYNAMIC_ENGINES_HELPTEXT :Compatibility option for old NewGRFs. Do not disable this, unless you know exactly what you are doing! STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Changing this setting is not possible when there are vehicles STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Infrastructure maintenance: {STRING} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :When enabled, infrastructure causes maintenance costs. The cost grows in proportion to the network size, thus affecting larger companies more than smaller ones @@ -1247,7 +1249,7 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Vehicles never STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :When enabled, all vehicle models remain available forever after their introduction STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Autorenew vehicle when it gets old: {STRING} STR_CONFIG_SETTING_AUTORENEW_VEHICLE_HELPTEXT :When enabled, a vehicle nearing its end of life gets replaced automatically when the renew conditions are fulfilled -STR_CONFIG_SETTING_AUTORENEW_MONTHS :Autorenew when vehicle is {STRING} max age +STR_CONFIG_SETTING_AUTORENEW_MONTHS :Autorenew when vehicle is {STRING} maximum age STR_CONFIG_SETTING_AUTORENEW_MONTHS_HELPTEXT :Relative age when a vehicle should be considered for auto-renewing STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_BEFORE :{COMMA} month{P 0 "" s} before STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_AFTER :{COMMA} month{P 0 "" s} after @@ -1265,31 +1267,45 @@ STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Display the pop STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Thickness of lines in graphs: {STRING} STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Width of the line in the graphs. A thin line is more precisely readable, a thicker line is easier to see and colours are easier to distinguish +STR_CONFIG_SETTING_LANDSCAPE :Landscape: {STRING} +STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Landscapes define basic gameplay scenarios with different cargos and town growth requirements. NewGRF and Game Scripts allow finer control though STR_CONFIG_SETTING_LAND_GENERATOR :Land generator: {STRING} +STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :The original generator depends on the base graphics set, and composes fixed landscape shapes. TerraGenesis is a Perlin noise based generator with finer control settings STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Original STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis -STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Max distance from edge for Oil Refineries: {STRING} +STR_CONFIG_SETTING_TERRAIN_TYPE :Terrain type: {STRING} +STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(TerraGenesis only) Hilliness of the landscape +STR_CONFIG_SETTING_INDUSTRY_DENSITY :Industry density: {STRING} +STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Set how many industries should be generated and what level should be maintained during the game +STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Maximum distance from edge for Oil refineries: {STRING} STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Oil refineries are only constructed near the map border, that is at the coast for island maps STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Snow line height: {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Roughness of terrain (TerraGenesis only) : {STRING} +STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Control at what height snow starts in sub-arctic landscape. Snow also affects industry generation and town growth requirements +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Roughness of terrain: {STRING} +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(TerraGenesis only) Choose the frequency of hills: Smooth landscapes have fewer, more wide-spread hills. Rough landscapes have many hills, which may look repetitive STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Very Smooth STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Smooth STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Rough STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Very Rough +STR_CONFIG_SETTING_VARIETY :Variety distribution: {STRING} +STR_CONFIG_SETTING_VARIETY_HELPTEXT :(TerraGenesis only) Control whether the map contains both mountainous and flat areas. Since this only makes the map flatter, other settings should be set to mountainous +STR_CONFIG_SETTING_RIVER_AMOUNT :River amount: {STRING} +STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Choose how many rivers to generate STR_CONFIG_SETTING_TREE_PLACER :Tree placer algorithm: {STRING} +STR_CONFIG_SETTING_TREE_PLACER_HELPTEXT :Choose the distribution of trees on the map: 'Original' plants trees uniformly scattered, 'Improved' plants them in groups STR_CONFIG_SETTING_TREE_PLACER_NONE :None STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :Original STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :Improved +STR_CONFIG_SETTING_ROAD_SIDE :Road vehicles: {STRING} +STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :Choose the driving side STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Heightmap rotation: {STRING} STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Counter clockwise STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Clockwise STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :The height level a flat scenario map gets: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :Enable landscaping the tiles at the map borders: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES_HELPTEXT :If disabled, the map borders will always be ocean STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}One or more tiles at the northern edge are not empty STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}One or more tiles at one of the edges is not water -STR_CONFIG_SETTING_STATION_SPREAD :Max station spread: {STRING} +STR_CONFIG_SETTING_STATION_SPREAD :Maximum station spread: {STRING} STR_CONFIG_SETTING_STATION_SPREAD_HELPTEXT :Maximum area which parts of a single station may be spread out over. Note that high values will slow the game STR_CONFIG_SETTING_SERVICEATHELIPAD :Service helicopters at helipads automatically: {STRING} STR_CONFIG_SETTING_SERVICEATHELIPAD_HELPTEXT :Service helicopters after every landing, even if there is no depot at the airport @@ -1306,7 +1322,7 @@ STR_CONFIG_SETTING_SMOOTH_SCROLLING :Smooth viewport STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Control how the main view scrolls to a specific position when clicking on the smallmap or when issuing a command to scroll to a specific object on the map. If enabled, the viewport scrolls smoothly, if disabled it jumps directly to the targeted spot STR_CONFIG_SETTING_MEASURE_TOOLTIP :Show a measurement tooltip when using various build-tools: {STRING} STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT :Display tile-distances and height differences when dragging during construction operations -STR_CONFIG_SETTING_LIVERIES :Show company liveries: {STRING} +STR_CONFIG_SETTING_LIVERIES :Show vehicle-type specific liveries: {STRING} STR_CONFIG_SETTING_LIVERIES_HELPTEXT :Control usage of vehicle-type specific liveries for vehicles (in contrary to company specific) STR_CONFIG_SETTING_LIVERIES_NONE :None STR_CONFIG_SETTING_LIVERIES_OWN :Own company @@ -1336,17 +1352,15 @@ 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_AUTOSAVE :Autosave: {STRING} +STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Select interval between automatic game saves + STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Use the {STRING} date format for savegame names STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Format of the date in save game filenames STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :long (31st Dec 2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :short (31-12-2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE :Default palette to assume for NewGRFs not specifying a palette: {STRING} -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_HELPTEXT :Default palette to use for NewGRFs that do not specify which one they need -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_DOS :Default (D) palette -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_WIN :Legacy (W) palette - STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Automatically pause when starting a new game: {STRING} STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :When enabled, the game will automatically pause when starting a new game, allowing for closer study of the map STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :When paused allow: {STRING} @@ -1355,7 +1369,7 @@ STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :No actions STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :All non-construction actions STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :All but landscape modifying actions STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_ACTIONS :All actions -STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Use the advanced vehicle list: {STRING} +STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Use groups in vehicle list: {STRING} STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Enable usage of the advanced vehicle lists for grouping vehicles STR_CONFIG_SETTING_LOADING_INDICATORS :Use loading indicators: {STRING} STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Select whether loading indicators are displayed above loading or unloading vehicles @@ -1370,7 +1384,7 @@ STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_HELPTEXT :Rail type to se STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_FIRST :First available STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_LAST :Last available STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_MOST_USED :Most used -STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :Show reserved tracks: {STRING} +STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :Show path reservations for tracks: {STRING} STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION_HELPTEXT :Give reserved tracks a different colour to assist in problems with trains refusing to enter path-based blocks STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Keep building tools active after usage: {STRING} STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Keep the building tools for bridges, tunnels, etc. open after use @@ -1396,13 +1410,13 @@ STR_CONFIG_SETTING_SOUND_AMBIENT_HELPTEXT :Play ambient so STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING :Disable infrastructure building when no suitable vehicles are available: {STRING} STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING_HELPTEXT :When enabled, infrastructure is only available if there are also vehicles available, preventing waste of time and money on unusable infrastructure -STR_CONFIG_SETTING_MAX_TRAINS :Max trains per company: {STRING} +STR_CONFIG_SETTING_MAX_TRAINS :Maximum number of trains per company: {STRING} STR_CONFIG_SETTING_MAX_TRAINS_HELPTEXT :Maximum number of trains that a company can have -STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :Max road vehicles per company: {STRING} +STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :Maximum number of road vehicles per company: {STRING} STR_CONFIG_SETTING_MAX_ROAD_VEHICLES_HELPTEXT :Maximum number of road vehicles that a company can have -STR_CONFIG_SETTING_MAX_AIRCRAFT :Max aircraft per company: {STRING} +STR_CONFIG_SETTING_MAX_AIRCRAFT :Maximum number of aircraft per company: {STRING} STR_CONFIG_SETTING_MAX_AIRCRAFT_HELPTEXT :Maximum number of aircraft that a company can have -STR_CONFIG_SETTING_MAX_SHIPS :Max ships per company: {STRING} +STR_CONFIG_SETTING_MAX_SHIPS :Maximum number of ships per company: {STRING} STR_CONFIG_SETTING_MAX_SHIPS_HELPTEXT :Maximum number of ships that a company can have STR_CONFIG_SETTING_AI_BUILDS_TRAINS :Disable trains for computer: {STRING} @@ -1429,7 +1443,7 @@ STR_CONFIG_SETTING_SERVINT_ISPERCENT :Service interva STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Choose whether servicing of vehicles is triggered by the time passed since last service or by reliability dropping by a certain percentage of the maximum reliability STR_CONFIG_SETTING_SERVINT_TRAINS :Default service interval for trains: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Set the default service interval for new rail vehicles, if no explicit service interval is set for the vehicle -STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA} day{P 0 "" s}/% +STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}day{P 0 "" s}/% STR_CONFIG_SETTING_SERVINT_DISABLED :Disabled STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES :Default service interval for road vehicles: {STRING} STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES_HELPTEXT :Set the default service interval for new road vehicles, if no explicit service interval is set for the vehicle @@ -1520,7 +1534,7 @@ STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT :Allow towns to STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :Towns are allowed to build level crossings: {STRING} STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Enabling this setting allows towns to build level crossings STR_CONFIG_SETTING_NOISE_LEVEL :Allow town controlled noise level for airports: {STRING} -STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :With this setting disabled, there can be two airports in each town. With this setting enabled, the number of airports in a city is limited by the noise acceptance of the town, which depends on population and airport size and distance +STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :With this setting disabled, there can be two airports in each town. With this setting enabled, the number of airports in a town is limited by the noise acceptance of the town, which depends on population and airport size and distance STR_CONFIG_SETTING_TOWN_FOUNDING :Founding towns in game: {STRING} STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Enabling this setting allows players to found new towns in the game STR_CONFIG_SETTING_TOWN_FOUNDING_FORBIDDEN :Forbidden @@ -1568,12 +1582,10 @@ STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 in {COMMA} STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :None STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Initial city size multiplier: {STRING} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Average size of cities relative to normal towns at start of the game -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :Remove absurd road-elements during the road construction: {STRING} -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD_HELPTEXT :Remove dead road ends during funded road reconstruction -STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Update distribution graph every {STRING} day{P 0:2 "" s} +STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Update distribution graph every {STRING}{NBSP}day{P 0:2 "" s} STR_CONFIG_SETTING_LINKGRAPH_INTERVAL_HELPTEXT :Time between subsequent recalculations of the link graph. Each recalculation calculates the plans for one component of the graph. That means that a value X for this setting does not mean the whole graph will be updated every X days. Only some component will. The shorter you set it the more CPU time will be necessary to calculate it. The longer you set it the longer it will take until the cargo distribution starts on new routes. -STR_CONFIG_SETTING_LINKGRAPH_TIME :Take {STRING} day{P 0:2 "" s} for recalculation of distribution graph +STR_CONFIG_SETTING_LINKGRAPH_TIME :Take {STRING}{NBSP}day{P 0:2 "" s} for recalculation of distribution graph STR_CONFIG_SETTING_LINKGRAPH_TIME_HELPTEXT :Time taken for each recalculation of a link graph component. When a recalculation is started, a thread is spawned which is allowed to run for this number of days. The shorter you set this the more likely it is that the thread is not finished when it's supposed to. Then the game stops until it is ("lag"). The longer you set it the longer it takes for the distribution to be updated when routes change. STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :manual STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :asymmetric @@ -1631,27 +1643,29 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :Imperial (ft) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :Metric (m) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :SI (m) -STR_CONFIG_SETTING_GUI :{ORANGE}Interface STR_CONFIG_SETTING_LOCALISATION :{ORANGE}Localisation -STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}Construction +STR_CONFIG_SETTING_GRAPHICS :{ORANGE}Graphics +STR_CONFIG_SETTING_SOUND :{ORANGE}Sound +STR_CONFIG_SETTING_INTERFACE :{ORANGE}Interface +STR_CONFIG_SETTING_INTERFACE_GENERAL :{ORANGE}General +STR_CONFIG_SETTING_INTERFACE_VIEWPORTS :{ORANGE}Viewports +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Construction +STR_CONFIG_SETTING_ADVISORS :{ORANGE}News / Advisors +STR_CONFIG_SETTING_COMPANY :{ORANGE}Company +STR_CONFIG_SETTING_ACCOUNTING :{ORANGE}Accounting STR_CONFIG_SETTING_VEHICLES :{ORANGE}Vehicles -STR_CONFIG_SETTING_STATIONS :{ORANGE}Stations -STR_CONFIG_SETTING_ECONOMY :{ORANGE}Economy -STR_CONFIG_SETTING_LINKGRAPH :{ORANGE}Cargo Distribution -STR_CONFIG_SETTING_AI :{ORANGE}Competitors -STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}Display options -STR_CONFIG_SETTING_INTERACTION :{ORANGE}Interaction -STR_CONFIG_SETTING_SOUND :{ORANGE}Sound effects -STR_CONFIG_SETTING_NEWS :{ORANGE}News and messages -STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}Signals -STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE}Cargo handling -STR_CONFIG_SETTING_AI_NPC :{ORANGE}Computer players -STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE}Autorenew -STR_CONFIG_SETTING_VEHICLES_SERVICING :{ORANGE}Servicing +STR_CONFIG_SETTING_VEHICLES_PHYSICS :{ORANGE}Physics STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Routing -STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}Trains -STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}Towns -STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}Industries +STR_CONFIG_SETTING_LIMITATIONS :{ORANGE}Limitations +STR_CONFIG_SETTING_ACCIDENTS :{ORANGE}Disasters / Accidents +STR_CONFIG_SETTING_GENWORLD :{ORANGE}World generation +STR_CONFIG_SETTING_ENVIRONMENT :{ORANGE}Environment +STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :{ORANGE}Authorities +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Towns +STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}Industries +STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :{ORANGE}Cargo distribution +STR_CONFIG_SETTING_AI :{ORANGE}Competitors +STR_CONFIG_SETTING_AI_NPC :{ORANGE}Computer players STR_CONFIG_SETTING_PATHFINDER_OPF :Original STR_CONFIG_SETTING_PATHFINDER_NPF :NPF @@ -1700,7 +1714,6 @@ STR_INTRO_MULTIPLAYER :{BLACK}Multipla STR_INTRO_GAME_OPTIONS :{BLACK}Game Options STR_INTRO_HIGHSCORE :{BLACK}Highscore Table -STR_INTRO_ADVANCED_SETTINGS :{BLACK}Advanced Settings STR_INTRO_NEWGRF_SETTINGS :{BLACK}NewGRF Settings STR_INTRO_ONLINE_CONTENT :{BLACK}Check Online Content STR_INTRO_SCRIPT_SETTINGS :{BLACK}AI/Game Script Settings @@ -1720,7 +1733,6 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Select ' STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Display game options STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Display highscore table -STR_INTRO_TOOLTIP_ADVANCED_SETTINGS :{BLACK}Display advanced settings STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Display NewGRF settings STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Check for new and updated content to download STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Display AI/Game script settings @@ -1808,6 +1820,7 @@ STR_LIVERY_FREIGHT_TRAM :Freight Tram STR_FACE_CAPTION :{WHITE}Face Selection STR_FACE_CANCEL_TOOLTIP :{BLACK}Cancel new face selection STR_FACE_OK_TOOLTIP :{BLACK}Accept new face selection +STR_FACE_RANDOM :{BLACK}Randomise STR_FACE_MALE_BUTTON :{BLACK}Male STR_FACE_MALE_TOOLTIP :{BLACK}Select male faces @@ -1928,13 +1941,13 @@ STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}Protect STR_NETWORK_START_SERVER_UNADVERTISED :No STR_NETWORK_START_SERVER_ADVERTISED :Yes STR_NETWORK_START_SERVER_CLIENTS_SELECT :{BLACK}{NUM} client{P "" s} -STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Max clients: +STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Maximum number of clients: STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS_TOOLTIP :{BLACK}Choose the maximum number of clients. Not all slots need to be filled STR_NETWORK_START_SERVER_COMPANIES_SELECT :{BLACK}{NUM} compan{P y ies} -STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}Max companies: +STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}Maximum number of companies: STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES_TOOLTIP :{BLACK}Limit the server to a certain amount of companies STR_NETWORK_START_SERVER_SPECTATORS_SELECT :{BLACK}{NUM} spectator{P "" s} -STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS :{BLACK}Max spectators: +STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS :{BLACK}Maximum number of spectators: STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS_TOOLTIP :{BLACK}Limit the server to a certain amount of spectators STR_NETWORK_START_SERVER_LANGUAGE_SPOKEN :{BLACK}Language spoken: STR_NETWORK_START_SERVER_LANGUAGE_TOOLTIP :{BLACK}Other players will know which language is spoken on the server @@ -2649,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-2014 The OpenTTD team +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 The OpenTTD team # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Save Game @@ -2687,10 +2700,6 @@ STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}No. of i STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}Snow line height: STR_MAPGEN_SNOW_LINE_UP :{BLACK}Move the snow line height one up STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}Move the snow line height one down -STR_MAPGEN_RANDOM_SEED :{BLACK}Random seed: -STR_MAPGEN_RANDOM_SEED_HELP :{BLACK}Click to enter a random seed -STR_MAPGEN_RANDOM :{BLACK}Randomise -STR_MAPGEN_RANDOM_HELP :{BLACK}Change the random seed used for Terrain Generation STR_MAPGEN_LAND_GENERATOR :{BLACK}Land generator: STR_MAPGEN_TREE_PLACER :{BLACK}Tree algorithm: STR_MAPGEN_TERRAIN_TYPE :{BLACK}Terrain type: @@ -2717,7 +2726,6 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Heightma STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Size: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} -STR_MAPGEN_RANDOM_SEED_OSKTITLE :{BLACK}Enter a random seed STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}Change snow line height STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Change starting year @@ -2772,6 +2780,8 @@ STR_NEWGRF_SETTINGS_MOVEUP :{BLACK}Move Up STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP :{BLACK}Move the selected NewGRF file up the list STR_NEWGRF_SETTINGS_MOVEDOWN :{BLACK}Move Down STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP :{BLACK}Move the selected NewGRF file down the list +STR_NEWGRF_SETTINGS_UPGRADE :{BLACK}Upgrade +STR_NEWGRF_SETTINGS_UPGRADE_TOOLTIP :{BLACK}Upgrade NewGRF files for which you have a newer version installed STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}A list of the NewGRF files that are installed STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}Set parameters @@ -2796,6 +2806,16 @@ STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Matching f STR_NEWGRF_SETTINGS_DISABLED :{RED}Disabled STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Incompatible with this version of OpenTTD +# NewGRF save preset window +STR_SAVE_PRESET_CAPTION :{WHITE}Save preset +STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK}List of available presets, select one to copy it to the save name below +STR_SAVE_PRESET_TITLE :{BLACK}Enter a name for the preset +STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}Currently selected name for the preset to save +STR_SAVE_PRESET_CANCEL :{BLACK}Cancel +STR_SAVE_PRESET_CANCEL_TOOLTIP :{BLACK}Don't change the preset +STR_SAVE_PRESET_SAVE :{BLACK}Save +STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}Save the preset to the current selected name + # NewGRF parameters window STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Change NewGRF parameters STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Close @@ -2826,7 +2846,6 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Previous STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Proceed to the previous normal sprite, skipping any pseudo/recolour/font sprites and wrapping around at the begin STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Representation of the currently selected sprite. The alignment is ignored when drawing this sprite STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Move the sprite around, changing the X and Y offsets -STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X offset: {NUM}, Y offset: {NUM} STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Pick sprite STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Pick a sprite from anywhere on the screen @@ -2938,8 +2957,8 @@ STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} delivered STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (still required) STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (delivered) -STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Town grows every {ORANGE}{COMMA}{BLACK} day{P "" s} -STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Town grows every {ORANGE}{COMMA}{BLACK} day{P "" s} (funded) +STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Town grows every {ORANGE}{COMMA}{BLACK}{NBSP}day{P "" s} +STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Town grows every {ORANGE}{COMMA}{BLACK}{NBSP}day{P "" s} (funded) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}Town is {RED}not{BLACK} growing STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Noise limit in town: {ORANGE}{COMMA}{BLACK} max: {ORANGE}{COMMA} STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Centre the main view on town location. Ctrl+Click opens a new viewport on town location @@ -2999,7 +3018,7 @@ STR_GOAL_QUESTION_CAPTION_INFORMATION :Information STR_GOAL_QUESTION_CAPTION_WARNING :Warning STR_GOAL_QUESTION_CAPTION_ERROR :Error -### Start of Goal Question button list +############ Start of Goal Question button list STR_GOAL_QUESTION_BUTTON_CANCEL :Cancel STR_GOAL_QUESTION_BUTTON_OK :Ok STR_GOAL_QUESTION_BUTTON_NO :No @@ -3018,6 +3037,7 @@ STR_GOAL_QUESTION_BUTTON_RESTART :Restart STR_GOAL_QUESTION_BUTTON_POSTPONE :Postpone STR_GOAL_QUESTION_BUTTON_SURRENDER :Surrender STR_GOAL_QUESTION_BUTTON_CLOSE :Close +############ End of Goal Question button list # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}Subsidies @@ -3053,7 +3073,6 @@ STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}No cargo # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} -STR_STATION_VIEW_WAITING_TITLE :{BLACK}Waiting: {WHITE}{STRING} STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} from {STATION}) STR_STATION_VIEW_RESERVED :{YELLOW}({CARGO_SHORT} reserved for loading) @@ -3148,7 +3167,7 @@ STR_FINANCES_POSITIVE_INCOME :{BLACK}+{CURREN STR_FINANCES_TOTAL_CAPTION :{WHITE}Total: STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}Bank Balance STR_FINANCES_LOAN_TITLE :{WHITE}Loan -STR_FINANCES_MAX_LOAN :{WHITE}Max Loan: {BLACK}{CURRENCY_LONG} +STR_FINANCES_MAX_LOAN :{WHITE}Maximum Loan: {BLACK}{CURRENCY_LONG} STR_FINANCES_TOTAL_CURRENCY :{BLACK}{CURRENCY_LONG} STR_FINANCES_BORROW_BUTTON :{BLACK}Borrow {CURRENCY_LONG} STR_FINANCES_BORROW_TOOLTIP :{BLACK}Increase size of loan. Ctrl+Click borrows as much as possible @@ -3368,6 +3387,9 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Rename r STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Rename ship type STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Rename aircraft type + + + STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}Rename train vehicle type STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}Rename road vehicle type STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}Rename ship type @@ -3472,6 +3494,7 @@ STR_REPLACE_VEHICLE_ROAD_VEHICLE :Road Vehicle STR_REPLACE_VEHICLE_SHIP :Ship STR_REPLACE_VEHICLE_AIRCRAFT :Aircraft + STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Select the engine type to replace STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Select the new engine type you would like to use in place of the left selected engine type @@ -3596,7 +3619,7 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Capacity STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Transfer Credits: {LTBLUE}{CURRENCY_LONG} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Servicing interval: {LTBLUE}{COMMA}days{BLACK} Last service: {LTBLUE}{DATE_LONG} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Servicing interval: {LTBLUE}{COMMA}{NBSP}days{BLACK} Last service: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Servicing interval: {LTBLUE}{COMMA}%{BLACK} Last service: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Increase servicing interval by 10. Ctrl+Click increases servicing interval by 5 STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Decrease servicing interval by 10. Ctrl+Click decreases servicing interval by 5 @@ -3694,8 +3717,8 @@ STR_ORDER_TOOLTIP_UNLOAD :{BLACK}Change t STR_ORDER_REFIT :{BLACK}Refit STR_ORDER_REFIT_TOOLTIP :{BLACK}Select what cargo type to refit to in this order. Ctrl+Click to remove refit instruction -STR_ORDER_REFIT_AUTO :{BLACK}Auto-refit -STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Select what cargo type to auto-refit to in this order. Ctrl+Click to remove refit instruction. Auto-refitting will only be done if the vehicle allows it +STR_ORDER_REFIT_AUTO :{BLACK}Refit at station +STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Select what cargo type to refit to in this order. Ctrl+Click to remove refit instruction. Refitting at stations will only be done if the vehicle allows it STR_ORDER_DROP_REFIT_AUTO :Fixed cargo STR_ORDER_DROP_REFIT_AUTO_ANY :Available cargo @@ -3786,18 +3809,18 @@ STR_ORDER_NO_UNLOAD_FULL_LOAD :(No unloading a STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY :(No unloading and wait for any full load) STR_ORDER_NO_UNLOAD_NO_LOAD :(No unloading and no loading) -STR_ORDER_AUTO_REFIT :(Auto-refit to {STRING}) -STR_ORDER_FULL_LOAD_REFIT :(Full load with auto-refit to {STRING}) -STR_ORDER_FULL_LOAD_ANY_REFIT :(Full load any cargo with auto-refit to {STRING}) -STR_ORDER_UNLOAD_REFIT :(Unload and take cargo with auto-refit to {STRING}) -STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(Unload and wait for full load with auto-refit to {STRING}) -STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(Unload and wait for any full load with auto-refit to {STRING}) -STR_ORDER_TRANSFER_REFIT :(Transfer and take cargo with auto-refit to {STRING}) -STR_ORDER_TRANSFER_FULL_LOAD_REFIT :(Transfer and wait for full load with auto-refit to {STRING}) -STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :(Transfer and wait for any full load with auto-refit to {STRING}) -STR_ORDER_NO_UNLOAD_REFIT :(No unloading and take cargo with auto-refit to {STRING}) -STR_ORDER_NO_UNLOAD_FULL_LOAD_REFIT :(No unloading and wait for full load with auto-refit to {STRING}) -STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY_REFIT :(No unloading and wait for any full load with auto-refit to {STRING}) +STR_ORDER_AUTO_REFIT :(Refit to {STRING}) +STR_ORDER_FULL_LOAD_REFIT :(Full load with refit to {STRING}) +STR_ORDER_FULL_LOAD_ANY_REFIT :(Full load any cargo with refit to {STRING}) +STR_ORDER_UNLOAD_REFIT :(Unload and take cargo with refit to {STRING}) +STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(Unload and wait for full load with refit to {STRING}) +STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(Unload and wait for any full load with refit to {STRING}) +STR_ORDER_TRANSFER_REFIT :(Transfer and take cargo with refit to {STRING}) +STR_ORDER_TRANSFER_FULL_LOAD_REFIT :(Transfer and wait for full load with refit to {STRING}) +STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :(Transfer and wait for any full load with refit to {STRING}) +STR_ORDER_NO_UNLOAD_REFIT :(No unloading and take cargo with refit to {STRING}) +STR_ORDER_NO_UNLOAD_FULL_LOAD_REFIT :(No unloading and wait for full load with refit to {STRING}) +STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY_REFIT :(No unloading and wait for any full load with refit to {STRING}) STR_ORDER_AUTO_REFIT_ANY :available cargo @@ -3823,13 +3846,17 @@ STR_TIMETABLE_TOOLTIP :{BLACK}Timetabl STR_TIMETABLE_NO_TRAVEL :No travel STR_TIMETABLE_NOT_TIMETABLEABLE :Travel (automatic; timetabled by next manual order) STR_TIMETABLE_TRAVEL_NOT_TIMETABLED :Travel (not timetabled) -STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Travel with at most {2:VELOCITY} (not timetabled) +STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Travel (not timetabled) with at most {2:VELOCITY} STR_TIMETABLE_TRAVEL_FOR :Travel for {STRING} STR_TIMETABLE_TRAVEL_FOR_SPEED :Travel for {STRING} with at most {VELOCITY} +STR_TIMETABLE_TRAVEL_FOR_ESTIMATED :Travel (for {STRING}, not timetabled) +STR_TIMETABLE_TRAVEL_FOR_SPEED_ESTIMATED :Travel (for {STRING}, not timetabled) with at most {VELOCITY} +STR_TIMETABLE_STAY_FOR_ESTIMATED :(stay for {STRING}, not timetabled) +STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(travel for {STRING}, not timetabled) STR_TIMETABLE_STAY_FOR :and stay for {STRING} STR_TIMETABLE_AND_TRAVEL_FOR :and travel for {STRING} -STR_TIMETABLE_DAYS :{COMMA} day{P "" s} -STR_TIMETABLE_TICKS :{COMMA} tick{P "" s} +STR_TIMETABLE_DAYS :{COMMA}{NBSP}day{P "" s} +STR_TIMETABLE_TICKS :{COMMA}{NBSP}tick{P "" s} STR_TIMETABLE_TOTAL_TIME :{BLACK}This timetable will take {STRING} to complete STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}This timetable will take at least {STRING} to complete (not all timetabled) @@ -4093,7 +4120,7 @@ STR_ERROR_TOO_CLOSE_TO_EDGE_OF_MAP_SUB :{WHITE}... too STR_ERROR_TOO_CLOSE_TO_ANOTHER_TOWN :{WHITE}... too close to another town STR_ERROR_TOO_MANY_TOWNS :{WHITE}... too many towns STR_ERROR_NO_SPACE_FOR_TOWN :{WHITE}... there is no more space on the map -STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}The town will not build roads. You can enable building of roads via Advanced Settings->Economy->Towns +STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}The town will not build roads. You can enable building of roads via Advanced Settings->Environment->Towns STR_ERROR_ROAD_WORKS_IN_PROGRESS :{WHITE}Road works in progress STR_ERROR_TOWN_CAN_T_DELETE :{WHITE}Can't delete this town...{}A station or depot is referring to the town or a town owned tile can't be removed STR_ERROR_STATUE_NO_SUITABLE_PLACE :{WHITE}... there is no suitable place for a statue in the centre of this town @@ -4117,6 +4144,9 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... fore STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... can only be built above the snow-line STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... can only be built below the snow-line +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}There were no suitable places for '{STRING}' industries +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Change the map generation parameters to get a better map + # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Can't build railway station here... STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}Can't build bus station... @@ -4852,8 +4882,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -4864,9 +4892,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/english_US.txt b/src/lang/english_US.txt index 602bd19401..baa4166579 100644 --- a/src/lang/english_US.txt +++ b/src/lang/english_US.txt @@ -95,30 +95,30 @@ STR_CARGO_SINGULAR_FIZZY_DRINK :Fizzy Drink # Quantity of cargo STR_QUANTITY_NOTHING : -STR_QUANTITY_PASSENGERS :{COMMA} passenger{P "" s} +STR_QUANTITY_PASSENGERS :{COMMA}{NBSP}passenger{P "" s} STR_QUANTITY_COAL :{WEIGHT_LONG} of coal -STR_QUANTITY_MAIL :{COMMA} bag{P "" s} of mail +STR_QUANTITY_MAIL :{COMMA}{NBSP}bag{P "" s} of mail STR_QUANTITY_OIL :{VOLUME_LONG} of oil -STR_QUANTITY_LIVESTOCK :{COMMA} item{P "" s} of livestock -STR_QUANTITY_GOODS :{COMMA} crate{P "" s} of goods +STR_QUANTITY_LIVESTOCK :{COMMA}{NBSP}head of livestock +STR_QUANTITY_GOODS :{COMMA}{NBSP}crate{P "" s} of goods STR_QUANTITY_GRAIN :{WEIGHT_LONG} of grain STR_QUANTITY_WOOD :{WEIGHT_LONG} of wood STR_QUANTITY_IRON_ORE :{WEIGHT_LONG} of iron ore STR_QUANTITY_STEEL :{WEIGHT_LONG} of steel -STR_QUANTITY_VALUABLES :{COMMA} bag{P "" s} of valuables +STR_QUANTITY_VALUABLES :{COMMA}{NBSP}bag{P "" s} of valuables STR_QUANTITY_COPPER_ORE :{WEIGHT_LONG} of copper ore STR_QUANTITY_MAIZE :{WEIGHT_LONG} of maize STR_QUANTITY_FRUIT :{WEIGHT_LONG} of fruit -STR_QUANTITY_DIAMONDS :{COMMA} bag{P "" s} of diamonds +STR_QUANTITY_DIAMONDS :{COMMA}{NBSP}bag{P "" s} of diamonds STR_QUANTITY_FOOD :{WEIGHT_LONG} of food STR_QUANTITY_PAPER :{WEIGHT_LONG} of paper -STR_QUANTITY_GOLD :{COMMA} bag{P "" s} of gold +STR_QUANTITY_GOLD :{COMMA}{NBSP}bag{P "" s} of gold STR_QUANTITY_WATER :{VOLUME_LONG} of water STR_QUANTITY_WHEAT :{WEIGHT_LONG} of wheat STR_QUANTITY_RUBBER :{VOLUME_LONG} of rubber STR_QUANTITY_SUGAR :{WEIGHT_LONG} of sugar -STR_QUANTITY_TOYS :{COMMA} toy{P "" s} -STR_QUANTITY_SWEETS :{COMMA} bag{P "" s} of candy +STR_QUANTITY_TOYS :{COMMA}{NBSP}toy{P "" s} +STR_QUANTITY_SWEETS :{COMMA}{NBSP}bag{P "" s} of candy STR_QUANTITY_COLA :{VOLUME_LONG} of cola STR_QUANTITY_CANDYFLOSS :{WEIGHT_LONG} of cotton candy STR_QUANTITY_BUBBLES :{COMMA} bubble{P "" s} @@ -165,12 +165,12 @@ STR_ABBREV_NONE :{TINY_FONT}NO STR_ABBREV_ALL :{TINY_FONT}ALL # 'Mode' of transport for cargoes -STR_PASSENGERS :{COMMA} passenger{P "" s} -STR_BAGS :{COMMA} bag{P "" s} -STR_TONS :{COMMA} tonne{P "" s} -STR_LITERS :{COMMA} liter{P "" s} -STR_ITEMS :{COMMA} item{P "" s} -STR_CRATES :{COMMA} crate{P "" s} +STR_PASSENGERS :{COMMA}{NBSP}passenger{P "" s} +STR_BAGS :{COMMA}{NBSP}bag{P "" s} +STR_TONS :{COMMA}{NBSP}tonne{P "" s} +STR_LITERS :{COMMA}{NBSP}liter{P "" s} +STR_ITEMS :{COMMA}{NBSP}item{P "" s} +STR_CRATES :{COMMA}{NBSP}crate{P "" s} # Colours, do not shuffle STR_COLOUR_DARK_BLUE :Dark Blue @@ -191,37 +191,37 @@ STR_COLOUR_GREY :Gray STR_COLOUR_WHITE :White # Units used in OpenTTD -STR_UNITS_VELOCITY_IMPERIAL :{COMMA} mph -STR_UNITS_VELOCITY_METRIC :{COMMA} km/h -STR_UNITS_VELOCITY_SI :{COMMA} m/s +STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}mph +STR_UNITS_VELOCITY_METRIC :{COMMA}{NBSP}km/h +STR_UNITS_VELOCITY_SI :{COMMA}{NBSP}m/s -STR_UNITS_POWER_IMPERIAL :{COMMA}hp -STR_UNITS_POWER_METRIC :{COMMA}hp -STR_UNITS_POWER_SI :{COMMA}kW +STR_UNITS_POWER_IMPERIAL :{COMMA}{NBSP}hp +STR_UNITS_POWER_METRIC :{COMMA}{NBSP}hp +STR_UNITS_POWER_SI :{COMMA}{NBSP}kW -STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}t -STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}t -STR_UNITS_WEIGHT_SHORT_SI :{COMMA}kg +STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_SI :{COMMA}{NBSP}kg -STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA} ton{P "" s} -STR_UNITS_WEIGHT_LONG_METRIC :{COMMA} tonne{P "" s} -STR_UNITS_WEIGHT_LONG_SI :{COMMA} kg +STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA}{NBSP}ton{P "" s} +STR_UNITS_WEIGHT_LONG_METRIC :{COMMA}{NBSP}tonne{P "" s} +STR_UNITS_WEIGHT_LONG_SI :{COMMA}{NBSP}kg -STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}gal -STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}l -STR_UNITS_VOLUME_SHORT_SI :{COMMA}m³ +STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}{NBSP}gal +STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}{NBSP}l +STR_UNITS_VOLUME_SHORT_SI :{COMMA}{NBSP}m³ -STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA} gallon{P "" s} -STR_UNITS_VOLUME_LONG_METRIC :{COMMA} liter{P "" s} -STR_UNITS_VOLUME_LONG_SI :{COMMA} m³ +STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA}{NBSP}gallon{P "" s} +STR_UNITS_VOLUME_LONG_METRIC :{COMMA}{NBSP}litre{P "" s} +STR_UNITS_VOLUME_LONG_SI :{COMMA}{NBSP}m³ -STR_UNITS_FORCE_IMPERIAL :{COMMA} lbf -STR_UNITS_FORCE_METRIC :{COMMA} kgf -STR_UNITS_FORCE_SI :{COMMA} kN +STR_UNITS_FORCE_IMPERIAL :{COMMA}{NBSP}lbf +STR_UNITS_FORCE_METRIC :{COMMA}{NBSP}kgf +STR_UNITS_FORCE_SI :{COMMA}{NBSP}kN -STR_UNITS_HEIGHT_IMPERIAL :{COMMA} ft -STR_UNITS_HEIGHT_METRIC :{COMMA} m -STR_UNITS_HEIGHT_SI :{COMMA} m +STR_UNITS_HEIGHT_IMPERIAL :{COMMA}{NBSP}ft +STR_UNITS_HEIGHT_METRIC :{COMMA}{NBSP}m +STR_UNITS_HEIGHT_SI :{COMMA}{NBSP}m # Common window strings STR_LIST_FILTER_TITLE :{BLACK}Filter string: @@ -248,6 +248,17 @@ STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Scroll b STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Scroll bar - scrolls list left/right STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Demolish buildings etc. on a square of land. Ctrl selects the area diagonally. Shift toggles building/showing cost estimate +# Show engines button +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}Show hidden +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK}Show hidden +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}Show hidden +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}Show hidden + +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}By enabling this button, the hidden train vehicles are also displayed +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE_TOOLTIP :{BLACK}By enabling this button, the hidden road vehicles are also displayed +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}By enabling this button, the hidden ships are also displayed +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}By enabling this button, the hidden aircraft are also displayed + # Query window STR_BUTTON_DEFAULT :{BLACK}Default STR_BUTTON_CANCEL :{BLACK}Cancel @@ -361,7 +372,7 @@ STR_SCENEDIT_FILE_MENU_QUIT :Quit ############ range for settings menu starts STR_SETTINGS_MENU_GAME_OPTIONS :Game options -STR_SETTINGS_MENU_CONFIG_SETTINGS :Advanced settings +STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Settings STR_SETTINGS_MENU_SCRIPT_SETTINGS :AI/Game script settings STR_SETTINGS_MENU_NEWGRF_SETTINGS :NewGRF settings STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Transparency options @@ -470,7 +481,7 @@ STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Toggle bounding STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Toggle coloring of dirty blocks ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window STR_ORDINAL_NUMBER_1ST :1st STR_ORDINAL_NUMBER_2ND :2nd STR_ORDINAL_NUMBER_3RD :3rd @@ -486,22 +497,40 @@ STR_ORDINAL_NUMBER_12TH :12th STR_ORDINAL_NUMBER_13TH :13th STR_ORDINAL_NUMBER_14TH :14th STR_ORDINAL_NUMBER_15TH :15th -STR_ORDINAL_NUMBER_16TH :16th -STR_ORDINAL_NUMBER_17TH :17th -STR_ORDINAL_NUMBER_18TH :18th -STR_ORDINAL_NUMBER_19TH :19th -STR_ORDINAL_NUMBER_20TH :20th -STR_ORDINAL_NUMBER_21ST :21st -STR_ORDINAL_NUMBER_22ND :22nd -STR_ORDINAL_NUMBER_23RD :23rd -STR_ORDINAL_NUMBER_24TH :24th -STR_ORDINAL_NUMBER_25TH :25th -STR_ORDINAL_NUMBER_26TH :26th -STR_ORDINAL_NUMBER_27TH :27th -STR_ORDINAL_NUMBER_28TH :28th -STR_ORDINAL_NUMBER_29TH :29th -STR_ORDINAL_NUMBER_30TH :30th -STR_ORDINAL_NUMBER_31ST :31st +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :1st +STR_DAY_NUMBER_2ND :2nd +STR_DAY_NUMBER_3RD :3rd +STR_DAY_NUMBER_4TH :4th +STR_DAY_NUMBER_5TH :5th +STR_DAY_NUMBER_6TH :6th +STR_DAY_NUMBER_7TH :7th +STR_DAY_NUMBER_8TH :8th +STR_DAY_NUMBER_9TH :9th +STR_DAY_NUMBER_10TH :10th +STR_DAY_NUMBER_11TH :11th +STR_DAY_NUMBER_12TH :12th +STR_DAY_NUMBER_13TH :13th +STR_DAY_NUMBER_14TH :14th +STR_DAY_NUMBER_15TH :15th +STR_DAY_NUMBER_16TH :16th +STR_DAY_NUMBER_17TH :17th +STR_DAY_NUMBER_18TH :18th +STR_DAY_NUMBER_19TH :19th +STR_DAY_NUMBER_20TH :20th +STR_DAY_NUMBER_21ST :21st +STR_DAY_NUMBER_22ND :22nd +STR_DAY_NUMBER_23RD :23rd +STR_DAY_NUMBER_24TH :24th +STR_DAY_NUMBER_25TH :25th +STR_DAY_NUMBER_26TH :26th +STR_DAY_NUMBER_27TH :27th +STR_DAY_NUMBER_28TH :28th +STR_DAY_NUMBER_29TH :29th +STR_DAY_NUMBER_30TH :30th +STR_DAY_NUMBER_31ST :31st ############ range for days ends ############ range for months starts @@ -810,13 +839,12 @@ STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}{VEHICLE STR_NEWS_SHIP_IS_WAITING :{WHITE}{VEHICLE} is waiting in depot STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE} is waiting in the aircraft hangar -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE +# Order review system / warnings STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE} has too few orders in the schedule STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE} has a void order STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE} has duplicate orders STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE} has an invalid station in its orders -# end of order system +STR_NEWS_PLANE_USES_TOO_SHORT_RUNWAY :{WHITE}{VEHICLE} has in its orders an airport whose runway is too short STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} is getting old STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} is getting very old @@ -899,10 +927,6 @@ STR_GAME_OPTIONS_CURRENCY_GEL :Georgian Lari ( STR_GAME_OPTIONS_CURRENCY_IRR :Iranian Rial (IRR) ############ end of currency region - -############ start of measuring units region -############ end of measuring units region - STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Road vehicles STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}Select side of road for vehicles to drive on STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :Drive on left @@ -938,11 +962,13 @@ STR_GAME_OPTIONS_TOWN_NAME_CATALAN :Catalan STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Autosave STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Select interval between automatic game saves +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Off STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :Every month STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :Every 3 months STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :Every 6 months STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :Every 12 months +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}Language STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Select the interface language to use @@ -954,8 +980,12 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}Screen r STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Select the screen resolution to use STR_GAME_OPTIONS_RESOLUTION_OTHER :other -STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}Screenshot format -STR_GAME_OPTIONS_SCREENSHOT_FORMAT_TOOLTIP :{BLACK}Select the screenshot format to use +STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Interface size +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Select the interface element size to use + +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normal +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Double size +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Quad size STR_GAME_OPTIONS_BASE_GRF :{BLACK}Base graphics set STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Select the base graphics set to use @@ -971,6 +1001,7 @@ STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Select t STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} corrupted file{P "" s} STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Additional information about the base music set +STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Failed to retrieve a list of supported resolutions STR_ERROR_FULLSCREEN_FAILED :{WHITE}Fullscreen mode failed # Custom currency window @@ -1049,6 +1080,7 @@ STR_TERRAIN_TYPE_VERY_FLAT :Very Flat STR_TERRAIN_TYPE_FLAT :Flat STR_TERRAIN_TYPE_HILLY :Hilly STR_TERRAIN_TYPE_MOUNTAINOUS :Mountainous +STR_TERRAIN_TYPE_ALPINIST :Alpinist STR_CITY_APPROVAL_PERMISSIVE :Permissive STR_CITY_APPROVAL_TOLERANT :Tolerant @@ -1056,8 +1088,8 @@ STR_CITY_APPROVAL_HOSTILE :Hostile STR_WARNING_NO_SUITABLE_AI :{WHITE}No suitable AIs available...{}You can download several AIs via the 'Online Content' system -# Advanced settings window -STR_CONFIG_SETTING_CAPTION :{WHITE}Advanced Settings +# Settings tree window +STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Settings STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Filter string: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Expand all STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Collapse all @@ -1073,9 +1105,9 @@ STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :Company setting STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK}Category: STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}Type: STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Restricts the list below using predefined filters -STR_CONFIG_SETTING_RESTRICT_BASIC :Basic settings -STR_CONFIG_SETTING_RESTRICT_ADVANCED :Advanced settings -STR_CONFIG_SETTING_RESTRICT_ALL :Expert settings / all settings +STR_CONFIG_SETTING_RESTRICT_BASIC :Basic (show only important settings) +STR_CONFIG_SETTING_RESTRICT_ADVANCED :Advanced (show most settings) +STR_CONFIG_SETTING_RESTRICT_ALL :Expert (show all settings, including weird ones) STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :Settings with a different value than the default STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :Settings with a different value than your new-game settings @@ -1130,9 +1162,10 @@ STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Toggle disaster STR_CONFIG_SETTING_CITY_APPROVAL :Town council's attitude towards area restructuring: {STRING} STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Choose how much noise and environmental damage by companies affect their town rating and further construction actions in their area -STR_CONFIG_SETTING_BUILDONSLOPES :Allow building on slopes and coasts: {STRING} -STR_CONFIG_SETTING_BUILDONSLOPES_HELPTEXT :If enabled, tracks and stations can be build on most slopes. If disabled, they are only allowed on slopes which match the direction of the track and thus require no foundations -STR_CONFIG_SETTING_AUTOSLOPE :Allow terraforming under buildings, tracks, etc. (autoslope): {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :Maximum map height: {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :Set the maximum allowed height for mountains on the map +STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}You can't set the maximum map height to this value. At least one mountain on the map is higher +STR_CONFIG_SETTING_AUTOSLOPE :Allow terraforming under buildings, tracks, etc.: {STRING} STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Allow terraforming under buildings and tracks without removing them STR_CONFIG_SETTING_CATCHMENT :Allow more realistically sized catchment areas: {STRING} STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Have differently sized catchment areas for different types of stations and airports @@ -1156,16 +1189,12 @@ STR_CONFIG_SETTING_FORBID_90_DEG :Forbid trains a STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90 degree turns occur when a horizontal track is directly followed by a vertical track piece on the adjacent tile, thus making the train turn by 90 degree when traversing the tile edge instead of the usual 45 degrees for other track combinations. This also applies to the turning radius of ships STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Allow joining stations not directly adjacent: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Allow adding parts to a station without directly touching the existing parts. Needs Ctrl+Click while placing the new parts -STR_CONFIG_SETTING_IMPROVEDLOAD :Use improved loading algorithm: {STRING} -STR_CONFIG_SETTING_IMPROVEDLOAD_HELPTEXT :If enabled, multiple vehicles waiting at a station are loaded sequentially. Loading of the next vehicle only starts when there is enough cargo waiting to completely fill the first vehicle -STR_CONFIG_SETTING_GRADUAL_LOADING :Load vehicles gradually: {STRING} -STR_CONFIG_SETTING_GRADUAL_LOADING_HELPTEXT :Gradually load vehicles using vehicle specific loading durations, instead of loading everything at once with a fixed time depending only on the amount of cargo loaded STR_CONFIG_SETTING_INFLATION :Inflation: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :Enable inflation in the economy, where costs are slightly faster rising than payments -STR_CONFIG_SETTING_SELECTGOODS :Deliver cargo to a station only when there is a demand: {STRING} -STR_CONFIG_SETTING_SELECTGOODS_HELPTEXT :Only deliver cargo to a station that was requested from a loading vehicle. This prevents bad ratings for cargos that are not serviced at a station STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Maximum bridge length: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Maximum length for building bridges +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :Maximum bridge height: {STRING} +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :Maximum height for building bridges STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Maximum tunnel length: {STRING} STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :Maximum length for building tunnels STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Manual primary industry construction method: {STRING} @@ -1185,14 +1214,12 @@ STR_CONFIG_SETTING_SIGNALSIDE_RIGHT :On the right STR_CONFIG_SETTING_SHOWFINANCES :Show finances window at the end of the year: {STRING} STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT :If enabled, the finances window pops up at the end of each year to allow easy inspection of the financial status of the company STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :New orders are 'non-stop' by default: {STRING} -STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT :Normally, a vehicle will stop at every station it passes. By enabling this setting, it will drive through all station on the way to its final destination without stopping. Note, that this setting only defines a default value for new orders. Individual orders can be set explicitly to either behavior nevertheless +STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT :Normally, a vehicle will stop at every station it passes. By enabling this setting, it will drive through all stations on the way to its final destination without stopping. Note, that this setting only defines a default value for new orders. Individual orders can be set explicitly to either behavior nevertheless STR_CONFIG_SETTING_STOP_LOCATION :New train orders stop by default at the {STRING} of the platform STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Place where a train will stop at the platform by default. The 'near end' means close to the entry point, 'middle' means in the middle of the platform, and 'far end' means far away from the entry point. Note, that this setting only defines a default value for new orders. Individual orders can be set explicitly to either behavior nevertheless STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :near end STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :middle STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :far end -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING :Road vehicle queueing (with quantum effects): {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING_HELPTEXT :Make road vehicle wait in front of occupied road stops until they are cleared STR_CONFIG_SETTING_AUTOSCROLL :Pan window when mouse is at the edge: {STRING} STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :When enabled, viewports will start to scroll when the mouse is near the edge of the window STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Disabled @@ -1223,10 +1250,6 @@ STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Allow drive-thr STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Allow construction of drive-through road stops on town-owned roads STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Allow drive-through road stops on roads owned by competitors: {STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Allow construction of drive-through road stops on roads owned by other companies -STR_CONFIG_SETTING_ADJACENT_STATIONS :Allow building adjacent stations: {STRING} -STR_CONFIG_SETTING_ADJACENT_STATIONS_HELPTEXT :Allow different stations to touch each other -STR_CONFIG_SETTING_DYNAMIC_ENGINES :Enable multiple NewGRF engine sets: {STRING} -STR_CONFIG_SETTING_DYNAMIC_ENGINES_HELPTEXT :Compatibility option for old NewGRFs. Do not disable this, unless you know exactly what you are doing! STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Changing this setting is not possible when there are vehicles STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Infrastructure maintenance: {STRING} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :When enabled, infrastructure causes maintenance costs. The cost grows over-proportional with the network size, thus affecting bigger companies more than smaller ones @@ -1247,7 +1270,7 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Vehicles never STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :When enabled, all vehicle models remain available forever after their introduction STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Autorenew vehicle when it gets old: {STRING} STR_CONFIG_SETTING_AUTORENEW_VEHICLE_HELPTEXT :When enabled, a vehicle nearing its end of life gets automatically replaced when the renew conditions are fulfilled -STR_CONFIG_SETTING_AUTORENEW_MONTHS :Autorenew when vehicle is {STRING} max age +STR_CONFIG_SETTING_AUTORENEW_MONTHS :Autorenew when vehicle is {STRING} maximum age STR_CONFIG_SETTING_AUTORENEW_MONTHS_HELPTEXT :Relative age when a vehicle should be considered for auto-renewing STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_BEFORE :{COMMA} month{P 0 "" s} before STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_AFTER :{COMMA} month{P 0 "" s} after @@ -1257,39 +1280,53 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :Duration of err STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Duration for displaying error messages in a red window. Note that some (critical) error messages are not closed automatically after this time, but must be closed manually STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{COMMA} second{P 0 "" s} STR_CONFIG_SETTING_HOVER_DELAY :Show tooltips: {STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Delay before tooltips are displayed when hovering the mouse over some interface element. Alternatively tooltips can be bound to the right mouse button -STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Hover for {COMMA} second{P 0 "" s} +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Delay before tooltips are displayed when hovering the mouse over some interface element. Alternatively tooltips are bound to the right mouse button when this value is set to 0. +STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Hover for {COMMA} millisecond{P 0 "" s} STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Right click STR_CONFIG_SETTING_POPULATION_IN_LABEL :Show town population in the town name label: {STRING} STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Display the population of towns in their label on the map STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Thickness of lines in graphs: {STRING} STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Width of the line in the graphs. A thin line is more precisely readable, a thicker line is easier to see and colors are easier to distinguish +STR_CONFIG_SETTING_LANDSCAPE :Landscape: {STRING} +STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Landscapes define basic gameplay scenarios with different cargos and town growth requirements. NewGRF and Game Scripts allow finer control though STR_CONFIG_SETTING_LAND_GENERATOR :Land generator: {STRING} +STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :The original generator depends on the base graphics set, and composes fixed landscape shapes. TerraGenesis is a Perlin noise based generator with finer control settings STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Original STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis -STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Max distance from edge for Oil Refineries: {STRING} +STR_CONFIG_SETTING_TERRAIN_TYPE :Terrain type: {STRING} +STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(TerraGenesis only) Hilliness of the landscape +STR_CONFIG_SETTING_INDUSTRY_DENSITY :Industry density: {STRING} +STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Set how many industries should be generated and what level should be maintained during the game +STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Maximum distance from edge for Oil refineries: {STRING} STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Oil refineries are only constructed near the map border, that is at the coast for island maps STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Snow line height: {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Roughness of terrain (TerraGenesis only) : {STRING} +STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Control at what height snow starts in sub-arctic landscape. Snow also affects industry generation and town growth requirements +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Roughness of terrain: {STRING} +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(TerraGenesis only) Choose the frequency of hills: Smooth landscapes have fewer, more wide-spread hills. Rough landscapes have many hills, which may look repetitive STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Very Smooth STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Smooth STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Rough STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Very Rough +STR_CONFIG_SETTING_VARIETY :Variety distribution: {STRING} +STR_CONFIG_SETTING_VARIETY_HELPTEXT :(TerraGenesis only) Control whether the map contains both mountainous and flat areas. Since this only makes the map flatter, other settings should be set to mountainous +STR_CONFIG_SETTING_RIVER_AMOUNT :River amount: {STRING} +STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Choose how many rivers to generate STR_CONFIG_SETTING_TREE_PLACER :Tree placer algorithm: {STRING} +STR_CONFIG_SETTING_TREE_PLACER_HELPTEXT :Choose the distribution of trees on the map: 'Original' plants trees uniformly scattered, 'Improved' plants them in groups STR_CONFIG_SETTING_TREE_PLACER_NONE :None STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :Original STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :Improved +STR_CONFIG_SETTING_ROAD_SIDE :Road vehicles: {STRING} +STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :Choose the driving side STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Heightmap rotation: {STRING} STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Counter-clockwise STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Clockwise STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :The height level a flat scenario map gets: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :Enable terraforming the tiles at the map borders: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES_HELPTEXT :If disabled, the map borders will always be ocean STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}One or more tiles at the northern edge are not empty STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}One or more tiles at one of the edges is not water -STR_CONFIG_SETTING_STATION_SPREAD :Max station spread: {STRING} +STR_CONFIG_SETTING_STATION_SPREAD :Maximum station spread: {STRING} STR_CONFIG_SETTING_STATION_SPREAD_HELPTEXT :Maximum area the parts of a single station may be spread out on. Note that high values will slow the game STR_CONFIG_SETTING_SERVICEATHELIPAD :Perform maintenance on helicopters at helipads automatically: {STRING} STR_CONFIG_SETTING_SERVICEATHELIPAD_HELPTEXT :Service helicopters after every landing, even if there is no depot at the airport @@ -1306,7 +1343,7 @@ STR_CONFIG_SETTING_SMOOTH_SCROLLING :Smooth viewport STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Control how the main view scrolls to a specific position when clicking on the smallmap or when issuing a command to scroll to a specific object on the map. If enabled, the viewport scrolls smoothly, if disabled it jumps directly to the targeted spot STR_CONFIG_SETTING_MEASURE_TOOLTIP :Show a measurement tooltip when using various build-tools: {STRING} STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT :Display tile-distances and height differences when dragging during construction operations -STR_CONFIG_SETTING_LIVERIES :Show company liveries: {STRING} +STR_CONFIG_SETTING_LIVERIES :Show vehicle-type specific liveries: {STRING} STR_CONFIG_SETTING_LIVERIES_HELPTEXT :Control usage of vehicle-type specific liveries for vehicles (in contrary to company specific) STR_CONFIG_SETTING_LIVERIES_NONE :None STR_CONFIG_SETTING_LIVERIES_OWN :Own company @@ -1324,7 +1361,7 @@ STR_CONFIG_SETTING_OSK_ACTIVATION :On screen keybo STR_CONFIG_SETTING_OSK_ACTIVATION_HELPTEXT :Select the method to open the on screen keyboard for entering text into editboxes only using the pointing device. This is meant for small devices without actual keyboard STR_CONFIG_SETTING_OSK_ACTIVATION_DISABLED :Disabled STR_CONFIG_SETTING_OSK_ACTIVATION_DOUBLE_CLICK :Double click -STR_CONFIG_SETTING_OSK_ACTIVATION_SINGLE_CLICK_FOCUS :Single click (when focussed) +STR_CONFIG_SETTING_OSK_ACTIVATION_SINGLE_CLICK_FOCUS :Single click (when focused) STR_CONFIG_SETTING_OSK_ACTIVATION_SINGLE_CLICK :Single click (immediately) STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU :Right-click emulation: {STRING} @@ -1336,17 +1373,15 @@ 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_AUTOSAVE :Autosave: {STRING} +STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Select interval between automatic game saves + STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Use the {STRING} date format for savegame names STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Format of the date in save game filenames -STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :long (31st Dec 2008) -STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :short (31-12-2008) +STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :long (Dec 31st, 2008) +STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :short (12/31/2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE :Default palette to assume for NewGRFs not specifying a palette: {STRING} -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_HELPTEXT :Default palette to use for NewGRFs that do not specify which one they need -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_DOS :Default (D) palette -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_WIN :Legacy (W) palette - STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Automatically pause when starting a new game: {STRING} STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :When enabled, the game will automatically pause when starting a new game, allowing for closer study of the map STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :When paused allow: {STRING} @@ -1355,7 +1390,7 @@ STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :No actions STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :All non-construction actions STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :All but landscape modifying actions STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_ACTIONS :All actions -STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Use the advanced vehicle list: {STRING} +STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Use groups in vehicle list: {STRING} STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Enable usage of the advanced vehicle lists for grouping vehicles STR_CONFIG_SETTING_LOADING_INDICATORS :Use loading indicators: {STRING} STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Select whether loading indicators are displayed above loading or unloading vehicles @@ -1370,7 +1405,7 @@ STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_HELPTEXT :Rail type to se STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_FIRST :First available STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_LAST :Last available STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_MOST_USED :Most used -STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :Show reserved tracks: {STRING} +STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :Show path reservations for tracks: {STRING} STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION_HELPTEXT :Give reserved tracks a different color to assist in problems with trains refusing to enter path-based blocks STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Keep building tools active after usage: {STRING} STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Keep the building tools for bridges, tunnels, etc. open after use @@ -1396,13 +1431,13 @@ STR_CONFIG_SETTING_SOUND_AMBIENT_HELPTEXT :Play ambient so STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING :Disable infrastructure building when no suitable vehicles are available: {STRING} STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING_HELPTEXT :When enabled, infrastructure is only available if there are also vehicles available, preventing waste of time and money on unusable infrastructure -STR_CONFIG_SETTING_MAX_TRAINS :Max trains per company: {STRING} +STR_CONFIG_SETTING_MAX_TRAINS :Maximum number of trains per company: {STRING} STR_CONFIG_SETTING_MAX_TRAINS_HELPTEXT :Maximum number of trains that a company can have -STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :Max road vehicles per company: {STRING} +STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :Maximum number of road vehicles per company: {STRING} STR_CONFIG_SETTING_MAX_ROAD_VEHICLES_HELPTEXT :Maximum number of road vehicles that a company can have -STR_CONFIG_SETTING_MAX_AIRCRAFT :Max aircraft per company: {STRING} +STR_CONFIG_SETTING_MAX_AIRCRAFT :Maximum number of aircraft per company: {STRING} STR_CONFIG_SETTING_MAX_AIRCRAFT_HELPTEXT :Maximum number of aircraft that a company can have -STR_CONFIG_SETTING_MAX_SHIPS :Max ships per company: {STRING} +STR_CONFIG_SETTING_MAX_SHIPS :Maximum number of ships per company: {STRING} STR_CONFIG_SETTING_MAX_SHIPS_HELPTEXT :Maximum number of ships that a company can have STR_CONFIG_SETTING_AI_BUILDS_TRAINS :Disable trains for computer: {STRING} @@ -1429,7 +1464,7 @@ STR_CONFIG_SETTING_SERVINT_ISPERCENT :Maintenance int STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Choose whether maintenance of vehicles is triggered by the time passed since last maintenance or by reliability dropping by a certain percentage of the maximum reliability STR_CONFIG_SETTING_SERVINT_TRAINS :Default maintenance interval for trains: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Set the default maintenance interval for new rail vehicles, if no explicit maintenance interval is set for the vehicle -STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA} day{P 0 "" s}/% +STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}day{P 0 "" s}/% STR_CONFIG_SETTING_SERVINT_DISABLED :Disabled STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES :Default maintenance interval for road vehicles: {STRING} STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES_HELPTEXT :Set the default maintenance interval for new road vehicles, if no explicit maintenance interval is set for the vehicle @@ -1451,7 +1486,7 @@ STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OTHER_HELPTEXT :Display a newsp STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS :Accidents / disasters: {STRING} STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS_HELPTEXT :Display a newspaper when accidents or disasters occur STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION :Company information: {STRING} -STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION_HELPTEXT :Display a newspaper when a new company starts, or when companies are risking to bankrupt +STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION_HELPTEXT :Display a newspaper when a new company starts, or when companies are at risk of going bankrupt STR_CONFIG_SETTING_NEWS_INDUSTRY_OPEN :Opening of industries: {STRING} STR_CONFIG_SETTING_NEWS_INDUSTRY_OPEN_HELPTEXT :Display a newspaper when new industries open STR_CONFIG_SETTING_NEWS_INDUSTRY_CLOSE :Closing of industries: {STRING} @@ -1496,7 +1531,7 @@ STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT :Select the beha STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE :Automatically build semaphores before: {STRING} STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT :Set the year when electric signals will be used for tracks. Before this year, non-electric signals will be used (which have the exact same function, but different looks) STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI :Enable the signal GUI: {STRING} -STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI_HELPTEXT :Display a window for choosing signal types to build, instead of only window-less signal-type rotation with Ctrl+clicking on build signals +STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI_HELPTEXT :Display a window for choosing signal types to build, instead of only window-less signal-type rotation with Ctrl+clicking on built signals STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE :Signal type to build by default: {STRING} STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE_HELPTEXT :Default signal type to use STR_CONFIG_SETTING_DEFAULT_SIGNAL_NORMAL :Block signals @@ -1568,12 +1603,10 @@ STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 in {COMMA} STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :None STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Initial city size multiplier: {STRING} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Average size of cities relative to normal towns at start of the game -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :Remove absurd road-elements during the road construction: {STRING} -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD_HELPTEXT :Remove dead road ends during funded road reconstruction -STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Update distribution graph every {STRING} day{P 0:2 "" s} +STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Update distribution graph every {STRING}{NBSP}day{P 0:2 "" s} STR_CONFIG_SETTING_LINKGRAPH_INTERVAL_HELPTEXT :Time between subsequent recalculations of the link graph. Each recalculation calculates the plans for one component of the graph. That means that a value X for this setting does not mean the whole graph will be updated every X days. Only some component will. The shorter you set it the more CPU time will be necessary to calculate it. The longer you set it the longer it will take until the cargo distribution starts on new routes. -STR_CONFIG_SETTING_LINKGRAPH_TIME :Take {STRING} day{P 0:2 "" s} for recalculation of distribution graph +STR_CONFIG_SETTING_LINKGRAPH_TIME :Take {STRING}{NBSP}day{P 0:2 "" s} for recalculation of distribution graph STR_CONFIG_SETTING_LINKGRAPH_TIME_HELPTEXT :Time taken for each recalculation of a link graph component. When a recalculation is started, a thread is spawned which is allowed to run for this number of days. The shorter you set this the more likely it is that the thread is not finished when it's supposed to. Then the game stops until it is ("lag"). The longer you set it the longer it takes for the distribution to be updated when routes change. STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :manual STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :asymmetric @@ -1583,7 +1616,7 @@ STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"symmetric" mea STR_CONFIG_SETTING_DISTRIBUTION_MAIL :Distribution mode for mail: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"symmetric" means that roughly the same amount of mail will be sent from a station A to a station B as from B to A. "asymmetric" means that arbitrary amounts of mail can be sent in either direction. "manual" means that no automatic distribution will take place for mail. STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Distribution mode for the ARMORED cargo class: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :The ARMORED cargo class contains valuables in the temperate, diamonds in the subtropical or gold in subarctic climate. NewGRFs may change that. "symmetric" means that roughly the same amount of that cargo will be sent from a station A to a station B as from B to A. "asymmetric" means that arbitrary of that cargo can be sent in either direction. "manual" means that no automatic distribution will take place for that cargo. It is recommended to set this to asymmetric or manual when playing subarctic, as banks won't send any gold back to gold mines. For temperate and subtropical you can also choose symmetric as banks will send valuables back to the origin bank of some load of valuables. +STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :The ARMORED cargo class contains valuables in the temperate, diamonds in the subtropical, or gold in the subarctic climate. NewGRFs may change that. "symmetric" means that roughly the same amount of that cargo will be sent from a station A to a station B as from B to A. "asymmetric" means that arbitrary amounts of that cargo can be sent in either direction. "manual" means that no automatic distribution will take place for that cargo. It is recommended to set this to asymmetric or manual when playing subarctic, as banks won't send any gold back to gold mines. For temperate and subtropical you can also choose symmetric as banks will send valuables back to the origin bank of some load of valuables. STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Distribution mode for other cargo classes: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"asymmetric" means that arbitrary amounts of cargo can be sent in either direction. "manual" means that no automatic distribution will take place for those cargos. STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Distribution accuracy: {STRING} @@ -1608,50 +1641,52 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_METRIC :Metric (hp) STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_SI :SI (kW) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT :Weights units: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_HELPTEXT :Whenever weights are shown in the user interface, show it in the selected units +STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_HELPTEXT :Whenever a weight is shown in the user interface, show it in the selected units STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_IMPERIAL :Imperial (short t/ton) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_METRIC :Metric (t/tonne) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_SI :SI (kg) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME :Volumes units: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_HELPTEXT :Whenever volumes are shown in the user interface, show it in the selected units +STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_HELPTEXT :Whenever a volume is shown in the user interface, show it in the selected units STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_IMPERIAL :Imperial (gal) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_METRIC :Metric (l) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_SI :SI (m³) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE :Tractive effort units: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_HELPTEXT :Whenever tractive effort, also known as tractive force, is shown in the user interface, show it in the selected units +STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_HELPTEXT :Whenever a tractive effort (also known as tractive force) is shown in the user interface, show it in the selected units STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_IMPERIAL :Imperial (lbf) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_METRIC :Metric (kgf) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_SI :SI (kN) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT :Heights units: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT :Whenever heights are shown in the user interface, show it in the selected units +STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT :Whenever a height is shown in the user interface, show it in the selected units STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :Imperial (ft) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :Metric (m) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :SI (m) -STR_CONFIG_SETTING_GUI :{ORANGE}Interface STR_CONFIG_SETTING_LOCALISATION :{ORANGE}Localization -STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}Construction +STR_CONFIG_SETTING_GRAPHICS :{ORANGE}Graphics +STR_CONFIG_SETTING_SOUND :{ORANGE}Sound +STR_CONFIG_SETTING_INTERFACE :{ORANGE}Interface +STR_CONFIG_SETTING_INTERFACE_GENERAL :{ORANGE}General +STR_CONFIG_SETTING_INTERFACE_VIEWPORTS :{ORANGE}Viewports +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Construction +STR_CONFIG_SETTING_ADVISORS :{ORANGE}News / Advisors +STR_CONFIG_SETTING_COMPANY :{ORANGE}Company +STR_CONFIG_SETTING_ACCOUNTING :{ORANGE}Accounting STR_CONFIG_SETTING_VEHICLES :{ORANGE}Vehicles -STR_CONFIG_SETTING_STATIONS :{ORANGE}Stations -STR_CONFIG_SETTING_ECONOMY :{ORANGE}Economy -STR_CONFIG_SETTING_LINKGRAPH :{ORANGE}Cargo Distribution -STR_CONFIG_SETTING_AI :{ORANGE}Competitors -STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}Display options -STR_CONFIG_SETTING_INTERACTION :{ORANGE}Interaction -STR_CONFIG_SETTING_SOUND :{ORANGE}Sound effects -STR_CONFIG_SETTING_NEWS :{ORANGE}News and messages -STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}Signals -STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE}Cargo handling -STR_CONFIG_SETTING_AI_NPC :{ORANGE}Computer players -STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE}Autorenew -STR_CONFIG_SETTING_VEHICLES_SERVICING :{ORANGE}Maintenance +STR_CONFIG_SETTING_VEHICLES_PHYSICS :{ORANGE}Physics STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Routing -STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}Trains -STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}Towns -STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}Industries +STR_CONFIG_SETTING_LIMITATIONS :{ORANGE}Limitations +STR_CONFIG_SETTING_ACCIDENTS :{ORANGE}Disasters / Accidents +STR_CONFIG_SETTING_GENWORLD :{ORANGE}World generation +STR_CONFIG_SETTING_ENVIRONMENT :{ORANGE}Environment +STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :{ORANGE}Authorities +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Towns +STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}Industries +STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :{ORANGE}Cargo distribution +STR_CONFIG_SETTING_AI :{ORANGE}Competitors +STR_CONFIG_SETTING_AI_NPC :{ORANGE}Computer players STR_CONFIG_SETTING_PATHFINDER_OPF :Original STR_CONFIG_SETTING_PATHFINDER_NPF :NPF @@ -1700,7 +1735,7 @@ STR_INTRO_MULTIPLAYER :{BLACK}Multipla STR_INTRO_GAME_OPTIONS :{BLACK}Game Options STR_INTRO_HIGHSCORE :{BLACK}Highscore Table -STR_INTRO_ADVANCED_SETTINGS :{BLACK}Advanced Settings +STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Settings STR_INTRO_NEWGRF_SETTINGS :{BLACK}NewGRF Settings STR_INTRO_ONLINE_CONTENT :{BLACK}Check Online Content STR_INTRO_SCRIPT_SETTINGS :{BLACK}AI/Game Script Settings @@ -1720,7 +1755,7 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Select ' STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Display game options STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Display highscore table -STR_INTRO_TOOLTIP_ADVANCED_SETTINGS :{BLACK}Display advanced settings +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Display settings STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Display NewGRF settings STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Check for new and updated content to download STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Display AI/Game script settings @@ -1760,6 +1795,8 @@ STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Playing STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Magic bulldozer (remove industries, unmovable objects): {ORANGE}{STRING} STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}Tunnels may cross each other: {ORANGE}{STRING} STR_CHEAT_NO_JETCRASH :{LTBLUE}Jetplanes will not crash (frequently) on small airports: {ORANGE}{STRING} +STR_CHEAT_EDIT_MAX_HL :{LTBLUE}Edit the maximum map height: {ORANGE}{NUM} +STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Edit the maximum height of mountains on the map STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE :Temperate landscape STR_CHEAT_SWITCH_CLIMATE_SUB_ARCTIC_LANDSCAPE :Sub-arctic landscape STR_CHEAT_SWITCH_CLIMATE_SUB_TROPICAL_LANDSCAPE :Sub-tropical landscape @@ -1808,6 +1845,7 @@ STR_LIVERY_FREIGHT_TRAM :Freight Streetc STR_FACE_CAPTION :{WHITE}Face Selection STR_FACE_CANCEL_TOOLTIP :{BLACK}Cancel new face selection STR_FACE_OK_TOOLTIP :{BLACK}Accept new face selection +STR_FACE_RANDOM :{BLACK}Randomize STR_FACE_MALE_BUTTON :{BLACK}Male STR_FACE_MALE_TOOLTIP :{BLACK}Select male faces @@ -1928,13 +1966,13 @@ STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}Protect STR_NETWORK_START_SERVER_UNADVERTISED :No STR_NETWORK_START_SERVER_ADVERTISED :Yes STR_NETWORK_START_SERVER_CLIENTS_SELECT :{BLACK}{NUM} client{P "" s} -STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Max clients: +STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Maximum number of clients: STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS_TOOLTIP :{BLACK}Choose the maximum number of clients. Not all slots need to be filled STR_NETWORK_START_SERVER_COMPANIES_SELECT :{BLACK}{NUM} compan{P y ies} -STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}Max companies: +STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}Maximum number of companies: STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES_TOOLTIP :{BLACK}Limit the server to a certain number of companies STR_NETWORK_START_SERVER_SPECTATORS_SELECT :{BLACK}{NUM} spectator{P "" s} -STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS :{BLACK}Max spectators: +STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS :{BLACK}Maximum number of spectators: STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS_TOOLTIP :{BLACK}Limit the server to a certain number of spectators STR_NETWORK_START_SERVER_LANGUAGE_SPOKEN :{BLACK}Language spoken: STR_NETWORK_START_SERVER_LANGUAGE_TOOLTIP :{BLACK}Other players will know which language is spoken on the server @@ -2232,7 +2270,7 @@ STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Toggle t STR_TRANSPARENT_TREES_TOOLTIP :{BLACK}Toggle transparency for trees. Ctrl+Click to lock STR_TRANSPARENT_HOUSES_TOOLTIP :{BLACK}Toggle transparency for houses. Ctrl+Click to lock STR_TRANSPARENT_INDUSTRIES_TOOLTIP :{BLACK}Toggle transparency for industries. Ctrl+Click to lock -STR_TRANSPARENT_BUILDINGS_TOOLTIP :{BLACK}Toggle transparency for buildables like stations, depots and waypoints. Ctrl+Click to lock +STR_TRANSPARENT_BUILDINGS_TOOLTIP :{BLACK}Toggle transparency for buildables like stations, depots, and waypoints. Ctrl+Click to lock STR_TRANSPARENT_BRIDGES_TOOLTIP :{BLACK}Toggle transparency for bridges. Ctrl+Click to lock STR_TRANSPARENT_STRUCTURES_TOOLTIP :{BLACK}Toggle transparency for structures like lighthouses and antennas. Ctrl+Click to lock STR_TRANSPARENT_CATENARY_TOOLTIP :{BLACK}Toggle transparency for catenary. Ctrl+Click to lock @@ -2277,7 +2315,7 @@ STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Build ra STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Build train depot (for buying and maintaining trains). Shift toggles building/showing cost estimate STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Convert rail to waypoint. Ctrl enables joining waypoints. Shift toggles building/showing cost estimate STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Build railroad station. Ctrl enables joining stations. Shift toggles building/showing cost estimate -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Build railroad signals. Ctrl toggles semaphore/light signals{}Dragging builds signals along a straight stretch of track. Ctrl builds signals until the next junction{}Ctrl+Click toggles opening the signal selection window. Shift toggles building/showing cost estimate +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Build railroad signals. Ctrl toggles semaphore/light signals{}Dragging builds signals along a straight stretch of track. Ctrl builds signals up to the next junction or signal{}Ctrl+Click toggles opening the signal selection window. Shift toggles building/showing cost estimate STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Build railroad bridge. Shift toggles building/showing cost estimate STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Build railroad tunnel. Shift toggles building/showing cost estimate STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Toggle build/remove for railroad track, signals, waypoints and stations. Hold Ctrl to also remove the rail of waypoints and stations @@ -2649,7 +2687,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-2014 The OpenTTD team +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 The OpenTTD team # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Save Game @@ -2684,13 +2722,12 @@ STR_MAPGEN_BY :{BLACK}* STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}No. of towns: STR_MAPGEN_DATE :{BLACK}Date: STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}No. of industries: +STR_MAPGEN_MAX_HEIGHTLEVEL :{BLACK}Maximum map height: +STR_MAPGEN_MAX_HEIGHTLEVEL_UP :{BLACK}Increase the maximum height of mountains on the map by one +STR_MAPGEN_MAX_HEIGHTLEVEL_DOWN :{BLACK}Decrease the maximum height of mountains on the map by one STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}Snow line height: STR_MAPGEN_SNOW_LINE_UP :{BLACK}Move the snow line height up one STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}Move the snow line height down one -STR_MAPGEN_RANDOM_SEED :{BLACK}Random seed: -STR_MAPGEN_RANDOM_SEED_HELP :{BLACK}Click to enter a random seed -STR_MAPGEN_RANDOM :{BLACK}Randomize -STR_MAPGEN_RANDOM_HELP :{BLACK}Change the random seed used for Terrain Generation STR_MAPGEN_LAND_GENERATOR :{BLACK}Land generator: STR_MAPGEN_TREE_PLACER :{BLACK}Tree algorithm: STR_MAPGEN_TERRAIN_TYPE :{BLACK}Terrain type: @@ -2717,7 +2754,7 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Heightma STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Size: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} -STR_MAPGEN_RANDOM_SEED_OSKTITLE :{BLACK}Enter a random seed +STR_MAPGEN_MAX_HEIGHTLEVEL_QUERY_CAPT :{WHITE}Change maximum map height STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}Change snow line height STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Change starting year @@ -2772,6 +2809,8 @@ STR_NEWGRF_SETTINGS_MOVEUP :{BLACK}Move Up STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP :{BLACK}Move the selected NewGRF file up the list STR_NEWGRF_SETTINGS_MOVEDOWN :{BLACK}Move Down STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP :{BLACK}Move the selected NewGRF file down the list +STR_NEWGRF_SETTINGS_UPGRADE :{BLACK}Upgrade +STR_NEWGRF_SETTINGS_UPGRADE_TOOLTIP :{BLACK}Upgrade NewGRF files for which you have a newer version installed STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}A list of the NewGRF files that are installed STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}Set parameters @@ -2796,6 +2835,16 @@ STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Matching f STR_NEWGRF_SETTINGS_DISABLED :{RED}Disabled STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Incompatible with this version of OpenTTD +# NewGRF save preset window +STR_SAVE_PRESET_CAPTION :{WHITE}Save preset +STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK}List of available presets, select one to copy it to the save name below +STR_SAVE_PRESET_TITLE :{BLACK}Enter a name for the preset +STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}Currently selected name for the preset to save +STR_SAVE_PRESET_CANCEL :{BLACK}Cancel +STR_SAVE_PRESET_CANCEL_TOOLTIP :{BLACK}Don't change the preset +STR_SAVE_PRESET_SAVE :{BLACK}Save +STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}Save the preset to the current selected name + # NewGRF parameters window STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Change NewGRF parameters STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Close @@ -2819,14 +2868,17 @@ STR_NEWGRF_INSPECT_QUERY_CAPTION :{WHITE}NewGRF v # Sprite aligner window STR_SPRITE_ALIGNER_CAPTION :{WHITE}Aligning sprite {COMMA} ({STRING}) STR_SPRITE_ALIGNER_NEXT_BUTTON :{BLACK}Next sprite -STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Proceed to the next normal sprite, skipping any pseudo/recolor/font sprites and wrapping around at the end +STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Proceed to the next normal sprite, skipping any pseudo/recolour/font sprites and wrapping around from the last sprite to the first STR_SPRITE_ALIGNER_GOTO_BUTTON :{BLACK}Go to sprite STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}Go to the given sprite. If the sprite is not a normal sprite, proceed to the next normal sprite STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Previous sprite -STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Proceed to the previous normal sprite, skipping any pseudo/recolor/font sprites and wrapping around at the begin +STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Proceed to the previous normal sprite, skipping any pseudo/recolour/font sprites and wrapping around from the first sprite to the last STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Representation of the currently selected sprite. The alignment is ignored when drawing this sprite STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Move the sprite around, changing the X and Y offsets -STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X offset: {NUM}, Y offset: {NUM} +STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Reset relative +STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Reset the current relative offsets +STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}X offset: {NUM}, Y offset: {NUM} (Absolute) +STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}X offset: {NUM}, Y offset: {NUM} (Relative) STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Pick sprite STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Pick a sprite from anywhere on the screen @@ -2938,8 +2990,8 @@ STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} delivered STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (still required) STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (delivered) -STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Town grows every {ORANGE}{COMMA}{BLACK} day{P "" s} -STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Town grows every {ORANGE}{COMMA}{BLACK} day{P "" s} (funded) +STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Town grows every {ORANGE}{COMMA}{BLACK}{NBSP}day{P "" s} +STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Town grows every {ORANGE}{COMMA}{BLACK}{NBSP}day{P "" s} (funded) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}Town is {RED}not{BLACK} growing STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Noise limit in town: {ORANGE}{COMMA}{BLACK} max: {ORANGE}{COMMA} STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Center the main view on town location. Ctrl+Click opens a new viewport on town location @@ -2999,7 +3051,7 @@ STR_GOAL_QUESTION_CAPTION_INFORMATION :Information STR_GOAL_QUESTION_CAPTION_WARNING :Warning STR_GOAL_QUESTION_CAPTION_ERROR :Error -### Start of Goal Question button list +############ Start of Goal Question button list STR_GOAL_QUESTION_BUTTON_CANCEL :Cancel STR_GOAL_QUESTION_BUTTON_OK :OK STR_GOAL_QUESTION_BUTTON_NO :No @@ -3018,6 +3070,7 @@ STR_GOAL_QUESTION_BUTTON_RESTART :Restart STR_GOAL_QUESTION_BUTTON_POSTPONE :Postpone STR_GOAL_QUESTION_BUTTON_SURRENDER :Surrender STR_GOAL_QUESTION_BUTTON_CLOSE :Close +############ End of Goal Question button list # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}Subsidies @@ -3053,7 +3106,6 @@ STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}No cargo # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} -STR_STATION_VIEW_WAITING_TITLE :{BLACK}Waiting: {WHITE}{STRING} STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} from {STATION}) STR_STATION_VIEW_RESERVED :{YELLOW}({CARGO_SHORT} reserved for loading) @@ -3148,7 +3200,7 @@ STR_FINANCES_POSITIVE_INCOME :{BLACK}+{CURREN STR_FINANCES_TOTAL_CAPTION :{WHITE}Total: STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}Bank Balance STR_FINANCES_LOAN_TITLE :{WHITE}Loan -STR_FINANCES_MAX_LOAN :{WHITE}Max Loan: {BLACK}{CURRENCY_LONG} +STR_FINANCES_MAX_LOAN :{WHITE}Maximum Loan: {BLACK}{CURRENCY_LONG} STR_FINANCES_TOTAL_CURRENCY :{BLACK}{CURRENCY_LONG} STR_FINANCES_BORROW_BUTTON :{BLACK}Borrow {CURRENCY_LONG} STR_FINANCES_BORROW_TOOLTIP :{BLACK}Increase size of loan. Ctrl+Click borrows as much as possible @@ -3343,10 +3395,10 @@ STR_PURCHASE_INFO_ALL_BUT :All but {CARGO_ STR_PURCHASE_INFO_MAX_TE :{BLACK}Max. Tractive Effort: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Range: {GOLD}{COMMA} tiles -STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Train vehicle selection list - click on vehicle for information -STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Road vehicle selection list - click on vehicle for information -STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Ship selection list - click on ship for information -STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Aircraft selection list - click on aircraft for information +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 +STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Ship selection list. Click on ship for information. Ctrl+Click to toggle hiding of the ship type +STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Aircraft selection list. Click on aircraft for information. Ctrl+Click to toggle hiding of the aircraft type STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}Buy Vehicle STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Buy Vehicle @@ -3368,6 +3420,21 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Rename r STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Rename ship type STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Rename aircraft type +STR_BUY_VEHICLE_TRAIN_HIDE_TOGGLE_BUTTON :{BLACK}Hide +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_TOGGLE_BUTTON :{BLACK}Hide +STR_BUY_VEHICLE_SHIP_HIDE_TOGGLE_BUTTON :{BLACK}Hide +STR_BUY_VEHICLE_AIRCRAFT_HIDE_TOGGLE_BUTTON :{BLACK}Hide + +STR_BUY_VEHICLE_TRAIN_SHOW_TOGGLE_BUTTON :{BLACK}Display +STR_BUY_VEHICLE_ROAD_VEHICLE_SHOW_TOGGLE_BUTTON :{BLACK}Display +STR_BUY_VEHICLE_SHIP_SHOW_TOGGLE_BUTTON :{BLACK}Display +STR_BUY_VEHICLE_AIRCRAFT_SHOW_TOGGLE_BUTTON :{BLACK}Display + +STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Toggle hiding/displaying of the train vehicle type +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Toggle hiding/displaying of the road vehicle type +STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Toggle hiding/displaying of the ship type +STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Toggle hiding/displaying of the aircraft type + STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}Rename train vehicle type STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}Rename road vehicle type STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}Rename ship type @@ -3421,7 +3488,7 @@ STR_DEPOT_CLONE_ROAD_VEHICLE :{BLACK}Clone Ve STR_DEPOT_CLONE_SHIP :{BLACK}Clone Ship STR_DEPOT_CLONE_AIRCRAFT :{BLACK}Clone Aircraft -STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}This will buy a copy of a train including all cars. Click this button and then on a train inside or outside the depot. Ctrl+Click share the orders. Shift+Click shows estimated cost without purchase +STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}This will buy a copy of a train including all cars. Click this button and then on a train inside or outside the depot. Ctrl+Click will share the orders. Shift+Click shows estimated cost without purchase STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}This will buy a copy of a road vehicle. Click this button and then on a road vehicle inside or outside the depot. Ctrl+Click will share the orders. Shift+Click shows estimated cost without purchase STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}This will buy a copy of a ship. Click this button and then on a ship inside or outside the depot. Ctrl+Click will share the orders. Shift+Click shows estimated cost without purchase STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}This will buy a copy of an aircraft. Click this button and then on an aircraft inside or outside the hangar. Ctrl+Click will share the orders. Shift+Click shows estimated cost without purchase @@ -3472,6 +3539,11 @@ STR_REPLACE_VEHICLE_ROAD_VEHICLE :Road Vehicle STR_REPLACE_VEHICLE_SHIP :Ship STR_REPLACE_VEHICLE_AIRCRAFT :Aircraft +STR_REPLACE_VEHICLE_VEHICLES_IN_USE :{YELLOW}Vehicles in use +STR_REPLACE_VEHICLE_VEHICLES_IN_USE_TOOLTIP :{BLACK}Column with vehicles that you own +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES :{YELLOW}Available vehicles +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES_TOOLTIP :{BLACK}Column with vehicles available for replacement + STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Select the engine type to replace STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Select the new engine type you would like to use in place of the left selected engine type @@ -3596,7 +3668,7 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Capacity STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Transfer Credits: {LTBLUE}{CURRENCY_LONG} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Maintenance interval: {LTBLUE}{COMMA}days{BLACK} Last maintenance: {LTBLUE}{DATE_LONG} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Maintenance interval: {LTBLUE}{COMMA}{NBSP}days{BLACK} Last maintenance: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Maintenance interval: {LTBLUE}{COMMA}%{BLACK} Last maintenance: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Increase maintenance interval by 10. Ctrl+Click increases maintenance interval by 5 STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Decrease maintenance interval by 10. Ctrl+Click decreases maintenance interval by 5 @@ -3694,8 +3766,8 @@ STR_ORDER_TOOLTIP_UNLOAD :{BLACK}Change t STR_ORDER_REFIT :{BLACK}Refit STR_ORDER_REFIT_TOOLTIP :{BLACK}Select what cargo type to refit to in this order. Ctrl+Click to remove refit instruction -STR_ORDER_REFIT_AUTO :{BLACK}Auto-refit -STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Select what cargo type to auto-refit to in this order. Ctrl+Click to remove refit instruction. Auto-refitting will only be done if the vehicle allows it +STR_ORDER_REFIT_AUTO :{BLACK}Refit at station +STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Select what cargo type to refit to in this order. Ctrl+Click to remove refit instruction. Refitting at stations will only be done if the vehicle allows it STR_ORDER_DROP_REFIT_AUTO :Fixed cargo STR_ORDER_DROP_REFIT_AUTO_ANY :Available cargo @@ -3743,7 +3815,7 @@ STR_ORDER_GO_TO_NEAREST_DEPOT :Go to nearest d STR_ORDER_GO_TO_NEAREST_HANGAR :Go to nearest hangar STR_ORDER_CONDITIONAL :Conditional order jump STR_ORDER_SHARE :Share orders -STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Insert a new order before the highlighted order, or add to end of list. Ctrl makes station orders 'full load any cargo', waypoint orders 'non-stop' and depot orders 'maintenance'. 'Share orders' or Ctrl lets this vehicle share orders with the selected vehicle. Clicking a vehicle copies the orders from that vehicle. A depot order disables automatic maintenance of the vehicle +STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Insert a new order before the highlighted order, or add to end of list. Ctrl makes station orders 'full load any cargo', waypoint orders 'non-stop', and depot orders 'maintenance'. 'Share orders' or Ctrl lets this vehicle share orders with the selected vehicle. Clicking a vehicle copies the orders from that vehicle. A depot order disables automatic maintenance of the vehicle STR_ORDERS_VEH_WITH_SHARED_ORDERS_LIST_TOOLTIP :{BLACK}Show all vehicles that share this schedule @@ -3786,18 +3858,18 @@ STR_ORDER_NO_UNLOAD_FULL_LOAD :(No unloading a STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY :(No unloading and wait for any full load) STR_ORDER_NO_UNLOAD_NO_LOAD :(No unloading and no loading) -STR_ORDER_AUTO_REFIT :(Auto-refit to {STRING}) -STR_ORDER_FULL_LOAD_REFIT :(Full load with auto-refit to {STRING}) -STR_ORDER_FULL_LOAD_ANY_REFIT :(Full load any cargo with auto-refit to {STRING}) -STR_ORDER_UNLOAD_REFIT :(Unload and take cargo with auto-refit to {STRING}) -STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(Unload and wait for full load with auto-refit to {STRING}) -STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(Unload and wait for any full load with auto-refit to {STRING}) -STR_ORDER_TRANSFER_REFIT :(Transfer and take cargo with auto-refit to {STRING}) -STR_ORDER_TRANSFER_FULL_LOAD_REFIT :(Transfer and wait for full load with auto-refit to {STRING}) -STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :(Transfer and wait for any full load with auto-refit to {STRING}) -STR_ORDER_NO_UNLOAD_REFIT :(No unloading and take cargo with auto-refit to {STRING}) -STR_ORDER_NO_UNLOAD_FULL_LOAD_REFIT :(No unloading and wait for full load with auto-refit to {STRING}) -STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY_REFIT :(No unloading and wait for any full load with auto-refit to {STRING}) +STR_ORDER_AUTO_REFIT :(Refit to {STRING}) +STR_ORDER_FULL_LOAD_REFIT :(Full load with refit to {STRING}) +STR_ORDER_FULL_LOAD_ANY_REFIT :(Full load any cargo with refit to {STRING}) +STR_ORDER_UNLOAD_REFIT :(Unload and take cargo with refit to {STRING}) +STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(Unload and wait for full load with refit to {STRING}) +STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(Unload and wait for any full load with refit to {STRING}) +STR_ORDER_TRANSFER_REFIT :(Transfer and take cargo with refit to {STRING}) +STR_ORDER_TRANSFER_FULL_LOAD_REFIT :(Transfer and wait for full load with refit to {STRING}) +STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :(Transfer and wait for any full load with refit to {STRING}) +STR_ORDER_NO_UNLOAD_REFIT :(No unloading and take cargo with refit to {STRING}) +STR_ORDER_NO_UNLOAD_FULL_LOAD_REFIT :(No unloading and wait for full load with refit to {STRING}) +STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY_REFIT :(No unloading and wait for any full load with refit to {STRING}) STR_ORDER_AUTO_REFIT_ANY :available cargo @@ -3823,13 +3895,17 @@ STR_TIMETABLE_TOOLTIP :{BLACK}Timetabl STR_TIMETABLE_NO_TRAVEL :No travel STR_TIMETABLE_NOT_TIMETABLEABLE :Travel (automatic; timetabled by next manual order) STR_TIMETABLE_TRAVEL_NOT_TIMETABLED :Travel (not timetabled) -STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Travel with at most {2:VELOCITY} (not timetabled) +STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Travel (not timetabled) with at most {2:VELOCITY} STR_TIMETABLE_TRAVEL_FOR :Travel for {STRING} STR_TIMETABLE_TRAVEL_FOR_SPEED :Travel for {STRING} with at most {VELOCITY} +STR_TIMETABLE_TRAVEL_FOR_ESTIMATED :Travel (for {STRING}, not timetabled) +STR_TIMETABLE_TRAVEL_FOR_SPEED_ESTIMATED :Travel (for {STRING}, not timetabled) with at most {VELOCITY} +STR_TIMETABLE_STAY_FOR_ESTIMATED :(stay for {STRING}, not timetabled) +STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(travel for {STRING}, not timetabled) STR_TIMETABLE_STAY_FOR :and stay for {STRING} STR_TIMETABLE_AND_TRAVEL_FOR :and travel for {STRING} -STR_TIMETABLE_DAYS :{COMMA} day{P "" s} -STR_TIMETABLE_TICKS :{COMMA} tick{P "" s} +STR_TIMETABLE_DAYS :{COMMA}{NBSP}day{P "" s} +STR_TIMETABLE_TICKS :{COMMA}{NBSP}tick{P "" s} STR_TIMETABLE_TOTAL_TIME :{BLACK}This timetable will take {STRING} to complete STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}This timetable will take at least {STRING} to complete (not all timetabled) @@ -3840,7 +3916,7 @@ STR_TIMETABLE_STATUS_EARLY :{BLACK}This veh STR_TIMETABLE_STATUS_NOT_STARTED :{BLACK}This timetable has not yet started STR_TIMETABLE_STATUS_START_AT :{BLACK}This timetable will start at {STRING} -STR_TIMETABLE_STARTING_DATE :{BLACK}Start date +STR_TIMETABLE_STARTING_DATE :{BLACK}Start Date STR_TIMETABLE_STARTING_DATE_TOOLTIP :{BLACK}Select a date as starting point of this timetable. Ctrl+Click sets the starting point of this timetable and distributes all vehicles sharing this order evenly based on their relative order, if the order is completely timetabled STR_TIMETABLE_CHANGE_TIME :{BLACK}Change Time @@ -4067,6 +4143,7 @@ STR_ERROR_EXCAVATION_WOULD_DAMAGE :{WHITE}Excavati STR_ERROR_ALREADY_AT_SEA_LEVEL :{WHITE}... already at sea level STR_ERROR_TOO_HIGH :{WHITE}... too high STR_ERROR_ALREADY_LEVELLED :{WHITE}... already flat +STR_ERROR_BRIDGE_TOO_HIGH_AFTER_LOWER_LAND :{WHITE}Afterwards the bridge above it would be too high. # Company related errors STR_ERROR_CAN_T_CHANGE_COMPANY_NAME :{WHITE}Can't change company name... @@ -4093,7 +4170,7 @@ STR_ERROR_TOO_CLOSE_TO_EDGE_OF_MAP_SUB :{WHITE}... too STR_ERROR_TOO_CLOSE_TO_ANOTHER_TOWN :{WHITE}... too close to another town STR_ERROR_TOO_MANY_TOWNS :{WHITE}... too many towns STR_ERROR_NO_SPACE_FOR_TOWN :{WHITE}... there is no more space on the map -STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}The town will not build roads. You can enable building of roads via Advanced Settings->Economy->Towns +STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}The town will not build roads. You can enable building of roads via Settings->Environment->Towns STR_ERROR_ROAD_WORKS_IN_PROGRESS :{WHITE}Road work in progress STR_ERROR_TOWN_CAN_T_DELETE :{WHITE}Can't delete this town...{}A station or depot is referring to the town or a town owned tile can't be removed STR_ERROR_STATUE_NO_SUITABLE_PLACE :{WHITE}... there is no suitable place for a statue in the center of this town @@ -4117,6 +4194,9 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... fore STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... can only be built above the snow-line STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... can only be built below the snow-line +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}There were no suitable places for '{STRING}' industries +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Change the map generation parameters to get a better map + # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Can't build railroad station here... STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}Can't build bus station... @@ -4253,6 +4333,7 @@ STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Must dem STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}Can't start and end in the same spot STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}Bridge heads not at the same level STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}Bridge is too low for the terrain +STR_ERROR_BRIDGE_TOO_HIGH_FOR_TERRAIN :{WHITE}Bridge is too high for this terrain. STR_ERROR_START_AND_END_MUST_BE_IN :{WHITE}Start and end must be in line STR_ERROR_ENDS_OF_BRIDGE_MUST_BOTH :{WHITE}... ends of bridge must both be on land STR_ERROR_BRIDGE_TOO_LONG :{WHITE}... bridge too long @@ -4396,7 +4477,7 @@ STR_BASEMUSIC_NONE_DESCRIPTION :A music pack wi # Town building names STR_TOWN_BUILDING_NAME_TALL_OFFICE_BLOCK_1 :Tall office block STR_TOWN_BUILDING_NAME_OFFICE_BLOCK_1 :Office block -STR_TOWN_BUILDING_NAME_SMALL_BLOCK_OF_FLATS_1 :Small block of apartments +STR_TOWN_BUILDING_NAME_SMALL_BLOCK_OF_FLATS_1 :Small apartment building STR_TOWN_BUILDING_NAME_CHURCH_1 :Church STR_TOWN_BUILDING_NAME_LARGE_OFFICE_BLOCK_1 :Large office block STR_TOWN_BUILDING_NAME_TOWN_HOUSES_1 :Town houses @@ -4413,7 +4494,7 @@ STR_TOWN_BUILDING_NAME_STADIUM_1 :Stadium STR_TOWN_BUILDING_NAME_OLD_HOUSES_1 :Old houses STR_TOWN_BUILDING_NAME_COTTAGES_1 :Cottages STR_TOWN_BUILDING_NAME_HOUSES_1 :Houses -STR_TOWN_BUILDING_NAME_FLATS_1 :Apartments +STR_TOWN_BUILDING_NAME_FLATS_1 :Apartment Building STR_TOWN_BUILDING_NAME_TALL_OFFICE_BLOCK_2 :Tall office block STR_TOWN_BUILDING_NAME_SHOPS_AND_OFFICES_2 :Shops and offices STR_TOWN_BUILDING_NAME_SHOPS_AND_OFFICES_3 :Shops and offices @@ -4431,7 +4512,7 @@ STR_TOWN_BUILDING_NAME_PIGGY_BANK_1 :Piggy-Bank ##id 0x4800 # industry names STR_INDUSTRY_NAME_COAL_MINE :Coal Mine -STR_INDUSTRY_NAME_POWER_STATION :Power Station +STR_INDUSTRY_NAME_POWER_STATION :Power Plant STR_INDUSTRY_NAME_SAWMILL :Sawmill STR_INDUSTRY_NAME_FOREST :Forest STR_INDUSTRY_NAME_OIL_REFINERY :Oil Refinery @@ -4539,7 +4620,7 @@ STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_T_I_M_ELECTRIC :'T.I.M.' (Elect STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_ASIASTAR_ELECTRIC :'AsiaStar' (Electric) STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_PASSENGER_CAR :Passenger Car STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_MAIL_VAN :Mail Car -STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_COAL_CAR :Coal Car +STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_COAL_CAR :Coal Hopper STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_OIL_TANKER :Oil Tanker STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_LIVESTOCK_VAN :Livestock Boxcar STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_GOODS_VAN :Goods Car @@ -4569,7 +4650,7 @@ STR_VEHICLE_NAME_TRAIN_ENGINE_MONORAIL_MILLENNIUM_Z1_ELECTRIC :'Millennium Z1' STR_VEHICLE_NAME_TRAIN_ENGINE_MONORAIL_WIZZOWOW_Z99 :Wizzowow Z99 STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_PASSENGER_CAR :Passenger Car STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_MAIL_VAN :Mail Car -STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_COAL_CAR :Coal Car +STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_COAL_CAR :Coal Hopper STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_OIL_TANKER :Oil Tanker STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_LIVESTOCK_VAN :Livestock Boxcar STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_GOODS_VAN :Goods Car @@ -4601,7 +4682,7 @@ STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV4_CHIMAERA_ELECTRIC :Lev4 'Chimaera' STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_WIZZOWOW_ROCKETEER :Wizzowow Rocketeer STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_PASSENGER_CAR :Passenger Car STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_MAIL_VAN :Mail Car -STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_COAL_CAR :Coal Car +STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_COAL_CAR :Coal Hopper STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_OIL_TANKER :Oil Tanker STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_LIVESTOCK_VAN :Livestock Boxcar STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_GOODS_VAN :Goods Car @@ -4769,9 +4850,9 @@ STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :Powernaut Helic ##id 0x8800 # Formatting of some strings -STR_FORMAT_DATE_TINY :{STRING}-{STRING}-{NUM} +STR_FORMAT_DATE_TINY :{1:STRING}/{0:STRING}/{2:NUM} STR_FORMAT_DATE_SHORT :{STRING} {NUM} -STR_FORMAT_DATE_LONG :{STRING} {STRING} {NUM} +STR_FORMAT_DATE_LONG :{1:STRING} {0:STRING}, {2:NUM} STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING} STR_FORMAT_BUOY_NAME :{TOWN} Buoy @@ -4817,6 +4898,7 @@ STR_COMPANY_NAME :{COMPANY} STR_COMPANY_NAME_COMPANY_NUM :{COMPANY} {COMPANY_NUM} STR_DEPOT_NAME :{DEPOT} STR_ENGINE_NAME :{ENGINE} +STR_HIDDEN_ENGINE_NAME :{ENGINE} (hidden) STR_GROUP_NAME :{GROUP} STR_INDUSTRY_NAME :{INDUSTRY} STR_PRESIDENT_NAME :{PRESIDENT_NAME} @@ -4852,8 +4934,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -4864,9 +4944,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/esperanto.txt b/src/lang/esperanto.txt index 7560d0ad7d..3e2be61c33 100644 --- a/src/lang/esperanto.txt +++ b/src/lang/esperanto.txt @@ -96,30 +96,30 @@ STR_CARGO_SINGULAR_FIZZY_DRINK :Amuza Trinkaĵo # Quantity of cargo STR_QUANTITY_NOTHING : -STR_QUANTITY_PASSENGERS :{COMMA} pasaĝero{P "" j} +STR_QUANTITY_PASSENGERS :{COMMA}{NBSP}pasaĝero{P "" j} STR_QUANTITY_COAL :{WEIGHT_LONG} da karbo -STR_QUANTITY_MAIL :{COMMA} sako{P "" j} da poŝto +STR_QUANTITY_MAIL :{COMMA}{NBSP}sako{P "" j} da poŝto STR_QUANTITY_OIL :{VOLUME_LONG} da oleo -STR_QUANTITY_LIVESTOCK :{COMMA} bruto{P "" j} -STR_QUANTITY_GOODS :{COMMA} kesto{P "" j} da varoj +STR_QUANTITY_LIVESTOCK :{COMMA}{NBSP}bruto{P "" j} +STR_QUANTITY_GOODS :{COMMA}{NBSP}kesto{P "" j} da varoj STR_QUANTITY_GRAIN :{WEIGHT_LONG} da greno STR_QUANTITY_WOOD :{WEIGHT_LONG} da ligno STR_QUANTITY_IRON_ORE :{WEIGHT_LONG} da fera erco STR_QUANTITY_STEEL :{WEIGHT_LONG} da ŝtalo -STR_QUANTITY_VALUABLES :{COMMA} sako{P "" j} da valoraĵoj +STR_QUANTITY_VALUABLES :{COMMA}{NBSP}sako{P "" j} da valoraĵoj STR_QUANTITY_COPPER_ORE :{WEIGHT_LONG} da kupra erco STR_QUANTITY_MAIZE :{WEIGHT_LONG} da maizo STR_QUANTITY_FRUIT :{WEIGHT_LONG} da fruktoj -STR_QUANTITY_DIAMONDS :{COMMA} sako{P "" j} da diamantoj +STR_QUANTITY_DIAMONDS :{COMMA}{NBSP}sako{P "" j} da diamantoj STR_QUANTITY_FOOD :{WEIGHT_LONG} da manĝaĵoj STR_QUANTITY_PAPER :{WEIGHT_LONG} da papero -STR_QUANTITY_GOLD :{COMMA} sako{P "" j} da oro +STR_QUANTITY_GOLD :{COMMA}{NBSP}sako{P "" j} da oro STR_QUANTITY_WATER :{VOLUME_LONG} da akvo STR_QUANTITY_WHEAT :{WEIGHT_LONG} da tritiko STR_QUANTITY_RUBBER :{VOLUME_LONG} da kaŭĉuko STR_QUANTITY_SUGAR :{WEIGHT_LONG} da sukero -STR_QUANTITY_TOYS :{COMMA} ludilo{P "" j} -STR_QUANTITY_SWEETS :{COMMA} sako{P "" j} da dolĉaĵoj +STR_QUANTITY_TOYS :{COMMA}{NBSP}ludilo{P "" j} +STR_QUANTITY_SWEETS :{COMMA}{NBSP}sako{P "" j} da dolĉaĵoj STR_QUANTITY_COLA :{VOLUME_LONG} da kolao STR_QUANTITY_CANDYFLOSS :{WEIGHT_LONG} da sukerŝpinaĵo STR_QUANTITY_BUBBLES :{COMMA} veziko{P "" j} @@ -166,12 +166,12 @@ STR_ABBREV_NONE :{TINY_FONT}NENI STR_ABBREV_ALL :{TINY_FONT}ĈIU # 'Mode' of transport for cargoes -STR_PASSENGERS :{COMMA} pasaĝero{P "" j} -STR_BAGS :{COMMA} sako{P "" j} -STR_TONS :{COMMA} tuno{P "" j} -STR_LITERS :{COMMA} litro{P "" j} -STR_ITEMS :{COMMA} peco{P "" j} -STR_CRATES :{COMMA} kesto{P "" j} +STR_PASSENGERS :{COMMA}{NBSP}pasaĝero{P "" j} +STR_BAGS :{COMMA}{NBSP}sako{P "" j} +STR_TONS :{COMMA}{NBSP}tuno{P "" j} +STR_LITERS :{COMMA}{NBSP}litro{P "" j} +STR_ITEMS :{COMMA}{NBSP}peco{P "" j} +STR_CRATES :{COMMA}{NBSP}kesto{P "" j} # Colours, do not shuffle STR_COLOUR_DARK_BLUE :Malhelblua @@ -192,35 +192,44 @@ STR_COLOUR_GREY :Griza STR_COLOUR_WHITE :Blanka # Units used in OpenTTD -STR_UNITS_VELOCITY_IMPERIAL :{COMMA} mph -STR_UNITS_VELOCITY_METRIC :{COMMA} km/h -STR_UNITS_VELOCITY_SI :{COMMA} m/s +STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}mph +STR_UNITS_VELOCITY_METRIC :{COMMA}{NBSP}km/h +STR_UNITS_VELOCITY_SI :{COMMA}{NBSP}m/s -STR_UNITS_POWER_IMPERIAL :{COMMA}ĉp -STR_UNITS_POWER_METRIC :{COMMA}ĉp -STR_UNITS_POWER_SI :{COMMA}kW +STR_UNITS_POWER_IMPERIAL :{COMMA}{NBSP}ĉp +STR_UNITS_POWER_METRIC :{COMMA}{NBSP}ĉp +STR_UNITS_POWER_SI :{COMMA}{NBSP}kW -STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}t -STR_UNITS_WEIGHT_SHORT_SI :{COMMA}kg +STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_SI :{COMMA}{NBSP}kg -STR_UNITS_WEIGHT_LONG_METRIC :{COMMA} tuno{P "" j} -STR_UNITS_WEIGHT_LONG_SI :{COMMA} kg +STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA}{NBSP}tuno{P "" j} +STR_UNITS_WEIGHT_LONG_METRIC :{COMMA}{NBSP}tuno{P "" j} +STR_UNITS_WEIGHT_LONG_SI :{COMMA}{NBSP}kg -STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}l -STR_UNITS_VOLUME_SHORT_SI :{COMMA}m³ +STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}{NBSP}gal +STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}{NBSP}l +STR_UNITS_VOLUME_SHORT_SI :{COMMA}{NBSP}m³ -STR_UNITS_VOLUME_LONG_METRIC :{COMMA} litro{P "" j} -STR_UNITS_VOLUME_LONG_SI :{COMMA} m³ +STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA}{NBSP}galono{P "" j} +STR_UNITS_VOLUME_LONG_METRIC :{COMMA}{NBSP}litro{P "" j} +STR_UNITS_VOLUME_LONG_SI :{COMMA}{NBSP}m³ -STR_UNITS_FORCE_SI :{COMMA} kN +STR_UNITS_FORCE_IMPERIAL :{COMMA}{NBSP}lbf +STR_UNITS_FORCE_METRIC :{COMMA}{NBSP}kgf +STR_UNITS_FORCE_SI :{COMMA}{NBSP}kN -STR_UNITS_HEIGHT_IMPERIAL :{COMMA} ft -STR_UNITS_HEIGHT_SI :{COMMA} m +STR_UNITS_HEIGHT_IMPERIAL :{COMMA}{NBSP}ft +STR_UNITS_HEIGHT_METRIC :{COMMA}{NBSP}m +STR_UNITS_HEIGHT_SI :{COMMA}{NBSP}m # Common window strings +STR_LIST_FILTER_TITLE :{BLACK}Filtroteksto: STR_LIST_FILTER_OSKTITLE :{BLACK}Entajpu filtrotekston. STR_LIST_FILTER_TOOLTIP :{BLACK}Enigu ŝlosilvorton laŭ kiu filtri la liston +STR_TOOLTIP_GROUP_ORDER :{BLACK}Elektu gruparanĝo STR_TOOLTIP_SORT_ORDER :{BLACK}Elektu vicordo (deira/alira) STR_TOOLTIP_SORT_CRITERIA :{BLACK}Elektu ordigaj kondiĉoj STR_TOOLTIP_FILTER_CRITERIA :{BLACK}Selektu kriteriojn por filtrado @@ -231,13 +240,20 @@ STR_BUTTON_RENAME :{BLACK}Alinomi STR_TOOLTIP_CLOSE_WINDOW :{BLACK}Fermu fenestron STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS :{BLACK}Fenestra titolo - tiru por movi la fenestron STR_TOOLTIP_SHADE :{BLACK}Minimumigi fenestron - montri nur la titolbreton -STR_TOOLTIP_STICKY :{BLACK}Marku ke ne fermiĝu la fenestro per la 'ĉiujn fenestrojn fermu'-klavo +STR_TOOLTIP_STICKY :{BLACK}Marku ke ne fermiĝu la fenestro per la 'ĉiujn fenestrojn fermu'-klavo. Konservu kiel defaŭlta stato per Ctrl-klavo + alklaki. STR_TOOLTIP_RESIZE :{BLACK}Klaku kaj tiru por reformi la fenestron STR_TOOLTIP_TOGGLE_LARGE_SMALL_WINDOW :{BLACK}Ŝaltu inter granda kaj malgranda fenestro STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Skrolbreto - skrolas la liston supren/malsupren STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Skrolbreto - skrolas la liston dekstren/maldekstren STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Detruu konstruaĵojn ktp. sur landkvadrato. Stir elektas diagonale la areon. Shift aktivas/malaktivas la konstruaĵon/montraĵon estiman koston +# Show engines button +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}Montru kaŝita +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK}Montru kaŝita +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}Montru kaŝita +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}Montru kaŝita + + # Query window STR_BUTTON_DEFAULT :{BLACK}Normo STR_BUTTON_CANCEL :{BLACK}Nuligu @@ -275,6 +291,8 @@ STR_SORT_BY_LENGTH :Longo STR_SORT_BY_LIFE_TIME :Resta vivo STR_SORT_BY_TIMETABLE_DELAY :Horara malfruo STR_SORT_BY_FACILITY :Stacidoma tipo +STR_SORT_BY_WAITING_TOTAL :Tuta atendata ŝarĝo +STR_SORT_BY_WAITING_AVAILABLE :Disponebla atendata ŝarĝo STR_SORT_BY_RATING_MAX :Plejalta ŝarĝotakso STR_SORT_BY_RATING_MIN :Malplejalta ŝarĝotakso STR_SORT_BY_ENGINE_ID :Maŝina ID (klasika ordigo) @@ -299,6 +317,8 @@ STR_TOOLBAR_TOOLTIP_DISPLAY_SUBSIDIES :{BLACK}Montru s STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_STATIONS :{BLACK}Montri stacidomoliston de la kompanio. STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_FINANCES :{BLACK}Montru kompaniajn financajn informojn STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_GENERAL :{BLACK}Montru ĝeneralajn kompaniajn informojn +STR_TOOLBAR_TOOLTIP_DISPLAY_STORY_BOOK :{BLACK}Montru rakontolibron +STR_TOOLBAR_TOOLTIP_DISPLAY_GOALS_LIST :{BLACK}Montru celoj-liston STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}Montru grafikojn STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_LEAGUE :{BLACK}Montru kompanian tabelon STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}Pagu konstruadon de nova industrio aŭ listigu ĉiujn industriojn @@ -346,7 +366,8 @@ STR_SCENEDIT_FILE_MENU_QUIT :Forlasi ############ range for settings menu starts STR_SETTINGS_MENU_GAME_OPTIONS :Ludaj opcioj -STR_SETTINGS_MENU_CONFIG_SETTINGS :Avancitaj agordoj +STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Agordoj +STR_SETTINGS_MENU_SCRIPT_SETTINGS :AI/Ludo skripto agordoj STR_SETTINGS_MENU_NEWGRF_SETTINGS :Agordoj de NewGRF STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Ebloj por travidebleco STR_SETTINGS_MENU_TOWN_NAMES_DISPLAYED :Urbonomoj montriĝas @@ -371,6 +392,7 @@ STR_FILE_MENU_EXIT :Fermu # map menu STR_MAP_MENU_MAP_OF_WORLD :Mondomapo STR_MAP_MENU_EXTRA_VIEW_PORT :Plia vidujo +STR_MAP_MENU_LINGRAPH_LEGEND :Legendo de ŝarĝfluo STR_MAP_MENU_SIGN_LIST :Afiŝa listo ############ range for town menu starts @@ -448,10 +470,11 @@ STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Pligrandiga ekr STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Ekranfoto defaŭlte zoma STR_ABOUT_MENU_GIANT_SCREENSHOT :Tuta karto ekranfoto STR_ABOUT_MENU_ABOUT_OPENTTD :Pri 'OpenTTD' +STR_ABOUT_MENU_SPRITE_ALIGNER :Bildeto-liniigilo STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Montri/ne montri limigujo ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window STR_ORDINAL_NUMBER_1ST :1a de STR_ORDINAL_NUMBER_2ND :2a de STR_ORDINAL_NUMBER_3RD :3a de @@ -467,22 +490,40 @@ STR_ORDINAL_NUMBER_12TH :12a de STR_ORDINAL_NUMBER_13TH :13a de STR_ORDINAL_NUMBER_14TH :14a de STR_ORDINAL_NUMBER_15TH :15a de -STR_ORDINAL_NUMBER_16TH :16a de -STR_ORDINAL_NUMBER_17TH :17a de -STR_ORDINAL_NUMBER_18TH :18a de -STR_ORDINAL_NUMBER_19TH :19a de -STR_ORDINAL_NUMBER_20TH :20a de -STR_ORDINAL_NUMBER_21ST :21a de -STR_ORDINAL_NUMBER_22ND :22a de -STR_ORDINAL_NUMBER_23RD :23a de -STR_ORDINAL_NUMBER_24TH :24a de -STR_ORDINAL_NUMBER_25TH :25a de -STR_ORDINAL_NUMBER_26TH :26a de -STR_ORDINAL_NUMBER_27TH :27a de -STR_ORDINAL_NUMBER_28TH :28a de -STR_ORDINAL_NUMBER_29TH :29a de -STR_ORDINAL_NUMBER_30TH :30a de -STR_ORDINAL_NUMBER_31ST :31a de +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :1a de +STR_DAY_NUMBER_2ND :2a de +STR_DAY_NUMBER_3RD :3a de +STR_DAY_NUMBER_4TH :4a de +STR_DAY_NUMBER_5TH :5a de +STR_DAY_NUMBER_6TH :6a de +STR_DAY_NUMBER_7TH :7a de +STR_DAY_NUMBER_8TH :8a de +STR_DAY_NUMBER_9TH :9a de +STR_DAY_NUMBER_10TH :10a de +STR_DAY_NUMBER_11TH :11a de +STR_DAY_NUMBER_12TH :12a de +STR_DAY_NUMBER_13TH :13a de +STR_DAY_NUMBER_14TH :14a de +STR_DAY_NUMBER_15TH :15a de +STR_DAY_NUMBER_16TH :16a de +STR_DAY_NUMBER_17TH :17a de +STR_DAY_NUMBER_18TH :18a de +STR_DAY_NUMBER_19TH :19a de +STR_DAY_NUMBER_20TH :20a de +STR_DAY_NUMBER_21ST :21a de +STR_DAY_NUMBER_22ND :22a de +STR_DAY_NUMBER_23RD :23a de +STR_DAY_NUMBER_24TH :24a de +STR_DAY_NUMBER_25TH :25a de +STR_DAY_NUMBER_26TH :26a de +STR_DAY_NUMBER_27TH :27a de +STR_DAY_NUMBER_28TH :28a de +STR_DAY_NUMBER_29TH :29a de +STR_DAY_NUMBER_30TH :30a de +STR_DAY_NUMBER_31ST :31a de ############ range for days ends ############ range for months starts @@ -655,12 +696,14 @@ STR_SMALLMAP_CAPTION :{WHITE}Mapo - { STR_SMALLMAP_TYPE_CONTOURS :Konturoj STR_SMALLMAP_TYPE_VEHICLES :Veturiloj STR_SMALLMAP_TYPE_INDUSTRIES :Industrioj +STR_SMALLMAP_TYPE_ROUTEMAP :Ŝarĝfluo STR_SMALLMAP_TYPE_ROUTES :Vojiroj STR_SMALLMAP_TYPE_VEGETATION :Verdaĵo STR_SMALLMAP_TYPE_OWNERS :Posedantoj STR_SMALLMAP_TOOLTIP_SHOW_LAND_CONTOURS_ON_MAP :{BLACK}Montru landkonturojn sur la mapo STR_SMALLMAP_TOOLTIP_SHOW_VEHICLES_ON_MAP :{BLACK}Montru veturilojn sur la mapo STR_SMALLMAP_TOOLTIP_SHOW_INDUSTRIES_ON_MAP :{BLACK}Montru industriojn sur la mapo +STR_SMALLMAP_TOOLTIP_SHOW_LINK_STATS_ON_MAP :{BLACK} Montru Ŝarĝfluon en mapo STR_SMALLMAP_TOOLTIP_SHOW_TRANSPORT_ROUTES_ON :{BLACK}Montru transportstratojn sur la mapo STR_SMALLMAP_TOOLTIP_SHOW_VEGETATION_ON_MAP :{BLACK}Montru verdaĵojn sur la mapo STR_SMALLMAP_TOOLTIP_SHOW_LAND_OWNERS_ON_MAP :{BLACK}Montru landposedantojn sur la mapo @@ -698,6 +741,7 @@ STR_SMALLMAP_LEGENDA_SNOW :{TINY_FONT}{BLA STR_SMALLMAP_TOOLTIP_TOGGLE_TOWN_NAMES_ON_OFF :{BLACK}Vidu aŭ ne vidu urbonomojn sur la mapo STR_SMALLMAP_CENTER :{BLACK}Centrigi la mapeton al la nuna loko STR_SMALLMAP_INDUSTRY :{TINY_FONT}{STRING} ({NUM}) +STR_SMALLMAP_LINKSTATS :{TINY_FONT}{STRING} STR_SMALLMAP_COMPANY :{TINY_FONT}{COMPANY} STR_SMALLMAP_TOWN :{TINY_FONT}{WHITE}{TOWN} STR_SMALLMAP_DISABLE_ALL :{BLACK}Malaktivigu ĉiujn @@ -784,13 +828,11 @@ STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}{VEHICLE STR_NEWS_SHIP_IS_WAITING :{WHITE}{VEHICLE} atendas en depoto STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE} atendas en la hangaro. -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE +# Order review system / warnings STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE} ne havas sufiĉajn ordonojn en la itinero STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE} havas malplenan ordonon STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE} havas duoblajn ordonojn STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}Ordonoj de {VEHICLE} enhavas nevalidan stacion -# end of order system STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} malnoviĝis STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} tre malnoviĝis @@ -868,10 +910,6 @@ STR_GAME_OPTIONS_CURRENCY_GEL :Kartvela Lario STR_GAME_OPTIONS_CURRENCY_IRR :Irana Rialo (IRR) ############ end of currency region - -############ start of measuring units region -############ end of measuring units region - STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Stratveturiloj STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}Elektu stratflankon kie veturu veturiloj STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :Veturu maldekstre @@ -907,11 +945,13 @@ STR_GAME_OPTIONS_TOWN_NAME_CATALAN :Katalune STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Aŭtomata konservado STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Elektu intervalon inter aŭtomataj konservadoj de la ludo +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Malaktiva STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :Je ĉiu monato STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :Je ĉiuj 3 monatoj STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :Je ĉiuj 6 monatoj STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :Je ĉiuj 12 monatoj +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}Lingvo STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Elektu uzotan interfacan lingvon @@ -923,8 +963,11 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}Ekrana m STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Elektu uzotan ekranan montrograndon STR_GAME_OPTIONS_RESOLUTION_OTHER :alia -STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}Ekranfota formato -STR_GAME_OPTIONS_SCREENSHOT_FORMAT_TOOLTIP :{BLACK}Elektu uzotan ekranfotan formaton +STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Interfacgrandeco + +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normala +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Duobla grandeco +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Kvaroble grandeco STR_GAME_OPTIONS_BASE_GRF :{BLACK}Baza grafikaro STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Selektu la uzendan bazgrafikaron @@ -1022,13 +1065,16 @@ STR_CITY_APPROVAL_HOSTILE :Gastige STR_WARNING_NO_SUITABLE_AI :{WHITE}Neniu taŭga AI estas disponebla...{}Kelkaj AI-oj estas elŝuteblaj per la sistemo 'Enreta Enhavo'. -# Advanced settings window -STR_CONFIG_SETTING_CAPTION :{WHITE}Avancitaj agordoj +# Settings tree window +STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Agordoj +STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Filtroteksto: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Etendu ĉio STR_CONFIG_SETTING_NO_EXPLANATION_AVAILABLE_HELPTEXT :(neniu ekspliko disponeble) STR_CONFIG_SETTING_DEFAULT_VALUE :{LTBLUE}Defaŭlta valoro: {ORANGE}{STRING} STR_CONFIG_SETTING_TYPE :{LTBLUE}Tipo de agordo: {ORANGE}{STRING} +STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK}Kategorio: +STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}Tipo: STR_CONFIG_SETTING_RESTRICT_BASIC :Bazniveloj agordoj STR_CONFIG_SETTING_RESTRICT_ADVANCED :Altnivelaj agordoj STR_CONFIG_SETTING_RESTRICT_ALL :Altnivelaj agordoj / ĉiu agordoj @@ -1036,10 +1082,11 @@ STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :agordoj kiuj ma STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :Agordoj kiu malsimilas al via novajuldaj agordoj STR_CONFIG_SETTING_TYPE_DROPDOWN_ALL :Ĉiuj agordoj -STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :Ludo agordojn (stokite en savoj, nur tuŝas novajn ludojn) +STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :Ludo agordojn (stokite en savoj; nur tuŝas novajn ludojn) STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :Ludo agordojn (stokite en savo; tuŝas nur kuranta ludo) -STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :Kompanio agordojn (stokite en savoj, nur tuŝas novajn ludojn) +STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :Kompanio agordojn (stokite en savoj; nur tuŝas novajn ludojn) STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :Kompanio agordojn (stokita en savu; tuŝas nur kuranta kompanio) +STR_CONFIG_SETTINGS_NONE :{WHITE}- Neniu - STR_CONFIG_SETTING_OFF :Malaktiva STR_CONFIG_SETTING_ON :Aktiva @@ -1068,8 +1115,7 @@ STR_CONFIG_SETTING_CONSTRUCTION_COSTS_HELPTEXT :Ŝanĝu nivelon STR_CONFIG_SETTING_RECESSIONS :Recesioj: {STRING} STR_CONFIG_SETTING_DISASTERS :Katastrofoj: {STRING} -STR_CONFIG_SETTING_BUILDONSLOPES :Permesu konstrui sur kliniĝoj kaj bordoj: {STRING} -STR_CONFIG_SETTING_AUTOSLOPE :Permesu terecigon sub konstruaĵoj, trakoj, ktp. (aŭtodeklivo): {STRING} +STR_CONFIG_SETTING_AUTOSLOPE :Permesu terecigon sub konstruaĵoj, trakoj, ktp.: {STRING} STR_CONFIG_SETTING_CATCHMENT :Permesu pli realgrandaj kaptoregionoj: {STRING} STR_CONFIG_SETTING_EXTRADYNAMITE :Permesu forigon de pli da urbaj stratoj, pontoj ktp: {STRING} STR_CONFIG_SETTING_TILE_LENGTH :{COMMA} kvadrato{P 0 "" j} @@ -1079,10 +1125,7 @@ STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL :Modelo de strat STR_CONFIG_SETTING_PERCENTAGE :{COMMA}% STR_CONFIG_SETTING_FORBID_90_DEG :Vagonaroj kaj ŝipoj ne ort-turniĝu: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Permesu ligi staciojn ne rekte najbarajn: {STRING} -STR_CONFIG_SETTING_IMPROVEDLOAD :Uzu plibonigitan ŝarĝalgoritmon: {STRING} -STR_CONFIG_SETTING_GRADUAL_LOADING :Laŭgrade ŝarĝu veturilojn: {STRING} STR_CONFIG_SETTING_INFLATION :Inflacio: {STRING} -STR_CONFIG_SETTING_SELECTGOODS :Nur liveru ŝarĝon al stacio se estas peto: {STRING} STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Permana ĉefa industri-konstrumaniero: {STRING} STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NONE :neniu STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NORMAL :kiel aliaj industrioj @@ -1097,9 +1140,10 @@ STR_CONFIG_SETTING_STOP_LOCATION :Novaj trajnordo STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :proksima fino STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :meza STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :fora fino -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING :Stratveturila vicigo (kun kvantum-efektoj): {STRING} STR_CONFIG_SETTING_AUTOSCROLL :Ŝovu fenestron se la muso estas ĉe la rando: {STRING} STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Malaktiva +STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT :Ĉefa vidujo +STR_CONFIG_SETTING_AUTOSCROLL_EVERY_VIEWPORT :Ĉiu vidujo STR_CONFIG_SETTING_BRIBE :Permesu subaĉeti la lokajn estrojn: {STRING} STR_CONFIG_SETTING_ALLOW_EXCLUSIVE :Permesu aĉeti ekskluzivajn transportrajtojn: {STRING} STR_CONFIG_SETTING_ALLOW_FUND_ROAD :Permesi fondusante lokan stratan rekonstruo: {STRING} @@ -1112,8 +1156,6 @@ STR_CONFIG_SETTING_PLANE_CRASHES_REDUCED :reduktita STR_CONFIG_SETTING_PLANE_CRASHES_NORMAL :normala STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Permesu trairajn bushaltejojn sur urboposedataj stratoj: {STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Permesu trairajn strathaltejojn sur stratoj posedataj de konkurantoj: {STRING} -STR_CONFIG_SETTING_ADJACENT_STATIONS :Permesu konstrui staciojn apude: {STRING} -STR_CONFIG_SETTING_DYNAMIC_ENGINES :Ebligu multoblajn NewGRF-motorarojn: {STRING} STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Ne eblas ŝanĝi ĉi tiujn agordon dum veturiloj ĉeestas STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Flughavenoj neniam antikviĝas: {STRING} @@ -1126,6 +1168,8 @@ STR_CONFIG_SETTING_ORDER_REVIEW_ON :de ĉiuj veturi STR_CONFIG_SETTING_WARN_INCOME_LESS :Avertu se gajno de veturilo negativas: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Veturiloj neniam eluziĝas: {STRING} STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Aŭtomate anstataŭu veturilon se malnoviĝas: {STRING} +STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_BEFORE :{COMMA} monato{P 0 "" j} antaŭe +STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_AFTER :{COMMA} monato{P 0 "" j} post STR_CONFIG_SETTING_AUTORENEW_MONEY :Minimuma mono por anstataŭado: {STRING} STR_CONFIG_SETTING_POPULATION_IN_LABEL :Montru enloĝantaron en urbnomindikilo: {STRING} @@ -1133,7 +1177,7 @@ STR_CONFIG_SETTING_LAND_GENERATOR :Landgenerilo: { STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Originale STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Neĝregiona alto: {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Nereguleco de tereno (nur por TerraGenesis) : {STRING} +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Nereguleco de tereno: {STRING} STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Tre Regule STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Regule STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Neregule @@ -1146,7 +1190,6 @@ STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Altecmapa turni STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Maldekstrume STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Dekstrume STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :Kiom alta fariĝos scenara mapo: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :Ebligu terecigon de la kaheloj ĉe la eĝoj de la mapo: {STRING} STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}Unu ay pli da xeloj en norda parto ne malplenas STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}Almenaŭ unu kahelo ĉe unu de la eĝoj ne estas akvo @@ -1158,7 +1201,7 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :Viola STR_CONFIG_SETTING_REVERSE_SCROLLING :Inversigu skroldirekton: {STRING} STR_CONFIG_SETTING_SMOOTH_SCROLLING :Glata rulumado de vidujo: {STRING} STR_CONFIG_SETTING_MEASURE_TOOLTIP :Montru mezuran konsilbalonon ĉe uzo de konstruiloj: {STRING} -STR_CONFIG_SETTING_LIVERIES :Montru kompaniajn liverojn: {STRING} +STR_CONFIG_SETTING_LIVERIES :Montru veturiltipe specifajn liverojn: {STRING} STR_CONFIG_SETTING_LIVERIES_NONE :Neniu STR_CONFIG_SETTING_LIVERIES_OWN :Propra kompanio STR_CONFIG_SETTING_LIVERIES_ALL :Ĉiuj kompanioj @@ -1181,20 +1224,19 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Ne STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Maldekstr-klak-rulumado: {STRING} + STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Uzu la {STRING} datformon por nomoj de konservludoj. STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :longa (31st Dec 2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :mallonga (31-12-2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE :Norma paletro supozi por NewGRFs ne specifanta paletron: {STRING} - STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Aŭtomate paŭzu startante novan ludon: {STRING} STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Permesu dum paŭza: {STRING} STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :neniu agoj STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :ĉiuj ne-konstruado agoj STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :ĉiuj sed pejzaĝo ŝanĝanta agoj STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_ACTIONS :ĉiuj agoj -STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Uzu la avancitan veturilaron: {STRING} +STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Uzu grupoj en veturilara listo: {STRING} STR_CONFIG_SETTING_LOADING_INDICATORS :Uzu ŝarg-indikilojn: {STRING} STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Montru horaron laŭ tikoj anstataŭ laŭ tagoj: {STRING} STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE :Montru alvenojn kaj forirojn sur horaroj: {STRING} @@ -1218,10 +1260,10 @@ STR_CONFIG_SETTING_SOUND_AMBIENT :Ĉirkaŭaĵo: { STR_CONFIG_SETTING_SOUND_AMBIENT_HELPTEXT :Ludu ĉirkaŭaĵa sonefektoj de pejzaĝo, industrioj kaj urboj STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING :Malaktivu fondan konstruon kiam decaj veturiloj ne estas disponebla: {STRING} -STR_CONFIG_SETTING_MAX_TRAINS :Trajna maksimumo por ĉiu ludanto: {STRING} -STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :Stratveturila maksimumo por ĉiu ludanto: {STRING} -STR_CONFIG_SETTING_MAX_AIRCRAFT :Aviadila maksimumo por ĉiu ludanto: {STRING} -STR_CONFIG_SETTING_MAX_SHIPS :Ŝipa maksimumo por ĉiu ludanto: {STRING} +STR_CONFIG_SETTING_MAX_TRAINS :Trajna maksimumo por ĉiu kompanio: {STRING} +STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :Stratveturila maksimumo por ĉiu kompanio: {STRING} +STR_CONFIG_SETTING_MAX_AIRCRAFT :Aviadila maksimumo por ĉiu kompanio: {STRING} +STR_CONFIG_SETTING_MAX_SHIPS :Ŝipa maksimumo por ĉiu kompanio: {STRING} STR_CONFIG_SETTING_AI_BUILDS_TRAINS :Malebligu trajnojn por la komputilo: {STRING} STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES :Malebligu stratveturilojn por la komputilo: {STRING} @@ -1304,7 +1346,6 @@ STR_CONFIG_SETTING_TOWN_GROWTH_NORMAL :Normale STR_CONFIG_SETTING_TOWN_GROWTH_FAST :Rapide STR_CONFIG_SETTING_TOWN_GROWTH_VERY_FAST :Tre rapide STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Komenca urbgrandeca multobligo: {STRING} -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :Forigu sensensajn straterojn dum stratkonstruado: {STRING} @@ -1313,25 +1354,18 @@ STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :Forigu sensensa -STR_CONFIG_SETTING_GUI :{ORANGE}Interfaco -STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}Konstruado -STR_CONFIG_SETTING_VEHICLES :{ORANGE}Veturiloj -STR_CONFIG_SETTING_STATIONS :{ORANGE}Stacioj -STR_CONFIG_SETTING_ECONOMY :{ORANGE}Ekonomio -STR_CONFIG_SETTING_AI :{ORANGE}Konkurantoj -STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}Montru opciojn -STR_CONFIG_SETTING_INTERACTION :{ORANGE}Interago STR_CONFIG_SETTING_SOUND :{ORANGE}Sonefektoj -STR_CONFIG_SETTING_NEWS :{ORANGE}Novaĵo kaj mesaĝoj -STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}Signaloj -STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE}Kargotraktado -STR_CONFIG_SETTING_AI_NPC :{ORANGE}Komputil-ludantoj -STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE}Aŭtorenovigo -STR_CONFIG_SETTING_VEHICLES_SERVICING :{ORANGE}Prizorgado +STR_CONFIG_SETTING_INTERFACE :{ORANGE}Interfaco +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Konstruado +STR_CONFIG_SETTING_VEHICLES :{ORANGE}Veturiloj STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Navigado -STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}Trajnoj -STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}Urboj -STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}Industrioj +STR_CONFIG_SETTING_ACCIDENTS :{ORANGE}Katastrofoj / akcidentoj +STR_CONFIG_SETTING_GENWORLD :{ORANGE}Mondgenerado +STR_CONFIG_SETTING_ENVIRONMENT :{ORANGE}Medio +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Urboj +STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}Industrioj +STR_CONFIG_SETTING_AI :{ORANGE}Konkurantoj +STR_CONFIG_SETTING_AI_NPC :{ORANGE}Komputil-ludantoj STR_CONFIG_SETTING_PATHFINDER_OPF :Originale STR_CONFIG_SETTING_PATHFINDER_NPF :NPF @@ -1358,7 +1392,7 @@ STR_INTRO_MULTIPLAYER :{BLACK}Pluraj L STR_INTRO_GAME_OPTIONS :{BLACK}Ludaj Opcioj STR_INTRO_HIGHSCORE :{BLACK}Altpoentara tabelo -STR_INTRO_ADVANCED_SETTINGS :{BLACK}Avancitaj agordoj +STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Agordoj STR_INTRO_NEWGRF_SETTINGS :{BLACK}Agordoj de NewGRF STR_INTRO_ONLINE_CONTENT :{BLACK}Provu Enretan Enhavon STR_INTRO_QUIT :{BLACK}Forlasi @@ -1377,7 +1411,7 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Elektu ' STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Montru ludajn opciojn STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Montru altpoentara tabelo -STR_INTRO_TOOLTIP_ADVANCED_SETTINGS :{BLACK}Montru avancitajn agordojn +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Montru agordojn STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Montri NewGRF-agordojn STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Serĉi pri nova kaj ĝisdatigita enhavo por elŝuti STR_INTRO_TOOLTIP_QUIT :{BLACK}Fermu 'OpenTTD' @@ -1410,7 +1444,7 @@ STR_ABANDON_SCENARIO_QUERY :{YELLOW}Ĉu vi # Cheat window STR_CHEATS :{WHITE}Filudaĵoj STR_CHEATS_TOOLTIP :{BLACK}La kvadratetoj indikas ĉu vi jam uzis la filudaĵon antaŭe. -STR_CHEATS_WARNING :{BLACK}Atentu! Vi perfidos viajn kunulajn konkurantojn. Memoru ke io tia rememoriĝos eterne. +STR_CHEATS_WARNING :{BLACK}Atentu! Vi preskaŭ perfidos viajn kunulajn konkurantojn. Memoru ke io tia rememoriĝos eterne STR_CHEAT_MONEY :{LTBLUE}Altigu monkvanton per {CURRENCY_LONG} STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Ludanta kiel kompanio: {ORANGE}{COMMA} STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Magia forigilo (forviŝu industriojn, nemovebla objektoj): {ORANGE}{STRING} @@ -1432,8 +1466,8 @@ STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Montru t STR_LIVERY_ROAD_VEHICLE_TOOLTIP :{BLACK}Montru stratveturilajn kolorskemojn STR_LIVERY_SHIP_TOOLTIP :{BLACK}Montru ŝipkolorajn skemojn STR_LIVERY_AIRCRAFT_TOOLTIP :{BLACK}Montru aviadilajn kolorskemojn -STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Elektu la unuan koloron por la elektita skemo -STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Elektu la duan koloron por la elektita skemo +STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Elektu la unuan koloron por la elektita skemo. Ctrl+klaki aktivigos tiu koloron je ĉiu skemoj +STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Elektu la duan koloron por la elektita skemo. Ctrl+klaki aktivigos tiu koloron je ĉiu skemoj STR_LIVERY_PANEL_TOOLTIP :{BLACK}Elektu la kolorskemon ŝanĝendan, aŭ plurajn per CTRL+click. Alklaku kvadraton por uzi/ne uzi skemon STR_LIVERY_DEFAULT :Normala Koloro @@ -1464,6 +1498,7 @@ STR_LIVERY_FREIGHT_TRAM :Frajttramo STR_FACE_CAPTION :{WHITE}Elekto de Vizaĝo STR_FACE_CANCEL_TOOLTIP :{BLACK}Nuligu elekton de nova vizaĝo STR_FACE_OK_TOOLTIP :{BLACK}Akceptu elekton de nova vizaĝo +STR_FACE_RANDOM :{BLACK}Hazardigu STR_FACE_MALE_BUTTON :{BLACK}Vira STR_FACE_MALE_TOOLTIP :{BLACK}Elektu virajn vizaĝojn @@ -1472,17 +1507,17 @@ STR_FACE_FEMALE_TOOLTIP :{BLACK}Elektu v STR_FACE_NEW_FACE_BUTTON :{BLACK}Nova Vizaĝo STR_FACE_NEW_FACE_TOOLTIP :{BLACK}Kreu hazardan novan vizaĝon STR_FACE_ADVANCED :{BLACK}Altnivela -STR_FACE_ADVANCED_TOOLTIP :{BLACK}Altnivela elekto de vizaĝo. +STR_FACE_ADVANCED_TOOLTIP :{BLACK}Altnivela elekto de vizaĝo STR_FACE_SIMPLE :{BLACK}Simpla -STR_FACE_SIMPLE_TOOLTIP :{BLACK}Simpla elekto de vizaĝo. +STR_FACE_SIMPLE_TOOLTIP :{BLACK}Simpla elekto de vizaĝo STR_FACE_LOAD :{BLACK}Ŝargi STR_FACE_LOAD_TOOLTIP :{BLACK}Ŝargi favoratan vizaĝon. STR_FACE_LOAD_DONE :{WHITE}Via favorata vizaĝo estis ŝargita de la agord-dosiero de OpenTTD.. STR_FACE_FACECODE :{BLACK}Ludanta vizaĝnumero -STR_FACE_FACECODE_TOOLTIP :{BLACK}Rigardi kaŭ elekti ludantan vizaĝnumeron. -STR_FACE_FACECODE_CAPTION :{WHITE}Rigardi kaŭ elekti ludantan vizaĝnumeron. -STR_FACE_FACECODE_SET :{WHITE}Nova vizaĝnumera kodo estas konservita. -STR_FACE_FACECODE_ERR :{WHITE}Ne povas konservi ludantan vizaĝnumeron - devas esti nombro inter 0 kaj 4,294,967,295! +STR_FACE_FACECODE_TOOLTIP :{BLACK}Rigardi kaj/aŭ elekti vizaĝnumeron kompani-prezidanta +STR_FACE_FACECODE_CAPTION :{WHITE}Rigardi kaj/aŭ elekti vizaĝnumeron presidantan +STR_FACE_FACECODE_SET :{WHITE}Nova vizaĝnumera kodo aktivitas. +STR_FACE_FACECODE_ERR :{WHITE}Ne povas aktivigi ludantan vizaĝnumeron - devas esti nombro inter 0 kaj 4,294,967,295! STR_FACE_SAVE :{BLACK}Konservi STR_FACE_SAVE_TOOLTIP :{BLACK}Konservi favoratan vizaĝon STR_FACE_SAVE_DONE :{WHITE}Tiu ĉi vizaĝo estos konservita kiel via favorata en la agord-dosiero de OpenTTD. @@ -1562,7 +1597,7 @@ STR_NETWORK_SERVER_LIST_REFRESH_TOOLTIP :{BLACK}Refreŝi STR_NETWORK_SERVER_LIST_FIND_SERVER :{BLACK}Trovu servilon STR_NETWORK_SERVER_LIST_FIND_SERVER_TOOLTIP :{BLACK}Serĉu reton por servilo STR_NETWORK_SERVER_LIST_ADD_SERVER :{BLACK}Aldonu servilon -STR_NETWORK_SERVER_LIST_ADD_SERVER_TOOLTIP :{BLACK}Aldonas servilon al la listo kiu ĉiam estos kontrolata pri kurantaj ludoj. +STR_NETWORK_SERVER_LIST_ADD_SERVER_TOOLTIP :{BLACK}Aldonas servilon al la listo kiu ĉiam estos kontrolata pri kurantaj ludoj STR_NETWORK_SERVER_LIST_START_SERVER :{BLACK}Startu servilon STR_NETWORK_SERVER_LIST_START_SERVER_TOOLTIP :{BLACK}Startu propran servilon @@ -1584,7 +1619,7 @@ STR_NETWORK_START_SERVER_COMPANIES_SELECT :{BLACK}{NUM} ko STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}Kompania maksimumo: STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES_TOOLTIP :{BLACK}Limu la servilon al certa kvanto da kompanioj STR_NETWORK_START_SERVER_SPECTATORS_SELECT :{BLACK}{NUM} spektanto{P "" j} -STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS :{BLACK}Spektanta maksimumo: +STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS :{BLACK}Maksimumo spektanta: STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS_TOOLTIP :{BLACK}Limigu la servilon al certa kvanto da spektantoj STR_NETWORK_START_SERVER_LANGUAGE_SPOKEN :{BLACK}Parolata lingvo: STR_NETWORK_START_SERVER_LANGUAGE_TOOLTIP :{BLACK}Aliaj ludantoj scios kiu lingvo paroliĝas en la servilo @@ -1661,14 +1696,14 @@ STR_NETWORK_CONNECTING_CAPTION :{WHITE}Konektan ############ Leave those lines in this order!! STR_NETWORK_CONNECTING_1 :{BLACK}(1/6) Konektante.. -STR_NETWORK_CONNECTING_2 :{BLACK}(2/6) Rajtigante.. -STR_NETWORK_CONNECTING_3 :{BLACK}(3/6) Atendante.. -STR_NETWORK_CONNECTING_4 :{BLACK}(4/6) Elŝutante mapon.. -STR_NETWORK_CONNECTING_5 :{BLACK}(5/6) Procesante datenojn.. -STR_NETWORK_CONNECTING_6 :{BLACK}(6/6) Registante.. +STR_NETWORK_CONNECTING_2 :{BLACK}(2/6) Rajtigante... +STR_NETWORK_CONNECTING_3 :{BLACK}(3/6) Atendante... +STR_NETWORK_CONNECTING_4 :{BLACK}(4/6) Elŝutante mapon... +STR_NETWORK_CONNECTING_5 :{BLACK}(5/6) Procesante datenojn... +STR_NETWORK_CONNECTING_6 :{BLACK}(6/6) Registante... -STR_NETWORK_CONNECTING_SPECIAL_1 :{BLACK}Kaptante ludinformojn.. -STR_NETWORK_CONNECTING_SPECIAL_2 :{BLACK}Kaptante kompaniajn informojn.. +STR_NETWORK_CONNECTING_SPECIAL_1 :{BLACK}Kaptante ludinformojn... +STR_NETWORK_CONNECTING_SPECIAL_2 :{BLACK}Kaptante kompaniajn informojn... ############ End of leave-in-this-order STR_NETWORK_CONNECTING_WAITING :{BLACK}{NUM} kliento{P "" j} antaŭ vi STR_NETWORK_CONNECTING_DOWNLOADING_1 :{BLACK}{BYTES} ĝis nun elŝutiĝis @@ -1709,7 +1744,7 @@ STR_COMPANY_PASSWORD_MAKE_DEFAULT_TOOLTIP :{BLACK}Uzu ĉi STR_COMPANY_VIEW_JOIN :{BLACK}Anigi STR_COMPANY_VIEW_JOIN_TOOLTIP :{BLACK}Anigi kaj ludi kiel ĉi tiu kompanio. STR_COMPANY_VIEW_PASSWORD :{BLACK}Pasvorto -STR_COMPANY_VIEW_PASSWORD_TOOLTIP :{BLACK}Pasvorte protektu vian kompanion por eviti ke eksteruloj aliĝu. +STR_COMPANY_VIEW_PASSWORD_TOOLTIP :{BLACK}Pasvorte protektu vian kompanion por eviti ke eksteruloj aliĝu STR_COMPANY_VIEW_SET_PASSWORD :{BLACK}Agordu kompanian pasvorton # Network chat @@ -1858,15 +1893,15 @@ STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}Ne, ferm # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}Ebloj por travidebleco -STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Baskuligi travideblecon de staciosignoj. Stir+Klak por ŝlosi. -STR_TRANSPARENT_TREES_TOOLTIP :{BLACK}Baskuligi travideblecon de arboj. Stir+Klak por ŝlosi. -STR_TRANSPARENT_HOUSES_TOOLTIP :{BLACK}Baskuligi travideblecon de domoj. Stir+Klak por ŝlosi. -STR_TRANSPARENT_INDUSTRIES_TOOLTIP :{BLACK}Baskuligi travideblecon de industrioj. Stir+Klak por ŝlosi. -STR_TRANSPARENT_BUILDINGS_TOOLTIP :{BLACK}Baskuligi travideblecon de konstrueblaĵojn kiel stacidomoj, garaĝoj kaj vojpunktoj. Stir+Klak por ŝlosi. -STR_TRANSPARENT_BRIDGES_TOOLTIP :{BLACK}Baskuligi travideblecon de pontoj. Stir+Klak por ŝlosi. -STR_TRANSPARENT_STRUCTURES_TOOLTIP :{BLACK}Baskuligi travideblecon de aĵoj kiel lumturoj kaj antenoj. Stir+Klak por ŝlosi. -STR_TRANSPARENT_CATENARY_TOOLTIP :{BLACK}Baskuligi travideblecon de katenarion. Stir+Klak por ŝlosi. -STR_TRANSPARENT_LOADING_TOOLTIP :{BLACK}Baskuligi travideblecon de ŝarĝindikiloj. Stir+Klak por ŝlosi. +STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Baskuligi travideblecon de signoj. Ctrl+Klak por ŝlosi +STR_TRANSPARENT_TREES_TOOLTIP :{BLACK}Baskuligi travideblecon de arboj. Ctrl+Klak por ŝlosi +STR_TRANSPARENT_HOUSES_TOOLTIP :{BLACK}Baskuligi travideblecon de domoj. Ctrl+Klak por ŝlosi +STR_TRANSPARENT_INDUSTRIES_TOOLTIP :{BLACK}Baskuligi travideblecon de industrioj. Ctrl+Klaku por ŝlosi +STR_TRANSPARENT_BUILDINGS_TOOLTIP :{BLACK}Baskuligi travideblecon de konstrueblaĵojn kiel stacidomoj, garaĝoj kaj vojpunktoj. Ctrl+Klaku por ŝlosi +STR_TRANSPARENT_BRIDGES_TOOLTIP :{BLACK}Baskuligi travideblecon de pontoj. Ctrl+Klaku por ŝlosi +STR_TRANSPARENT_STRUCTURES_TOOLTIP :{BLACK}Baskuligi travideblecon de aĵoj kiel lumturoj kaj antenoj. Ctrl+Klaku por ŝlosi +STR_TRANSPARENT_CATENARY_TOOLTIP :{BLACK}Baskuligi travideblecon de katenarion. Ctrl+Klaku por ŝlosi +STR_TRANSPARENT_LOADING_TOOLTIP :{BLACK}Baskuligi travideblecon de ŝarĝindikiloj. Ctrl+Klaku por ŝlosi # Linkgraph legend window @@ -1894,16 +1929,16 @@ STR_RAIL_TOOLBAR_ELRAIL_CONSTRUCTION_CAPTION :Konstruado de E STR_RAIL_TOOLBAR_MONORAIL_CONSTRUCTION_CAPTION :Konstruado de Unurela Fervojo STR_RAIL_TOOLBAR_MAGLEV_CONSTRUCTION_CAPTION :Konstruado de Magleva Fervojo -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Konstrui trakon. Ctrl baskuligas konstrui/forviŝi fervojan konstruon. -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Konstrui trakon per Aŭtomata Relreĝimo. Stir baskuligas konstrui/forviŝi fervojan konstruon. -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Konstrui trajngaraĝon (por konstrui kaj prizorgi trajnojn) -STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Ŝanĝi relon al vojpunkto. Stir-butono permesas ligi vojpunktojn. -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Konstrui fervojostacion. Premu Stir-butonon por ligi staciojn. -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Konstruu signalojn -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Konstruu fervojan ponton -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Konstruu fervojtunelon +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Konstrui trakon. Ctrl baskuligas konstrui/forviŝi fervojan konstruon. Majuskliga klavo baskuligas konstrui/(kosto)taksi +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Konstrui trakon per Aŭtomata fervoj-reĝimo. Ctrl baskuligas konstrui/forviŝi fervojan konstruon. La majuskliga klavo baskuligas konstrui/(kosto)taksi +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Konstrui trajngaraĝon (pri konstrui kaj prizorgi trajnojn). La majuskliga klavo baskuligas konstrui/(kosto)taksi +STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Ŝanĝi relo al vojpunkto. Ctrl-klavo permesas ligi vojpunktojn. La majuskliga klavo baskuligas inter konstrui/(kosto)taksi +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Konstrui fervojostacion. Premu Stir-butonon por ligi staciojn. La majuskliga klavo baskuligas inter konstrui/(kosto)taksi +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Konstruu signalojn. Ctrl baskuligas inter semaforaj/trafiklumaj signoj{}Treni konstruas rektan lineon da fervojaj signoj. Per Ctrl, signoj konstruiĝas ĝis la sekvonta kuniĝo{}Ctrl+Klaki malfermas fenestron por elekti trafiklumojn. La majuskliga klavo baskuligas inter konstrui/(kosto)taksi +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Konstruu fervojan ponton. La majuskliga klavo baskuligas inter konstrui/(kosto)taksi +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Konstruu fervojtunelon. La majuskliga klavo baskuligas inter konstrui/(kosto)taksi STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Elekti inter konstruado/forigado de trako, signaliloj, vojpunktoj kaj stacidomoj. Tenu Stir-klavon por forigi relojn de vojpunktoj kaj stacioj. -STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL :{BLACK}Transigu reltipon +STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL :{BLACK}Transigu/Plibonigi reltipon. La majuskliga klavo baskuligas inter konstrui/(kosto)taksi STR_RAIL_NAME_RAILROAD :Fervojo STR_RAIL_NAME_ELRAIL :Elektrofervojo @@ -1957,18 +1992,18 @@ STR_BRIDGE_TUBULAR_SILICON :Tuba, Silicia # Road construction toolbar STR_ROAD_TOOLBAR_ROAD_CONSTRUCTION_CAPTION :{WHITE}Vojkonstruado STR_ROAD_TOOLBAR_TRAM_CONSTRUCTION_CAPTION :{WHITE}Konstruado de tramvojoj -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_SECTION :{BLACK}Konstruu vojeron -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Konstrui stratveturilan garaĝon (por konstrui kaj prizorgi veturilojn) -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Konstrui tramveturilan garaĝon (por konstrui kaj prizorgi veturilojn) -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}Konstrui bushaltejon. Premu Stir-butonon por ligi haltejojn. -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_PASSENGER_TRAM_STATION :{BLACK}Konstrui pasaĝerotraman stacion. Premu Stir-butonon por ligi staciojn. -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRUCK_LOADING_BAY :{BLACK}Konstrui kamionan ŝarĝejon. Premu Stir-butonon por ligi ŝarĝejojn. -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_CARGO_TRAM_STATION :{BLACK}Konstrui frajttraman stacion. Premu Stir-butonon por ligi staciojn. +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_SECTION :{BLACK}Konstruu vojeron. Ctrl baskuligas inter konstrui/mal-konstrui vojeron. La majuskliga klavo baskuligas inter konstrui/(kosto)taksi +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Konstrui stratveturilan garaĝon (por konstrui kaj prizorgi veturilojn). Baskulu inter konstrui/(kosto)taksi per maljuskliga klavo +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Konstrui tramveturilan garaĝon (por konstrui kaj prizorgi veturilojn). Baskulu inter konstrui/(kosto)taksi per maljuskliga klavo +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}Konstrui bushaltejon. Premu Ctrl-klavo por ligi haltejojn. Baskulu inter konstrui/(kosto)taksi per maljuskliga klavo +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_PASSENGER_TRAM_STATION :{BLACK}Konstrui pasaĝerotraman stacion. Premu Ctrl-klavo por ligi staciojn. Baskulu inter konstrui/(kosto)taksi per maljuskliga klavo +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRUCK_LOADING_BAY :{BLACK}Konstrui kamionan ŝarĝejon. Premu Ctrl-klavon por ligi ŝarĝejojn. Baskulu inter konstrui/(kosto)taksi per maljuskliga klavo +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_CARGO_TRAM_STATION :{BLACK}Konstrui frajttraman stacion. Premu Ctrl-klavon por ligi staciojn. Baskulu inter konstrui/(kosto)taksi per maljuskliga klavo STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_ONE_WAY_ROAD :{BLACK}Aktivigi/Malaktivigi unudirektajn stratojn -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_BRIDGE :{BLACK}Konstruu vojponton -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_BRIDGE :{BLACK}Konstrui tramponton -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_TUNNEL :{BLACK}Konstruu vojtunelon -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_TUNNEL :{BLACK}Konstrui tramtunelon. +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_BRIDGE :{BLACK}Konstruu vojponton. Baskulu inter konstrui/(kosto)taksi per maljuskliga klavo +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_BRIDGE :{BLACK}Konstrui tramponton. Baskulu inter konstrui/(kosto)taksi per maljuskliga klavo +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_TUNNEL :{BLACK}Konstruu vojtunelon. Baskulu inter konstrui/(kosto)taksi per maljuskliga klavo +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_TUNNEL :{BLACK}Konstrui tramtunelon. Baskulu inter konstrui/(kosto)taksi per maljuskliga klavo STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_ROAD :{BLACK}Ĉu konstrui ĉu forigi por vojkonstruado # Road depot construction window @@ -1982,22 +2017,22 @@ STR_STATION_BUILD_BUS_ORIENTATION :{WHITE}Bushalte STR_STATION_BUILD_BUS_ORIENTATION_TOOLTIP :{BLACK}Elektu bushaltejan direkton STR_STATION_BUILD_TRUCK_ORIENTATION :{WHITE}Ŝarĝstacia Direkto STR_STATION_BUILD_TRUCK_ORIENTATION_TOOLTIP :{BLACK}Elektu ŝarĝstacian direkton -STR_STATION_BUILD_PASSENGER_TRAM_ORIENTATION :{WHITE}Direkto de Pasaĝera Tramo +STR_STATION_BUILD_PASSENGER_TRAM_ORIENTATION :{WHITE}Direkto de Pasaĝera Tramstacio STR_STATION_BUILD_PASSENGER_TRAM_ORIENTATION_TOOLTIP :{BLACK}Elekti direkton de pasaĝerotramstacio -STR_STATION_BUILD_CARGO_TRAM_ORIENTATION :{WHITE}Direkto de Frajttramo +STR_STATION_BUILD_CARGO_TRAM_ORIENTATION :{WHITE}Direkto de Frajttram-stacio STR_STATION_BUILD_CARGO_TRAM_ORIENTATION_TOOLTIP :{BLACK}Elekti direkton de frajttramstacio # Waterways toolbar (last two for SE only) STR_WATERWAYS_TOOLBAR_CAPTION :{WHITE}Konstruado de akvovojoj STR_WATERWAYS_TOOLBAR_CAPTION_SE :{WHITE}Akvovojoj -STR_WATERWAYS_TOOLBAR_BUILD_CANALS_TOOLTIP :{BLACK}Konstruu kanalojn. -STR_WATERWAYS_TOOLBAR_BUILD_LOCKS_TOOLTIP :{BLACK}Konstruu kluzojn -STR_WATERWAYS_TOOLBAR_BUILD_DEPOT_TOOLTIP :{BLACK}Konstrui ŝipgaraĝon (por aĉeti kaj prizorgi ŝipojn) -STR_WATERWAYS_TOOLBAR_BUILD_DOCK_TOOLTIP :{BLACK}Konstrui ŝipdokon. Premu Stir-butonon por ligi dokojn. -STR_WATERWAYS_TOOLBAR_BUOY_TOOLTIP :{BLACK}Meti buon kiu povas esti uzata kiel vojpunkto. -STR_WATERWAYS_TOOLBAR_BUILD_AQUEDUCT_TOOLTIP :{BLACK}Kunstrui akvedukton +STR_WATERWAYS_TOOLBAR_BUILD_CANALS_TOOLTIP :{BLACK}Konstruu kanalojn. Baskulu inter konstrui/(kosto)taksi per maljuskliga klavo +STR_WATERWAYS_TOOLBAR_BUILD_LOCKS_TOOLTIP :{BLACK}Konstruu kluzojn. Baskuli inter konstrui/(kosto)taksi per maljuskliga klavo +STR_WATERWAYS_TOOLBAR_BUILD_DEPOT_TOOLTIP :{BLACK}Konstrui ŝipgaraĝon (por aĉeti kaj prizorgi ŝipojn). Baskuli inter konstrui/(kosto)taksi per maljuskliga klavo +STR_WATERWAYS_TOOLBAR_BUILD_DOCK_TOOLTIP :{BLACK}Konstrui ŝipdokon. Premu Stir-butonon por ligi dokojn. Baskuli inter konstrui/(kosto)taksi per maljuskliga klavo +STR_WATERWAYS_TOOLBAR_BUOY_TOOLTIP :{BLACK}Meti buon kiu povas esti uzata kiel vojpunkto. Baskuli inter konstrui/(kosto)taksi per maljuskliga klavo +STR_WATERWAYS_TOOLBAR_BUILD_AQUEDUCT_TOOLTIP :{BLACK}Kunstrui akvedukton. Baskulu inter konstrui/(kosto)taksi per maljuskliga klavo STR_WATERWAYS_TOOLBAR_CREATE_LAKE_TOOLTIP :{BLACK}Difinu akvoregionon.{}Faru kanalon, krom se CTRL estas tenata ĉe marnivelo, kiukaze ĝi anstataŭe transfluas al la ĉirkaŭaĵo -STR_WATERWAYS_TOOLBAR_CREATE_RIVER_TOOLTIP :{BLACK}Loku riverojn. +STR_WATERWAYS_TOOLBAR_CREATE_RIVER_TOOLTIP :{BLACK}Metu riverojn # Ship depot construction window STR_DEPOT_BUILD_SHIP_CAPTION :{WHITE}Direkto de la ŝipgaraĝo @@ -2008,7 +2043,7 @@ STR_STATION_BUILD_DOCK_CAPTION :{WHITE}Haveno # Airport toolbar STR_TOOLBAR_AIRCRAFT_CAPTION :{WHITE}Flughavenoj -STR_TOOLBAR_AIRCRAFT_BUILD_AIRPORT_TOOLTIP :{BLACK}Konstrui flughavenon. Premu Stir-butonon por ligi flughavenojn. +STR_TOOLBAR_AIRCRAFT_BUILD_AIRPORT_TOOLTIP :{BLACK}Konstrui flughavenon. Prermu Ctrl-klavon per ligi flughavenojn. Baskulu inter konstrui/(kosto)taksi per maljuskliga klavo # Airport construction window STR_STATION_BUILD_AIRPORT_CAPTION :{WHITE}Elekto de Flughaveno @@ -2035,14 +2070,14 @@ STR_STATION_BUILD_NOISE :{BLACK}Bruon ge # Landscaping toolbar STR_LANDSCAPING_TOOLBAR :{WHITE}Landaspekto -STR_LANDSCAPING_TOOLTIP_LOWER_A_CORNER_OF_LAND :{BLACK}Malaltigu landangulon -STR_LANDSCAPING_TOOLTIP_RAISE_A_CORNER_OF_LAND :{BLACK}Altigu landangulon -STR_LANDSCAPING_LEVEL_LAND_TOOLTIP :{BLACK}Ebenigu landon -STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Aĉetu landon por onta uzo +STR_LANDSCAPING_TOOLTIP_LOWER_A_CORNER_OF_LAND :{BLACK}Malaltigu landangulon. Per tiri, la unua angulo malaltigos, kaj la regiono tirata nivelos same. Ctrl-klavo nivelos angule la tiratan regionon. Baskulu inter konstrui/(kosto)taksi per maljuskliga klavo +STR_LANDSCAPING_TOOLTIP_RAISE_A_CORNER_OF_LAND :{BLACK}Altigu landangulon. Per tiri, la unua angulo altigos, kaj la regiono tirata nivelos same. Ctrl-klavo nivelos angule la tiratan regionon. Baskulu inter konstrui/(kosto)taksi per maljuskliga klavo +STR_LANDSCAPING_LEVEL_LAND_TOOLTIP :{BLACK}Ebenigu landon ĝis la nivelo de unua eleka angulo. Per Ctrl+tiri, la regiono tirata nivelos same angule. Baskulu inter konstrui/(kosto)taksi per maljuskliga klavo +STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Aĉetu landon por onta uzo. La majuskliga klavo baskuligas inter konstrui/(kosto)taksi # Object construction window STR_OBJECT_BUILD_CAPTION :{WHITE}Elekto de Objekto -STR_OBJECT_BUILD_TOOLTIP :{BLACK}Eletku objekton por konstrui +STR_OBJECT_BUILD_TOOLTIP :{BLACK}Elektu objekton por konstrui. La majuskliga klavo baskuligas inter konstrui/(kosto)taksi STR_OBJECT_BUILD_CLASS_TOOLTIP :{BLACK}Elektu klason de la objekto konstrui STR_OBJECT_BUILD_PREVIEW_TOOLTIP :{BLACK}Antaŭvido de la objekto STR_OBJECT_BUILD_SIZE :{BLACK}Grandeco: {GOLD}{NUM} x {NUM} kaheloj @@ -2052,9 +2087,9 @@ STR_OBJECT_CLASS_TRNS :Transigantoj # Tree planting window (last two for SE only) STR_PLANT_TREE_CAPTION :{WHITE}Arboj -STR_PLANT_TREE_TOOLTIP :{BLACK}Elektu arbo-tipon por plant +STR_PLANT_TREE_TOOLTIP :{BLACK}Elektu arbo-tipon por planti. Kiam la regiono jam havas arbojn, aliaj arb-tipoj plantiĝos STR_TREES_RANDOM_TYPE :{BLACK}Arboj de hazardaj tipoj -STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Metu arbojn de hazardaj tipoj +STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Metu arbojn de hazardaj tipoj. Baskulu inter konstrui/(kosto)taksi per maljuskliga klavo STR_TREES_RANDOM_TREES_BUTTON :{BLACK}Hazardaj Arboj STR_TREES_RANDOM_TREES_TOOLTIP :{BLACK}Hazarde plantu arbojn en la tuta lando @@ -2067,15 +2102,15 @@ STR_TERRAFORM_TOOLTIP_DECREASE_SIZE_OF_LAND_AREA :{BLACK}Malgrand STR_TERRAFORM_TOOLTIP_GENERATE_RANDOM_LAND :{BLACK}Kreu landon hazarde STR_TERRAFORM_SE_NEW_WORLD :{BLACK}Kreu novan scenaron STR_TERRAFORM_RESET_LANDSCAPE :{BLACK}Reigu landaspekton -STR_TERRAFORM_RESET_LANDSCAPE_TOOLTIP :{BLACK}Forviŝu ĉiujn posedaĵojn de la ludanto el la mapo +STR_TERRAFORM_RESET_LANDSCAPE_TOOLTIP :{BLACK}Forviŝu ĉiujn posedaĵojn de la kompanio disde la mapo STR_QUERY_RESET_LANDSCAPE_CAPTION :{WHITE}Reigu Landaspekton -STR_RESET_LANDSCAPE_CONFIRMATION_TEXT :{WHITE}Ĉu vi certas ke vi volas forviŝi ĉiujn posedaĵojn de la ludanto? +STR_RESET_LANDSCAPE_CONFIRMATION_TEXT :{WHITE}Ĉu vi certas ke vi volas forviŝi ĉiujn posedaĵojn de la kompanio? # Town generation window (SE) STR_FOUND_TOWN_CAPTION :{WHITE}Urba Generado STR_FOUND_TOWN_NEW_TOWN_BUTTON :{BLACK}Nova Urbo -STR_FOUND_TOWN_NEW_TOWN_TOOLTIP :{BLACK}Fondi novan urbon +STR_FOUND_TOWN_NEW_TOWN_TOOLTIP :{BLACK}Fondi novan urbon. Maljuskliga klavo+klaki nur montrigas taksitan koston STR_FOUND_TOWN_RANDOM_TOWN_BUTTON :{BLACK}Hazarda Urbo STR_FOUND_TOWN_RANDOM_TOWN_TOOLTIP :{BLACK}Fondi urbon en hazarda loko STR_FOUND_TOWN_MANY_RANDOM_TOWNS :{BLACK}Multaj hazardaj urboj @@ -2227,7 +2262,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-2014 La teamo de OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2015 La teamo de OpenTTD # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Konservu Ludon @@ -2247,7 +2282,7 @@ STR_SAVELOAD_SAVE_TOOLTIP :{BLACK}Konservu STR_SAVELOAD_LOAD_BUTTON :{BLACK}Ŝarĝu STR_SAVELOAD_LOAD_TOOLTIP :{BLACK}Ŝarĝu la elektan ludon STR_SAVELOAD_DETAIL_CAPTION :{BLACK}Detaloj de la Ludo -STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}Ne haveblas informoj. +STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}Ne disponeblas informoj STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING} STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}NewGRF: {WHITE}{STRING} @@ -2264,10 +2299,6 @@ STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Kiom da STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}Neĝlinia alteco: STR_MAPGEN_SNOW_LINE_UP :{BLACK}Altigu la neĝlinion per unu STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}Malaltigu la neĝlinion per unu -STR_MAPGEN_RANDOM_SEED :{BLACK}Hazarda Enigo: -STR_MAPGEN_RANDOM_SEED_HELP :{BLACK}Klaku por enigi hazardan enigon -STR_MAPGEN_RANDOM :{BLACK}Hazardigu -STR_MAPGEN_RANDOM_HELP :{BLACK}Ŝanĝu la hazardan enigon uzatan de la terengenerilo STR_MAPGEN_LAND_GENERATOR :{BLACK}Landgenerilo: STR_MAPGEN_TREE_PLACER :{BLACK}Arba algoritmo: STR_MAPGEN_TERRAIN_TYPE :{BLACK}Terentipo: @@ -2294,7 +2325,6 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Mapa nom STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Grandeco: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} -STR_MAPGEN_RANDOM_SEED_OSKTITLE :{BLACK}Enigu hazardan semon STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}Ŝanĝu altecon de la neĝlinio STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Ŝanĝu komencjaron @@ -2348,7 +2378,7 @@ STR_NEWGRF_SETTINGS_MOVEUP :{BLACK}Supren STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP :{BLACK}Movu la elektitan NewGRF-dosieron supren en la listo STR_NEWGRF_SETTINGS_MOVEDOWN :{BLACK}Malsupren STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP :{BLACK}Movu la elektitan NewGRF-dosieron malsupren en la listo -STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}Listo da instalitaj NewGRF-dosieroj. Alklaku dosieron por ŝanĝi la parametrojn +STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}Listo da instalitaj NewGRF-dosieroj STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}Agordu parametrojn STR_NEWGRF_SETTINGS_TOGGLE_PALETTE :{BLACK}Baskuligi paletron @@ -2370,6 +2400,10 @@ STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Ne trovis STR_NEWGRF_SETTINGS_DISABLED :{RED}Malaktiva STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Malkongrua ĉe ĉi tio versio de OpenTTD +# NewGRF save preset window +STR_SAVE_PRESET_CANCEL :{BLACK}Nuligu +STR_SAVE_PRESET_SAVE :{BLACK}Konservu + # NewGRF parameters window STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Ŝanĝu parametroj de la NewGRF STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Fermu @@ -2393,7 +2427,6 @@ STR_SPRITE_ALIGNER_NEXT_BUTTON :{BLACK}Sekvanta STR_SPRITE_ALIGNER_GOTO_BUTTON :{BLACK}Iru al bildeto STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Antaŭa bildeto STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Movu ĉirkaŭ la bildeton, ŝanĝante la X kaj Y distancojn -STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X distanco: {NUM}, Y distanco: {NUM} STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Elektu bildeto STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Elektu bildeton ie el la ekrano @@ -2414,13 +2447,13 @@ STR_NEWGRF_ERROR_LOAD_AFTER :{1:STRING} devi STR_NEWGRF_ERROR_OTTD_VERSION_NUMBER :{1:STRING} bezonas OpenTTD versio {STRING} aŭ pli bona STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE :la GRF-dosiero estas farita por traduki STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :Tro da NewGRF-oj estas ŝarĝataj -STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} enhavas rompitan bildeton. Ĉiuj rompitaj bildetoj aspektos kiel ruĝaj demandsignoj (?). -STR_NEWGRF_ERROR_MISSING_SPRITES :{WHITE}La nuntempe uza baza grafikaĵaro estas manka nombro da bildetoj.{} Bonvolu renovigu la baza grafikaĵaro. +STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} enhavas rompitan bildeton. Ĉiuj rompitaj bildetoj aspektos kiel ruĝaj demandsignoj (?) +STR_NEWGRF_ERROR_MISSING_SPRITES :{WHITE}La nuntempe uza baza grafikaĵaro mankas kelkajn da bildetoj.{}Bonvolu renovigu la baza grafikaĵaro STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING} estis malaktivata per {STRING} # NewGRF related 'general' warnings STR_NEWGRF_POPUP_CAUTION_CAPTION :{WHITE}Atentu! -STR_NEWGRF_CONFIRMATION_TEXT :{YELLOW}Vi ŝanĝos kurantan ludon. Tio povas kraŝigi la ludon OpenTTD.{}Ĉu vi nepre certas, ke vi volas fari tion? +STR_NEWGRF_CONFIRMATION_TEXT :{YELLOW}Vi ŝanĝos kurantan ludon. Tio povas kraŝigi la ludon OpenTTD aŭ povas rompi ludstaton. Ne fajlu cim-raportojn pri iaj posteuloj.{}Ĉu vi nepre certas, ke vi volas fari tion? STR_NEWGRF_DUPLICATE_GRFID :{WHITE}Dosiero ne aldoneblas: duobla GRF ID STR_NEWGRF_COMPATIBLE_LOADED :{ORANGE}Ne troviĝis apartena dosiero (ŝarĝis taŭgan GRF) @@ -2438,7 +2471,7 @@ STR_NEWGRF_LIST_MISSING :{RED}Mankaj dos # NewGRF 'it's broken' warnings -STR_NEWGRF_BUGGY :{WHITE}NewGRF '{0:STRING}' donas malĝustan informon. +STR_NEWGRF_BUGGY :{WHITE}NewGRF '{0:STRING}' donas malĝustan informon STR_NEWGRF_BUGGY_UNKNOWN_CALLBACK_RESULT :{WHITE}'Revoko' {1:HEX} revenis nekonatan/malvalidan rezulton {2:HEX} # 'User removed essential NewGRFs'-placeholders for stuff without specs @@ -2472,7 +2505,7 @@ STR_EDIT_SIGN_SIGN_OSKTITLE :{BLACK}Enigu no STR_TOWN_DIRECTORY_CAPTION :{WHITE}Urboj STR_TOWN_DIRECTORY_NONE :{ORANGE}-Neniu - STR_TOWN_DIRECTORY_TOWN :{ORANGE}{TOWN}{BLACK} ({COMMA}) -STR_TOWN_DIRECTORY_LIST_TOOLTIP :{BLACK}Urbonomoj - klaku nomon por centri vidon ĉe la urbo. Stir+Klak por malfermi novan vidujon ĉe la urba loko. +STR_TOWN_DIRECTORY_LIST_TOOLTIP :{BLACK}Urbonomoj - klaku nomon por centri vidpukto ĉe la urbo. Ctrl+Klak por malfermi novan vidujon ĉe la urba loko STR_TOWN_POPULATION :{BLACK}Monda enloĝantaro: {COMMA} # Town view window @@ -2529,7 +2562,8 @@ STR_GOALS_TEXT :{ORANGE}{STRING # Goal question window -### Start of Goal Question button list +############ Start of Goal Question button list +############ End of Goal Question button list # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}Subvencioj @@ -2538,13 +2572,13 @@ STR_SUBSIDIES_OFFERED_FROM_TO :{ORANGE}{STRING STR_SUBSIDIES_NONE :{ORANGE}- Neniu - STR_SUBSIDIES_SUBSIDISED_TITLE :{BLACK}Servoj subvenciataj: STR_SUBSIDIES_SUBSIDISED_FROM_TO :{ORANGE}{STRING} de {STRING} al {STRING}{YELLOW} ({COMPANY}{YELLOW}, ĝis {DATE_SHORT}) -STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Klaku servon por centri vidon ĉe la industrio/urbo. Stir+Klak por malfermi novan vidujon ĉe la loko. +STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Klaku servon por centri vidpunkto ĉe la industrio/urbo. Ctrl+Klak por malfermi novan vidujon ĉe la loko # Story book window # Station list window -STR_STATION_LIST_TOOLTIP :{BLACK}Stacionomoj - klaku nomon por centri vidon ĉe la stacio. Stir+Klak por malfermi novan vidujon ĉe la stacioloko. -STR_STATION_LIST_USE_CTRL_TO_SELECT_MORE :{BLACK}Tenu la CTRL-klavon por elekti plurajn erojn +STR_STATION_LIST_TOOLTIP :{BLACK}Stacionomoj - klaku nomon por centri vidpunkto ĉe la stacio. Ctrl+Klak por malfermi novan vidujon ĉe la stacioloko +STR_STATION_LIST_USE_CTRL_TO_SELECT_MORE :{BLACK}Tenu Ctrl-klavon por elekti plurajn erojn STR_STATION_LIST_CAPTION :{WHITE}{COMPANY} - {COMMA} Stacio{P "" j} STR_STATION_LIST_STATION :{YELLOW}{STATION} {STATION_FEATURES} STR_STATION_LIST_WAYPOINT :{YELLOW}{WAYPOINT} @@ -2555,7 +2589,6 @@ STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}Nenia ŝ # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} -STR_STATION_VIEW_WAITING_TITLE :{BLACK}Atendas: {WHITE}{STRING} STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} survoje de {STATION}) STR_STATION_VIEW_RESERVED :{YELLOW}({CARGO_SHORT} rezervita por ŝarĝu) @@ -2626,9 +2659,9 @@ STR_FINANCES_LOAN_TITLE :{WHITE}Prunto STR_FINANCES_MAX_LOAN :{WHITE}Maksimuma prunto: {BLACK}{CURRENCY_LONG} STR_FINANCES_TOTAL_CURRENCY :{BLACK}{CURRENCY_LONG} STR_FINANCES_BORROW_BUTTON :{BLACK}Pruntu {CURRENCY_LONG} -STR_FINANCES_BORROW_TOOLTIP :{BLACK}Grandigu prunton +STR_FINANCES_BORROW_TOOLTIP :{BLACK}Grandigu prunton. Ctrl+Klak prunteprenas maksimume STR_FINANCES_REPAY_BUTTON :{BLACK}Repagu {CURRENCY_LONG} -STR_FINANCES_REPAY_TOOLTIP :{BLACK}Repagu pruntparton +STR_FINANCES_REPAY_TOOLTIP :{BLACK}Repagu pruntparton. Ctrl+klak malpruntigas maksimume. # Company view STR_COMPANY_VIEW_CAPTION :{WHITE}{COMPANY} {BLACK}{COMPANY_NUM} @@ -2650,7 +2683,7 @@ STR_COMPANY_VIEW_BUILD_HQ_TOOLTIP :{BLACK}Konstrui STR_COMPANY_VIEW_VIEW_HQ_BUTTON :{BLACK}Vidu HQ STR_COMPANY_VIEW_VIEW_HQ_TOOLTIP :{BLACK}Rigardi kompanian administraciejon STR_COMPANY_VIEW_RELOCATE_HQ :{BLACK}Relokigu HQ -STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS :{BLACK}Rekonstruu kompanian ĉefkonstruaĵon aliloke por 1% de kompanivaloro +STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS :{BLACK}Rekonstruu kompanian ĉefkonstruaĵon aliloke por 1% de kompanivaloro. Tenu maljuskliga klavo + Klak por (kost)taksi sen rekonstrui ĉefkonstruaĵon STR_COMPANY_VIEW_NEW_FACE_BUTTON :{BLACK}Nova Vizaĝo STR_COMPANY_VIEW_NEW_FACE_TOOLTIP :{BLACK}Elektu novan vizaĝon por la manaĝanto @@ -2663,8 +2696,8 @@ STR_COMPANY_VIEW_PRESIDENT_NAME_TOOLTIP :{BLACK}Ŝanĝu STR_COMPANY_VIEW_BUY_SHARE_BUTTON :{BLACK}Aĉetu 25%-an dividaĵon STR_COMPANY_VIEW_SELL_SHARE_BUTTON :{BLACK}Vendu 25%-an dividaĵon -STR_COMPANY_VIEW_BUY_SHARE_TOOLTIP :{BLACK}Aĉetu 25%-an dividaĵon en ĉi tiu kompanio -STR_COMPANY_VIEW_SELL_SHARE_TOOLTIP :{BLACK}Vendu 25%-an dividaĵon en ĉi tiu kompanio +STR_COMPANY_VIEW_BUY_SHARE_TOOLTIP :{BLACK}Aĉetu 25%-an dividaĵon en ĉi tiu kompanio. Tenu la maljuskliga klavo por (kosto)taksi sen aĉeti dividaĵojn +STR_COMPANY_VIEW_SELL_SHARE_TOOLTIP :{BLACK}Vendu 25%-an dividaĵon en ĉi tiu kompanio. Tenu la maljuskliga klavo por (enspezo)taksi sen vendi dividaĵojn STR_COMPANY_VIEW_COMPANY_NAME_QUERY_CAPTION :Kompania Nomo STR_COMPANY_VIEW_PRESIDENT_S_NAME_QUERY_CAPTION :Nomo de la Manaĝanto @@ -2679,7 +2712,7 @@ STR_INDUSTRY_DIRECTORY_NONE :{ORANGE}- Neniu STR_INDUSTRY_DIRECTORY_ITEM :{ORANGE}{INDUSTRY}{BLACK} ({CARGO_LONG}{STRING}){YELLOW} ({COMMA}% transportite) STR_INDUSTRY_DIRECTORY_ITEM_TWO :{ORANGE}{INDUSTRY}{BLACK} ({CARGO_LONG}{STRING}/{CARGO_LONG}{STRING}){YELLOW} ({COMMA}%/{COMMA}% transportite) STR_INDUSTRY_DIRECTORY_ITEM_NOPROD :{ORANGE}{INDUSTRY} -STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Industrionomoj - klaku nomon por centri vidon ĉe la industrio. Stir+Klak por malfermi novan vidujon ĉe la loko. +STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Industrionomoj - klaku nomon por centri vidon ĉe la industrio. Ctrl+Klak por malfermi novan vidujon ĉe la loko # Industry view STR_INDUSTRY_VIEW_CAPTION :{WHITE}{INDUSTRY} @@ -2701,7 +2734,7 @@ STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Produkta STR_INDUSTRY_VIEW_PRODUCES_CARGO_CARGO :{BLACK}Produktas: {YELLOW}{STRING}{STRING}, {STRING}{STRING} ############ range for produces ends -STR_CONFIG_GAME_PRODUCTION :{WHITE}Ŝanĝu produktadon +STR_CONFIG_GAME_PRODUCTION :{WHITE}Ŝanĝu produktadon (multoble de 8, ĝis 2040) STR_CONFIG_GAME_PRODUCTION_LEVEL :{WHITE}Ŝanĝu produktan nivelon (procento, limigo je 800%) # Vehicle lists @@ -2721,7 +2754,7 @@ STR_VEHICLE_LIST_AVAILABLE_TRAINS :Haveblaj Trajno STR_VEHICLE_LIST_AVAILABLE_ROAD_VEHICLES :Haveblaj Veturiloj STR_VEHICLE_LIST_AVAILABLE_SHIPS :Haveblaj Ŝipoj STR_VEHICLE_LIST_AVAILABLE_AIRCRAFT :Haveblaj Aviadiloj -STR_VEHICLE_LIST_AVAILABLE_ENGINES_TOOLTIP :{BLACK}Vidu liston da ĉiuj haveblaj maŝinoj por ĉi tiu veturilspeco. +STR_VEHICLE_LIST_AVAILABLE_ENGINES_TOOLTIP :{BLACK}Vidu liston da ĉiuj haveblaj maŝinoj por ĉi tiu veturilspeco STR_VEHICLE_LIST_MANAGE_LIST :{BLACK}Manaĝu liston STR_VEHICLE_LIST_MANAGE_LIST_TOOLTIP :{BLACK}Sendu instrukciojn al ĉiuj veturiloj en la listo @@ -2749,11 +2782,12 @@ STR_GROUP_DEFAULT_ROAD_VEHICLES :Sengrupaj strat STR_GROUP_DEFAULT_SHIPS :Sengrupaj ŝipoj STR_GROUP_DEFAULT_AIRCRAFTS :Sengrupaj aviadiloj -STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Grupoj - klaku grupon por listigi ĉiujn veturilojn de tiu ĉi grupo +STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Grupoj - klaku grupon por listigi ĉiujn veturilojn de tiu ĉi grupo. Trenu/faligu grupojn por ordigi ĝin STR_GROUP_CREATE_TOOLTIP :{BLACK}Klaku por krei grupon STR_GROUP_DELETE_TOOLTIP :{BLACK}Viŝu la selektitan grupon STR_GROUP_RENAME_TOOLTIP :{BLACK}Alinomi la elektitan grupon + STR_GROUP_ADD_SHARED_VEHICLE :Aldonu kunhavajn veturilojn STR_GROUP_REMOVE_ALL_VEHICLES :Forigi ĉiujn veturilojn @@ -2800,10 +2834,10 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Aĉeti V STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_BUTTON :{BLACK}Aĉeti Ŝipon STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_BUTTON :{BLACK}Aĉeti Aviadilon -STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Aĉeti la emfazitan trajnveturilon -STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Aĉeti la emfazitan stratveturilon -STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Aĉeti la emfazitan ŝipon -STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Aĉeti la emfazitan aviadilon +STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Aĉeti la emfazitan trajnveturilon. Montri taksitaj kostoj sen aĉeti per maljuskliga klavo + Klaki +STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Aĉeti la emfazitan stratveturilon. Montri taksitaj kostoj sen aĉeti per maljuskliga klavo + Klaki +STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Aĉeti la emfazitan ŝipon. Montri taksitaj kostoj sen aĉeti per maljuskliga klavo + Klaki +STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Aĉeti la emfazitan aviadilon. Montri taksitaj kostoj sen aĉeti per maljuskliga klavo + Klaki STR_BUY_VEHICLE_TRAIN_RENAME_BUTTON :{BLACK}Alinomi STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_BUTTON :{BLACK}Alinomi @@ -2815,6 +2849,16 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Alinomi STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Alinomi ŝiptipon STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Alinomi aviadiltipon +STR_BUY_VEHICLE_TRAIN_HIDE_TOGGLE_BUTTON :{BLACK}Kaŝu +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_TOGGLE_BUTTON :{BLACK}Kaŝu +STR_BUY_VEHICLE_SHIP_HIDE_TOGGLE_BUTTON :{BLACK}Kaŝu + +STR_BUY_VEHICLE_TRAIN_SHOW_TOGGLE_BUTTON :{BLACK}Montru +STR_BUY_VEHICLE_ROAD_VEHICLE_SHOW_TOGGLE_BUTTON :{BLACK}Montru +STR_BUY_VEHICLE_SHIP_SHOW_TOGGLE_BUTTON :{BLACK}Montru +STR_BUY_VEHICLE_AIRCRAFT_SHOW_TOGGLE_BUTTON :{BLACK}Montru + + STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}Alinomi trajnan veturiltipon STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}Alinomi stratveturilan tipon STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}Alinomi ŝiptipon @@ -2831,7 +2875,7 @@ STR_DEPOT_VEHICLE_TOOLTIP :{BLACK}{ENGINE} STR_DEPOT_VEHICLE_TOOLTIP_CHAIN :{BLACK}{NUM} veturilo{P "" j}{STRING} STR_DEPOT_VEHICLE_TOOLTIP_CARGO :{}{CARGO_LONG} ({CARGO_SHORT}) -STR_DEPOT_TRAIN_LIST_TOOLTIP :{BLACK}Trajnoj - klaku trajnon por scii pli, tiru veturilon por aldoni aŭ forigi de trajno +STR_DEPOT_TRAIN_LIST_TOOLTIP :{BLACK}Trajnoj - klaku trajnon maldekstre por scii pli, tiru veturilon por aldoni aŭ /origi (dis)de trajno. Ctrl-premi influas ĉiom da sekvantajn trajnerojn STR_DEPOT_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Veturiloj - dekstra-alklaku veturilojn por informoj STR_DEPOT_SHIP_LIST_TOOLTIP :{BLACK}Ŝipoj - dekstra-alklaku ŝipon por informoj STR_DEPOT_AIRCRAFT_LIST_TOOLTIP :{BLACK}Aviadiloj - dekstra-alklaku aviadilon por informoj @@ -2868,10 +2912,10 @@ STR_DEPOT_CLONE_ROAD_VEHICLE :{BLACK}Klonu Ve STR_DEPOT_CLONE_SHIP :{BLACK}Klonu Ŝipon STR_DEPOT_CLONE_AIRCRAFT :{BLACK}Klonu aviadilon -STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Aĉeti kopion de trajno kun ĉiuj vagonoj. Klaku ĉi tiun butonon kaj poste trajnon en aŭ ekster la garaĝo. Stir+Klak kunhavigas la itineron. -STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Aĉeti kopion de stratveturilo. Klaku ĉi tiun butonon kaj poste veturilon en aŭ ekster la garaĝo. Stir+Klak kunhavigas la itineron. -STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Aĉeti kopion de ŝipo. Klaku ĉi tiun butonon kaj poste ŝipon en aŭ ekster garaĝo. Stir+Klak kunhavigas la itineron. -STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Aĉeti kopion de la aviadilo. Klaku ĉi tiun butonon kaj poste aviadilon en aŭ ekster la hangaro. Stir+Klak kunhavigas la ordonojn. +STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Aĉeti kopion de trajno kun ĉiuj vagonoj. Klaku ĉi tiun butonon kaj poste trajnon en aŭ ekster la garaĝo. Ctrl+Klak kunhavigas la itineron. Maljuskliga klavo+klaku montras taksatan koston sen aĉeti +STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Aĉeti kopion de stratveturilo. Klaku ĉi tiun butonon kaj poste veturilon en aŭ ekster la garaĝo. Ctrl+Klak kunhavigas la itineron. Maljuskliga klavo+klaku montras taksatan koston sen aĉeti +STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Aĉeti kopion de ŝipo. Klaku ĉi tiun butonon kaj poste ŝipon en aŭ ekster garaĝo. Ctrl+Klak kunhavigas la itineron. Maljuskliga klavo+klaku montras taksatan koston sen aĉeti +STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Aĉeti kopion de la aviadilo. Klaku ĉi tiun butonon kaj poste aviadilon en aŭ ekster la hangaro. Ctrl+Klak kunhavigas la ordonojn. Maljuskliga klavo+klaku montras taksatan koston sen aĉeti STR_DEPOT_TRAIN_LOCATION_TOOLTIP :{BLACK}Centri ĉefvidon ĉe la trajngaraĝon. Stir+Klak por malfermi novan vidujon ĉe la trajngaraĝa loko. STR_DEPOT_ROAD_VEHICLE_LOCATION_TOOLTIP :{BLACK}Centri ĉefvidon ĉe la stratveturilan garaĝon. Stir+Klak por malfermi novan vidujon ĉe la garaĝa loko. @@ -2917,6 +2961,7 @@ STR_REPLACE_VEHICLE_ROAD_VEHICLE :Stratveturilo STR_REPLACE_VEHICLE_SHIP :Ŝipo STR_REPLACE_VEHICLE_AIRCRAFT :Aviadilo + STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Elektu maŝinon por anstataŭi STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Elektu novan maŝinon por uzi anstataŭ la maldekstre elektitan @@ -2945,19 +2990,19 @@ STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Ĉe aŭt # Vehicle view STR_VEHICLE_VIEW_CAPTION :{WHITE}{VEHICLE} -STR_VEHICLE_VIEW_TRAIN_LOCATION_TOOLTIP :{BLACK}Centre vidu trajnan lokon en la ĉefvido -STR_VEHICLE_VIEW_ROAD_VEHICLE_LOCATION_TOOLTIP :{BLACK}Centre vidu la veturilon en la ĉefvido -STR_VEHICLE_VIEW_SHIP_LOCATION_TOOLTIP :{BLACK}Centre vidu ŝipon en ĉefvido -STR_VEHICLE_VIEW_AIRCRAFT_LOCATION_TOOLTIP :{BLACK}Centre vidu aviadilon en la ĉefvido +STR_VEHICLE_VIEW_TRAIN_LOCATION_TOOLTIP :{BLACK}Centre vidu trajnan lokon en la ĉefvido. Ctrl+klak sekvas trajnon en la ĉefvido +STR_VEHICLE_VIEW_ROAD_VEHICLE_LOCATION_TOOLTIP :{BLACK}Centre vidu la veturilon en la ĉefvido. Ctrl+klak sekvas veturlilon en la ĉefvido +STR_VEHICLE_VIEW_SHIP_LOCATION_TOOLTIP :{BLACK}Centre vidu ŝipon en ĉefvido. Ctrl+klak sekvas ŝipon en la ĉefvido +STR_VEHICLE_VIEW_AIRCRAFT_LOCATION_TOOLTIP :{BLACK}Centre vidu aviadilon en la ĉefvido. Ctrl-klak sekvas aviadilon en la ĉefvido STR_VEHICLE_VIEW_TRAIN_SEND_TO_DEPOT_TOOLTIP :{BLACK}Sendi trajnon al garaĝo. Stir+Klak nur prizorgos STR_VEHICLE_VIEW_ROAD_VEHICLE_SEND_TO_DEPOT_TOOLTIP :{BLACK}Sendi veturilon al garaĝo. Stir+Klak nur prizorgos STR_VEHICLE_VIEW_SHIP_SEND_TO_DEPOT_TOOLTIP :{BLACK}Sendi ŝipon al garaĝo. Stir+Klak nur prizorgos STR_VEHICLE_VIEW_AIRCRAFT_SEND_TO_DEPOT_TOOLTIP :{BLACK}Sendi aviadilon al hangaro. Stir+Klak nur prizorgos -STR_VEHICLE_VIEW_CLONE_TRAIN_INFO :{BLACK}Aĉeti kopion de la trajno kun ĉiuj vagonoj. Stir+Klak por kunhavigi la itineron. -STR_VEHICLE_VIEW_CLONE_ROAD_VEHICLE_INFO :{BLACK}Aĉeti kopion de la stratveturilo. Stir+Klak por kunhavigi la itineron. -STR_VEHICLE_VIEW_CLONE_SHIP_INFO :{BLACK}Aĉeti kopion de la ŝipo. Stir+Klak por kunhavigi la itineron. +STR_VEHICLE_VIEW_CLONE_TRAIN_INFO :{BLACK}Aĉeti kopion de la trajno kun ĉiuj vagonoj. Ctrl+Klak por kunhavigi la itineron +STR_VEHICLE_VIEW_CLONE_ROAD_VEHICLE_INFO :{BLACK}Aĉeti kopion de la stratveturilo. Stir+Klak por kunhavigi la itineron. Montri taksatan koston sen aĉeti per majuskliga klavo + klak +STR_VEHICLE_VIEW_CLONE_SHIP_INFO :{BLACK}Aĉeti kopion de la ŝipo. Stir+Klak por kunhavigi la itineron. Montri taksatan koston sen aĉeti per majuskliga klavo + klak STR_VEHICLE_VIEW_CLONE_AIRCRAFT_INFO :{BLACK}Aĉeti kopion de la aviadilo. Stir+Klak por kunhavigi la itinero. Maj+klak montros la antaŭvidatan koston sen jam aĉetin. STR_VEHICLE_VIEW_TRAIN_IGNORE_SIGNAL_TOOLTIP :{BLACK}Igu trajnon iri malgraŭ signalo @@ -2980,10 +3025,10 @@ STR_VEHICLE_VIEW_ROAD_VEHICLE_SHOW_DETAILS_TOOLTIP :{BLACK}Montru s STR_VEHICLE_VIEW_SHIP_SHOW_DETAILS_TOOLTIP :{BLACK}Montru ŝipajn detalojn STR_VEHICLE_VIEW_AIRCRAFT_SHOW_DETAILS_TOOLTIP :{BLACK}Montru aviadilajn detalojn -STR_VEHICLE_VIEW_TRAIN_STATE_START_STOP_TOOLTIP :{BLACK}Nuna trajna ago - klaku por haltigi/starti la trajnon -STR_VEHICLE_VIEW_ROAD_VEHICLE_STATE_START_STOP_TOOLTIP :{BLACK}Nuna veturila ago - klaku ĉi tie por haltigi/starti veturilon -STR_VEHICLE_VIEW_SHIP_STATE_START_STOP_TOOLTIP :{BLACK}Nuna ŝipa ago - klaku ĉi tie por haltigi/starti ŝipon -STR_VEHICLE_VIEW_AIRCRAFT_STATE_START_STOP_TOOLTIP :{BLACK}Nuna aviadila ago - klaku ĉi tie por haltigi/starti aviadilon +STR_VEHICLE_VIEW_TRAIN_STATE_START_STOP_TOOLTIP :{BLACK}Nuna trajna ago - klaku por haltigi/starti la trajnon. Ctrl+klak rulumas al trajncelo +STR_VEHICLE_VIEW_ROAD_VEHICLE_STATE_START_STOP_TOOLTIP :{BLACK}Nuna veturila ago - klaku ĉi tie por haltigi/starti veturilon. Ctrl+klak rulumas al veturilcelo +STR_VEHICLE_VIEW_SHIP_STATE_START_STOP_TOOLTIP :{BLACK}Nuna ŝipa ago - klaku ĉi tie por haltigi/starti ŝipon. Ctrl+klak rulumas al ŝipcelo +STR_VEHICLE_VIEW_AIRCRAFT_STATE_START_STOP_TOOLTIP :{BLACK}Nuna aviadila ago - klaku ĉi tie por haltigi/starti aviadilon. Ctrl+klak rulumas al aviadilcelo # Messages in the start stop button in the vehicle view STR_VEHICLE_STATUS_LOADING_UNLOADING :{LTBLUE}Ŝarĝante / Deŝarĝante @@ -3036,10 +3081,10 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Enhaveco STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Transigaj Kreditoj: {LTBLUE}{CURRENCY_LONG} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Prizorga intervalo: {LTBLUE}{COMMA}tagoj{BLACK} Lasta prizorgo: {LTBLUE}{DATE_LONG} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Prizorga intervalo: {LTBLUE}{COMMA}{NBSP}tagoj{BLACK} Plej malfrua prizorgo: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Prizorga intervalo: {LTBLUE}{COMMA}%{BLACK} Lasta prizorgo: {LTBLUE}{DATE_LONG} -STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Pliigu prizorgintervalon -STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Malpliigu prizorgintervalon +STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Multoblas prizorgintervalon po 10. Ctrl+klak multoblas prizorgintervalon po 5. +STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Malpliigu prizorgintervalon po 10. Ctrl-klak malpliigas prizorgintervalon po 5 STR_SERVICE_INTERVAL_DROPDOWN_TOOLTIP :{BLACK}Ŝanĝi la tipo de servon intervalon STR_VEHICLE_DETAILS_DEFAULT :Defaŭlto @@ -3100,7 +3145,7 @@ STR_ORDERS_CAPTION :{WHITE}{VEHICLE STR_ORDERS_TIMETABLE_VIEW :{BLACK}Horaro STR_ORDERS_TIMETABLE_VIEW_TOOLTIP :{BLACK}Montri horarovidujon -STR_ORDERS_LIST_TOOLTIP :{BLACK}Ordonlisto - klaku ordonon por elekti. Stir+Klak rulumas al la stacio. +STR_ORDERS_LIST_TOOLTIP :{BLACK}Ordonlisto - klaku ordonon por elekti. Ctrl+Klak rulumas al la celstacio STR_ORDER_INDEX :{COMMA}:{NBSP} STR_ORDER_TEXT :{STRING} {STRING} {STRING} @@ -3131,7 +3176,7 @@ STR_ORDER_TOOLTIP_UNLOAD :{BLACK}Ŝanĝi STR_ORDER_REFIT :{BLACK}Transformu STR_ORDER_REFIT_TOOLTIP :{BLACK}Elektu kargospecon por transformo en ĉi tiu ordono. CTRL+klako por forigi transforminstrukcion -STR_ORDER_REFIT_AUTO :{BLACK}Aŭtotransformi +STR_ORDER_REFIT_AUTO :{BLACK}Aŭtotransformi al stacio STR_ORDER_DROP_REFIT_AUTO :Malŝanĝa ŝarĝo STR_ORDER_DROP_REFIT_AUTO_ANY :Haveblaj ŝarĝoj @@ -3176,7 +3221,7 @@ STR_ORDER_GO_TO_NEAREST_DEPOT :Iru al la plej STR_ORDER_GO_TO_NEAREST_HANGAR :Iru al la plej proksima hangaro. STR_ORDER_CONDITIONAL :Kondiĉe transsaltu ordonon STR_ORDER_SHARE :Kunhavu ordonojn -STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Enigi novan ordonon antaŭ la elektita ordono, aŭ aldoni fine de la listo. +STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Enigi novan ordonon antaŭ la elektita ordono, aŭ aldoni fine de la listo. Kun Ctrl, trajnordonoj estos 'plenŝargi ia kargo', vojpunkt-ordonoj estos 'ne-halti' kaj depotordono estos 'servado'. Kun 'Komunordonoj'-butono aŭ Ctrl-klaku, ĉi tiu veturilo akiros komunajn ordonojn kun eklekta veturilo. Klaku veturilon por kopii ordonojn de tiu veturilo. Doni ia depotordono maleblas aŭtomatan servadon de ĉi tiu veturilo STR_ORDERS_VEH_WITH_SHARED_ORDERS_LIST_TOOLTIP :{BLACK}Montru ĉiujn veturilojn kiuj dividas ĉi tiun planon @@ -3220,17 +3265,17 @@ STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY :(Ne malŝarĝu STR_ORDER_NO_UNLOAD_NO_LOAD :(Ne malŝarĝu kaj ne ŝarĝu) STR_ORDER_AUTO_REFIT :(Aŭtotransformi al {STRING}) -STR_ORDER_FULL_LOAD_REFIT :(Plena ŝarĝo kun aŭtotransformi al {STRING}) -STR_ORDER_FULL_LOAD_ANY_REFIT :(Plena ŝarĝo ciu tipo kun aŭtotransformi al {STRING}) +STR_ORDER_FULL_LOAD_REFIT :(Plena ŝarĝi kun aŭtotransformi al {STRING}) +STR_ORDER_FULL_LOAD_ANY_REFIT :(Plena ŝarĝi ia tipo kun aŭtotransformi al {STRING}) STR_ORDER_UNLOAD_REFIT :(Malŝarĝi kaj preni ŝarĝojn kun aŭtotransformi al {STRING}) STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(Malŝarĝi kaj atendi por la plena ŝarĝon kun aŭtotransformi al {STRING}) -STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(Malŝarĝi kaj atendi por ĉiu plenan ŝarĝon kun aŭtotransformi al {STRING}) +STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(Malŝarĝi kaj atendi por ian plenan ŝarĝon kun aŭtotransformi al {STRING}) STR_ORDER_TRANSFER_REFIT :(Transigi kaj preni ŝarĝojn kun aŭtotransformi al {STRING}) STR_ORDER_TRANSFER_FULL_LOAD_REFIT :(Transigi kaj atendi por la plenan ŝarĝon kun aŭtotransformi al {STRING}) -STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :(Transigi kaj atendi por ĉiu plenan ŝarĝon kun aŭtotransformi al {STRING}) +STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :(Transigi kaj atendi por ian plenan ŝarĝon kun aŭtotransformi al {STRING}) STR_ORDER_NO_UNLOAD_REFIT :(Ne malŝarĝi kaj preni ŝarĝojn kun aŭtotransformi al {STRING}) STR_ORDER_NO_UNLOAD_FULL_LOAD_REFIT :(Ne malŝarĝi kaj atendi por la plenan ŝarĝon kun aŭtotransformi al {STRING}) -STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY_REFIT :(Ne malŝarĝi kaj atendi por ĉiu plenan ŝarĝon kun aŭtotransformi al {STRING}) +STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY_REFIT :(Ne malŝarĝi kaj atendi por ian plenan ŝarĝon kun aŭtotransformi al {STRING}) STR_ORDER_AUTO_REFIT_ANY :haveblaj ŝarĝoj @@ -3258,8 +3303,8 @@ STR_TIMETABLE_TRAVEL_NOT_TIMETABLED :Veturo (ne hora STR_TIMETABLE_TRAVEL_FOR :Veturu por {STRING} STR_TIMETABLE_STAY_FOR :kaj restu por {STRING} STR_TIMETABLE_AND_TRAVEL_FOR :kaj veturu por {STRING} -STR_TIMETABLE_DAYS :{COMMA} tago{P "" j} -STR_TIMETABLE_TICKS :{COMMA} tiko{P "" j} +STR_TIMETABLE_DAYS :{COMMA}{NBSP}tago{P "" j} +STR_TIMETABLE_TICKS :{COMMA}{NBSP}tiko{P "" j} STR_TIMETABLE_TOTAL_TIME :{BLACK} {STRING} necesas por plenumigi ĉi tiun horaron. STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}Ĉi tio horaro postulos alemnaŭ {STRING} plenigi (ne ĉiu horarita) @@ -3490,7 +3535,7 @@ STR_ERROR_TOO_CLOSE_TO_EDGE_OF_MAP_SUB :{WHITE}... tro STR_ERROR_TOO_CLOSE_TO_ANOTHER_TOWN :{WHITE}... tro proksime al alia urbo STR_ERROR_TOO_MANY_TOWNS :{WHITE}... tro da urboj STR_ERROR_NO_SPACE_FOR_TOWN :{WHITE}... spaco mankas sur la mapo -STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}La urbo ne konstruos stratojn. Vi povas ebligi stratkonstruadon per Avancitaj Agordoj->Ekonomio->Urboj. +STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}La urbo ne konstruos stratojn. Vi povas ebligi stratkonstruadon per Avancitaj Agordoj->Ekonomio->Urboj STR_ERROR_ROAD_WORKS_IN_PROGRESS :{WHITE}Aktivas vojprilaborado STR_ERROR_TOWN_CAN_T_DELETE :{WHITE}Ne povas forviŝi ĉi tiun urbon...{}Stacidomo aŭ tenejo rilatas al la urbon aŭ urban kahelon ne povas forviŝigi STR_ERROR_STATUE_NO_SUITABLE_PLACE :{WHITE}... ne jen estas konvenan lokon por statuo en la centro de ĉi tiu urbo @@ -3514,6 +3559,7 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... arba STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... nur konstruebla super la neĝlinio STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... nur konstruebla sub la neĝlinio + # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Ne povas konstrui stacidomon ĉi tie... STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}Ne povas konstrui bushaltejon... @@ -4224,6 +4270,7 @@ STR_JUST_DATE_ISO :{DATE_ISO} STR_JUST_STRING :{STRING} STR_JUST_STRING_STRING :{STRING}{STRING} STR_JUST_RAW_STRING :{STRING} +STR_JUST_BIG_RAW_STRING :{BIG_FONT}{STRING} # Slightly 'raw' stringcodes with colour or size STR_BLACK_COMMA :{BLACK}{COMMA} @@ -4235,8 +4282,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -4247,9 +4292,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/estonian.txt b/src/lang/estonian.txt index 064088e5dd..5c9fa78494 100644 --- a/src/lang/estonian.txt +++ b/src/lang/estonian.txt @@ -152,7 +152,7 @@ STR_CARGO_SINGULAR_FIZZY_DRINK :Kihisevad joogi # Quantity of cargo STR_QUANTITY_NOTHING : -STR_QUANTITY_PASSENGERS :{COMMA} reisija{P "" t} +STR_QUANTITY_PASSENGERS :{COMMA}{NBSP}reisija{P "" s} STR_QUANTITY_COAL :{WEIGHT_LONG} kivisütt STR_QUANTITY_MAIL :{COMMA} postipakk{P "" i} STR_QUANTITY_OIL :{VOLUME_LONG} naftat @@ -305,6 +305,17 @@ STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Kerimisr STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Kerimisriba - kerib listi üles/alla STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Ruudul asuvate hoonete jms. lammutamine. Ctrl valib ala diagonaalselt. Shift valib ehitamise/hinna kuvamise režiimi +# Show engines button +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}Näita peidetud +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK}Näita peidetud +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}Näita peidetud +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}Näita peidetud + +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}Selle nupu lubamisega kuvatakse ka peidetud rongid +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE_TOOLTIP :{BLACK}Selle nupu lubamisega kuvatakse ka peidetud sõidukid +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}Selle nupu lubamisega kuvatakse ka peidetud laevad +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Selle nupu lubamisega kuvatakse ka peidetud lennukid + # Query window STR_BUTTON_DEFAULT :{BLACK}Esialgne STR_BUTTON_CANCEL :{BLACK}Tühista @@ -418,7 +429,7 @@ STR_SCENEDIT_FILE_MENU_QUIT :Välju ############ range for settings menu starts STR_SETTINGS_MENU_GAME_OPTIONS :Mängu seadistus -STR_SETTINGS_MENU_CONFIG_SETTINGS :Põhjalik seadistus +STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Seaded STR_SETTINGS_MENU_SCRIPT_SETTINGS :Tehismõistuse / Mängu skriptide seaded STR_SETTINGS_MENU_NEWGRF_SETTINGS :NewGRF-i seadistus STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Läbipaistvuse seadistus @@ -527,7 +538,7 @@ STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Kontuuride kuva STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Vaheta toon määrdunud plokil ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window STR_ORDINAL_NUMBER_1ST :1. STR_ORDINAL_NUMBER_2ND :2. STR_ORDINAL_NUMBER_3RD :3. @@ -543,22 +554,40 @@ STR_ORDINAL_NUMBER_12TH :12. STR_ORDINAL_NUMBER_13TH :13. STR_ORDINAL_NUMBER_14TH :14. STR_ORDINAL_NUMBER_15TH :15. -STR_ORDINAL_NUMBER_16TH :16. -STR_ORDINAL_NUMBER_17TH :17. -STR_ORDINAL_NUMBER_18TH :18. -STR_ORDINAL_NUMBER_19TH :19. -STR_ORDINAL_NUMBER_20TH :20. -STR_ORDINAL_NUMBER_21ST :21. -STR_ORDINAL_NUMBER_22ND :22. -STR_ORDINAL_NUMBER_23RD :23. -STR_ORDINAL_NUMBER_24TH :24. -STR_ORDINAL_NUMBER_25TH :25. -STR_ORDINAL_NUMBER_26TH :26. -STR_ORDINAL_NUMBER_27TH :27. -STR_ORDINAL_NUMBER_28TH :28. -STR_ORDINAL_NUMBER_29TH :29. -STR_ORDINAL_NUMBER_30TH :30. -STR_ORDINAL_NUMBER_31ST :31. +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :1. +STR_DAY_NUMBER_2ND :2. +STR_DAY_NUMBER_3RD :3. +STR_DAY_NUMBER_4TH :4. +STR_DAY_NUMBER_5TH :5. +STR_DAY_NUMBER_6TH :6. +STR_DAY_NUMBER_7TH :7. +STR_DAY_NUMBER_8TH :8. +STR_DAY_NUMBER_9TH :9. +STR_DAY_NUMBER_10TH :10. +STR_DAY_NUMBER_11TH :11. +STR_DAY_NUMBER_12TH :12. +STR_DAY_NUMBER_13TH :13. +STR_DAY_NUMBER_14TH :14. +STR_DAY_NUMBER_15TH :15. +STR_DAY_NUMBER_16TH :16. +STR_DAY_NUMBER_17TH :17. +STR_DAY_NUMBER_18TH :18. +STR_DAY_NUMBER_19TH :19. +STR_DAY_NUMBER_20TH :20. +STR_DAY_NUMBER_21ST :21. +STR_DAY_NUMBER_22ND :22. +STR_DAY_NUMBER_23RD :23. +STR_DAY_NUMBER_24TH :24. +STR_DAY_NUMBER_25TH :25. +STR_DAY_NUMBER_26TH :26. +STR_DAY_NUMBER_27TH :27. +STR_DAY_NUMBER_28TH :28. +STR_DAY_NUMBER_29TH :29. +STR_DAY_NUMBER_30TH :30. +STR_DAY_NUMBER_31ST :31. ############ range for days ends ############ range for months starts @@ -867,13 +896,12 @@ STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}{VEHICLE STR_NEWS_SHIP_IS_WAITING :{WHITE}{VEHICLE} ootab depoos STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE} ootab lennukiangaaris -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE +# Order review system / warnings STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE} sõiduplaanis on liiga vähe ülesandeid STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}Sõidukil {VEHICLE} on tühistatud ülesanne STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}Sõidukil {VEHICLE} on topeltülesandeid STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}Sõiduki «{VEHICLE}» ülesannetes on kõlbmatu jaam -# end of order system +STR_NEWS_PLANE_USES_TOO_SHORT_RUNWAY :{WHITE}{VEHICLE} lennugraafikus on lennujaam, mille maandumisrada on liiga lühike STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} on vanaks saamas STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} on väga vanaks saamas @@ -956,10 +984,6 @@ STR_GAME_OPTIONS_CURRENCY_GEL :Gruusia lari (G STR_GAME_OPTIONS_CURRENCY_IRR :Iraani rial (IRR) ############ end of currency region - -############ start of measuring units region -############ end of measuring units region - STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Sõidukid STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}Vali, kummal pool teed mootorsõidukid liiklevad STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :Vasakpoolne liiklus @@ -995,11 +1019,13 @@ STR_GAME_OPTIONS_TOWN_NAME_CATALAN :Katalaani STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Isesalvestamine STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Vali automaatselt mängu salvestamise vahemik +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Väljas STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :Iga kuu STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :Iga 3 kuu tagant STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :Iga 6 kuu tagant STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :Iga 12 kuu tagant +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}Keel STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Valib kasutajaliideses kasutatava keele @@ -1011,8 +1037,12 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}Ekraanil STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Ekraanilahutuse valimine STR_GAME_OPTIONS_RESOLUTION_OTHER :muu -STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}Ekraanipildi vorming -STR_GAME_OPTIONS_SCREENSHOT_FORMAT_TOOLTIP :{BLACK}Vali kasutatav ekraanipildi vorming +STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Liidese suurus +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Vali kasutatav liideseelementide suurus + +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Tavaline +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Topeltsuurus +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Ruudu suurus STR_GAME_OPTIONS_BASE_GRF :{BLACK}Alusgraafika kogu STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Valib kasutatava alusgraafika kogu @@ -1028,6 +1058,7 @@ STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Valib al STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} viga{P "ne" "sed"} fail{P "" "id"} STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Rohkem teavet alusmuusika kogu kohta +STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Ei õnnestunud tuvastada toetatud resulutsioone STR_ERROR_FULLSCREEN_FAILED :{WHITE}Täisekraanrežiim ebaõnnestus # Custom currency window @@ -1106,6 +1137,7 @@ STR_TERRAIN_TYPE_VERY_FLAT :Väga tasane STR_TERRAIN_TYPE_FLAT :Tasane STR_TERRAIN_TYPE_HILLY :Künklik STR_TERRAIN_TYPE_MOUNTAINOUS :Mägine +STR_TERRAIN_TYPE_ALPINIST :Alpinist STR_CITY_APPROVAL_PERMISSIVE :Soodustav STR_CITY_APPROVAL_TOLERANT :Salliv @@ -1113,8 +1145,8 @@ STR_CITY_APPROVAL_HOSTILE :Vaenulik STR_WARNING_NO_SUITABLE_AI :{WHITE}Sobiv tehismõistus puudub...{}Tehismõistuseid võib laadida Internetisisu laadimise aknast. -# Advanced settings window -STR_CONFIG_SETTING_CAPTION :{WHITE}Põhjalik seadistus +# Settings tree window +STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Seaded STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Filtri tekst: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Ava kõik STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Sulge kõik @@ -1129,10 +1161,10 @@ STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :Ettevõtte sead STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK}Rühm: STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}Liik: -STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Piirab alljärgnevat nimekirja muudetud seadete kuvamiseks -STR_CONFIG_SETTING_RESTRICT_BASIC :Põhilised seaded -STR_CONFIG_SETTING_RESTRICT_ADVANCED :Täpsemad seaded -STR_CONFIG_SETTING_RESTRICT_ALL :Eksperdi seaded / kõik seaded +STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Piirab varem tehtud filtridega alljärgnevat loendit +STR_CONFIG_SETTING_RESTRICT_BASIC :Põhilised (kuva vaid tähtsad seaded) +STR_CONFIG_SETTING_RESTRICT_ADVANCED :Edasijõudnud (enim seadeid) +STR_CONFIG_SETTING_RESTRICT_ALL :Ekspert (kuva kõik seaded, isegi veidrad) STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :Seaded mis erinevad vaikeväärtustest STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :Seaded mis erinevad sinu valitud uue mängu seadetest @@ -1187,8 +1219,9 @@ STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Lülita sisse/v STR_CONFIG_SETTING_CITY_APPROVAL :Linnavalitusese suhtumine pinnase restruktureerimisse: {STRING} STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Vali kui suurt mõju tekitavad müra ning keskkonna muudatused ettevõtte mainele ja edasistele ehitustoimingutele antud piirkonnas -STR_CONFIG_SETTING_BUILDONSLOPES :Nõlvadele ja kallastele ehitamine: {STRING} -STR_CONFIG_SETTING_BUILDONSLOPES_HELPTEXT :Kui lubatud, saab teid ja jaamu ehitada enamikle nõlvadele. Kui keelatud, siis on need lubatud ainult nõlvadel, mis vastavad rööbastee suunale ja mis eeldavad seega vundamenti. +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :Maksimaalne mägede kõrgus: {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :Sätesta kaardi maksimaalne lubatud mägede kõrgus +STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}Kaardi maksimaalset kõrgust pole sellisele kõrgusele võimalik sätestada. Vähemalt üks mägi on antud kõrgusest suurem. STR_CONFIG_SETTING_AUTOSLOPE :Maastikukujundus majade, rööbaste jms. all (autoslope): {STRING} STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Lase maja- ja rööpaalust maad kujundada ilma neid eemaldamata STR_CONFIG_SETTING_CATCHMENT :Reaalsemad veekogud: {STRING} @@ -1213,16 +1246,12 @@ STR_CONFIG_SETTING_FORBID_90_DEG :Rongidel ja lae STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90 kraadine pööre esineb, kui rõhtsele rööpale järgneb püstne rööbas, seega peab rong tegema 90 kraadise pöörde tavalise 45 kraadise pöörde asemel. Muudab ka laevade pöörderaadiust STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Mitte kõrvuti asetsevate jaamade liitmine: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Lubab lisada uusi jaamade osi ilma puudutamata olemasolevaid osi. Vajalik Ctrl+Vajutus, kui asetada uut osa -STR_CONFIG_SETTING_IMPROVEDLOAD :Täiustatud laadimisalgoritm: {STRING} -STR_CONFIG_SETTING_IMPROVEDLOAD_HELPTEXT :Kui lubatud, laaditakse ootel sõidukid jaamas järjestikkul. Järgmise sõiduki laadimine käivitub ainult siis, kui on piisavalt lasti, et täielikult täita esimese sõiduk -STR_CONFIG_SETTING_GRADUAL_LOADING :Veovahendite järkjärguline laadimine: {STRING} -STR_CONFIG_SETTING_GRADUAL_LOADING_HELPTEXT :Järk-järgult laetud sõidukitel kasutatakse sõiduki kindlalt laadimis aega, selle asemel et pealelaadida kõik korraga kindlaks määratud ajaga, mis oleneb ainult laetud lasti summast STR_CONFIG_SETTING_INFLATION :Inflatsioon: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :Tekitab majandusinflatsiooni, kus hinnad tõusevad pisut kiiremini kui maksed -STR_CONFIG_SETTING_SELECTGOODS :Kauba toimetamine jaama ainult nõudluse korral: {STRING} -STR_CONFIG_SETTING_SELECTGOODS_HELPTEXT :Jaama tuleb ainult kaup mis on nõutud vastava sõiduki poolt. See välistab halvad reitingud teistele kaupadele mida sellest jaamast ei transpordita STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Maksimaalne silla pikkus: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Maksimaalne pikkus ehitatud sildadele +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :Maksimaalne silla kõrgus: {STRING} +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :Maksimaalne sildade ehitamise kõrgus STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Maksimaalne tunneli pikkus: {STRING} STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :Maksimaalne pikkus ehitatud tunnelitele STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Toorainetööstuse rajamise viis: {STRING} @@ -1248,8 +1277,6 @@ STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Esialgne peatum STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :lõpu lähedal STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :keskel STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :täiesti lõpus -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING :Mootorsõidukite järjekorrad (koos mahuefektidega): {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING_HELPTEXT :Pane sõiduk ootama hõivatud peatuse ees kuni need on vabastatud STR_CONFIG_SETTING_AUTOSCROLL :Vaate liikumine, kui hiireosuti on akna servas: {STRING} STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Sisse lülitamisel liigub vaade, kui hiireosuti on aknaserva lähedal STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Väljas @@ -1280,10 +1307,6 @@ STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Läbisõidupeat STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Lubab linnale kuuluvatel teedel ehitada läbisõidupeatuseid STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Läbisõidupeatused konkurentide teedel: {STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Lubab teisele ettevõttele kuulaval teel ehitada läbisõidupeatuseid -STR_CONFIG_SETTING_ADJACENT_STATIONS :Jaamade kõrvutiehitamine: {STRING} -STR_CONFIG_SETTING_ADJACENT_STATIONS_HELPTEXT :Luba erinevaid jaamu omavahel kokku puutuda -STR_CONFIG_SETTING_DYNAMIC_ENGINES :Mitme NewGRF sõidukikomplekti lubamine: {STRING} -STR_CONFIG_SETTING_DYNAMIC_ENGINES_HELPTEXT :Ühilduvuse suvand vanadele NewGRF'le. Ärge keelake seda, juhul kui Sa tead täpselt mida sa teed! STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Sõidukite olemasolul ei saa seda seadet muuta STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Taristu hooldamine: {STRING} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Taristuga kaasnevad halduskulud. Kulud kasvavad taristu hulga suhtes ebaproportsionaalselt, ning mõjutavad pigem suurettevõtteid @@ -1322,27 +1345,41 @@ STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Näitab linna n STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Graafikujoone laius: {STRING} STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Graafikutes kasutatava joone laius. Peenem joon on täpsem, laiem joon on paremini näha ja värvid on selgemini eristatavad +STR_CONFIG_SETTING_LANDSCAPE :Maastik: {STRING} +STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Igal maastikul on oma kaubatüübid ja nõuded linnade kasvamiseks. Täpsemaid muudatusi saab teha NewGRFi ja mänguskriptide abil. STR_CONFIG_SETTING_LAND_GENERATOR :Maatekituse meetod: {STRING} +STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :Originaalne generaator sõltub alusgraafikast ja tekitab kindlaksmääratud maastikuvorme. TerraGenesis on Perlini müral põhinev generaator, mida saab täpsemalt seadistada STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Algupärane STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis +STR_CONFIG_SETTING_TERRAIN_TYPE :Maapinna tüüp: {STRING} +STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(TerraGenesis only) Maastiku mägisus +STR_CONFIG_SETTING_INDUSTRY_DENSITY :Tööstustihedus: {STRING} +STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Määrab, kui palju tööstuseid tekib, ning kui palju neid mängu kestel olema peaks STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Maksimaalne kaugus kaardi servast naftatöötlustehase jaoks: {STRING} STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Naftatöötlemistehased ehitatakse ainult kaardi piirile, see on rannikul saartega mängitaval kaardil. STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Lumepiiri kõrgus: {STRING} +STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Määra, millisel kõrgusel algab sub-arktiline maastik. Lumi mõjutab ka tööstuste loomist ja linna kasvamise tingimusi STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Maastiku järskus (ainult TerraGenesis) : {STRING} +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(TerraGenesis only) Vali mägede tihedus: Laugetel maastikel on vähem, laiema ulatusega mägesid. Mägistel maastikel on palju mägesid, mis võivad näha välja samasugused STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Väga lauge STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Lauge STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Järsk STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Väga järsk +STR_CONFIG_SETTING_VARIETY :Iseärasuste jaotus: {STRING} +STR_CONFIG_SETTING_VARIETY_HELPTEXT :(TerraGenesis only) Määra, kas kaardil on nii mägiseid kui laugeid alasid. Kuna see muudab kaarti ainult laugemaks, peaksid teised sätted olema seadistatud mägisteks +STR_CONFIG_SETTING_RIVER_AMOUNT :Jõgede hulk: {STRING} +STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Vali kui palju jõgesid luua STR_CONFIG_SETTING_TREE_PLACER :Puuasetusalgoritm: {STRING} +STR_CONFIG_SETTING_TREE_PLACER_HELPTEXT :Vali puude jaotuvus kaardil: 'Algupärane' paigutab puud vormitult hajutatuna, 'Täiustatud' paigutab need gruppidena STR_CONFIG_SETTING_TREE_PLACER_NONE :Pole STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :Algupärane STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :Täiustatud +STR_CONFIG_SETTING_ROAD_SIDE :Sõidukid: {STRING} +STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :Vali liikluse suund STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Kõrgustekaardi pööramine: {STRING} STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Vastu-päevapidi STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Päevapidi STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :Kõrguse level kui kõrgele lapik kaart läheb: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :Maastikukujundus kaardiäärsetel ruutudel: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES_HELPTEXT :Kui välja lülitatud, siis kaardi piirid on alati maailmameri STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}Üks või enam ruutu põhjaäärel pole tühjad STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}Üks või enam ääreruutu pole vesi @@ -1393,17 +1430,15 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Väljas STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Vaate liigutamine vasaku hiireklahviga: {STRING} STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :Lubab kaardi liigutamise vasaku hiireklahvi abil. See lihtsustab mängimist puutetundlikul ekraanil +STR_CONFIG_SETTING_AUTOSAVE :Automaatne salvestamine: {STRING} +STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Vali automaatse salvestamise intervall + STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Salvestatud mängu nimes kasutatakse {STRING} kuupäevavormingut STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Kuupäeva vorming salvestatud mängu nimes STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :pikka (31. dets 2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :lühikest (31-12-2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE :NewGRF-i palett, kui palett on määramata: {STRING} -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_HELPTEXT :Palett, kui NewGRF vajalikku paletti ei määra -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_DOS :Vaikimisi (D) palett -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_WIN :Algupärane (W) palett - STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Mängu alguses mäng seisab: {STRING} STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :Sisse lülitamisel mängu alguses aeg seisab, et oleks rohkem aega kaardiga tutvuda STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Lubatud seisaku ajal: {STRING} @@ -1577,7 +1612,7 @@ STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT :Luba linnadel e STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :Linnadel on lubatud ehitada ülesõidukohti: {STRING} STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Selle seade sisse lülitamine lubab linnadel ehitada ülesõidukohti STR_CONFIG_SETTING_NOISE_LEVEL :Lennujaamade mürapiirangud linnades: {STRING} -STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Kui ei ole aktiveeritud, siis on igas linnas lubatud kuni kaks lennujaama. Kui see seade on aktiveeritud, siis on lubatud igas linnas lennujaamu ehitada vastavalt linna müra vastuvõrlikkuse tasemele, mis sõltub otseselt linna elanike arvust ja lennujaama suurusest ja kaugusest kesklinnast +STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Kui seade ei ole sisse lülitatud, siis igasse linna on lubatud ehitada kuni kaks lennuvälja. Kui see seade on lubatud, siis lennuväljade arvu ülempiiri määrab linna müratundlikkus, mis sõltub rahvaarvust ja lennuvälja suurusest ja kaugusest STR_CONFIG_SETTING_TOWN_FOUNDING :Linnade rajamine keset mängu: {STRING} STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Võimaldab ettevõttel uusi linnu rajada STR_CONFIG_SETTING_TOWN_FOUNDING_FORBIDDEN :Keelatud @@ -1625,8 +1660,6 @@ STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 iga {COMMA} k STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Mitte ühtegi STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Algne linnade suurustegur: {STRING} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Keskmine linna suurus võrreldes tavalise asulaga mängu alguses -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :Mittevajaliku eemaldamine teedeehitusel: {STRING} -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD_HELPTEXT :Eemalda tupikteed kui rahastatakse kohalikku teedeehitust STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Jaotusgraafikuid uuendatakse igal {STRING}. päeval STR_CONFIG_SETTING_LINKGRAPH_INTERVAL_HELPTEXT :Aega ahelgraafikute koostamise vahel. Koostamine uuendab plaane ainult ühes graafiku osas. Seega X väärtusega ei uuendata graafikut iga X päeva tagant. Uuendatakse vaid ühte osa. Väiksema arvuga kasutatakse protsessorit rohkem. Suurema arvuga läheb kauem aega, kuni uuel teel alustatakse kaubavedu. @@ -1640,7 +1673,7 @@ STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :Kui jaamast A l STR_CONFIG_SETTING_DISTRIBUTION_MAIL :Posti jaotuse viis: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :Kui jaamast A viiakse jaama B umbes sama hulk posti, kui jaamast B jaama A, siis jaotus on «sümeetriline». Kui mõlemas suunas viiakse ükskõik, kui palju posti, siis jaotus on «asümeetriline». Kui posti liikumist ei jaotata, siis jaotus on «väljas». STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :SOOMUSTATUD kaubarühma jaotuse viis: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :Parasvöötmes on SOOMUSTATUD kaubarühm väärisasjad, lähistroopikas teemantid, ning lähisartikas kuld. Neid saab lisada NewGRF-iga. Kui jaamast A viiakse jaama B umbes sama hulk kaupa, kui jaamast B jaama A, siis jaotus on «sümeetriline». Kui mõlemas suunas viiakse ükskõik, kui palju kaupa, siis jaotus on «asümeetriline». Kui posti liikumist ei jaotata, siis jaotus on «väljas». Lähisartikas valida asümeetriline või väljas, sest pankadest kulda tagasi ei tule. Parasvöötmes ja lähistroopikas on võimalik valida ka sümeetriline, sest pangad saadavad lähtepanka väärisasju tagasi. +STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :Parasvöötmes on SOOMUSTATUD kaubarühm väärisasjad, lähistroopikas teemandid, ning lähisartikas kuld. Neid saab lisada NewGRF-iga. Kui jaamast A viiakse jaama B umbes sama hulk kaupa, kui jaamast B jaama A, siis jaotus on «sümeetriline». Kui mõlemas suunas viiakse ükskõik, kui palju kaupa, siis jaotus on «asümeetriline». Kui posti liikumist ei jaotata, siis jaotus on «väljas». Lähisartikas valida asümeetriline või väljas, sest pankadest kulda tagasi ei tule. Parasvöötmes ja lähistroopikas on võimalik valida ka sümeetriline, sest pangad saadavad lähtepanka väärisasju tagasi. STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Teiste kaubarühmade jaotuse viis: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :Kui jaamast A viiakse jaama B umbes sama hulk kaupa, kui jaamast B jaama A, siis jaotus on «sümeetriline». Kui mõlemas suunas viiakse ükskõik, kui palju kaupa, siis jaotus on «asümeetriline». Kui posti liikumist ei jaotata, siis jaotus on «väljas». Tavaliselt on head valikud «asümeetriline» ja «väljas». STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Jaotuse täpsus: {STRING} @@ -1688,27 +1721,29 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :Inglise mõõdu STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :Meetermõõdustik (m) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :SI-süsteem (m) -STR_CONFIG_SETTING_GUI :{ORANGE}Liides STR_CONFIG_SETTING_LOCALISATION :{ORANGE}Kohandused -STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}Ehitus -STR_CONFIG_SETTING_VEHICLES :{ORANGE}Sõidukid -STR_CONFIG_SETTING_STATIONS :{ORANGE}Jaamad -STR_CONFIG_SETTING_ECONOMY :{ORANGE}Majandus -STR_CONFIG_SETTING_LINKGRAPH :{ORANGE}Kaubajaotus -STR_CONFIG_SETTING_AI :{ORANGE}Konkurendid -STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}Vaate seadistus -STR_CONFIG_SETTING_INTERACTION :{ORANGE}Käitumine +STR_CONFIG_SETTING_GRAPHICS :{ORANGE}Graafika STR_CONFIG_SETTING_SOUND :{ORANGE}Heliefektid -STR_CONFIG_SETTING_NEWS :{ORANGE}Uudised ja sõnumid -STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}Signaalid -STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE}Kauba käsitlemine -STR_CONFIG_SETTING_AI_NPC :{ORANGE}Arvuti -STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE}Uuendamine -STR_CONFIG_SETTING_VEHICLES_SERVICING :{ORANGE}Hooldus +STR_CONFIG_SETTING_INTERFACE :{ORANGE}Liides +STR_CONFIG_SETTING_INTERFACE_GENERAL :{ORANGE}Üldine +STR_CONFIG_SETTING_INTERFACE_VIEWPORTS :{ORANGE}Vaateavad +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Ehitus +STR_CONFIG_SETTING_ADVISORS :{ORANGE}Uudised / Nõunikud +STR_CONFIG_SETTING_COMPANY :{ORANGE}Ettevõte +STR_CONFIG_SETTING_ACCOUNTING :{ORANGE}Raamatupidamine +STR_CONFIG_SETTING_VEHICLES :{ORANGE}Sõidukid +STR_CONFIG_SETTING_VEHICLES_PHYSICS :{ORANGE}Füüsika STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Marsruutimine -STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}Rongid -STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}Linnad -STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}Tööstused +STR_CONFIG_SETTING_LIMITATIONS :{ORANGE}Piirangud +STR_CONFIG_SETTING_ACCIDENTS :{ORANGE}Katastroofid / Õnnetused +STR_CONFIG_SETTING_GENWORLD :{ORANGE}Maailma tekitamine +STR_CONFIG_SETTING_ENVIRONMENT :{ORANGE}Keskkond +STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :{ORANGE}Linnavõimud +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Linnad +STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}Tööstused +STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :{ORANGE}Kaubajaotus +STR_CONFIG_SETTING_AI :{ORANGE}Konkurendid +STR_CONFIG_SETTING_AI_NPC :{ORANGE}Arvuti STR_CONFIG_SETTING_PATHFINDER_OPF :Algne STR_CONFIG_SETTING_PATHFINDER_NPF :NPF @@ -1757,7 +1792,7 @@ STR_INTRO_MULTIPLAYER :{BLACK}Mitmikm STR_INTRO_GAME_OPTIONS :{BLACK}Liidese seadistus STR_INTRO_HIGHSCORE :{BLACK}Punktitabel -STR_INTRO_ADVANCED_SETTINGS :{BLACK}Põhjalik seadistus +STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Seaded STR_INTRO_NEWGRF_SETTINGS :{BLACK}NewGRF-i seadistus STR_INTRO_ONLINE_CONTENT :{BLACK}Aineste allalaadimine STR_INTRO_SCRIPT_SETTINGS :{BLACK}Arvuti seadistus @@ -1777,7 +1812,7 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Vali 'm STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Ava liidese seadistamine STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Ava punktitabel -STR_INTRO_TOOLTIP_ADVANCED_SETTINGS :{BLACK}Ava põhjalik seadistamine +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Ava seaded STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Ava NewGRF-i seadistamine STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Otsi allalaadimiseks uusi ja uuendatud aineseid STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Ava arvuti seadistamine @@ -1817,6 +1852,8 @@ STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Mängim STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Võlubuldooser (eemaldab tööstused, paiksed objektid): {ORANGE}{STRING} STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}Tunnelid võivad üksteist läbida: {ORANGE}{STRING} STR_CHEAT_NO_JETCRASH :{LTBLUE}Reaktiivlennukid ei kuku (tihti) väikestel lennuväljadel alla: {ORANGE} {STRING} +STR_CHEAT_EDIT_MAX_HL :{LTBLUE}Muuda maksimaalset kaardi kõrgust {ORANGE}{NUM} +STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Muuda kaardi maksimaalset mägede kõrgust STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE :Parasvöötme maastik STR_CHEAT_SWITCH_CLIMATE_SUB_ARCTIC_LANDSCAPE :Arktiline maastik STR_CHEAT_SWITCH_CLIMATE_SUB_TROPICAL_LANDSCAPE :Troopiline maastik @@ -1865,6 +1902,7 @@ STR_LIVERY_FREIGHT_TRAM :Kaubatramm STR_FACE_CAPTION :{WHITE}Näo valik STR_FACE_CANCEL_TOOLTIP :{BLACK}Tühista uue näo valimine STR_FACE_OK_TOOLTIP :{BLACK}Uue näo valimine +STR_FACE_RANDOM :{BLACK}Suvaline STR_FACE_MALE_BUTTON :{BLACK}Mees STR_FACE_MALE_TOOLTIP :{BLACK}Vali mehe nägu @@ -1986,6 +2024,7 @@ STR_NETWORK_START_SERVER_UNADVERTISED :Jah STR_NETWORK_START_SERVER_ADVERTISED :Jah STR_NETWORK_START_SERVER_CLIENTS_SELECT :{BLACK}{NUM} klient{P "" i} STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Kliente kuni: +STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS.in :sees STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS_TOOLTIP :{BLACK}Määrab klientide arvule ülempiiri. Kõiki vabu kohti ei pea täitma STR_NETWORK_START_SERVER_COMPANIES_SELECT :{BLACK}{NUM} ettevõte{P "" t} STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}Ettevõtteid kuni: @@ -2706,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-2014 OpenTTD meeskond +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2015 OpenTTD meeskond # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Mängu salvestamine @@ -2725,6 +2764,7 @@ STR_SAVELOAD_SAVE_BUTTON :{BLACK}Salvesta STR_SAVELOAD_SAVE_TOOLTIP :{BLACK}Salvesta mäng valitud nimega STR_SAVELOAD_LOAD_BUTTON :{BLACK}Jätka STR_SAVELOAD_LOAD_TOOLTIP :{BLACK}Jätka valitud mängu +STR_SAVELOAD_LOAD_HEIGHTMAP_TOOLTIP :{BLACK}Laadi valitud kõrguskaart STR_SAVELOAD_DETAIL_CAPTION :{BLACK}Mängust STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}Andmed puuduvad STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING} @@ -2740,13 +2780,12 @@ STR_MAPGEN_BY :{BLACK}* STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Linnade sagedus: STR_MAPGEN_DATE :{BLACK}Algus: STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Tööstuste sagedus: +STR_MAPGEN_MAX_HEIGHTLEVEL :{BLACK}Maksimaalne kaardi kõrgus: +STR_MAPGEN_MAX_HEIGHTLEVEL_UP :{BLACK}Tõsta maksimaalset kaardi mägede kõrgust ühe võrra +STR_MAPGEN_MAX_HEIGHTLEVEL_DOWN :{BLACK}Langeta maksimaalset kaardi mägede kõrgust ühe võrra STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}Lumepiiri kõrgus: STR_MAPGEN_SNOW_LINE_UP :{BLACK}Lumepiiri liigutamine ühe võrra üles STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}Lumepiiri liigutamine ühe võrra alla -STR_MAPGEN_RANDOM_SEED :{BLACK}Juhuarv: -STR_MAPGEN_RANDOM_SEED_HELP :{BLACK}Klõpsa juhuarvu sisestamiseks -STR_MAPGEN_RANDOM :{BLACK}Suvaline -STR_MAPGEN_RANDOM_HELP :{BLACK}Muuda maastiku tekitamisel kasutatavat juhuarvu STR_MAPGEN_LAND_GENERATOR :{BLACK}Maatekituse meetod: STR_MAPGEN_TREE_PLACER :{BLACK}Puude algoritm: STR_MAPGEN_TERRAIN_TYPE :{BLACK}Maapinna tüüp: @@ -2773,7 +2812,7 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Kõrguse STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Suurus: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} -STR_MAPGEN_RANDOM_SEED_OSKTITLE :{BLACK}Sisesta suvaline arv +STR_MAPGEN_MAX_HEIGHTLEVEL_QUERY_CAPT :{WHITE}Muuda maksimaalset kaardi kõrgust STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}Muuda lumepiiri kõrgust STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Muuda algusaastat @@ -2828,6 +2867,8 @@ STR_NEWGRF_SETTINGS_MOVEUP :{BLACK}Liiguta STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP :{BLACK}NewGRF-faili liigutamine loendis üles. STR_NEWGRF_SETTINGS_MOVEDOWN :{BLACK}Liiguta alla STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP :{BLACK}NewGRF-faili liigutamine loendis alla +STR_NEWGRF_SETTINGS_UPGRADE :{BLACK}Uuenda +STR_NEWGRF_SETTINGS_UPGRADE_TOOLTIP :{BLACK}Uuenda NewGRF faile mille uuema versiooni oled installinud STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}Nimekiri installitud NewGRF failidest STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}Vali parameetrid @@ -2852,6 +2893,16 @@ STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Sobivat fa STR_NEWGRF_SETTINGS_DISABLED :{RED}Väljas STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Mitteühilduv selle OpenTTD versiooniga +# NewGRF save preset window +STR_SAVE_PRESET_CAPTION :{WHITE}Salvesta eelseadistus +STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK}Võimalike eeltöötluste nimekiri, vali üks et see kopeerida allpool asuvasse salvestuse nimesse +STR_SAVE_PRESET_TITLE :{BLACK}Sisesta eelseadistuse nimi +STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}Hetkel eelseadistusele valitud nimi +STR_SAVE_PRESET_CANCEL :{BLACK}Tühista +STR_SAVE_PRESET_CANCEL_TOOLTIP :{BLACK}Ära muuda eelseadistust +STR_SAVE_PRESET_SAVE :{BLACK}Salvesta +STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}Salvesta eelseadistus praegusele valitud nimele + # NewGRF parameters window STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Muuda NewGRF parameetreid STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Sulge @@ -2882,7 +2933,10 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Eelmine STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Proceed to the previous normal sprite, skipping any pseudo/recolour/font sprites and wrapping around at the begin STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Representation of the currently selected sprite. The alignment is ignored when drawing this sprite STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Liiguta spraiti , muutes X ja Y tasakaalu -STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X tasakaal: {NUM}, Y tasakaal: {NUM} +STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Lähtesta suhteline +STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Lähtesta praegused suhtelised kõrvalekalded +STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}X kõrvalekalle: {NUM}, Y kõrvalekalle: {NUM} (Absoluutne) +STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}X kõrvalekalle: {NUM}, Y kõrvalekalle: {NUM} (Suhteline) STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Korja sprite STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Korja sprite ükskõik kust ekraanil @@ -3055,7 +3109,7 @@ STR_GOAL_QUESTION_CAPTION_INFORMATION :Teave STR_GOAL_QUESTION_CAPTION_WARNING :Hoiatus STR_GOAL_QUESTION_CAPTION_ERROR :Viga -### Start of Goal Question button list +############ Start of Goal Question button list STR_GOAL_QUESTION_BUTTON_CANCEL :Tühista STR_GOAL_QUESTION_BUTTON_OK :OK STR_GOAL_QUESTION_BUTTON_NO :Ei @@ -3074,6 +3128,7 @@ STR_GOAL_QUESTION_BUTTON_RESTART :Alusta uuesti STR_GOAL_QUESTION_BUTTON_POSTPONE :Lükka edasi STR_GOAL_QUESTION_BUTTON_SURRENDER :Anna alla STR_GOAL_QUESTION_BUTTON_CLOSE :Sulge +############ End of Goal Question button list # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}Toetused @@ -3109,7 +3164,6 @@ STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}Veoseid # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} -STR_STATION_VIEW_WAITING_TITLE :{BLACK}Ootel: {WHITE}{STRING} STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} jaamast «{STATION}») STR_STATION_VIEW_RESERVED :{YELLOW}({CARGO_SHORT} kinni laadimiseks) @@ -3359,6 +3413,9 @@ STR_GROUP_DELETE_TOOLTIP :{BLACK}Eemalda STR_GROUP_RENAME_TOOLTIP :{BLACK}Valitud rühma nime vahetamine STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Klõpsa, et seda rühma üldise automaatse asenduse eest kaitsta +STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Kustuta Grupp +STR_GROUP_DELETE_QUERY_TEXT :{WHITE}Kas oled kindel, et tahad kustutada selle grupi ja kõik järglased? + STR_GROUP_ADD_SHARED_VEHICLE :Kõik jagatud sõidukid STR_GROUP_REMOVE_ALL_VEHICLES :Eemalda kõik sõidukid @@ -3421,6 +3478,21 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Muuda mo STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Laeva tüübinime muutmine STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Lennuki tüübinime muutmine +STR_BUY_VEHICLE_TRAIN_HIDE_TOGGLE_BUTTON :{BLACK}Peida +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_TOGGLE_BUTTON :{BLACK}Peida +STR_BUY_VEHICLE_SHIP_HIDE_TOGGLE_BUTTON :{BLACK}Peida +STR_BUY_VEHICLE_AIRCRAFT_HIDE_TOGGLE_BUTTON :{BLACK}Peida + +STR_BUY_VEHICLE_TRAIN_SHOW_TOGGLE_BUTTON :{BLACK}Näita +STR_BUY_VEHICLE_ROAD_VEHICLE_SHOW_TOGGLE_BUTTON :{BLACK}Näita +STR_BUY_VEHICLE_SHIP_SHOW_TOGGLE_BUTTON :{BLACK}Näita +STR_BUY_VEHICLE_AIRCRAFT_SHOW_TOGGLE_BUTTON :{BLACK}Näita + +STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Sätesta rongitüübi peitmine/kuvamine +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Sätesta sõidukitüübi peitmine/kuvamine +STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Sätesta laevatüübi peitmine/kuvamine +STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Sätesta lennukitüübi peitmine/kuvamine + STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}Vaheta rongivaguni tüübinime STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}Vaheta mootorsõiduki tüübinime STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}Laeva tüübinime vahetamine @@ -3503,7 +3575,7 @@ STR_DEPOT_SELL_CONFIRMATION_TEXT :{YELLOW}Sa oled # Engine preview window STR_ENGINE_PREVIEW_CAPTION :{WHITE}Teade veovahendite tootjalt -STR_ENGINE_PREVIEW_MESSAGE :{GOLD}Me töötasime välja uue {STRING}{P "" i}. Kas te oleksite huvitatud selle ainuõiguslikust katsetamisest järgneva aasta jooksul, et me saaksime jälgida kuidas see toimib? +STR_ENGINE_PREVIEW_MESSAGE :{GOLD}Me töötasime välja uue {STRING}. Kas te oleksite huvitatud selle ainuõiguslikust katsetamisest järgneva aasta jooksul, et me saaksime jälgida kuidas see toimib? STR_ENGINE_PREVIEW_RAILROAD_LOCOMOTIVE :raudteevedur STR_ENGINE_PREVIEW_ROAD_VEHICLE :mootorsõiduk STR_ENGINE_PREVIEW_AIRCRAFT :lennuk @@ -3525,6 +3597,11 @@ STR_REPLACE_VEHICLE_ROAD_VEHICLE :Sõiduk STR_REPLACE_VEHICLE_SHIP :Laev STR_REPLACE_VEHICLE_AIRCRAFT :Õhusõiduk +STR_REPLACE_VEHICLE_VEHICLES_IN_USE :{YELLOW}Kasutuses sõidukid +STR_REPLACE_VEHICLE_VEHICLES_IN_USE_TOOLTIP :{BLACK}Tulp sõidukitega, mida omad +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES :{YELLOW}Saadaval sõidukid +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES_TOOLTIP :{BLACK}Tulp sõidukitega, mida on võimalik vahetada + STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Vali asendatav veduritüüp STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Vali uus vedur, millega sa soovid vasakult valitud vedurit asendada. @@ -3879,6 +3956,10 @@ STR_TIMETABLE_TRAVEL_NOT_TIMETABLED :Sõitmine (sõi STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Reisi kõike suurema {2:VELOCITY} (ei ole ajastatud) STR_TIMETABLE_TRAVEL_FOR :Sõida {STRING} STR_TIMETABLE_TRAVEL_FOR_SPEED :Reisi selleks {STRING} kõige rohkema {VELOCITY} +STR_TIMETABLE_TRAVEL_FOR_ESTIMATED :Sõit ({STRING}, ei ole ajastatud) +STR_TIMETABLE_TRAVEL_FOR_SPEED_ESTIMATED :Sõit ({STRING}, ei ole ajastatud) kuni {VELOCITY} +STR_TIMETABLE_STAY_FOR_ESTIMATED :({STRING} oode, ei ole ajastatud) +STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :({STRING} sõidukestus, ei ole ajastatud) STR_TIMETABLE_STAY_FOR :ja oota {STRING} STR_TIMETABLE_AND_TRAVEL_FOR :ja sõida {STRING} jaoks STR_TIMETABLE_DAYS :{COMMA} päev{P "" a} @@ -4120,6 +4201,7 @@ STR_ERROR_EXCAVATION_WOULD_DAMAGE :{WHITE}Kaevanda STR_ERROR_ALREADY_AT_SEA_LEVEL :{WHITE}Juba jõutud meretasemeni STR_ERROR_TOO_HIGH :{WHITE}Liiga kõrge STR_ERROR_ALREADY_LEVELLED :{WHITE}... juba tasane +STR_ERROR_BRIDGE_TOO_HIGH_AFTER_LOWER_LAND :{WHITE}Selle kohal olev sild oleks hiljem liiga kõrge # Company related errors STR_ERROR_CAN_T_CHANGE_COMPANY_NAME :{WHITE}Ei saa ettevõtte nime muuta... @@ -4170,6 +4252,9 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... mets STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... saab ehitada ainult ülespoole lumepiiri STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... saab ehitada ainult allapoole lumepiiri +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE} '{STRING}' tööstuste jaoks polnud sobivaid asukohti +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Muuda kaardigeneratsiooni parameetreid, et saada parem kaart + # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Siia ei saa raudteejaama ehitada... STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}Siia ei saa bussijaama ehitada... @@ -4306,6 +4391,7 @@ STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Sild tul STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}Ei saa alata ja lõppeda samas kohas STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}Sillaotsad pole samal kõrgusel STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}Sild on maastiku suhtes liiga madal +STR_ERROR_BRIDGE_TOO_HIGH_FOR_TERRAIN :{WHITE}Sild on selle maastiku jaoks liiga kõrge STR_ERROR_START_AND_END_MUST_BE_IN :{WHITE}Algus ja lõpp peavad samal joonel olema STR_ERROR_ENDS_OF_BRIDGE_MUST_BOTH :{WHITE}... mõlemad sillaotsad peavad olema maal STR_ERROR_BRIDGE_TOO_LONG :{WHITE}.. sild on liiga pik @@ -4332,6 +4418,7 @@ STR_ERROR_YOU_ALREADY_OWN_IT :{WHITE}... see STR_ERROR_GROUP_CAN_T_CREATE :{WHITE}Ei saa rühma luua... STR_ERROR_GROUP_CAN_T_DELETE :{WHITE}Seda rühma ei saa eemaldada... STR_ERROR_GROUP_CAN_T_RENAME :{WHITE}Rühma nime ei saa vahetada... +STR_ERROR_GROUP_CAN_T_SET_PARENT :{WHITE}Ülemrühma ei saa määrata... STR_ERROR_GROUP_CAN_T_REMOVE_ALL_VEHICLES :{WHITE}Ei saa kõiki sõidukeid sellest rühmast eemaldada... STR_ERROR_GROUP_CAN_T_ADD_VEHICLE :{WHITE}Antud sõidukit ei saa sellesse rühma lisada... STR_ERROR_GROUP_CAN_T_ADD_SHARED_VEHICLE :{WHITE}Jagatud sõidukeid ei saa rühma lisada... @@ -4869,6 +4956,7 @@ STR_COMPANY_NAME :{COMPANY} STR_COMPANY_NAME_COMPANY_NUM :{COMPANY} {COMPANY_NUM} STR_DEPOT_NAME :{DEPOT} STR_ENGINE_NAME :{ENGINE} +STR_HIDDEN_ENGINE_NAME :{ENGINE} (peidetud) STR_GROUP_NAME :{GROUP} STR_INDUSTRY_NAME :{INDUSTRY} STR_PRESIDENT_NAME :{PRESIDENT_NAME} @@ -4904,8 +4992,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -4916,9 +5002,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/faroese.txt b/src/lang/faroese.txt index 0ed87f7633..7fc1313d5a 100644 --- a/src/lang/faroese.txt +++ b/src/lang/faroese.txt @@ -240,6 +240,9 @@ STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Skriðu STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Skriðu bjálki - drag listan til vinstru/høgru STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Ríva bygning niður etc. á einum fýrakanti av jørð. Ctrl velur økji á skrá. Shift skiftur millum at vísa Bygning og hvat tað kostar. +# Show engines button + + # Query window STR_BUTTON_DEFAULT :{BLACK}Vanligt STR_BUTTON_CANCEL :{BLACK}Angra @@ -349,7 +352,6 @@ STR_SCENEDIT_FILE_MENU_QUIT :Gevst ############ range for settings menu starts STR_SETTINGS_MENU_GAME_OPTIONS :Spæl møguleikar -STR_SETTINGS_MENU_CONFIG_SETTINGS :Víðkaðir innstillingar STR_SETTINGS_MENU_SCRIPT_SETTINGS :AI/Spæl script innstillingar STR_SETTINGS_MENU_NEWGRF_SETTINGS :NewGRF innstillingar STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Gjøgnumskygnis møguleikar @@ -457,7 +459,7 @@ STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Skift millum bi STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Skift millum liting av skitnum blokkum ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window STR_ORDINAL_NUMBER_1ST :1. STR_ORDINAL_NUMBER_2ND :2. STR_ORDINAL_NUMBER_3RD :3. @@ -473,22 +475,40 @@ STR_ORDINAL_NUMBER_12TH :12. STR_ORDINAL_NUMBER_13TH :13. STR_ORDINAL_NUMBER_14TH :14. STR_ORDINAL_NUMBER_15TH :15. -STR_ORDINAL_NUMBER_16TH :16. -STR_ORDINAL_NUMBER_17TH :17. -STR_ORDINAL_NUMBER_18TH :18. -STR_ORDINAL_NUMBER_19TH :19. -STR_ORDINAL_NUMBER_20TH :20. -STR_ORDINAL_NUMBER_21ST :21. -STR_ORDINAL_NUMBER_22ND :22. -STR_ORDINAL_NUMBER_23RD :23. -STR_ORDINAL_NUMBER_24TH :24. -STR_ORDINAL_NUMBER_25TH :25. -STR_ORDINAL_NUMBER_26TH :26. -STR_ORDINAL_NUMBER_27TH :27. -STR_ORDINAL_NUMBER_28TH :28. -STR_ORDINAL_NUMBER_29TH :29. -STR_ORDINAL_NUMBER_30TH :30. -STR_ORDINAL_NUMBER_31ST :31. +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :1. +STR_DAY_NUMBER_2ND :2. +STR_DAY_NUMBER_3RD :3. +STR_DAY_NUMBER_4TH :4. +STR_DAY_NUMBER_5TH :5. +STR_DAY_NUMBER_6TH :6. +STR_DAY_NUMBER_7TH :7. +STR_DAY_NUMBER_8TH :8. +STR_DAY_NUMBER_9TH :9. +STR_DAY_NUMBER_10TH :10. +STR_DAY_NUMBER_11TH :11. +STR_DAY_NUMBER_12TH :12. +STR_DAY_NUMBER_13TH :13. +STR_DAY_NUMBER_14TH :14. +STR_DAY_NUMBER_15TH :15. +STR_DAY_NUMBER_16TH :16. +STR_DAY_NUMBER_17TH :17. +STR_DAY_NUMBER_18TH :18. +STR_DAY_NUMBER_19TH :19. +STR_DAY_NUMBER_20TH :20. +STR_DAY_NUMBER_21ST :21. +STR_DAY_NUMBER_22ND :22. +STR_DAY_NUMBER_23RD :23. +STR_DAY_NUMBER_24TH :24. +STR_DAY_NUMBER_25TH :25. +STR_DAY_NUMBER_26TH :26. +STR_DAY_NUMBER_27TH :27. +STR_DAY_NUMBER_28TH :28. +STR_DAY_NUMBER_29TH :29. +STR_DAY_NUMBER_30TH :30. +STR_DAY_NUMBER_31ST :31. ############ range for days ends ############ range for months starts @@ -791,13 +811,11 @@ STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}{VEHICLE STR_NEWS_SHIP_IS_WAITING :{WHITE}{VEHICLE} bíðar í goymsluni STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE} bíðar í hangarinum -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE +# Order review system / warnings STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE} hevur ov fá boð í skránni STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE} hevur eini ógyldig boð STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE} hevur boð ið eru eins STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE} hevur eina óviðkomandi støð í sinum boðum -# end of order system STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} er vi at eldast STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} er við at eldast serstakliga nógv @@ -880,10 +898,6 @@ STR_GAME_OPTIONS_CURRENCY_GEL :Georgiskur Lari STR_GAME_OPTIONS_CURRENCY_IRR :Iranskur Rial ############ end of currency region - -############ start of measuring units region -############ end of measuring units region - STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Akfør STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}Áset hvørja síðu á vegnum akfør skulu koyra á STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :Vinstrakoyring @@ -919,11 +933,13 @@ STR_GAME_OPTIONS_TOWN_NAME_CATALAN :Katalanisk STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Sjálvgoymsla STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Vel títtleika av sjálvgoymslu +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Sløkt STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :Hvønn mánað STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :Hvønn 3 mánað STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :Hvønn 6 mánað STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :Einaferð um árið +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}Mál STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Vel mál at nýta í takførisflatu @@ -935,8 +951,7 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}Skerm up STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Vel hvørja skermupploysn tú vil brúka STR_GAME_OPTIONS_RESOLUTION_OTHER :annað -STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}Skermmynda snið -STR_GAME_OPTIONS_SCREENSHOT_FORMAT_TOOLTIP :{BLACK}Vel hvat skermmynda snið tú vil brúka + STR_GAME_OPTIONS_BASE_GRF :{BLACK}Base grafikk sett STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Vel ta base grafikk setti tú vil brúka @@ -1037,8 +1052,7 @@ STR_CITY_APPROVAL_HOSTILE :Fíggjindaligir STR_WARNING_NO_SUITABLE_AI :{WHITE}Einki hóskandi AI til taks...{}Tú kann heinta niður fleiri ymisk AI gjøgnum 'Online tilfar' kervi -# Advanced settings window -STR_CONFIG_SETTING_CAPTION :{WHITE}Víðkaðir innstillingar +# Settings tree window STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Filtur strongur: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Víðka alt STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Toga alt saman @@ -1105,8 +1119,6 @@ STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Tendra/sløkk STR_CONFIG_SETTING_CITY_APPROVAL :Støðan hjá býraðnum viðvíkjandi umbygging: {STRING} STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Vel hvussu nógv óljóð og umhvørvis skaði frá fyritøkum virkar á teirra meting í bygdini og hvussu tær sleppa at byggja víðari í økinum -STR_CONFIG_SETTING_BUILDONSLOPES :Loyv bygging á hellandi lendi og strondum: {STRING} -STR_CONFIG_SETTING_BUILDONSLOPES_HELPTEXT :Um tendra kunnu breytir og støðir byggjast har lendi hellur. Um sløkt, mugu breytir fara sama veg sum lendi hellir og støðir mugu byggjast á flatt lendi STR_CONFIG_SETTING_AUTOSLOPE :Loyv landslagsbroytingar undir bygningum, breytum, osv. (autoslope): {STRING} STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Loyv landslagsbroytingar undir bygningum og breytum uttan at beina tey burtur STR_CONFIG_SETTING_CATCHMENT :Loyv meira verðuleikakendum støddum á upplandi hjá støðum: {STRING} @@ -1131,14 +1143,8 @@ STR_CONFIG_SETTING_FORBID_90_DEG :Bannað tokum o STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90 gradirs sneiðingar eru tá ein vatnrætt breyt kemur beint aftaná eina loddrætta breyt í tí puntinum ið er næstur, ið førir við sær at toki ger eina 90 gradirs sneiðing heldur enn tær vanligu 45. Hetta ávirkar eisini snúnings radius hjá skipum STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Loyv at skoyta støðir saman ið ikki hava beinleiðis samband: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Loyvir at leggja deilir til eina støð uttan at teir beinleiðis nerta verðandi deilir. Krevst Ctrl+trýst tá tú leggur nýggju deilinar -STR_CONFIG_SETTING_IMPROVEDLOAD :Brúka betraða lessingar algoritmu: {STRING} -STR_CONFIG_SETTING_IMPROVEDLOAD_HELPTEXT :Um tendra, verða flutningstól lessaði hvørt eftir annað tá tey eru fleyri í einari støð. Lessing av næsta flutningstólinum byrjar ikki fyrr enn nóg miki av farmi er til at fylla fyrra flutningstóli -STR_CONFIG_SETTING_GRADUAL_LOADING :Lessa flutningstól so líðandi: {STRING} -STR_CONFIG_SETTING_GRADUAL_LOADING_HELPTEXT :Lessa flutningstól so líðandi við nýtslu av serligum lessingar tíðarbilum fyri hvørt flutningstóli, í staðin fyri at lessa alt uppá ein gang uppá eina fasta tíð einans treytað av hvussu nógvur farmur skal lessast STR_CONFIG_SETTING_INFLATION :Virðisminkan: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :Gilda virðisminkan í búskapinum, har kostnaðir vaksa eitt sindur skjótari enn lønir -STR_CONFIG_SETTING_SELECTGOODS :Einans útflýggja farm til eina støð tá ið ein tørvur er: {STRING} -STR_CONFIG_SETTING_SELECTGOODS_HELPTEXT :Einans útflýggja farm til eina støð ið var umbiðin av einum lessandi flutningstóli. Hetta forðar vánaligum metingum av farmi ið ikki verður avgreiddur á eini støð STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Mest loyvda longd av brúm: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Mest loyvda longd tá ið tú byggir brýr STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Mest loyvda longd av bergholi: {STRING} @@ -1166,8 +1172,6 @@ STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Áset hvar við STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :nær endanum STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :miðjuni STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :fjart endanum -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING :Akfar í bíðirøð (við kvantum ávirkan): {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING_HELPTEXT :Akfør bíða frammanfyri upptiknar veg steðgir til teir eru tómir STR_CONFIG_SETTING_AUTOSCROLL :Skotra vindeyga tá músin er við eggina: {STRING} STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Um gilda, byrja sýnisgluggar at skrulla tá músin er nær við egginar á vindeyganum STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Ikki sligi til @@ -1198,10 +1202,6 @@ STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Loyv gjøgnumko STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Loyv bygging av gjøgnumkoyrings steðgum á vegum ið bygdir eiga STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Loyv gjøgnumkoyrings steðgum á vegum ið kappingarneytar eiga: {STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Loyv bygging av gjøgnumkoyrings steðgum á vegum ið kappingarneytar eiga -STR_CONFIG_SETTING_ADJACENT_STATIONS :Loyv at byggja støðir síð um síð: {STRING} -STR_CONFIG_SETTING_ADJACENT_STATIONS_HELPTEXT :Loyv ymsum støðum at nema við hvørja aðra -STR_CONFIG_SETTING_DYNAMIC_ENGINES :Gilda fleiri NewGRF motor sett: {STRING} -STR_CONFIG_SETTING_DYNAMIC_ENGINES_HELPTEXT :Háttlíkis møguleiki fyri gomul NewGRF. Ikki ógilda hetta, uttan so er at tú veist nágreiniliga hvat tú ger! STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Ikki møguligt at broyta hesa áseting tá ta eru flutningstól STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Innakervis viðlílkahald: {STRING} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Um gilda, innankervi elvir til viðlíkahalds kostnað. Kostnaðurin vaksur yvir-lutfalsliga við støddina á kervinum, og ávirkar harvið størri fyritøkur meira enn smærri fyritøkur @@ -1259,8 +1259,6 @@ STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Hæddarkort sna STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Í móti klokkunu STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Við klokkuni STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :Hæddar støði eitt flatt tilburðs kort fær: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :Gilda landslags broytingar av puntum við eggina á kortinum: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES_HELPTEXT :Um ógilda, eru egginar á kortinum altíð hav STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}Ein ella fleiri puntar við norðaru eggina eru ikki tómir STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}Ein ella fleiri puntar við eina egg eru ikki vatn @@ -1311,15 +1309,13 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Sløkt STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Vinstra-trýst skrulling: {STRING} STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :Gilda skrulling av kortinum við at toga ta við vinstra músa knøtti. Hetta er serstakliga hent um tú nýtur ein fingraskugga at skrulla vi + STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Nýt {STRING} dato sniði til nøvnini á goymdum spølum STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Sniði fyri dato í fíla navninum á goymdum spølum STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :langt (31. Des 2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :stutt (31-12-2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE :Vanligt litaval at ganga út frá fyri NewGRFs uttan serstakt litaval: {STRING} -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_HELPTEXT :Vanligt litaval at nýta fyri NewGRF ið ikki tilskila hvat litaval teimum tørvar - STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Sjálvirknan steðg tá nýtt spæl verður byrja: {STRING} STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :Um gilda er spæli steðga tá ið tú byrjar eitt nýtt spæl, hetta loyvir tær at skoða korti í frið og náðum STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Meðan steðgur er, loyv: {STRING} @@ -1520,25 +1516,15 @@ STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Eingin -STR_CONFIG_SETTING_GUI :{ORANGE}Takførisflati -STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}Bygging -STR_CONFIG_SETTING_VEHICLES :{ORANGE}Flutningstól -STR_CONFIG_SETTING_STATIONS :{ORANGE}Støðir -STR_CONFIG_SETTING_ECONOMY :{ORANGE}Búskapur -STR_CONFIG_SETTING_AI :{ORANGE}Kappingarneytar -STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}Vísu møguleikar -STR_CONFIG_SETTING_INTERACTION :{ORANGE}Ávirkan STR_CONFIG_SETTING_SOUND :{ORANGE}Ljóð effektir -STR_CONFIG_SETTING_NEWS :{ORANGE}Tíðindi og boð -STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}Tekin -STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE}Farma stýring -STR_CONFIG_SETTING_AI_NPC :{ORANGE}Teldu spælarir -STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE}Sjálvendurnýggja -STR_CONFIG_SETTING_VEHICLES_SERVICING :{ORANGE}Eftirlit +STR_CONFIG_SETTING_INTERFACE :{ORANGE}Takførisflati +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Bygging +STR_CONFIG_SETTING_VEHICLES :{ORANGE}Flutningstól STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Beining -STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}Tok -STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}Bygdir -STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}Ídnaðir +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Bygdir +STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}Ídnaðir +STR_CONFIG_SETTING_AI :{ORANGE}Kappingarneytar +STR_CONFIG_SETTING_AI_NPC :{ORANGE}Teldu spælarir STR_CONFIG_SETTING_PATHFINDER_OPF :Upprunaligur STR_CONFIG_SETTING_PATHFINDER_NPF :NPF @@ -1574,7 +1560,6 @@ STR_INTRO_MULTIPLAYER :{BLACK}Hópspæ STR_INTRO_GAME_OPTIONS :{BLACK}Spæli møguleikar STR_INTRO_HIGHSCORE :{BLACK}Hástigs yvirlit -STR_INTRO_ADVANCED_SETTINGS :{BLACK}Víðkaðir innstillingar STR_INTRO_NEWGRF_SETTINGS :{BLACK}NewGRF innstillingar STR_INTRO_ONLINE_CONTENT :{BLACK}Kanna online tilfar STR_INTRO_SCRIPT_SETTINGS :{BLACK}AI/Spæli script innstillingar @@ -1594,7 +1579,6 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Vel 'toy STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Vís spæli møguleikar STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Vís hástigs yvirlit -STR_INTRO_TOOLTIP_ADVANCED_SETTINGS :{BLACK}Vís víðkaðar innstillingar STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Vís NewGRF innstillingar STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Kanna um nýtt og betra tilfar er klárt at heinta niður STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Vís AI/Spæli script innstillingar @@ -1682,6 +1666,7 @@ STR_LIVERY_FREIGHT_TRAM :{G=m}Góðs spo STR_FACE_CAPTION :{WHITE}Andlits úrval STR_FACE_CANCEL_TOOLTIP :{BLACK}Angra nýtt andlits val STR_FACE_OK_TOOLTIP :{BLACK}Góðtak nýtt andlits val +STR_FACE_RANDOM :{BLACK}Blanda STR_FACE_MALE_BUTTON :{BLACK}Kallkyn STR_FACE_MALE_TOOLTIP :{BLACK}Vel kallkyns andlit @@ -2442,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-2014 OpenTTD toymi +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 OpenTTD toymi # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Goym spæl @@ -2479,10 +2464,6 @@ STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Nr. av STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}Hædd á kava linju: STR_MAPGEN_SNOW_LINE_UP :{BLACK}Flyt kava linjuna eitt upp STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}Flyt kava linjuna eitt niður -STR_MAPGEN_RANDOM_SEED :{BLACK}Tilvildarligt sáð: -STR_MAPGEN_RANDOM_SEED_HELP :{BLACK}Trýst fyri at skriva tilvildarligt sáð -STR_MAPGEN_RANDOM :{BLACK}Blanda -STR_MAPGEN_RANDOM_HELP :{BLACK}Broyt tilvildarliga sáði ið verur nýtt til landslags framleiðslu STR_MAPGEN_LAND_GENERATOR :{BLACK}Lendis framleiðari: STR_MAPGEN_TREE_PLACER :{BLACK}Træ algoritma: STR_MAPGEN_TERRAIN_TYPE :{BLACK}Slag av lendi: @@ -2509,7 +2490,6 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Navn á STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Stødd: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} * {NUM} -STR_MAPGEN_RANDOM_SEED_OSKTITLE :{BLACK}Skriva eitt tilvildarligt sáð STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}Broyt hædd á kava linju STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Broyt byrjunar ár @@ -2587,6 +2567,8 @@ STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Samsvarand STR_NEWGRF_SETTINGS_DISABLED :{RED}Ikki sligi til STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Samsvarar ikki við hesa útgávuna av OpenTTD +# NewGRF save preset window + # NewGRF parameters window STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Broyt NewGRF parametur STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Lat aftur @@ -2732,7 +2714,7 @@ STR_GOAL_QUESTION_CAPTION_INFORMATION :Kunning STR_GOAL_QUESTION_CAPTION_WARNING :Ávaring STR_GOAL_QUESTION_CAPTION_ERROR :Villa -### Start of Goal Question button list +############ Start of Goal Question button list STR_GOAL_QUESTION_BUTTON_CANCEL :Angra STR_GOAL_QUESTION_BUTTON_OK :OK STR_GOAL_QUESTION_BUTTON_NO :Nei @@ -2751,6 +2733,7 @@ STR_GOAL_QUESTION_BUTTON_RESTART :Endurbyrja STR_GOAL_QUESTION_BUTTON_POSTPONE :Útset STR_GOAL_QUESTION_BUTTON_SURRENDER :Gev teg upp STR_GOAL_QUESTION_BUTTON_CLOSE :Lat aftur +############ End of Goal Question button list # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}Stuðulsflutningur @@ -2776,7 +2759,6 @@ STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}Eingin f # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} -STR_STATION_VIEW_WAITING_TITLE :{BLACK}Bíðar: {WHITE}{STRING} STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} frá {STATION}) STR_STATION_VIEW_RESERVED :{YELLOW}({CARGO_SHORT} umbiði til lessing) @@ -3002,6 +2984,7 @@ STR_GROUP_DELETE_TOOLTIP :{BLACK}Strika v STR_GROUP_RENAME_TOOLTIP :{BLACK}Navngev valda bólkin STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Trýst fyri at verja hendan bólkin móti alheims sjálvendurnýggjan + STR_GROUP_ADD_SHARED_VEHICLE :Legg deild flutningstól til STR_GROUP_REMOVE_ALL_VEHICLES :Bein øll flutningstól burtur @@ -3064,6 +3047,9 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Navngev STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Navngev slagi av skipi STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Navngev slagi av flogfari + + + STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}Navngev slagi av tok flutningstóli STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}Navngev slagi av akfari STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}Navngev slagi av skipi @@ -3168,6 +3154,7 @@ STR_REPLACE_VEHICLE_ROAD_VEHICLE :{G=n}Akfar STR_REPLACE_VEHICLE_SHIP :Skip STR_REPLACE_VEHICLE_AIRCRAFT :{G=n}Flogfar + STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Vel slagi av motori at býta um STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Vel ta nýggja slagi av motori tú vil nýta ið staðin fyri tann tú valdi til vinstru @@ -3727,6 +3714,7 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... skó STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... kann einans byggjast omanfyri kava-linjuna STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... kann einans byggjast niðanfyri kava-linjuna + # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Kann ikki byggja tok støð her... STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}Kann ikki byggja buss støð... @@ -4448,8 +4436,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -4460,9 +4446,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/finnish.txt b/src/lang/finnish.txt index 6e83d546ac..ab87294ea4 100644 --- a/src/lang/finnish.txt +++ b/src/lang/finnish.txt @@ -95,30 +95,30 @@ STR_CARGO_SINGULAR_FIZZY_DRINK :Sihijuoma # Quantity of cargo STR_QUANTITY_NOTHING : -STR_QUANTITY_PASSENGERS :{COMMA} matkustaja{P "" a} +STR_QUANTITY_PASSENGERS :{COMMA}{NBSP}matkustaja{P "" a} STR_QUANTITY_COAL :{WEIGHT_LONG} kivihiiltä -STR_QUANTITY_MAIL :{COMMA} säkki{P "" ä} postia +STR_QUANTITY_MAIL :{COMMA}{NBSP}säkki{P "" ä} postia STR_QUANTITY_OIL :{VOLUME_LONG} öljyä -STR_QUANTITY_LIVESTOCK :{COMMA} erä{P "" ä} karjaa -STR_QUANTITY_GOODS :{COMMA} laatikko{P "" a} tavaraa +STR_QUANTITY_LIVESTOCK :{COMMA}{NBSP}erä{P "" ä} karjaa +STR_QUANTITY_GOODS :{COMMA}{NBSP}laatikko{P "" a} tavaraa STR_QUANTITY_GRAIN :{WEIGHT_LONG} viljaa STR_QUANTITY_WOOD :{WEIGHT_LONG} raakapuuta STR_QUANTITY_IRON_ORE :{WEIGHT_LONG} rautamalmia STR_QUANTITY_STEEL :{WEIGHT_LONG} terästä -STR_QUANTITY_VALUABLES :{COMMA} säkki{P "" ä} arvotavaraa +STR_QUANTITY_VALUABLES :{COMMA}{NBSP}säkki{P "" ä} arvotavaraa STR_QUANTITY_COPPER_ORE :{WEIGHT_LONG} kuparimalmia STR_QUANTITY_MAIZE :{WEIGHT_LONG} maissia STR_QUANTITY_FRUIT :{WEIGHT_LONG} hedelmiä -STR_QUANTITY_DIAMONDS :{COMMA} säkki{P "" ä} timantteja +STR_QUANTITY_DIAMONDS :{COMMA}{NBSP}säkki{P "" ä} timantteja STR_QUANTITY_FOOD :{WEIGHT_LONG} ruokaa STR_QUANTITY_PAPER :{WEIGHT_LONG} paperia -STR_QUANTITY_GOLD :{COMMA} säkki{P "" ä} kultaa +STR_QUANTITY_GOLD :{COMMA}{NBSP}säkki{P "" ä} kultaa STR_QUANTITY_WATER :{VOLUME_LONG} vettä STR_QUANTITY_WHEAT :{WEIGHT_LONG} vehnää STR_QUANTITY_RUBBER :{VOLUME_LONG} kumia STR_QUANTITY_SUGAR :{WEIGHT_LONG} sokeria -STR_QUANTITY_TOYS :{COMMA} lelu{P "" a} -STR_QUANTITY_SWEETS :{COMMA} säkki{P "" ä} karkkia +STR_QUANTITY_TOYS :{COMMA}{NBSP}lelu{P "" a} +STR_QUANTITY_SWEETS :{COMMA}{NBSP}säkki{P "" ä} karkkia STR_QUANTITY_COLA :{VOLUME_LONG} limsaa STR_QUANTITY_CANDYFLOSS :{WEIGHT_LONG} hattaraa STR_QUANTITY_BUBBLES :{COMMA} kupla{P "" a} @@ -165,12 +165,12 @@ STR_ABBREV_NONE :{TINY_FONT}EI STR_ABBREV_ALL :{TINY_FONT}KAIKKI # 'Mode' of transport for cargoes -STR_PASSENGERS :{COMMA} matkustaja{P "" a} -STR_BAGS :{COMMA} säkki{P "" ä} -STR_TONS :{COMMA} tonni{P "" a} -STR_LITERS :{COMMA} litra{P "" a} -STR_ITEMS :{COMMA} erä{P "" ä} -STR_CRATES :{COMMA} laatikko{P "" a} +STR_PASSENGERS :{COMMA}{NBSP}matkustaja{P "" a} +STR_BAGS :{COMMA}{NBSP}säkki{P "" ä} +STR_TONS :{COMMA}{NBSP}tonni{P "" a} +STR_LITERS :{COMMA}{NBSP}litra{P "" a} +STR_ITEMS :{COMMA}{NBSP}erä{P "" ä} +STR_CRATES :{COMMA}{NBSP}laatikko{P "" a} # Colours, do not shuffle STR_COLOUR_DARK_BLUE :Tummansininen @@ -191,37 +191,37 @@ STR_COLOUR_GREY :Harmaa STR_COLOUR_WHITE :Valkoinen # Units used in OpenTTD -STR_UNITS_VELOCITY_IMPERIAL :{COMMA} mph -STR_UNITS_VELOCITY_METRIC :{COMMA} km/h -STR_UNITS_VELOCITY_SI :{COMMA} m/s +STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}mph +STR_UNITS_VELOCITY_METRIC :{COMMA}{NBSP}km/h +STR_UNITS_VELOCITY_SI :{COMMA}{NBSP}m/s -STR_UNITS_POWER_IMPERIAL :{COMMA}hv -STR_UNITS_POWER_METRIC :{COMMA}hv -STR_UNITS_POWER_SI :{COMMA}kW +STR_UNITS_POWER_IMPERIAL :{COMMA}{NBSP}hv +STR_UNITS_POWER_METRIC :{COMMA}{NBSP}hv +STR_UNITS_POWER_SI :{COMMA}{NBSP}kW -STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}t -STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}t -STR_UNITS_WEIGHT_SHORT_SI :{COMMA}kg +STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_SI :{COMMA}{NBSP}kg -STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA} tonni{P "" a} -STR_UNITS_WEIGHT_LONG_METRIC :{COMMA} tonni{P "" a} -STR_UNITS_WEIGHT_LONG_SI :{COMMA} kg +STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA}{NBSP}tonni{P "" a} +STR_UNITS_WEIGHT_LONG_METRIC :{COMMA}{NBSP}tonni{P "" a} +STR_UNITS_WEIGHT_LONG_SI :{COMMA}{NBSP}kg -STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}gal -STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}l -STR_UNITS_VOLUME_SHORT_SI :{COMMA}m³ +STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}{NBSP}gal +STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}{NBSP}l +STR_UNITS_VOLUME_SHORT_SI :{COMMA}{NBSP}m³ -STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA} gallona{P "" a} -STR_UNITS_VOLUME_LONG_METRIC :{COMMA} litra{P "" a} -STR_UNITS_VOLUME_LONG_SI :{COMMA} m³ +STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA}{NBSP}gallona{P "" a} +STR_UNITS_VOLUME_LONG_METRIC :{COMMA}{NBSP}litra{P "" a} +STR_UNITS_VOLUME_LONG_SI :{COMMA}{NBSP}m³ -STR_UNITS_FORCE_IMPERIAL :{COMMA} lbf -STR_UNITS_FORCE_METRIC :{COMMA} kgf -STR_UNITS_FORCE_SI :{COMMA} kN +STR_UNITS_FORCE_IMPERIAL :{COMMA}{NBSP}lbf +STR_UNITS_FORCE_METRIC :{COMMA}{NBSP}kgf +STR_UNITS_FORCE_SI :{COMMA}{NBSP}kN -STR_UNITS_HEIGHT_IMPERIAL :{COMMA} ft -STR_UNITS_HEIGHT_METRIC :{COMMA} m -STR_UNITS_HEIGHT_SI :{COMMA} m +STR_UNITS_HEIGHT_IMPERIAL :{COMMA}{NBSP}ft +STR_UNITS_HEIGHT_METRIC :{COMMA}{NBSP}m +STR_UNITS_HEIGHT_SI :{COMMA}{NBSP}m # Common window strings STR_LIST_FILTER_TITLE :{BLACK}Suodatinteksti: @@ -248,6 +248,17 @@ STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Vieritys STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Vierityspalkki - luettelon vieritys vasemmalle/oikealle. STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Tuhoa rakennuksia jne. ruudulta. Ctrl valitsee alueen vinottain. Shift vaihtaa tuhoamistilan ja kustannearvion välillä +# Show engines button +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}Näytä piilotetut +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK}Näytä piilotetut +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}Näytä piilotetut +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}Näytä piilotetut + +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}Kun otat tämän käyttöön, myös piilotetut junat näytetään +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE_TOOLTIP :{BLACK}Kun otat tämän käyttöön, myös piilotetut ajoneuvot näytetään +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}Kun otat tämän käyttöön, myös piilotetut laivat näytetään +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Kun otat tämän käyttöön, myös piilotetut lentokoneet näytetään + # Query window STR_BUTTON_DEFAULT :{BLACK}Oletus STR_BUTTON_CANCEL :{BLACK}Peruuta @@ -360,8 +371,8 @@ STR_SCENEDIT_FILE_MENU_QUIT :Lopeta ############ range for SE file menu starts ############ range for settings menu starts -STR_SETTINGS_MENU_GAME_OPTIONS :Pelin asetukset -STR_SETTINGS_MENU_CONFIG_SETTINGS :Lisäasetukset +STR_SETTINGS_MENU_GAME_OPTIONS :Pelin valinnat +STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Asetukset STR_SETTINGS_MENU_SCRIPT_SETTINGS :Tekoälyn/Peliskriptin asetukset STR_SETTINGS_MENU_NEWGRF_SETTINGS :NewGRF-asetukset STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Läpinäkyvyysasetukset @@ -470,7 +481,7 @@ STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Reunat päälle STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Likaisten ruutujen värjäys päälle/pois ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window STR_ORDINAL_NUMBER_1ST :1. STR_ORDINAL_NUMBER_2ND :2. STR_ORDINAL_NUMBER_3RD :3. @@ -486,22 +497,40 @@ STR_ORDINAL_NUMBER_12TH :12. STR_ORDINAL_NUMBER_13TH :13. STR_ORDINAL_NUMBER_14TH :14. STR_ORDINAL_NUMBER_15TH :15. -STR_ORDINAL_NUMBER_16TH :16. -STR_ORDINAL_NUMBER_17TH :17. -STR_ORDINAL_NUMBER_18TH :18. -STR_ORDINAL_NUMBER_19TH :19. -STR_ORDINAL_NUMBER_20TH :20. -STR_ORDINAL_NUMBER_21ST :21. -STR_ORDINAL_NUMBER_22ND :22. -STR_ORDINAL_NUMBER_23RD :23. -STR_ORDINAL_NUMBER_24TH :24. -STR_ORDINAL_NUMBER_25TH :25. -STR_ORDINAL_NUMBER_26TH :26. -STR_ORDINAL_NUMBER_27TH :27. -STR_ORDINAL_NUMBER_28TH :28. -STR_ORDINAL_NUMBER_29TH :29. -STR_ORDINAL_NUMBER_30TH :30. -STR_ORDINAL_NUMBER_31ST :31. +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :1. +STR_DAY_NUMBER_2ND :2. +STR_DAY_NUMBER_3RD :3. +STR_DAY_NUMBER_4TH :4. +STR_DAY_NUMBER_5TH :5. +STR_DAY_NUMBER_6TH :6. +STR_DAY_NUMBER_7TH :7. +STR_DAY_NUMBER_8TH :8. +STR_DAY_NUMBER_9TH :9. +STR_DAY_NUMBER_10TH :10. +STR_DAY_NUMBER_11TH :11. +STR_DAY_NUMBER_12TH :12. +STR_DAY_NUMBER_13TH :13. +STR_DAY_NUMBER_14TH :14. +STR_DAY_NUMBER_15TH :15. +STR_DAY_NUMBER_16TH :16. +STR_DAY_NUMBER_17TH :17. +STR_DAY_NUMBER_18TH :18. +STR_DAY_NUMBER_19TH :19. +STR_DAY_NUMBER_20TH :20. +STR_DAY_NUMBER_21ST :21. +STR_DAY_NUMBER_22ND :22. +STR_DAY_NUMBER_23RD :23. +STR_DAY_NUMBER_24TH :24. +STR_DAY_NUMBER_25TH :25. +STR_DAY_NUMBER_26TH :26. +STR_DAY_NUMBER_27TH :27. +STR_DAY_NUMBER_28TH :28. +STR_DAY_NUMBER_29TH :29. +STR_DAY_NUMBER_30TH :30. +STR_DAY_NUMBER_31ST :31. ############ range for days ends ############ range for months starts @@ -810,13 +839,12 @@ STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}{VEHICLE STR_NEWS_SHIP_IS_WAITING :{WHITE}{VEHICLE} odottaa varikolla STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE} odottaa lentokonehallissa -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE +# Order review system / warnings STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}Kulkuneuvolla {VEHICLE} on liian vähän käskyjä STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}Kulkuneuvolla {VEHICLE} on virheellinen käsky STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}Ajoneuvolla {VEHICLE} on toistuvia käskyjä STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}Kulkuneuvon {VEHICLE} käskyissä on virheellinen asema -# end of order system +STR_NEWS_PLANE_USES_TOO_SHORT_RUNWAY :{WHITE}Kulkuneuvon {VEHICLE} käskyissä on lentokenttä, jonka kiitorata on liian lyhyt STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} on tulossa vanhaksi STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} on tulossa hyvin vanhaksi @@ -858,7 +886,7 @@ STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Liitä n STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW_TT :{BLACK}Liitä sijainti tästä näkymästä päänäkymään # Game options window -STR_GAME_OPTIONS_CAPTION :{WHITE}Pelin asetukset +STR_GAME_OPTIONS_CAPTION :{WHITE}Pelin valinnat STR_GAME_OPTIONS_CURRENCY_UNITS_FRAME :{BLACK}Rahayksikkö STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Rahayksikön valinta. @@ -899,10 +927,6 @@ STR_GAME_OPTIONS_CURRENCY_GEL :Georgian lari ( STR_GAME_OPTIONS_CURRENCY_IRR :Iranin rial (IRR) ############ end of currency region - -############ start of measuring units region -############ end of measuring units region - STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Ajoneuvot STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}Valitse kummalla puolella tietä ajetaan. STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :Vasemmalla kaistalla @@ -938,11 +962,13 @@ STR_GAME_OPTIONS_TOWN_NAME_CATALAN :Katalonialainen STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Automaattitallennus STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Valitse aikaväli automaattisille pelitallennuksille. +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Pois STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :Kuukausittain STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :Joka 3. kuukausi STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :Joka 6. kuukausi STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :Kerran vuodessa +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}Kieli STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Valitse käyttöliittymän kieli. @@ -954,8 +980,12 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}Näytön STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Valitse käytettävä näytön tarkkuus STR_GAME_OPTIONS_RESOLUTION_OTHER :muu -STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}Kuvakaappauksen muoto -STR_GAME_OPTIONS_SCREENSHOT_FORMAT_TOOLTIP :{BLACK}Valitse kuvankaappauksen muoto. +STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Käyttöliittymän koko +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Valitse käyttöliittymäelementtien koko + +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Tavallinen +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Kaksinkertainen +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Nelinkertainen STR_GAME_OPTIONS_BASE_GRF :{BLACK}Perusgrafiikat STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Valitse käytettävät perusgrafiikat @@ -971,6 +1001,7 @@ STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Valitse STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} korruptoitun{P ut utta} tiedosto{P "" a} STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Lisätietoja musiikkipaketista +STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Tuettujen näyttötarkkuuksien hakeminen epäonnistui STR_ERROR_FULLSCREEN_FAILED :{WHITE}Täyskuvatila ei toimi # Custom currency window @@ -1049,6 +1080,7 @@ STR_TERRAIN_TYPE_VERY_FLAT :Hyvin tasainen STR_TERRAIN_TYPE_FLAT :Tasainen STR_TERRAIN_TYPE_HILLY :Kukkulainen STR_TERRAIN_TYPE_MOUNTAINOUS :Vuoristoinen +STR_TERRAIN_TYPE_ALPINIST :Vuorikiipeilijä STR_CITY_APPROVAL_PERMISSIVE :Salliva STR_CITY_APPROVAL_TOLERANT :Suvaitseva @@ -1056,8 +1088,8 @@ STR_CITY_APPROVAL_HOSTILE :Vihamielinen STR_WARNING_NO_SUITABLE_AI :{WHITE}Ei soveltuvia tekoälyjä saatavilla...{}Voit ladata tekoälyjä 'Online-Sisältö'-palvelulla -# Advanced settings window -STR_CONFIG_SETTING_CAPTION :{WHITE}Lisäasetukset +# Settings tree window +STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Asetukset STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Suodatinteksti: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Avaa kaikki STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Sulje kaikki @@ -1072,10 +1104,10 @@ STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :Yhtiön asetus STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK}Kategoria: STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}Tyyppi: -STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Rajaa alla olevaa listaa ja näyttää vain muutetut asetukset -STR_CONFIG_SETTING_RESTRICT_BASIC :Perusasetukset -STR_CONFIG_SETTING_RESTRICT_ADVANCED :Lisäasetukset -STR_CONFIG_SETTING_RESTRICT_ALL :Kehittyneet asetukset / kaikki asetukset +STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Rajaa alla olevaa listaa ennalta määritellyillä suodattimilla +STR_CONFIG_SETTING_RESTRICT_BASIC :Perus (näytä vain tärkeät asetukset) +STR_CONFIG_SETTING_RESTRICT_ADVANCED :Kehittynyt (näytä useimmat asetukset) +STR_CONFIG_SETTING_RESTRICT_ALL :Edistynyt (näytä kaikki asetukset, oudotkin) STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :Asetukset, joiden arvo poikkeaa oletusarvosta STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :Asetukset, joiden arvo poikkeaa uusille peleille määritellystä arvosta @@ -1130,9 +1162,10 @@ STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Ottaa käyttö STR_CONFIG_SETTING_CITY_APPROVAL :Kaupunginvaltuuston asenne alueiden uudelleenjärjestelyyn: {STRING} STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Valitse, kuinka paljon yhtiöiden aiheuttama melu ja ympäristövahingot vaikuttavat niiden arvioihin sekä tuleviin rakennustoimiin alueella -STR_CONFIG_SETTING_BUILDONSLOPES :Rakentaminen rinteisiin ja rannikolle sallittu: {STRING} -STR_CONFIG_SETTING_BUILDONSLOPES_HELPTEXT :Mikäli käytössä, ratoja ja asemia voidaan rakentaa useimmille rinteille. Mikäli pois käytöstä, niitä voidaan rakentaa vain radalle sopivaan maastoon joka ei vaadi perustuksia -STR_CONFIG_SETTING_AUTOSLOPE :Salli maaston muokkaaminen rakennusten, raiteiden jne. juurella (autoslope): {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :Kartan suurin sallittu korkeus: {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :Määritä suurin sallittu korkeus vuorille +STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}Tämä arvo ei kelpaa kartan suurimmaksi sallituksi korkeudeksi, sillä kartalla on ainakin yksi sitä korkeampi vuori +STR_CONFIG_SETTING_AUTOSLOPE :Salli maaston muokkaaminen rakennusten, raiteiden jne. juurella: {STRING} STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Sallii maaston muokkaamisen rakennusten ja ratojen alta tuhoamatta niitä STR_CONFIG_SETTING_CATCHMENT :Realistisemman kokoiset vaikutusalueet: {STRING} STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Erityyppisillä asemilla ja lentokentillä on eri kokoiset vaikutusalueet @@ -1156,16 +1189,12 @@ STR_CONFIG_SETTING_FORBID_90_DEG :90 asteen kää STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90 asteen käännöksiä esiintyy kun vaakasuuntaista rataa seuraa pystysuuntainen rata viereisellä ruudulla, tämä vaatii junan kääntymään 90 astetta ruutujen reunalla normaalin 45 asteen sijasta. Tämä asetus vaikuttaa myös laivojen kääntymissäteeseen STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Salli ei-vierekkäisten asemien yhdistäminen: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Mahdollistaa aseman osien rakentamisen vaikka ne eivät olisi kosketuksissa olemassaoleviin aseman osiin. Vaatii Ctrl-näppäimen painamisen rakennettaessa -STR_CONFIG_SETTING_IMPROVEDLOAD :Käytä kehittyneempää lastausalgoritmia: {STRING} -STR_CONFIG_SETTING_IMPROVEDLOAD_HELPTEXT :Mikäli käytössä, asemalla odottavat kulkuneuvot lastataan järjestyksessä. Seuraavan ajoneuvon lastaaminen aloitetaan vasta kun asemalla on tarpeeksi rahtia ensimmäisen kulkuneuvon täyteen lastaamiseen -STR_CONFIG_SETTING_GRADUAL_LOADING :Lataa kulkuneuvot vähitellen: {STRING} -STR_CONFIG_SETTING_GRADUAL_LOADING_HELPTEXT :Lastaa kulkuneuvot vähitellen, käyttäen kulkuneuvokohtaisia lastausaikoja sen sijaan, että rahdit lastataan vakiossa, rahdin määrästä riippuvassa ajassa STR_CONFIG_SETTING_INFLATION :Inflaatio: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :Ota talouden inflaatio käyttöön. Mikäli käytössä, hinnat nousevat hieman nopeammin kuin kuljetusmaksut -STR_CONFIG_SETTING_SELECTGOODS :Pura rahti asemalle vain, kun on kysyntää: {STRING} -STR_CONFIG_SETTING_SELECTGOODS_HELPTEXT :Kuljeta rahtia asemalle vain jos asemalla on rahtia vastaanottava kulkuneuvo. Tämä estää huonot arviot johtuen rahtityypeistä, joita ei kuljeteta STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Suurin sallittu sillan pituus: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Suurin sallittu pituus siltoja rakennettaessa +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :Suurin sallittu siltojen korkeus: {STRING} +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :Suurin sallittu korkeus siltojen rakentamiselle STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Suurin sallittu tunnelin pituus: {STRING} STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :Suurin sallittu pituus tunneleita rakennettaessa STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Manuaalinen raakateollisuuden rakentamistapa: {STRING} @@ -1191,8 +1220,6 @@ STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Paikka, johon j STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :alkuun STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :keskelle STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :loppuun -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING :Ajoneuvojen jonotus (tehostein): {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING_HELPTEXT :Ajoneuvot odottavat pysäkkien edessä kunnes ne vapautuvat STR_CONFIG_SETTING_AUTOSCROLL :Vieritä ikkunaa, kun hiiri osuu reunaan: {STRING} STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Mikäli käytössä, näkymät siirtyvät hiiren ollessa lähellä ikkunan reunaa STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Pois käytöstä @@ -1223,10 +1250,6 @@ STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Läpiajettavat STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Sallii pysäkkien rakentamisen kaupunkien omistamille teille STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Salli läpiajettavat pysäkit kilpailijoiden omistamilla teillä: {STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Salli pysäkkien rakentaminen toisten yhtiöiden omistamille teille -STR_CONFIG_SETTING_ADJACENT_STATIONS :Vierekkäiset asemat: {STRING} -STR_CONFIG_SETTING_ADJACENT_STATIONS_HELPTEXT :Salli asemien olla kosketuksissa toistensa kanssa -STR_CONFIG_SETTING_DYNAMIC_ENGINES :Useat NewGRF-veturisetit: {STRING} -STR_CONFIG_SETTING_DYNAMIC_ENGINES_HELPTEXT :Yhteensopivuusasetus vanhoille NewGRF-tiedostoille. Älä poista tätä käytöstä ellet tiedä mitä teet! STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Tätä asetusta ei voi muuttaa, kun kulkuneuvoja on olemassa STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Infrastruktuurin huoltokustannukset: {STRING} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Mikäli käytössä, infrastruktuurista aiheutuu huoltokuluja. Kulut kasvavat suhteettomasti verkon kokoon nähden, täten ne vaikuttavat suurempiin yhtiöihin enemmän kuin pieniin @@ -1257,35 +1280,49 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :Virheilmoituste STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Aika virheilmoitusten näyttämiseen punaisessa ikkunassa. Huomaa, että jotkut (kriittiset) virheilmoitukset eivät sulkeudu automaattisesti tämän ajan jälkeen, vaan ne on suljettava käsin STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{COMMA} sekunti{P 0 "" a} STR_CONFIG_SETTING_HOVER_DELAY :Näytä työkaluvihjeet: {STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Viive ennen työkaluvihjeen näyttämistä, kun hiiren kursoria pidetään käyttöliittymäelementin päällä. Vaihtoehtoisesti työkaluvihjeen saa myös näkymiin painamalla hiiren oikeaa näppäintä -STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Pidä hiirtä päällä {COMMA} sekunti{P 0 "" a} +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Viive ennen työkaluvihjeen näyttämistä, kun hiiren kursoria pidetään käyttöliittymäelementin päällä. Vaihtoehtoisesti työkaluvihjeen saa myös näkymiin painamalla hiiren oikeaa näppäintä jos arvoksi on määritetty 0. +STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Pidä hiirtä päällä {COMMA} millisekunti{P 0 "" a} STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Hiiren oikea näppäin STR_CONFIG_SETTING_POPULATION_IN_LABEL :Näytä kaupungin asukasluku kaupungin nimessä: {STRING} STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Näytä kaupunkien asukasluku kartalla STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Viivojen paksuus kuvaajissa: {STRING} STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Viivan leveys kuvaajissa. Ohut viiva on tarkasti luettavissa kun taas paksumpi viiva on helpompi nähdä ja sen värit ovat helpommin havaittavissa +STR_CONFIG_SETTING_LANDSCAPE :Maasto: {STRING} +STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Maasto vaikuttaa useisiin pelin peruselementteihin, kuten rahtiin ja kaupunkien kasvuvaatimuksiin. NewGRF:t ja Peliskriptit voivat kuitenkin vaikuttaa tarkemmin pelin kulkuun STR_CONFIG_SETTING_LAND_GENERATOR :Maastogeneraattori: {STRING} +STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :Alkuperäinen maastonluoja riippuu perusgrafiikkapaketista ja luo ennalta määritettyjä maastonmuotoja. TerraGenesis luo maastoa Perlin-kohinan perusteella ja mahdollistaa asetusten tarkemman määrittelyn STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Alkuperäinen STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis +STR_CONFIG_SETTING_TERRAIN_TYPE :Maaston tyyppi: {STRING} +STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(Vain TerraGenesis) Maaston mäkisyys +STR_CONFIG_SETTING_INDUSTRY_DENSITY :Teollisuuden määrä: {STRING} +STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Määritä, kuinka paljon teollisuutta tulisi luoda ja millä tasolla teollisuuden tulisi pysytellä pelin aikana STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Suurin sallittu etäisyys kartan reunoilta öljynjalostamoille: {STRING} STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Öljynjalostamoja rakennetaan ainoastaan kartan reunoille eli rannikoille saarikartoilla STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Lumirajan korkeus: {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Maaston epätasaisuus (vain TerraGenesis) : {STRING} +STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Määritä, millä korkeudella lumiraja on pohjoisessa maastotyypissä. Lumi vaikuttaa teollisuuksien luontiin sekä kaupunkien kasvuvaatimuksiin +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Maaston epätasaisuus: {STRING} +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(Vain TerraGenesis) Määritä mäkien tiheys: Tasaisessa maastossa mäet ovat laajempia ja niitä on vähemmän. Epätasaisessa maastossa on enemmän mäkiä, mikä voi saada maaston näyttämään itseään toistavalta STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Erittäin tasainen STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Tasainen STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Epätasainen STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Erittäin epätasainen +STR_CONFIG_SETTING_VARIETY :Maaston vaihtelu: {STRING} +STR_CONFIG_SETTING_VARIETY_HELPTEXT :(Vain TerraGenesis) Valitse, onko kartalla sekä vuoristoisia että tasaisia alueita. Koska tämä asetus tekee maastosta tasaisempaa, muut asetukset tulisi määrittää vuoristoisiksi +STR_CONFIG_SETTING_RIVER_AMOUNT :Jokien määrä: {STRING} +STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Valitse, kuinka paljon jokia luodaan STR_CONFIG_SETTING_TREE_PLACER :Puiden sijoittelualgoritmi: {STRING} +STR_CONFIG_SETTING_TREE_PLACER_HELPTEXT :Määritä puiden jakautuminen kartalla: 'Alkuperäinen' istuttaa puita tasaisesti ympäri karttaa, 'Parannettu' istuttaa niitä ryhmiin STR_CONFIG_SETTING_TREE_PLACER_NONE :Ei mitään STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :Alkuperäinen STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :Parannettu +STR_CONFIG_SETTING_ROAD_SIDE :Ajoneuvot: {STRING} +STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :Valitse ajokaista STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Korkeuskartan pyöritys:{STRING} STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Vastapäivään STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Myötäpäivään STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :Litteälle maisemalle annettava korkeus: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :Salli maanmuokkaus kartan reunoilla: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES_HELPTEXT :Mikäli pois käytöstä, kartan reunat ovat aina merta STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}Yksi tai useampi ruutu pohjoisreunalla ei ole tyhjä STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}Yksi tai useampi ruutu jollakin reunalla ei ole vettä @@ -1306,7 +1343,7 @@ STR_CONFIG_SETTING_SMOOTH_SCROLLING :Näkymän tasai STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Hallitse miten päänäkymä siirtyy valittuun paikkaan karttaa klikattaessa tai käytettäessä komentoa joka muuttaa näkymän sijaintia. Mikäli käytössä, päänäkymä siirtyy uuteen sijaintiin pehmeäesti, muutoin se hyppää suoraan valittuun sijaintiin STR_CONFIG_SETTING_MEASURE_TOOLTIP :Näytä mittauksen työkaluvihje, kun käytetään rakennustyökaluja: {STRING} STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT :Näytä etäisyydet ja korkeuserot vedettäessä rakennustoimintojen aikana -STR_CONFIG_SETTING_LIVERIES :Näytä yhtiön tunnukset: {STRING} +STR_CONFIG_SETTING_LIVERIES :Näytä kulkuneuvotyypille ominaiset tunnukset: {STRING} STR_CONFIG_SETTING_LIVERIES_HELPTEXT :Hallitse kulkuneuvokohtaisten tunnusten käyttöä (yhtiökohtaisten tunnusten sijaan) STR_CONFIG_SETTING_LIVERIES_NONE :Ei yhtään STR_CONFIG_SETTING_LIVERIES_OWN :Oma yhtiö @@ -1336,17 +1373,15 @@ 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_AUTOSAVE :Automaattitallennus: {STRING} +STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Valitse aikaväli automaattisille pelitallennuksille + STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Käytä {STRING} päivämäärämuotoa tallennettujen pelien niminä STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Pelitallenteiden tiedostonimissä käytettävä päivämäärän muoto STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :pitkä (31. joulu 2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :lyhyt (31.12.2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE :Käytettävä oletuspaletti jos NewGRF ei määritä palettia: {STRING} -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_HELPTEXT :Oletuspaletti NewGRF-tiedostoille jotka eivät määritä palettia -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_DOS :Oletuspaletti (D) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_WIN :Yhteensopivuuspaletti (W) - STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Uusi peli alkaa pysäytettynä: {STRING} STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :Mikäli käytössä, peli pysäytetään automaattisesti uuden pelin alussa, mahdollistaen esimerkiksi kartan tarkemman tutkimisen STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Pelin ollessa pysäytetty, salli: {STRING} @@ -1355,7 +1390,7 @@ STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :Ei mitkään to STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :Kaikki ei-rakennustoiminnot STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :Kaikki paitsi maastonmuokkaustoiminnot STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_ACTIONS :Kaikki toiminnot -STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Edistynyt ajoneuvolista: {STRING} +STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Käytä ryhmiä kulkuneuvolistassa: {STRING} STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Salli kehittyneiden kulkuneuvolistojen käyttö kulkuneuvojen ryhmittelyssä STR_CONFIG_SETTING_LOADING_INDICATORS :Lastausilmaisimet: {STRING} STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Määritä näytetäänkö lastausilmaisimet kulkuneuvojen yläpuolella lastatessa ja purettaessa rahtia @@ -1370,7 +1405,7 @@ STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_HELPTEXT :Ratatyyppi, jok STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_FIRST :Ensimmäinen STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_LAST :Viimeinen STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_MOST_USED :Yleisin -STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :Näytä varatut raiteet: {STRING} +STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :Näytä reittivaraukset raiteilla: {STRING} STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION_HELPTEXT :Värjää varatut rataosuudet eri värillä. Tämä auttaa opastimien ja risteysten vianetsinnässä STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Pidä rakennustyökalut aktiivisina käytön jälkeen: {STRING} STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Pidä siltojen, tunneleiden, jne. rakennustyökalut käytössä käytön jälkeen @@ -1429,7 +1464,7 @@ STR_CONFIG_SETTING_SERVINT_ISPERCENT :Huoltovälit ov STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Määritä, aiheuttaako edellisestä huollosta kulunut aika vai luotettavuuden laskeminen kulkuneuvon huoltamisen STR_CONFIG_SETTING_SERVINT_TRAINS :Junien huoltoväli oletuksena: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Määritä oletushuoltoväli uusille junille mikäli kulkuneuvolle ei ole määritelty erillistä huoltoväliä -STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA} päivä{P 0 "" ä}/% +STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}päivä{P 0 "" ä}/% STR_CONFIG_SETTING_SERVINT_DISABLED :Pois käytöstä STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES :Ajoneuvojen huoltoväli oletuksena: {STRING} STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES_HELPTEXT :Määritä oletushuoltoväli uusille ajoneuvoille mikäli kulkuneuvolle ei ole määritelty erillistä huoltoväliä @@ -1568,12 +1603,10 @@ STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 / {COMMA} STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Ei yhtään STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Kasvukerroin alussa: {STRING} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Suurkaupunkien keskimääräinen koko suhteessa normaaleihin kaupunkeihin pelin alussa -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :Poista turhat tie-elementit tienrakennuksen aikana: {STRING} -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD_HELPTEXT :Poista turhat tien loppuosat tieverkon uudelleenrakentamisen yhteydessä -STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Päivitä rahdin jakautuminen {STRING} päivän välein +STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Päivitä rahdin jakautuminen {STRING}{NBSP}päivän välein STR_CONFIG_SETTING_LINKGRAPH_INTERVAL_HELPTEXT :Yhteyskuvaajan uudelleenlaskujen välinen aika. Kukin uudelleenlasku laskee yhden kuvaajan komponentin. Tämä tarkoittaa sitä, että koko kuvaajaa ei lasketa uudelleen määrittämäsi ajan välein, vaan ainoastaan yksi komponentti. Mitä lyhyemmäksi määrität asetuksen, sitä enemmän prosessoriaikaa komponentin laskemiseen vaaditaan. Mitä pidemmäksi määrität sen, sitä pidempi aika kuluu, kunnes rahdin jakaminen alkaa uusilla reiteillä. -STR_CONFIG_SETTING_LINKGRAPH_TIME :Käytä {STRING} päivä{P 0:2 "" ä} rahtijakauman päivittämiseen +STR_CONFIG_SETTING_LINKGRAPH_TIME :Käytä {STRING}{NBSP}päivä{P 0:2 "" ä} rahtijakauman päivittämiseen STR_CONFIG_SETTING_LINKGRAPH_TIME_HELPTEXT :Jokaisen yhteyskuvaajan komponentin uudelleenlaskemiseen käytettävä aika. Uudelleenlaskun alkaessa käynnistetään uusi säie, jonka annetaan toimia näin monta päivää. Mitä lyhyemmäksi määrität tämän, sitä todennäköisempää on, että säie ei ole valmis ajoissa. Tällöin peli pysähtyy kunnes lasku on suoritettu loppuun (peli pätkii). Mitä pidemmäksi määrität asetuksen, sitä pitempään rahdin jakauman päivittämiseen kuluu aikaa reittien muuttuessa. STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :manuaalinen STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :epäsymmetrinen @@ -1631,27 +1664,29 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :Brittiläinen ( STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :Metrinen (m) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :SI (m) -STR_CONFIG_SETTING_GUI :{ORANGE}Käyttöliittymä STR_CONFIG_SETTING_LOCALISATION :{ORANGE}Lokalisointi -STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}Rakentaminen +STR_CONFIG_SETTING_GRAPHICS :{ORANGE}Grafiikka +STR_CONFIG_SETTING_SOUND :{ORANGE}Ääni +STR_CONFIG_SETTING_INTERFACE :{ORANGE}Käyttöliittymä +STR_CONFIG_SETTING_INTERFACE_GENERAL :{ORANGE}Yleinen +STR_CONFIG_SETTING_INTERFACE_VIEWPORTS :{ORANGE}Näkymät +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Rakentaminen +STR_CONFIG_SETTING_ADVISORS :{ORANGE}Uutiset / Neuvonantajat +STR_CONFIG_SETTING_COMPANY :{ORANGE}Yhtiö +STR_CONFIG_SETTING_ACCOUNTING :{ORANGE}Talous STR_CONFIG_SETTING_VEHICLES :{ORANGE}Ajoneuvot -STR_CONFIG_SETTING_STATIONS :{ORANGE}Asemat -STR_CONFIG_SETTING_ECONOMY :{ORANGE}Talous -STR_CONFIG_SETTING_LINKGRAPH :{ORANGE}Rahdin jakautuminen -STR_CONFIG_SETTING_AI :{ORANGE}Kilpailijat -STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}Näyttöasetukset -STR_CONFIG_SETTING_INTERACTION :{ORANGE}Vuorovaikutus -STR_CONFIG_SETTING_SOUND :{ORANGE}Ääniefektit -STR_CONFIG_SETTING_NEWS :{ORANGE}Uutiset ja viestit -STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}Opastimet -STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE}Rahdin käsittely -STR_CONFIG_SETTING_AI_NPC :{ORANGE}Tietokonepelaajat -STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE}Automaattinen uudistus -STR_CONFIG_SETTING_VEHICLES_SERVICING :{ORANGE}Huoltokäynnit +STR_CONFIG_SETTING_VEHICLES_PHYSICS :{ORANGE}Fysiikka STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Reititys -STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}Junat -STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}Kaupungit -STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}Laitokset +STR_CONFIG_SETTING_LIMITATIONS :{ORANGE}Rajoitukset +STR_CONFIG_SETTING_ACCIDENTS :{ORANGE}Onnettomuudet +STR_CONFIG_SETTING_GENWORLD :{ORANGE}Maailman luominen +STR_CONFIG_SETTING_ENVIRONMENT :{ORANGE}Ympäristö +STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :{ORANGE}Viranomaiset +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Kaupungit +STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}Laitokset +STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :{ORANGE}Rahdin jakautuminen +STR_CONFIG_SETTING_AI :{ORANGE}Kilpailijat +STR_CONFIG_SETTING_AI_NPC :{ORANGE}Tietokonepelaajat STR_CONFIG_SETTING_PATHFINDER_OPF :Alkuperäinen STR_CONFIG_SETTING_PATHFINDER_NPF :NPF @@ -1698,9 +1733,9 @@ STR_INTRO_PLAY_HEIGHTMAP :{BLACK}Lataa ko STR_INTRO_SCENARIO_EDITOR :{BLACK}Skenaariomuokkain STR_INTRO_MULTIPLAYER :{BLACK}Moninpeli -STR_INTRO_GAME_OPTIONS :{BLACK}Pelin asetukset +STR_INTRO_GAME_OPTIONS :{BLACK}Pelin valinnat STR_INTRO_HIGHSCORE :{BLACK}Pistetaulukko -STR_INTRO_ADVANCED_SETTINGS :{BLACK}Lisäasetukset +STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Asetukset STR_INTRO_NEWGRF_SETTINGS :{BLACK}NewGRF-asetukset STR_INTRO_ONLINE_CONTENT :{BLACK}Tarkista Online-sisältö STR_INTRO_SCRIPT_SETTINGS :{BLACK}Tekoälyn/Peliskriptin asetukset @@ -1718,9 +1753,9 @@ STR_INTRO_TOOLTIP_SUB_ARCTIC_LANDSCAPE :{BLACK}Valitse STR_INTRO_TOOLTIP_SUB_TROPICAL_LANDSCAPE :{BLACK}Valitse subtrooppinen maastotyyppi. STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Valitse lelumaan maastotyyppi. -STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Näytä peliasetukset. +STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Näytä pelin valinnat STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Näytä pistetaulukko -STR_INTRO_TOOLTIP_ADVANCED_SETTINGS :{BLACK}Näytä edistyneemmät asetukset +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Näyttöasetukset STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Näytä NewGRF-asetukset STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Tarkista uutta ja päivitettyä sisältöä ladattavaksi STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Näytä tekoäly/peliskriptiasetukset @@ -1760,6 +1795,8 @@ STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Hallinn STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Taikapuskutraktori (poista teollisuutta, liikuttamattomia kohteita): {ORANGE}{STRING} STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}Tunnelit voivat mennä ristiin: {ORANGE}{STRING} STR_CHEAT_NO_JETCRASH :{LTBLUE}Suihkukoneet eivät syöksy (usein) pienille lentokentille: {ORANGE}{STRING} +STR_CHEAT_EDIT_MAX_HL :{LTBLUE}Muuta suurinta sallittua kartan korkeutta: {ORANGE}{NUM} +STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Muuta suurinta sallittua vuorten korkeutta STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE :lauhkea maasto STR_CHEAT_SWITCH_CLIMATE_SUB_ARCTIC_LANDSCAPE :pohjoinen maasto STR_CHEAT_SWITCH_CLIMATE_SUB_TROPICAL_LANDSCAPE :subtrooppinen maasto @@ -1808,6 +1845,7 @@ STR_LIVERY_FREIGHT_TRAM :Raitiotavaravau STR_FACE_CAPTION :{WHITE}Kasvojen valinta STR_FACE_CANCEL_TOOLTIP :{BLACK}Peruuta uusien kasvojen valinta. STR_FACE_OK_TOOLTIP :{BLACK}Hyväksy uusien kasvojen valinta. +STR_FACE_RANDOM :{BLACK}Satunnainen STR_FACE_MALE_BUTTON :{BLACK}Mies STR_FACE_MALE_TOOLTIP :{BLACK}Valitse miehen kasvot. @@ -2649,7 +2687,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-2014 The OpenTTD team +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 The OpenTTD team # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Tallenna peli @@ -2684,13 +2722,12 @@ STR_MAPGEN_BY :{BLACK}× STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Kaupungit: STR_MAPGEN_DATE :{BLACK}Päivämäärä: STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Teollisuus: +STR_MAPGEN_MAX_HEIGHTLEVEL :{BLACK}Suurin sallittu kartan korkeus: +STR_MAPGEN_MAX_HEIGHTLEVEL_UP :{BLACK}Kasvata suurinta sallittua vuorten korkeutta yhdellä +STR_MAPGEN_MAX_HEIGHTLEVEL_DOWN :{BLACK}Vähennä suurinta sallittua vuorten korkeutta yhdellä STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}Lumirajan korkeus: STR_MAPGEN_SNOW_LINE_UP :{BLACK}Siirrä lumirajaa yksi taso ylöspäin STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}Siirrä lumirajaa yksi taso alaspäin -STR_MAPGEN_RANDOM_SEED :{BLACK}Satunnaislukusiemen: -STR_MAPGEN_RANDOM_SEED_HELP :{BLACK}Klikkaa antaaksesi satunnaislukusiemenen -STR_MAPGEN_RANDOM :{BLACK}Satunnainen -STR_MAPGEN_RANDOM_HELP :{BLACK}Vaihda maaston luomisessa käytettävä satunnaislukusiemen STR_MAPGEN_LAND_GENERATOR :{BLACK}Maastogeneraattori: STR_MAPGEN_TREE_PLACER :{BLACK}Puiden algoritmi: STR_MAPGEN_TERRAIN_TYPE :{BLACK}Maaston tyyppi: @@ -2717,7 +2754,7 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Korkeusk STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Koko: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} -STR_MAPGEN_RANDOM_SEED_OSKTITLE :{BLACK}Syötä satunnaissiemen +STR_MAPGEN_MAX_HEIGHTLEVEL_QUERY_CAPT :{WHITE}Muuta suurinta sallittua kartan korkeutta STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}Vaihda lumirajan korkeutta STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Vaihda aloitusvuosi @@ -2772,6 +2809,8 @@ STR_NEWGRF_SETTINGS_MOVEUP :{BLACK}Siirrä STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP :{BLACK}Siirrä valittua NewGRF-tiedostoa listassa ylöspäin STR_NEWGRF_SETTINGS_MOVEDOWN :{BLACK}Siirrä alas STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP :{BLACK}Siirrä valittua NewGRF-tiedostoa listassa alaspäin +STR_NEWGRF_SETTINGS_UPGRADE :{BLACK}Päivitä +STR_NEWGRF_SETTINGS_UPGRADE_TOOLTIP :{BLACK}Päivitä NewGRF-tiedostot joista on asennettuna uudempi versio STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}Lista asennetuista NewGRF-tiedostoista STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}Aseta parametrit @@ -2796,6 +2835,16 @@ STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Sopivaa ti STR_NEWGRF_SETTINGS_DISABLED :{RED}Ei käytössä STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Epäyhteensopiva tämän OpenTTD-version kanssa +# NewGRF save preset window +STR_SAVE_PRESET_CAPTION :{WHITE}Tallenna valmislistaksi +STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK}Luettelo saatavilla olevista valmislistoista, valitse yksi kopioitavaksi alla olevaan tallenteeseen +STR_SAVE_PRESET_TITLE :{BLACK}Syötä nimi valmislistalle +STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}Valittu nimi tallennettavalle valmislistalle +STR_SAVE_PRESET_CANCEL :{BLACK}Peruuta +STR_SAVE_PRESET_CANCEL_TOOLTIP :{BLACK}Älä muuta valmislistaa +STR_SAVE_PRESET_SAVE :{BLACK}Tallenna +STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}Tallenna valmislista valitulle nimelle + # NewGRF parameters window STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Muuta NewGRF-parametrejä STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Sulje @@ -2819,14 +2868,17 @@ STR_NEWGRF_INSPECT_QUERY_CAPTION :{WHITE}NewGRF m # Sprite aligner window STR_SPRITE_ALIGNER_CAPTION :{WHITE}Kohdistetaan spriteä {COMMA} ({STRING}) STR_SPRITE_ALIGNER_NEXT_BUTTON :{BLACK}Seuraava sprite -STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Mene seuraavaan normaaliin spriteen, hypäten yli pseudo/uudelleenväritetyt/fontti spritet ja mene alkuun kun päästään viimeiseen +STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Mene seuraavaan tavalliseen spriteen ja hyppää yli pseudo-/uudelleenväritetyt/fontti- spritet ja mene alkuun kun päästään viimeiseen STR_SPRITE_ALIGNER_GOTO_BUTTON :{BLACK}Mene spriteen STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}Mene valittuun spriteen. Jos sprite ei ole tavallinen, jatka seuraavaan tavalliseen spriteen STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Edelinen sprite -STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Jatka edelliseen tavalliseen spriteen, hypäten yli kaikki pseudo/uudelleenväritetyt/fontti spritet ja mene loppuun kun päästään ensimmäiseen. +STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Jatka edelliseen tavalliseen spriteen ja hyppää yli kaikki pseudo-/uudelleenväritetyt/fontti- spritet ja mene loppuun kun päästään ensimmäiseen STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Valitun spriten näyttö. Sijaintia ei huomioida spriteä piirrettäessä STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Liikuta spriteä ympäriinsä, muuttaen X- ja Y-sijainteja -STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X-sijainti: {NUM}, Y-sijainti: {NUM} +STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Nollaa suhteelliset +STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Nollaa suhteelliset erotukset +STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}X-erotus: {NUM}, Y-erotus: {NUM} (Absoluuttinen) +STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}X-erotus: {NUM}, Y-erotus: {NUM} (Suhteellinen) STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Valitse sprite STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Valitse sprite ruudulta @@ -2938,8 +2990,8 @@ STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} kuljetettu STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (tarvitaan lisää) STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (kuljetettu) -STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Kaupunki kasvaa {ORANGE}{COMMA}{BLACK} päivän{P "" ""} välein -STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Kaupunki kasvaa {ORANGE}{COMMA}{BLACK} päivän{P "" ""} välein (rahoitettu) +STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Kaupunki kasvaa {ORANGE}{COMMA}{BLACK}{NBSP}päivän{P "" ""} välein +STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Kaupunki kasvaa {ORANGE}{COMMA}{BLACK}{NBSP}päivän{P "" ""} välein (rahoitettu) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}Kaupunki {RED}ei{BLACK} kasva STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Meluraja kaupungissa: {ORANGE}{COMMA}{BLACK} maks.: {ORANGE}{COMMA} STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Keskitä näkymä kaupungin sijaintiin. Ctrl+Klik avaa uuden näkymäikkunan kaupungin sijaintiin @@ -2999,7 +3051,7 @@ STR_GOAL_QUESTION_CAPTION_INFORMATION :Tietoa STR_GOAL_QUESTION_CAPTION_WARNING :Varoitus STR_GOAL_QUESTION_CAPTION_ERROR :Virhe -### Start of Goal Question button list +############ Start of Goal Question button list STR_GOAL_QUESTION_BUTTON_CANCEL :Peruuta STR_GOAL_QUESTION_BUTTON_OK :OK STR_GOAL_QUESTION_BUTTON_NO :Ei @@ -3018,6 +3070,7 @@ STR_GOAL_QUESTION_BUTTON_RESTART :Aloita uudellee STR_GOAL_QUESTION_BUTTON_POSTPONE :Lykkää myöhemmäksi STR_GOAL_QUESTION_BUTTON_SURRENDER :Luovuta STR_GOAL_QUESTION_BUTTON_CLOSE :Sulje +############ End of Goal Question button list # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}Tuet @@ -3053,7 +3106,6 @@ STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}Minkää # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} -STR_STATION_VIEW_WAITING_TITLE :{BLACK}Lähdössä: {WHITE}{STRING} STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} asemalta {STATION}) STR_STATION_VIEW_RESERVED :{YELLOW}({CARGO_SHORT} varattu ladattavaksi) @@ -3343,10 +3395,10 @@ STR_PURCHASE_INFO_ALL_BUT :Kaikki paitsi { STR_PURCHASE_INFO_MAX_TE :{BLACK}Suurin vetovoima: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Toimintasäde: {GOLD}{COMMA} ruutua -STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Yksikön valintalista - napsauta kohteita saadaksesi tietoja. -STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Ajoneuvon valintalista - napsauta ajoneuvoa saadaksesi tietoja. -STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Laivan valintalista - napsauta laivaa saadaksesi tietoja. -STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Lentokonevalintalista - napsauta lentokonetta saadaksesi tietoja. +STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Junien valintaluettelo. Lisää tietoja junaa napsauttamalla. Ctrl+Klik näyttää tai piilottaa kulkuneuvon tyypin +STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Ajoneuvojen valintaluettelo. Napsauta ajoneuvoa saadaksesi lisää tietoja. Ctrl+Klik näyttää tai piilottaa ajoneuvon tyypin +STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Laivojen valintaluettelo. Napsauta laivaa saadaksesi lisää tietoja. Ctrl+Klik näyttää tai piilottaa laivan tyypin +STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Lentokoneiden valintaluettelo. Napsauta lentokonetta saadaksesi lisää tietoja. Ctrl+Klik näyttää tai piilottaa lentokoneen tyypin STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}Osta yksikkö STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Osta ajoneuvo @@ -3368,6 +3420,21 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Nimeä a STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Nimeä laivatyyppi uudelleen. STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Nimeä lentokonetyyppi uudelleen. +STR_BUY_VEHICLE_TRAIN_HIDE_TOGGLE_BUTTON :{BLACK}Piilota +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_TOGGLE_BUTTON :{BLACK}Piilota +STR_BUY_VEHICLE_SHIP_HIDE_TOGGLE_BUTTON :{BLACK}Piilota +STR_BUY_VEHICLE_AIRCRAFT_HIDE_TOGGLE_BUTTON :{BLACK}Piilota + +STR_BUY_VEHICLE_TRAIN_SHOW_TOGGLE_BUTTON :{BLACK}Näytä +STR_BUY_VEHICLE_ROAD_VEHICLE_SHOW_TOGGLE_BUTTON :{BLACK}Näytä +STR_BUY_VEHICLE_SHIP_SHOW_TOGGLE_BUTTON :{BLACK}Näytä +STR_BUY_VEHICLE_AIRCRAFT_SHOW_TOGGLE_BUTTON :{BLACK}Näytä + +STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Näytä tai piilota junan tyyppi +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Näytä tai piilota ajoneuvon tyyppi +STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Näytä tai piilota laivan tyyppi +STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Näytä tai piilota lentokoneen tyyppi + STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}Nimeä juna(vaunu)n tyyppi uudelleen. STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}Nimeä ajoneuvon tyyppi uudelleen STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}Nimeä laivatyyppi uudelleen. @@ -3472,6 +3539,11 @@ STR_REPLACE_VEHICLE_ROAD_VEHICLE :Ajoneuvo STR_REPLACE_VEHICLE_SHIP :Laiva STR_REPLACE_VEHICLE_AIRCRAFT :Lentokone +STR_REPLACE_VEHICLE_VEHICLES_IN_USE :{YELLOW}Käytössä olevat kulkuneuvot +STR_REPLACE_VEHICLE_VEHICLES_IN_USE_TOOLTIP :{BLACK}Sarake kulkuneuvoille, jotka omistat +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES :{YELLOW}Saatavilla olevat kulkuneuvot +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES_TOOLTIP :{BLACK}Sarake kulkuneuvoille, jotka voidaan uusia + STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Valitse korvattava veturityyppi. STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Valitse vasemmalla näkyvän veturityypinn korvaava uusi veturityyppi. @@ -3596,7 +3668,7 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Kapasite STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Siirron arvo: {LTBLUE}{CURRENCY_LONG} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Huoltoväli: {LTBLUE}{COMMA} päivää{BLACK} Viimeisin huolto: {LTBLUE}{DATE_LONG} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Huoltoväli: {LTBLUE}{COMMA}{NBSP}päivää{BLACK} Viimeisin huolto: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Huoltoväli: {LTBLUE}{COMMA}%{BLACK} Viime huolto: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Kasvata huoltoväliä kymmenellä. Ctrl+Klik kasvattaa huoltoväliä viidellä STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Pienennä huoltoväliä kymmenellä. Ctrl+Klik vähentää huoltoväliä viidellä @@ -3694,8 +3766,8 @@ STR_ORDER_TOOLTIP_UNLOAD :{BLACK}Muuta ko STR_ORDER_REFIT :{BLACK}Sovita STR_ORDER_REFIT_TOOLTIP :{BLACK}Valitse mihin rahtityyppiin tämä käsky sovittaa. Ctrl+Klik poistaa sovituskäskyn -STR_ORDER_REFIT_AUTO :{BLACK}Automaattinen sovitus -STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Valitse tällä määräyksellä automaattisesti sovitettava rahtityyppi. Ctrl+Klik poistaaksesi sovitusmääräyksen. Automaattinen sovitus suoritetaan vain, jos kulkuneuvo sallii sen. +STR_ORDER_REFIT_AUTO :{BLACK}Uudelleensovitus asemalla +STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Valitse tällä määräyksellä sovitettava rahtityyppi. Ctrl+Klik poistaaksesi sovitusmääräyksen. Sovitus suoritetaan vain, jos kulkuneuvo sallii sen. STR_ORDER_DROP_REFIT_AUTO :Määrätty rahti STR_ORDER_DROP_REFIT_AUTO_ANY :Saatavilla oleva rahti @@ -3786,18 +3858,18 @@ STR_ORDER_NO_UNLOAD_FULL_LOAD :(Ei lastin purk STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY :(Ei lastin purkua, mutta odota minkä tahansa lastin täyttymistä) STR_ORDER_NO_UNLOAD_NO_LOAD :(Ei purkua eikä lastausta) -STR_ORDER_AUTO_REFIT :(Sovita automaattisesti rahdille {STRING}) -STR_ORDER_FULL_LOAD_REFIT :(Täysi lasti ja automaattinen sovitus rahdille {STRING}) -STR_ORDER_FULL_LOAD_ANY_REFIT :(Täysi lasti mitä tahansa rahtia sekä sovita automaattisesti rahdille {STRING}) -STR_ORDER_UNLOAD_REFIT :(Pura ja ota rahti sekä automaattinen sovitus rahdille {STRING}) -STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(Pura ja odota täyttä lastia sekä sovita automaattisesti rahdille {STRING}) +STR_ORDER_AUTO_REFIT :(Sovita rahdille {STRING}) +STR_ORDER_FULL_LOAD_REFIT :(Täysi lasti ja sovitus rahdille {STRING}) +STR_ORDER_FULL_LOAD_ANY_REFIT :(Täysi lasti mitä tahansa rahtia sekä sovita rahdille {STRING}) +STR_ORDER_UNLOAD_REFIT :(Pura ja ota rahti sekä sovita rahdille {STRING}) +STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(Pura ja odota täyttä lastia sekä sovita rahdille {STRING}) STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(Pura ja odota mitä tahansa täyttä lastia sekä sovita rahdille {STRING}) -STR_ORDER_TRANSFER_REFIT :(Siirrä ja ota rahti sekä sovita automaattisesti rahdille {STRING}) -STR_ORDER_TRANSFER_FULL_LOAD_REFIT :(Siirrä ja odota täyttä lastia sekä sovita automaattisesti rahdille {STRING}) -STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :(Siirrä ja odota mitä tahansa täyttä lastia sekä sovita automaattisesti rahdille {STRING}) -STR_ORDER_NO_UNLOAD_REFIT :(Ei purkua ja ota rahti sekä sovita automaattisesti rahdille {STRING}) -STR_ORDER_NO_UNLOAD_FULL_LOAD_REFIT :(Ei purkua ja odota täyttä lastia sekä sovita automaattisesti rahdille {STRING}) -STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY_REFIT :(Ei purkua ja odota mitä tahansa täyttä lastia sekä sovita automaattisesti rahdille {STRING}) +STR_ORDER_TRANSFER_REFIT :(Siirrä ja ota rahti sekä sovita rahdille {STRING}) +STR_ORDER_TRANSFER_FULL_LOAD_REFIT :(Siirrä ja odota täyttä lastia sekä sovita rahdille {STRING}) +STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :(Siirrä ja odota mitä tahansa täyttä lastia sekä sovita rahdille {STRING}) +STR_ORDER_NO_UNLOAD_REFIT :(Ei purkua ja ota rahti sekä sovita rahdille {STRING}) +STR_ORDER_NO_UNLOAD_FULL_LOAD_REFIT :(Ei purkua ja odota täyttä lastia sekä sovita rahdille {STRING}) +STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY_REFIT :(Ei purkua ja odota mitä tahansa täyttä lastia sekä sovita rahdille {STRING}) STR_ORDER_AUTO_REFIT_ANY :saatavilla oleva rahti @@ -3823,13 +3895,17 @@ STR_TIMETABLE_TOOLTIP :{BLACK}Aikataul STR_TIMETABLE_NO_TRAVEL :Ei kulkua STR_TIMETABLE_NOT_TIMETABLEABLE :Kulje (automaattinen; aikataulu seuraavan manuaalisen käskyn mukaisesti) STR_TIMETABLE_TRAVEL_NOT_TIMETABLED :Kiertävä (ei aikataulua) -STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Kulje enimmillään {2:VELOCITY} (ei aikataulutettu) +STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Kulje (ilman aikataulua) enimmillään {2:VELOCITY} STR_TIMETABLE_TRAVEL_FOR :Kulje kohteeseen {STRING} STR_TIMETABLE_TRAVEL_FOR_SPEED :Kulje kohteeseen {STRING} enintään {VELOCITY} +STR_TIMETABLE_TRAVEL_FOR_ESTIMATED :Kulje ({STRING}, ei aikataulua) +STR_TIMETABLE_TRAVEL_FOR_SPEED_ESTIMATED :Kulje ({STRING}, ei aikataulua) enimmillään {VELOCITY} +STR_TIMETABLE_STAY_FOR_ESTIMATED :(pysy {STRING}, ei aikataulua) +STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(matkusta {STRING}, ei aikataulua) STR_TIMETABLE_STAY_FOR :ja odota {STRING} STR_TIMETABLE_AND_TRAVEL_FOR :ja kulje {STRING} -STR_TIMETABLE_DAYS :{COMMA} päivä{P "" ä} -STR_TIMETABLE_TICKS :{COMMA} tunti{P "" a} +STR_TIMETABLE_DAYS :{COMMA}{NBSP}päivä{P "" ä} +STR_TIMETABLE_TICKS :{COMMA}{NBSP}tick{P "" iä} STR_TIMETABLE_TOTAL_TIME :{BLACK}Aikataulun kesto on {STRING} STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}Aikataulun kesto on vähintään {STRING} @@ -4024,7 +4100,7 @@ STR_WARNING_FALLBACK_SOUNDSET :{WHITE}Vain til # Screenshot related messages STR_WARNING_SCREENSHOT_SIZE_CAPTION :{WHITE}Suuri kuvankaappaus -STR_WARNING_SCREENSHOT_SIZE_MESSAGE :{YELLOW}Kuvankaappauksen resoluutio tulee olemaan {COMMA} x {COMMA} pikseliä. Kuvankaappauksen ottaminen voi kestää jonkin aikaa. Haluatko jatkaa? +STR_WARNING_SCREENSHOT_SIZE_MESSAGE :{YELLOW}Kuvankaappauksen tarkkuus tulee olemaan {COMMA} x {COMMA} pikseliä. Kuvankaappauksen ottaminen voi kestää jonkin aikaa. Haluatko jatkaa? STR_MESSAGE_SCREENSHOT_SUCCESSFULLY :{WHITE}Kuvakaappaus tallennettu nimellä '{STRING}'. STR_ERROR_SCREENSHOT_FAILED :{WHITE}Kuvakaappaus epäonnistui! @@ -4067,6 +4143,7 @@ STR_ERROR_EXCAVATION_WOULD_DAMAGE :{WHITE}Kaivuual STR_ERROR_ALREADY_AT_SEA_LEVEL :{WHITE}Merenpinta on jo saavutettu. STR_ERROR_TOO_HIGH :{WHITE}Liian korkea. STR_ERROR_ALREADY_LEVELLED :{WHITE}... alue on jo litteä +STR_ERROR_BRIDGE_TOO_HIGH_AFTER_LOWER_LAND :{WHITE}Yläpuolella olevasta sillasta tulisi liian korkea. # Company related errors STR_ERROR_CAN_T_CHANGE_COMPANY_NAME :{WHITE}Yhtiön nimeä ei voi muuttaa... @@ -4093,7 +4170,7 @@ STR_ERROR_TOO_CLOSE_TO_EDGE_OF_MAP_SUB :{WHITE}... liia STR_ERROR_TOO_CLOSE_TO_ANOTHER_TOWN :{WHITE}... liian lähellä toista kaupunkia. STR_ERROR_TOO_MANY_TOWNS :{WHITE}... liian monta kaupunkia. STR_ERROR_NO_SPACE_FOR_TOWN :{WHITE}... kartalla ei ole enää tilaa -STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}Kaupunki ei rakenna teitä. Voit sallia teiden rakentamisen valikosta Lisäasetukset->Talous->Kaupungit +STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}Kaupunki ei rakenna teitä. Voit sallia teiden rakentamisen valikosta Asetukset->Ympäristö->Kaupungit STR_ERROR_ROAD_WORKS_IN_PROGRESS :{WHITE}Tietyöt ovat käynnissä. STR_ERROR_TOWN_CAN_T_DELETE :{WHITE}Kaupunkia ei voida poistaa...{}Asema tai varikko viittaa kaupunkiin tai kaupungin omistamaa ruutua ei voida poistaa STR_ERROR_STATUE_NO_SUITABLE_PLACE :{WHITE}... kaupungin keskustassa ei ole sopivaa paikkaa patsaalle @@ -4117,6 +4194,9 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... mets STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... voidaan rakentaa vain lumirajan yläpuolelle STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... voidaan rakentaa vain lumirajan alapuolelle +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}Teollisuudelle '{STRING}' ei löytynyt sopivaa paikkaa +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Muuta kartan parametreja saadaksesi paremman kartan + # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Rautatieasemaa ei voi rakentaa. STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}Linja-autoasemaa ei voi rakentaa. @@ -4253,6 +4333,7 @@ STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Silta pi STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}Ei voi aloittaa ja lopettaa samasta paikkasta. STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}Sillan päät eivät ole samalla korkeudella STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}Silta on liian matalalla maastoa varten +STR_ERROR_BRIDGE_TOO_HIGH_FOR_TERRAIN :{WHITE}Silta on liian korkea tähän maastoon. STR_ERROR_START_AND_END_MUST_BE_IN :{WHITE}Alku- ja päätepisteen pitää olla linjassa. STR_ERROR_ENDS_OF_BRIDGE_MUST_BOTH :{WHITE}... sillan molempien päiden pitää sijaita maalla. STR_ERROR_BRIDGE_TOO_LONG :{WHITE}... silta liian pitkä @@ -4817,6 +4898,7 @@ STR_COMPANY_NAME :{COMPANY} STR_COMPANY_NAME_COMPANY_NUM :{COMPANY} {COMPANY_NUM} STR_DEPOT_NAME :{DEPOT} STR_ENGINE_NAME :{ENGINE} +STR_HIDDEN_ENGINE_NAME :{ENGINE} (piilotettu) STR_GROUP_NAME :{GROUP} STR_INDUSTRY_NAME :{INDUSTRY} STR_PRESIDENT_NAME :{PRESIDENT_NAME} @@ -4852,8 +4934,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -4864,9 +4944,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/french.txt b/src/lang/french.txt index c38d28c0c0..938b4980ae 100644 --- a/src/lang/french.txt +++ b/src/lang/french.txt @@ -96,30 +96,30 @@ STR_CARGO_SINGULAR_FIZZY_DRINK :Boisson gazeuse # Quantity of cargo STR_QUANTITY_NOTHING : -STR_QUANTITY_PASSENGERS :{COMMA} passager{P "" s} +STR_QUANTITY_PASSENGERS :{COMMA}{NBSP}passager{P "" s} STR_QUANTITY_COAL :{WEIGHT_LONG} de charbon -STR_QUANTITY_MAIL :{COMMA} sac{P "" s} posta{P l ux} +STR_QUANTITY_MAIL :{COMMA}{NBSP}sac{P "" s} posta{P l ux} STR_QUANTITY_OIL :{VOLUME_LONG} de pétrole -STR_QUANTITY_LIVESTOCK :{COMMA} tête{P "" s} de bétail -STR_QUANTITY_GOODS :{COMMA} caisse{P "" s} de biens +STR_QUANTITY_LIVESTOCK :{COMMA}{NBSP}tête{P "" s} de bétail +STR_QUANTITY_GOODS :{COMMA}{NBSP}caisse{P "" s} de biens STR_QUANTITY_GRAIN :{WEIGHT_LONG} de céréales STR_QUANTITY_WOOD :{WEIGHT_LONG} de bois STR_QUANTITY_IRON_ORE :{WEIGHT_LONG} de minerai de fer STR_QUANTITY_STEEL :{WEIGHT_LONG} d'acier -STR_QUANTITY_VALUABLES :{COMMA} sac{P "" s} d'objets de valeur +STR_QUANTITY_VALUABLES :{COMMA}{NBSP}sac{P "" s} d'objets de valeur STR_QUANTITY_COPPER_ORE :{WEIGHT_LONG} de cuivre STR_QUANTITY_MAIZE :{WEIGHT_LONG} de maïs STR_QUANTITY_FRUIT :{WEIGHT_LONG} de fruits -STR_QUANTITY_DIAMONDS :{COMMA} sac{P "" s} de diamants +STR_QUANTITY_DIAMONDS :{COMMA}{NBSP}sac{P "" s} de diamants STR_QUANTITY_FOOD :{WEIGHT_LONG} de nourriture STR_QUANTITY_PAPER :{WEIGHT_LONG} de papier -STR_QUANTITY_GOLD :{COMMA} sac{P "" s} d'or +STR_QUANTITY_GOLD :{COMMA}{NBSP}sac{P "" s} d'or STR_QUANTITY_WATER :{VOLUME_LONG} d'eau STR_QUANTITY_WHEAT :{WEIGHT_LONG} de blé STR_QUANTITY_RUBBER :{VOLUME_LONG} de caoutchouc STR_QUANTITY_SUGAR :{WEIGHT_LONG} de sucre -STR_QUANTITY_TOYS :{COMMA} jouet{P "" s} -STR_QUANTITY_SWEETS :{COMMA} sac{P "" s} de bonbons +STR_QUANTITY_TOYS :{COMMA}{NBSP}jouet{P "" s} +STR_QUANTITY_SWEETS :{COMMA}{NBSP}sac{P "" s} de bonbons STR_QUANTITY_COLA :{VOLUME_LONG} de cola STR_QUANTITY_CANDYFLOSS :{WEIGHT_LONG} de barbe à papa STR_QUANTITY_BUBBLES :{COMMA} bulle{P "" s} @@ -166,12 +166,12 @@ STR_ABBREV_NONE :{TINY_FONT}NO STR_ABBREV_ALL :{TINY_FONT}ALL # 'Mode' of transport for cargoes -STR_PASSENGERS :{COMMA} passager{P "" s} -STR_BAGS :{COMMA} sac{P "" s} -STR_TONS :{COMMA} tonne{P "" s} -STR_LITERS :{COMMA} litre{P "" s} -STR_ITEMS :{COMMA} unité{P "" s} -STR_CRATES :{COMMA} caisse{P "" s} +STR_PASSENGERS :{COMMA}{NBSP}passager{P "" s} +STR_BAGS :{COMMA}{NBSP}sac{P "" s} +STR_TONS :{COMMA}{NBSP}tonne{P "" s} +STR_LITERS :{COMMA}{NBSP}litre{P "" s} +STR_ITEMS :{COMMA}{NBSP}unité{P "" s} +STR_CRATES :{COMMA}{NBSP}caisse{P "" s} # Colours, do not shuffle STR_COLOUR_DARK_BLUE :Bleu foncé @@ -200,28 +200,28 @@ STR_UNITS_POWER_IMPERIAL :{COMMA}{NBSP}hp STR_UNITS_POWER_METRIC :{COMMA}{NBSP}ch STR_UNITS_POWER_SI :{COMMA}{NBSP}kW -STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}t +STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}{NBSP}t STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}{NBSP}t STR_UNITS_WEIGHT_SHORT_SI :{COMMA}{NBSP}kg -STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA} tonne{P "" s} courte{P "" s} +STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA}{NBSP}tonne{P "" s}{NBSP}courte{P "" s} STR_UNITS_WEIGHT_LONG_METRIC :{COMMA}{NBSP}tonne{P "" s} STR_UNITS_WEIGHT_LONG_SI :{COMMA}{NBSP}kg -STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}gal +STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}{NBSP}gal STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}{NBSP}l STR_UNITS_VOLUME_SHORT_SI :{COMMA}{NBSP}m³ -STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA} gallon{P "" s} +STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA}{NBSP}gallon{P "" s} STR_UNITS_VOLUME_LONG_METRIC :{COMMA}{NBSP}litre{P "" s} STR_UNITS_VOLUME_LONG_SI :{COMMA}{NBSP}m³ -STR_UNITS_FORCE_IMPERIAL :{COMMA} lbf -STR_UNITS_FORCE_METRIC :{COMMA} kgf +STR_UNITS_FORCE_IMPERIAL :{COMMA}{NBSP}lbf +STR_UNITS_FORCE_METRIC :{COMMA}{NBSP}kgf STR_UNITS_FORCE_SI :{COMMA}{NBSP}kN STR_UNITS_HEIGHT_IMPERIAL :{COMMA}{NBSP}ft -STR_UNITS_HEIGHT_METRIC :{COMMA} m +STR_UNITS_HEIGHT_METRIC :{COMMA}{NBSP}m STR_UNITS_HEIGHT_SI :{COMMA}{NBSP}m # Common window strings @@ -249,6 +249,17 @@ STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Barre de STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Barre de défilement - Fait défiler la liste horizontalement STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Démolir les constructions sur un carré de terrain.{}Ctrl pour sélectionner en diagonale.{}Shift pour afficher seulement le coût estimé. +# Show engines button +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}Montrer les cachés +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK}Montrer les cachés +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}Montrer les cachés +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}Montrer les cachés + +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}En activant ce bouton, les véhicules ferroviaires cachés sont également affichés +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE_TOOLTIP :{BLACK}En activant ce bouton, les véhicules routiers cachés sont également affichés +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}En activant ce bouton, les navires cachés sont également affichés +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}En activant ce bouton, les aéronefs cachés sont également affichés + # Query window STR_BUTTON_DEFAULT :{BLACK}Défaut STR_BUTTON_CANCEL :{BLACK}Annuler @@ -362,7 +373,7 @@ STR_SCENEDIT_FILE_MENU_QUIT :Quitter ############ range for settings menu starts STR_SETTINGS_MENU_GAME_OPTIONS :Options du Jeu -STR_SETTINGS_MENU_CONFIG_SETTINGS :Configuration avancée +STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Paramètres STR_SETTINGS_MENU_SCRIPT_SETTINGS :Configuration des scripts STR_SETTINGS_MENU_NEWGRF_SETTINGS :Paramètres NewGRF STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Options de transparence @@ -471,7 +482,7 @@ STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Afficher/Cacher STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Activer/Désactiver la colorisation des blocs foireux ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window STR_ORDINAL_NUMBER_1ST :1er STR_ORDINAL_NUMBER_2ND :2 STR_ORDINAL_NUMBER_3RD :3 @@ -487,22 +498,40 @@ STR_ORDINAL_NUMBER_12TH :12 STR_ORDINAL_NUMBER_13TH :13 STR_ORDINAL_NUMBER_14TH :14 STR_ORDINAL_NUMBER_15TH :15 -STR_ORDINAL_NUMBER_16TH :16 -STR_ORDINAL_NUMBER_17TH :17 -STR_ORDINAL_NUMBER_18TH :18 -STR_ORDINAL_NUMBER_19TH :19 -STR_ORDINAL_NUMBER_20TH :20 -STR_ORDINAL_NUMBER_21ST :21 -STR_ORDINAL_NUMBER_22ND :22 -STR_ORDINAL_NUMBER_23RD :23 -STR_ORDINAL_NUMBER_24TH :24 -STR_ORDINAL_NUMBER_25TH :25 -STR_ORDINAL_NUMBER_26TH :26 -STR_ORDINAL_NUMBER_27TH :27 -STR_ORDINAL_NUMBER_28TH :28 -STR_ORDINAL_NUMBER_29TH :29 -STR_ORDINAL_NUMBER_30TH :30 -STR_ORDINAL_NUMBER_31ST :31 +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :1er +STR_DAY_NUMBER_2ND :2 +STR_DAY_NUMBER_3RD :3 +STR_DAY_NUMBER_4TH :4 +STR_DAY_NUMBER_5TH :5 +STR_DAY_NUMBER_6TH :6 +STR_DAY_NUMBER_7TH :7 +STR_DAY_NUMBER_8TH :8 +STR_DAY_NUMBER_9TH :9 +STR_DAY_NUMBER_10TH :10 +STR_DAY_NUMBER_11TH :11 +STR_DAY_NUMBER_12TH :12 +STR_DAY_NUMBER_13TH :13 +STR_DAY_NUMBER_14TH :14 +STR_DAY_NUMBER_15TH :15 +STR_DAY_NUMBER_16TH :16 +STR_DAY_NUMBER_17TH :17 +STR_DAY_NUMBER_18TH :18 +STR_DAY_NUMBER_19TH :19 +STR_DAY_NUMBER_20TH :20 +STR_DAY_NUMBER_21ST :21 +STR_DAY_NUMBER_22ND :22 +STR_DAY_NUMBER_23RD :23 +STR_DAY_NUMBER_24TH :24 +STR_DAY_NUMBER_25TH :25 +STR_DAY_NUMBER_26TH :26 +STR_DAY_NUMBER_27TH :27 +STR_DAY_NUMBER_28TH :28 +STR_DAY_NUMBER_29TH :29 +STR_DAY_NUMBER_30TH :30 +STR_DAY_NUMBER_31ST :31 ############ range for days ends ############ range for months starts @@ -811,13 +840,12 @@ STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}{VEHICLE STR_NEWS_SHIP_IS_WAITING :{WHITE}{VEHICLE} est en attente au dépôt STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE} est en attente au hangar -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE +# Order review system / warnings STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE} a trop peu d'ordres dans son itinéraire STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE} a un ordre vide STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE} a des ordres en double STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE} a une station invalide dans ses ordres -# end of order system +STR_NEWS_PLANE_USES_TOO_SHORT_RUNWAY :{WHITE}{VEHICLE} a dans ses ordres un aéroport dont la piste est trop courte STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} devient vieux STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} devient très vieux @@ -900,10 +928,6 @@ STR_GAME_OPTIONS_CURRENCY_GEL :Lari Géorgien STR_GAME_OPTIONS_CURRENCY_IRR :Rial Iranien (IRR) ############ end of currency region - -############ start of measuring units region -############ end of measuring units region - STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Véhicules routiers STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}Choisir le côté de la route pour la conduite STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :Conduite à gauche @@ -939,11 +963,13 @@ STR_GAME_OPTIONS_TOWN_NAME_CATALAN :Catalans STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Sauvegarde automatique STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Sélectionner l'intervalle de temps entre les sauvegardes automatiques +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Désactivée STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :Tous les mois STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :Tous les 3 mois STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :Tous les 6 mois STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :Tous les 12 mois +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}Langue STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Sélectionner la langue à utiliser pour l'interface @@ -955,8 +981,12 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}Résolut STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Sélectionner la résolution d'écran à utiliser STR_GAME_OPTIONS_RESOLUTION_OTHER :autre -STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}Format de la copie d'écran -STR_GAME_OPTIONS_SCREENSHOT_FORMAT_TOOLTIP :{BLACK}Choisir le format graphique de la copie d'écran +STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Taille d'interface +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Choisir la taille d'élément d'interface à utiliser + +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normal +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Taille double +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Taille quadruple STR_GAME_OPTIONS_BASE_GRF :{BLACK}Graphiques de base STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Sélectionner les graphiques de base à utiliser @@ -972,6 +1002,7 @@ STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Sélecti STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} fichier{P "" s} corrompu{P "" s} STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Informations additionnelles sur la musique de base +STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Échec de la récupération de la liste des résolutions prises en charge STR_ERROR_FULLSCREEN_FAILED :{WHITE}Échec du mode plein écran # Custom currency window @@ -1050,6 +1081,7 @@ STR_TERRAIN_TYPE_VERY_FLAT :Très plat STR_TERRAIN_TYPE_FLAT :Plat STR_TERRAIN_TYPE_HILLY :Collinaire STR_TERRAIN_TYPE_MOUNTAINOUS :Montagneux +STR_TERRAIN_TYPE_ALPINIST :Alpin STR_CITY_APPROVAL_PERMISSIVE :Laxiste STR_CITY_APPROVAL_TOLERANT :Tolérante @@ -1057,8 +1089,8 @@ STR_CITY_APPROVAL_HOSTILE :Hostile STR_WARNING_NO_SUITABLE_AI :{WHITE}Aucune IA utilisable...{}Vous pouvez télécharger diverses IA via le système de «{NBSP}Contenu en ligne{NBSP}». -# Advanced settings window -STR_CONFIG_SETTING_CAPTION :{WHITE}Options avancées +# Settings tree window +STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Paramètres STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Filtre{NBSP}: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Tout développer STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Tout réduire @@ -1071,10 +1103,12 @@ STR_CONFIG_SETTING_TYPE_GAME_INGAME :Paramètre de j STR_CONFIG_SETTING_TYPE_COMPANY_MENU :Paramètre de compagnie (enregistré dans les sauvegardes{NBSP}; affecte uniquement les nouvelles parties) STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :Paramètre de compagnie (enregistré dans la sauvegarde{NBSP}; affecte uniquement la compagnie actuelle) -STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Restreint la liste ci-dessous en ne montrant que les paramètres modifiés -STR_CONFIG_SETTING_RESTRICT_BASIC :Options de base -STR_CONFIG_SETTING_RESTRICT_ADVANCED :Options avancées -STR_CONFIG_SETTING_RESTRICT_ALL :Paramètres expert / Tous les paramètres +STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK}Catégorie{NBSP}: +STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}Type{NBSP}: +STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Restreint la liste ci-dessous en utilisant des filtres prédéfinis +STR_CONFIG_SETTING_RESTRICT_BASIC :Basique (n'afficher que les paramètres importants) +STR_CONFIG_SETTING_RESTRICT_ADVANCED :Avancé (afficher la plupart des paramètres) +STR_CONFIG_SETTING_RESTRICT_ALL :Expert (afficher tous les paramètres, même les plus bizarres) STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :Paramètres avec une valeur différente du défaut STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :Paramètres avec une valeur différente des paramètres de nouvelle partie @@ -1085,6 +1119,10 @@ STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :Paramètres de STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :Paramètres de jeu (enregistrés dans les sauvegardes{NBSP}; affectent uniquement la partie actuelle) STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :Paramètres de compagnie (enregistrés dans les sauvegardes{NBSP}; affectent uniquement les nouvelles parties) STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :Paramètres de compagnie (enregistrés dans les sauvegardes{NBSP}; affectent uniquement la compagnie actuelle) +STR_CONFIG_SETTING_CATEGORY_HIDES :{BLACK}Afficher tous les résultats de la recherche en définissant{}la {SILVER}catégorie {BLACK}sur {WHITE}{STRING} +STR_CONFIG_SETTING_TYPE_HIDES :{BLACK}Afficher tous les résultats de la recherche en définissant{}le {SILVER}type {BLACK}sur {WHITE}tous les types +STR_CONFIG_SETTING_CATEGORY_AND_TYPE_HIDES :{BLACK}Afficher tous les résultats de la recherche en définissant{}la{SILVER}catégorie {BLACK}sur {WHITE}{STRING} {BLACK}et le{SILVER} type {BLACK}sur {WHITE}tous les types +STR_CONFIG_SETTINGS_NONE :{WHITE}- Aucun - STR_CONFIG_SETTING_OFF :Désactivé STR_CONFIG_SETTING_ON :Activé @@ -1125,9 +1163,10 @@ STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Activer/Désact STR_CONFIG_SETTING_CITY_APPROVAL :Attitude du conseil municipal envers la restructuration de la zone{NBSP}: {STRING} STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Définit comment le bruit et les dommages environnementaux des compagnies affectent leur réputation et leurs prochaines actions de constructions dans la zone -STR_CONFIG_SETTING_BUILDONSLOPES :Construction côtière et sur pentes{NBSP}: {STRING} -STR_CONFIG_SETTING_BUILDONSLOPES_HELPTEXT :Si activé, les voies et les stations peuvent être construites sur la plupart des pentes. Si désactivé, elles sont autorisées uniquement sur les pentes correspondant à la direction de la voie et ne requérant pas de fondations. -STR_CONFIG_SETTING_AUTOSLOPE :Terrassement sous les bâtiments, voies, etc. (Autoslope){NBSP}: {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :Altitude maximum de la carte{NBSP}: {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :Définir l'altitude maximum autorisée pour les montagnes sur la carte +STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}Vous ne pouvez pas régler l'altitude maximum de la carte sur cette valeur. Au moins une montagne sur la carte est plus haute +STR_CONFIG_SETTING_AUTOSLOPE :Terrassement sous les bâtiments, voies, etc.{NBSP}: {STRING} STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Autoriser le terrassement sous les bâtiments et les voies sans les retirer STR_CONFIG_SETTING_CATCHMENT :Autoriser des zones de desserte plus réalistes{NBSP}: {STRING} STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Les zones de desserte ont des tailles différentes selon les types de stations et d'aéroports @@ -1151,16 +1190,12 @@ STR_CONFIG_SETTING_FORBID_90_DEG :Interdire aux t STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Les virages à 90° se produisent lorsqu'une voie horizontale est directement suivie par une voie verticale, impliquant que le train tourne de 90° en traversant la bordure de la case au lieu des 45° habituels pour les autres combinaisons de voies.{}S'applique également à la rotation des navires. STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Permettre de joindre des stations non adjacentes{NBSP}: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Autoriser l'ajout à une station de morceaux ne touchant pas directement les morceaux existants. Un Ctrl-clic est requis pour placer les nouveaux morceaux. -STR_CONFIG_SETTING_IMPROVEDLOAD :Utiliser l'algorithme amélioré de chargement{NBSP}: {STRING} -STR_CONFIG_SETTING_IMPROVEDLOAD_HELPTEXT :Si activé, les différents véhicules attendant à une station sont chargés successivement. Le chargement du véhicule suivant démarre quand il y a assez de marchandises pour complètement remplir le premier véhicule. -STR_CONFIG_SETTING_GRADUAL_LOADING :Charger les véhicules graduellement{NBSP}: {STRING} -STR_CONFIG_SETTING_GRADUAL_LOADING_HELPTEXT :Charger graduellement les véhicules en utilisant les durées de chargement spécifiques aux véhicules, au lieu de tout charger en une fois avec une durée fixe dépendant uniquement de la quantité de marchandises chargée. STR_CONFIG_SETTING_INFLATION :Inflation{NBSP}: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :Activer l'inflation dans l'économie, où les coûts augmentent légèrement plus vite que les revenus. -STR_CONFIG_SETTING_SELECTGOODS :Livrer la cargaison seulement sur demande{NBSP}: {STRING} -STR_CONFIG_SETTING_SELECTGOODS_HELPTEXT :Livrer la marchandise uniquement à une station où un véhicule prêt à la charger s'est arrêté. Cela permet d'éviter d'avoir une mauvaise qualité de service pour les marchandises qui ne sont pas prises en charge par la station. STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Longueur maximum des ponts{NBSP}: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Longueur maximum pour la construction des ponts +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :Altitude maximum des ponts{NBSP}: {STRING} +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :Altitude maximum pour construire des ponts STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Longueur maximum des tunnels{NBSP}: {STRING} STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :Longueur maximum pour la construction des tunnels STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Méthode de construction manuelle des industries primaires{NBSP}: {STRING} @@ -1186,8 +1221,6 @@ STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Endroit du quai STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :{G=f}queue STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :{G=m}milieu STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :{G=f}tête -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING :Mise en file des véhicules routiers (+ effets quantiques){NBSP}: {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING_HELPTEXT :Les véhicules routiers attendront à l'entrée des arrêts occupés jusqu'à ce qu'ils ne le soient plus STR_CONFIG_SETTING_AUTOSCROLL :Faire défiler la vue quand le pointeur est au bord{NBSP}: {STRING} STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Si activé, les vues commenceront a défiler quand la souris sera proche des bords de la fenêtre STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Désactivé @@ -1218,10 +1251,6 @@ STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Autoriser les a STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Autoriser la construction des arrêts de bus sur les routes des municipalités STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Autoriser les arrêts de bus sur les routes des concurrents{NBSP}: {STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Autoriser la construction des arrêts de bus sur les routes d'autres compagnies -STR_CONFIG_SETTING_ADJACENT_STATIONS :Autoriser la construction de stations adjacentes{NBSP}: {STRING} -STR_CONFIG_SETTING_ADJACENT_STATIONS_HELPTEXT :Autoriser des stations différentes à se toucher -STR_CONFIG_SETTING_DYNAMIC_ENGINES :Utiliser plusieurs NewGRF de véhicules{NBSP}: {STRING} -STR_CONFIG_SETTING_DYNAMIC_ENGINES_HELPTEXT :Option de compatibilité pour les anciens NewGRFs. Ne pas désactiver, à moins de savoir exactement ce que vous faites{NBSP}! STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Il n'est pas possible de modifier ce paramètre quand il y a des véhicules STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Entretien de l'infrastructure{NBSP}: {STRING} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Si activé, les infrastructures entraineront des coût d'entretien. Le coût augmente proportionnellement à la taille du réseau, affectant les grosses compagnies plus que les petites @@ -1252,35 +1281,49 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :Temps d'afficha STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Durée pour l'affichage des messages d'erreur dans une fenêtre rouge. Noter que certains messages d'erreur (critique) ne sont pas fermés automatiquement après ce délai, mais doivent être fermés manuellement STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{COMMA} seconde{P 0 "" s} STR_CONFIG_SETTING_HOVER_DELAY :Affichage des infobulles{NBSP}: {STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Délai avant que les infobulles soient affichées lorsque la souris survole certains éléments de l'interface. Les infobulles peuvent également être affectées au bouton droit de la souris -STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Survoler pendant {COMMA} seconde{P 0 "" s} +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Délai avant que les infobulles soient affichées lorsque la souris survole certains éléments de l'interface. Les infobulles peuvent également être affectées au bouton droit de la souris en réglant cette valeur à 0. +STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Survoler pendant {COMMA} milliseconde{P 0 "" s} STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Clic droit STR_CONFIG_SETTING_POPULATION_IN_LABEL :Afficher la population d'une ville dans son label{NBSP}: {STRING} STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Afficher la population des villes dans leur label sur la carte STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Épaisseur des lignes dans les graphiques{NBSP}: {STRING} STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Épaisseur de la ligne dans les graphiques. Une ligne fine est lisible plus précisément, une ligne épaisse est plus facile à voir et les couleurs sont plus facile à distinguer +STR_CONFIG_SETTING_LANDSCAPE :Paysage{NBSP}: {STRING} +STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Les paysages définissent les scénarios de jouabilité classique avec différentes marchandises et exigences pour la croissance des villes. Les NewGRFs et les scripts de jeux autorisent cependant un contrôle plus fin STR_CONFIG_SETTING_LAND_GENERATOR :Générateur de terrain{NBSP}: {STRING} +STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :Le générateur original dépend des graphiques de base, et compose des zones de paysage fixes. TerraGenesis est un générateur basé sur le bruit de Perlin avec des paramètres de contrôle plus fins STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Original STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis +STR_CONFIG_SETTING_TERRAIN_TYPE :Type de terrain{NBSP}: {STRING} +STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(TerraGenesis only) Vallonnement du paysage +STR_CONFIG_SETTING_INDUSTRY_DENSITY :Densité des industries{NBSP}: {STRING} +STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Définit combien d'industries doivent être générée et quel niveau doit être maintenu pendant la partie STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Distance maximum depuis les bords pour les raffineries{NBSP}: {STRING} STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Les raffineries pétrolières ne sont construites que près du bord de la carte, ou sur la côte pour les cartes d'îles. STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Altitude d'enneigement{NBSP}: {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Rugosité du terrain (TerraGenesis seulement){NBSP}: {STRING} +STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Contrôle à quelle altitude la neige commence dans le climat sub-arctique.La neige affecte aussi la génération des industries et les exigences pour la croissance des villes +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Rugosité du terrain{NBSP}: {STRING} +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(TerraGenesis only) Choisir la fréquence des collines{NBSP}: Les paysages doux ont des collines moins nombreuses et plus éloignées. Les paysages rudes ont beaucoup de collines, ce qui peut sembler répétitif STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Très lisse STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Lisse STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Rugueux STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Très rugueux +STR_CONFIG_SETTING_VARIETY :Distribution de variété{NBSP}: {STRING} +STR_CONFIG_SETTING_VARIETY_HELPTEXT :(TerraGenesis seulement) Contrôle si la carte contient à la fois de la montagne et du terrain plat. Comme cela rend seulement la carte plus plate, les autres paramètres doivent être définis sur montagneux +STR_CONFIG_SETTING_RIVER_AMOUNT :Quantité de rivières{NBSP}: {STRING} +STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Choisir combien de rivières générer STR_CONFIG_SETTING_TREE_PLACER :Algorithme de placement des arbres{NBSP}: {STRING} +STR_CONFIG_SETTING_TREE_PLACER_HELPTEXT :Choisir la distribution des arbres sur la carte{NBSP}: 'Original' répartit les arbres uniformément, 'Amélioré' les plante en groupes STR_CONFIG_SETTING_TREE_PLACER_NONE :Aucun STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :Original STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :Amélioré +STR_CONFIG_SETTING_ROAD_SIDE :Véhicules routiers{NBSP}: {STRING} +STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :Choisir le côté de circulation STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Rotation de la carte d'altitude{NBSP}: {STRING} STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Anti-horaire STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Horaire STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :Le terrain d'un scénario plat a pour altitude{NBSP}: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :Autoriser le terrassement sur les bords de la carte{NBSP}: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES_HELPTEXT :Si désactivé, les bords de la carte seront toujours de l'océan. STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}Une ou plusieurs cases sur le bord Nord ne sont pas vides STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}Une ou plusieurs cases sur l'un des bords ne sont pas de l'eau @@ -1301,7 +1344,7 @@ STR_CONFIG_SETTING_SMOOTH_SCROLLING :Défilement ré STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Contrôle comment la vue principale défile jusqu'à une position spécifique lors d'un clic sur la mini-carte ou pour atteindre un objet précis sur la carte. Si activé, la vue défile doucement, si désactivé elle saute directement à la cible STR_CONFIG_SETTING_MEASURE_TOOLTIP :Montrer une infobulle de mesure lors de l'utilisation de divers outils de construction{NBSP}: {STRING} STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT :Affiche les distances et les différences de hauteur lors des opérations de construction -STR_CONFIG_SETTING_LIVERIES :Affichage des livrées des compagnies{NBSP}: {STRING} +STR_CONFIG_SETTING_LIVERIES :Affichage des livrées spécifiques aux types de véhicules{NBSP}: {STRING} STR_CONFIG_SETTING_LIVERIES_HELPTEXT :Contrôle l'utilisation des livrées spécifiques au type de véhicule (ou, au contraire, celles spécifiques à la compagnie) STR_CONFIG_SETTING_LIVERIES_NONE :Aucune STR_CONFIG_SETTING_LIVERIES_OWN :Propre compagnie @@ -1331,17 +1374,15 @@ 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_AUTOSAVE :Sauvegarde automatique{NBSP}: {STRING} +STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Sélectionner l'intervalle de temps entre les sauvegardes automatiques + STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Utiliser le format de date {STRING} pour le nom des sauvegardes STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Format de la date dans les noms des fichiers de sauvegarde STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :Long (31 Déc 2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :Court (31-12-2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE :Palette utilisée par défaut si non spécifiée par les NewGRFs{NBSP}: {STRING} -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_HELPTEXT :Palette à utiliser par défaut pour les NewGRFs qui ne précisent pas laquelle il nécessite -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_DOS :Palette par défaut (D) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_WIN :Ancienne palette (W) - STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Pause automatique en début de nouvelle partie{NBSP}: {STRING} STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :Lorsqu'il est activé, la partie sera mise en pause automatiquement au démarrage, afin de permettre une étude approfondie de la carte STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Actions autorisées pendant la pause{NBSP}: {STRING} @@ -1350,7 +1391,7 @@ STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :Aucune STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :Toutes hors construction STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :Toutes sauf celles modifiant le terrain STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_ACTIONS :Toutes -STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Utiliser la liste de véhicules avancée{NBSP}: {STRING} +STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Utiliser les groupes dans la liste de véhicules{NBSP}: {STRING} STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Active l'utilisation des listes de véhicule avancées pour grouper les véhicules STR_CONFIG_SETTING_LOADING_INDICATORS :Utiliser les indicateurs de chargement{NBSP}: {STRING} STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Choisir si les indicateurs de chargement doivent être affichés au dessus des véhicules qui chargent ou déchargent @@ -1365,7 +1406,7 @@ STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_HELPTEXT :Type de rail à STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_FIRST :Premier disponible STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_LAST :Dernier disponible STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_MOST_USED :Le plus utilisé -STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :Afficher les voies réservées{NBSP}: {STRING} +STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :Afficher les réservations de chemin sur les voies{NBSP}: {STRING} STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION_HELPTEXT :Donne une couleur différente aux voies réservées pour aider à résoudre les problèmes de trains refusant d'entrer dans des blocs basés sur le chemin STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Conserver les outils de construction actifs après usage{NBSP}: {STRING} STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Garde les outils de construction de ponts, tunnels, etc. ouverts après usage @@ -1424,7 +1465,7 @@ STR_CONFIG_SETTING_SERVINT_ISPERCENT :Les intervalles STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Choisir si l'entretien des véhicule est activé par le temps passé depuis le dernier entretien ou par la fiabilité passant sous un pourcentage de la fiabilité maximum STR_CONFIG_SETTING_SERVINT_TRAINS :Intervalle d'entretien par défaut pour les trains{NBSP}: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Défini l'intervalle d'entretien par défaut des nouveaux véhicules ferroviaires, si aucun intervalle d'entretien n'est définit pour le véhicule -STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA} jour{P 0 "" s}/% +STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}jour{P 0 "" s}/% STR_CONFIG_SETTING_SERVINT_DISABLED :Désactivé STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES :Intervalle d'entretien par défaut pour les véhicules routiers{NBSP}: {STRING} STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES_HELPTEXT :Défini l'intervalle d'entretien par défaut des nouveaux véhicules routiers, si aucun intervalle d'entretien n'est définit pour le véhicule @@ -1515,7 +1556,7 @@ STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT :Autoriser les v STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :Autoriser la construction des passages à niveau par les villes{NBSP}: {STRING} STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Activer ce paramètre pour autoriser les villes à construire des passages à niveau STR_CONFIG_SETTING_NOISE_LEVEL :Permettre plus d'aéroports par ville, selon les nuisances sonores{NBSP}: {STRING} -STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Avec ce paramètre désactivé, il peut y avoir deux aéroports dans chaque ville. Avec ce paramètre désactivé, le nombre d'aéroports dans une ville est limité par le bruit qu'elle accepte, celui-ci dépend de la population, de la taille de l'aéroport et de la distance +STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Avec ce paramètre désactivé, il peut y avoir deux aéroports dans chaque ville. Avec ce paramètre activé, le nombre d'aéroports dans une ville est limité par le bruit qu'elle accepte, celui-ci dépend de la population, de la taille de l'aéroport et de la distance STR_CONFIG_SETTING_TOWN_FOUNDING :Fonder des villes en cours de jeu{NBSP}: {STRING} STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Activer ce paramètre permet aux joueurs de fonder de nouvelles villes dans la partie STR_CONFIG_SETTING_TOWN_FOUNDING_FORBIDDEN :Interdit @@ -1563,12 +1604,10 @@ STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 sur {COMMA} STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Aucune STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Multiplicateur initial pour la taille des métropoles{NBSP}: {STRING} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Taille moyenne des métropoles par rapport aux villes normales au début de la partie -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :Retirer les éléments absurdes lors de la construction des routes{NBSP}: {STRING} -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD_HELPTEXT :Supprime les voies sans issues pendant la reconstruction routière financée -STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Réactualiser le graphique de la distribution tous les {STRING} jour{P 0:2 "" s} +STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Réactualiser le graphique de la distribution tous les {STRING}{NBSP}jour{P 0:2 "" s} STR_CONFIG_SETTING_LINKGRAPH_INTERVAL_HELPTEXT :Intervalle entre la recalculation des liens du graphique. À chaque itération, une seule composante du graphique est recalculée. Donc, une valeur X pour ce réglage ne signifie pas que le graphique est réactualisé entièrement tous les X jours. Plus l'intervalle est court, plus de temps CPU est nécessaire pour la recalculation. Plus il est long, et plus de temps sera nécessaire pour que la distribution s'effectue sur de nouvelles routes. -STR_CONFIG_SETTING_LINKGRAPH_TIME :Prendre {STRING} jour{P 0:2 "" s} pour recalculer le graphe de distribution +STR_CONFIG_SETTING_LINKGRAPH_TIME :Prendre {STRING}{NBSP}jour{P 0:2 "" s} pour recalculer le graphe de distribution STR_CONFIG_SETTING_LINKGRAPH_TIME_HELPTEXT :Durée maximale (en jours) de la réactualisation d'une composante du graphique. À chaque itération, un thread est initié, qui a une durée maximale définie par ce réglage. Plus celui-ci est court, plus la probabilité que le thread ne termine pas sa tâche à temps est élevée. Le jeu s'interrompt alors jusqu'à la fin de la recalculation ("lag"). Plus le réglage est long, et moins rapidement la distribution sera réactualisée en cas de changement de routes. STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :manuel STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :asymétrique @@ -1580,7 +1619,7 @@ STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"symétrique" s STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Type de distribution pour les cargaisons de classe ARMOURED{NBSP}: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :La classe de cargaison ARMOURED contient des biens de valeur dans les climats tempéré, des diamants dans le climat subtropical, et de l'or dans le climat subarctique. Les NewGRFs peuvent changer ça. "symétrique" signifie qu'autant de ces cargaisons iront d'une station A vers une station B, que de la station B vers la station A. "asymétrique" signifie qu'une quantité arbitraire de ces cargaisons peut être envoyée dans les deux directions. "manuel" signifie qu'aucune distribution n'est mise en place pour ces cargaisons. Il est conseillé de choisir "asymétrique" ou "manuel" dans le climat subarctique, car les banques n'enverront pas d'or en retour vers les mines d'or. Dans les climats tempéré et subtropical, on peut choisir aussi "symétrique", car les banques peuvent renvoyer en retour des biens de valeurs aux banques qui en envoient à l'origine. STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Type de distribution pour les autres classes de cargaison{NBSP}: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"symétrique" signifie qu'autant de cargaison ira d'une station A vers une station B, que de la station B vers la station A. "asymétrique" signifie qu'une quantité arbitraire de cargaison peut être envoyée dans les deux directions. "manuel" signifie qu'aucune distribution n'est mise en place pour la cargaison. Le mieux ici est logiquement de choisir "asymétrique" ou "manuel". +STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"asymétrique" signifie qu'une quantité arbitraire de cargaison peut être envoyée dans les deux directions. "manuel" signifie qu'aucune distribution n'est mise en place pour la cargaison. STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Précision de la distribution{NBSP}: {STRING} STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Plus ce réglage est élevé, plus la réactualisation du graphique de distribution occupe de temps CPU. S'il est trop élevé, cela peut produire de la latence ("lag"). Au contraire, plus la valeur est basse, plus la distribution sera imprécise et l'on risque de voir des cargaisons ne pas aller vers la destination attendue. STR_CONFIG_SETTING_DEMAND_DISTANCE :Effet de la distance sur la demande{NBSP}: {STRING} @@ -1621,32 +1660,34 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_METRIC :Métrique (kgf) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_SI :SI (kN) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT :Unité de hauteur{NBSP}: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT :Quand des hauteurs sont affichées dans l'interface utilisateur, utiliser l'unité sélectionnée +STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT :Quand une hauteur est affichée dans l'interface utilisateur, utiliser l'unité sélectionnée STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :Impérial (ft) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :Métrique (m) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :SI (m) -STR_CONFIG_SETTING_GUI :{ORANGE}Interface STR_CONFIG_SETTING_LOCALISATION :{ORANGE}Localisation -STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}Construction +STR_CONFIG_SETTING_GRAPHICS :{ORANGE}Graphiques +STR_CONFIG_SETTING_SOUND :{ORANGE}Son +STR_CONFIG_SETTING_INTERFACE :{ORANGE}Interface +STR_CONFIG_SETTING_INTERFACE_GENERAL :{ORANGE}Général +STR_CONFIG_SETTING_INTERFACE_VIEWPORTS :{ORANGE}Vues +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Construction +STR_CONFIG_SETTING_ADVISORS :{ORANGE}Informations / Annonces +STR_CONFIG_SETTING_COMPANY :{ORANGE}Compagnie +STR_CONFIG_SETTING_ACCOUNTING :{ORANGE}Comptabilité STR_CONFIG_SETTING_VEHICLES :{ORANGE}Véhicules -STR_CONFIG_SETTING_STATIONS :{ORANGE}Stations -STR_CONFIG_SETTING_ECONOMY :{ORANGE}Économie -STR_CONFIG_SETTING_LINKGRAPH :{ORANGE}Distribution des cargaisons -STR_CONFIG_SETTING_AI :{ORANGE}Compétiteurs -STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}Options d'affichage -STR_CONFIG_SETTING_INTERACTION :{ORANGE}Interaction -STR_CONFIG_SETTING_SOUND :{ORANGE}Effets sonores -STR_CONFIG_SETTING_NEWS :{ORANGE}Journaux et messages -STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}Signaux -STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE}Gestion des cargaisons -STR_CONFIG_SETTING_AI_NPC :{ORANGE}Intelligence artificielle -STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE}Renouvellement automatique -STR_CONFIG_SETTING_VEHICLES_SERVICING :{ORANGE}Entretien +STR_CONFIG_SETTING_VEHICLES_PHYSICS :{ORANGE}Physique STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Routage -STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}Trains -STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}Villes -STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}Industries +STR_CONFIG_SETTING_LIMITATIONS :{ORANGE}Limitations +STR_CONFIG_SETTING_ACCIDENTS :{ORANGE}Catastrophes / Accidents +STR_CONFIG_SETTING_GENWORLD :{ORANGE}Création du terrain +STR_CONFIG_SETTING_ENVIRONMENT :{ORANGE}Environnement +STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :{ORANGE}Autorités +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Villes +STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}Industries +STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :{ORANGE}Distribution des marchandises +STR_CONFIG_SETTING_AI :{ORANGE}Compétiteurs +STR_CONFIG_SETTING_AI_NPC :{ORANGE}Intelligence artificielle STR_CONFIG_SETTING_PATHFINDER_OPF :Original STR_CONFIG_SETTING_PATHFINDER_NPF :NPF @@ -1695,7 +1736,7 @@ STR_INTRO_MULTIPLAYER :{BLACK}Mode mul STR_INTRO_GAME_OPTIONS :{BLACK}Options STR_INTRO_HIGHSCORE :{BLACK}Meilleurs scores -STR_INTRO_ADVANCED_SETTINGS :{BLACK}Options avancées +STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Paramètres STR_INTRO_NEWGRF_SETTINGS :{BLACK}Paramètres NewGRF STR_INTRO_ONLINE_CONTENT :{BLACK}Vérifier le contenu en ligne STR_INTRO_SCRIPT_SETTINGS :{BLACK}Configuration des scripts @@ -1715,7 +1756,7 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Sélecti STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Afficher les options du jeu STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Afficher le tableau des meilleurs scores -STR_INTRO_TOOLTIP_ADVANCED_SETTINGS :{BLACK}Afficher les options avancées +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Afficher les paramètres STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Afficher la configuration des NewGRF STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Vérifier les contenus nouveaux ou mis à jour téléchargeables STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Afficher la configuration des scripts @@ -1755,6 +1796,8 @@ STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Jouer e STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Bulldozer magique (enlèvement des industries et des objets fixes){NBSP}: {ORANGE}{STRING} STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}Les tunnels peuvent se croiser{NBSP}: {ORANGE}{STRING} STR_CHEAT_NO_JETCRASH :{LTBLUE}Les jets ne s'écraseront plus (aussi fréquemment) sur les petits aéroports{NBSP}: {ORANGE} {STRING} +STR_CHEAT_EDIT_MAX_HL :{LTBLUE}Modifier l'altitude maximum de la carte{NBSP}: {ORANGE}{NUM} +STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Modifier l'altitude maximum des montagnes sur la carte STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE :Environnement «{NBSP}Tempéré{NBSP}» STR_CHEAT_SWITCH_CLIMATE_SUB_ARCTIC_LANDSCAPE :Environnement «{NBSP}Arctique{NBSP}» STR_CHEAT_SWITCH_CLIMATE_SUB_TROPICAL_LANDSCAPE :Environnement «{NBSP}Tropical{NBSP}» @@ -1803,6 +1846,7 @@ STR_LIVERY_FREIGHT_TRAM :Tramway pour fr STR_FACE_CAPTION :{WHITE}Sélection du visage STR_FACE_CANCEL_TOOLTIP :{BLACK}Annuler le choix du nouveau visage STR_FACE_OK_TOOLTIP :{BLACK}Valider le nouveau visage +STR_FACE_RANDOM :{BLACK}Nouvelle amorce STR_FACE_MALE_BUTTON :{BLACK}Homme STR_FACE_MALE_TOOLTIP :{BLACK}Choisir un visage masculin @@ -1923,13 +1967,13 @@ STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}Protége STR_NETWORK_START_SERVER_UNADVERTISED :Non STR_NETWORK_START_SERVER_ADVERTISED :Oui STR_NETWORK_START_SERVER_CLIENTS_SELECT :{BLACK}{NUM} client{P "" s} -STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Nombre de clients max.{NBSP}: +STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Nombre de clients maximum{NBSP}: STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS_TOOLTIP :{BLACK}Choisir un nombre maximum de clients. Tous les emplacements n'auront pas besoin d'être remplis STR_NETWORK_START_SERVER_COMPANIES_SELECT :{BLACK}{NUM} compagnie{P "" s} -STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}Max. compagnies{NBSP}: +STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}Nombre de compagnies maximum{NBSP}: STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES_TOOLTIP :{BLACK}Limiter le serveur à un certain nombre de compagnies STR_NETWORK_START_SERVER_SPECTATORS_SELECT :{BLACK}{NUM} spectateur{P "" s} -STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS :{BLACK}Max. spectateurs{NBSP}: +STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS :{BLACK}Nombre de spectateurs maximum{NBSP}: STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS_TOOLTIP :{BLACK}Limiter le serveur à un certain nombre de spectateurs STR_NETWORK_START_SERVER_LANGUAGE_SPOKEN :{BLACK}Langue utilisée{NBSP}: STR_NETWORK_START_SERVER_LANGUAGE_TOOLTIP :{BLACK}Les autres joueurs sauront quelle langue est parlée sur ce serveur @@ -2272,7 +2316,7 @@ STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Construi STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Construire un dépôt ferroviaire (pour acheter et entretenir des trains).{}Shift pour afficher seulement le coût estimé. STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Construire un point de contrôle sur les rails.{}Ctrl pour joindre des points de contrôle entre eux.{}Shift pour afficher seulement le coût estimé. STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Construire une gare.{}Ctrl pour joindre des stations entre elles.{}Shift pour afficher seulement le coût estimé. -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Construire des signaux.{}Ctrl pour inverser le type des signaux (sémaphore/lumineux).{}Faire glisser pour construire le long d'une section de voie linéaire.{}Ctrl-glisser pour construire des signaux jusqu'à la prochaine jonction.{}Ctrl-clic pour inverser le mode d'ouverture de la fenêtre de sélection des signaux.{}Shift pour afficher seulement le coût estimé. +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Construire des signaux. Ctrl pour inverser le type des signaux (sémaphore/lumineux).{}Faire glisser pour construire le long d'une section de voie linéaire.{}Ctrl-glisser pour construire des signaux jusqu'à la prochaine jonction ou le prochain signal{}Ctrl-clic pour inverser le mode d'ouverture de la fenêtre de sélection des signaux.{}Shift pour afficher seulement le coût estimé. STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Construire un pont ferroviaire.{}Shift pour afficher seulement le coût estimé. STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Construire un tunnel ferroviaire.{}Shift pour afficher seulement le coût estimé. STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Alterner entre construire et retirer des voies, des signaux, des points de contrôle et des gares.{}Ctrl pour retirer également la voie lors du retrait des points de contrôle et des gares. @@ -2644,7 +2688,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-2014 L'équipe OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 L'équipe OpenTTD # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Sauvegarder la partie @@ -2663,6 +2707,7 @@ STR_SAVELOAD_SAVE_BUTTON :{BLACK}Sauvegar STR_SAVELOAD_SAVE_TOOLTIP :{BLACK}Sauvegarder la partie en cours avec le nom choisi STR_SAVELOAD_LOAD_BUTTON :{BLACK}Charger STR_SAVELOAD_LOAD_TOOLTIP :{BLACK}Charger la partie sélectionnée +STR_SAVELOAD_LOAD_HEIGHTMAP_TOOLTIP :{BLACK}Charger la carte d'altitude sélectionnée STR_SAVELOAD_DETAIL_CAPTION :{BLACK}Détails STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}Pas d'informations disponibles STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}{NBSP}: {WHITE}{STRING} @@ -2678,13 +2723,12 @@ STR_MAPGEN_BY :{BLACK}{NBSP}× STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Nb. de villes{NBSP}: STR_MAPGEN_DATE :{BLACK}Date{NBSP}: STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Nb. d'industries{NBSP}: +STR_MAPGEN_MAX_HEIGHTLEVEL :{BLACK}Altitude maximum de la carte +STR_MAPGEN_MAX_HEIGHTLEVEL_UP :{BLACK}Augmenter l'altitude maximum des montagnes sur la carte de 1 +STR_MAPGEN_MAX_HEIGHTLEVEL_DOWN :{BLACK}Réduire l'altitude maximum des montagne sur la carte de 1 STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}Alt. d'enneigement{NBSP}: STR_MAPGEN_SNOW_LINE_UP :{BLACK}Augmenter l'altitude d'enneigement STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}Baisser l'altitude d'enneigement -STR_MAPGEN_RANDOM_SEED :{BLACK}Amorce{NBSP}: -STR_MAPGEN_RANDOM_SEED_HELP :{BLACK}Cliquer pour saisir une amorce -STR_MAPGEN_RANDOM :{BLACK}Nouvelle amorce -STR_MAPGEN_RANDOM_HELP :{BLACK}Modifier l'amorce utilisée pour la création du terrain STR_MAPGEN_LAND_GENERATOR :{BLACK}Générateur{NBSP}: STR_MAPGEN_TREE_PLACER :{BLACK}Ajout des arbres{NBSP}: STR_MAPGEN_TERRAIN_TYPE :{BLACK}Type de terrain{NBSP}: @@ -2711,7 +2755,7 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Nom de l STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Taille{NBSP}: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM}{NBSP}×{NBSP}{NUM} -STR_MAPGEN_RANDOM_SEED_OSKTITLE :{BLACK}Entrer une amorce +STR_MAPGEN_MAX_HEIGHTLEVEL_QUERY_CAPT :{WHITE}Modifier l'altitude maximum de la carte STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}Modifier l'altitude d'enneigement STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Modifier l'année de départ @@ -2766,6 +2810,8 @@ STR_NEWGRF_SETTINGS_MOVEUP :{BLACK}Monter STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP :{BLACK}Monter le module NewGRF sélectionné dans la liste{NBSP}: cela réduit son influence relative (certains de ses paramètres sont plus susceptibles d'être écrasés par ceux équivalents provenant de modules situés plus bas dans la liste) STR_NEWGRF_SETTINGS_MOVEDOWN :{BLACK}Descendre STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP :{BLACK}Descendre le module NewGRF sélectionné dans la liste{NBSP}: cela augmente son influence relative (certains de ses paramètres sont moins susceptibles d'être écrasés par ceux équivalents provenant de modules situés plus bas dans la liste) +STR_NEWGRF_SETTINGS_UPGRADE :{BLACK}Mettre à jour +STR_NEWGRF_SETTINGS_UPGRADE_TOOLTIP :{BLACK}Mettre à jour les NewGRFs pour lesquels vous avez une version installée plus récente STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}Une liste des modules NewGRF installés STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}Changer les paramètres @@ -2790,6 +2836,16 @@ STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Module cor STR_NEWGRF_SETTINGS_DISABLED :{RED}Désactivé STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Incompatible avec cette version d'OpenTTD +# NewGRF save preset window +STR_SAVE_PRESET_CAPTION :{WHITE}Sauvegarder la présélection +STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK}Liste des présélections disponibles, en sélectionner une pour la copier sous le nom de sauvegarde ci-dessous +STR_SAVE_PRESET_TITLE :{BLACK}Entrer un nom pour la présélection +STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}Nom actuellement sélectionné pour la présélection à sauvegarder +STR_SAVE_PRESET_CANCEL :{BLACK}Annuler +STR_SAVE_PRESET_CANCEL_TOOLTIP :{BLACK}Ne pas modifier la présélection +STR_SAVE_PRESET_SAVE :{BLACK}Sauvegarder +STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}Sauvegarder la présélection sous le nom actuellement sélectionné + # NewGRF parameters window STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Modifier les paramètres NewGRF STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Fermer @@ -2813,14 +2869,17 @@ STR_NEWGRF_INSPECT_QUERY_CAPTION :{WHITE}Paramèt # Sprite aligner window STR_SPRITE_ALIGNER_CAPTION :{WHITE}Alignement du sprite {COMMA} ({STRING}) STR_SPRITE_ALIGNER_NEXT_BUTTON :{BLACK}Sprite suivant -STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Se rendre au prochain sprite normal, en ignorant les pseudo-sprites et les sprites de recoloration et de police, et en bouclant +STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Se rendre au prochain sprite normal, en ignorant les pseudo-sprites et les sprites de recoloration et de police, et en bouclant du dernier vers le premier STR_SPRITE_ALIGNER_GOTO_BUTTON :{BLACK}Aller au sprite STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}Se rendre au sprite indiqué. Si ce n'est pas un sprite normal, aller au prochain sprite normal STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Sprite précédent -STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Se rendre au précédent sprite normal, en ignorant les pseudo-sprites et les sprites de recoloration et de police, et en bouclant +STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Se rendre au précédent sprite normal, en ignorant les pseudo-sprites et les sprites de recoloration et de police, et en bouclant du premier vers le dernier STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Representation du sprite actuellement séléctionné. L'alignement est ignoré lors de l'affichage de ce sprite STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Déplacer le sprite, en modifiant les décalages X et Y -STR_SPRITE_ALIGNER_OFFSETS :{BLACK}Décalage X{NBSP}: {NUM}, décalage Y{NBSP}: {NUM} +STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Réinitialiser les relatifs +STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Réinitialiser les décalages relatifs courants +STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}Décalage X{NBSP}: {NUM}, décalage Y{NBSP}: {NUM} (Absolu) +STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}Décalage X{NBSP}: {NUM}, décalage Y{NBSP}: {NUM} (Relatif) STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Choisir un sprite STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Choisir un des sprites affichés sur l'écran @@ -2877,6 +2936,7 @@ STR_NEWGRF_LIST_MISSING :{RED}Modules ma STR_NEWGRF_BROKEN :{WHITE}Le comportement du NewGRF "{0:STRING}" peut provoquer des erreurs de synchronisation et/ou des plantages STR_NEWGRF_BROKEN_POWERED_WAGON :{WHITE}Il a modifié l'état de wagon motorisé pour "{1:ENGINE}" en dehors du dépôt STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Il a modifié la longueur de véhicule pour "{1:ENGINE}" en dehors du dépôt +STR_NEWGRF_BROKEN_CAPACITY :{WHITE}Il a changé la capacité pour '{1:ENGINE}' hors d'un dépôt ou d'un réaménagement STR_BROKEN_VEHICLE_LENGTH :{WHITE}Le train "{VEHICLE}" appartenant à "{COMPANY}" a une longueur invalide. Cela est probablement dû à des problèmes avec des NewGRFs, et peut provoquer des erreurs de synchronisation ou planter le jeu. STR_NEWGRF_BUGGY :{WHITE}Le module NewGRF "{0:STRING}" fournit une information incorrecte @@ -2931,8 +2991,8 @@ STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} livré STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (encore nécessaires) STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (livrés) -STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}La ville croît {P 0 chaque "tous les"} {ORANGE}{COMMA}{BLACK} jour{P "" s} -STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}La ville croît {P 0 chaque "tous les"} {ORANGE}{COMMA}{BLACK} jour{P "" s} (financé) +STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}La ville croît {P 0 chaque "tous les"} {ORANGE}{COMMA}{BLACK}{NBSP}jour{P "" s} +STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}La ville croît {P 0 chaque "tous les"} {ORANGE}{COMMA}{BLACK}{NBSP}jour{P "" s} (financé) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}La ville {RED}ne croît pas{BLACK} STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Nuisances sonores en ville{NBSP}: {ORANGE}{COMMA}{BLACK} − max.{NBSP}: {ORANGE}{COMMA} STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Centrer la vue sur la ville. Ctrl-clic pour ouvrir une nouvelle vue sur la ville. @@ -2992,7 +3052,7 @@ STR_GOAL_QUESTION_CAPTION_INFORMATION :Informations STR_GOAL_QUESTION_CAPTION_WARNING :Attention STR_GOAL_QUESTION_CAPTION_ERROR :Erreur -### Start of Goal Question button list +############ Start of Goal Question button list STR_GOAL_QUESTION_BUTTON_CANCEL :Annuler STR_GOAL_QUESTION_BUTTON_OK :OK STR_GOAL_QUESTION_BUTTON_NO :Non @@ -3011,6 +3071,7 @@ STR_GOAL_QUESTION_BUTTON_RESTART :Redémarrer STR_GOAL_QUESTION_BUTTON_POSTPONE :Reporter STR_GOAL_QUESTION_BUTTON_SURRENDER :Abandonner STR_GOAL_QUESTION_BUTTON_CLOSE :Fermer +############ End of Goal Question button list # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}Subventions @@ -3046,7 +3107,6 @@ STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}Pas de m # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} -STR_STATION_VIEW_WAITING_TITLE :{BLACK}En attente{NBSP}: {WHITE}{STRING} STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} venant de {STATION}) STR_STATION_VIEW_RESERVED :{YELLOW}({CARGO_SHORT} réservé au chargement) @@ -3290,12 +3350,15 @@ STR_GROUP_DEFAULT_ROAD_VEHICLES :Véhicules rout STR_GROUP_DEFAULT_SHIPS :Navires non groupés STR_GROUP_DEFAULT_AIRCRAFTS :Aéronefs non groupés -STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Groupes - Cliquer sur un groupe pour lister tous les véhicules de ce groupe +STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Groupes - Cliquer sur un groupe pour lister tous les véhicules de ce groupe. Glisser et déposer les groupes pour les hiérarchiser. STR_GROUP_CREATE_TOOLTIP :{BLACK}Créer un groupe de véhicules STR_GROUP_DELETE_TOOLTIP :{BLACK}Supprimer le groupe sélectionné STR_GROUP_RENAME_TOOLTIP :{BLACK}Renommer le groupe sélectionné STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Cliquer pour protéger ce groupe contre l'auto-remplacement global +STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Supprimer un groupe +STR_GROUP_DELETE_QUERY_TEXT :{WHITE}Êtes-vous sûr de vouloir supprimer ce groupe et ses descendants{NBSP}? + STR_GROUP_ADD_SHARED_VEHICLE :Ajouter des véhicules partagés STR_GROUP_REMOVE_ALL_VEHICLES :Retirer tous les véhicules @@ -3333,10 +3396,10 @@ STR_PURCHASE_INFO_ALL_BUT :Tous sauf {CARG 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_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Choix du véhicule - Cliquer sur un véhicule pour obtenir des informations -STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Choix du véhicule routier - Cliquer sur un véhicule pour obtenir des informations -STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Choix du navire - Cliquer sur un navire pour obtenir des informations -STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Choix de l'aéronef - Cliquer sur un aéronef pour obtenir des informations +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 +STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Choix du navire. Cliquer sur un navire pour obtenir des informations. Ctrl-clic pour basculer le masquage du type de navire +STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Choix de l'aéronef. Cliquer sur un aéronef pour obtenir des informations. Ctrl-clic pour basculer le masquage du type d'aéronef STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}Acheter STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Acheter @@ -3358,6 +3421,21 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Renommer STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Renommer le type de navire STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Renommer le type d'aéronef +STR_BUY_VEHICLE_TRAIN_HIDE_TOGGLE_BUTTON :{BLACK}Cacher +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_TOGGLE_BUTTON :{BLACK}Cacher +STR_BUY_VEHICLE_SHIP_HIDE_TOGGLE_BUTTON :{BLACK}Cacher +STR_BUY_VEHICLE_AIRCRAFT_HIDE_TOGGLE_BUTTON :{BLACK}Cacher + +STR_BUY_VEHICLE_TRAIN_SHOW_TOGGLE_BUTTON :{BLACK}Afficher +STR_BUY_VEHICLE_ROAD_VEHICLE_SHOW_TOGGLE_BUTTON :{BLACK}Afficher +STR_BUY_VEHICLE_SHIP_SHOW_TOGGLE_BUTTON :{BLACK}Afficher +STR_BUY_VEHICLE_AIRCRAFT_SHOW_TOGGLE_BUTTON :{BLACK}Afficher + +STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Basculer cacher/afficher le type de véhicule ferroviaire +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Basculer cacher/afficher le type de véhicule routier +STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Basculer cacher/afficher le type de navire +STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Basculer cacher/afficher le type d'aéronef + STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}Renommer le type de véhicule ferroviaire STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}Renommer le type de véhicule routier STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}Renommer type de navire @@ -3462,6 +3540,11 @@ STR_REPLACE_VEHICLE_ROAD_VEHICLE :Véhicule routi STR_REPLACE_VEHICLE_SHIP :Navire STR_REPLACE_VEHICLE_AIRCRAFT :Aéronef +STR_REPLACE_VEHICLE_VEHICLES_IN_USE :{YELLOW}Véhicules utilisés +STR_REPLACE_VEHICLE_VEHICLES_IN_USE_TOOLTIP :{BLACK}Colonne avec les véhicules que vous possédez +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES :{YELLOW}Véhicules disponibles +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES_TOOLTIP :{BLACK}Colonne avec les véhicules disponibles pour le remplacement + STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Choisir le type de véhicule à remplacer STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Choisir le nouveau type de véhicule devant remplacer celui sélectionné à gauche @@ -3586,7 +3669,7 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Capacit STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Crédits de transfert{NBSP}: {LTBLUE}{CURRENCY_LONG} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Intervalle d'entretien{NBSP}: {LTBLUE}{COMMA} jours{BLACK} − Dernier entretien{NBSP}: {LTBLUE}{DATE_LONG} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Intervalle d'entretien{NBSP}: {LTBLUE}{COMMA}{NBSP}jours{BLACK} Dernier entretien{NBSP}: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Intervalle d'entretien{NBSP}: {LTBLUE}{COMMA}{NBSP}%{BLACK} − Dernier entretien{NBSP}: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Augmenter l'intervalle d'entretien de 10.{}Ctrl-clic pour l'augmenter de 5. STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Diminuer l'intervalle d'entretien de 10.{}Ctrl-clic pour le diminuer de 5. @@ -3684,8 +3767,8 @@ STR_ORDER_TOOLTIP_UNLOAD :{BLACK}Modifier STR_ORDER_REFIT :{BLACK}Réaménager STR_ORDER_REFIT_TOOLTIP :{BLACK}Choisir pour quelle cargaison réaménager avec cet ordre.{}Ctrl-clic pour retirer l'instruction de réaménagement. -STR_ORDER_REFIT_AUTO :{BLACK}Réaménagement automatique -STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Sélectionner pour quel type de cargaison cet ordre va réaménager automatiquement.{}Ctrl-Clic pour retirer l'instruction de réaménagement. Le réaménagement automatique ne sera fait que si le véhicule l'autorise. +STR_ORDER_REFIT_AUTO :{BLACK}Réaménagement aux stations +STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Sélectionner pour quel type de cargaison cet ordre va réaménager.{}Ctrl-Clic pour retirer l'instruction de réaménagement. Le réaménagement aux stations ne sera fait que si le véhicule l'autorise. STR_ORDER_DROP_REFIT_AUTO :Cargaison fixée STR_ORDER_DROP_REFIT_AUTO_ANY :Cargaison disponible @@ -3776,18 +3859,18 @@ STR_ORDER_NO_UNLOAD_FULL_LOAD :(Ne pas déchar STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY :(Ne pas décharger et attendre pleine charge pour un seul type) STR_ORDER_NO_UNLOAD_NO_LOAD :(Ne pas décharger et ne pas charger) -STR_ORDER_AUTO_REFIT :(Réaménager automatiquement pour {STRING}) -STR_ORDER_FULL_LOAD_REFIT :(Charger complétement avec réaménagement automatique pour {STRING}) -STR_ORDER_FULL_LOAD_ANY_REFIT :(Charger complétement pour un seul type avec réaménagement automatique pour {STRING}) -STR_ORDER_UNLOAD_REFIT :(Décharger et charger avec réaménagement automatique pour {STRING}) -STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(Décharger et attendre pleine charge avec réaménagement automatique pour {STRING}) -STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(Décharger et attendre pleine charge pour un seul type avec réaménagement automatique pour {STRING}) -STR_ORDER_TRANSFER_REFIT :(Transférer et charger avec réaménagement automatique pour {STRING}) -STR_ORDER_TRANSFER_FULL_LOAD_REFIT :(Transférer et attendre pleine charge avec réaménagement automatique pour {STRING}) -STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :(Transférer et attendre pleine charge pour un seul type avec réaménagement automatique pour {STRING}) -STR_ORDER_NO_UNLOAD_REFIT :(Ne pas décharger et charger avec réaménagement automatique pour {STRING}) -STR_ORDER_NO_UNLOAD_FULL_LOAD_REFIT :(Ne pas décharger et attendre pleine charge avec réaménagement automatique pour {STRING}) -STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY_REFIT :(Ne pas décharger et attendre pleine charge pour un seul type avec réaménagement automatique pour {STRING}) +STR_ORDER_AUTO_REFIT :(Réaménager pour {STRING}) +STR_ORDER_FULL_LOAD_REFIT :(Charger complétement avec réaménagement pour {STRING}) +STR_ORDER_FULL_LOAD_ANY_REFIT :(Charger complétement pour un seul type avec réaménagement pour {STRING}) +STR_ORDER_UNLOAD_REFIT :(Décharger et charger avec réaménagement pour {STRING}) +STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(Décharger et attendre pleine charge avec réaménagement pour {STRING}) +STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(Décharger et attendre pleine charge pour un seul type avec réaménagement pour {STRING}) +STR_ORDER_TRANSFER_REFIT :(Transférer et charger avec réaménagement pour {STRING}) +STR_ORDER_TRANSFER_FULL_LOAD_REFIT :(Transférer et attendre pleine charge avec réaménagement pour {STRING}) +STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :(Transférer et attendre pleine charge pour un seul type avec réaménagement pour {STRING}) +STR_ORDER_NO_UNLOAD_REFIT :(Ne pas décharger et charger avec réaménagement pour {STRING}) +STR_ORDER_NO_UNLOAD_FULL_LOAD_REFIT :(Ne pas décharger et attendre pleine charge avec réaménagement pour {STRING}) +STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY_REFIT :(Ne pas décharger et attendre pleine charge pour un seul type avec réaménagement pour {STRING}) STR_ORDER_AUTO_REFIT_ANY :cargaison disponible @@ -3813,13 +3896,17 @@ STR_TIMETABLE_TOOLTIP :{BLACK}Horaire STR_TIMETABLE_NO_TRAVEL :Pas de voyage STR_TIMETABLE_NOT_TIMETABLEABLE :Voyager (automatique{NBSP}; horaire au prochain ordre manuel) STR_TIMETABLE_TRAVEL_NOT_TIMETABLED :Voyager (sans horaire) -STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Déplacement à {2:VELOCITY} max. (non planifié) +STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Voyager (non planifié) à {2:VELOCITY} max. STR_TIMETABLE_TRAVEL_FOR :Voyager pendant {STRING} -STR_TIMETABLE_TRAVEL_FOR_SPEED :Déplacement de {STRING} à {VELOCITY} max. +STR_TIMETABLE_TRAVEL_FOR_SPEED :Voyager pendant {STRING} à {VELOCITY} max. +STR_TIMETABLE_TRAVEL_FOR_ESTIMATED :Voyager (pendant {STRING}, non planifié) +STR_TIMETABLE_TRAVEL_FOR_SPEED_ESTIMATED :Voyager (pendant {STRING}, non planifié) à {VELOCITY} max. +STR_TIMETABLE_STAY_FOR_ESTIMATED :(rester pendant {STRING}, non planifié) +STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(voyager pendant {STRING}, non planifié) STR_TIMETABLE_STAY_FOR :et rester pendant {STRING} STR_TIMETABLE_AND_TRAVEL_FOR :et voyager pendant {STRING} -STR_TIMETABLE_DAYS :{COMMA} jour{P "" s} -STR_TIMETABLE_TICKS :{COMMA} tick{P "" s} +STR_TIMETABLE_DAYS :{COMMA}{NBSP}jour{P "" s} +STR_TIMETABLE_TICKS :{COMMA}{NBSP}tick{P "" s} STR_TIMETABLE_TOTAL_TIME :{BLACK}Cet horaire prendra {STRING} pour s'achever STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}Cet horaire prendra au moins {STRING} pour s'achever (horaire incomplet) @@ -4057,6 +4144,7 @@ STR_ERROR_EXCAVATION_WOULD_DAMAGE :{WHITE}L'excava STR_ERROR_ALREADY_AT_SEA_LEVEL :{WHITE}... déjà au niveau de la mer STR_ERROR_TOO_HIGH :{WHITE}... trop élevé STR_ERROR_ALREADY_LEVELLED :{WHITE}... déjà à niveau +STR_ERROR_BRIDGE_TOO_HIGH_AFTER_LOWER_LAND :{WHITE}Le pont au dessus de lui serait ensuite trop haut. # Company related errors STR_ERROR_CAN_T_CHANGE_COMPANY_NAME :{WHITE}Impossible de changer le nom de compagnie... @@ -4083,7 +4171,7 @@ STR_ERROR_TOO_CLOSE_TO_EDGE_OF_MAP_SUB :{WHITE}... trop STR_ERROR_TOO_CLOSE_TO_ANOTHER_TOWN :{WHITE}... trop près d'une autre ville STR_ERROR_TOO_MANY_TOWNS :{WHITE}... trop de villes STR_ERROR_NO_SPACE_FOR_TOWN :{WHITE}... il n'y a plus d'emplacement sur la carte -STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}La ville ne construira pas de routes. Vous pouvez activer la construction des routes sous Options avancées->Économie->Villes +STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}La ville ne construira pas de routes. Vous pouvez activer la construction des routes sous Paramètres->Environnement->Villes STR_ERROR_ROAD_WORKS_IN_PROGRESS :{WHITE}Route en travaux STR_ERROR_TOWN_CAN_T_DELETE :{WHITE}Impossible de supprimer cette ville...{}Une station ou un dépôt fait référence à cette ville ou une propriété municipale ne peut pas être supprimée. STR_ERROR_STATUE_NO_SUITABLE_PLACE :{WHITE}... aucun emplacement convenable disponible pour une statue dans ce centre-ville @@ -4107,6 +4195,9 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... les STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... peut seulement être construit au dessus de l'altitude d'enneigement STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... peut seulement être construit en dessous de l'altitude d'enneigement +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}Il n'y avait pas d'emplacements appropriés pour les industries '{STRING}' +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Modifier les paramètres de la génération de la carte pour obtenir une meilleure carte + # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Impossible de construire la gare ici... STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}Impossible de construire un arrêt d'autobus... @@ -4243,6 +4334,7 @@ STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Vous dev STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}Impossible de commencer et de terminer au même endroit STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}Les extrémités du pont ne sont pas au même niveau STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}Le pont est trop bas pour le terrain +STR_ERROR_BRIDGE_TOO_HIGH_FOR_TERRAIN :{WHITE}Le pont est trop haut pour ce terrain. STR_ERROR_START_AND_END_MUST_BE_IN :{WHITE}Le début et la fin doivent être alignés STR_ERROR_ENDS_OF_BRIDGE_MUST_BOTH :{WHITE}... les deux extrémités du pont doivent être sur la terre ferme STR_ERROR_BRIDGE_TOO_LONG :{WHITE}... pont trop long @@ -4269,6 +4361,7 @@ STR_ERROR_YOU_ALREADY_OWN_IT :{WHITE}... il v STR_ERROR_GROUP_CAN_T_CREATE :{WHITE}Impossible de créer le groupe... STR_ERROR_GROUP_CAN_T_DELETE :{WHITE}Impossible de supprimer ce groupe... STR_ERROR_GROUP_CAN_T_RENAME :{WHITE}Impossible de renommer le groupe... +STR_ERROR_GROUP_CAN_T_SET_PARENT :{WHITE}Impossible de définir le groupe parent... STR_ERROR_GROUP_CAN_T_REMOVE_ALL_VEHICLES :{WHITE}Impossible de retirer tous les véhicules de ce groupe... STR_ERROR_GROUP_CAN_T_ADD_VEHICLE :{WHITE}Impossible d'ajouter le véhicule à ce groupe... STR_ERROR_GROUP_CAN_T_ADD_SHARED_VEHICLE :{WHITE}Impossible d'ajouter les véhicules partagés à ce groupe... @@ -4806,6 +4899,7 @@ STR_COMPANY_NAME :{COMPANY} STR_COMPANY_NAME_COMPANY_NUM :{COMPANY} {COMPANY_NUM} STR_DEPOT_NAME :{DEPOT} STR_ENGINE_NAME :{ENGINE} +STR_HIDDEN_ENGINE_NAME :{ENGINE} (caché) STR_GROUP_NAME :{GROUP} STR_INDUSTRY_NAME :{INDUSTRY} STR_PRESIDENT_NAME :{PRESIDENT_NAME} @@ -4841,8 +4935,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -4853,9 +4945,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/gaelic.txt b/src/lang/gaelic.txt index a89130a69b..e9af51cf68 100644 --- a/src/lang/gaelic.txt +++ b/src/lang/gaelic.txt @@ -283,30 +283,30 @@ STR_CARGO_SINGULAR_FIZZY_DRINK.dat :Deoch ghucagach # Quantity of cargo STR_QUANTITY_NOTHING : -STR_QUANTITY_PASSENGERS :{COMMA} {P taistealach thaistealach taistealaich taistealach} +STR_QUANTITY_PASSENGERS :{COMMA}{NBSP}{P taistealach thaistealach taistealaich taistealach} STR_QUANTITY_COAL :{WEIGHT_LONG} de ghual -STR_QUANTITY_MAIL :{COMMA} {P bhaga bhaga bagaichean baga} dhe phost +STR_QUANTITY_MAIL :{COMMA}{NBSP}{P bhaga bhaga bagaichean baga} dhe phost STR_QUANTITY_OIL :{VOLUME_LONG} dhe dh'ola -STR_QUANTITY_LIVESTOCK :{COMMA} dhe sprèidh -STR_QUANTITY_GOODS :{COMMA} {P chreata chreata creataichean creata} dhe bhathar +STR_QUANTITY_LIVESTOCK :{COMMA}{NBSP}dhe sprèidh +STR_QUANTITY_GOODS :{COMMA}{NBSP}{P chreata chreata creataichean creata} dhe bhathar STR_QUANTITY_GRAIN :{WEIGHT_LONG} dhe ghràn STR_QUANTITY_WOOD :{WEIGHT_LONG} dhe dh'fhiodh STR_QUANTITY_IRON_ORE :{WEIGHT_LONG} dhe chlach-iarainn STR_QUANTITY_STEEL :{WEIGHT_LONG} dhe stàilinn -STR_QUANTITY_VALUABLES :{COMMA} {P bhaga bhaga bagaichean baga} dhe sheilbh +STR_QUANTITY_VALUABLES :{COMMA}{NBSP}{P bhaga bhaga bagaichean baga} dhe sheilbh STR_QUANTITY_COPPER_ORE :{WEIGHT_LONG} dhe chlach-chopair STR_QUANTITY_MAIZE :{WEIGHT_LONG} dhe chruithneachd Innseanach STR_QUANTITY_FRUIT :{WEIGHT_LONG} dhe mheasan -STR_QUANTITY_DIAMONDS :{COMMA} {P bhaga bhaga bagaichean baga} dhe dhaoimeanan +STR_QUANTITY_DIAMONDS :{COMMA}{NBSP}{P bhaga bhaga bagaichean baga} dhe dhaoimeanan STR_QUANTITY_FOOD :{WEIGHT_LONG} dhe bhiadh STR_QUANTITY_PAPER :{WEIGHT_LONG} dhe phàipear -STR_QUANTITY_GOLD :{COMMA} {P bhaga bhaga bagaichean baga} dhe dh'òr +STR_QUANTITY_GOLD :{COMMA}{NBSP}{P bhaga bhaga bagaichean baga} dhe dh'òr STR_QUANTITY_WATER :{VOLUME_LONG} dhe dh'uisge STR_QUANTITY_WHEAT :{WEIGHT_LONG} dhe chruithneachd STR_QUANTITY_RUBBER :{VOLUME_LONG} dhe rubair STR_QUANTITY_SUGAR :{WEIGHT_LONG} dhe shiùcar -STR_QUANTITY_TOYS :{COMMA} {P dèideag dhèideig dèideagan dèideag} -STR_QUANTITY_SWEETS :{COMMA} {P bhaga bhaga bagaichean baga} dhe mhìlseanan +STR_QUANTITY_TOYS :{COMMA}{NBSP}{P dèideag dhèideig dèideagan dèideag} +STR_QUANTITY_SWEETS :{COMMA}{NBSP}{P bhaga bhaga bagaichean baga} dhe mhìlseanan STR_QUANTITY_COLA :{VOLUME_LONG} dhe chola STR_QUANTITY_CANDYFLOSS :{WEIGHT_LONG} dhe chanach-siùcair STR_QUANTITY_BUBBLES :{COMMA} {P bhuilgean bhuilgean builgeanan builgean} @@ -353,12 +353,12 @@ STR_ABBREV_NONE :{TINY_FONT}Gun STR_ABBREV_ALL :{TINY_FONT}Uile # 'Mode' of transport for cargoes -STR_PASSENGERS :{COMMA} {P taistealach thaistealach taistealaich taistealach} -STR_BAGS :{COMMA} {P bhaga bhaga bagaichean baga} -STR_TONS :{COMMA} {P tunna thunna tunnaichean tunna} -STR_LITERS :{COMMA} {P liotair liotair liotairean liotair} -STR_ITEMS :{COMMA} {P nì nì nithean nì} -STR_CRATES :{COMMA} {P chreat chreat creataichean creat} +STR_PASSENGERS :{COMMA}{NBSP}{P taistealach thaistealach taistealaich taistealach} +STR_BAGS :{COMMA}{NBSP}{P bhaga bhaga bagaichean baga} +STR_TONS :{COMMA}{NBSP}{P tunna thunna tunnaichean tunna} +STR_LITERS :{COMMA}{NBSP}{P liotair liotair liotairean liotair} +STR_ITEMS :{COMMA}{NBSP}{P nì nì nithean nì} +STR_CRATES :{COMMA}{NBSP}{P chreat chreat creataichean creat} # Colours, do not shuffle STR_COLOUR_DARK_BLUE :Gorm @@ -379,37 +379,37 @@ STR_COLOUR_GREY :Liath STR_COLOUR_WHITE :Geal # Units used in OpenTTD -STR_UNITS_VELOCITY_IMPERIAL :{COMMA} mph -STR_UNITS_VELOCITY_METRIC :{COMMA} km/h -STR_UNITS_VELOCITY_SI :{COMMA} m/s +STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}mph +STR_UNITS_VELOCITY_METRIC :{COMMA}{NBSP}km/h +STR_UNITS_VELOCITY_SI :{COMMA}{NBSP}m/s -STR_UNITS_POWER_IMPERIAL :{COMMA}hp -STR_UNITS_POWER_METRIC :{COMMA}hp -STR_UNITS_POWER_SI :{COMMA}kW +STR_UNITS_POWER_IMPERIAL :{COMMA}{NBSP}hp +STR_UNITS_POWER_METRIC :{COMMA}{NBSP}hp +STR_UNITS_POWER_SI :{COMMA}{NBSP}kW -STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}t -STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}t -STR_UNITS_WEIGHT_SHORT_SI :{COMMA}kg +STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_SI :{COMMA}{NBSP}kg -STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA} {P tunna thunna tunnaichean tunna} -STR_UNITS_WEIGHT_LONG_METRIC :{COMMA} {P tunna thunna tunnaichean tunna} -STR_UNITS_WEIGHT_LONG_SI :{COMMA} kg +STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA}{NBSP}{P tunna thunna tunnaichean tunna} +STR_UNITS_WEIGHT_LONG_METRIC :{COMMA}{NBSP}{P tunna thunna tunnaichean tunna} +STR_UNITS_WEIGHT_LONG_SI :{COMMA}{NBSP}kg -STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}gal -STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}l -STR_UNITS_VOLUME_SHORT_SI :{COMMA}m³ +STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}{NBSP}gal +STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}{NBSP}l +STR_UNITS_VOLUME_SHORT_SI :{COMMA}{NBSP}m³ -STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA} {P ghalan ghalan galanan galan} -STR_UNITS_VOLUME_LONG_METRIC :{COMMA} {P liotair liotair liotairean liotair} -STR_UNITS_VOLUME_LONG_SI :{COMMA} m³ +STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA}{NBSP}{P ghalan ghalan galanan galan} +STR_UNITS_VOLUME_LONG_METRIC :{COMMA}{NBSP}{P liotair liotair liotairean liotair} +STR_UNITS_VOLUME_LONG_SI :{COMMA}{NBSP}m³ -STR_UNITS_FORCE_IMPERIAL :{COMMA} lbf -STR_UNITS_FORCE_METRIC :{COMMA} kgf -STR_UNITS_FORCE_SI :{COMMA} kN +STR_UNITS_FORCE_IMPERIAL :{COMMA}{NBSP}lbf +STR_UNITS_FORCE_METRIC :{COMMA}{NBSP}kgf +STR_UNITS_FORCE_SI :{COMMA}{NBSP}kN -STR_UNITS_HEIGHT_IMPERIAL :{COMMA} ft -STR_UNITS_HEIGHT_METRIC :{COMMA} m -STR_UNITS_HEIGHT_SI :{COMMA} m +STR_UNITS_HEIGHT_IMPERIAL :{COMMA}{NBSP}ft +STR_UNITS_HEIGHT_METRIC :{COMMA}{NBSP}m +STR_UNITS_HEIGHT_SI :{COMMA}{NBSP}m # Common window strings STR_LIST_FILTER_TITLE :{BLACK}Sreang criathraige: @@ -436,6 +436,17 @@ STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Bàr sgr STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Bàr sgrolaidh - sgrolaich gu deas/gu clì air an liosta STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Leag togalaichean agus msaa. air ceàrnag dhe thìr. Taghaidh Ctrl an roinn gu trastanach. Toglaidh Shift togail/sealladh air tuairmse chosgaisean +# Show engines button +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}Seall an fheadhainn fhalaichte +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK}Seall an fheadhainn fhalaichte +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}Seall an fheadhainn fhalaichte +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}Seall an fheadhainn fhalaichte + +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}Ma chuireas tu am putan seo an comas, thèid na carbadan-rèile falaichte a shealltainn cuideachd +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE_TOOLTIP :{BLACK}Ma chuireas tu am putan seo an comas, thèid na carbadan-rathaid falaichte a shealltainn cuideachd +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}Ma chuireas tu am putan seo an comas, thèid na longan falaichte a shealltainn cuideachd +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Ma chuireas tu am putan seo an comas, thèid na carbadan-adhair falaichte a shealltainn cuideachd + # Query window STR_BUTTON_DEFAULT :{BLACK}Bunaiteach STR_BUTTON_CANCEL :{BLACK}Sguir dheth @@ -549,7 +560,7 @@ STR_SCENEDIT_FILE_MENU_QUIT :Fàg an-seo ############ range for settings menu starts STR_SETTINGS_MENU_GAME_OPTIONS :Roghainnean a' gheama -STR_SETTINGS_MENU_CONFIG_SETTINGS :Roghainnean adhartach +STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Roghainnean STR_SETTINGS_MENU_SCRIPT_SETTINGS :Roghainnean IF/sgriobt geama STR_SETTINGS_MENU_NEWGRF_SETTINGS :Roghainnean NewGRF STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Roghainnean trìd-shoilleireachd @@ -658,7 +669,7 @@ STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Toglaich bogsai STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Toglaich dathadh nam blocaichean salach ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window STR_ORDINAL_NUMBER_1ST :1ad STR_ORDINAL_NUMBER_2ND :2na STR_ORDINAL_NUMBER_3RD :3a @@ -674,22 +685,40 @@ STR_ORDINAL_NUMBER_12TH :12na STR_ORDINAL_NUMBER_13TH :13s STR_ORDINAL_NUMBER_14TH :14mh STR_ORDINAL_NUMBER_15TH :15mh -STR_ORDINAL_NUMBER_16TH :16mh -STR_ORDINAL_NUMBER_17TH :17mh -STR_ORDINAL_NUMBER_18TH :18mh -STR_ORDINAL_NUMBER_19TH :19mh -STR_ORDINAL_NUMBER_20TH :20mh -STR_ORDINAL_NUMBER_21ST :21ad -STR_ORDINAL_NUMBER_22ND :22na -STR_ORDINAL_NUMBER_23RD :23s -STR_ORDINAL_NUMBER_24TH :24mh -STR_ORDINAL_NUMBER_25TH :25mh -STR_ORDINAL_NUMBER_26TH :26mh -STR_ORDINAL_NUMBER_27TH :27mh -STR_ORDINAL_NUMBER_28TH :28mh -STR_ORDINAL_NUMBER_29TH :29mh -STR_ORDINAL_NUMBER_30TH :30mh -STR_ORDINAL_NUMBER_31ST :31mh +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :1ad +STR_DAY_NUMBER_2ND :2na +STR_DAY_NUMBER_3RD :3a +STR_DAY_NUMBER_4TH :4mh +STR_DAY_NUMBER_5TH :5mh +STR_DAY_NUMBER_6TH :6mh +STR_DAY_NUMBER_7TH :7mh +STR_DAY_NUMBER_8TH :8mh +STR_DAY_NUMBER_9TH :9mh +STR_DAY_NUMBER_10TH :10mh +STR_DAY_NUMBER_11TH :11ad +STR_DAY_NUMBER_12TH :12na +STR_DAY_NUMBER_13TH :13s +STR_DAY_NUMBER_14TH :14mh +STR_DAY_NUMBER_15TH :15mh +STR_DAY_NUMBER_16TH :16mh +STR_DAY_NUMBER_17TH :17mh +STR_DAY_NUMBER_18TH :18mh +STR_DAY_NUMBER_19TH :19mh +STR_DAY_NUMBER_20TH :20mh +STR_DAY_NUMBER_21ST :21ad +STR_DAY_NUMBER_22ND :22na +STR_DAY_NUMBER_23RD :23s +STR_DAY_NUMBER_24TH :24mh +STR_DAY_NUMBER_25TH :25mh +STR_DAY_NUMBER_26TH :26mh +STR_DAY_NUMBER_27TH :27mh +STR_DAY_NUMBER_28TH :28mh +STR_DAY_NUMBER_29TH :29mh +STR_DAY_NUMBER_30TH :30mh +STR_DAY_NUMBER_31ST :31mh ############ range for days ends ############ range for months starts @@ -796,10 +825,10 @@ STR_PERFORMANCE_DETAIL_TOTAL :{BLACK}Iomlan: STR_PERFORMANCE_DETAIL_VEHICLES_TOOLTIP :{BLACK}An àireamh dhe charbadan a rinn prothaid an-uiridh. Gabhaidh seo a-steach carbadan-rathaid, trèanaichean, longan is carbadan-adhair STR_PERFORMANCE_DETAIL_STATIONS_TOOLTIP :{BLACK}An àireamh dhe stèiseanan a chaidh a fhrithealadh o chionn ghoirid. théid stèiseanan rèile, stèiseanan bus, stadan bus, puirt-adhair is mar sin air adhart a chunntadh fa leth fiù ’s ma bhuineas iad ris an aon stèisean STR_PERFORMANCE_DETAIL_MIN_PROFIT_TOOLTIP :{BLACK}Am prothaid aig a' charbad leis an teachd a-steach as lugha (cha tèid sùil a thoirt ach air carbadan a tha co-dhiù dà bhliadhna a dh'aois) -STR_PERFORMANCE_DETAIL_MIN_INCOME_TOOLTIP :{BLACK}An t-airgead a chaidh a bhuannachd san ràith leis a' phrothaid as lugha am measg an dusan ràith mu dheireadh -STR_PERFORMANCE_DETAIL_MAX_INCOME_TOOLTIP :{BLACK}An t-airgead a chaidh a bhuannachd san ràidh leis a' phrothaid as motha am measg an dusan ràith mu dheireadh -STR_PERFORMANCE_DETAIL_DELIVERED_TOOLTIP :{BLACK}Na h-aonadan dhe charago air an lìbhrigeadh sna ceithir ràithean mu dheireadh -STR_PERFORMANCE_DETAIL_CARGO_TOOLTIP :{BLACK}An àireamh dhe sheòrsaichean carago a chaidh a lìbhrigeadh san ràith mu dheireadh +STR_PERFORMANCE_DETAIL_MIN_INCOME_TOOLTIP :{BLACK}An t-airgead a chaidh a bhuannachd sa chairteal leis a' phrothaid as lugha am measg an dusan cairteal mu dheireadh +STR_PERFORMANCE_DETAIL_MAX_INCOME_TOOLTIP :{BLACK}An t-airgead a chaidh a bhuannachd sa chairteal leis a' phrothaid as motha am measg an dusan cairteal mu dheireadh +STR_PERFORMANCE_DETAIL_DELIVERED_TOOLTIP :{BLACK}Na h-aonadan dhe charago air an lìbhrigeadh sna ceithir cairtealan dheireadh +STR_PERFORMANCE_DETAIL_CARGO_TOOLTIP :{BLACK}An àireamh dhe sheòrsaichean carago a chaidh a lìbhrigeadh sa chairteal mu dheireadh STR_PERFORMANCE_DETAIL_MONEY_TOOLTIP :{BLACK}An t-airgead a tha aig a' chompanaidh seo sa bhanca STR_PERFORMANCE_DETAIL_LOAN_TOOLTIP :{BLACK}An t-airgead a tha aig a' chompanaidh mar iosad STR_PERFORMANCE_DETAIL_TOTAL_TOOLTIP :{BLACK}Na puingean iomlan a-mach às na puingean comasach @@ -1012,13 +1041,12 @@ STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}Tha {VEH STR_NEWS_SHIP_IS_WAITING :{WHITE}Tha {VEHICLE} a' feitheamh sa chala STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}Tha {VEHICLE} a' feitheamh sa hangar -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE +# Order review system / warnings STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}Chan eil òrduighean gu leòr air a' chlàr-ama aig {VEHICLE} STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}Tha òrdugh falamh aig {VEHICLE} STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}Tha òrdugh dùbailte aig {VEHICLE} STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}Tha stèisean mì-dhligheach sna h-òrduighean aig {VEHICLE} -# end of order system +STR_NEWS_PLANE_USES_TOO_SHORT_RUNWAY :{WHITE}Tha port-adhair am measg nan òrduighean aig {VEHICLE} aig a bheil raon-laighe ro ghoirid STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}Tha {VEHICLE} a' fàs aosta STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}Tha {VEHICLE} a' fàs glè aosta @@ -1101,10 +1129,6 @@ STR_GAME_OPTIONS_CURRENCY_GEL :Lari Cairtbheil STR_GAME_OPTIONS_CURRENCY_IRR :Rial Iorànach (IRR) ############ end of currency region - -############ start of measuring units region -############ end of measuring units region - STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Carbadan-rathaid STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}Tagh taobh an rathaid air a dhràibheas na carbadan STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :Draibheadh air an taobh chlì @@ -1140,11 +1164,13 @@ STR_GAME_OPTIONS_TOWN_NAME_CATALAN :Catalanach STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Fèin-shàbhaladh STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Tagh dè cho tric ’s a thèid an geama fèin-shàbhaladh +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Dheth STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :Gach mìos STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :Gach 3s mìos STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :Gach 6mh mìos STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :Gach bliadhna +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}Cànan STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Tagh cànan an eadar-aghaidh a chleachdas tu @@ -1156,8 +1182,12 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}Dùmhlac STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Tagh dùmhlachd-bhreacaidh na sgrìn a chleachdas tu STR_GAME_OPTIONS_RESOLUTION_OTHER :Gnàthaichte -STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}Fòrmat ghlacaidhean-sgrìn -STR_GAME_OPTIONS_SCREENSHOT_FORMAT_TOOLTIP :{BLACK}Tagh am fòrmat ghlacaidhean-sgrìn a chleachdas tu +STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Meud na h-eadar-aghaidh +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Tagh am meud airson rud san eadar-aghaidh + +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Àbhaisteach +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Dà uiread a mheud +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Ceithir uiread a mheud STR_GAME_OPTIONS_BASE_GRF :{BLACK}Seata grafaigeachd bunasach STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Tagh an seata grafaigeachd bunasach a chleachdas tu @@ -1173,6 +1203,7 @@ STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Tagh an STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} {P fhaidhle fhaidhle faidhlichean faidhle} coirbte STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Barrachd fiosrachaidh mun t-seata chiùil bhunasach +STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Cha deach leinn liosta dhe na dùmhlaidhean-breacaidh ris an cuirear taic fhaighinn STR_ERROR_FULLSCREEN_FAILED :{WHITE}Dh'fhàillig leis a' mhodh làn-sgrìn # Custom currency window @@ -1251,6 +1282,7 @@ STR_TERRAIN_TYPE_VERY_FLAT :Glè rèidh STR_TERRAIN_TYPE_FLAT :Rèidh STR_TERRAIN_TYPE_HILLY :Cnuic STR_TERRAIN_TYPE_MOUNTAINOUS :Beanntan +STR_TERRAIN_TYPE_ALPINIST :Mòr-bheanntan STR_CITY_APPROVAL_PERMISSIVE :Coibhneil STR_CITY_APPROVAL_TOLERANT :Ceadachail @@ -1258,8 +1290,8 @@ STR_CITY_APPROVAL_HOSTILE :Nàimhdeil STR_WARNING_NO_SUITABLE_AI :{WHITE}Chan eil IF freagarrach ri fhaighinn...{}’S urrainn dhut roghainn dhe IFan a luchdadh a-nuas leis an t-siostam “Susbaint air loidhne" -# Advanced settings window -STR_CONFIG_SETTING_CAPTION :{WHITE}Roghainnean adhartach +# Settings tree window +STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Roghainnean STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Sreang criathraige: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Leudaich a h-uile STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Co-theannaich a h-uile @@ -1274,10 +1306,10 @@ STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :Roghainnean na STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK}Roinn-seòrsa: STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}Seòrsa: -STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Cuingichidh seo an liosta gu h-ìosal gus nach tèid a shealltainn ach roghainnean air an atharrachadh -STR_CONFIG_SETTING_RESTRICT_BASIC :Roghainnean bunasach -STR_CONFIG_SETTING_RESTRICT_ADVANCED :Roghainnean adhartach -STR_CONFIG_SETTING_RESTRICT_ALL :Roghainnean an eòlaiche / na h-uile roghainn +STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Cuingichidh seo an liosta gu h-ìosal le criathradh ro-shocraichte +STR_CONFIG_SETTING_RESTRICT_BASIC :Bunasach (na seall ach roghainnean cudromach) +STR_CONFIG_SETTING_RESTRICT_ADVANCED :Adhartach (a’ mhòrchuid dhe na roghainnean) +STR_CONFIG_SETTING_RESTRICT_ALL :Eòlaiche (a h-uile roghainn, a’ gabhail a-steach an fheadhainn neònach) STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :Roghainnean le luach diofraichte bhon luach bhunaiteach STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :Roghainnean le luach diofraichte bho luach nan geamannan ùra agad @@ -1332,9 +1364,10 @@ STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Toglaich dunaid STR_CONFIG_SETTING_CITY_APPROVAL :Beachdan comhairle a' bhaile air leasachadh raointean: {STRING} STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Tagh am meud dhe dh'fhuaim is milleadh na h-àrainneachd le companaidhean a tha a dhìth mus bi buaidh air luachadh a' bhaile is barrachd togail san sgìre -STR_CONFIG_SETTING_BUILDONSLOPES :Ceadaich gun tèid togail air slèibhtean is an oirthir: {STRING} -STR_CONFIG_SETTING_BUILDONSLOPES_HELPTEXT :Ma tha seo air, faodar slighean is stèiseanan a thogail air a' mhòr chuid dhe shlèibhtean. Ma tha seo dheth, chan fhaodar an togail ach air slèibhtean leis an aon chomhair ’s a tha aig an t-slighe is aig nach eil feum air bonn togalaich -STR_CONFIG_SETTING_AUTOSLOPE :Ceadaich atharrachadh crutha-tìre fo thogalaichean, slighean agus msaa. (fèin-sliabh): {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :Àirde as motha a’ mhapa: {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :Suidhich an àirde as motha aig beanntan a bhios ceadaichte air a’ mhapa +STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}Chan urrainn dhut àirde as motha a’ mhapa a shuidheachadh air an luach seo. Tha beinn air a’ mhapa a tha nas àirde. +STR_CONFIG_SETTING_AUTOSLOPE :Ceadaich atharrachadh crutha-tìre fo thogalaichean, slighean agus msaa.: {STRING} STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Ceadaich atharrachadh crutha-tìre fo thogalaichean is slighean gun a bhith gan toirt air falbh STR_CONFIG_SETTING_CATCHMENT :Ceadaich raointean tionail le meud a tha nas fhìor-riochdail: {STRING} STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Bi meud eadar-dhealaichte aig raointean tionail a-rèir seòrsa an stèisein no puirt-adhair @@ -1358,16 +1391,12 @@ STR_CONFIG_SETTING_FORBID_90_DEG :Bac trèanaiche STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Tachraidh tionndadh 90 nuair a bhios slighe còmhnard is inghearach dìreach an dèidh càch a chèile, mar sin bhiodh trèan a' tionndadh le 90 ceum nuair a ruigeas i oir na leacaige an àite nan tionndaidhean àbhaisteach le 45 ceum aig co-cheanglaidhean shlighean eile. Tha seo fìor airson rèideas tionndaidh nan longan cuideachd STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Ceadaich aonadh aig stèiseanan nach eil dìreach ri taobh càch a chèile: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Ceadaich gun tèid pàirtean a chur ri stèisean nach eil dìreach ri taobh nam pàirtean a tha ann mu thràth. Feumaidh tu Ctrl+Briogadh a chleachdadh nuair a chuireas tu na pàirtean ùra ann -STR_CONFIG_SETTING_IMPROVEDLOAD :Cleachd algairim luchdaidh leasaichte: {STRING} -STR_CONFIG_SETTING_IMPROVEDLOAD_HELPTEXT :Ma tha seo air, thèid carbadan a bhios a' feitheamh aig stèisean a luchdadh an dèidh càch a chèile. Cha tòisich luchdadh an ath charbaid nuair a bhios carago gu leòr ann gus a' chiad charbad a lìonadh -STR_CONFIG_SETTING_GRADUAL_LOADING :Luchdaich carbadan beag air bheag: {STRING} -STR_CONFIG_SETTING_GRADUAL_LOADING_HELPTEXT :Luchdaich carbadan beag air bheag is ùine an luchdaidh a' crochadh air seòrsa a' charbaid an àite a bhith a' luchdadh a h-uile rud aig an aon àm le ùine luchdaidh shuidhichte a tha a' crochadh air seòrsa a' charago a-mhàin STR_CONFIG_SETTING_INFLATION :Atmhorachd: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :Cuir atmhorachd an comas san eaconamaidh is bidh cosgaisean a' dìreadh beagan nas luaithe na pàighidhean -STR_CONFIG_SETTING_SELECTGOODS :Na lìbhrig carago dha stèisean ach ma tha iarrtas ann: {STRING} -STR_CONFIG_SETTING_SELECTGOODS_HELPTEXT :Na lìbhrig carago dha stèisean ach ma chaidh iarraidh aig carbad a bhios a' luchdadh. Le seo, chan fhaigh thu rangachadh dona airson carago nach tèid a fhrithealadh aig an stèisean STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Faide as motha nan drochaidean: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Chan urrainn dhut drochaidean a thogail a tha nas fhaide na seo +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :Àirde as motha dhrochaidean: {STRING} +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :An àirde as motha gus drochaidean a thogail STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Faide as motha nan tunailean: {STRING} STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :Chan urrainn dhut tunail a thogail a tha nas fhaide na seo STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Modh togail a làimh aig prìomh ghnìomhachasan: {STRING} @@ -1393,8 +1422,6 @@ STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Tagh far an sta STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :toiseach STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :meadhan STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :ceann thall -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING :Ciutha nan carbadan-rathaid (le èifeachdan quantum): {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING_HELPTEXT :Thoir air carbad-rathaid stad air beulaibh stèiseanan rathaid sa bheil carbad eile gus am falbh am fear eile STR_CONFIG_SETTING_AUTOSCROLL :Panaich an uinneag nuair a bhios an luchag aig oir na sgrìn: {STRING} STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Nuair a bhios seo air, tòisichidh pùirt-seallaidh air sgroladh nuair a bhios an luchag faisg air oir na h-uinneige STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :À comas @@ -1425,10 +1452,6 @@ STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Ceadaich stèis STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Ceadaich gun tèid stèiseanan ri taobh an rathaid a thogail air rathaidean a bhuineas ri baile STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Ceadaich stèiseanan ri taobh an rathaid air rathaidean a bhuineas ri co-fharpaisiche: {STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Ceadaich gun tèid stèiseanan ri taobh an rathaid a thogail air rathaidean a bhuineas ri companaidh eile -STR_CONFIG_SETTING_ADJACENT_STATIONS :Ceadaich togail stèiseanan ri taobh càch a chèile: {STRING} -STR_CONFIG_SETTING_ADJACENT_STATIONS_HELPTEXT :Ceadaich gum bean stèiseanan eadar-dhealaichte ri chèile -STR_CONFIG_SETTING_DYNAMIC_ENGINES :Cuir seataidhean iomadach NewGRF an comas: {STRING} -STR_CONFIG_SETTING_DYNAMIC_ENGINES_HELPTEXT :Roghainn co-chòrdalachd airson NewGRFan seana. Na cuir seo à comas mura h-eil thu eòlach air na tha thu a' dèanamh! STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Cha ghabh an roghainn seo atharrachadh nuair a bhios carbad ann STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Cumail suas a' bhun-structair: {STRING} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Nuair a bhios seo air, bidh cumail suas a' bhun-structair a' cosg airgid. Fàsaidh na cosgaisean nas luaithe na meud an lìonraidh, mar sin bheir an roghainn seo barrachd buaidh air companaidhean mòra @@ -1459,35 +1482,49 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :An ùine a mhai STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :An ùine a mhaireas brath mearachd ann an uinneag dearg. Thoir an aire nach dùin cuid dhe na brathan as cudromaiche leotha fhèin is gum feum thu an toirt air falbh a làimh. STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{COMMA} {P 0 diog dhiog diogan diog} STR_CONFIG_SETTING_HOVER_DELAY :Seall gliocasan-sgrìn: {STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Dèan dàil mus tèid gliocasan-sgrìn a shealltainn nuair a chumas mi an luchag os cionn eileamaid na h-eadar-aghaidh. Mar roghainn eile, gabhaidh gliocasan-sgrìn nasgadh ri putan deas na luchaige -STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Cùm an luchag os a chionn fad {COMMA} {P 0 diog dhiog diogan diog} +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Dèan dàil mus tèid gliocasan-sgrìn a shealltainn nuair a chumas mi an luchag os cionn eileamaid na h-eadar-aghaidh. Mar roghainn eile, thèid gliocasan-sgrìn nasgadh ri putan deas na luchaige ma chuireas tu an luach air 0. +STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Cùm an luchag os a chionn fad {COMMA} {P 0 mhille-dhiog mhille-dhiog mille-dhiogan mille-dhiog} STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Briogadh deas STR_CONFIG_SETTING_POPULATION_IN_LABEL :Seall àireamh-shluaigh ann an leubail a' bhaile: {STRING} STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Seall àireamh-shluaigh aig bailtean san leubail aca air a' mhapa STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Tiughad nan loidhnichean ann an grafan: {STRING} STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Leud na loidhne ann an grafan. Gabhaidh loidhne thana fhaicinn nas pongaile ach tha loidhne thiugh nas fhasa fhaicinn is dathan nas fhasa a mhothachadh +STR_CONFIG_SETTING_LANDSCAPE :Cruth-tìre: {STRING} +STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Mìnichidh cruthan-tìre cnàmh-sgeulan bunasach a’ gheama le carago ’s riatanasan fàs nam bailtean eadar-dhealaichte. Ceadaichidh NewGRF agus sgriobtaichean geama barrachd smachd co-dhiù STR_CONFIG_SETTING_LAND_GENERATOR :Gineadair tìre: {STRING} +STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :Tha an t-inneal-gintinn tùsail an eisimeil air an t-seata ghrafaigeachd thùsail agus cuiridh e cruthan stèidhichte ri chèile. Tha TerraGenesis ’na ghineadair stèidhichte air Perlin noise agus tha roghainnean smachd nas mionaidiche aige STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Tùsail STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis +STR_CONFIG_SETTING_TERRAIN_TYPE :Seòrsa a’ chrutha-thìre: {STRING} +STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(TerraGenesis a-mhàin) Pailteas nan cnoc +STR_CONFIG_SETTING_INDUSTRY_DENSITY :Dlùths nan gnìomhachasan: {STRING} +STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Suidhich an t-uiread dhe ghnìomhachasan a thèid a ghintinn ’s an ìre air a thèid an cumail rè a’ gheama STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Astar as motha eadar an oir is fìneadairean-ola: {STRING} STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Cha tèid fìneadairean-ola a thogail ach faisg air crìochan a' mhapa, seo an oirthir le mapaichean eilein STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Àirde an loidhne sneachda: {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Garbhachd a' chrutha-tìre (TerraGenesis a-mhàin): {STRING} +STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Stiùirich an àirde air a thòisicheas an sneachd air tìr fho-artach. Bidh buaidh aig sneachd air gintinn nan gnìomhachasan agus riatanasan fàs nam bailtean +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Garbhachd a' chrutha-tìre: {STRING} +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(TerraGenesis a-mhàin) Tagh dè cho pailt a bhios cnuic: Bidh cnuic gann aig tìr rèidh. Bidh pailteas dhe chnuic air tìr gharbh agus coltas ath-aithriseil air, ’s dòcha STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Glè rèidh STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Rèidh STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Garbh STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Glè gharbh +STR_CONFIG_SETTING_VARIETY :Sgaoileadh caochlaidh: {STRING} +STR_CONFIG_SETTING_VARIETY_HELPTEXT :(TerraGenesis a-mhàin) Stiùirich am bi an dà chuid beanntan ’s tìr rèidh air a’ mhapa gus nach bi. O nach adhbharaich an roghainn seo ach tìr nas rèidhe, cuir na roghainnean eile air beanntan +STR_CONFIG_SETTING_RIVER_AMOUNT :Uiread nan aibhnean: {STRING} +STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Tagh an t-uiread dhe h-aibhnean a thèid a ghintinn STR_CONFIG_SETTING_TREE_PLACER :Algairim ionad nan craobh: {STRING} +STR_CONFIG_SETTING_TREE_PLACER_HELPTEXT :Tagh sgaoileadh nan craobhan air a’ mhapa: Sgapaidh “Tùsail” na craobhan gu cunbhalach agus cuiridh “Leasaichte” ann am buidhnean iad STR_CONFIG_SETTING_TREE_PLACER_NONE :Chan eil gin STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :Tùsail STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :Leasaichte +STR_CONFIG_SETTING_ROAD_SIDE :Carbadan-rathaid: {STRING} +STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :Tagh an taobh air an draibhear STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Cuairteachadh a' mhapa-àirde: {STRING} STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Tuathal STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Deiseil STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :Ìre na h-àirde a bhios aig mapa cnàmh-sgeòil rèidh: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :Cuir cruth-tìre nan leacan ri crìochan a' mhapa an comas: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES_HELPTEXT :Ma tha seo dheth, bidh crìochan a' mhapa nan cuantan an-còmhnaidh STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}Tha co-dhiù aon leac aig oir a tuath nach eil falamh STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}Tha co-dhiù aon leac aig oir nach eil na uisge @@ -1508,7 +1545,7 @@ STR_CONFIG_SETTING_SMOOTH_SCROLLING :Sgroladh mìn n STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Tagh mar a ghluaiseas am prìomh-shealladh gu ionad sònraichte. Ma tha seo dheth, thèid leum dhan ionad a chaidh a thaghadh sa bhad STR_CONFIG_SETTING_MEASURE_TOOLTIP :Seall gliocasan-sgrìn tomhais le innealan togail: {STRING} STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT :Seall faide eadar leacan is diofar an àirde nuair a nì thu slaodadh fhad ’s a bhios tu a' togail rudeigin -STR_CONFIG_SETTING_LIVERIES :Seall dathan na companaidh: {STRING} +STR_CONFIG_SETTING_LIVERIES :Seall dathan a-rèir seòrsa a' charbaid: {STRING} STR_CONFIG_SETTING_LIVERIES_HELPTEXT :Stiùirich cleachdadh nan dathan a-rèir seòrsa a' charbaid (seach a-rèir na companaidh) STR_CONFIG_SETTING_LIVERIES_NONE :Na seall idir STR_CONFIG_SETTING_LIVERIES_OWN :Aig a' chompanaidh agam fhèin @@ -1538,17 +1575,15 @@ 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_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 + STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Fòrmat cinn-latha {STRING} airson ainmean nan geamannan air an sàbhaladh STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Fòrmat a' chinn-latha ann an ainmean faidhle nan geamannan air an sàbhaladh STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :fada (31d Dùbh 2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :goirid (31-12-2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE :Pailead bunaiteach airson NewGRFan gun phailead aca fhèin: {STRING} -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_HELPTEXT :Pailead dhathan bunasach a thèid a chleachdadh le NewGRFan nach sònraich dè am fear a tha a dhìth -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_DOS :Pailead tùsail (D) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_WIN :Pailead dìleabach (W) - STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Cuir geamannan air ùr-thòiseachadh nan stad gu fèin-obrachail: {STRING} STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :Nuair a bhios seo air, stadaidh an geama gu fèin-obrachail nuair a thòisicheas tu geama ùr. Bheir seo cothrom dhut gus am mapa a sgrùdadh air do shocair STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Na tha ceadaichte nuair a bhios an geama na stad: {STRING} @@ -1557,7 +1592,7 @@ STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :Na ceadaich gn STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :A h-uile gnìomh ach togail STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :A h-uile gnìomh ach atharrachadh a' chrutha-tìre STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_ACTIONS :Na h-uile gnìomh -STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Cleachd liosta nan carbadan adhartach: {STRING} +STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Cleachd buidhnean air liosta nan carbadan: {STRING} STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Cuir liostaichean adhartach nan carbadan an comas gus carbadan a chur ann am buidhnean STR_CONFIG_SETTING_LOADING_INDICATORS :Seall taisbeanairean luchdaidh: {STRING} STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Tagh an tèid taisbeanairean luchdaidh a shealltainn os cionn charbadan a bhios a' luchdadh no dì-luchdadh @@ -1572,7 +1607,7 @@ STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_HELPTEXT :An seòrsa rèi STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_FIRST :Seòrsa as sine STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_LAST :Seòrsa as ùire STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_MOST_USED :Ga chleachdadh mar as trice -STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :Seall slighean glèidhte: {STRING} +STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :Seall slighean-rèile glèidhte: {STRING} STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION_HELPTEXT :Cuiridh seo dath eile air slighean glèidhte gus cuideachadh le duilgheadasan gun diùlt trèan dol a-steach dha bhlocaichean stèidhichte air slighean STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Cùm innealan togail gnìomhach an dèidh an cleachdaidh: {STRING} STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Cùm na h-innealan togail airson drochaidean, tunailean agus msaa. fosgailte nuair a chaidh an cleachdadh @@ -1631,7 +1666,7 @@ STR_CONFIG_SETTING_SERVINT_ISPERCENT :Tha tricead a' STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Tagh an tèid carbad a chur gus obair-chàraidh fhaighinn a-rèir an turais mu dheireadh a fhuair iad càradh air no nuair a bhios earbsachd air lùghdachadh le ceudad sònraichte dhen earbsachd as motha STR_CONFIG_SETTING_SERVINT_TRAINS :Tricead bunaiteach na h-obrach-càraidh air trèanaichean: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Tagh dè cho tric ’s a thèid obair-chàraidh a dhèanamh air carbadan-rèile ùra mura deach tricead a’ chàraidh sònraichte a shuidheachadh airson a' charbaid -STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA} {P 0 latha latha làithean latha}/% +STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}{P 0 latha latha làithean latha}/% STR_CONFIG_SETTING_SERVINT_DISABLED :À comas STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES :Tricead bunaiteach na h-obrach-càraidh air carbadan-rathaid: {STRING} STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES_HELPTEXT :Tagh dè cho tric ’s a thèid obair-chàraidh a dhèanamh air carbadan-rathaid ùra mura deach tricead a’ chàraidh sònraichte a shuidheachadh airson a' charbaid @@ -1770,12 +1805,10 @@ STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 a-mach à {CO STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Chan eil gin STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Iomadaichear meud nam bailtean aig an toiseach: {STRING} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Am meud cuibheasach dhe mhòr-bhailtean an coimeas ri bailtean àbhaisteach aig toiseach a' gheama -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :Thoir air falbh eileamaidean-rathaid gun chiall nuair a thèid rathaid a thogail: {STRING} -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD_HELPTEXT :Thoir cùil-dhùinte nan rathaidean air falbh nuair a thèid togail rathaidean a mhaoineachadh -STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Ùraich graf an sgaoilidh gach {STRING} {P 0:2 latha latha làithean latha} +STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Ùraich graf an sgaoilidh gach {STRING}{NBSP}{P 0:2 latha latha làithean latha} STR_CONFIG_SETTING_LINKGRAPH_INTERVAL_HELPTEXT :An ùine eadar dà ath-àireamhachadh dhe ghraf nan ceangal. Àireamhaichidh gach ath-àireamhachadh na planaichean airson co-phàirt dhen ghraf. Is ciall dha seo nach tèid an graf air fad ùrachadh gach X latha nuair a bhios an luach seo suidhichte air X, ach nach tèid ach co-phàirt ath-àireamhachadh. Mar as giorra a shuidhicheas tu e, ’s ann nas motha dhe ùine an CPU a bhios a dhìth airson an àireamhachadh. Mar as fhaide a shuidhicheas tu e, ’s ann nas fhaide a bheir e gus an tòisich sgaoileadh a' charago air slighean ùra. -STR_CONFIG_SETTING_LINKGRAPH_TIME :Thoir {STRING} {P 0:2 latha latha làithean latha} airson graf an sgaoilidh ath-àireamhachadh +STR_CONFIG_SETTING_LINKGRAPH_TIME :Thoir {STRING}{NBSP}{P 0:2 latha latha làithean latha} airson graf an sgaoilidh ath-àireamhachadh STR_CONFIG_SETTING_LINKGRAPH_TIME_HELPTEXT :An ùine a bheir gach ath-àireamhachadh aig co-phàirt dhe ghraf nan ceangal. Nuair a thòisichear air ath-àireamhachadh, thèid sreath ùr a ghintinn a ruitheas fad na h-àireimh seo dhe làithean. Mar as giorra a shuidhicheas tu seo, ’s ann nas coltaiche a bhios e nach bi sreath deiseil nuair a bu chòir. Stadaidh an geama an uairsin gus am bidh an sreath deiseil (“dàil”). Mas as fhaide a shuidhicheas tu seo, ’s ann nas fhaide a bheir e gus an tèid an sgaoileadh ùrachadh nuair a dh'atharraicheas slighe. STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :a làimh STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :neo-chothromach @@ -1785,7 +1818,7 @@ STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :Is ciall dha STR_CONFIG_SETTING_DISTRIBUTION_MAIL :Am modh sgaoilidh airson post: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :Is ciall dha “co-chothromach” gun tèid cha mhòr an aon uiread dhe phost a chur o stèisean A gu stèisean B ’s a thèid a chur o stèisean B gu stèisean A. Is ciall dha “neo-chothromach” gun tèid uiread air thuaiream dhe phost a chur dhan dà chomhair. Is ciall dha “a làimh” nach tèid sgaoileadh fèin-obrachail sam bith a dhèanamh airson post. STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Am modh sgaoilidh airson an t-seòrsa carago ARMAILTE: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :Tha an seòrsa carago ARMAILTE a’ gabhail a-steach seilbh fo gnàth-shìde mheasarra, daoimeanan fo gnàth-shìde fho-thropaigeach is òr fo gnàth-shìde fho-artach. Dh’fhaoidte gun atharraich NewGRF seo. Is ciall dha “co-chothromach” gun tèid cha mhòr an aon uiread dhe charago a chur o stèisean A gu stèisean B ’s a thèid a chur o stèisean B gu stèisean A. Is ciall dha “neo-chothromach” gun tèid uiread air thuaiream a chur dhan dà chomhair. Is ciall dha “a làimh” nach tèid sgaoileadh fèin-obrachail sam bith a dhèanamh airson a’ charago ud. Cha chreid sinn nach eil thu airson seo a shuidheachadh air “neo-chothromach” no “a làimh” nuair a bhios tu a’ cluich le cruth-tìre fo-artach on nach cuir bancaichean òr air ais gu mèinnean òir. Le cruth-tìre measarra no fo-thropaigeach, ’s urrainn dhut “co-chothromach” a thaghadh cuideachd on a chuireas bancaichean seilbh air ais dhan bhanca eile. +STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :Tha an seòrsa carago ARMAILTE a’ gabhail a-steach seilbh fo chruth-tìre measarra, daoimeanan fo chruth-tìre fo-thropaigeach is òr fo chruth-tìre fo-artach. Dh’fhaoidte gun atharraich NewGRF seo. Is ciall dha “co-chothromach” gun tèid timcheall an aon uireid dhe charago a chur o stèisean A gu stèisean B ’s a thèid a chur o stèisean B gu stèisean A. Is ciall dha “neo-chothromach” gun tèid uiread air thuaiream a chur dhan dà chomhair. Is ciall dha “a làimh” nach tèid sgaoileadh fèin-obrachail sam bith a dhèanamh airson a’ charago ud. Mholamaid gun suidhich thu seo air “neo-chothromach” no “a làimh” nuair a bhios tu a’ cluich le cruth-tìre fo-artach on nach cuir bancaicean òr air ais gu mèinnean òir. Le cruth-tìre measarra no fo-thropaigeach, ’s urrainn dhut “co-chothromach” a thaghadh cuideachd on a chuireas bancaichean seilbh air ais dhan bhanca eile. STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Am modh sgaoilidh airson seòrsaichean eile dhe charago: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :Is ciall dha “neo-chothromach” gun tèid uiread air thuaiream a chur dhan dà chomhair. Is ciall dha “a làimh” nach tèid sgaoileadh fèin-obrachail sam bith a dhèanamh airson a' charago ud. STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Pongalachd an sgaoilidh: {STRING} @@ -1798,62 +1831,64 @@ STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Lìonadh nan sl STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Gu tric, tha iomadh slighe eadar dà stèisean ann. Lìonaidh an sgaoileadh carago an t-slighe as giorra an toiseach is an dàrna slighe as giorra an uairsin is mar sin air adhart. Thèid a mheasadh a bheil slighe làn gus nach eil le tuairmse air na ghabhas an t-slighe ris is air a' chleachdadh a th' air a' phlana. Nuair a bhios na h-uile slighe air an lìonadh is rum a dhìth fhathast, thèid luchd a bharrachd a chur air gach slighe is an fheadhainn aig a bheil mòran rum a thaghadh an toiseach. Co-dhiù, cha dèan an algairim tuairmse buileach ceart air an rum mar as trice. Leigidh an roghainn seo leat sònrachadh dè an ceudad aig slighe as giorra a thèid a cleachdadh sa chiad dol a-mach mus tèid an ath shlighe as fhaide a thaghadh. Dèan nas lugha na 100% e ach nach bidh na stèiseanan ro làn nuair a thèid rum a mheas ro mhòr. STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Aonadan luaiths: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_HELPTEXT :Nuair a thèid luaths a shealltainn san eadar-aghaidh, seall e sna h-aonadan a thagh thu +STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_HELPTEXT :Nuair a thèid luaths a shealltainn san eadar-aghaidh, seall e leis na h-aonadan a thagh thu STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_IMPERIAL :Impireil (mph) STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_METRIC :Meatrach (km/h) STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_SI :SI (m/s) STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER :Aonadan lùth carabaid: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_HELPTEXT :Nuair a thèid lùth carabaid a shealltainn san eadar-aghaidh, seall e sna h-aonadan a thagh thu +STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_HELPTEXT :Nuair a thèid lùth carabaid a shealltainn san eadar-aghaidh, seall e leis na h-aonadan a thagh thu STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_IMPERIAL :Impireil (hp) STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_METRIC :Meatrach (hp) STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_SI :SI (kW) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT :Aonadan cuideim: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_HELPTEXT :Nuair a thèid cuideam a shealltainn san eadar-aghaidh, seall e sna h-aonadan a thagh thu +STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_HELPTEXT :Nuair a thèid cuideam a shealltainn san eadar-aghaidh, seall e leis na h-aonadan a thagh thu STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_IMPERIAL :Impireil (t ghoirid/tunna) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_METRIC :Meatrach (t/tunna) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_SI :SI (kg) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME :Aonadan tomhais-lìonaidh: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_HELPTEXT :Nuair a thèid tomhas-lìonaidh a shealltainn san eadar-aghaidh, seall e sna h-aonadan a thagh thu +STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_HELPTEXT :Nuair a thèid tomhas-lìonaidh a shealltainn san eadar-aghaidh, seall e leis na h-aonadan a thagh thu STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_IMPERIAL :Impireil (gal) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_METRIC :Meatrach (l) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_SI :SI (m³) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE :Aonadan spàirn tàirnge: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_HELPTEXT :Nuair a thèid spàirn tàirnge a shealltainn san eadar-aghaidh, seall i sna h-aonadan a thagh thu +STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_HELPTEXT :Nuair a thèid spàirn tàirnge a shealltainn san eadar-aghaidh, seall i leis na h-aonadan a thagh thu STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_IMPERIAL :Impireil (lbf) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_METRIC :Meatrach (kgf) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_SI :SI (kN) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT :Aonadan àirde: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT :Nuair a thèid àirde a shealltainn san eadar-aghaidh, seall i sna h-aonadan a thagh thu +STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT :Nuair a thèid àirde a shealltainn san eadar-aghaidh, seall i leis na h-aonadan a thagh thu STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :Impireil (ft) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :Meatrach (m) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :SI (m) -STR_CONFIG_SETTING_GUI :{ORANGE}Eadar-aghaidh STR_CONFIG_SETTING_LOCALISATION :{ORANGE}Ionadaileadh -STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}Togail +STR_CONFIG_SETTING_GRAPHICS :{ORANGE}Grafaigeachd +STR_CONFIG_SETTING_SOUND :{ORANGE}Fuaim +STR_CONFIG_SETTING_INTERFACE :{ORANGE}Eadar-aghaidh +STR_CONFIG_SETTING_INTERFACE_GENERAL :{ORANGE}Coitcheann +STR_CONFIG_SETTING_INTERFACE_VIEWPORTS :{ORANGE}Puirt-sheallaidh +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Togail +STR_CONFIG_SETTING_ADVISORS :{ORANGE}Comhairlean / Fiosrachadh +STR_CONFIG_SETTING_COMPANY :{ORANGE}Companaidh +STR_CONFIG_SETTING_ACCOUNTING :{ORANGE}Cunntasachd STR_CONFIG_SETTING_VEHICLES :{ORANGE}Carbadan -STR_CONFIG_SETTING_STATIONS :{ORANGE}Stèiseanan -STR_CONFIG_SETTING_ECONOMY :{ORANGE}Eaconamaidh -STR_CONFIG_SETTING_LINKGRAPH :{ORANGE}Sgaoileadh carago -STR_CONFIG_SETTING_AI :{ORANGE}Co-farpaisichean -STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}Taisbeanadh -STR_CONFIG_SETTING_INTERACTION :{ORANGE}Eadar-ghnìomh -STR_CONFIG_SETTING_SOUND :{ORANGE}Èifeachdan fuaime -STR_CONFIG_SETTING_NEWS :{ORANGE}Naidheachdan is brathan -STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}Comharran -STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE}Làimhseachadh carago -STR_CONFIG_SETTING_AI_NPC :{ORANGE}Cluicheadairean coimpiutair -STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE}Fèin-nuadhachadh -STR_CONFIG_SETTING_VEHICLES_SERVICING :{ORANGE}Obair-ghlèidhidh +STR_CONFIG_SETTING_VEHICLES_PHYSICS :{ORANGE}Fiosaigeachd STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Lorg shlighean -STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}Trèanaichean -STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}Bailtean -STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}Gnìomhachasan +STR_CONFIG_SETTING_LIMITATIONS :{ORANGE}Cuingeachaidhean +STR_CONFIG_SETTING_ACCIDENTS :{ORANGE}Dunaidh / Tubaistean +STR_CONFIG_SETTING_GENWORLD :{ORANGE}Gintinn saoghail +STR_CONFIG_SETTING_ENVIRONMENT :{ORANGE}Àrainneachd +STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :{ORANGE}Ùghdarrasan +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Bailtean +STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}Gnìomhachasan +STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :{ORANGE}Sgaoileadh carago +STR_CONFIG_SETTING_AI :{ORANGE}Co-farpaisichean +STR_CONFIG_SETTING_AI_NPC :{ORANGE}Cluicheadairean coimpiutair STR_CONFIG_SETTING_PATHFINDER_OPF :Tùsail STR_CONFIG_SETTING_PATHFINDER_NPF :NPF @@ -1902,7 +1937,7 @@ STR_INTRO_MULTIPLAYER :{BLACK}Ioma-chl STR_INTRO_GAME_OPTIONS :{BLACK}Roghainnean a' gheama STR_INTRO_HIGHSCORE :{BLACK}Clàr nan sgòran àrda -STR_INTRO_ADVANCED_SETTINGS :{BLACK}Roghainnean adhartach +STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Roghainnean STR_INTRO_NEWGRF_SETTINGS :{BLACK}Roghainnean NewGRF STR_INTRO_ONLINE_CONTENT :{BLACK}Susbaint air loidhne STR_INTRO_SCRIPT_SETTINGS :{BLACK}Roghainnean sgriobt IF/Geama @@ -1922,7 +1957,7 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Tagh an STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Seall roghainnean a' gheama STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Seall clàr nan sgòran àrda -STR_INTRO_TOOLTIP_ADVANCED_SETTINGS :{BLACK}Seall na roghainnean adhartach +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Roghainnean an t-seallaidh STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Seall na roghainnean NewGRF STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Thoir sùil airson susbainte ùire no air a h-ùrachadh ri luchdadh a-nuas STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Seall roghainnean sgriobt IF/geama @@ -1962,6 +1997,8 @@ STR_CHEAT_CHANGE_COMPANY :{LTBLUE}A' clui STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Bulldozer draoidheach (thoir air falbh gnìomhachasan, oibseactan do-ghluasad): {ORANGE}{STRING} STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}Faodaidh tunailean dol tarsainn càch a chèile: {ORANGE}{STRING} STR_CHEAT_NO_JETCRASH :{LTBLUE}Cha tachair tubaist (gu tric) le steall-phlèan air port-adhair beag: {ORANGE}{STRING} +STR_CHEAT_EDIT_MAX_HL :{LTBLUE}Deasaich àirde as motha a’ mhapa: {ORANGE}{NUM} +STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{BLACK}Deasaich an àirde as motha dhe bheanntan air a’ mhapa STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE :Cruth-tìre measarra STR_CHEAT_SWITCH_CLIMATE_SUB_ARCTIC_LANDSCAPE :Cruth-tìre fo-artach STR_CHEAT_SWITCH_CLIMATE_SUB_TROPICAL_LANDSCAPE :Cruth-tìre fo-thropaigeach @@ -2010,6 +2047,7 @@ STR_LIVERY_FREIGHT_TRAM :Trama carago STR_FACE_CAPTION :{WHITE}Taghadh aodainn STR_FACE_CANCEL_TOOLTIP :{BLACK}Sguir dhen taghadh aodainn ùir STR_FACE_OK_TOOLTIP :{BLACK}Gabh ris an taghadh aodainn ùir +STR_FACE_RANDOM :{BLACK}Cuir sìol air thuaiream STR_FACE_MALE_BUTTON :{BLACK}Fireannach STR_FACE_MALE_TOOLTIP :{BLACK}Tagh aodann fireannaich @@ -2479,7 +2517,7 @@ STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Tog rath STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Tog trèan-lann (gus trèanaichean a cheannach no obair-chàraidh a dhèanamh orra). Toglaidh Shift togail/sealladh air tuairmse chosgaisean STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Dèan puing-thurais dhe rèile. Ceanglaidh Ctrl puingean-turais ri chèile. Toglaidh Shift togail/sealladh air tuairmse chosgaisean STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Tog stèisean. Ceanglaidh Ctrl stèiseanan ri chèile. Toglaidh Shift togail/sealladh air tuairmse chosgaisean -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Tog comharran rèile. Toglaidh Ctrl eadar comharran saimeafoir/solais{}Slaod gus comharran a thogail rè slighe rèile dìrich. Togaidh Ctrl comharran gu ruige an ath ghobhail{}Toglaidh Ctrl+briogadh a bheil uinneag taghadh nan comharran fosgailte. Toglaidh Shift togail/sealladh air tuairmse chosgaisean +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Tog comharran rèile. Toglaidh Ctrl eadar comharran saimeafoir/solais{}Slaod gus comharran a thogail rè slighe rèile dìrich. Togaidh Ctrl comharran gu ruige an ath ghobhail no comharra{}Toglaidh Ctrl+briogadh a bheil uinneag taghadh nan comharran fosgailte. Toglaidh Shift togail/sealladh air tuairmse chosgaisean STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Tog drochaid rèile. Toglaidh Shift togail/sealladh air tuairmse chosgaisean STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Tog tunail rèile. Toglaidh Shift togail/sealladh air tuairmse chosgaisean STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Toglaich togail/toirt air falbh airson slighe-rèile, comharran, puingean-turais is stèiseanan. Cùm Ctrl sìos gus rèile nam puingean-turais is stèiseanan a thoirt air falbh cuideachd @@ -2878,7 +2916,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-2014 An sgioba OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 An sgioba OpenTTD # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Sàbhail an geama @@ -2913,13 +2951,12 @@ STR_MAPGEN_BY :{BLACK}* STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Bailtean: STR_MAPGEN_DATE :{BLACK}Ceann-latha: STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Gnìomhachasan: +STR_MAPGEN_MAX_HEIGHTLEVEL :{BLACK}Àirde as motha a’ mhapa +STR_MAPGEN_MAX_HEIGHTLEVEL_UP :{BLACK}Meudaich an àirde as motha dhe bheanntan air a’ mhapa le a h-aon +STR_MAPGEN_MAX_HEIGHTLEVEL_DOWN :{BLACK}Lùghdaich an àirde as motha dhe bheanntan air a’ mhapa le a h-aon STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}Àirde na loidhne-shneachda: STR_MAPGEN_SNOW_LINE_UP :{BLACK}Gluais an loidhne-shneachda suas aon cheum STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}Gluais an loidhne-shneachda sìos aon cheum -STR_MAPGEN_RANDOM_SEED :{BLACK}Sìol air thuaiream: -STR_MAPGEN_RANDOM_SEED_HELP :{BLACK}Briog gus sìol air thuaiream a chur a-steach -STR_MAPGEN_RANDOM :{BLACK}Cuir sìol air thuaiream -STR_MAPGEN_RANDOM_HELP :{BLACK}Atharraich an sìol air thuaiream a thèid a chleachdadh gus cruth-tìre a ghintinn STR_MAPGEN_LAND_GENERATOR :{BLACK}Gineadair crutha-thìre: STR_MAPGEN_TREE_PLACER :{BLACK}Algairim chraobhan: STR_MAPGEN_TERRAIN_TYPE :{BLACK}Seòrsa a' chrutha-thìre: @@ -2946,7 +2983,7 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Ainm a' STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Meud: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} -STR_MAPGEN_RANDOM_SEED_OSKTITLE :{BLACK}Cuir a-steach sìol air thuaiream +STR_MAPGEN_MAX_HEIGHTLEVEL_QUERY_CAPT :{WHITE}Atharraich an àirde as motha air mapa STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}Atharraich àirde na loidhne-shneachda STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Atharraich am bliadhna-tòiseachaidh @@ -3001,6 +3038,8 @@ STR_NEWGRF_SETTINGS_MOVEUP :{BLACK}Gluais s STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP :{BLACK}Gluais am faidhle NewGRF a thagh thu suas san liosta STR_NEWGRF_SETTINGS_MOVEDOWN :{BLACK}Gluais sìos STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP :{BLACK}Gluais am faidhle NewGRF a thagh thu sìos san liosta +STR_NEWGRF_SETTINGS_UPGRADE :{BLACK}Àrdaich +STR_NEWGRF_SETTINGS_UPGRADE_TOOLTIP :{BLACK}Àrdaich faidhlichean NewGRF dhen a bheil tionndadh as ùire stàlaichte agad STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}Liosta dhe na faidhlichean NewGRF a tha stàlaichte STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}Suidhich paramadairean @@ -3025,6 +3064,16 @@ STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Cha deach STR_NEWGRF_SETTINGS_DISABLED :{RED}À comas STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Neo-chòrdail ris an tionndadh seo dhe OpenTTD +# NewGRF save preset window +STR_SAVE_PRESET_CAPTION :{WHITE}Sàbhail ro-shocrachadh +STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK}Liosta dhe na ro-shocrachaidhean ri làimh, tagh fear gus lethbhreac dheth a chur gun ainm sàbhalaidh gu h-ìosal +STR_SAVE_PRESET_TITLE :{BLACK}Cuir a-steach ainm an ro-shocrachaidh +STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}An t-ainm a chaidh a thaghadh an-dràsta gus an ro-shocrachadh a shàbhaladh ann +STR_SAVE_PRESET_CANCEL :{BLACK}Sguir dheth +STR_SAVE_PRESET_CANCEL_TOOLTIP :{BLACK}Na atharraich an ro-shocrachadh +STR_SAVE_PRESET_SAVE :{BLACK}Sàbhail +STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}Sàbhail an ro-shocrachadh dhan ainm air a thaghadh an-dràsta + # NewGRF parameters window STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Atharraich paramadairean NewGRF STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Dùin @@ -3048,14 +3097,17 @@ STR_NEWGRF_INSPECT_QUERY_CAPTION :{WHITE}Paramada # Sprite aligner window STR_SPRITE_ALIGNER_CAPTION :{WHITE}A' co-thaobhachadh sprite {COMMA} ({STRING}) STR_SPRITE_ALIGNER_NEXT_BUTTON :{BLACK}An t-ath sprite -STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Lean air adhart dhan ath sprite àbhaisteach, a' gearradh leum thairis air sprites mas fhìor/ath-dhathaidh/crutha-chlò is a' pasgadh aig an deireadh +STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Lean air adhart dhan ath sprite àbhaisteach, a' gearradh leum thairis air sprites mas fhìor/ath-dhathaidh/crutha-chlò is a' pasgadh aig an deireadh gun chiad sprite STR_SPRITE_ALIGNER_GOTO_BUTTON :{BLACK}Rach dhan sprite STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}Rach dhan sprite a thagh thu. Mura h-e sprite àbhaisteach a th' ann, lean air adhart dhan ath-sprite àbhaisteach STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}An sprite roimhe -STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Lean air adhart dhan sprite àbhaisteach roimhe, a' gearradh leum thairis air sprites mas fhìor/ath-dhathaidh/crutha-chlò is a' pasgadh aig an toiseach +STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Lean air adhart dhan sprite àbhaisteach roimhe, a' gearradh leum thairis air sprites mas fhìor/ath-dhathaidh/crutha-chlò is a' pasgadh aig an toiseach gun sprite mu dheireadh STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Riochdachadh air an sprite a thagh thu an-dràsta. Thèid an co-thaobhadh a chur dhan dàrna taobh nuair a thèid an sprite a tharraing STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Gluais an sprite mu thimcheall, ag atharrachadh nam frith-àireamhan aig X is Y -STR_SPRITE_ALIGNER_OFFSETS :{BLACK}Frith-àireamh X: {NUM}, frith-àireamh Y: {NUM} +STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Ath-shuidhich na frith-àireamhean dàimheach +STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Ath-shuidhich na frith-àireamhean dàimheach làithreach +STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}frith-àireamh X: {NUM}, frith-àireamh Y: {NUM} (absaloideach) +STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}frith-àireamh X: {NUM}, frith-àireamh Y: {NUM} (dàimheach) STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Tagh sprite STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Tagh sprite bho àite sam bith air an sgrìn @@ -3167,8 +3219,8 @@ STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{BLACK}Feum air STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} air a lìbhrigeadh STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (a dhìth fhathast) STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (air lìbhrigeadh) -STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Fàsaidh am baile gach uile {ORANGE}{COMMA}{BLACK} latha -STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Fàsaidh am baile gach uile {ORANGE}{COMMA}{BLACK} latha (maoinichte) +STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Fàsaidh am baile gach uile {ORANGE}{COMMA}{BLACK}{NBSP}latha +STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Fàsaidh am baile gach uile {ORANGE}{COMMA}{BLACK}{NBSP}latha (maoinichte) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{RED}Chan eil {BLACK}am baile a' fàs STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Cuingeachaidhean fuaime sa bhaile: {ORANGE}{COMMA}{BLACK} air a char as motha: {ORANGE}{COMMA} STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Meadhanaich am prìomh-shealladh air a' bhaile. Fosglaidh Ctrl+briogadh port-seallaidh ùr air ionad a' bhaile @@ -3228,7 +3280,7 @@ STR_GOAL_QUESTION_CAPTION_INFORMATION :Fiosrachadh STR_GOAL_QUESTION_CAPTION_WARNING :Rabhadh STR_GOAL_QUESTION_CAPTION_ERROR :Mearachd -### Start of Goal Question button list +############ Start of Goal Question button list STR_GOAL_QUESTION_BUTTON_CANCEL :Sguir dheth STR_GOAL_QUESTION_BUTTON_OK :Ceart ma-thà STR_GOAL_QUESTION_BUTTON_NO :Chan eil @@ -3247,6 +3299,7 @@ STR_GOAL_QUESTION_BUTTON_RESTART :Ath-thòisich STR_GOAL_QUESTION_BUTTON_POSTPONE :Cuir na dhàil STR_GOAL_QUESTION_BUTTON_SURRENDER :Gèill STR_GOAL_QUESTION_BUTTON_CLOSE :Dùin +############ End of Goal Question button list # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}Tarrailean @@ -3282,7 +3335,6 @@ STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}Chan eil # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} -STR_STATION_VIEW_WAITING_TITLE :{BLACK}A' feitheamh: {WHITE}{STRING} STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} bho {STATION}) STR_STATION_VIEW_RESERVED :{YELLOW}({CARGO_SHORT} glèidhte airson luchdadh) @@ -3526,7 +3578,7 @@ STR_GROUP_DEFAULT_ROAD_VEHICLES :Carbadan-rathai STR_GROUP_DEFAULT_SHIPS :Longan gun bhuidheann STR_GROUP_DEFAULT_AIRCRAFTS :Carbadan-adhair gun bhuidheann -STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Buidhnean - briog air buidheann gus a h-uile carbad a tha sa bhuidheann seo a shealltainn +STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Buidhnean - briog air buidheann gus a h-uile carbad a tha sa bhuidheann seo a shealltainn. Slaod buidhnean ’s leig às iad gus an rangachd atharrachadh. STR_GROUP_CREATE_TOOLTIP :{BLACK}Briog gus buidheann a chruthachadh STR_GROUP_DELETE_TOOLTIP :{BLACK}Sguab às dhan bhuidheann a thagh thu STR_GROUP_RENAME_TOOLTIP :{BLACK}Thoir ainm ùr air a' bhuidheann a thagh thu @@ -3572,10 +3624,10 @@ STR_PURCHASE_INFO_ALL_BUT :Na h-uile ach { 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_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Roghainn nan carbadan-rèile - briog air carbad airson fiosrachaidh -STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Roghainn nan carbadan-rathaid - briog air carbad airson fiosrachaidh -STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Roghainn nan long - briog air long airson fiosrachaidh -STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Roghainn nan carbadan-adhair - briog air carbad airson fiosrachaidh +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 +STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Liosta airson longan a thaghadh. Briog air long airson fiosrachaidh. Ctrl+briog gus toglachadh an tèid seòrsa na luinge fhalach gus nach tèid +STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Liosta airson carbadan-adhair 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_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}Ceannaich carbad STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Ceannaich carbad @@ -3597,6 +3649,21 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Thoir ai STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Thoir ainm ùr air an t-seòrsa dhe long STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Thoir ainm ùr air an t-seòrsa dhe charbad-adhair +STR_BUY_VEHICLE_TRAIN_HIDE_TOGGLE_BUTTON :{BLACK}Falaich +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_TOGGLE_BUTTON :{BLACK}Falaich +STR_BUY_VEHICLE_SHIP_HIDE_TOGGLE_BUTTON :{BLACK}Falaich +STR_BUY_VEHICLE_AIRCRAFT_HIDE_TOGGLE_BUTTON :{BLACK}Falaich + +STR_BUY_VEHICLE_TRAIN_SHOW_TOGGLE_BUTTON :{BLACK}Seall +STR_BUY_VEHICLE_ROAD_VEHICLE_SHOW_TOGGLE_BUTTON :{BLACK}Seall +STR_BUY_VEHICLE_SHIP_SHOW_TOGGLE_BUTTON :{BLACK}Seall +STR_BUY_VEHICLE_AIRCRAFT_SHOW_TOGGLE_BUTTON :{BLACK}Seall + +STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Toglaich falach/sealltainn seòrsa a’ charbaid-rèile +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Toglaich falach/sealltainn seòrsa a’ charbaid-rathaid +STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Toglaich falach/sealltainn seòrsa na luinge +STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Toglaich falach/sealltainn seòrsa a’ charbaid-adhair + STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}Thoir ainm ùr air an t-seòrsa dhe charbad-rèile STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}Thoir ainm ùr air an t-seòrsa dhe charbad-rathaid STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}Thoir ainm ùr air an t-seòrsa dhe long @@ -3701,6 +3768,11 @@ STR_REPLACE_VEHICLE_ROAD_VEHICLE :Carbad-rathaid STR_REPLACE_VEHICLE_SHIP :{G=f}Long STR_REPLACE_VEHICLE_AIRCRAFT :Carbad-adhair +STR_REPLACE_VEHICLE_VEHICLES_IN_USE :{YELLOW}Carbadan ’gan cleachdadh +STR_REPLACE_VEHICLE_VEHICLES_IN_USE_TOOLTIP :{BLACK}Colbh le carbadan a tha leatsa +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES :{YELLOW}Carbadan ri làimh +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES_TOOLTIP :{BLACK}Colbh le carbadan ri làimh airson cur ’na àite + STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Tagh seòrsa an einnsein airson leasachadh STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Tagh an seòrsa ùr dhen einnsean a bu toil leat a chleachdadh an àite an fhir a thagh thu air an taobh chlì @@ -3825,7 +3897,7 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Tomhas-l STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Creideas tar-aisig: {LTBLUE}{CURRENCY_LONG} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Tricead na h-obrach-glèidhidh: {LTBLUE}{COMMA} {P latha latha làithean latha}{BLACK} An obair-ghlèidhidh mu dheireadh: {LTBLUE}{DATE_LONG} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Tricead na h-obrach-glèidhidh: {LTBLUE}{COMMA}{NBSP}{P latha latha làithean latha}{BLACK} An obair-ghlèidhidh mu dheireadh: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Tricead na h-obrach-glèidhidh: {LTBLUE}{COMMA}%{BLACK} An obair-ghlèidhidh mu dheireadh: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Meudaich tricead na h-obrach-glèidhidh le 10. Meudaichidh Ctrl+briogadh tricead na h-obrach-glèidhidh le 5 STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Lùghdaich tricead na h-obrach-glèidhidh le 10. Lùghdaichidh Ctrl+briogadh tricead na h-obrach-glèidhidh le 5 @@ -3923,8 +3995,8 @@ STR_ORDER_TOOLTIP_UNLOAD :{BLACK}Atharrai STR_ORDER_REFIT :{BLACK}Mùth STR_ORDER_REFIT_TOOLTIP :{BLACK}Tagh an seòrsa dhe charago ’s tu airson mùthadh air a shon leis an òrdugh seo. Dèan Ctrl+briogadh gus an t-òrdugh mùthaidh a thoirt air falbh -STR_ORDER_REFIT_AUTO :{BLACK}Fèin-mhùth -STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Tagh an seòrsa dhe charago ’s tu airson fèin-mhùthadh air a shon leis an òrdugh seo. Dèan Ctrl+briogadh gus an t-òrdugh mùthaidh a thoirt air falbh. Cha tèid fèin-mhùthadh a dhèanamh ach ma tha an carbad comasach +STR_ORDER_REFIT_AUTO :{BLACK}Mùth aig stèisean +STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Tagh an seòrsa dhe charago ’s tu airson mùthadh air a shon leis an òrdugh seo. Dèan Ctrl+briogadh gus an t-òrdugh mùthaidh a thoirt air falbh. Cha tèid mùthadh a dhèanamh aig stèisean ach ma tha an carbad comasach air STR_ORDER_DROP_REFIT_AUTO :Carago stèidhichte STR_ORDER_DROP_REFIT_AUTO_ANY :Carago ri làimh @@ -4015,15 +4087,15 @@ STR_ORDER_NO_UNLOAD_FULL_LOAD :(Na dì-luchdai STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY :(Na dì-luchdaich is feitheamh air carago sam bith iomlan) STR_ORDER_NO_UNLOAD_NO_LOAD :(Na dì-luchdaich is na luchdaich) -STR_ORDER_AUTO_REFIT :(Fèin-mhùth airson {STRING}) -STR_ORDER_FULL_LOAD_REFIT :(Luchdadh iomlan le fèin-mhùthadh airson {STRING}) -STR_ORDER_FULL_LOAD_ANY_REFIT :(Luchdadh iomlan aig carago sam bith le fèin-mhùthadh airson {STRING}) -STR_ORDER_UNLOAD_REFIT :(Dì-luchdaich is gabh ri carago le fèin-mhùthadh airson {STRING}) -STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(Dì-luchdaich is feitheamh air luchdadh iomlan le fèin-mhùthadh airson {STRING}) -STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(Dì-luchdaich is feitheamh air luchdadh sam bith iomlan le fèin-mhùthadh airson {STRING}) -STR_ORDER_TRANSFER_REFIT :(Tar-aisig is gabh ri carago le fèin-mhùthadh airson {STRING}) -STR_ORDER_TRANSFER_FULL_LOAD_REFIT :(Tar-aisig is feitheamh air carago iomlan le fèin-mhùthadh airson {STRING}) -STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :(Tar-aisig is feitheamh air carago sam bith iomlan le fèin-mhùthadh airson {STRING}) +STR_ORDER_AUTO_REFIT :(Mùth airson {STRING}) +STR_ORDER_FULL_LOAD_REFIT :(Luchdadh iomlan le mùthadh airson {STRING}) +STR_ORDER_FULL_LOAD_ANY_REFIT :(Luchdadh iomlan aig carago sam bith le mùthadh airson {STRING}) +STR_ORDER_UNLOAD_REFIT :(Dì-luchdaich is gabh ri carago le mùthadh airson {STRING}) +STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(Dì-luchdaich is feitheamh air luchdadh iomlan le mùthadh airson {STRING}) +STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(Dì-luchdaich is feitheamh air luchdadh sam bith iomlan le mùthadh airson {STRING}) +STR_ORDER_TRANSFER_REFIT :(Tar-aisig is gabh ri carago le mùthadh airson {STRING}) +STR_ORDER_TRANSFER_FULL_LOAD_REFIT :(Tar-aisig is feitheamh air carago iomlan le mùthadh airson {STRING}) +STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :(Tar-aisig is feitheamh air carago sam bith iomlan le mùthadh airson {STRING}) STR_ORDER_NO_UNLOAD_REFIT :(Na dì-luchdaich is gabh ri carago le fèin-mhùthadh airson {STRING}) STR_ORDER_NO_UNLOAD_FULL_LOAD_REFIT :(Na dì-luchdaich is feitheamh air carago iomlan le fèin-mhùthadh airson {STRING}) STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY_REFIT :(Na dì-luchdaich is feitheamh air carago sam bith iomlan le fèin-mhùthadh airson {STRING}) @@ -4055,10 +4127,14 @@ STR_TIMETABLE_TRAVEL_NOT_TIMETABLED :Siubhail (gun c STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Siubhal le {2:VELOCITY} as motha (gun chlàr-ama) STR_TIMETABLE_TRAVEL_FOR :Siubhail fad {STRING} STR_TIMETABLE_TRAVEL_FOR_SPEED :Siubhail fad {STRING} le {VELOCITY} as motha +STR_TIMETABLE_TRAVEL_FOR_ESTIMATED :Siubhail (fad {STRING} gun chlàr-ama) +STR_TIMETABLE_TRAVEL_FOR_SPEED_ESTIMATED :Siubhail (fad {STRING} gun chlàr-ama) le {VELOCITY} air a char as luaithe +STR_TIMETABLE_STAY_FOR_ESTIMATED :(fuirich fad {STRING} gun chlàr-ama) +STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(siubhail fad {STRING} gun chlàr-ama) STR_TIMETABLE_STAY_FOR :is fuirich fad {STRING} STR_TIMETABLE_AND_TRAVEL_FOR :is siubhail fad {STRING} -STR_TIMETABLE_DAYS :{COMMA} {P latha latha làithean latha} -STR_TIMETABLE_TICKS :{COMMA} {P diog dhiog diogan diog} +STR_TIMETABLE_DAYS :{COMMA}{NBSP}{P latha latha làithean latha} +STR_TIMETABLE_TICKS :{COMMA}{NBSP}{P diog dhiog diogan diog} STR_TIMETABLE_TOTAL_TIME :{BLACK}Bheir an clàr-ama seo {STRING} airson coileanadh STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}Bheir an clàr-ama seo {STRING} air a char as lugha airson coileanadh (cuid dheth gun chlàr-ama) @@ -4296,6 +4372,7 @@ STR_ERROR_EXCAVATION_WOULD_DAMAGE :{WHITE}Bhiodh a STR_ERROR_ALREADY_AT_SEA_LEVEL :{WHITE}... air àirde na mara mu thràth STR_ERROR_TOO_HIGH :{WHITE}... ro àrd STR_ERROR_ALREADY_LEVELLED :{WHITE}... rèidh mu thràth +STR_ERROR_BRIDGE_TOO_HIGH_AFTER_LOWER_LAND :{WHITE}Bhiodh a drochaid os a chionn ro àird an uairsin. # Company related errors STR_ERROR_CAN_T_CHANGE_COMPANY_NAME :{WHITE}Cha ghabh ainm na companaidh atharrachadh... @@ -4322,7 +4399,7 @@ STR_ERROR_TOO_CLOSE_TO_EDGE_OF_MAP_SUB :{WHITE}... ro f STR_ERROR_TOO_CLOSE_TO_ANOTHER_TOWN :{WHITE}... ro fhaisg air baile eile STR_ERROR_TOO_MANY_TOWNS :{WHITE}... tha cus bhailtean ann STR_ERROR_NO_SPACE_FOR_TOWN :{WHITE}... chan eil rum air fhàgail air a' mhapa -STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}Cha tog am baile rathad sam bith. ’S urrainn dhut togail rathaidean a chur an comas le Roghainnean adhartach->Eaconamaidh->Bailtean +STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}Cha tog am baile rathad sam bith. ’S urrainn dhut togail rathaidean a chur an comas le Roghainnean->Àrainneachd->Bailtean STR_ERROR_ROAD_WORKS_IN_PROGRESS :{WHITE}Rathad ga ath-thogail STR_ERROR_TOWN_CAN_T_DELETE :{WHITE}Cha ghabh am baile seo sguabadh às...{}Tha stèisean no port no garaids no trèan-lann no cala no hangar a' toirt iomradh air a' bhaile no tha leac ann a tha leis a' bhaile is nach gabh toirt air falbh STR_ERROR_STATUE_NO_SUITABLE_PLACE :{WHITE}... chan eil ionad freagarrach airson ìomhaigh ann am meadhan a' bhaile seo @@ -4346,6 +4423,9 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... cha STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... cha ghabh seo togail ach os cionn na loidhne-sneachda STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... cha ghabh seo togail ach fon loidhne-shneachda +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}Chan eil àite iomchaidh gus gnìomhachas “{STRING}” a chur ann +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Atharraich na roghainnean aig gineadair a’ mhapa gus mapa nas fhearr fhaighinn + # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Cha ghabh stèisean-rèile togail an-seo... STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}Cha ghabh stèisean bus togail... @@ -4482,6 +4562,7 @@ STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Feumaidh STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}Chan urrainn dhut tòiseachadh is crìochnachadh air an aon àite STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}Chan eil an dà cheann aig an drochaid air an aon àirde STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}Tha an drochaid ro ìosal airson a' chrutha-tìre seo +STR_ERROR_BRIDGE_TOO_HIGH_FOR_TERRAIN :{WHITE}Tha an drochaid ro àrd airson a’ chrutha-thìre seo. STR_ERROR_START_AND_END_MUST_BE_IN :{WHITE}Feumaidh an toiseach is a' chrìoch a bhith air an aon loidhne STR_ERROR_ENDS_OF_BRIDGE_MUST_BOTH :{WHITE}... feumaidh an dà cheann aig an drochaid a bhith air tìr STR_ERROR_BRIDGE_TOO_LONG :{WHITE}... tha an drochaid ro fhada @@ -5202,6 +5283,7 @@ STR_COMPANY_NAME :{COMPANY} STR_COMPANY_NAME_COMPANY_NUM :{COMPANY} {COMPANY_NUM} STR_DEPOT_NAME :{DEPOT} STR_ENGINE_NAME :{ENGINE} +STR_HIDDEN_ENGINE_NAME :{ENGINE} (falaichte) STR_GROUP_NAME :{GROUP} STR_INDUSTRY_NAME :{INDUSTRY} STR_PRESIDENT_NAME :{PRESIDENT_NAME} @@ -5237,8 +5319,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -5250,9 +5330,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/galician.txt b/src/lang/galician.txt index c3892e4a26..026a8fcc53 100644 --- a/src/lang/galician.txt +++ b/src/lang/galician.txt @@ -249,6 +249,17 @@ STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Barra de STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Barra de desprazamento - despraza a lista a esquerda/dereita STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Demoler edificios, etc. nun cadrado de terreo. Ctrl selecciona a área en diagonal. Shift alterna construir/amosar custo estimado +# Show engines button +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}Amosar os agochados +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK}Amosar os agochados +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}Amosar os agochados +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}Amosar os agochados + +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}Habilitando este botón, os trens agochados serán tamén amosados +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE_TOOLTIP :{BLACK}Habilitando este botón, os vehículos rodados ocultos serán tamén amosados +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}Habilitando este botón, os barcos agochados serán tamén amosados +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Habilitando este botón, as aeronaves agochadas serán amosadas + # Query window STR_BUTTON_DEFAULT :{BLACK}Por defecto STR_BUTTON_CANCEL :{BLACK}Cancelar @@ -362,7 +373,7 @@ STR_SCENEDIT_FILE_MENU_QUIT :Saír ############ range for settings menu starts STR_SETTINGS_MENU_GAME_OPTIONS :Opcións do xogo -STR_SETTINGS_MENU_CONFIG_SETTINGS :Configuración avanzada +STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Opcións STR_SETTINGS_MENU_SCRIPT_SETTINGS :Configuración da IA/scripts STR_SETTINGS_MENU_NEWGRF_SETTINGS :Configuración NewGRF STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Opcións de transparencia @@ -471,7 +482,7 @@ STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Activa/desactiv STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Activa/desactiva o coloreado de bloques modificados ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window STR_ORDINAL_NUMBER_1ST :1º STR_ORDINAL_NUMBER_2ND :2º STR_ORDINAL_NUMBER_3RD :3º @@ -487,22 +498,40 @@ STR_ORDINAL_NUMBER_12TH :12º STR_ORDINAL_NUMBER_13TH :13º STR_ORDINAL_NUMBER_14TH :14º STR_ORDINAL_NUMBER_15TH :15º -STR_ORDINAL_NUMBER_16TH :16º -STR_ORDINAL_NUMBER_17TH :17º -STR_ORDINAL_NUMBER_18TH :18º -STR_ORDINAL_NUMBER_19TH :19º -STR_ORDINAL_NUMBER_20TH :20º -STR_ORDINAL_NUMBER_21ST :21º -STR_ORDINAL_NUMBER_22ND :22º -STR_ORDINAL_NUMBER_23RD :23º -STR_ORDINAL_NUMBER_24TH :24º -STR_ORDINAL_NUMBER_25TH :25º -STR_ORDINAL_NUMBER_26TH :26º -STR_ORDINAL_NUMBER_27TH :27º -STR_ORDINAL_NUMBER_28TH :28º -STR_ORDINAL_NUMBER_29TH :29º -STR_ORDINAL_NUMBER_30TH :30º -STR_ORDINAL_NUMBER_31ST :31º +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :1º +STR_DAY_NUMBER_2ND :2º +STR_DAY_NUMBER_3RD :3º +STR_DAY_NUMBER_4TH :4º +STR_DAY_NUMBER_5TH :5º +STR_DAY_NUMBER_6TH :6º +STR_DAY_NUMBER_7TH :7º +STR_DAY_NUMBER_8TH :8º +STR_DAY_NUMBER_9TH :9º +STR_DAY_NUMBER_10TH :10º +STR_DAY_NUMBER_11TH :11º +STR_DAY_NUMBER_12TH :12º +STR_DAY_NUMBER_13TH :13º +STR_DAY_NUMBER_14TH :14º +STR_DAY_NUMBER_15TH :15º +STR_DAY_NUMBER_16TH :16º +STR_DAY_NUMBER_17TH :17º +STR_DAY_NUMBER_18TH :18º +STR_DAY_NUMBER_19TH :19º +STR_DAY_NUMBER_20TH :20º +STR_DAY_NUMBER_21ST :21º +STR_DAY_NUMBER_22ND :22º +STR_DAY_NUMBER_23RD :23º +STR_DAY_NUMBER_24TH :24º +STR_DAY_NUMBER_25TH :25º +STR_DAY_NUMBER_26TH :26º +STR_DAY_NUMBER_27TH :27º +STR_DAY_NUMBER_28TH :28º +STR_DAY_NUMBER_29TH :29º +STR_DAY_NUMBER_30TH :30º +STR_DAY_NUMBER_31ST :31º ############ range for days ends ############ range for months starts @@ -811,13 +840,11 @@ STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}{VEHICLE STR_NEWS_SHIP_IS_WAITING :{WHITE}{VEHICLE} está a esperar no depósito STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE} está a esperar no hangar -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE +# Order review system / warnings STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE} ten moi poucas ordes no programa STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE} ten unha orde nula STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE} ten ordes duplicadas STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE} ten unha estación inválida nas súas ordes -# end of order system STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} está a volverse vello STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} está a volverse moi vello @@ -900,10 +927,6 @@ STR_GAME_OPTIONS_CURRENCY_GEL :Lari xeorxiano STR_GAME_OPTIONS_CURRENCY_IRR :Real iraniano (IRR) ############ end of currency region - -############ start of measuring units region -############ end of measuring units region - STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Vehículos de estrada STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}Selecciona o lado da estrada polo que circularán os vehículos STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :Conducir pola esquerda @@ -939,11 +962,13 @@ STR_GAME_OPTIONS_TOWN_NAME_CATALAN :Catalán STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Autogravado STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Selecciona o intervalo entre autogravados +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Apagado STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :Cada mes STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :Cada 3 meses STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :Cada 6 meses STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :Cada 12 meses +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}Lingua STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Selecciona a lingua para a interface @@ -955,8 +980,11 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}Resoluci STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Selecciona a resolución de pantalla a empregar STR_GAME_OPTIONS_RESOLUTION_OTHER :outra -STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}Formato capturas de pantalla -STR_GAME_OPTIONS_SCREENSHOT_FORMAT_TOOLTIP :{BLACK}Selecciona o formato a empregar nas capturas de pantalla +STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Tamaño da interface +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Seleciona o tamaño de elementos da interface a usar + +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normal +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Dobre tamaño STR_GAME_OPTIONS_BASE_GRF :{BLACK}Conxunto básico de gráficos STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Selecciona o conxunto de gráficos básico a empregar @@ -972,6 +1000,7 @@ STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Seleccio STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} arquivo{P "" s} corrupto{P "" s} STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Información adicional sobre o conxunto de música base +STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Erro ao obter a lista de resolucións soportadas STR_ERROR_FULLSCREEN_FAILED :{WHITE}O modo de pantalla completa fallou # Custom currency window @@ -1050,6 +1079,7 @@ STR_TERRAIN_TYPE_VERY_FLAT :Moi chan STR_TERRAIN_TYPE_FLAT :Chan STR_TERRAIN_TYPE_HILLY :Accidentado STR_TERRAIN_TYPE_MOUNTAINOUS :Montañoso +STR_TERRAIN_TYPE_ALPINIST :Alpinista STR_CITY_APPROVAL_PERMISSIVE :Permisiva STR_CITY_APPROVAL_TOLERANT :Tolerante @@ -1057,8 +1087,8 @@ STR_CITY_APPROVAL_HOSTILE :Hostil STR_WARNING_NO_SUITABLE_AI :{WHITE}Non hai IA adecuada dispoñíbel...{}Podes descargar varias IAs a través do sistema de contidos online -# Advanced settings window -STR_CONFIG_SETTING_CAPTION :{WHITE}Configuración avanzada +# Settings tree window +STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Opcións STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Filtrar texto: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Expandir todos STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Minimizar todos @@ -1125,8 +1155,9 @@ STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Activa os desas STR_CONFIG_SETTING_CITY_APPROVAL :Actitude das autoridades locáis cara a restruturacións de áreas: {STRING} STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Escolle ata que punto o ruido e danos medioambientais producidos polas compañias afectan á súa valoración municipal e ás próximas actividades construtivas na súa área -STR_CONFIG_SETTING_BUILDONSLOPES :Permiti-la construción en pendentes e costas: {STRING} -STR_CONFIG_SETTING_BUILDONSLOPES_HELPTEXT :Se está activado, as vías e estacións poden ser construidas na maioría das pendentes. Se se desactiva, só se permite a súa construción en pendentes coa mesma dirección +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :Altura máxima do mapa: {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :Establecer a altura máxima permitida para os montes do mapa +STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}Non podes establecer a altura máxima do mapa a este valor. Canda menos un monte do mapa é maior STR_CONFIG_SETTING_AUTOSLOPE :Permitir modificacións do terreo baixo edificios, vías, etc. (autopendente): {STRING} STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Permite modificar o terreo baixo edificacións e vías sen retiralos STR_CONFIG_SETTING_CATCHMENT :Permitir áreas de captación máis realistas: {STRING} @@ -1151,16 +1182,12 @@ STR_CONFIG_SETTING_FORBID_90_DEG :Prohibir xiros STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Os xiros de 90 graos ocorren cando unha vía horizontal vai seguida directamente dun tramo vertical no cadro adxancete, facendo que o tren vire 90 graos cando pasa o límite do cadro en vez dos 45 graos habituais noutras combinacións de vías. Esto tamén se aplica ao radio de xiro dos barcos STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Permitir a unión de estacións non adxacentes {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Permite engadir partes a unha estación sen que estén en contacto directo coas partes existente. Necesita facer Ctrl+Click ao colocar as partes novas -STR_CONFIG_SETTING_IMPROVEDLOAD :Usa-lo algoritmo de carga mellorado: {STRING} -STR_CONFIG_SETTING_IMPROVEDLOAD_HELPTEXT :Se se activa, os múltiples vehículos esperando unha estación son cargados secuencialmente. Só se inicia a carga do vehículo seguinte se hai carga suficiente para encher completamente o primeiro vehículo -STR_CONFIG_SETTING_GRADUAL_LOADING :Cargar vehículos gradualmente: {STRING} -STR_CONFIG_SETTING_GRADUAL_LOADING_HELPTEXT :Os vehículos cargan gradualmente usando os tempos de carga específicos de cada un, en vez de cargar todo dunha vez nun tempo fixado que dependa só da cantidade de produto cargado STR_CONFIG_SETTING_INFLATION :Inflación: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :Activa a inflación na economía, onde os custos medran sensibelmente máis rápido ca os pagos -STR_CONFIG_SETTING_SELECTGOODS :Descarga-la carga só cando haxa demanda: {STRING} -STR_CONFIG_SETTING_SELECTGOODS_HELPTEXT :Só se leva a carga ás estacións cando un vehículo o solicitara. Esto evita rendementos baixos para as cargas que non teñen servizo nunha estación STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Luz máxima das pontes: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :A máxima lonxitude das pontes +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :Altura máxima de pontes: {STRING} +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :Altura máxima para pontes construídas STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Lonxitude máxima de túnel: {STRING} STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :A máxima lonxitude dos túneis STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Método de construción manual de industrias primarias: {STRING} @@ -1186,8 +1213,6 @@ STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Lugar onde un t STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :extremo cercano STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :medio STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :extremo lonxano -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING :Cola para vehículos de estrada (con efecto cuantificador): {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING_HELPTEXT :Fai que os vehículos de carretera agarden fronte ás paradas ocupadas ata que quedan libres STR_CONFIG_SETTING_AUTOSCROLL :Desplaza-la fiestra cando o ratón esté no borde: {STRING} STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Cando se activa, a vista desprazarase cando o punteiro se achegue ao borde da ventá STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Descativado @@ -1218,10 +1243,6 @@ STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Permiti-la cons STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Permite a construcción de estacións pasantes sobre as rúas propiedade da cidade STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Permitir estacións pasantes sobre estradas propiedade dos competidores: {STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Permite a construción de estacións pasantes sobre estradas propiedade das outras compañías -STR_CONFIG_SETTING_ADJACENT_STATIONS :Permiti-la construción de estacións contiguas: {STRING} -STR_CONFIG_SETTING_ADJACENT_STATIONS_HELPTEXT :Permite que diferentes estacións poidan estar en contacto directo -STR_CONFIG_SETTING_DYNAMIC_ENGINES :Activar múltiples sets NewGRF de vehículos: {STRING} -STR_CONFIG_SETTING_DYNAMIC_ENGINES_HELPTEXT :Opción de compatibilidade para NewGRFs antigos. Non desactives isto, salvo que saibas exactamente o que estás a facer! STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Non é posíbel mudar esta opción cando hai vehículos STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Mantemento de infraestrutura: {STRING} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Cando se activa, a infraestrutura provoca custos de mantemento. O custo aumenta sobre-proporcionadamente co tamaño da rede, e afecta máis ás compañías máis grandes cás pequenas @@ -1267,20 +1288,26 @@ STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Distancia máxi STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :As refinarías de petróleo só se constrúen preto do borde do mapa, isto é na costa para mapas de illas STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Cota de neve: {STRING} STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Desigualdade do terreo (só TerraGenesis) : {STRING} +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(só TerraGenesis) Escolle a frequencia de montes: Suaviza as paisaxes tendo menos montes e máis espallados. Paisaxes escarpadas teñen moitos outos, que poderían semellar repetitivos STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Moi suave STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Suave STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Escabroso STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Moi escabroso +STR_CONFIG_SETTING_VARIETY :Distribución da variedade: {STRING} +STR_CONFIG_SETTING_VARIETY_HELPTEXT :(só TerraGenesis) Controla se o mapa contén áreas montañosas ou chás. Como isto só fai o mapa máis chán, outras opcións deberan ser establecidas a montañosas +STR_CONFIG_SETTING_RIVER_AMOUNT :Cantidade de ríos: {STRING} +STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Escolle cantos ríos xerar STR_CONFIG_SETTING_TREE_PLACER :Algoritmo de colocación de árbores: {STRING} +STR_CONFIG_SETTING_TREE_PLACER_HELPTEXT :Escolle a distribución das árbores no mapa: 'Orixinal' pranta ábores uniformemente espalladas, 'Mellorado' as pranta en grupos STR_CONFIG_SETTING_TREE_PLACER_NONE :Ningún STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :Orixinal STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :Mellorado +STR_CONFIG_SETTING_ROAD_SIDE :Vehículos rodados: {STRING} +STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :Escolle o senso de circulación STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Rotación do mapa de alturas: {STRING} STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Antihorario STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Horario STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :Nivel de altitude dun escenario plano: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :Activa-lo terreo nos bordes do mapa: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES_HELPTEXT :Se se desactiva, os bordes do mapa sempre serán océano STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}Un ou máis cadros no borde Norte non están baleiros STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}Un ou máis cadros nun dos bordes non é auga @@ -1331,15 +1358,15 @@ 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_AUTOSAVE :Autogravado: {STRING} +STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Selecciona o intervalo entre gravados automáticos das partidas + STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Empregar o formato de data {STRING} para os nomes das partidas gravadas STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Formato da data nos nomes das partidas gravadas STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :longo (31 Dec 2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :curto (31-12-2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE :Paleta a empregar por defecto para NewGRFs que non especifican unha paleta: {STRING} -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_HELPTEXT :Paleta a empregar por defecto para NewGRFs que non especifican a paleta que necesitan - STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Pausar automáticamente ó comezo dunha nova partida: {STRING} STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :Cando estea activado, a partida pausarase automaticamente ao comezo dun novo xogo, permitindo un estudo detallado do mapa STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Permitir {STRING} durante pausa @@ -1561,8 +1588,6 @@ STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 entre {COMMA} STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Ningunha STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Multiplicador inicial do tamaño da cidade: {STRING} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Relación entre o tamaño medio das cidades e o dos pobos ao inicio da partida -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :Elimina-los elementos absurdos das estradas en construción: {STRING} -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD_HELPTEXT :Eliminar tramos de estrada sen saída durante a reconstrución financiada das estradas STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :manual STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :asimétrica @@ -1612,27 +1637,17 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :Imperial (ft) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :Métrico (m) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :SI (m) -STR_CONFIG_SETTING_GUI :{ORANGE}Interface STR_CONFIG_SETTING_LOCALISATION :{ORANGE}Localización -STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}Construción -STR_CONFIG_SETTING_VEHICLES :{ORANGE}Vehículos -STR_CONFIG_SETTING_STATIONS :{ORANGE}Estacións -STR_CONFIG_SETTING_ECONOMY :{ORANGE}Economía -STR_CONFIG_SETTING_LINKGRAPH :{ORANGE}Distribución da carga -STR_CONFIG_SETTING_AI :{ORANGE}Competidores -STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}Mostrar opcións -STR_CONFIG_SETTING_INTERACTION :{ORANGE}Interacción STR_CONFIG_SETTING_SOUND :{ORANGE}Efectos de son -STR_CONFIG_SETTING_NEWS :{ORANGE}Novas e mensaxes -STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}Sinais -STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE}Xestión da carga -STR_CONFIG_SETTING_AI_NPC :{ORANGE}Xogadores da computadora -STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE}Autorenovar -STR_CONFIG_SETTING_VEHICLES_SERVICING :{ORANGE}En servizo +STR_CONFIG_SETTING_INTERFACE :{ORANGE}Interface +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Construción +STR_CONFIG_SETTING_VEHICLES :{ORANGE}Vehículos STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Encamiñamento -STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}Trens -STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}Cidades -STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}Industrias +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Cidades +STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}Industrias +STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :{ORANGE}Distribución da carga +STR_CONFIG_SETTING_AI :{ORANGE}Competidores +STR_CONFIG_SETTING_AI_NPC :{ORANGE}Xogadores da computadora STR_CONFIG_SETTING_PATHFINDER_OPF :Orixinal STR_CONFIG_SETTING_PATHFINDER_NPF :NPF @@ -1681,7 +1696,7 @@ STR_INTRO_MULTIPLAYER :{BLACK}Multixog STR_INTRO_GAME_OPTIONS :{BLACK}Opcións da partida STR_INTRO_HIGHSCORE :{BLACK}Táboa das máximas puntuacións -STR_INTRO_ADVANCED_SETTINGS :{BLACK}Configuración avanzada +STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Opcións STR_INTRO_NEWGRF_SETTINGS :{BLACK}Configuración NewGRF STR_INTRO_ONLINE_CONTENT :{BLACK}Comprobar contido online STR_INTRO_SCRIPT_SETTINGS :{BLACK}Configuración dos scripts de IA @@ -1701,7 +1716,7 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Seleccio STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Mostra-las opcións da partida STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Mostrar táboa das máximas puntuacións -STR_INTRO_TOOLTIP_ADVANCED_SETTINGS :{BLACK}Mostrar a configuración avanzada +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Opcións de visualización STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Mostra-la configuración de NewGRF STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Buscar contidos novos e actualizados para descargar STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Motra-la configuración dos scripts de IA @@ -1741,6 +1756,8 @@ STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Xogando STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Escavadora máxica (elimina industrias, obxectos non eliminables): {ORANGE}{STRING} STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}Os túneis poden cruzarse entre eles: {ORANGE}{STRING} STR_CHEAT_NO_JETCRASH :{LTBLUE}Os avións jet non se estrelarán (frecuentemente) nos aeroportos pequenos: {ORANGE} {STRING} +STR_CHEAT_EDIT_MAX_HL :{LTBLUE}Trocar a altura máxima do mapa: {ORANGE}{NUM} +STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Trocar a altura máxima dos montes do mapa STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE :Paisaxe temperada STR_CHEAT_SWITCH_CLIMATE_SUB_ARCTIC_LANDSCAPE :Paisaxe subártica STR_CHEAT_SWITCH_CLIMATE_SUB_TROPICAL_LANDSCAPE :Paisaxe subtropical @@ -1789,6 +1806,7 @@ STR_LIVERY_FREIGHT_TRAM :Tranvía de car STR_FACE_CAPTION :{WHITE}Selección de cara STR_FACE_CANCEL_TOOLTIP :{BLACK}Cancela-la selección dunha nova cara STR_FACE_OK_TOOLTIP :{BLACK}Acepta-la selección da nova cara +STR_FACE_RANDOM :{BLACK}Aleatorio STR_FACE_MALE_BUTTON :{BLACK}Home STR_FACE_MALE_TOOLTIP :{BLACK}Seleccionar caras masculinas @@ -2628,7 +2646,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-2014 O equipo de OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2015 O equipo de OpenTTD # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Gravar partida @@ -2662,13 +2680,12 @@ STR_MAPGEN_BY :{BLACK}* STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Nº de cidades: STR_MAPGEN_DATE :{BLACK}Data: STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Nº de industrias: +STR_MAPGEN_MAX_HEIGHTLEVEL :{BLACK}Altura máxima do mapa: +STR_MAPGEN_MAX_HEIGHTLEVEL_UP :{BLACK}Aumenta a altura máxima dos montes do mapa en un +STR_MAPGEN_MAX_HEIGHTLEVEL_DOWN :{BLACK}Diminiuir a altura máxima dos montes do mapa en un STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}Cota de neve: STR_MAPGEN_SNOW_LINE_UP :{BLACK}Subir a cota de neve unha altura STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}Baixar a cota de neve unha altura -STR_MAPGEN_RANDOM_SEED :{BLACK}Semente aleatoria: -STR_MAPGEN_RANDOM_SEED_HELP :{BLACK}Pincha para introducir unha semente aleatoria -STR_MAPGEN_RANDOM :{BLACK}Aleatorio -STR_MAPGEN_RANDOM_HELP :{BLACK}Cambia-la semente aleatoria usada para a xeración de terreo STR_MAPGEN_LAND_GENERATOR :{BLACK}Xerador de terreo: STR_MAPGEN_TREE_PLACER :{BLACK}Algoritmo para árbores: STR_MAPGEN_TERRAIN_TYPE :{BLACK}Tipo de terreo: @@ -2695,7 +2712,7 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Nome do STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Tamaño: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} -STR_MAPGEN_RANDOM_SEED_OSKTITLE :{BLACK}Introduce unha semente aleatoria +STR_MAPGEN_MAX_HEIGHTLEVEL_QUERY_CAPT :{WHITE}Cambiar altura máxima do mapa STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}Cambiar a altura da cota de neve STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Cambia-lo ano de inicio @@ -2750,6 +2767,8 @@ STR_NEWGRF_SETTINGS_MOVEUP :{BLACK}Subir STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP :{BLACK}Move-lo arquivo NewGRF seleccionado arriba na lista STR_NEWGRF_SETTINGS_MOVEDOWN :{BLACK}Baixar STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP :{BLACK}Move-lo arquivo NewGRF seleccionado abaixo na lista +STR_NEWGRF_SETTINGS_UPGRADE :{BLACK}Actualizar +STR_NEWGRF_SETTINGS_UPGRADE_TOOLTIP :{BLACK}Actualizar arquivos NewGRF para os cales tes unha versión máis nova instalada STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}Unha lista dos arquivos NewGRF instalados. STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}Establecer parámetros @@ -2774,6 +2793,16 @@ STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Arquivo co STR_NEWGRF_SETTINGS_DISABLED :{RED}Desactivado STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Incompatible con esta versión de OpenTTD +# NewGRF save preset window +STR_SAVE_PRESET_CAPTION :{WHITE}Grava os preaxustes +STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK}Lista de preaxustes dispoñibles, selecciona unha para copiala no nome de gravación de embaixo +STR_SAVE_PRESET_TITLE :{BLACK}Engade un nome para o preestablecido +STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}Nome seleccionado actualmente para o preestablecido a gravar +STR_SAVE_PRESET_CANCEL :{BLACK}Cancelar +STR_SAVE_PRESET_CANCEL_TOOLTIP :{BLACK}Non troques o preestablecido +STR_SAVE_PRESET_SAVE :{BLACK}Gravar +STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}Gravar o establecido ao nome seleccionado actualmente + # NewGRF parameters window STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Cambiar os parámetros de NewGRF STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Pechar @@ -2804,7 +2833,6 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Sprite a STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Ir ao sprite anterior, ignorando pseudosprites, sprites recoloreados e sprites de fonte, e volvendo a empezar ao chegar ao inicio STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Representación do sprite seleccionado. A aliñación ignórase ao debuxar este sprite STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Move-lo sprite, cambiando os valores de X e Y -STR_SPRITE_ALIGNER_OFFSETS :{BLACK}Desp. X: {NUM}, Desp. Y: {NUM} STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Seleccionar sprite STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Seleccionar un sprite en calquera parte da pantalla @@ -2909,7 +2937,7 @@ STR_TOWN_VIEW_POPULATION_HOUSES :{BLACK}Poboaci STR_TOWN_VIEW_PASSENGERS_LAST_MONTH_MAX :{BLACK}Pasaxeiros último mes: {ORANGE}{COMMA}{BLACK} máx: {ORANGE}{COMMA} STR_TOWN_VIEW_MAIL_LAST_MONTH_MAX :{BLACK}Correo último mes: {ORANGE}{COMMA}{BLACK} máx: {ORANGE}{COMMA} STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH :{BLACK}Carga necesaria para o crecemento da cidade: -STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_GENERAL :{ORANGE}{STRING}{RED} necesario{P "" s} +STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_GENERAL :{ORANGE}{STRING}{RED} necesario STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING}{BLACK} necesarios en inverno STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} entregados STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (todavía requeridos) @@ -2975,7 +3003,7 @@ STR_GOAL_QUESTION_CAPTION_INFORMATION :Información STR_GOAL_QUESTION_CAPTION_WARNING :Aviso STR_GOAL_QUESTION_CAPTION_ERROR :Erro -### Start of Goal Question button list +############ Start of Goal Question button list STR_GOAL_QUESTION_BUTTON_CANCEL :Cancelar STR_GOAL_QUESTION_BUTTON_OK :OK STR_GOAL_QUESTION_BUTTON_NO :Non @@ -2994,6 +3022,7 @@ STR_GOAL_QUESTION_BUTTON_RESTART :Reiniciar STR_GOAL_QUESTION_BUTTON_POSTPONE :Pospoñer STR_GOAL_QUESTION_BUTTON_SURRENDER :Renderse STR_GOAL_QUESTION_BUTTON_CLOSE :Pechar +############ End of Goal Question button list # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}Subvencións @@ -3026,7 +3055,6 @@ STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}Non qued # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} -STR_STATION_VIEW_WAITING_TITLE :{BLACK}Agardando: {WHITE}{STRING} STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} en ruta dende {STATION}) STR_STATION_VIEW_RESERVED :{YELLOW}({CARGO_SHORT} reservado para cargar) @@ -3276,6 +3304,7 @@ STR_GROUP_DELETE_TOOLTIP :{BLACK}Borrar o STR_GROUP_RENAME_TOOLTIP :{BLACK}Renomear o grupo seleccionado STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Pincha para protexer a este grupo da autosubstitución global + STR_GROUP_ADD_SHARED_VEHICLE :Engadir vehículos compartidos STR_GROUP_REMOVE_ALL_VEHICLES :Borrar tódolos vehículos @@ -3338,6 +3367,21 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Renomea- STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Renomear tipo de barco STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Renomea-lo tipo de avión +STR_BUY_VEHICLE_TRAIN_HIDE_TOGGLE_BUTTON :{BLACK}Agochar +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_TOGGLE_BUTTON :{BLACK}Agochar +STR_BUY_VEHICLE_SHIP_HIDE_TOGGLE_BUTTON :{BLACK}Agochar +STR_BUY_VEHICLE_AIRCRAFT_HIDE_TOGGLE_BUTTON :{BLACK}Agochar + +STR_BUY_VEHICLE_TRAIN_SHOW_TOGGLE_BUTTON :{BLACK}Visualización +STR_BUY_VEHICLE_ROAD_VEHICLE_SHOW_TOGGLE_BUTTON :{BLACK}Visualización +STR_BUY_VEHICLE_SHIP_SHOW_TOGGLE_BUTTON :{BLACK}Visualización +STR_BUY_VEHICLE_AIRCRAFT_SHOW_TOGGLE_BUTTON :{BLACK}Visualización + +STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Trocar agochar/amosar tipo de tren +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Trocar agochar/amosar tipo de vehículo rodado +STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Trocar agochar/amosar tipo de barco +STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Tocar agochar/amosar o tipo de aeronave + STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}Renomea-lo tipo de vehículo de ferrocarril STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}Renomea-lo tipo de vehículo de estrada STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}Renomear tipo de barco @@ -3442,6 +3486,11 @@ STR_REPLACE_VEHICLE_ROAD_VEHICLE :Vehículo de es STR_REPLACE_VEHICLE_SHIP :Barco STR_REPLACE_VEHICLE_AIRCRAFT :Aeronave +STR_REPLACE_VEHICLE_VEHICLES_IN_USE :{YELLOW}Vehículos en uso +STR_REPLACE_VEHICLE_VEHICLES_IN_USE_TOOLTIP :{BLACK}Columna con vehículos que ti posúes +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES :{YELLOW}Vehículos dispoñibles +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES_TOOLTIP :{BLACK}Columna con vehículos dispoñibles para reemprazar + STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Selecciona o tipo de máquina a substituír STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Selecciona o tipo da nova máquina que queres usar en lugar do tipo de máquina seleccionado á esquerda @@ -4035,6 +4084,7 @@ STR_ERROR_EXCAVATION_WOULD_DAMAGE :{WHITE}A excava STR_ERROR_ALREADY_AT_SEA_LEVEL :{WHITE}... xa está ao nivel do mar STR_ERROR_TOO_HIGH :{WHITE}... demasiado alto STR_ERROR_ALREADY_LEVELLED :{WHITE}... xa é plana +STR_ERROR_BRIDGE_TOO_HIGH_AFTER_LOWER_LAND :{WHITE}Despois a ponte sobre él será demasiado alta. # Company related errors STR_ERROR_CAN_T_CHANGE_COMPANY_NAME :{WHITE}Non se pode cambia-lo nome da compañía... @@ -4085,6 +4135,9 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... o bo STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... só se pode construír sobre a cota de neve STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... só se pode construír baixo a cota de neve +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}Non habían lugares axeitados para industrias '{STRING}' +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Cambia os parámetros de xeración de mapas para obter un mapa mellor + # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Non se pode construír a estación de ferrocarril aí... STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}Non se pode construí-la estación de autobús... @@ -4221,6 +4274,7 @@ STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Debes de STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}Non pode empezar e rematar na mesma posición STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}Os estribos da ponte non están o mesmo nivel STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}A ponte é demasiado baixa para o terreo +STR_ERROR_BRIDGE_TOO_HIGH_FOR_TERRAIN :{WHITE}A ponte é demasiado alta para este terreo. STR_ERROR_START_AND_END_MUST_BE_IN :{WHITE}O inicio e o final deben estar aliñados STR_ERROR_ENDS_OF_BRIDGE_MUST_BOTH :{WHITE}... ambos extremos da ponte deben estar en terra STR_ERROR_BRIDGE_TOO_LONG :{WHITE}... ponte demasiado longa @@ -4782,6 +4836,7 @@ STR_COMPANY_NAME :{COMPANY} STR_COMPANY_NAME_COMPANY_NUM :{COMPANY} {COMPANY_NUM} STR_DEPOT_NAME :{DEPOT} STR_ENGINE_NAME :{ENGINE} +STR_HIDDEN_ENGINE_NAME :{ENGINE} (agochado) STR_GROUP_NAME :{GROUP} STR_INDUSTRY_NAME :{INDUSTRY} STR_PRESIDENT_NAME :{PRESIDENT_NAME} @@ -4817,8 +4872,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -4829,9 +4882,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/german.txt b/src/lang/german.txt index de9e816978..d1d0414b53 100644 --- a/src/lang/german.txt +++ b/src/lang/german.txt @@ -96,30 +96,30 @@ STR_CARGO_SINGULAR_FIZZY_DRINK :{G=w}Limonade # Quantity of cargo STR_QUANTITY_NOTHING : -STR_QUANTITY_PASSENGERS :{COMMA} Passagier{P "" e} +STR_QUANTITY_PASSENGERS :{COMMA}{NBSP}Passagier{P "" e} STR_QUANTITY_COAL :{WEIGHT_LONG} Kohle -STR_QUANTITY_MAIL :{COMMA} Posts{P ack äcke} +STR_QUANTITY_MAIL :{COMMA}{NBSP}Posts{P ack äcke} STR_QUANTITY_OIL :{VOLUME_LONG} Öl -STR_QUANTITY_LIVESTOCK :{COMMA} Stück Vieh -STR_QUANTITY_GOODS :{COMMA} Warenkiste{P "" n} +STR_QUANTITY_LIVESTOCK :{COMMA}{NBSP}Stück Vieh +STR_QUANTITY_GOODS :{COMMA}{NBSP}Warenkiste{P "" n} STR_QUANTITY_GRAIN :{WEIGHT_LONG} Getreide STR_QUANTITY_WOOD :{WEIGHT_LONG} Holz STR_QUANTITY_IRON_ORE :{WEIGHT_LONG} Eisenerz STR_QUANTITY_STEEL :{WEIGHT_LONG} Stahl -STR_QUANTITY_VALUABLES :{COMMA} {P Sack Säcke} Wertsachen +STR_QUANTITY_VALUABLES :{COMMA}{NBSP}{P Sack Säcke} Wertsachen STR_QUANTITY_COPPER_ORE :{WEIGHT_LONG} Kupfererz STR_QUANTITY_MAIZE :{WEIGHT_LONG} Mais STR_QUANTITY_FRUIT :{WEIGHT_LONG} Früchte -STR_QUANTITY_DIAMONDS :{COMMA} {P Sack Säcke} Diamanten +STR_QUANTITY_DIAMONDS :{COMMA}{NBSP}{P Sack Säcke} Diamanten STR_QUANTITY_FOOD :{WEIGHT_LONG} Nahrungsmittel STR_QUANTITY_PAPER :{WEIGHT_LONG} Papier -STR_QUANTITY_GOLD :{COMMA} {P Sack Säcke} Gold +STR_QUANTITY_GOLD :{COMMA}{NBSP}{P Sack Säcke} Gold STR_QUANTITY_WATER :{VOLUME_LONG} Wasser STR_QUANTITY_WHEAT :{WEIGHT_LONG} Weizen STR_QUANTITY_RUBBER :{VOLUME_LONG} Kautschuk STR_QUANTITY_SUGAR :{WEIGHT_LONG} Zucker -STR_QUANTITY_TOYS :{COMMA} Spielzeug{P "" e} -STR_QUANTITY_SWEETS :{COMMA} {P Sack Säcke} Bonbons +STR_QUANTITY_TOYS :{COMMA}{NBSP}Spielzeug{P "" e} +STR_QUANTITY_SWEETS :{COMMA}{NBSP}{P Sack Säcke} Bonbons STR_QUANTITY_COLA :{VOLUME_LONG} Cola STR_QUANTITY_CANDYFLOSS :{WEIGHT_LONG} Zuckerwatte STR_QUANTITY_BUBBLES :{COMMA} Luftblase{P "" n} @@ -166,12 +166,12 @@ STR_ABBREV_NONE :{TINY_FONT}KEIN STR_ABBREV_ALL :{TINY_FONT}ALLE # 'Mode' of transport for cargoes -STR_PASSENGERS :{COMMA} Passagier{P "" e} -STR_BAGS :{COMMA} S{P ack äcke} -STR_TONS :{COMMA} Tonne{P "" n} -STR_LITERS :{COMMA} Liter{P "" ""} -STR_ITEMS :{COMMA} Stück{P "" ""} -STR_CRATES :{COMMA} Kiste{P "" n} +STR_PASSENGERS :{COMMA}{NBSP}Passagier{P "" e} +STR_BAGS :{COMMA}{NBSP}S{P ack äcke} +STR_TONS :{COMMA}{NBSP}Tonne{P "" n} +STR_LITERS :{COMMA}{NBSP}Liter{P "" ""} +STR_ITEMS :{COMMA}{NBSP}Stück{P "" ""} +STR_CRATES :{COMMA}{NBSP}Kiste{P "" n} # Colours, do not shuffle STR_COLOUR_DARK_BLUE :Dunkelblau @@ -192,37 +192,37 @@ STR_COLOUR_GREY :Grau STR_COLOUR_WHITE :Weiß # Units used in OpenTTD -STR_UNITS_VELOCITY_IMPERIAL :{COMMA} mph -STR_UNITS_VELOCITY_METRIC :{COMMA} km/h -STR_UNITS_VELOCITY_SI :{COMMA} m/s +STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}mph +STR_UNITS_VELOCITY_METRIC :{COMMA}{NBSP}km/h +STR_UNITS_VELOCITY_SI :{COMMA}{NBSP}m/s -STR_UNITS_POWER_IMPERIAL :{COMMA}PS -STR_UNITS_POWER_METRIC :{COMMA}PS -STR_UNITS_POWER_SI :{COMMA}kW +STR_UNITS_POWER_IMPERIAL :{COMMA}{NBSP}PS +STR_UNITS_POWER_METRIC :{COMMA}{NBSP}PS +STR_UNITS_POWER_SI :{COMMA}{NBSP}kW -STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}t -STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}t -STR_UNITS_WEIGHT_SHORT_SI :{COMMA}kg +STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_SI :{COMMA}{NBSP}kg -STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA} Tonne{P "" n} -STR_UNITS_WEIGHT_LONG_METRIC :{COMMA} Tonne{P "" n} -STR_UNITS_WEIGHT_LONG_SI :{COMMA} kg +STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA}{NBSP}Tonne{P "" n} +STR_UNITS_WEIGHT_LONG_METRIC :{COMMA}{NBSP}Tonne{P "" n} +STR_UNITS_WEIGHT_LONG_SI :{COMMA}{NBSP}kg -STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}gal -STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}l -STR_UNITS_VOLUME_SHORT_SI :{COMMA}m³ +STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}{NBSP}gal +STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}{NBSP}l +STR_UNITS_VOLUME_SHORT_SI :{COMMA}{NBSP}m³ -STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA} Gallone{P "" n} -STR_UNITS_VOLUME_LONG_METRIC :{COMMA} Liter -STR_UNITS_VOLUME_LONG_SI :{COMMA} m³ +STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA}{NBSP}Gallone{P "" n} +STR_UNITS_VOLUME_LONG_METRIC :{COMMA}{NBSP}Liter +STR_UNITS_VOLUME_LONG_SI :{COMMA}{NBSP}m³ -STR_UNITS_FORCE_IMPERIAL :{COMMA} lbf -STR_UNITS_FORCE_METRIC :{COMMA} kp +STR_UNITS_FORCE_IMPERIAL :{COMMA}{NBSP}lbf +STR_UNITS_FORCE_METRIC :{COMMA}{NBSP}kp STR_UNITS_FORCE_SI :{COMMA} kN -STR_UNITS_HEIGHT_IMPERIAL :{COMMA} Fuß -STR_UNITS_HEIGHT_METRIC :{COMMA} m -STR_UNITS_HEIGHT_SI :{COMMA} m +STR_UNITS_HEIGHT_IMPERIAL :{COMMA}{NBSP}Fuß +STR_UNITS_HEIGHT_METRIC :{COMMA}{NBSP}m +STR_UNITS_HEIGHT_SI :{COMMA}{NBSP}m # Common window strings STR_LIST_FILTER_TITLE :{BLACK}Auswahl-Text: @@ -249,6 +249,17 @@ STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Bildlauf STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Bildlaufleiste: In der Liste nach links und rechts blättern STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Gebäude etc. von einem Planquadrat abreißen. Strg wählt ein diagonales Gebiet aus. Shift schaltet zwischen Bauen und Kostenvoranschlag um +# Show engines button +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}Alle einblenden +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK}Alle einblenden +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}Alle einblenden +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}Alle einblenden + +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}Zeigt auch ausgeblendete Schienenfahrzeuge an +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE_TOOLTIP :{BLACK}Zeigt auch ausgeblendete Straßenfahrzeuge an +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}Zeigt auch ausgeblendete Schiffe an +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Zeigt auch ausgeblendete Flugzeuge an + # Query window STR_BUTTON_DEFAULT :{BLACK}Standard STR_BUTTON_CANCEL :{BLACK}Abbrechen @@ -362,7 +373,7 @@ STR_SCENEDIT_FILE_MENU_QUIT :Beenden ############ range for settings menu starts STR_SETTINGS_MENU_GAME_OPTIONS :Spieleinstellungen -STR_SETTINGS_MENU_CONFIG_SETTINGS :Erweiterte Einstellungen +STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Einstellungen STR_SETTINGS_MENU_SCRIPT_SETTINGS :KI- / Skripteinstellungen STR_SETTINGS_MENU_NEWGRF_SETTINGS :NewGRF-Einstellungen STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Transparenzeinstellungen @@ -471,7 +482,7 @@ STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Hüllquader anz STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Neugezeichnete Felder farbig markieren ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window STR_ORDINAL_NUMBER_1ST :1. STR_ORDINAL_NUMBER_2ND :2. STR_ORDINAL_NUMBER_3RD :3. @@ -487,22 +498,40 @@ STR_ORDINAL_NUMBER_12TH :12. STR_ORDINAL_NUMBER_13TH :13. STR_ORDINAL_NUMBER_14TH :14. STR_ORDINAL_NUMBER_15TH :15. -STR_ORDINAL_NUMBER_16TH :16. -STR_ORDINAL_NUMBER_17TH :17. -STR_ORDINAL_NUMBER_18TH :18. -STR_ORDINAL_NUMBER_19TH :19. -STR_ORDINAL_NUMBER_20TH :20. -STR_ORDINAL_NUMBER_21ST :21. -STR_ORDINAL_NUMBER_22ND :22. -STR_ORDINAL_NUMBER_23RD :23. -STR_ORDINAL_NUMBER_24TH :24. -STR_ORDINAL_NUMBER_25TH :25. -STR_ORDINAL_NUMBER_26TH :26. -STR_ORDINAL_NUMBER_27TH :27. -STR_ORDINAL_NUMBER_28TH :28. -STR_ORDINAL_NUMBER_29TH :29. -STR_ORDINAL_NUMBER_30TH :30. -STR_ORDINAL_NUMBER_31ST :31. +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :1. +STR_DAY_NUMBER_2ND :2. +STR_DAY_NUMBER_3RD :3. +STR_DAY_NUMBER_4TH :4. +STR_DAY_NUMBER_5TH :5. +STR_DAY_NUMBER_6TH :6. +STR_DAY_NUMBER_7TH :7. +STR_DAY_NUMBER_8TH :8. +STR_DAY_NUMBER_9TH :9. +STR_DAY_NUMBER_10TH :10. +STR_DAY_NUMBER_11TH :11. +STR_DAY_NUMBER_12TH :12. +STR_DAY_NUMBER_13TH :13. +STR_DAY_NUMBER_14TH :14. +STR_DAY_NUMBER_15TH :15. +STR_DAY_NUMBER_16TH :16. +STR_DAY_NUMBER_17TH :17. +STR_DAY_NUMBER_18TH :18. +STR_DAY_NUMBER_19TH :19. +STR_DAY_NUMBER_20TH :20. +STR_DAY_NUMBER_21ST :21. +STR_DAY_NUMBER_22ND :22. +STR_DAY_NUMBER_23RD :23. +STR_DAY_NUMBER_24TH :24. +STR_DAY_NUMBER_25TH :25. +STR_DAY_NUMBER_26TH :26. +STR_DAY_NUMBER_27TH :27. +STR_DAY_NUMBER_28TH :28. +STR_DAY_NUMBER_29TH :29. +STR_DAY_NUMBER_30TH :30. +STR_DAY_NUMBER_31ST :31. ############ range for days ends ############ range for months starts @@ -811,13 +840,12 @@ STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}{VEHICLE STR_NEWS_SHIP_IS_WAITING :{WHITE}{VEHICLE} wartet im Depot STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE} wartet im Hangar -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE +# Order review system / warnings STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE} hat zu wenige Aufträge STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE} hat einen ungültigen Auftrag STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE} hat Ziele mehrfach im Fahrplan STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE} hat eine ungültige Station im Fahrplan -# end of order system +STR_NEWS_PLANE_USES_TOO_SHORT_RUNWAY :{WHITE}{VEHICLE} hat in den Aufträgen einen Flughafen mit zu kurzer Landebahn STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} wird alt STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} wird sehr alt @@ -900,10 +928,6 @@ STR_GAME_OPTIONS_CURRENCY_GEL :Georgischer Lar STR_GAME_OPTIONS_CURRENCY_IRR :Iranischer Rial (IRR) ############ end of currency region - -############ start of measuring units region -############ end of measuring units region - STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Fahrzeuge STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}Wähle, auf welcher Straßenseite der Verkehr fahren soll STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :Linksverkehr @@ -939,11 +963,13 @@ STR_GAME_OPTIONS_TOWN_NAME_CATALAN :Katalanisch STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Autosicherung STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Abstand zwischen den automatischen Spielesicherungen wählen +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Aus STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :Jeden Monat STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :Alle 3 Monate STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :Alle 6 Monate STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :Alle 12 Monate +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}Sprache STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Sprache für die Spieloberfläche auswählen @@ -955,8 +981,12 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}Bildschi STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Bildschirmauflösung auswählen STR_GAME_OPTIONS_RESOLUTION_OTHER :Andere -STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}Screenshotformat -STR_GAME_OPTIONS_SCREENSHOT_FORMAT_TOOLTIP :{BLACK}Format auswählen, in dem Screenshots abgespeichert werden sollen +STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Größe der Bedienelemente +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Wähle die Größe der Bedienelemente + +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normal +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Doppelt +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Vierfach STR_GAME_OPTIONS_BASE_GRF :{BLACK}Basisgrafiken STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Zu benutzendes Set an Basisgrafiken auswählen @@ -972,6 +1002,7 @@ STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Ein Musi STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} fehlerhafte Datei{P "" en} STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Zusätzliche Informationen über das Musikset +STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Eine Liste unterstützter Auflösungen konnte nicht ermittelt werden STR_ERROR_FULLSCREEN_FAILED :{WHITE}Vollbildmodus nicht möglich # Custom currency window @@ -1050,6 +1081,7 @@ STR_TERRAIN_TYPE_VERY_FLAT :Sehr flach STR_TERRAIN_TYPE_FLAT :Flach STR_TERRAIN_TYPE_HILLY :Hügelig STR_TERRAIN_TYPE_MOUNTAINOUS :Bergig +STR_TERRAIN_TYPE_ALPINIST :Alpin STR_CITY_APPROVAL_PERMISSIVE :Hoch STR_CITY_APPROVAL_TOLERANT :Mäßig @@ -1057,8 +1089,8 @@ STR_CITY_APPROVAL_HOSTILE :Gering STR_WARNING_NO_SUITABLE_AI :{WHITE}Keine KI gefunden...{}Verschiedene KI sind via 'Erweiterungen herunterladen' verfügbar -# Advanced settings window -STR_CONFIG_SETTING_CAPTION :{WHITE}Erweiterte Einstellungen +# Settings tree window +STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Einstellungen STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Suchtext: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Alles ausklappen STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Alles einklappen @@ -1073,10 +1105,10 @@ STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :Firmen-Einstell STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK}Kategorie: STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}Art: -STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Beschränkt die Liste auf geänderte Einstellungen -STR_CONFIG_SETTING_RESTRICT_BASIC :Grundlegende Einstellungen -STR_CONFIG_SETTING_RESTRICT_ADVANCED :Erweiterte Einstellungen -STR_CONFIG_SETTING_RESTRICT_ALL :Alle Einstellungen +STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Vordefinierte Filter auf die untenstehende Liste anwenden +STR_CONFIG_SETTING_RESTRICT_BASIC :Grundlegend (Zeigt nur die wichtigsten Einstellungen) +STR_CONFIG_SETTING_RESTRICT_ADVANCED :Erweitert (Zeigt die meisten Einstellungen) +STR_CONFIG_SETTING_RESTRICT_ALL :Alle (Zeigt alle Einstellungen, auch die abwegigen) STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :Einstellungen mit Werten verschieden von OpenTTDs Standardwerten STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :Einstellungen mit einem Wert verschieden von den eigenen Einstellungen für neue Spiele @@ -1128,11 +1160,12 @@ STR_CONFIG_SETTING_TRAIN_REVERSING :Zügen das Umdr STR_CONFIG_SETTING_TRAIN_REVERSING_HELPTEXT :Falls aktiv, werden Züge in Durchgangsbahnhöfen nicht umdrehen, auch wenn ein kürzerer Pfad zum nächsten Zielbahnhof mittels Umdrehen verfügbar ist STR_CONFIG_SETTING_DISASTERS :Katastrophen: {STRING} STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Ein- oder Ausschalten von Katastrophen, durch die gelegentlich Fahrzeuge oder Infrastruktur blockiert oder zerstört werden können -STR_CONFIG_SETTING_CITY_APPROVAL :Toleranz der Stadtverwaltung bei Landschaftsumgestaltungen: {STRING} +STR_CONFIG_SETTING_CITY_APPROVAL :Toleranz der Stadtverwaltung gegenüber Landschaftsumgestaltungen: {STRING} STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Auswählen, wie stark Lärm und Umweltschäden die Stadtbewertung einer Firma sinken lassen. Bei einer zu schlechten Bewertung werden dann in dieser Stadt keine Bauvorhaben mehr genehmigt -STR_CONFIG_SETTING_BUILDONSLOPES :Das Bauen an Hängen und Küsten erlauben: {STRING} -STR_CONFIG_SETTING_BUILDONSLOPES_HELPTEXT :Falls aktiviert, können Transportwege und Stationen an die meisten Hänge gebaut werden. Falls deaktiviert, dürfen sie nur dann an einen Hang gebaut werden, wenn dafür keine Fundamente errichtet werden müssen +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :Maximale Höhe auf der Karte: {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :Setze die maximal erlaubte Höhe für Berge auf der Karte +STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}Die maximale Höhe der Karte kann nicht auf diesen Wert gesetzt werden. Mindestens ein Berg auf der Karte ist höher. STR_CONFIG_SETTING_AUTOSLOPE :Landschaftsbau unter Gebäuden, Gleisen, usw. erlauben: {STRING} STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Erlaube Erdbauarbeiten unter Gebäuden oder Infrastruktur ohne sie zu entfernen STR_CONFIG_SETTING_CATCHMENT :Verschiedene Stationstypen haben unterschiedlich große Einzugsgebiete: {STRING} @@ -1157,16 +1190,12 @@ STR_CONFIG_SETTING_FORBID_90_DEG :Zügen und Schi STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90-Grad-Kurven entstehen, wenn horizontale Streckenabschnitte unmittelbar auf vertikale Strecken im angrenzenden Feld folgen, so dass der Zug an Stelle der üblichen 45° um eine 90°-Kurve fahren muss. Dies bezieht sich auch auf den Wenderadius von Schiffen STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Erlaube, nicht direkt benachbarte Stationen zu verbinden: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Erlaube den Bau von Stationsteilen, die nicht unmittelbar an andere Stationsfelder angrenzen. Nutze Strg+Klick, um diese mit einer existierenden Station zu verbinden. -STR_CONFIG_SETTING_IMPROVEDLOAD :Verbessertes Beladeverfahren nutzen: {STRING} -STR_CONFIG_SETTING_IMPROVEDLOAD_HELPTEXT :Belade Fahrzeuge nacheinander, wenn mehrere Fahrzeuge an einer Station auf Ladung warten. Das Beladen des zweiten Fahrzeugs wird nur dann vorgenommen, wenn genügend Fracht vorhanden ist, um das erste Fahrzeug komplett zu beladen -STR_CONFIG_SETTING_GRADUAL_LOADING :Fahrzeuge schrittweise beladen: {STRING} -STR_CONFIG_SETTING_GRADUAL_LOADING_HELPTEXT :Lade Fahrzeuge schrittweise unter Nutzung der fahrzeugspezifischen Ladezeiten, anstatt alles auf einmal zu festgelegten Zeiten, die nur von der Frachtmenge abhängen, zu laden. STR_CONFIG_SETTING_INFLATION :Inflation: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :Inflation einschalten. Beim Spielen mit Inflation steigen die Kosten geringfügig schneller als die Transporteinnahmen -STR_CONFIG_SETTING_SELECTGOODS :Stationen werden nur mit Fracht beliefert, wenn ein Fahrzeug sie von dort abholt: {STRING} -STR_CONFIG_SETTING_SELECTGOODS_HELPTEXT :Liefere nur Fracht an Stationen, wenn sie dort auch nachgefragt wird. Dies verhindert schlechte Bewertungen für nicht bediente Frachtarten STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Maximallänge für Brücken: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Maximale Länge für Brücken +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :Maximale Brückenhöhe: {STRING} +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :Maximale Brückenhöhe STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Maximallänge für Tunnel: {STRING} STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :Maximale Länge für Tunnel STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Manueller Bau von Rohstoffindustrien: {STRING} @@ -1192,8 +1221,6 @@ STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Die Position, a STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :am Anfang STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :in der Mitte STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :am Ende -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING :Fahrzeugwarteschlange (mit Überlagerung): {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING_HELPTEXT :Lässt Straßenfahrzeuge so lange vor einer besetzten Haltestelle warten, bis sie frei wird STR_CONFIG_SETTING_AUTOSCROLL :Spielfeld scrollen, wenn die Maus am Bildrand anstößt: {STRING} STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Falls aktiv wird der Kartenausschnit scrollen, wenn die Maus nahe dem Fensterrand ist STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Ausgeschaltet @@ -1224,10 +1251,6 @@ STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Bus- und Lkw-Ha STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Erlaubt die Errichtung von Bus- und Lkw-Haltestellen auf städtischen Straßen STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Bus- und Lkw-Haltestellen auf Straßen von Mitbewerbern erlauben: {STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Erlaube die Errichtung von Bus- und Lkw-Haltestellen auf Straßen, die Mitbewerbern gehören -STR_CONFIG_SETTING_ADJACENT_STATIONS :Bau angrenzender Stationen erlauben: {STRING} -STR_CONFIG_SETTING_ADJACENT_STATIONS_HELPTEXT :Den Bau von aneinandergrenzenden Stationen erlauben -STR_CONFIG_SETTING_DYNAMIC_ENGINES :Mehrere NewGRF-Fahrzeugsets erlauben: {STRING} -STR_CONFIG_SETTING_DYNAMIC_ENGINES_HELPTEXT :Kompatibilitätseinstellung für veraltete NewGRFs. NICHT deaktivieren, wenn der Einfluss dieser Einstellung nicht genau bekannt ist! STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Diese Einstellung kann nicht geändert werden solange Fahrzeuge im Spiel sind STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Instandhaltung der Infrastruktur: {STRING} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Unterhaltskosten für Infrastruktur einschalten. Die Unterhaltskosten wachsen mit zunehmender Netzwerkgröße überproportional an, so dass sie größere Firmen stärker belasten als kleinere @@ -1258,35 +1281,49 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :Anzeigedauer f STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Anzeigedauer für Fehlermeldungen in einem roten Fenster. Bedenke, dass einige (kritische) Fehlermeldungen nicht automatisch nach dieser Dauer geschlossen werden sondern manuell geschlossen werden müssen STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{COMMA} Sekunde{P 0 "" n} STR_CONFIG_SETTING_HOVER_DELAY :Zeige kurzen Hilfetext: {STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Einstellen, wie lange man zum Aufruf von Hilfetexten zur Erklärung der Funktionen im Spiel mit dem Mauszeiger über der gewünschten Stelle stehenbleiben muss, oder, als Alternative, dass die Hilfetexte bei einem Rechtsklick sofort angezeigt werden sollen -STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Nach {COMMA} Sekunde{P 0 "" n} +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Einstellen, wie lange man zum Aufruf von Hilfetexten zur Erklärung der Funktionen im Spiel mit dem Mauszeiger über der gewünschten Stelle stehenbleiben muss. Alternativ werden die Hilfetexte bei einem Rechtsklick sofort angezeigt, wenn dieser Wert auf 0 gesetzt wird. +STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Nach {COMMA} Millisekunde{P 0 "" n} STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Rechtsklick STR_CONFIG_SETTING_POPULATION_IN_LABEL :Zeige die Einwohnerzahl von Städten neben ihrem Namen: {STRING} STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Zeige die Einwohneranzahl neben den Städtenamen auf der Karte an STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Linienstärke in Diagrammen: {STRING} STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Strichdicke der Linien in Diagrammen. Dünnere Linien sind genauer ablesbar, dickere Linien sind besser sichtbar und erlauben es, Farben leichter zu unterscheiden +STR_CONFIG_SETTING_LANDSCAPE :Landschaftstyp: {STRING} +STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Landschaftstype definiert grundlegende Spielscenarien in Bezug auf verfügbare Fracht und Wachstumsvoraussetzungen für Städte. NewGRFs und Spielskripte erlauben weitgehendere Kontrolle dieser Parameter STR_CONFIG_SETTING_LAND_GENERATOR :Algorithmus zur Landschaftserzeugung: {STRING} +STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :Der orginale Generator hängt von den verwendeten Basisgrafiken ab und setzt vorgefertigte Landschaftsformen zusammen. terraGenesis ist ein auf Perlinrauschen basierter Generator mit erweiterten Einstellmöglichkeiten STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Original STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis +STR_CONFIG_SETTING_TERRAIN_TYPE :Landschaftstyp: {STRING} +STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(nur TerraGenesis) Hügeligkeit der Landschaft +STR_CONFIG_SETTING_INDUSTRY_DENSITY :Industriedichte: {STRING} +STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Wähle wieviele Industrien generiert werden sollen und welche Anzahl während des Spiels angestrebt wird zu erhalten STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Maximalabstand vom Kartenrand für Ölraffinerien: {STRING} STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Ölraffinerien werden nur in der Nähe des Kartenrands gebaut, bei inselreichen Karten nahe der Küste STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Schneegrenze auf: {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Rauheit (nur TerraGenesis): {STRING} +STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Wähle die Höhe der Schneefallgrenze im subarktischen Klima. Schnee beeinflusst auch die Platzierung von Industrien und Voraussetzungen für Städtewachstum +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Rauheit des Geländes: {STRING} +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(nur TerraGenesis) Wähle die Häufigkeit von Hügeln: Rollende Landschaften haben wenige, weit verteilte Hügel. Zerklüftete Landschaften haben viele Hügel, was wiederum sich wiederholend aussehen kann STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Sehr eben STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Eben -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Rau -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Sehr rau +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :zerklüftet +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Sehr zerklüftet +STR_CONFIG_SETTING_VARIETY :Größe der Geländeformen: {STRING} +STR_CONFIG_SETTING_VARIETY_HELPTEXT :(nur TerraGenesis) Beinflusst, ob die Karte sowohl bergige als auch ebene Gegenden enthält. Weil dieses die Karte nur ebener macht, sollten andere Einstellungen auf bergig gesetzt werden +STR_CONFIG_SETTING_RIVER_AMOUNT :Anzahl Flüsse: {STRING} +STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Wähle die Anzahl zu erzeugender Flüsse STR_CONFIG_SETTING_TREE_PLACER :Algorithmus zur Baumplatzierung: {STRING} +STR_CONFIG_SETTING_TREE_PLACER_HELPTEXT :Wähle die Verteilung der Bäume auf der Karte: 'Original' pflanzt die Bäume gleichmäßig verteilt, 'Verbessert' pflanzt sie in Gruppen STR_CONFIG_SETTING_TREE_PLACER_NONE :Keiner STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :Original STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :Verbessert +STR_CONFIG_SETTING_ROAD_SIDE :Straßenfahrzeuge: {STRING} +STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :Die Seite des Straßenverkehrs auswählen STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Drehung der Reliefkarte: {STRING} STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Nach links STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Nach rechts STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :Höhenstufe des Spielfeldes in einem flachen Szenario: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :Landschaftsbau am Spielfeldrand erlauben: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES_HELPTEXT :Wenn aktiviert, können sowohl Wasser- als auch Landflächen am Kartenrand liegen. Ansonsten wird das Spielfeld am Rand immer von Wasser begrenzt. STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}Ein oder mehrere Felder am nördlichen Spielfeldrand sind nicht leer STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}Eines oder mehrere Felder am Spielfeldrand sind nicht Wasser @@ -1337,17 +1374,15 @@ 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_AUTOSAVE :Autosave: {STRING} +STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Wähle das Interval zwischen automatischen Speicherungen + STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Verwende {STRING} Datumsformat beim Benennen der Spielstände STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Lege das Datumsformat für Spielstandsdateien fest STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :langes (25. Dez 2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :kurzes (25-12-2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-25) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE :Standard-Palette für NewGRFs, die keine Paletteninformationen angeben: {STRING} -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_HELPTEXT :Standardpalette für NewGRFs, die keine Palette definieren -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_DOS :Standardfarbpalette (D) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_WIN :Veraltete Farbpalette (W) - STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Automatische Pause bei Spielstart: {STRING} STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :Starte ein Spiel im Pausenmodus; dies erlaubt vor Spielstart, die Karte ausführlich zu betrachten. STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Erlauben während angehaltenen Spiels: {STRING} @@ -1430,7 +1465,7 @@ STR_CONFIG_SETTING_SERVINT_ISPERCENT :Wartungsinterva STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Lege fest, ob Fahrzeuge zur Wartung geschickt werden basierend auf der verstrichenen Zeit seit der letzten Wartung oder dem Absinken der Zuverlässigkeit auf einen gewissen Prozentsatz der maximalen Zuverlässigkeit des Fahrzeugtyps STR_CONFIG_SETTING_SERVINT_TRAINS :Standard-Wartungsintervall für Züge: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Setze das Standardwartungsintervall für Schienenfahrzeuge. Dieses Wartungsintervall wird von allen Zügen eingehalten, denen kein individuelles Wartungsintervall zugewiesen worden ist -STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA} Tag{P 0 "" e}/% +STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}Tag{P 0 "" e}/% STR_CONFIG_SETTING_SERVINT_DISABLED :Deaktiviert STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES :Standard-Wartungsintervall für Straßenfahrzeuge: {STRING} STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES_HELPTEXT :Setze das Standardwartungsintervall für Straßenfahrzeuge. Dieses Wartungsintervall wird von allen Fahrzeugen eingehalten, denen kein individuelles Wartungsintervall zugewiesen worden ist @@ -1569,12 +1604,10 @@ STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 von {COMMA} STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :keine STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Größe von Großstädten bei Spielbeginn: {STRING}x STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Durchschnittliche Größe von Großstädten relativ zu normalen Städten bei Spielbeginn -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :Entferne absurde Straßenteile während Straßenreparaturen: {STRING} -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD_HELPTEXT :Entferne Sackgassen, wenn Straßenbauarbeiten finanziert werden -STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Neuberechnung der Warenverteilung alle: {STRING} Tag{P "" e} +STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Neuberechnung der Warenverteilung alle: {STRING}{NBSP}Tag{P 0:2 "" e} STR_CONFIG_SETTING_LINKGRAPH_INTERVAL_HELPTEXT :Zeit zwischen zwei Neuberechnungen des Verteilungsgraphen. Jede Neuberechnung berechnet die Verteilungspläne für eine Komponente des Graphen. Das heißt dass ein Wert X für diese Einstellung nicht zu einer Neuberechnung der gesamten Verteilung alle X Tage führt, sofern es mehrere getrennte Komponenten gibt. Je kleiner der Wert, desto rechenaufwändiger ist die Berechnung. Je größer er ist, desto länger dauert es bis Änderungen an den Fahrplänen sich auf die Verteilung auswirken. -STR_CONFIG_SETTING_LINKGRAPH_TIME :Laufzeit für jede Neuberechnung der Warenverteilung: {STRING} Tag{P 0:2 "" e} +STR_CONFIG_SETTING_LINKGRAPH_TIME :Laufzeit für jede Neuberechnung der Warenverteilung: {STRING}{NBSP}Tag{P 0:2 "" e} STR_CONFIG_SETTING_LINKGRAPH_TIME_HELPTEXT :Laufzeit für jede Neuberechnung des Verteilungsgraphen. Für jede Neuberechnung wird ein Thread gestartet, der diese Zeit bekommt, um fertig zu werden. Wenn die Zeit gering ist, ist die Wahrscheinlichkeit hoch, dass er zum gegebenen Zeitpunkt noch nicht fertig ist. Das manifestiert sich darin, dass das Spiel "stehen bleibt", bis der Thread fertig wird. Wenn die Zeit sehr lang ist, dauert es länger bis Änderungen an den Fahrplänen sich auf die Verteilung auswirken. STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :manuell STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :asymmetrisch @@ -1632,27 +1665,29 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :Imperial (ft) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :Metrisch (m) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :SI (m) -STR_CONFIG_SETTING_GUI :{ORANGE}Oberfläche STR_CONFIG_SETTING_LOCALISATION :{ORANGE}Lokalisierung -STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}Konstruktion +STR_CONFIG_SETTING_GRAPHICS :{ORANGE}Grafik +STR_CONFIG_SETTING_SOUND :{ORANGE}Sound +STR_CONFIG_SETTING_INTERFACE :{ORANGE}Oberfläche +STR_CONFIG_SETTING_INTERFACE_GENERAL :{ORANGE}Allgemein +STR_CONFIG_SETTING_INTERFACE_VIEWPORTS :{ORANGE}Kartenansichten +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Konstruktion +STR_CONFIG_SETTING_ADVISORS :{ORANGE}Nachrichten und Hinweise +STR_CONFIG_SETTING_COMPANY :{ORANGE}Firma +STR_CONFIG_SETTING_ACCOUNTING :{ORANGE}Finanzen STR_CONFIG_SETTING_VEHICLES :{ORANGE}Fahrzeuge -STR_CONFIG_SETTING_STATIONS :{ORANGE}Stationen -STR_CONFIG_SETTING_ECONOMY :{ORANGE}Wirtschaft -STR_CONFIG_SETTING_LINKGRAPH :{ORANGE}Warenverteilung -STR_CONFIG_SETTING_AI :{ORANGE}Mitbewerber -STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}Darstellung -STR_CONFIG_SETTING_INTERACTION :{ORANGE}Interaktion -STR_CONFIG_SETTING_SOUND :{ORANGE}Soundeffekte -STR_CONFIG_SETTING_NEWS :{ORANGE}Nachrichten -STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}Signale -STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE}Frachtbehandlung -STR_CONFIG_SETTING_AI_NPC :{ORANGE}Computerspieler -STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE}Automatische Erneuerung -STR_CONFIG_SETTING_VEHICLES_SERVICING :{ORANGE}Wartung +STR_CONFIG_SETTING_VEHICLES_PHYSICS :{ORANGE}Physik STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Wegsuche -STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}Züge -STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}Städte -STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}Industrien +STR_CONFIG_SETTING_LIMITATIONS :{ORANGE}Beschränkungen +STR_CONFIG_SETTING_ACCIDENTS :{ORANGE}Unfälle und Katastrophen +STR_CONFIG_SETTING_GENWORLD :{ORANGE}Spielfeld-Erzeugung +STR_CONFIG_SETTING_ENVIRONMENT :{ORANGE}Umgebung +STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :{ORANGE}Öffentliche Verwaltungen +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Städte +STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}Industrien +STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :{ORANGE}Warenverteilung +STR_CONFIG_SETTING_AI :{ORANGE}Mitbewerber +STR_CONFIG_SETTING_AI_NPC :{ORANGE}Computerspieler STR_CONFIG_SETTING_PATHFINDER_OPF :Original STR_CONFIG_SETTING_PATHFINDER_NPF :NPF @@ -1701,7 +1736,7 @@ STR_INTRO_MULTIPLAYER :{BLACK}Mehrspie STR_INTRO_GAME_OPTIONS :{BLACK}Spieleinstellungen STR_INTRO_HIGHSCORE :{BLACK}Bestenliste -STR_INTRO_ADVANCED_SETTINGS :{BLACK}Erweiterte Einstellungen +STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Einstellungen STR_INTRO_NEWGRF_SETTINGS :{BLACK}NewGRF-Einstellungen STR_INTRO_ONLINE_CONTENT :{BLACK}Erweiterungen herunterladen STR_INTRO_SCRIPT_SETTINGS :{BLACK}KI- / Skripteinstellungen @@ -1721,7 +1756,7 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Spielzeu STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Spieleinstellungen anzeigen und/oder ändern STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Zeige die Bestenliste -STR_INTRO_TOOLTIP_ADVANCED_SETTINGS :{BLACK}Erweiterte Einstellungen anzeigen und/oder ändern +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Einstellungen anzeigen STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}NewGRF-Einstellungen anzeigen und/oder ändern STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Prüfe, ob neue oder aktualisierte Erweiterungen zum Herunterladen bereitstehen STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Zeige KI- und Skripteinstellungen @@ -1761,6 +1796,8 @@ STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Spiele STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Mächtigeres Abrisswerkzeug (entfernt Industrien und unbewegliche Objekte): {ORANGE}{STRING} STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}Tunnel dürfen sich kreuzen: {ORANGE}{STRING} STR_CHEAT_NO_JETCRASH :{LTBLUE}Düsenflugzeuge stürzen auf kleinen Flughäfen nicht häufiger ab: {ORANGE}{STRING} +STR_CHEAT_EDIT_MAX_HL :{LTBLUE}Ändere die maximale Höhe auf der Karte: {ORANGE}{NUM} +STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Die Maximalhöhe von Bergen auf der Karte ändern STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE :Gemäßigt STR_CHEAT_SWITCH_CLIMATE_SUB_ARCTIC_LANDSCAPE :Subarktisch STR_CHEAT_SWITCH_CLIMATE_SUB_TROPICAL_LANDSCAPE :Subtropisch @@ -1809,6 +1846,7 @@ STR_LIVERY_FREIGHT_TRAM :Frachtstraßenb STR_FACE_CAPTION :{WHITE}Gesicht auswählen STR_FACE_CANCEL_TOOLTIP :{BLACK}Gesichtswahl abbrechen STR_FACE_OK_TOOLTIP :{BLACK}Gesichtswahl übernehmen +STR_FACE_RANDOM :{BLACK}Zufällig STR_FACE_MALE_BUTTON :{BLACK}Männlich STR_FACE_MALE_TOOLTIP :{BLACK}Wähle männliches Gesicht aus @@ -1929,13 +1967,13 @@ STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}Ein Pass STR_NETWORK_START_SERVER_UNADVERTISED :Nein STR_NETWORK_START_SERVER_ADVERTISED :Ja STR_NETWORK_START_SERVER_CLIENTS_SELECT :{BLACK}{NUM} Teilnehmer -STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Max. Teilnehmeranzahl: +STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Maximale Teilnehmeranzahl: STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS_TOOLTIP :{BLACK}Auswahl der maximal erlaubten Anzahl von Teilnehmern. Nicht alle Slots müssen belegt werden STR_NETWORK_START_SERVER_COMPANIES_SELECT :{BLACK}{NUM} Firm{P a en} -STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}Max. Firmenanzahl: +STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}Maximale Firmenanzahl: STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES_TOOLTIP :{BLACK}Begrenzt den Server auf eine bestimmte Anzahl an Firmen STR_NETWORK_START_SERVER_SPECTATORS_SELECT :{BLACK}{NUM} Zuschauer -STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS :{BLACK}Max. Zuschaueranzahl: +STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS :{BLACK}Maximale Zuschaueranzahl: STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS_TOOLTIP :{BLACK}Begrenzt den Server auf eine gewisse Anzahl an Zuschauern STR_NETWORK_START_SERVER_LANGUAGE_SPOKEN :{BLACK}Gesprochene Sprache: STR_NETWORK_START_SERVER_LANGUAGE_TOOLTIP :{BLACK}Damit andere Spieler wissen, welche Sprache auf diesem Server gesprochen wird @@ -2650,7 +2688,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-2014 OpenTTD-Team +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 OpenTTD-Team # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Spiel speichern @@ -2685,13 +2723,12 @@ STR_MAPGEN_BY :{BLACK}* STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Städteanzahl: STR_MAPGEN_DATE :{BLACK}Datum: STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Industriedichte: +STR_MAPGEN_MAX_HEIGHTLEVEL :{BLACK}Maximalhöhe der Karte: +STR_MAPGEN_MAX_HEIGHTLEVEL_UP :{BLACK}Die Maximalhöhe von Bergen auf der Karte um eins erhöhen +STR_MAPGEN_MAX_HEIGHTLEVEL_DOWN :{BLACK}Die Maximalhöhe von Bergen auf der Karte um eins verringern STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}Schneegrenze: STR_MAPGEN_SNOW_LINE_UP :{BLACK}Schneegrenze um eine Stufe erhöhen STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}Schneegrenze um eine Stufe senken -STR_MAPGEN_RANDOM_SEED :{BLACK}Zufallsstartwert: -STR_MAPGEN_RANDOM_SEED_HELP :{BLACK}Zufallsstartwert eingeben -STR_MAPGEN_RANDOM :{BLACK}Zufällig -STR_MAPGEN_RANDOM_HELP :{BLACK}Ändere den Zufallsstartwert für die Landschaftsgenerierung STR_MAPGEN_LAND_GENERATOR :{BLACK}Landgenerator: STR_MAPGEN_TREE_PLACER :{BLACK}Baumalgorithmus: STR_MAPGEN_TERRAIN_TYPE :{BLACK}Landschaftstyp: @@ -2718,7 +2755,7 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Reliefka STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Größe: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} -STR_MAPGEN_RANDOM_SEED_OSKTITLE :{BLACK}Zufallsstartwert eingeben +STR_MAPGEN_MAX_HEIGHTLEVEL_QUERY_CAPT :{WHITE}Maximalhöhe der Karte ändern STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}Höhe der Schneegrenze ändern STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Startjahr ändern @@ -2773,6 +2810,8 @@ STR_NEWGRF_SETTINGS_MOVEUP :{BLACK}Nach obe STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP :{BLACK}Die ausgewählte NewGRF-Datei in der Liste nach oben verschieben STR_NEWGRF_SETTINGS_MOVEDOWN :{BLACK}Nach unten STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP :{BLACK}Die ausgewählte NewGRF-Datei in der Liste nach unten verschieben +STR_NEWGRF_SETTINGS_UPGRADE :{BLACK}Update +STR_NEWGRF_SETTINGS_UPGRADE_TOOLTIP :{BLACK}NewGRF-Dateien updaten für die eine neuere Version installiert ist STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}Eine Liste der installierten NewGRF-Dateien STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}Parameter setzen @@ -2797,6 +2836,16 @@ STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Zugehörig STR_NEWGRF_SETTINGS_DISABLED :{RED}Deaktiviert STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Nicht mit dieser Version von OpenTTD kompatibel +# NewGRF save preset window +STR_SAVE_PRESET_CAPTION :{WHITE}Voreinstellung speichern +STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK}Liste der verfügbaren Voreinstellungen. Eine wählen, um deren Namen zum Speichern auszuwählen +STR_SAVE_PRESET_TITLE :{BLACK}Namen der Voreinstellung eingeben +STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}Name, der zum Speichern der Voreinstellung verwendet wird +STR_SAVE_PRESET_CANCEL :{BLACK}Abbrechen +STR_SAVE_PRESET_CANCEL_TOOLTIP :{BLACK}Voreinstellung nicht ändern +STR_SAVE_PRESET_SAVE :{BLACK}Speichern +STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}Voreinstellung unter dem ausgewählten Namen speichern + # NewGRF parameters window STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}NewGRF Parameter ändern STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Schließen @@ -2827,7 +2876,6 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Vorherig STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Gehe zum vorherigen normalen Sprite und überspringe alle Pseudo-, Recolour- und Schriftsprites (springt ggf. vom letzten bis zum ersten Sprite) STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Darstellung des aktuellen Sprites. Die Ausrichtung wird beim Zeichnen des Sprites ignoriert STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Bewege die Sprites und ändere dadurch die X- und Y-Offsets -STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X-Offset: {NUM}, Y-Offset: {NUM} STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Sprite auswählen STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Wähle ein Sprite vom Bildschirm aus @@ -2939,8 +2987,8 @@ STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} geliefert STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (noch benötigt) STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (geliefert) -STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Die Stadt wächst jeden {ORANGE}{COMMA}{BLACK}-ten Tag -STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Die Stadt wächst jeden {ORANGE}{COMMA}{BLACK}-ten Tag (finanziert) +STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Die Stadt wächst jeden {ORANGE}{COMMA}{BLACK}-ten{NBSP}Tag +STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Die Stadt wächst jeden {ORANGE}{COMMA}{BLACK}-ten{NBSP}Tag (finanziert) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}Die Stadt wächst {RED}nicht{BLACK} STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Lärmbelastung in der Stadt: {ORANGE}{COMMA}{BLACK} Grenzwert: {ORANGE}{COMMA} STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Hauptansicht zur Stadt scrollen. Strg+Klick öffnet neue Zusatzansicht bei der Stadt @@ -3000,7 +3048,7 @@ STR_GOAL_QUESTION_CAPTION_INFORMATION :Hinweis STR_GOAL_QUESTION_CAPTION_WARNING :Warnung STR_GOAL_QUESTION_CAPTION_ERROR :Fehler -### Start of Goal Question button list +############ Start of Goal Question button list STR_GOAL_QUESTION_BUTTON_CANCEL :Abbruch STR_GOAL_QUESTION_BUTTON_OK :OK STR_GOAL_QUESTION_BUTTON_NO :Nein @@ -3019,6 +3067,7 @@ STR_GOAL_QUESTION_BUTTON_RESTART :Neustart STR_GOAL_QUESTION_BUTTON_POSTPONE :Verschieben STR_GOAL_QUESTION_BUTTON_SURRENDER :Aufgeben STR_GOAL_QUESTION_BUTTON_CLOSE :Schließen +############ End of Goal Question button list # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}Subventionen @@ -3054,7 +3103,6 @@ STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}Keine Fr # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} -STR_STATION_VIEW_WAITING_TITLE :{BLACK}Es warten: {WHITE}{STRING} STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} von {STATION}) STR_STATION_VIEW_RESERVED :{YELLOW}({CARGO_SHORT} reserviert zum Beladen) @@ -3344,10 +3392,10 @@ STR_PURCHASE_INFO_ALL_BUT :Alles außer {C STR_PURCHASE_INFO_MAX_TE :{BLACK}Max. Zugkraft: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Reichweite: {GOLD}{COMMA} Felder -STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Schienenfahrzeugsliste - Einzelheiten durch Anklicken des Fahrzeuges -STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Straßenfahrzeugsliste - Klicke auf ein Fahrzeug für Einzelheiten -STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Schiffsliste - für Einzelheiten auf das Schiff klicken -STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Flugzeugliste - Klick auf das Flugzeug zeigt weitere Einzelheiten an +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 +STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Schiffsliste - für Einzelheiten auf das Schiff klicken. Strg+Klick schaltet um zwischen Verstecken und Zeigen des Schiffstyps +STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Flugzeugliste - Klick auf das Flugzeug zeigt weitere Einzelheiten an. Strg+Klick schaltet um zwischen Verstecken und Zeigen des Fahrzeugtyps STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}Fahrzeug kaufen STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Fahrzeug kaufen @@ -3369,6 +3417,21 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Fahrzeug STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Schiff umbenennen STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Flugzeug umbenennen +STR_BUY_VEHICLE_TRAIN_HIDE_TOGGLE_BUTTON :{BLACK}Ausblenden +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_TOGGLE_BUTTON :{BLACK}Ausblenden +STR_BUY_VEHICLE_SHIP_HIDE_TOGGLE_BUTTON :{BLACK}Ausblenden +STR_BUY_VEHICLE_AIRCRAFT_HIDE_TOGGLE_BUTTON :{BLACK}Ausblenden + +STR_BUY_VEHICLE_TRAIN_SHOW_TOGGLE_BUTTON :{BLACK}Einblenden +STR_BUY_VEHICLE_ROAD_VEHICLE_SHOW_TOGGLE_BUTTON :{BLACK}Einblenden +STR_BUY_VEHICLE_SHIP_SHOW_TOGGLE_BUTTON :{BLACK}Einblenden +STR_BUY_VEHICLE_AIRCRAFT_SHOW_TOGGLE_BUTTON :{BLACK}Ausblenden + +STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Blende das Schienenfahrzeug aus / ein +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Blende das Straßenfahrzeug aus / ein +STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Blende das Schiff aus / ein +STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Blende das Flugzeug aus / ein + STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}Zugtyp umbenennen STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}Fahrzeug umbenennen STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}Schiff umbenennen @@ -3422,7 +3485,7 @@ STR_DEPOT_CLONE_ROAD_VEHICLE :{BLACK}Fahrzeug STR_DEPOT_CLONE_SHIP :{BLACK}Schiff kopieren STR_DEPOT_CLONE_AIRCRAFT :{BLACK}Flugzeug kopieren -STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Kauft eine Kopie des Zuges mit allen Waggons. Klicke diese Schaltfläche und dann auf einen Zug innerhalb oder außerhalb des Depots. Strg+Klick erzeugt gemeinsamen Fahrplan. Shift schaltet zwischen Bauen und Kostenvoranschlag um +STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Kauft eine Kopie des Zuges mit allen Wagons. Klicke diese Schaltfläche und dann auf einen Zug innerhalb oder außerhalb des Depots. Strg+Klick erzeugt gemeinsamen Fahrplan. Shift schaltet zwischen Bauen und Kostenvoranschlag um STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Kauft eine Kopie des Fahrzeuges. Klicke auf diese Schaltfläche und dann auf ein Fahrzeug innerhalb oder außerhalb des Depots. Strg+Klick erzeugt gemeinsamen Fahrplan. Shift schaltet zwischen Bauen und Kostenvoranschlag um STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Kauft eine Kopie des Schiffes. Klicke diese Schaltfläche und dann auf eine Schiff innerhalb oder außerhalb der Werft. Strg+Klick erzeugt gemeinsamen Fahrplan. Shift schaltet zwischen Bauen und Kostenvoranschlag um STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Kauft eine Kopie des Flugzeuges. Klicke auf diese Schaltfläche und dann auf ein Flugzeug innerhalb oder außerhalb des Hangars. Strg+Klick erzeugt gemeinsamen Fahrplan. Shift schaltet zwischen Bauen und Kostenvoranschlag um @@ -3473,6 +3536,11 @@ STR_REPLACE_VEHICLE_ROAD_VEHICLE :Straßenfahrzeu STR_REPLACE_VEHICLE_SHIP :Schiff STR_REPLACE_VEHICLE_AIRCRAFT :Flugzeug +STR_REPLACE_VEHICLE_VEHICLES_IN_USE :{YELLOW}Verwendete Fahrzeuge +STR_REPLACE_VEHICLE_VEHICLES_IN_USE_TOOLTIP :{BLACK}Spalte mit Fahrzeugen aus dem eigenen Besitz +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES :{YELLOW}Verfügbare Fahrzeuge +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES_TOOLTIP :{BLACK}Spalte mit verfügbaren Ersatzfahrzeugen + STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Zu ersetzenden Fahrzeugtyp auswählen STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Fahrzeugtyp auswählen, der anstelle des links gewählten Typs verwendet werden soll @@ -3597,7 +3665,7 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Kapazit STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Transfer-Einnahmen: {LTBLUE}{CURRENCY_LONG} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Wartungsintervall: {LTBLUE}{COMMA}Tag{P "" e} {BLACK} Letzte Wartung: {LTBLUE}{DATE_LONG} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Wartungsintervall: {LTBLUE}{COMMA}{NBSP}Tag{P "" e} {BLACK} Letzte Wartung: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Wartungsintervall: {LTBLUE}{COMMA}%{BLACK} Letzte Wartung: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Wartungsintervall um 10 erhöhen. Strg+Klick erhöht um 5 STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Wartungsintervall um 10 verringern. Strg+Klick verringert um 5 @@ -3695,8 +3763,8 @@ STR_ORDER_TOOLTIP_UNLOAD :{BLACK}Ändert STR_ORDER_REFIT :{BLACK}Umrüsten STR_ORDER_REFIT_TOOLTIP :{BLACK}Frachtart auswählen, auf die umgerüstet werden soll. Strg+Klick, um einen Umrüstungsauftrag wieder zu entfernen -STR_ORDER_REFIT_AUTO :{BLACK}Automatisches Umrüsten -STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Auswählen, auf welche Frachtart automatisch umgerüstet wird. Strg+Klick um Auftrag zum Umrüsten zu entfernen. Automatisches Umrüsten wird vorgenommen, wenn das Fahrzeug es zuläßt. +STR_ORDER_REFIT_AUTO :{BLACK}Umrüstung im Bahnhof +STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Auswählen, auf welche Frachtart umgerüstet wird. Strg+Klick um Auftrag zum Umrüsten zu entfernen. Umrüsten wird vorgenommen, wenn das Fahrzeug es zuläßt. STR_ORDER_DROP_REFIT_AUTO :Vorgegebene Fracht STR_ORDER_DROP_REFIT_AUTO_ANY :Verfügbare Fracht @@ -3787,18 +3855,18 @@ STR_ORDER_NO_UNLOAD_FULL_LOAD :(Nicht entladen STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY :(Nicht entladen, aber voll beladen mit beliebiger Fracht) STR_ORDER_NO_UNLOAD_NO_LOAD :(Weder entladen noch beladen) -STR_ORDER_AUTO_REFIT :(Automatische Umrüstung auf {STRING}) -STR_ORDER_FULL_LOAD_REFIT :(Volladen mit automatischer Umrüstung auf {STRING}) -STR_ORDER_FULL_LOAD_ANY_REFIT :(Volladen einer Frachtart und automatischer Umrüstung auf {STRING}) -STR_ORDER_UNLOAD_REFIT :(Entladen und laden mit automatischer Umrüstung auf {STRING}) -STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(Umladen und warten auf volle Zuladung mit automatischer Umrüstung auf {STRING}) -STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(Entladen und warten auf volle Zuladung einer Frachtart mit automatischer Umrüstung auf {STRING}) -STR_ORDER_TRANSFER_REFIT :(Umladen und laden mit automatischer Umrüstung auf {STRING}) -STR_ORDER_TRANSFER_FULL_LOAD_REFIT :(Umladen und warten auf volle Zuladung mit automatischer Umrüstung auf {STRING}) -STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :(Umladen und warten auf volle Zuladung einer Frachtart mit automatischer Umrüstung auf {STRING}) -STR_ORDER_NO_UNLOAD_REFIT :(Nicht entladen und laden mit automatischer Umrüstung auf {STRING}) -STR_ORDER_NO_UNLOAD_FULL_LOAD_REFIT :(Nicht entladen und warten auf volle Zuladung mit automatischer Umrüstung auf {STRING}) -STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY_REFIT :(Nicht entladen und warten auf volle Zuladung einer Fracht mit automatischer Umrüstung auf {STRING}) +STR_ORDER_AUTO_REFIT :(Umrüstung auf {STRING}) +STR_ORDER_FULL_LOAD_REFIT :(Volladen mit Umrüstung auf {STRING}) +STR_ORDER_FULL_LOAD_ANY_REFIT :(Volladen einer Frachtart und Umrüstung auf {STRING}) +STR_ORDER_UNLOAD_REFIT :(Entladen und laden mit Umrüstung auf {STRING}) +STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(Umladen und warten auf volle Zuladung mit Umrüstung auf {STRING}) +STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(Entladen und warten auf volle Zuladung einer Frachtart mit Umrüstung auf {STRING}) +STR_ORDER_TRANSFER_REFIT :(Umladen und laden mit Umrüstung auf {STRING}) +STR_ORDER_TRANSFER_FULL_LOAD_REFIT :(Umladen und warten auf volle Zuladung mit Umrüstung auf {STRING}) +STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :(Umladen und warten auf volle Zuladung einer Frachtart mit Umrüstung auf {STRING}) +STR_ORDER_NO_UNLOAD_REFIT :(Nicht entladen und laden mit Umrüstung auf {STRING}) +STR_ORDER_NO_UNLOAD_FULL_LOAD_REFIT :(Nicht entladen und warten auf volle Zuladung mit Umrüstung auf {STRING}) +STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY_REFIT :(Nicht entladen und warten auf volle Zuladung einer Fracht mit Umrüstung auf {STRING}) STR_ORDER_AUTO_REFIT_ANY :verfügbare Fracht @@ -3824,13 +3892,17 @@ STR_TIMETABLE_TOOLTIP :{BLACK}Fahrplan STR_TIMETABLE_NO_TRAVEL :Nicht unterwegs STR_TIMETABLE_NOT_TIMETABLEABLE :Unterwegs (automatisch; Fahrplan abhängig vom nächsten manuellen Auftrag) STR_TIMETABLE_TRAVEL_NOT_TIMETABLED :Unterwegs (ohne Fahrplan) -STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Fahrt mit höchstens {2:VELOCITY} (ohne Fahrplan) +STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Fahrt (ohne Fahrplan) mit höchstens {2:VELOCITY} STR_TIMETABLE_TRAVEL_FOR :{STRING} unterwegs STR_TIMETABLE_TRAVEL_FOR_SPEED :Fahrt zu {STRING} mit höchstens {VELOCITY} +STR_TIMETABLE_TRAVEL_FOR_ESTIMATED :Fahre ({STRING}, ohne Fahrplan) +STR_TIMETABLE_TRAVEL_FOR_SPEED_ESTIMATED :Fahre ({STRING}, ohne Fahrplan) mit höchstens {VELOCITY} +STR_TIMETABLE_STAY_FOR_ESTIMATED :(warte {STRING}, ohne Fahrplan) +STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(fahre {STRING}, ohne Fahrplan) STR_TIMETABLE_STAY_FOR :und {STRING} lang bleiben STR_TIMETABLE_AND_TRAVEL_FOR :und {STRING} lang unterwegs -STR_TIMETABLE_DAYS :{COMMA} Tag{P "" e} -STR_TIMETABLE_TICKS :{COMMA} Tick{P "" s} +STR_TIMETABLE_DAYS :{COMMA}{NBSP}Tag{P "" e} +STR_TIMETABLE_TICKS :{COMMA}{NBSP}Tick{P "" s} STR_TIMETABLE_TOTAL_TIME :{BLACK}Dieser Fahrplan benötigt {STRING} STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}Dieser Fahrplan benötigt mindestens {STRING} (nicht alle geplant) @@ -4068,6 +4140,7 @@ STR_ERROR_EXCAVATION_WOULD_DAMAGE :{WHITE}Die Auss STR_ERROR_ALREADY_AT_SEA_LEVEL :{WHITE}... ist bereits auf Meereshöhe STR_ERROR_TOO_HIGH :{WHITE}... zu hoch STR_ERROR_ALREADY_LEVELLED :{WHITE}... ist schon flach +STR_ERROR_BRIDGE_TOO_HIGH_AFTER_LOWER_LAND :{WHITE}Anschließend wäre die Brücke darüber zu hoch. # Company related errors STR_ERROR_CAN_T_CHANGE_COMPANY_NAME :{WHITE}Firmenname kann nicht geändert werden... @@ -4094,7 +4167,7 @@ STR_ERROR_TOO_CLOSE_TO_EDGE_OF_MAP_SUB :{WHITE}... zu d STR_ERROR_TOO_CLOSE_TO_ANOTHER_TOWN :{WHITE}... zu dicht an einer anderen Stadt STR_ERROR_TOO_MANY_TOWNS :{WHITE}... zu viele Städte STR_ERROR_NO_SPACE_FOR_TOWN :{WHITE}... es ist kein Platz mehr auf dem Spielfeld -STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}Städte bauen im Moment keine Straßen. Städtischer Straßenbau kann mittels Erweiterte Einstellungen->Wirtschaft->Städte eingestellt werden +STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}Städte bauen im Moment keine Straßen. Städtischer Straßenbau kann mittels Einstellungen->Umgebung->Städte eingestellt werden STR_ERROR_ROAD_WORKS_IN_PROGRESS :{WHITE}Straßenarbeiten sind im Gange STR_ERROR_TOWN_CAN_T_DELETE :{WHITE}Stadt kann nicht gelöscht werden...{}Eine Station oder ein Depot bezieht sich auf diese Stadt oder ein Feld im städtischen Besitz kann nicht entfernt werden. STR_ERROR_STATUE_NO_SUITABLE_PLACE :{WHITE}... es gibt keinen geeigneten Standort für die Statue im Zentrum dieser Stadt @@ -4118,6 +4191,9 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... Wald STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... kann nur oberhalb der Schneegrenze errichtet werden STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... kann nur unterhalb der Schneegrenze errichtet werden +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}Es konnten für die Industrie '{STRING}' keine geeigneten Standorte gefunden werden +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Ändere die Karteneinstellungen, um eine bessere Karte zu erzeugen + # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Bahnhof kann hier nicht gebaut werden... STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}Bushaltestelle kann nicht gebaut werden... @@ -4254,6 +4330,7 @@ STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Die Brü STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}Anfang und Ende können nicht im selben Feld liegen STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}Brückenköpfe nicht auf der selben Höhe STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}Die Brücke ist zu niedrig für diese Umgebung +STR_ERROR_BRIDGE_TOO_HIGH_FOR_TERRAIN :{WHITE}Brücke ist zu hoch für dieses Terrain. STR_ERROR_START_AND_END_MUST_BE_IN :{WHITE}Anfang und Ende müssen auf einer Linie liegen STR_ERROR_ENDS_OF_BRIDGE_MUST_BOTH :{WHITE}... Brücke muss an beiden Seiten auf Land enden STR_ERROR_BRIDGE_TOO_LONG :{WHITE}... Brücke zu lang @@ -4549,7 +4626,7 @@ STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_WOOD_TRUCK :Holzwaggon STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_IRON_ORE_HOPPER :Eisenerzwaggon STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_STEEL_TRUCK :Stahltransporter STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_ARMORED_VAN :Sicherheitstransporter -STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_FOOD_VAN :Lebensmitteltransporter +STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_FOOD_VAN :Nahrungstransporter STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_PAPER_TRUCK :Papiertransporter STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_COPPER_ORE_HOPPER :Kupfererzwaggon STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_WATER_TANKER :Wassertanker @@ -4579,7 +4656,7 @@ STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_WOOD_TRUCK :Holzwaggon STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_IRON_ORE_HOPPER :Eisenerzwaggon STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_STEEL_TRUCK :Stahltransporter STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_ARMORED_VAN :Sicherheitstransporter -STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_FOOD_VAN :Lebensmitteltransporter +STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_FOOD_VAN :Nahrungstransporter STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_PAPER_TRUCK :Papiertransporter STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_COPPER_ORE_HOPPER :Kupfererzwaggon STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_WATER_TANKER :Wassertanker @@ -4611,7 +4688,7 @@ STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_WOOD_TRUCK :Holzwaggon STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_IRON_ORE_HOPPER :Eisenerzwaggon STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_STEEL_TRUCK :Stahltransporter STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_ARMORED_VAN :Sicherheitstransporter -STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_FOOD_VAN :Lebensmitteltransporter +STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_FOOD_VAN :Nahrungstransporter STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_PAPER_TRUCK :Papiertransporter STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_COPPER_ORE_HOPPER :Kupfererzwaggon STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_WATER_TANKER :Wassertanker @@ -4818,6 +4895,7 @@ STR_COMPANY_NAME :{COMPANY} STR_COMPANY_NAME_COMPANY_NUM :{COMPANY} {COMPANY_NUM} STR_DEPOT_NAME :{DEPOT} STR_ENGINE_NAME :{ENGINE} +STR_HIDDEN_ENGINE_NAME :{ENGINE} (ausgeblendet) STR_GROUP_NAME :{GROUP} STR_INDUSTRY_NAME :{INDUSTRY} STR_PRESIDENT_NAME :{PRESIDENT_NAME} @@ -4853,8 +4931,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -4865,9 +4941,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/greek.txt b/src/lang/greek.txt index 29b72bbd92..90892a02ea 100644 --- a/src/lang/greek.txt +++ b/src/lang/greek.txt @@ -158,30 +158,30 @@ STR_CARGO_SINGULAR_FIZZY_DRINK.subs :{G=n}Αναψυ # Quantity of cargo STR_QUANTITY_NOTHING : -STR_QUANTITY_PASSENGERS :{COMMA} επιβάτ{P ης ες} +STR_QUANTITY_PASSENGERS :{COMMA}{NBSP}επιβάτ{P ης ες} STR_QUANTITY_COAL :{WEIGHT_LONG} άνθρακα -STR_QUANTITY_MAIL :{COMMA} σάκο{P ς ι} με αλληλογραφία +STR_QUANTITY_MAIL :{COMMA}{NBSP}σάκο{P ς ι} με αλληλογραφία STR_QUANTITY_OIL :{VOLUME_LONG} πετρελαίου -STR_QUANTITY_LIVESTOCK :{COMMA} τεμάχι{P ο α} ζώων -STR_QUANTITY_GOODS :{COMMA} κιβώτι{P ο α} αγαθών +STR_QUANTITY_LIVESTOCK :{COMMA}{NBSP}τεμάχι{P ο α} ζώων +STR_QUANTITY_GOODS :{COMMA}{NBSP}κιβώτι{P ο α} αγαθών STR_QUANTITY_GRAIN :{WEIGHT_LONG} σιτηρών STR_QUANTITY_WOOD :{WEIGHT_LONG} ξύλου STR_QUANTITY_IRON_ORE :{WEIGHT_LONG} μεταλλεύματος σιδήρου STR_QUANTITY_STEEL :{WEIGHT_LONG} χάλυβα -STR_QUANTITY_VALUABLES :{COMMA} σάκ{P ος οι} με πολύτιμα είδη +STR_QUANTITY_VALUABLES :{COMMA}{NBSP}σάκ{P ος οι} με πολύτιμα είδη STR_QUANTITY_COPPER_ORE :{WEIGHT_LONG} μεταλλεύματος χαλκού STR_QUANTITY_MAIZE :{WEIGHT_LONG} καλαμποκιού STR_QUANTITY_FRUIT :{WEIGHT_LONG} φρούτων -STR_QUANTITY_DIAMONDS :{COMMA} σάκ{P ος οι} με διαμάντια +STR_QUANTITY_DIAMONDS :{COMMA}{NBSP}σάκ{P ος οι} με διαμάντια STR_QUANTITY_FOOD :{WEIGHT_LONG} τροφίμων STR_QUANTITY_PAPER :{WEIGHT_LONG} χαρτιού -STR_QUANTITY_GOLD :{COMMA} σάκ{P ος οι} με χρυσό +STR_QUANTITY_GOLD :{COMMA}{NBSP}σάκ{P ος οι} με χρυσό STR_QUANTITY_WATER :{VOLUME_LONG} νερού STR_QUANTITY_WHEAT :{WEIGHT_LONG} σιταριού STR_QUANTITY_RUBBER :{VOLUME_LONG} λάστιχου STR_QUANTITY_SUGAR :{WEIGHT_LONG} ζάχαρης -STR_QUANTITY_TOYS :{COMMA} παιχνίδι{P "" α} -STR_QUANTITY_SWEETS :{COMMA} σάκ{P ος οι} με γλυκά +STR_QUANTITY_TOYS :{COMMA}{NBSP}παιχνίδι{P "" α} +STR_QUANTITY_SWEETS :{COMMA}{NBSP}σάκ{P ος οι} με γλυκά STR_QUANTITY_COLA :{VOLUME_LONG} κόλας STR_QUANTITY_CANDYFLOSS :{WEIGHT_LONG} μαλλιού της γριάς STR_QUANTITY_BUBBLES :{COMMA} φυσαλίδ{P α ες} @@ -228,12 +228,12 @@ STR_ABBREV_NONE :{TINY_FONT}ΤΠ STR_ABBREV_ALL :{TINY_FONT}ΟΛΑ # 'Mode' of transport for cargoes -STR_PASSENGERS :{COMMA} επιβάτ{P ης ες} -STR_BAGS :{COMMA} σάκκ {P ος οι} -STR_TONS :{COMMA} τόνο{P ς οι} -STR_LITERS :{COMMA} λίτρ{P ο α} -STR_ITEMS :{COMMA} αντικείμεν{P ο α} -STR_CRATES :{COMMA} κουτ{P ί ιά} +STR_PASSENGERS :{COMMA}{NBSP}επιβάτ{P ης ες} +STR_BAGS :{COMMA}{NBSP}σάκκ {P ος οι} +STR_TONS :{COMMA}{NBSP}τόνο{P ς οι} +STR_LITERS :{COMMA}{NBSP}λίτρ{P ο α} +STR_ITEMS :{COMMA}{NBSP}αντικείμεν{P ο α} +STR_CRATES :{COMMA}{NBSP}κουτ{P ί ιά} # Colours, do not shuffle STR_COLOUR_DARK_BLUE :Σκούρο Μπλε @@ -254,37 +254,37 @@ STR_COLOUR_GREY :Γκρι STR_COLOUR_WHITE :Λευκό # Units used in OpenTTD -STR_UNITS_VELOCITY_IMPERIAL :{COMMA} mph -STR_UNITS_VELOCITY_METRIC :{COMMA} χλμ/ω -STR_UNITS_VELOCITY_SI :{COMMA} m/s +STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}mph +STR_UNITS_VELOCITY_METRIC :{COMMA}{NBSP}χλμ/ω +STR_UNITS_VELOCITY_SI :{COMMA}{NBSP}m/s -STR_UNITS_POWER_IMPERIAL :{COMMA}hp -STR_UNITS_POWER_METRIC :{COMMA}hp -STR_UNITS_POWER_SI :{COMMA}kW +STR_UNITS_POWER_IMPERIAL :{COMMA}{NBSP}hp +STR_UNITS_POWER_METRIC :{COMMA}{NBSP}hp +STR_UNITS_POWER_SI :{COMMA}{NBSP}kW -STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}t -STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}t -STR_UNITS_WEIGHT_SHORT_SI :{COMMA}kg +STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_SI :{COMMA}{NBSP}kg -STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA} τόνο{P ς ι} -STR_UNITS_WEIGHT_LONG_METRIC :{COMMA} τόνο{P ς ι} -STR_UNITS_WEIGHT_LONG_SI :{COMMA} kg +STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA}{NBSP}τόνο{P ς ι} +STR_UNITS_WEIGHT_LONG_METRIC :{COMMA}{NBSP}τόνο{P ς ι} +STR_UNITS_WEIGHT_LONG_SI :{COMMA}{NBSP}kg -STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}γαλ -STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}λ -STR_UNITS_VOLUME_SHORT_SI :{COMMA}m³ +STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}{NBSP}γαλ +STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}{NBSP}λ +STR_UNITS_VOLUME_SHORT_SI :{COMMA}{NBSP}m³ -STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA} γαλόν{P "ι" "ια"} -STR_UNITS_VOLUME_LONG_METRIC :{COMMA} λίτρ{P ο α} -STR_UNITS_VOLUME_LONG_SI :{COMMA} m³ +STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA}{NBSP}γαλόν{P "ι" "ια"} +STR_UNITS_VOLUME_LONG_METRIC :{COMMA}{NBSP}λίτρ{P ο α} +STR_UNITS_VOLUME_LONG_SI :{COMMA}{NBSP}m³ -STR_UNITS_FORCE_IMPERIAL :{COMMA} lbf -STR_UNITS_FORCE_METRIC :{COMMA} kgf -STR_UNITS_FORCE_SI :{COMMA} kN +STR_UNITS_FORCE_IMPERIAL :{COMMA}{NBSP}lbf +STR_UNITS_FORCE_METRIC :{COMMA}{NBSP}kgf +STR_UNITS_FORCE_SI :{COMMA}{NBSP}kN -STR_UNITS_HEIGHT_IMPERIAL :{COMMA} πόδια -STR_UNITS_HEIGHT_METRIC :{COMMA} μ -STR_UNITS_HEIGHT_SI :{COMMA} m +STR_UNITS_HEIGHT_IMPERIAL :{COMMA}{NBSP}πόδια +STR_UNITS_HEIGHT_METRIC :{COMMA}{NBSP}μ +STR_UNITS_HEIGHT_SI :{COMMA}{NBSP}m # Common window strings STR_LIST_FILTER_TITLE :{BLACK}Φιλτράρισμα λίστας: @@ -311,6 +311,17 @@ STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Μπάρ STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Μπάρα κίνησης - κινεί τη λίστα αριστερά/δεξιά STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Κατεδάφιση κτιρίων κλπ. σε συγκεκριμένο τετράγωνο. Με Ctrl επιλέγεται μια επιφάνεια διαγώνια. Με Shift εναλλάσσεται κτίσιμο/εμφάνιση εκτίμησης κόστους +# Show engines button +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}Εμφάνιση κρυφών +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK}Εμφάνιση κρυφών +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}Εμφάνιση κρυφών +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}Εμφάνιση κρυφών + +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}Ενεργοποιώντας αυτό το κουμπί, εμφανίζονται και τα κρυφά βαγόνια +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE_TOOLTIP :{BLACK}Ενεργοποιώντας αυτό το κουμπί, εμφανίζονται και τα κρυφά οχήματα δρόμου +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}Ενεργοποιώντας αυτό το κουμπί, εμφανίζονται και τα κρυφά πλοία +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Ενεργοποιώντας αυτό το κουμπί, εμφανίζονται και τα κρυφά αεροσκάφη + # Query window STR_BUTTON_DEFAULT :{BLACK}Προεπιλογή STR_BUTTON_CANCEL :{BLACK}Ακύρωση @@ -423,7 +434,7 @@ STR_SCENEDIT_FILE_MENU_QUIT :Έξοδος ############ range for settings menu starts STR_SETTINGS_MENU_GAME_OPTIONS :Επιλογές παιχνιδιού -STR_SETTINGS_MENU_CONFIG_SETTINGS :Προχωρημένες ρυθμίσεις +STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Ρυθμίσεις STR_SETTINGS_MENU_SCRIPT_SETTINGS :Ρυθμίσεις ΑΙ και Δέσμης Ενεργειών STR_SETTINGS_MENU_NEWGRF_SETTINGS :Ρυθμίσεις NewGRF STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Επιλογές διαφάνειας @@ -449,6 +460,7 @@ STR_FILE_MENU_EXIT :Έξοδος # map menu STR_MAP_MENU_MAP_OF_WORLD :Χάρτης του κόσμου STR_MAP_MENU_EXTRA_VIEW_PORT :Πρόσθετη εμφάνιση +STR_MAP_MENU_LINGRAPH_LEGEND :Υπόμνημα Ροής Φορτίου STR_MAP_MENU_SIGN_LIST :Λίστα πινακίδων ############ range for town menu starts @@ -531,7 +543,7 @@ STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Εναλλαγ STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Εναλλαγή χρωματισμού λερωμένων τετραγωνίδιων ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window STR_ORDINAL_NUMBER_1ST :1ος STR_ORDINAL_NUMBER_1ST.date :1η STR_ORDINAL_NUMBER_2ND :2ος @@ -562,38 +574,71 @@ STR_ORDINAL_NUMBER_14TH :14ος STR_ORDINAL_NUMBER_14TH.date :14η STR_ORDINAL_NUMBER_15TH :15ος STR_ORDINAL_NUMBER_15TH.date :15η -STR_ORDINAL_NUMBER_16TH :16ος -STR_ORDINAL_NUMBER_16TH.date :16η -STR_ORDINAL_NUMBER_17TH :17ος -STR_ORDINAL_NUMBER_17TH.date :17η -STR_ORDINAL_NUMBER_18TH :18ος -STR_ORDINAL_NUMBER_18TH.date :18η -STR_ORDINAL_NUMBER_19TH :19ος -STR_ORDINAL_NUMBER_19TH.date :19η -STR_ORDINAL_NUMBER_20TH :20ος -STR_ORDINAL_NUMBER_20TH.date :20η -STR_ORDINAL_NUMBER_21ST :21ος -STR_ORDINAL_NUMBER_21ST.date :21η -STR_ORDINAL_NUMBER_22ND :22ος -STR_ORDINAL_NUMBER_22ND.date :22η -STR_ORDINAL_NUMBER_23RD :23ος -STR_ORDINAL_NUMBER_23RD.date :23η -STR_ORDINAL_NUMBER_24TH :24ος -STR_ORDINAL_NUMBER_24TH.date :24η -STR_ORDINAL_NUMBER_25TH :25ος -STR_ORDINAL_NUMBER_25TH.date :25η -STR_ORDINAL_NUMBER_26TH :26ος -STR_ORDINAL_NUMBER_26TH.date :26η -STR_ORDINAL_NUMBER_27TH :27ος -STR_ORDINAL_NUMBER_27TH.date :27η -STR_ORDINAL_NUMBER_28TH :28ος -STR_ORDINAL_NUMBER_28TH.date :28η -STR_ORDINAL_NUMBER_29TH :29ος -STR_ORDINAL_NUMBER_29TH.date :29η -STR_ORDINAL_NUMBER_30TH :30ος -STR_ORDINAL_NUMBER_30TH.date :30η -STR_ORDINAL_NUMBER_31ST :31ος -STR_ORDINAL_NUMBER_31ST.date :31η +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :1ος +STR_DAY_NUMBER_1ST.date :1η +STR_DAY_NUMBER_2ND :2ος +STR_DAY_NUMBER_2ND.date :2η +STR_DAY_NUMBER_3RD :3ος +STR_DAY_NUMBER_3RD.date :3η +STR_DAY_NUMBER_4TH :4ος +STR_DAY_NUMBER_4TH.date :4η +STR_DAY_NUMBER_5TH :5ος +STR_DAY_NUMBER_5TH.date :5η +STR_DAY_NUMBER_6TH :6ος +STR_DAY_NUMBER_6TH.date :6η +STR_DAY_NUMBER_7TH :7ος +STR_DAY_NUMBER_7TH.date :7η +STR_DAY_NUMBER_8TH :8ος +STR_DAY_NUMBER_8TH.date :8η +STR_DAY_NUMBER_9TH :9ος +STR_DAY_NUMBER_9TH.date :9η +STR_DAY_NUMBER_10TH :10ος +STR_DAY_NUMBER_10TH.date :10η +STR_DAY_NUMBER_11TH :11ος +STR_DAY_NUMBER_11TH.date :11η +STR_DAY_NUMBER_12TH :12ος +STR_DAY_NUMBER_12TH.date :12η +STR_DAY_NUMBER_13TH :13ος +STR_DAY_NUMBER_13TH.date :13η +STR_DAY_NUMBER_14TH :14ος +STR_DAY_NUMBER_14TH.date :14η +STR_DAY_NUMBER_15TH :15ος +STR_DAY_NUMBER_15TH.date :15η +STR_DAY_NUMBER_16TH :16ος +STR_DAY_NUMBER_16TH.date :16η +STR_DAY_NUMBER_17TH :17ος +STR_DAY_NUMBER_17TH.date :17η +STR_DAY_NUMBER_18TH :18ος +STR_DAY_NUMBER_18TH.date :18η +STR_DAY_NUMBER_19TH :19ος +STR_DAY_NUMBER_19TH.date :19η +STR_DAY_NUMBER_20TH :20ος +STR_DAY_NUMBER_20TH.date :20η +STR_DAY_NUMBER_21ST :21ος +STR_DAY_NUMBER_21ST.date :21η +STR_DAY_NUMBER_22ND :22ος +STR_DAY_NUMBER_22ND.date :22η +STR_DAY_NUMBER_23RD :23ος +STR_DAY_NUMBER_23RD.date :23η +STR_DAY_NUMBER_24TH :24ος +STR_DAY_NUMBER_24TH.date :24η +STR_DAY_NUMBER_25TH :25ος +STR_DAY_NUMBER_25TH.date :25η +STR_DAY_NUMBER_26TH :26ος +STR_DAY_NUMBER_26TH.date :26η +STR_DAY_NUMBER_27TH :27ος +STR_DAY_NUMBER_27TH.date :27η +STR_DAY_NUMBER_28TH :28ος +STR_DAY_NUMBER_28TH.date :28η +STR_DAY_NUMBER_29TH :29ος +STR_DAY_NUMBER_29TH.date :29η +STR_DAY_NUMBER_30TH :30ος +STR_DAY_NUMBER_30TH.date :30η +STR_DAY_NUMBER_31ST :31ος +STR_DAY_NUMBER_31ST.date :31η ############ range for days ends ############ range for months starts @@ -766,12 +811,14 @@ STR_SMALLMAP_CAPTION :{WHITE}Χάρτ STR_SMALLMAP_TYPE_CONTOURS :Περιγράμματα STR_SMALLMAP_TYPE_VEHICLES :Οχήματα STR_SMALLMAP_TYPE_INDUSTRIES :Βιομηχανίες +STR_SMALLMAP_TYPE_ROUTEMAP :Ροή Φορτίου STR_SMALLMAP_TYPE_ROUTES :Διαδρομές STR_SMALLMAP_TYPE_VEGETATION :Βλάστηση STR_SMALLMAP_TYPE_OWNERS :Ιδιοκτήτες STR_SMALLMAP_TOOLTIP_SHOW_LAND_CONTOURS_ON_MAP :{BLACK}Εμφανίστε περιγράμματα εδάφους στον χάρτη STR_SMALLMAP_TOOLTIP_SHOW_VEHICLES_ON_MAP :{BLACK}Εμφανίστε οχήματα στον χάρτη STR_SMALLMAP_TOOLTIP_SHOW_INDUSTRIES_ON_MAP :{BLACK}Εμφανίστε βιομηχανίες στον χάρτη +STR_SMALLMAP_TOOLTIP_SHOW_LINK_STATS_ON_MAP :{BLACK}Εμφάνιση ροής φορτίων στο χάρτη STR_SMALLMAP_TOOLTIP_SHOW_TRANSPORT_ROUTES_ON :{BLACK}Εμφανίστε μεταφορικούς οδούς στον χάρτη STR_SMALLMAP_TOOLTIP_SHOW_VEGETATION_ON_MAP :{BLACK}Εμφανίστε βλάστηση στον χάρτη STR_SMALLMAP_TOOLTIP_SHOW_LAND_OWNERS_ON_MAP :{BLACK}Εμφανίστε ιδιοκτήτες γης στον χάρτη @@ -821,6 +868,8 @@ STR_SMALLMAP_TOOLTIP_ENABLE_ALL_INDUSTRIES :{BLACK}Εμφά STR_SMALLMAP_TOOLTIP_SHOW_HEIGHT :{BLACK}Εναλλάγη εμφάνισης υψομετρικού χάρτη STR_SMALLMAP_TOOLTIP_DISABLE_ALL_COMPANIES :{BLACK}Απόκρυψη όλων των ιδιοκτησιών των εταιριών στον χάρτη STR_SMALLMAP_TOOLTIP_ENABLE_ALL_COMPANIES :{BLACK}Εμφάνιση όλων των ιδιοκτησιών των εταιριών στον χάρτη +STR_SMALLMAP_TOOLTIP_DISABLE_ALL_CARGOS :{BLACK}Απόκρυψη όλων των φορτίων στο χάρτη +STR_SMALLMAP_TOOLTIP_ENABLE_ALL_CARGOS :{BLACK}Εμφάνιση όλων των φορτίων στο χάρτη # Status bar messages STR_STATUSBAR_TOOLTIP_SHOW_LAST_NEWS :{BLACK}Εμφάνιση τελευταίου μηνύματος ή αναφοράς νέων @@ -897,13 +946,12 @@ STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}Το {VE STR_NEWS_SHIP_IS_WAITING :{WHITE}Το {VEHICLE} περιμένει στο ναυπήγειο STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}Το {VEHICLE} περιμένει στο υπόστεγο αεροσκαφών -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE +# Order review system / warnings STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}Το {VEHICLE} έχει πολύ λίγες εντολές στο πρόγραμμα STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}Το {VEHICLE} έχει μη έγκυρη εντολή STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}Το {VEHICLE} έχει διπλή εντολή STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}Το {VEHICLE} έχει μη έγκυρο σταθμό στις εντολές του -# end of order system +STR_NEWS_PLANE_USES_TOO_SHORT_RUNWAY :{WHITE}Το όχημα {VEHICLE} έχει στους προορισμούς του ένα αεροδρόμιο με πολύ μικρό αεροδιάδρομο STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}Το {VEHICLE} αρχίζει να παλιώνει STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}Το {VEHICLE} ξεπερνά το όριο ηλικίας @@ -986,10 +1034,6 @@ STR_GAME_OPTIONS_CURRENCY_GEL :Γεοργια STR_GAME_OPTIONS_CURRENCY_IRR :Ιρανικό Ριάλ (IRR) ############ end of currency region - -############ start of measuring units region -############ end of measuring units region - STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Οχήματα δρόμου STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}Επιλογή πλευράς δρόμου όπου τα οχήματα οδηγούν STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :Οδηγούν από αριστερά @@ -1025,11 +1069,13 @@ STR_GAME_OPTIONS_TOWN_NAME_CATALAN :Καταλαν STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Αυτόματη αποθήκευση STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Επιλογή διάκενου ανάμεσα στις αυτόματες αποθηκεύσεις +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Ανενεργό STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :Κάθε μήνα STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :Κάθε 3 μήνες STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :Κάθε 6 μήνες STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :Κάθε 12 μήνες +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}Γλώσσα STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Επιλογή της γλώσσας του παιχνιδιού @@ -1041,8 +1087,10 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}Ανάλ STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Διαλέξτε την ανάλυση της οθόνης που θέλετε STR_GAME_OPTIONS_RESOLUTION_OTHER :άλλη -STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}Τύπος αρχείου στιγμιότυπου οθόνης -STR_GAME_OPTIONS_SCREENSHOT_FORMAT_TOOLTIP :{BLACK}Επιλογή του τύπου αρχείου για το στιγμιότυπο οθόνης + +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Κανονικό +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Διπλό μέγεθος +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Τετραπλό μέγεθος STR_GAME_OPTIONS_BASE_GRF :{BLACK}Βασικό σετ γραφικών STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Επιλογή του βασικού σετ γραφικών που θα χρησιμοποιηθεί @@ -1058,6 +1106,7 @@ STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Επιλ STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} κατεστραμμέν{P ο α} αρχεί{P ο α} STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Επιπλέον πληροφορίες σχετικά με το βασικό σετ μουσικής +STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Αποτυχία ανάκτησης λίστας υποστηριζόμενων αναλύσεων STR_ERROR_FULLSCREEN_FAILED :{WHITE}Θέση του παιχνιδιού σε λειτουργία πλήρης οθόνης απέτυχε # Custom currency window @@ -1143,8 +1192,8 @@ STR_CITY_APPROVAL_HOSTILE :Εχθρική STR_WARNING_NO_SUITABLE_AI :{WHITE}Δεν είναι διαθέσιμο κανένα κατάλληλο Al...{}Μπορείτε να κατεβάσετε AIs μέσω του συστήματος «Διαδικτυακού Περιεχομένου» -# Advanced settings window -STR_CONFIG_SETTING_CAPTION :{WHITE}Προηγμένες Ρυθμίσεις +# Settings tree window +STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Ρυθμίσεις STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Φιλτράρισμα: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Επέκταση όλων STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Σύμπτυξη όλων @@ -1159,10 +1208,10 @@ STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :Ρύθμιση STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK}Κατηγορία: STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}Τύπος: -STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Μειώνει την παρακάτω λίστα προβάλλοντας μόνο αλλαγμένες ρυθμίσεις -STR_CONFIG_SETTING_RESTRICT_BASIC :Βασικές ρυθμίσεις -STR_CONFIG_SETTING_RESTRICT_ADVANCED :Προχωρημένες ρυθμίσεις -STR_CONFIG_SETTING_RESTRICT_ALL :Προχωρημένες ρυθμίσεις / όλες οι ρυθμίσεις +STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Περιορίζει την παρακάτω λίστα με τη χρήση προκαθορισμένων φίλτρων +STR_CONFIG_SETTING_RESTRICT_BASIC :Βασικές (εμφάνιση μόνο σημαντικών ρυθμίσεων) +STR_CONFIG_SETTING_RESTRICT_ADVANCED :Για προχωρημένους (εμφάνιση των περισσότερων ρυθμίσεων) +STR_CONFIG_SETTING_RESTRICT_ALL :Για ειδικούς (εμφάνιση όλων των ρυθμίσεων, ακομη και παράξενων) STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :Ρυθμίσεις με διαφορετική τιμή από την προκαθωρισμένη STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :Ρυθμίσεις με διαφορετική τιμή από τις ρυθμίσεις νέου παιχνιδιού σας @@ -1172,7 +1221,7 @@ STR_CONFIG_SETTING_TYPE_DROPDOWN_CLIENT :Ρυθμίσε STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :Ρυθμίσεις παιχνιδιού (διατηρούνται στις αποθηκεύσεις· επηρεάζουν μόνο τα νέα παιχνίδια) STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :Ρυθμίσεις παιχνιδιού (διατηρούνται στις αποθηκεύσεις· επηρεάζουν μόνο το τρέχον παιχνίδι) STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :Ρυθμίσεις εταιρίας (διατηρούνται στις αποθηκεύσεις· επηρεάζουν μόνο τα νέα παιχνίδια) -STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :Ρυθμίσεις εταιρίας (διατηρούνται στις αποθηκεύσεις· επηρεάζουν μόνο την τωρινή εταιρία) +STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :Ρυθμίσεις εταιρίας (διατηρούνται στις αποθηκεύσεις· επηρεάζουν μόνο την τρέχουσα εταιρία) STR_CONFIG_SETTING_CATEGORY_HIDES :{BLACK}Εμφάνιση όλων των αποτελεσμάτων αναζήτησης ανά ρύθμιση{}{SILVER}Κατηγορία {BLACK}εώς {WHITE}{STRING} STR_CONFIG_SETTING_TYPE_HIDES :{BLACK}Εμφάνιση όλων των αποτελεσμάτων αναζήτησης ανά ρύθμιση{}{SILVER}Τύπος {BLACK}εώς {WHITE}Όλοι οι τύποι ρυθμίσεων STR_CONFIG_SETTING_CATEGORY_AND_TYPE_HIDES :{BLACK}Εμφάνιση όλων των αποτελεσμάτων αναζήτησης ανά ρύθμιση{}{SILVER}Κατηγορία {BLACK}εώς {WHITE}{STRING} {BLACK}και {SILVER}Τύπος {BLACK}εώς {WHITE}Όλοι οι τύποι ρυθμίσεων @@ -1213,11 +1262,11 @@ STR_CONFIG_SETTING_RECESSIONS_HELPTEXT :Όταν είν STR_CONFIG_SETTING_TRAIN_REVERSING :Απαγορεύεται η αντιστροφή τρένων στους σταθμούς: {STRING} STR_CONFIG_SETTING_TRAIN_REVERSING_HELPTEXT :Όταν είναι ενεργοποιημένο, τα τρένα δεν θα κάνουν όπισθεν σε μη-τελικούς σταθμούς, ακόμα και εάν υπάρχει κοντινότερη διαδρομή προς τον επόμενή τους προορισμό όταν κάνουν όπισθεν STR_CONFIG_SETTING_DISASTERS :Καταστροφές: {STRING} -STR_CONFIG_SETTING_CITY_APPROVAL :Στάση δημοτικού συμβουλίου προς τον μετασχηματισμό της περιοχής: {STRING} +STR_CONFIG_SETTING_CITY_APPROVAL :Στάση δημοτικού συμβουλίου ως προς τον μετασχηματισμό της περιοχής: {STRING} -STR_CONFIG_SETTING_BUILDONSLOPES :Επιτρέπεται το κτίσιμο σε πλαγιές και ακτές: {STRING} -STR_CONFIG_SETTING_BUILDONSLOPES_HELPTEXT :Όταν είναι ενεργοποιημένο, οι σιδηροτροχιές και σταθμοί μπορούν να κτισθούν στις περισσότερες κλίσεις. Όταν είναι απενεργοποιημένο, επιτρέπονται μόνο όπου αντιστοιχούν στην κατεύθυνση της σιδηροτροχιάς και γι' αυτό δεν χρειάζονται θεμέλια -STR_CONFIG_SETTING_AUTOSLOPE :Να επιτρέπεται η διαμόρφωση εδάφους κάτω από κτίρια, γραμμές, κλπ. (αυτόματη κλίση): {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :Μέγιστο ύψος χάρτη: {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :Ορισμός του μέγιστου επιτρεπτού ύψους βουνών στο χάρτη +STR_CONFIG_SETTING_AUTOSLOPE :Να επιτρέπεται η διαμόρφωση εδάφους κάτω από κτίρια, γραμμές, κλπ.: {STRING} STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Επιτρέπεται η διαμόρφωση του εδάφους κάτω από κτίρια και σιδηροτροχιές χωρίς αυτά να αφαιρούνται STR_CONFIG_SETTING_CATCHMENT :Επιτρέπονται πιο ρεαλιστικά ταξινομημένες περιοχές συλλογής : {STRING} STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Διαφορετικοί σταθμοί και αεροδρόμια έχουν περιοχές κάλυψης διαφορετικού μεγέθους @@ -1241,23 +1290,19 @@ STR_CONFIG_SETTING_FORBID_90_DEG :Απαγόρε STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Στροφές 90 μοιρών προκύπτουν όταν μια οριζόντια σιδηροτροχιά ακολουθείται από μια κάθετη στο επόμενο τετραγωνίδιο, κάνοντας το τραίνο να στρίψει κατά 90 μοίρες όταν αλλάζει τετραγωνίδιο, αντί για τις συνηθισμένες 45 μοίρες σε άλλους συνδυασμούς σιδηροτροχιών. Αυτό έχει επίσης εφαρμογή στην ακτίνα στροφής των πλοίων STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Να επιτρέπεται η συνένωση μη παρακείμενων σταθμών: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Επιτρέπεται η προσθήκη τμημάτων σε σταθμό χωρίς αυτά να αγγίζουν τα ήδη υπάρχοντα τμήματα. Χρειάζεται Ctrl+Κλικ κατά την τοποθέτηση των νέων τμημάτων -STR_CONFIG_SETTING_IMPROVEDLOAD :Χρησιμοποίηση βελτιωμένου αλγόριθμου φόρτωσης: {STRING} -STR_CONFIG_SETTING_IMPROVEDLOAD_HELPTEXT :Όταν είναι ενεργό, τα οχήματα που περιμένουν σε ένα σταθμό φορτώνονται με τη σειρά. Η φόρτωση του επόμενου οχήματος αρχίζει μόνο όταν υπάρχει αρκετό φορτίο σε αναμονή ώστε να γεμίσει πλήρως το πρώτο όχημα -STR_CONFIG_SETTING_GRADUAL_LOADING :Φόρτωση οχημάτων σταδιακά: {STRING} -STR_CONFIG_SETTING_GRADUAL_LOADING_HELPTEXT :Σταδιακή φόρτωση των οχημάτων χρησιμοποιώντας τους χρόνους φόρτωσής τους, αντί της φόρτωσης όλων δια μιας σε ορισμένο χρόνο που εξαρτάται μόνο από την ποσότητα του φορτίου που φορτώθηκε STR_CONFIG_SETTING_INFLATION :Πληθωρισμός: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :Ενεργοποίηση του πληθωρισμού στην οικονομία, όπου τα κόστη αυξάνονται ελάχιστα ταχύτερα από τις πληρωμές -STR_CONFIG_SETTING_SELECTGOODS :Παράδοση φορτίου σε σταθμό μόνο όταν υπάρχει ζήτηση: {STRING} -STR_CONFIG_SETTING_SELECTGOODS_HELPTEXT :Παραδίδονται σε σταθμό μόνο τα φορτία που ζητήθηκαν από όχημα που φορτώνει. Αυτό αποτρέπει τις χαμηλές αξιολογήσεις για φορτία που δεν εξυπηρετούνται από το σταθμό STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Μέγιστο μήκος γέφυρας: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Μέγιστο μήκος για κτίσιμο γεφυρών +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :Μέγιστο ύψος γέφυρας: {STRING} +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :Μέγιστο ύψος για το χτίσιμο γεφυρών STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Μέγιστο μήκος σήραγγας: {STRING} STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :Μέγιστο μήκος για κτίσιμο συράγγων STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Χειροκίνητη μέθοδος κατασκευής βιομηχανιών πρώτων υλών: {STRING} STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_HELPTEXT :Μέθοδος χρηματοδότησης πρωτογενούς βιομηχανίας. «Καμία» σημαίνει ότι δεν γίνεται να χρηματοδοτηθεί καμία βιομηχανία, «Αναζήτηση» σημαίνει ότι η χρηματοδότηση είναι εφικτή, αλλά η κατασκευή πραγματοποιείται σε τυχαίο σημείο του χάρτη και είναι πιθανό να αποτύχει, «Όπως οι άλλες βιομηχανίες» σημαίνει πως οι πρωτογενείς βιομηχανίες είναι εφικτό να κατασκευαστούν από εταιρείες όπως οι δευτερογενείς βιομηχανίες σε οποιαδήποτε θέση θέλουν STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NONE :Καμία STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NORMAL :Όπως οι άλλες βιομηχανίες -STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_PROSPECTING :Αναζήτηση +STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_PROSPECTING :Διερεύνηση προοπτικών STR_CONFIG_SETTING_INDUSTRY_PLATFORM :Επίπεδη περιοχή γύρω από βιομηχανίες: {STRING} STR_CONFIG_SETTING_INDUSTRY_PLATFORM_HELPTEXT :Επίπεδος χώρος γύρω από μια βιομηχανία. Αυτό εξασφαλίζει ότι θα παραμείνει διαθέσιμος κενός χώρος γύρω από μια βιομηχανία για να κτισθούν γραμμές, κλπ STR_CONFIG_SETTING_MULTIPINDTOWN :Επιτρέπονται πολλαπλές όμοιες βιομηχανίες ανά πόλη: {STRING} @@ -1276,8 +1321,6 @@ STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Το προεπ STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :κοντινό άκρο STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :στη μέση STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :μακρινό άκρο -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING :Ουρά οχημάτων (με κβαντικά εφέ): {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING_HELPTEXT :Υποχρεώνεται το όχημα να περιμένει μπροστά από τις κατειλημμένες στάσεις μέχρι να ελευθερωθούν STR_CONFIG_SETTING_AUTOSCROLL :Μετακίνηση παραθύρου όταν το ποντίκι είναι στην άκρη: {STRING} STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Όταν είναι ενεργή, η εμφάνιση θα κυλά όταν το ποντίκι είναι κοντά στην άκρη του παραθύρου STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Απενεργοποιημένη @@ -1308,10 +1351,6 @@ STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Επιτρέπ STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Επιτρέπεται η κατασκευή στάσεων πάνω σε δρόμους που είναι ιδιοκτησία των πόλεων STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Επιτρέπονται οι στάσεις σε δρόμους που ανήκουν σε ανταγωνιστές: {STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Επιτρέπεται η κατασκευή στάσεων πάνω σε δρόμους που ανοίκουν σε ανταγωνιστές -STR_CONFIG_SETTING_ADJACENT_STATIONS :Επιτρέπεται η κατασκευή παρακείμενων σταθμών: {STRING} -STR_CONFIG_SETTING_ADJACENT_STATIONS_HELPTEXT :Επιτρέπεται να ακουμπούν μεταξύ τους διαφορετικοί σταθμοί -STR_CONFIG_SETTING_DYNAMIC_ENGINES :Επιτρέπεται η χρήση πολλαπλών μηχανών από τα NewGRF: {STRING} -STR_CONFIG_SETTING_DYNAMIC_ENGINES_HELPTEXT :Επιλογή συμβατότητας για παλιά NewGRF. Μην την απενεργοποιήσετε, εκτός αν ξέρετε καλά τι κάνετε! STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Δεν είναι δυνατή η αλλαγή αυτής της ρύθμισης όταν υπάρχουν οχήματα. STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Συντήρηση υποδομής: {STRING} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Όταν είναι ενεργοποιημένη, οι υποδομές προκαλούν έξοδα συντήρησης. Το κόστος μεγαλώνει δυσανάλογα με το μέγεθος του δικτύου, επηρεάζοντας έτσι τις μεγάλες εταιρείες περισσότερο από τις μικρότερες @@ -1332,7 +1371,7 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Τα οχήμα STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Όταν είναι ενεργοποιημένη, όλα τα μοντέλα οχημάτων παραμένουν διαθέσιμα για πάντα μετά την παρουσίασή τους STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Αυτόματη ανανέωση όταν ένα όχημα παλιώνει: {STRING} STR_CONFIG_SETTING_AUTORENEW_VEHICLE_HELPTEXT :Όταν είναι ενεργοποιημένη, τα οχήματα που πλησιάζουν το τέλος της ζωής τους αντικαθίσταται αυτόματα όταν πληρούνται οι προϋποθέσεις αντικατάστασής του -STR_CONFIG_SETTING_AUTORENEW_MONTHS :Αυτόματη αντικατάστηση όταν κάποιο όχημα είναι {STRING} μέγιστης ηλικίας +STR_CONFIG_SETTING_AUTORENEW_MONTHS :Αυτόματη αντικατάστηση όταν το όχημα είναι {STRING} μέγιστης ηλικίας STR_CONFIG_SETTING_AUTORENEW_MONTHS_HELPTEXT :Σχετική ηλικία κατά την οποία κάποιο όχημα θα πρέπει να εξεταστεί για αυτόματη ανανέωση STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_BEFORE :{COMMA} μήν{P 0 α ες} πριν STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_AFTER :{COMMA} μήν{P 0 α ες} μετά @@ -1342,17 +1381,20 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :Διάρκει STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Διάρκεια εμφάνισης μηνύματων σφάλματος σε κόκκινο παράθυρο. Σημειώστε ότι μερικά (κρίσιμα) μηνύματα σφάλματος δεν κλείνουν αυτόματα μετά από αυτόν τον χρόνο, αλλά πρέπει να κλείσουν χειροκίνητα STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{COMMA} δευτερόλεπτ{P 0 ο α} STR_CONFIG_SETTING_HOVER_DELAY :Εμφάνιση αναδυόμενων μηνυμάτων: {STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Καθυστέρηση πριν την εμφάνιση των επεξηγήσεων όταν ο κέρσορας βρίσκεται πάνω από κάποιο στοιχείο της διεπαφής. Εναλλακτικά, οι επεξηγήσεις μπορούν να συνδεθούν με το δεξί κουμπί του ποντικιού -STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Ο κέρσορας βρίσκεται από πάνω για {COMMA} δευτερόλεπτ{P 0 ο α} +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Καθυστέρηση πριν την εμφάνιση των επεξηγήσεων όταν ο δείκτης του ποντικιού βρίσκεται πάνω από κάποιο στοιχείο της διεπαφής. Εναλλακτικά, οι επεξηγήσεις συνδέονται με το δεξί κουμπί του ποντικιού όταν η τιμή αυτού του πεδίου είναι 0. +STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Ο δείκτης του ποντικιού να βρίσκεται από πάνω για {COMMA} δευτερόλεπτ{P 0 ο α} STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Δεξί κουμπί STR_CONFIG_SETTING_POPULATION_IN_LABEL :Εμφάνιση πληθυσμού πόλης στο όνομα της πόλης: {STRING} STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Εμφάνιση του πληθυσμού των πόλεων στην ετικέτα τους πάνω στο χάρτη STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Πάχος γραμμών στα γραφήματα: {STRING} STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Πάχος γραμμών στα γραφήματα. Οι λεπτές γραμμές διαβάζονται με μεγαλύτερη ακρίβεια, οι παχύτερες είναι πιο ευδιάκριτες και τα χρώματα ξεχωρίσουν ευκολότερα +STR_CONFIG_SETTING_LANDSCAPE :Τοπίο: {STRING} STR_CONFIG_SETTING_LAND_GENERATOR :Γεννήτρια γης: {STRING} STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Αυθεντική STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis +STR_CONFIG_SETTING_TERRAIN_TYPE :Σχηματισμός εδάφους: {STRING} +STR_CONFIG_SETTING_INDUSTRY_DENSITY :Πυκνότητα βιομηχανιών: {STRING} STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Μέγιστη απόσταση από την άκρη του χάρτη για τα Διυλιστήρια: {STRING} STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Τα Διυλιστήρια κατασκευάζονται κοντά στην άκρη του χάρτη, η οποία είναι ακτή σε νησιωτικούς χάρτες STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Κορυφογραμμή χιονιού: {STRING} @@ -1361,16 +1403,18 @@ STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Πολύ Απα STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Απαλή STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Ανώμαλη STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Πολύ Ανώμαλη +STR_CONFIG_SETTING_RIVER_AMOUNT :Πλήθος ποταμών: {STRING} +STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Επιλέξτε πόσα ποτάμια να δημιουργηθούν STR_CONFIG_SETTING_TREE_PLACER :Αλγόριθμος τοποθέτησης δέντρων: {STRING} STR_CONFIG_SETTING_TREE_PLACER_NONE :Κανένας STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :Αυθεντικός STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :Βελτιωμένος +STR_CONFIG_SETTING_ROAD_SIDE :Οχήματα δρόμου: {STRING} +STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :Επιλέξτε την πλευρά οδήγησης STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Περιστροφή χάρτη υψομετρίας: {STRING} STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Αριστερόστροφη STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Δεξιόστροφη STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :Το επίπεδο ύψους που παίρνει ένα σενάριο: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :Επιτρέπεται η διαμόρφωση του εδάφους στις άκρες του χάρτη: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES_HELPTEXT :Όταν είναι απενεργοποιημένη, τα όρια του χάρτη θα είναι πάντα ωκεανός STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}Ένα ή περισσότερα τετραγωνίδια στην βόρεια άκρη δεν είναι κενά STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}Ένα ή περισσότερα τετραγωνίδια σε μια από τις άκρες δεν είναι νερό @@ -1420,15 +1464,15 @@ 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_AUTOSAVE :Αυτόματο σώσιμο: {STRING} +STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Επιλέξτε το διάστημα ανάμεσα σε δυο διαδοχικά σωσίματα του παιχνιδιου + STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Χρήση της {STRING} ημερολογιακής μορφής στα ονόματα αποθηκευμένων παιχνιδιών STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Μορφή της ημερομηνίας στα αρχεία αποθήκευσης παιχνιδιών STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :μακριά (31 Δεκ 2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :σύντομη (31-12-2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE :Η προεπιλεγμένη παλέτα για NewGRF δεν ορίζει ορθά παλέτα: {STRING} -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_HELPTEXT :Η προκαθορισμένη παλέτα που θα χρησιμοποιείται για τα NewGRF που δεν έχουν ορίσει ποια χρειάζονται - STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Αυτόματη παύση κατά την εκκίνηση ενός νέου παιχνιδιού: {STRING} STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :Όταν είναι ενεργοποιημένο, τα νέα παιχνίδια ξεκινούν σε παύση αυτόματα, επιτρέποντας καλύτερη μελέτη του χάρτη STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Όταν το παιχνίδι είναι σε παύση επιτρέπονται: {STRING} @@ -1437,7 +1481,7 @@ STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :Καμία εν STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :Όλες οι μη κατασκευαστικές ενέργειες STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :Όλες εκτός από τις ενέργειες διαμόρφωσης τοπίου STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_ACTIONS :Όλες οι ενέργειες -STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Χρήση της προχωρημένης λίστας οχημάτων: {STRING} +STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Χρήση ομάδων στη λίστα οχημάτων: {STRING} STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Ενεργοποίηση χρήσης των προχωρημένων καταλόγων οχημάτων για την ομαδοποίηση των οχημάτων STR_CONFIG_SETTING_LOADING_INDICATORS :Χρήση δεικτών φόρτωσης: {STRING} STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Επιλέξτε εάν οι δείκτες φόρτωσης εμφανίζονται πάνω από τα οχήματα που φορτώνουν ή ξεφορτώνουν @@ -1452,7 +1496,7 @@ STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_HELPTEXT :Επιλογή STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_FIRST :Πρώτος διαθέσιμος STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_LAST :Τελευταίος διαθέσιμος STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_MOST_USED :Περισσότερο χρησιμοποιούμενος -STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :Εμφάνιση κλεισμένων γραμμών: {STRING} +STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :Εμφάνιση δεσμέυσεων διαδρομών για γραμμές τραίνου: {STRING} STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION_HELPTEXT :Δίνεται ένα διαφορετικό χρώμα στις κατειλημμένες ράγες για να σας βοηθήσουν με προβλήματα όταν τα τραίνα αρνούνται να εισέλθουν σε τμήματα με βάση τροχιές STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Διατήρηση των οικοδομικών εργαλείων ενεργών μετά από χρήση τους: {STRING} STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Διατήρηση ανοικτών των εργαλείων για γέφυρες, σήραγγες, κλπ μετά από τη χρήση @@ -1467,6 +1511,7 @@ STR_CONFIG_SETTING_SOUND_NEW_YEAR_HELPTEXT :Παίζει η STR_CONFIG_SETTING_SOUND_CONFIRM :Οικοδομή: {STRING} STR_CONFIG_SETTING_SOUND_CONFIRM_HELPTEXT :Παίζει ηχητικό εφέ σε επιτυχής οικοδομές ή άλλες δράσεις STR_CONFIG_SETTING_SOUND_CLICK_HELPTEXT :Παίζει ήχο όταν γίνεται κλικ σε κουμπιά +STR_CONFIG_SETTING_SOUND_DISASTER :Καταστροφές/ατυχήματα: {STRING} STR_CONFIG_SETTING_SOUND_DISASTER_HELPTEXT :Παίζει ήχους για ατυχήματα και συμφορές STR_CONFIG_SETTING_SOUND_VEHICLE :Οχήματα: {STRING} STR_CONFIG_SETTING_SOUND_VEHICLE_HELPTEXT :Παίζει τα ηχητικά εφέ των οχημάτων @@ -1477,11 +1522,11 @@ STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING :Απενεργ STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING_HELPTEXT :Όταν είναι ενεργοποιημένο, οι υποδομές είναι διαθέσιμες μόνο όταν υπάρχουν διαθέσιμα οχήματα, αποτρέποντας σπατάλη χρόνου και χρημάτων σε μη χρησιμοποιήσιμες υποδομές STR_CONFIG_SETTING_MAX_TRAINS :Μέγιστος αριθμός τρένων ανά εταιρία: {STRING} STR_CONFIG_SETTING_MAX_TRAINS_HELPTEXT :Μέγιστος αριθμός τραίνων που μπορεί να έχει μια εταιρεία -STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :Μέγιστα οχήματα ανά εταιρία: {STRING} +STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :Μέγιστος αριθμός οχημάτων δρόμου ανά εταιρία: {STRING} STR_CONFIG_SETTING_MAX_ROAD_VEHICLES_HELPTEXT :Μέγιστος αριθμός οδικών οχημάτων που μπορεί να έχει μια εταιρεία -STR_CONFIG_SETTING_MAX_AIRCRAFT :Μέγιστα αεροσκάφη ανά εταιρία: {STRING} +STR_CONFIG_SETTING_MAX_AIRCRAFT :Μέγιστος αριθμός αεροσκαφών ανά εταιρία: {STRING} STR_CONFIG_SETTING_MAX_AIRCRAFT_HELPTEXT :Μέγιστος αριθμός αεροσκαφών που μπορεί να έχει μια εταιρεία -STR_CONFIG_SETTING_MAX_SHIPS :Μέγιστα πλοία ανά εταιρία: {STRING} +STR_CONFIG_SETTING_MAX_SHIPS :Μέγιστος αριθμός πλοίων ανά εταιρία: {STRING} STR_CONFIG_SETTING_MAX_SHIPS_HELPTEXT :Μέγιστος αριθμός πλοίων που μπορεί να έχει μια εταιρεία STR_CONFIG_SETTING_AI_BUILDS_TRAINS :Απενεργοποίηση τρένων για τον υπολογιστή: {STRING} @@ -1501,14 +1546,14 @@ STR_CONFIG_SETTING_AI_PROFILE_HARD :Δύσκολο STR_CONFIG_SETTING_AI_IN_MULTIPLAYER :Επιτρέπονται AI σε παιχνίδια πολλών παικτών: {STRING} STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Επιτρέπεται η συμμετοχή παικτών υπολογιστή AI σε παιχνίδια πολλαπλών παικτών -STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :#εντολές πριν την παύση δεσμών ενεργειών: {STRING} +STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :#εντολών πριν την παύση δεσμών ενεργειών: {STRING} STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Μέγιστος αριθμός βημάτων υπολογισμού που κάνει κάποιο σενάριο σε κάθε σειρά STR_CONFIG_SETTING_SERVINT_ISPERCENT :Τα διαστήματα μεταξύ συντήρησης είναι σε ποσοστά: {STRING} STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Επιλέξτε εάν η επισκευή των οχημάτων εξαρτάται από τον χρόνο που πέρασε από την τελευταία επισκευή ή από την μείωση της αξιοπιστίας κατά ένα συγκεκριμένο ποσοστό της μέγιστης αξιοπιστίας STR_CONFIG_SETTING_SERVINT_TRAINS :Προκαθορισμένο διάστημα μεταξύ επισκευών για τα τραίνα: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Ορίστε το προκαθορισμένο διάστημα μεταξύ συντηρήσεων για τα νέα οχήματα τραίνων, όταν δεν δίνεται άλλο διάστημα για το όχημα -STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA} ημέρ{P 0 α ες}/% +STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}ημέρ{P 0 α ες}/% STR_CONFIG_SETTING_SERVINT_DISABLED :Απενεργοποιημένο STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES :Προκαθορισμένο διάστημα μεταξύ συντηρήσεων για οδικά οχήματα: {STRING} STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES_HELPTEXT :Ορίστε το προκαθορισμένο διάστημα μεταξύ συντηρήσεων για τα νέα οδικά οχήματα, όταν δεν δίνεται άλλο διάστημα για το όχημα @@ -1532,17 +1577,27 @@ STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS_HELPTEXT :Προβάλλ STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION :Πληροφορίες εταιρίας: {STRING} STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION_HELPTEXT :Προβάλλει εφημερίδα όταν αρχίζει νέα εταιρεία ή όταν οι εταιρίες ρισκάρουν χρεωκοπία STR_CONFIG_SETTING_NEWS_INDUSTRY_OPEN :Έναρξη των βιομηχανιών: {STRING} +STR_CONFIG_SETTING_NEWS_INDUSTRY_OPEN_HELPTEXT :Εμφάνιση εφημερίδας όταν ανοίγουν νέες βιομηχανίες STR_CONFIG_SETTING_NEWS_INDUSTRY_CLOSE :Κλείσιμο βιομηχανιών: {STRING} +STR_CONFIG_SETTING_NEWS_INDUSTRY_CLOSE_HELPTEXT :Εμφάνιση εφημερίδας όταν κλείνουν βιομηχανίες STR_CONFIG_SETTING_NEWS_ECONOMY_CHANGES :Οικονομικές αλλαγές: {STRING} +STR_CONFIG_SETTING_NEWS_ECONOMY_CHANGES_HELPTEXT :Εμφάνιση εφημερίδας σε αλλαγές παγκόσμιων οικονομικών μεγεθών STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_COMPANY :Αλλαγή της παραγωγής των βιομηχανιών που εξυπηρετούνται από την εταιρία: {STRING} +STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_COMPANY_HELPTEXT :Εμφάνιση εφημερίδας όταν μεταβάλλεται η παραγωγικότητα μιας βιομηχανίας που εξυπηρετείται από την εταιρία STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_OTHER :Διαφοροποιήσεις στην παραγωγή των βιομηχανιών που εξυπηρετούνται από ανταγωνιστή(-ές): {STRING} +STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_OTHER_HELPTEXT :Εμφάνιση εφημερίδας όταν μεταβάλλεται η παραγωγικότητα μιας βιομηχανίας που εξυπηρετείται από ανταγωνιστές STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_UNSERVED :Άλλες διαφοροποιήσεις στη παραγωγή: {STRING} +STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_UNSERVED_HELPTEXT :Εμφάνιση εφημερίδας όταν μεταβάλλεται η παραγωγικότητα μιας βιομηχανίας που δεν εξυπηρετείται από την εταιρία ή ανταγωνιστές STR_CONFIG_SETTING_NEWS_ADVICE :Συμβουλές / πληροφορίες για τα εταιρικά οχήματα: {STRING} +STR_CONFIG_SETTING_NEWS_ADVICE_HELPTEXT :Εμφάνιση μηνημάτων όταν κάποιο όχημα χρήζει προσοχής STR_CONFIG_SETTING_NEWS_NEW_VEHICLES :Νέα οχήματα: {STRING} +STR_CONFIG_SETTING_NEWS_NEW_VEHICLES_HELPTEXT :Εμφάνιση εφημερίδας όταν ένας νέος τύπος οχήματος γίνεται διαθέσιμος STR_CONFIG_SETTING_NEWS_CHANGES_ACCEPTANCE :Αλλαγές στην αποδοχή φορτίου: {STRING} +STR_CONFIG_SETTING_NEWS_CHANGES_ACCEPTANCE_HELPTEXT :Εμφάνιση μηνημάτων σε μεταβολές στην αποδοχή φορτίων από ένα σταθμό STR_CONFIG_SETTING_NEWS_SUBSIDIES :Επιχορηγήσεις: {STRING} STR_CONFIG_SETTING_NEWS_SUBSIDIES_HELPTEXT :Πρόβαλλε εφημερίδα σχετικά με συμβάντα που σχετίζονται με επιδοτήσεις STR_CONFIG_SETTING_NEWS_GENERAL_INFORMATION :Γενικές πληροφορίες: {STRING} +STR_CONFIG_SETTING_NEWS_GENERAL_INFORMATION_HELPTEXT :Εμφάνιση εφημερίδας σε γενικά συμβάντα, όπως αγορά αποκλειστικών δικαιωμάτων ή χρηματοδότηση ανακατασκευής δρόμων STR_CONFIG_SETTING_NEWS_MESSAGES_OFF :Απενεργοποιημένα STR_CONFIG_SETTING_NEWS_MESSAGES_SUMMARY :Περιλήψεις @@ -1565,7 +1620,7 @@ STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT :Επιλέξτ STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE :Αυτόματο κτίσιμο σηματοφόρων πριν από το: {STRING} STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT :Ορίζεται το έτος κατά το οποίο θα χρησιμοποιούνται τα ηλεκτρικά σήματα στις σιδηροτροχιές. Πριν από αυτό, θα χρησιμοποιούνται μηχανικά σήματα (που έχουν ακριβώς την ίδια λειτουργία, αλλά έχουν διαφορετική μορφή) STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI :Ενεργοποίηση του μενού σηματοδοτών: {STRING} -STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI_HELPTEXT :Εμφανίζεται παράθυρο για την επιλογή του τύπου του σήματος που θα τοποθετηθεί, αντί για την απλή μετατροπή από τον έναν τύπο στον άλλο χωρίς παράθυρο, με κλικ σε τοποθετημένα σήματα κρατώντας πατημένο το Ctrl +STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI_HELPTEXT :Εμφάνιση παραθύρου για την επιλογή του τύπου σήματος που θα τοποθετηθεί, αντί για μετάβαση από τον έναν τύπο στον άλλο χωρίς παράθυρο, με Ctrl+κλικ σε ήδη τοποθετημένα σήματα STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE :Τύπος σηματοδότη που θα χρησιμοποιείται ως προεπιλογή: {STRING} STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE_HELPTEXT :Προκαθορισμένος τύπος σημάτων που χρησιμοποιείται STR_CONFIG_SETTING_DEFAULT_SIGNAL_NORMAL :Σηματοδότες τμήματος @@ -1589,7 +1644,7 @@ STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT :Επιτρέπ STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :Οι πόλεις επιτρέπουν το κτίσιμο ισόπεδων διασταυρώσεων: {STRING} STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Ενεργοποιώντας αυτήν τη ρύθμιση επιτρέπει στις πόλεις να κατασκευάζουν επίπεδες διαβάσεις STR_CONFIG_SETTING_NOISE_LEVEL :Επιτρέπεται η πόλη να ελέγχει το επίπεδο θορύβου των αεροδρομίων: {STRING} -STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Με αυτήν τη ρύθμιση απενεργοποιημένη, γίνεται να υπάρχουν δύο αεροδρόμια σε κάθε πόλη. Με αυτήν τη ρύθμιση ενεργοποιημένη, ο αριθμός των αεροδρομίων σε μια πόλη περιορίζεται από την αποδοχή του θορύβου από την πόλη, η οποία εξαρτάται από τον πληθυσμό, το μέγεθος του αεροδρομίου και από την απόστασή του από την πόλη +STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Με αυτήν τη ρύθμιση απενεργοποιημένη, γίνεται να υπάρχουν δύο αεροδρόμια σε κάθε πόλη. Με αυτήν τη ρύθμιση ενεργοποιημένη, ο αριθμός των αεροδρομίων σε μια πόλη περιορίζεται από την αποδοχή του θορύβου από την πόλη, η οποία εξαρτάται από τον πληθυσμό, το μέγεθος του αεροδρομίου και την απόστασή του από την πόλη STR_CONFIG_SETTING_TOWN_FOUNDING :Ίδρυση πόλεων στο παιχνίδι: {STRING} STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Ενεργοποιώντας αυτήν τη ρύθμιση επιτρέπει στους παίκτες να ιδρύσουν νέες πόλεις στο παιχνίδι STR_CONFIG_SETTING_TOWN_FOUNDING_FORBIDDEN :Δεν επιτρέπεται @@ -1637,22 +1692,32 @@ STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 σε {COMMA} STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Καμία STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Αρχικός πολλαπλασιαστής μεγέθους πόλης: {STRING} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Μέσο μέγεθος μεγάλων πόλεων σε σχέση με τις κανονικές στην αρχή του παιχνιδιού -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :Να αφαιρούνται παράλογα στοιχεία δρόμων κατά την κατασκευή τους: {STRING} -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD_HELPTEXT :Αφαίρεση αδιέξοδων άκρων κατά την χρηματοδοτούμενη ανακατασκευή δρόμων STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :χειροκίνητη STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :μη συμμετρική STR_CONFIG_SETTING_DISTRIBUTION_SYMMETRIC :συμμετρική +STR_CONFIG_SETTING_DISTRIBUTION_PAX :Τρόπος διανομής επιβατών: {STRING} +STR_CONFIG_SETTING_DISTRIBUTION_MAIL :Τρόπος διανομής αλληλογραφίας: {STRING} +STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Τρόπος διανομής για το ΘΩΡΑΚΙΣΜΕΝΟ είδος φορτίου: {STRING} +STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Τρόπος διανομής άλλων ειδών φορτίου: {STRING} +STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Ακρίβεια διανομής: {STRING} +STR_CONFIG_SETTING_DEMAND_DISTANCE :Επίδραση της απόστασης στη ζήτηση προϊόντων: {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Μονάδες μέτρησης ταχύτητας: {STRING} +STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_IMPERIAL :Αυτοκρατορικό (mph) +STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_METRIC :Μετρικό (km/h) STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_SI :SI (m/s) +STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER :Μονάδες ισχύος οχημάτων: {STRING} +STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_IMPERIAL :Αυτοκρατορικό (hp) +STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_METRIC :Μετρικό (hp) STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_SI :SI (kW) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT :Μονάδες μέτρησης βάρους: {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_SI :SI (kg) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME :Μονάδες μέτρησης όγκου: {STRING} +STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_IMPERIAL :Αυτοκρατορικό (gal) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_METRIC :Μετρικό (l) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_SI :SI (m³) @@ -1663,26 +1728,16 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT :Μονάδες STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :Μετρικές (m) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :SI (m) -STR_CONFIG_SETTING_GUI :{ORANGE}Περιβάλλον Λειτουργίας STR_CONFIG_SETTING_LOCALISATION :{ORANGE}Τοπικοποίηση -STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}Κατασκευή +STR_CONFIG_SETTING_SOUND :{ORANGE}Ήχος +STR_CONFIG_SETTING_INTERFACE :{ORANGE}Περιβάλλον Λειτουργίας +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Κατασκευή STR_CONFIG_SETTING_VEHICLES :{ORANGE}Οχήματα -STR_CONFIG_SETTING_STATIONS :{ORANGE}Σταθμοί -STR_CONFIG_SETTING_ECONOMY :{ORANGE}Οικονομία -STR_CONFIG_SETTING_AI :{ORANGE}Ανταγωνιστές -STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}Επιλογές εμφάνισης -STR_CONFIG_SETTING_INTERACTION :{ORANGE}Αλληλεπιδράσεις -STR_CONFIG_SETTING_SOUND :{ORANGE}Ηχητικά εφέ -STR_CONFIG_SETTING_NEWS :{ORANGE}Νέα και μηνύματα -STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}Σηματοδότες -STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE}Χειρισμός εμπορευμάτων -STR_CONFIG_SETTING_AI_NPC :{ORANGE}Παίκτες υπολογιστή -STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE}Αυτόματη ανανέωση -STR_CONFIG_SETTING_VEHICLES_SERVICING :{ORANGE}Έλεγχος οχημάτων STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Δρομολογήσεις -STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}Τρένα -STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}Πόλεις -STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}Βιομηχανίες +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Πόλεις +STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}Βιομηχανίες +STR_CONFIG_SETTING_AI :{ORANGE}Ανταγωνιστές +STR_CONFIG_SETTING_AI_NPC :{ORANGE}Παίκτες υπολογιστή STR_CONFIG_SETTING_PATHFINDER_OPF :Αρχικό STR_CONFIG_SETTING_PATHFINDER_NPF :NPF @@ -1730,7 +1785,7 @@ STR_INTRO_MULTIPLAYER :{BLACK}Παιχ STR_INTRO_GAME_OPTIONS :{BLACK}Επιλογές Παιχνιδιού STR_INTRO_HIGHSCORE :{BLACK}Πίνακας Βαθμολογιών -STR_INTRO_ADVANCED_SETTINGS :{BLACK}Προηγμένες Ρυθμίσεις +STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Ρυθμίσεις STR_INTRO_NEWGRF_SETTINGS :{BLACK}Ρυθμίσεις NewGRF STR_INTRO_ONLINE_CONTENT :{BLACK}Διαδικτυακό Περιεχόμενο STR_INTRO_SCRIPT_SETTINGS :{BLACK}Ρυθμίσεις AI και Δέσμης Ενεργειών @@ -1750,7 +1805,7 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Επιλ STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Εμφάνιση επιλογών παιχνιδιού STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Εμφάνιση του πίνακα βαθμολογιών -STR_INTRO_TOOLTIP_ADVANCED_SETTINGS :{BLACK}Εμφάνιση προηγμένων ρυθμίσεων +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Ρυθμίσεις οθόνης STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Εμφάνιση ρυθμίσεων NewGRF STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Έλεγχος για νέο και ανανεωμένο περιεχόμενο για λήψη STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Εμφάνιση ρυθμίσεων για AI και της δέσμης ενεργειών του παιχνιδιού @@ -1782,14 +1837,16 @@ STR_ABANDON_GAME_QUERY :{YELLOW}Είσ STR_ABANDON_SCENARIO_QUERY :{YELLOW}Είστε σίγουροι ότι θέλετε να εγκαταλείψετε το σενάριο; # Cheat window -STR_CHEATS :{WHITE}Cheats -STR_CHEATS_TOOLTIP :{BLACK}Τα κουτάκια δείχνουν αν έχετε χρησιμοποιήσει αυτό το cheat εκ των προτέρων +STR_CHEATS :{WHITE}Απατεωνιές +STR_CHEATS_TOOLTIP :{BLACK}Τα κουτάκια δείχνουν αν έχετε ξαναχρησιμοποιήσει αυτή την απατεωνιά STR_CHEATS_WARNING :{BLACK}Προσοχή! Είστε έτοιμοι να προδώσετε τους φίλους ανταγωνιστές σας. Θυμηθείτε ότι αυτή η ντροπή θα μείνει για πάντα. STR_CHEAT_MONEY :{LTBLUE}Αύξηση χρημάτων κατά {CURRENCY_LONG} STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Παίζετε με την εταιρία: {ORANGE}{COMMA} STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Μαγική μπουλντόζα (αφαιρεί βιομηχανίες, αμετακίνητα αντικείμενα): {ORANGE}{STRING} STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}Τα τούνελ μπορούν να διασταυρώνονται: {ORANGE}{STRING} STR_CHEAT_NO_JETCRASH :{LTBLUE}Τα jet δε θα συγκρούονται (συχνά) σε μικρά αεροδρόμια: {ORANGE} {STRING} +STR_CHEAT_EDIT_MAX_HL :{LTBLUE}Μεταβολή του μέγιστου ύψους του χάρτη: {ORANGE}{NUM} +STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Μεταβολή του μέγιστου ύψους βουνών στο χάρτη STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE :Εύκρατο τοπίο STR_CHEAT_SWITCH_CLIMATE_SUB_ARCTIC_LANDSCAPE :Πολικό τοπίο STR_CHEAT_SWITCH_CLIMATE_SUB_TROPICAL_LANDSCAPE :Υποτροπικό τοπίο @@ -1838,6 +1895,7 @@ STR_LIVERY_FREIGHT_TRAM :Εμπορικ STR_FACE_CAPTION :{WHITE}Επιλογή Προσώπου STR_FACE_CANCEL_TOOLTIP :{BLACK}Ακύρωση επιλογής νέου προσώπου STR_FACE_OK_TOOLTIP :{BLACK}Αποδοχή νέου προσώπου +STR_FACE_RANDOM :{BLACK}Τυχαίος STR_FACE_MALE_BUTTON :{BLACK}Αρσενικό STR_FACE_MALE_TOOLTIP :{BLACK}Επιλογή αρσενικών προσώπων @@ -2121,7 +2179,7 @@ STR_NETWORK_ERROR_WRONG_PASSWORD :{WHITE}Λανθ STR_NETWORK_ERROR_SERVER_FULL :{WHITE}Ο διακομιστής είναι γεμάτος STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}Έχει απαγορευτεί η είσοδος σας από τον διακομιστή STR_NETWORK_ERROR_KICKED :{WHITE}Έχετε εκδιωχθεί από το παιχνίδι -STR_NETWORK_ERROR_CHEATER :{WHITE}Η χρήση cheats δεν επιτρέπεται σε αυτόν τον διακομιστή +STR_NETWORK_ERROR_CHEATER :{WHITE}Η χρήση απατεωνιών δεν επιτρέπεται σε αυτόν τον διακομιστή STR_NETWORK_ERROR_TOO_MANY_COMMANDS :{WHITE}Αποστείλατε πάρα πολλές εντολές στον διακομιστή STR_NETWORK_ERROR_TIMEOUT_PASSWORD :{WHITE}Χρειαστήκατε πολύ χρόνο για να συμπληρώσετε τον κωδικό STR_NETWORK_ERROR_TIMEOUT_COMPUTER :{WHITE}Ο υπολογιστής σας είναι πολύ αργός για να διατηρήσει συγχρόνιση με τον διακομιστή @@ -2140,7 +2198,7 @@ STR_NETWORK_ERROR_CLIENT_NOT_EXPECTED :έγινε λή STR_NETWORK_ERROR_CLIENT_WRONG_REVISION :λάθος έκδοση STR_NETWORK_ERROR_CLIENT_NAME_IN_USE :το όνομα είναι ήδη σε χρήση STR_NETWORK_ERROR_CLIENT_WRONG_PASSWORD :λανθασμένος κωδικός -STR_NETWORK_ERROR_CLIENT_COMPANY_MISMATCH :λάθος company-id στο DoCommand +STR_NETWORK_ERROR_CLIENT_COMPANY_MISMATCH :λάθος εταιρία στο DoCommand STR_NETWORK_ERROR_CLIENT_KICKED :εκδιωχθήκατε από τον διακομιστή STR_NETWORK_ERROR_CLIENT_CHEATER :προσπάθησε να χρησιμοποιησει cheat STR_NETWORK_ERROR_CLIENT_SERVER_FULL :διακομιστής γεμάτος @@ -2300,7 +2358,7 @@ STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Κατα STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Κατασκευή αμαξοστάσιου (για αγορά και επισκευή τρένων). Το Shift εναλλάσσει κτίσιμο/εμφάνιση εκτίμησης κόστους STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Μετατροπή σιδηροτροχιάς σε σημείο καθοδήγησης. Με Ctrl ενεργοποιείται η συνένωση σημείων καθοδήγησης. Με Shift εναλλάσσεται κτίσιμο/εμφάνιση εκτίμησης κόστους STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Κατασκευή σταθμού τρένων. Με Ctrl ενεργοποιείται η συνένωση σταθμών. Με Shift εναλλάσσεται κτίσιμο/εμφάνιση εκτίμησης κόστους -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Κατασκευή σηματοδοτών. Με Ctrl εναλλάσσονται σηματοφόροι/σηματοδότες{}Το σύρσιμο κατασκευάζει σηματοδότες σε μια ευθεία σιδηροδρόμου. Με το Ctrl πατημένο, κατασκευάζει μέχρι την επομένη διασταύρωση{}Με Ctrl+Κλικ εναλλάσσεται το άνοιγμα του παραθύρου επιλογής σηματοδοτών. Με Shift εναλλάσσεται κτίσιμο/εμφάνιση εκτίμησης κόστους +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Κατασκευή σηματοδοτών. Με Ctrl εναλλάσσονται σηματοφόροι/σηματοδότες{}Με σύρσιμο κατασκευάζονται σηματοδότες κατά μήκος μιας ευθείας σιδηροτροχιάς. Με το Ctrl πατημένο, κατασκευάζονται σηματοδότες μέχρι την επομένη διασταύρωση ή τον επόμενο σηματοδότη{}Με Ctrl+Κλικ εναλλάσσεται το άνοιγμα του παραθύρου επιλογής σηματοδοτών. Με Shift εναλλάσσεται κτίσιμο/εμφάνιση εκτίμησης κόστους STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Κατασκευή γέφυρας σιδηρόδρομου. Το Shift εναλλάσσει κτίσιμο/εμφάνιση εκτίμησης κόστους STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Κατασκευή τούνελ σιδηρόδρομου. Το Shift εναλλάσσει κτίσιμο/εμφάνιση εκτίμησης κόστους STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Εναλλαγή κατασκευής/αφαίρεσης για σιδηρόδρομους, σηματοδότες, σημείων καθοδήγησης και σταθμών. Κρατώντας πατημένο το Ctrl αφαιρεί και τον σιδηρόδρομο από τα σημεία καθοδήγησης και σταθμούς @@ -2574,7 +2632,7 @@ STR_LAND_AREA_INFORMATION_AIRPORTTILE_NAME :{BLACK}Όνομ STR_LAND_AREA_INFORMATION_NEWGRF_NAME :{BLACK}NewGRF: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Αποδεκτά εμπορεύματα: {LTBLUE} STR_LAND_AREA_INFORMATION_CARGO_EIGHTS :({COMMA}/8 {STRING}) -STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Όριο ταχύτητας: {LTBLUE}{VELOCITY} +STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Όριο ταχύτητας σιδηροτροχιάς: {LTBLUE}{VELOCITY} STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}Όριο ταχύτητας δρόμου: {LTBLUE}{VELOCITY} # Description of land area of different tiles @@ -2672,7 +2730,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-2014 Η ομάδα του OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 Η ομάδα του OpenTTD # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Αποθήκευση Παιχνιδιού @@ -2696,7 +2754,7 @@ STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}Δεν STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING} STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}NewGRF: {WHITE}{STRING} -STR_SAVELOAD_OSKTITLE :{BLACK}Δώστε το όνομα του αποθηκευμένου παιχνιδιού +STR_SAVELOAD_OSKTITLE :{BLACK}Δώστε το όνομα του παιχνιδιού προς αποθήκευση # World generation STR_MAPGEN_WORLD_GENERATION_CAPTION :{WHITE}Δημιουργία Κόσμου @@ -2706,13 +2764,12 @@ STR_MAPGEN_BY :{BLACK}* STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Αριθμός πόλεων: STR_MAPGEN_DATE :{BLACK}Ημερομηνία: STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Αριθμός βιομηχανιών: +STR_MAPGEN_MAX_HEIGHTLEVEL :{BLACK}Μέγιστο ύψος χάρτη +STR_MAPGEN_MAX_HEIGHTLEVEL_UP :{BLACK}Αύξηση του μέγιστου ύψους βουνών του χάρτη κατά ένα +STR_MAPGEN_MAX_HEIGHTLEVEL_DOWN :{BLACK}Μείωση του μέγιστου ύψους βουνών του χάρτη κατά ένα STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}Ύψος γραμμής χιονιού: STR_MAPGEN_SNOW_LINE_UP :{BLACK}Μετακίνηση του ύψους της γραμμής χιονιού ένα πάνω STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}Μετακίνηση του ύψους της γραμμής χιονιού ένα κάτω -STR_MAPGEN_RANDOM_SEED :{BLACK}Τυχαίος σπόρος: -STR_MAPGEN_RANDOM_SEED_HELP :{BLACK}Κάνετε κλικ για να δώσετε ένα σπόρο τυχαίας παραγωγής -STR_MAPGEN_RANDOM :{BLACK}Τυχαίος -STR_MAPGEN_RANDOM_HELP :{BLACK}Αλλαγή του σπόρου τυχαίας παραγωγής για την Δημιουργία Εδάφους STR_MAPGEN_LAND_GENERATOR :{BLACK}Δημιουργός εδάφους: STR_MAPGEN_TREE_PLACER :{BLACK}Αλγόριθμος δέντρων: STR_MAPGEN_TERRAIN_TYPE :{BLACK}Τύπος εδάφους: @@ -2739,7 +2796,7 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Όνομ STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Μέγεθος: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} × {NUM} -STR_MAPGEN_RANDOM_SEED_OSKTITLE :{BLACK}Δώστε έναν σπόρο τυχαίας παραγωγής +STR_MAPGEN_MAX_HEIGHTLEVEL_QUERY_CAPT :{WHITE}Αλλαγή μέγιστου ύψους χάρτη STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}Άλλαγη του ύψους της γράμμης χιονιού STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Αλλαγή έτους έναρξης @@ -2818,6 +2875,8 @@ STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Δεν β STR_NEWGRF_SETTINGS_DISABLED :{RED}Απενεργοποιημένο STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Μη συμβατό με αυτήν την έκδοση του OpenTTD +# NewGRF save preset window + # NewGRF parameters window STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Αλλαγή παραμέτρων NewGRF STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Κλείσιμο @@ -2845,10 +2904,9 @@ STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Συνέ STR_SPRITE_ALIGNER_GOTO_BUTTON :{BLACK}Μετακίνηση στο στοιχείο STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}Μετακίνηση στο sprite. Εάν το sprite δεν είναι κανονικό sprite, συνεχίζει στο επόμενο κανονικό sprite STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Προηγούμενο στοιχείο -STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Συνέχισε στο επόμενο κανονικό sprite, προσπερνώντας οποιοδήποτε ψευδό/επαναναχρωματιζόμενο/γραμματοσειράς sprite και κάνε τις τελικές διαδικασίες στην αρχή +STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Προχώρησε στο προηγούμενο κανονικό sprite, προσπερνώντας οποιαδήποτε ψευδό/επαναχρωματιζόμενα/γραμματοσειράς sprites και ξαναεκτέλεσε τη διαδικασία από το πρώτο sprite ως το τελεταίο STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Επανεμφάνιση του επιλεγμένου sprite. Η ευθυγράμμιση αγνοείται όταν γίνεται η σχεδίαση του sprite STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Μετακίνηση του sprite τριγύρω, αλλάζοντας τα στίγματα Χ και Υ -STR_SPRITE_ALIGNER_OFFSETS :{BLACK}Στίγμα Χ: {NUM}, Στίγμα Υ: {NUM} STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Επιλογή sprite STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Επιλογή ενός sprite από οπουδήποτε στη οθόνη @@ -2873,14 +2931,14 @@ STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :Η φόρτωσ STR_NEWGRF_ERROR_UNEXPECTED_SPRITE :Απρόοπτο sprite (sprite {3:NUM}) STR_NEWGRF_ERROR_UNKNOWN_PROPERTY :Άγνωστη ιδιότητα Action 0 {4:HEX} (sprite {3:NUM}) STR_NEWGRF_ERROR_INVALID_ID :Προσπάθεια να χρησιμοποιήσει άκυρο ID (sprite {3:NUM}) -STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} περιέχει ένα κατεστραμμένο sprite. Όλα τα κατεστραμμένα sprites θα εμφανίζονται ως κόκκινα ερωματικό (?) +STR_NEWGRF_ERROR_CORRUPT_SPRITE :Το {YELLOW}{STRING} περιέχει ένα αλλοιωμένο sprite. Όλα τα αλλοιωμένα sprites θα εμφανίζονται ως κόκκινα ερωτηματικά (?) STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Περιέχει πολλαπλές καταχωρήσεις Action 8 (sprite {3:NUM}) STR_NEWGRF_ERROR_READ_BOUNDS :Διάβασε πέρα από το τέλος του ψευδό-sprite (sprite {3:NUM}) STR_NEWGRF_ERROR_MISSING_SPRITES :{WHITE}Λείπουν μερικά sprites από το τρέχον βασικό σετ γραφικών.{}Παρακαλώ ενημερώστε το βασικό σετ γραφικών -STR_NEWGRF_ERROR_MISSING_SPRITES_UNSTABLE :{WHITE}Λείπουν μερικά sprites από το τρέχον βασικό σετ γραφικών.{}Παρακαλώ ενημερώστε το βασικό σετ γραφικών{}Επειδή παίζετε {YELLOW}μη σταθερή έκδοση του OpenTTD{WHITE}, μπορεί να χρειαστείτε {YELLOW}ασταθή έκδοση των βασικών γραφικών{WHITE} +STR_NEWGRF_ERROR_MISSING_SPRITES_UNSTABLE :{WHITE}Λείπουν μερικά sprites από το τρέχον βασικό σετ γραφικών.{}Παρακαλώ ενημερώστε το βασικό σετ γραφικών{}Επειδή παίζετε {YELLOW}δοκιμαστική έκδοση του OpenTTD{WHITE}, μπορεί να χρειάζεται να έχετε εγκατεστημένη {YELLOW}δοκιμαστική έκδοση των βασικών γραφικών{WHITE} STR_NEWGRF_ERROR_GRM_FAILED :Οι ζητημένοι πόροι GRF δεν είναι διαθέσιμοι (sprite {3:NUM}) STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :Το {1:STRING} απενεργοποιήθηκε από το {2:STRING} -STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Άγνωστη/άκυρη μορφή σχεδίου sprite (sprite {3:NUM}) +STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Άκυρη/άγνωστη μορφή σχεδίου sprite (sprite {3:NUM}) # NewGRF related 'general' warnings STR_NEWGRF_POPUP_CAUTION_CAPTION :{WHITE}Προσοχή! @@ -2960,8 +3018,8 @@ STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} παραδόθηκε STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (ακόμη απαιτείται) STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (παραδόθηκε) -STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Η πόλη επεκτείνεται κάθε {ORANGE}{COMMA}{BLACK} ημέρ{P α ες} -STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Η πόλη επεκτείνεται κάθε {ORANGE}{COMMA}{BLACK} ημέρ{P α ες} (χρηματοδοτούμενη) +STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Η πόλη επεκτείνεται κάθε {ORANGE}{COMMA}{BLACK}{NBSP}ημέρ{P α ες} +STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Η πόλη επεκτείνεται κάθε {ORANGE}{COMMA}{BLACK}{NBSP}ημέρ{P α ες} (χρηματοδοτούμενη) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}Η πόλη {RED}δεν{BLACK} επεκτείνεται STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Επίπεδο θορύβου στη πόλη: {ORANGE}{COMMA}{BLACK} μέγιστο: {ORANGE}{COMMA} STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Κεντράρισμα της εικόνας στην τοποθεσία της πόλης. Με Ctrl+Κλικ ανοίγει νέο παράθυρο προβολής στην τοποθεσία της πόλης @@ -3018,7 +3076,7 @@ STR_GOAL_QUESTION_CAPTION_INFORMATION :Πληροφο STR_GOAL_QUESTION_CAPTION_WARNING :Προειδοποίηση STR_GOAL_QUESTION_CAPTION_ERROR :Σφάλμα -### Start of Goal Question button list +############ Start of Goal Question button list STR_GOAL_QUESTION_BUTTON_CANCEL :Ακύρωση STR_GOAL_QUESTION_BUTTON_OK :Εντάξει STR_GOAL_QUESTION_BUTTON_NO :Όχι @@ -3037,6 +3095,7 @@ STR_GOAL_QUESTION_BUTTON_RESTART :Επανεκκ STR_GOAL_QUESTION_BUTTON_POSTPONE :Αναβολή STR_GOAL_QUESTION_BUTTON_SURRENDER :Παράδοση STR_GOAL_QUESTION_BUTTON_CLOSE :Κλείσιμο +############ End of Goal Question button list # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}Χρηματοδοτήσεις @@ -3068,7 +3127,6 @@ STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}Κανέ # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} -STR_STATION_VIEW_WAITING_TITLE :{BLACK}Αναμονή: {WHITE}{STRING} STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} από μεταφορά από τον σταθμό {STATION}) STR_STATION_VIEW_RESERVED :{YELLOW}({CARGO_SHORT} {P προορίζεται προορίζωνται} για φόρτωση @@ -3298,6 +3356,7 @@ STR_GROUP_DELETE_TOOLTIP :{BLACK}Διαγ STR_GROUP_RENAME_TOOLTIP :{BLACK}Μετονομασία της επιλεγμένης ομάδας STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Κάντε κλικ για προστατέψετε αυτήν την ομάδα από την γενική αυτόματη αντικατάσταση + STR_GROUP_ADD_SHARED_VEHICLE :Προσθήκη κοινόχρηστων οχημάτων STR_GROUP_REMOVE_ALL_VEHICLES :Αφαίρεση όλων των οχημάτων @@ -3335,10 +3394,10 @@ STR_PURCHASE_INFO_ALL_BUT :Όλοι εκτ STR_PURCHASE_INFO_MAX_TE :{BLACK}Μέγ. Δύναμη Έλξης: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Εύρος: {GOLD}{COMMA} τετραγωνίδια -STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Λίστα επιλεγμένων βαγονιών τρένων - κάντε κλικ σε ένα βαγόνι για πληροφορίες -STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Λίστα επιλεγμένων οχήματα δρόμου - κάντε κλικ σε ένα όχημα για πληροφορίες -STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Λίστα επιλεγμένων πλοίων - κάντε κλικ σε ένα πλοίο για πληροφορίες -STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Λίστα επιλεγμένων αεροσκαφών - κάντε κλικ σε ένα αεροσκάφος για πληροφορίες +STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Λίστα επιλογής βαγονιού τρένου. Κάντε κλικ σε ένα βαγόνι για πληροφορίες. Ctrl+Click για εμφάνιση/απόκρυψη του τύπου βαγονιού +STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Λίστα επιλογής οχήματος δρόμου. Κάντε κλικ σε ένα όχημα για πληροφορίες. Ctrl+Click για εμφάνιση/απόκρυψη του τύπου οχήματος +STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Λίστα επιλογής πλοίου. Κάντε κλικ σε ένα πλοίο για πληροφορίες. Ctrl+Click για εμφάνιση/απόκρυψη του τύπου πλοίου +STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Λίστα επιλογής αεροσκάφους. Κάντε κλικ σε ένα αεροσκάφος για πληροφορίες. Ctrl+Click για εμφάνιση/απόκρυψη του τύπου αεροσκάφους STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}Αγορά Οχήματος STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Αγορά Οχήματος @@ -3360,6 +3419,21 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Μετο STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Μετονομάζει τον τύπο πλοίου STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Μετονομάζει τον τύπο αεροσκάφους +STR_BUY_VEHICLE_TRAIN_HIDE_TOGGLE_BUTTON :{BLACK}Απόκρυψη +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_TOGGLE_BUTTON :{BLACK}Απόκρυψη +STR_BUY_VEHICLE_SHIP_HIDE_TOGGLE_BUTTON :{BLACK}Απόκρυψη +STR_BUY_VEHICLE_AIRCRAFT_HIDE_TOGGLE_BUTTON :{BLACK}Απόκρυψη + +STR_BUY_VEHICLE_TRAIN_SHOW_TOGGLE_BUTTON :{BLACK}Εμφάνιση +STR_BUY_VEHICLE_ROAD_VEHICLE_SHOW_TOGGLE_BUTTON :{BLACK}Εμφάνιση +STR_BUY_VEHICLE_SHIP_SHOW_TOGGLE_BUTTON :{BLACK}Εμφάνιση +STR_BUY_VEHICLE_AIRCRAFT_SHOW_TOGGLE_BUTTON :{BLACK}Εμφάνιση + +STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Εμφάνιση/απόκρυψη του τύπου βαγονιού +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Εμφάνιση/απόκρυψη του τύπου οχήματος δρόμου +STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Εμφάνιση/απόκρυψη του τύπου πλοίου +STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Εμφάνιση/απόκρυψη του τύπου αεροσκάφους + STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}Μετονομασία τύπου τρένου STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}Μετονομασία τύπου οχήματος δρόμου STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}Μετονομασία τύπου πλοίου @@ -3413,7 +3487,7 @@ STR_DEPOT_CLONE_ROAD_VEHICLE :{BLACK}Κλων STR_DEPOT_CLONE_SHIP :{BLACK}Κλωνοποίηση Πλοίου STR_DEPOT_CLONE_AIRCRAFT :{BLACK}Κλωνοποίηση Αεροσκάφους -STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Αυτό θα αγοράσει ένα αντίγραφο του τρένου μαζί με τα όλα τα βαγόνια. Πατήστε αυτό το κουμπί και μετά σε κάποιο τραίνο μέσα ή έξω από το αμαξοστάσιο. Με Ctrl+Κλικ θα έχει τις ίδιες εντολές. Με Shift +Κλικ εμφανίζεται το εκτιμώμενο κόστος χωρίς να γίνει η αγορά +STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Αυτό θα αγοράσει ένα αντίγραφο του τρένου μαζί με τα όλα τα βαγόνια. Πατήστε αυτό το κουμπί και μετά σε κάποιο τραίνο μέσα ή έξω από το αμαξοστάσιο. Με Ctrl+Κλικ θα έχει τις ίδιες εντολές. Με Shift+Κλικ εμφανίζεται το εκτιμώμενο κόστος χωρίς να γίνει η αγορά STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Αυτό θα αγοράσει ένα αντίγραφο του οχήματος. Πατήστε αυτό το κουμπί και μετά σε κάποιο όχημα μέσα ή έξω από το αμαξοστάσιο. Με Ctrl+Κλικ θα έχει τις ίδιες εντολές. Με Shift+Κλικ εμφανίζεται το εκτιμώμενο κόστος χωρίς να γίνει η αγορά STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Αυτό θα αγοράσει ένα αντίγραφο του πλοίου. Πατήστε αυτό το κουμπί και μετά σε κάποιο πλοίο μέσα ή έξω από το ναυπηγείο. Με Ctrl+Κλικ θα έχει τις ίδιες εντολές. Με Shift+Κλικ εμφανίζεται το εκτιμώμενο κόστος χωρίς να γίνει η αγορά STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Αυτό θα αγοράσει ένα αντίγραφο του αεροσκάφους. Πατήστε αυτό το κουμπί και μετά σε κάποιο αεροσκάφος μέσα στο ή έξω από το υπόστεγο. Με Ctrl+Κλικ θα έχει τις ίδιες εντολές. Με Shift+Κλικ εμφανίζεται το εκτιμώμενο κόστος χωρίς να γίνει η αγορά @@ -3470,6 +3544,11 @@ STR_REPLACE_VEHICLE_ROAD_VEHICLE :Όχημα Δρ STR_REPLACE_VEHICLE_SHIP :Πλοίο STR_REPLACE_VEHICLE_AIRCRAFT :Αεροσκάφος +STR_REPLACE_VEHICLE_VEHICLES_IN_USE :{YELLOW}Οχήματα σε χρήση +STR_REPLACE_VEHICLE_VEHICLES_IN_USE_TOOLTIP :{BLACK}Στήλη οχημάτων που σας ανήκουν +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES :{YELLOW}Διαθέσιμα οχήματα +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES_TOOLTIP :{BLACK}Στήλη με οχήματα διαθέσιμα προς αντικατάσταση + STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Επιλέξτε τον τύπο μηχανής για αντικατάσταση STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Επιλέξτε τον νέο τύπο μηχανής που θέλετε να χρησιμοποιηθεί στην θέση του επιλεγμένου τύπου μηχανής στα αριστερά @@ -3594,7 +3673,7 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Χωρη STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Έσοδα μεταφοράς: {LTBLUE}{CURRENCY_LONG} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Διάστημα επισκευών: {LTBLUE}{COMMA}μέρες{BLACK} Τελευταία επισκευή: {LTBLUE}{DATE_LONG} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Διάστημα μεταξύ επισκευών: {LTBLUE}{COMMA}{NBSP}μέρες{BLACK} Τελευταία επισκευή: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Διάστημα επισκευών: {LTBLUE}{COMMA}%{BLACK} Τελευταία επισκευή: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Αύξηση διαστημάτων επισκευών κατά 10. Με Ctrl+Κλικ αυξάνονται τα διαστήματα ανάμεσα των επισκευών κατά 5 STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Μείωση διαστημάτων επισκευών κατά 10. Με Ctrl+Κλικ μειώνεται τα διαστήματα επισκευών κατά 5 @@ -3826,7 +3905,7 @@ STR_TIMETABLE_TRAVEL_FOR :Ταξίδεψ STR_TIMETABLE_TRAVEL_FOR_SPEED :Ταξίδεψε για {STRING} με κατά περισσότερο {VELOCITY} STR_TIMETABLE_STAY_FOR :και μείνε για {STRING} STR_TIMETABLE_AND_TRAVEL_FOR :και ταξίδεψε για {STRING} -STR_TIMETABLE_DAYS :{COMMA} μέρ{P α ες} +STR_TIMETABLE_DAYS :{COMMA}{NBSP}μέρ{P α ες} STR_TIMETABLE_TICKS :{COMMA} στιγμ{P ή ές} STR_TIMETABLE_TOTAL_TIME :{BLACK}Το δρομολόγιο αυτό θα χρειαστεί τουλάχιστον {STRING} για να ολοκληρωθεί @@ -4062,6 +4141,7 @@ STR_ERROR_EXCAVATION_WOULD_DAMAGE :{WHITE}Η εκ STR_ERROR_ALREADY_AT_SEA_LEVEL :{WHITE}... ήδη στο επίπεδο της θάλασσας STR_ERROR_TOO_HIGH :{WHITE}... πολύ ψηλά STR_ERROR_ALREADY_LEVELLED :{WHITE}... ήδη επίπεδο +STR_ERROR_BRIDGE_TOO_HIGH_AFTER_LOWER_LAND :{WHITE}Μετά την αλλαγή, η γέφυρα από πάνω του θα είναι πολύ ψηλή # Company related errors STR_ERROR_CAN_T_CHANGE_COMPANY_NAME :{WHITE}Δεν ήταν δυνατό να αλλάξει το όνομα της εταιρίας... @@ -4112,6 +4192,9 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... δά STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... μπορεί να κτιστεί μόνο πάνω από τη γραμμή του χιονιού STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... μπορεί να κτιστεί μόνο κάτω από τη γραμμή του χιονιού +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}Δεν υπήρχαν διαθέσιμες τοποθεσίες για βιομηχανίες τύπου '{STRING}' +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Αλλαγή παραμέτρων δημιουργίας χάρτη για καλύτερα αποτελέσματα + # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Δεν μπορεί να κτιστεί σταθμός τρένων εδώ... STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}Αδύνατο να κτιστεί στάση λεωφορείων... @@ -4812,6 +4895,7 @@ STR_COMPANY_NAME :{COMPANY} STR_COMPANY_NAME_COMPANY_NUM :{COMPANY} {COMPANY_NUM} STR_DEPOT_NAME :{DEPOT} STR_ENGINE_NAME :{ENGINE} +STR_HIDDEN_ENGINE_NAME :{ENGINE} (κρυφό) STR_GROUP_NAME :{GROUP} STR_INDUSTRY_NAME :{INDUSTRY} STR_PRESIDENT_NAME :{PRESIDENT_NAME} @@ -4847,8 +4931,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -4859,9 +4941,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/hebrew.txt b/src/lang/hebrew.txt index 07b51597b4..1c2fa4e0c4 100644 --- a/src/lang/hebrew.txt +++ b/src/lang/hebrew.txt @@ -109,7 +109,7 @@ STR_CARGO_SINGULAR_FIZZY_DRINK.plural :משקאות מ # Quantity of cargo STR_QUANTITY_NOTHING : -STR_QUANTITY_PASSENGERS :{P 0 "נוסע " ""}{COMMA}{P "" " נוסעים"} +STR_QUANTITY_PASSENGERS :{COMMA}{NBSP}נוסע{P "" ים} STR_QUANTITY_COAL :{WEIGHT_LONG} של פחם STR_QUANTITY_MAIL :{P 0 "שק " ""}{COMMA}{P "" " שקים"} של דואר STR_QUANTITY_OIL :{VOLUME_LONG} של נפט @@ -262,6 +262,9 @@ STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}כפתו STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}פס הגלילה - גלילה של רשימות ימינה\שמאלה STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}הסרת בניינים וכו' במשבצת קרקע. מקש Ctrl מסמן את האזור באופן אלכנסוני. מקש Shift מעביר בין בנייה לבין הצגה של הערכת העלות +# Show engines button + + # Query window STR_BUTTON_DEFAULT :{BLACK}בחירת מחדל STR_BUTTON_CANCEL :{BLACK}ביטול @@ -375,7 +378,6 @@ STR_SCENEDIT_FILE_MENU_QUIT :יציאה ############ range for settings menu starts STR_SETTINGS_MENU_GAME_OPTIONS :אפשרויות המשחק -STR_SETTINGS_MENU_CONFIG_SETTINGS :הגדרות מתקדמות STR_SETTINGS_MENU_SCRIPT_SETTINGS :הגדרות סקריפטים של משחק/שחקני מחשב STR_SETTINGS_MENU_NEWGRF_SETTINGS :הגדרות GRF חדש STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :אפשרויות שקיפות @@ -484,7 +486,7 @@ STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :הדלק/כבה STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :הפעל/כבה צביעת בלוקים לא מעודכנים ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window STR_ORDINAL_NUMBER_1ST :1 STR_ORDINAL_NUMBER_2ND :2 STR_ORDINAL_NUMBER_3RD :3 @@ -500,22 +502,40 @@ STR_ORDINAL_NUMBER_12TH :12 STR_ORDINAL_NUMBER_13TH :13 STR_ORDINAL_NUMBER_14TH :14 STR_ORDINAL_NUMBER_15TH :15 -STR_ORDINAL_NUMBER_16TH :16 -STR_ORDINAL_NUMBER_17TH :17 -STR_ORDINAL_NUMBER_18TH :18 -STR_ORDINAL_NUMBER_19TH :19 -STR_ORDINAL_NUMBER_20TH :20 -STR_ORDINAL_NUMBER_21ST :21 -STR_ORDINAL_NUMBER_22ND :22 -STR_ORDINAL_NUMBER_23RD :23 -STR_ORDINAL_NUMBER_24TH :24 -STR_ORDINAL_NUMBER_25TH :25 -STR_ORDINAL_NUMBER_26TH :26 -STR_ORDINAL_NUMBER_27TH :27 -STR_ORDINAL_NUMBER_28TH :28 -STR_ORDINAL_NUMBER_29TH :29 -STR_ORDINAL_NUMBER_30TH :30 -STR_ORDINAL_NUMBER_31ST :31 +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :1 +STR_DAY_NUMBER_2ND :2 +STR_DAY_NUMBER_3RD :3 +STR_DAY_NUMBER_4TH :4 +STR_DAY_NUMBER_5TH :5 +STR_DAY_NUMBER_6TH :6 +STR_DAY_NUMBER_7TH :7 +STR_DAY_NUMBER_8TH :8 +STR_DAY_NUMBER_9TH :9 +STR_DAY_NUMBER_10TH :10 +STR_DAY_NUMBER_11TH :11 +STR_DAY_NUMBER_12TH :12 +STR_DAY_NUMBER_13TH :13 +STR_DAY_NUMBER_14TH :14 +STR_DAY_NUMBER_15TH :15 +STR_DAY_NUMBER_16TH :16 +STR_DAY_NUMBER_17TH :17 +STR_DAY_NUMBER_18TH :18 +STR_DAY_NUMBER_19TH :19 +STR_DAY_NUMBER_20TH :20 +STR_DAY_NUMBER_21ST :21 +STR_DAY_NUMBER_22ND :22 +STR_DAY_NUMBER_23RD :23 +STR_DAY_NUMBER_24TH :24 +STR_DAY_NUMBER_25TH :25 +STR_DAY_NUMBER_26TH :26 +STR_DAY_NUMBER_27TH :27 +STR_DAY_NUMBER_28TH :28 +STR_DAY_NUMBER_29TH :29 +STR_DAY_NUMBER_30TH :30 +STR_DAY_NUMBER_31ST :31 ############ range for days ends ############ range for months starts @@ -824,19 +844,17 @@ STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}{VEHICLE STR_NEWS_SHIP_IS_WAITING :{WHITE}ממתינה במבדוק {VEHICLE} STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}ממתין בסככת המטוסים {VEHICLE} -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE +# Order review system / warnings STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}ל{VEHICLE} חסר(ים) יעד(ים) במסלול הנסיעה של STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}ל{VEHICLE} יעד שאינו קיים עוד עבור STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}ל{VEHICLE} כפילות ברשימת היעדים של STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE} יעד בלתי חוקי במסלול הנסיעה של -# end of order system STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}מתיישן {VEHICLE} STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}מתיישן מאוד {VEHICLE} STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD_AND :{WHITE}מתיישן מאוד, וזקוק להחלפה בדחיפות {VEHICLE} STR_NEWS_TRAIN_IS_STUCK :אינה יכולה למצוא נתיב המשך {WHITE}{VEHICLE} -STR_NEWS_VEHICLE_IS_LOST :{WHITE}{VEHICLE} הל{P "ך" "כה"} לאיבוד +STR_NEWS_VEHICLE_IS_LOST :{WHITE}{VEHICLE} הל לאיבוד STR_NEWS_VEHICLE_IS_UNPROFITABLE :ריווחי {WHITE}{VEHICLE} שנה שעברה הם {CURRENCY_LONG} STR_NEWS_AIRCRAFT_DEST_TOO_FAR :{WHITE}{VEHICLE}אינ{G 0 "ו" "ה"} יכול{G 0 "" "ה"} להגיע אל היעד הבא כי הוא מחוץ לטווח @@ -913,10 +931,6 @@ STR_GAME_OPTIONS_CURRENCY_GEL :לארי גאו STR_GAME_OPTIONS_CURRENCY_IRR :ריאל איראני (IRR) ############ end of currency region - -############ start of measuring units region -############ end of measuring units region - STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}רכבי כביש STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}בחר את צד הכביש בו יסעו כלי הרכב STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :סע בצד שמאל @@ -952,11 +966,13 @@ STR_GAME_OPTIONS_TOWN_NAME_CATALAN :רומאית STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}שמירה אוטומטית STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}בחר פרק זמן בין שמירות אוטומטיות +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :כבוי STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :מידי חודש STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :כל 3 חודשים STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :כל 6 חודשים STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :כל 12 חודשים +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}שפה STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}בחר את שפת הממשק @@ -968,8 +984,7 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}רזלו STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}בחר את רזולוציית המסך STR_GAME_OPTIONS_RESOLUTION_OTHER :אחר -STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}פורמט עבור צילומי מסך -STR_GAME_OPTIONS_SCREENSHOT_FORMAT_TOOLTIP :{BLACK}בחר את הפורמט של צילום המסך + STR_GAME_OPTIONS_BASE_GRF :{BLACK}ערכת גרפיקה בסיסית STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}בחר בערכת גרפיקה בסיסית לשימוש @@ -985,6 +1000,7 @@ STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}בחר STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} קובץ פגום{P "" s} STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}מידע נוסף אודות ערכת המוזיקה הבסיסית +STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}שגיאה ביצירת רשימה של רזולוציות אפשריות STR_ERROR_FULLSCREEN_FAILED :{WHITE}נכשל בשינויי למסך מלא # Custom currency window @@ -1070,8 +1086,7 @@ STR_CITY_APPROVAL_HOSTILE :עויין STR_WARNING_NO_SUITABLE_AI :{WHITE}אין בינות מלאכותיות מתאימות...{}באפשרותך להוריד בינות מלאכותיות בעזרת מערכת ה'תוכן המקוון' -# Advanced settings window -STR_CONFIG_SETTING_CAPTION :{WHITE}הגדרות מתקדמות +# Settings tree window STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}מחרוזת סינון: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}הרחב הכל STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}צמצם הכל @@ -1086,20 +1101,20 @@ STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :הגדרת חב STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK}קטגוריה: STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}סוג: -STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}מגביל את הרשימה להלן כך שתציג רק הגדרות שהשתנו -STR_CONFIG_SETTING_RESTRICT_BASIC :הגדרות בסיסיות -STR_CONFIG_SETTING_RESTRICT_ADVANCED :הגדרות מתקדמות -STR_CONFIG_SETTING_RESTRICT_ALL :הגדרות מומחה / כל ההגדרות +STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}מגביל את הרשימה להלן תוך שימוש בסינון שהוגדר מראש. +STR_CONFIG_SETTING_RESTRICT_BASIC :הגדרות בסיסיות (הצג רק הגדרות חשובות) +STR_CONFIG_SETTING_RESTRICT_ADVANCED :הגדרות מתקדמות (הצג את רוב ההגדרות) +STR_CONFIG_SETTING_RESTRICT_ALL :הגדרות מומחה (הצג את כל ההגדרות, כולל הגדרות משונות) STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :הגדרות בעלות ערך השונה מברירת המחדל STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :הגדרות בעלות ערך השונה מזה אשר בהגדרות המשחק החדש שלך STR_CONFIG_SETTING_TYPE_DROPDOWN_HELPTEXT :{BLACK}מגביל את הרשימה הבאה להגדרות מסוימות STR_CONFIG_SETTING_TYPE_DROPDOWN_ALL :כל ההגדרות -STR_CONFIG_SETTING_TYPE_DROPDOWN_CLIENT :הגדרות משתמש(לא נמצא בשמורים; משפיע על כל המשחקים) -STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :הגדרות משחק (נמצא בשמורים; משפיע רק על משחקים חדשים) -STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :הגדרות משחק (נמצא בשמורים; משפיע רק על משחק נוכחי) -STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :הגדרות חברה (נמצא בשמורים; משפיע רק על משחקים חדשים) -STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :הגדרות חברה (נמצא בשמורים; משפיע רק על חברה נוכחית) +STR_CONFIG_SETTING_TYPE_DROPDOWN_CLIENT :הגדרות משתמש (לא מאוחסנות במשחקים שמורים; משפיעות על כל המשחקים) +STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :הגדרות משחק (מאוחסנות במשחקים שמורים; משפיעות רק על משחקים חדשים) +STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :הגדרות משחק (מאוחסנות במשחק שמור; משפיעות רק על משחק נוכחי) +STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :הגדרות חברה (מאוחסנות במשחקים שמורים; משפיעות רק על משחקים חדשים) +STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :הגדרות חברה (מאוחסנות במשחק שמור; משפיעות רק על חברה נוכחית) STR_CONFIG_SETTING_CATEGORY_HIDES :{BLACK}הצג את תוצאות החיפוש בהגדרת {SILVER}הקטגוריה {} {BLACK} ל{WHITE}{STRING} STR_CONFIG_SETTING_TYPE_HIDES :{BLACK}הצג את תוצאות החיפוש בהגדרת {SILVER}הסוג {} {BLACK}ל{WHITE}כל סוגי ההגדרות STR_CONFIG_SETTING_CATEGORY_AND_TYPE_HIDES :{BLACK}הצג את תוצאות החיפוש בהגדרת{SILVER}הקטגוריה{} {BLACK}ל{WHITE}{STRING} {BLACK}וגם את {SILVER}הסוג {BLACK}ל{WHITE}כל סוגי ההגדרות @@ -1144,9 +1159,10 @@ STR_CONFIG_SETTING_DISASTERS_HELPTEXT :אפשר/מנע STR_CONFIG_SETTING_CITY_APPROVAL :יחס מועצת העיר כלפי שינוי מבנה אזורי: {STRING} STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :בחר באיזו מידה רעש ונזק סביבתי ע"י חברות משפיעים על הדירוג העירוני שלהן ופעולות בנייה עתידיות באזור -STR_CONFIG_SETTING_BUILDONSLOPES :אפשר לבנות על מידרונות וחופים: {STRING} -STR_CONFIG_SETTING_BUILDONSLOPES_HELPTEXT :אם מאופשר, ניתן לבנות מסילות ותחנות על גבי רוב המדרונות. אם מבוטל, ניתן לבנות אותם רק על מדרונות המתאימים לכיוון המסילה וכך אינם דורשים יסודות -STR_CONFIG_SETTING_AUTOSLOPE :{STRING} :'אפשר יצירת מילוי עפר תחת מבנים, פסי רכבת וכו +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :גובה מפה מקסימלי: {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :קבע את הגובה המקסימלי להרים במפה +STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}לא ניתן לקבוע את הגובה המקסימלי במפה לערך זה. קיים לפחות הר אחד גבוה יותר +STR_CONFIG_SETTING_AUTOSLOPE :אפשר יצירת מילוי עפר תחת מבנים, פסי רכבת וכו': {STRING} STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :אפשר שינוי פני השטח מתחת לבניינים ולמסילות ללא הסרתם STR_CONFIG_SETTING_CATCHMENT :אפשר לאזורי אגירת מים להיראות יותר ריאליסטיים: {STRING} STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :אזורי אגירה בגדלים שונים עבור סוגים שונים של תחנות ונמלי תעופה @@ -1170,14 +1186,8 @@ STR_CONFIG_SETTING_FORBID_90_DEG :אסור על STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :סיבוב של 90 מעלות מתרחש כאשר מסילה אנכית באה מיד אחרי מסילה אופקית במשבצת סמוכה, וכך מאלצת את הרכבת לבצע פנייה של 90 מעלות בעת חציית גבול המשבצות במקום פניית 45 הרגילה עבור צירופי מסילות אחרים. הנ"ל תקף גם לגבי רדיוס הסיבוב של אוניות STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :{STRING} :אפשר חיבור בין תחנות שאינן צמודות זו לזו STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :אפשר הוספת חלקים לתחנה מבלי לגעת ישירות בחלקים הקיימים. דורש קליק בצירוף לחיצה על מקש Ctrl בעת מיקום החלקים החדשים -STR_CONFIG_SETTING_IMPROVEDLOAD :השתמש באלגוריתם טעינה משופר: {STRING} -STR_CONFIG_SETTING_IMPROVEDLOAD_HELPTEXT :אם מאופר, מספר רכבים הממתינים בתחנה מוטענים בזה אחר זה. טעינת הרכב הבא מתחילה רק כאשר ממתין די מטען לצורך מילוי הרכב הראשון -STR_CONFIG_SETTING_GRADUAL_LOADING :טען כלי רכב בהדרגה: {STRING} -STR_CONFIG_SETTING_GRADUAL_LOADING_HELPTEXT :טען רכבים בהדרגה באמצעות זמני טעינה ייחודיים לכל רכב, במקום לטעון הכל בבת אחת עם פרק זמן קבוע התלוי רק בכמות המטען הטעונה STR_CONFIG_SETTING_INFLATION :אנפלציה: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :אפשר אינפלציה בכלכלה, כך שהעלויות עולות מעט מהר יותר מאשר התשלומים -STR_CONFIG_SETTING_SELECTGOODS :מסור סחורה לתחנה רק כאשר יש ביקוש: {STRING} -STR_CONFIG_SETTING_SELECTGOODS_HELPTEXT :מסור מטען לתחנה רק אם התבקש ע"י כלי רכב טוען. זה מונע דירוגים רעים עבור מטענים אשר אינם מקבלים שירות בתחנה STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :אורך גשר מירבי: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :אורך מירבי לבניית גשרים STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :אורך מנהרה מירבי: {STRING} @@ -1205,8 +1215,6 @@ STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :מקום בו STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :קצה קרוב STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :אמצע STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :קצה רחוק -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING ::(כלי רכב ממתינים(עם אפקט קונט {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING_HELPTEXT :גרום לרכבי כביש להמתין מול תחנות מלאות עד שהן מתפנות STR_CONFIG_SETTING_AUTOSCROLL :{STRING} :גלילת תצוגה בעת שסמן העכבר נמצא בסמוך לקצוות STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :כאשר מאופשר, חלונות תצוגה יתחילו לגלול כאשר העכבר קרוב לקצה החלון STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :מבוטל @@ -1237,10 +1245,6 @@ STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :{STRING} :אפ STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :אפשר בנייה של תחנות "על הדרך" בכבישים בבעלות עיירות STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :אפשר נסיעה דרך תמרורי-עצירה על דרכים בבעלות מתחרים: {STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :אפשר בנייה של תחנות "על הדרך" בכבישים בבעלות חברות אחרות -STR_CONFIG_SETTING_ADJACENT_STATIONS :{STRING} :אפשר בניית תחנות בשכנות -STR_CONFIG_SETTING_ADJACENT_STATIONS_HELPTEXT :אפשר לתחנות שונות לדעת זו בזו -STR_CONFIG_SETTING_DYNAMIC_ENGINES :אפשר מספר ערכות מנוע GRF חדשות: {STRING} -STR_CONFIG_SETTING_DYNAMIC_ENGINES_HELPTEXT :אפשרות תאימות עבור NewGRF-ים ישנים. אל תבטל/י אפשרות זו, אלא אם את/ה יודע/ת בדיוק מה את/ה עושה! STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}שינוי הגדרה זו אינה אפשרית כאשר קיימים כלי רכב STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :תחזוקת תשתיות: {STRING} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :כאשר מאופשר, תשתיות גורמות לעלויות תחזוקה. העלות גדלה באופן שהוא מעבר ליחסי לעומת גודל הרשת, וכך משפיע יותר על חברות גדולות מאשר על חברות קטנות @@ -1271,39 +1275,51 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :משך הצגת STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :פרק הזמן להצגת הודעות שגיאה בחלון אדום. יש לשים לב כי כמה הודעות שגיאה (קריטיות) אינן נסגרות אוטומטית אחרי פרק זמן זה, אלא יש לסגור אותן ידנית STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{P 0 "שנייה " ""}{COMMA}{P "" " שניות"} STR_CONFIG_SETTING_HOVER_DELAY :הצג רמזים צצים: {STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :השהייה טרם הצגת רמזים צצים כאשר העכבר מרחף מעל חלק ממשק. לחלופין, ניתן לקשר רמזים צצים לכפתור העכבר הימני -STR_CONFIG_SETTING_HOVER_DELAY_VALUE :רחף למשך {P 0 "שניה " ""}{COMMA}{P "" " שניות"} +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :השהייה טרם הצגת רמזים צצים כאשר העכבר מרחף מעל חלק ממשק. לחלופין, ניתן לקשר רמזים צצים לכפתור העכבר הימני כאשר מוגדר 0. +STR_CONFIG_SETTING_HOVER_DELAY_VALUE :רחף למשך {P 0 "מילישניה " ""}{COMMA}{P "" " מילישניות"} STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :קליק ימני STR_CONFIG_SETTING_POPULATION_IN_LABEL :הראה את אוכלוסיית העיר בתוך תוית השם של העיר: {STRING} STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :הצג את אוכלוסייתן של עיירות בתווית שלהן על גבי המפה STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :עובי קווים בגרפים: {STRING} STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :עובי הקו בגרפים. קו דק ניתן לקריאה באופן מדויק יותר, אולם קל יותר לראות קו עבה ולהבחין בין הצבעים של קוים עבים -STR_CONFIG_SETTING_LAND_GENERATOR :יוצר אדמה: {STRING} +STR_CONFIG_SETTING_LAND_GENERATOR :מחולל פני שטח: {STRING} +STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :המחולל המקורי מבוסס על הגרפיקה הבסיסית, ויוצר פני שטח אחידים. בורא הקרקע מבוסס על אלגוריתם רעש פרלין עם אפשרויות עריכה עדינות STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :מקורי STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :בורא הקרקע +STR_CONFIG_SETTING_TERRAIN_TYPE :סוג המשטח: {STRING} +STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(בורא הקרקע בלבד) הרריות המשטח +STR_CONFIG_SETTING_INDUSTRY_DENSITY :צפיפות תעשיות: {STRING} +STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :בחר כמה תעשיות יווצרו ומהי הרמה שתישמר לאורך המשחק STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :מרחק מירבי מן הקצה עבור מזקקות נפט: {STRING} STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :מזקקות נפט נבנות רק בקרבת גבול המפה, כלומר חוף הים עבור מפות בצורת אי STR_CONFIG_SETTING_SNOWLINE_HEIGHT :גובה קו השלג: {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :רמת חספוס השטח (בבורא האדמה בלבד) : {STRING} +STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :בחר מהו הגובה בו מתחיל השלג באקלים קר. שלג משפיע גם על הדרישות ביצירת תעשייה וגידול ערים +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :רמת חספוס השטח: {STRING} +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(בורא הקרקע בלבד) בחר את תדירות הגבעות: למשטחים חלקים פחות גבעות שמפוזרות במרחב. למשטחים מחוספסים יש הרבה גבעות, שעלולות להיראות מחזוריות STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :חלק מאוד STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :חלק STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :מחוספס STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :מחוספס מאוד +STR_CONFIG_SETTING_VARIETY :הפצה מגוונת: {STRING} +STR_CONFIG_SETTING_VARIETY_HELPTEXT :(עבור בורא הקרקע בלבד) בחר האם המפה תכיל גם הרים וגם אזורים שטוחים. מכיוון שכך המפה שטוחה יותר, יש לקבוע את ההגדרות הנוספות להררי +STR_CONFIG_SETTING_RIVER_AMOUNT :כמות הנהרות: {STRING} +STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :בחר את כמות הנהרות STR_CONFIG_SETTING_TREE_PLACER :אלגוריתם של נוטע העצים: {STRING} +STR_CONFIG_SETTING_TREE_PLACER_HELPTEXT :בחר את הפיזור של העצים על המפה: 'מקורי' שותל עצים בצורה אחידה, 'משופר' שותל אותם בקבוצות STR_CONFIG_SETTING_TREE_PLACER_NONE :בכלל לא STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :מקורי STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :משופר +STR_CONFIG_SETTING_ROAD_SIDE :כלי רכב: {STRING} +STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :בחר את צד הנסיעה STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :סיבוב מפת גבהים: {STRING} STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :נגד כיוון השעון STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :בכיוון השעון STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :{STRING} :עומק הקרקע עבור מפה שטוחה -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :{STRING} :אפשר יצירת קרקע בשולי המפה -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES_HELPTEXT :אם מבוטל, גבולות המפה תמיד יהיו אוקיינוס STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}לפחות משבצת אחת בקצה הצפוני אינה ריקה STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}לפחות משבצת אחת באחד הקצוות אינה מכוסה מים -STR_CONFIG_SETTING_STATION_SPREAD :התפרסות תחנה מירבית: {STRING} +STR_CONFIG_SETTING_STATION_SPREAD :פריסה מירבית לתחנה: {STRING} STR_CONFIG_SETTING_STATION_SPREAD_HELPTEXT :שטח מירבי עליו יכולים להתפרס חלקיה השונים של תחנה בודדת. יש לשים לב כי ערכים גבוהים יאטו את המשחק STR_CONFIG_SETTING_SERVICEATHELIPAD :{STRING}טיפול אוטומטי במסוקים במנחת STR_CONFIG_SETTING_SERVICEATHELIPAD_HELPTEXT :תחזק מסוקים אחרי כל נחיתה, אפילו אם אין מוסך בנמל התעופה @@ -1320,7 +1336,7 @@ STR_CONFIG_SETTING_SMOOTH_SCROLLING :{STRING} :גל STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :שלוט כיצד התצוגה הראשית נגללת למיקום מסוים כאשר מקליקים על המפה הקטנה אן כאשר נותנים הוראה לגלול לעצם מסוים על גבי המפה. אם מאופשר, חלון התצוגה נגלל באופן חלק, אם מבוטל הוא מוקפץ ישירות אל נקודת המטרה STR_CONFIG_SETTING_MEASURE_TOOLTIP :{STRING} :'הצג מידות בעת בניית כבישים/מסילות וכיוב STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT :הצג מרחק במשבצות והבדלי גבהים בעת גרירה תוך כדי פעולות בנייה -STR_CONFIG_SETTING_LIVERIES :{STRING} :הצג את צבעי החברה +STR_CONFIG_SETTING_LIVERIES :הצג צבעים מיוחדים לכלי רכב: {STRING} STR_CONFIG_SETTING_LIVERIES_HELPTEXT :שלוט בשימוש בצבעים ייחודיים לסוגי כלי רכב (בניגוד לצבעים ייחודיים לחברה) STR_CONFIG_SETTING_LIVERIES_NONE :לא STR_CONFIG_SETTING_LIVERIES_OWN :החברה שלי @@ -1350,17 +1366,15 @@ 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_AUTOSAVE :שמירה אוטומטית: {STRING} +STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :בחר פרק זמן בין שמירות אוטומטיות + STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :השתמש במבנה התאריך {STRING} בשביל שמות קבצי השמירה. STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :פורמט התאריך בשמות קבצים של משחקים שמורים STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :ארוך (31 בדצמבר 2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :קצר (31-12-2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE :לוח צבעים ברירת מחדל שיש להניח עבור NewGRF-ים אשר אינם מפרטים לוח צבעים: {STRING} -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_HELPTEXT :לוח צבעים ברירת מחדל לשימוש עבור NewGRF-ים אשר אינם מפרטים איזה לוח צבעים הם צריכים -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_DOS :לוח צבעים ברירת מחדל (D) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_WIN :לוח צבעים מיושן (W) - STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :עצור משחק אוטומטית אחרי התחלת משחק חדש: {STRING} STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :כאשר מאופשר, המשחק יושהה אוטומטית בעת התחלת משחק חדש, דבר המאפשר בחינה מדוקדקת יותר של המפה STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :כאשר המחשק מושהה הרשה: {STRING} @@ -1369,7 +1383,7 @@ STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :שום פעול STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :כל הפעולות שאינן פעולות בנייה STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :כל הפעולות שאינן משנות את פני השטח STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_ACTIONS :כל הפעולות -STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :השתמש ברשימת כלי הרכב המתקדמת: {STRING} +STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :השתמש בקבוצות ברשימת כלי הרכב: {STRING} STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :אפשר שימוש ברשימות כלי הרכב המתקדמות לצורך חלוקת כלי רכב לקבוצות STR_CONFIG_SETTING_LOADING_INDICATORS :{STRING} :הצג מצביעי הטענה STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :בחר האם מדדי טעינה יוצגו מעל רכבים בעת טעינתם או פריקתם @@ -1384,7 +1398,7 @@ STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_HELPTEXT :סוג מסיל STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_FIRST :הראשון הזמין STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_LAST :האחרון הזמין STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_MOST_USED :הנפוץ ביותר -STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :{STRING} :הדגש מסלולים שבשימוש +STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :הדגש מסלולים שבשימוש: {STRING} STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION_HELPTEXT :תן צבע שונה למסילות שמורות כדי לסייע בבעיות עם רכבות המסרבות להיכנס לגושים מבוססי מסלול STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :{STRING}: שמור על כלי הבנייה פעילים לאחר השימוש STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :השאר את כלי הבנייה עבור גשרים, מנהרות וכו' פתוחים אחרי השימוש @@ -1410,13 +1424,13 @@ STR_CONFIG_SETTING_SOUND_AMBIENT_HELPTEXT :השמע קול STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING :מנע בניית תשתיות כאשר אין כלי רכב מתאימים זמינים: {STRING} STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING_HELPTEXT :כאשר מאופשר, תשתיות זמינות רק כאשר ישנם גם כלי רכב זמינים, דבר המונע בזבוז זמן וכסף על תשתיות בלתי שמישות -STR_CONFIG_SETTING_MAX_TRAINS :{STRING} :מספר רכבות מירבי לשחקן +STR_CONFIG_SETTING_MAX_TRAINS :מספר רכבות מירבי לשחקן: {STRING} STR_CONFIG_SETTING_MAX_TRAINS_HELPTEXT :מספר מירבי של רכבות בהן חברה יכולה להחזיק -STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :{STRING} :מספר משאיות/אוטובוסים מירבי לשחקן +STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :מספר משאיות/אוטובוסים מירבי לשחקן: {STRING} STR_CONFIG_SETTING_MAX_ROAD_VEHICLES_HELPTEXT :מספר מירבי של רכבי כביש בהם חברה יכולה להחזיק -STR_CONFIG_SETTING_MAX_AIRCRAFT :{STRING} :מספר כלי טייס מירבי לשחקן +STR_CONFIG_SETTING_MAX_AIRCRAFT :מספר כלי טייס מירבי לשחקן: {STRING} STR_CONFIG_SETTING_MAX_AIRCRAFT_HELPTEXT :מספר מירבי של מטוסים בהם חברה יכולה להחזיק -STR_CONFIG_SETTING_MAX_SHIPS :{STRING} :מספר כלי שייט מירבי לשחקן +STR_CONFIG_SETTING_MAX_SHIPS :מספר כלי שייט מירבי לשחקן: {STRING} STR_CONFIG_SETTING_MAX_SHIPS_HELPTEXT :מספר מירבי של אוניות בהן חברה יכולה להחזיק STR_CONFIG_SETTING_AI_BUILDS_TRAINS :מנע הפעלת רכבות ע”י שחקני המחשב: {STRING} @@ -1510,7 +1524,7 @@ STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT :בחר את ה STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE :{STRING} :בנה רמזורים מכאניים לפני STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT :קבע את השנה בה רמזורים חשמליים ישמשו במסילות. לפני שנה זו יהיו בשימוש רמזורים מכניים (פעולתם זהה, הם רק נראים אחרת) STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI :{STRING} :אפשר ממשק ויזואלי עבור רמזורים -STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI_HELPTEXT :הצג חלון לבחירת סוג הרמזור להצבה, במקום רק מעבר בין האפשרויות ללא חלון באמצעות הקלקה על "בנה רמזורים" תוך לחיצה על מקש Ctrl +STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI_HELPTEXT :הצג חלון לבחירת סוג הרמזור להצבה, במקום רק מעבר בין האפשרויות באמצעות Ctrl+לחיצה על רמזורים בנויים STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE :{STRING} :ברירת מחדל לבניית רמזורי רכבת STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE_HELPTEXT :סוג רמזור לשימוש בברירת מחדל STR_CONFIG_SETTING_DEFAULT_SIGNAL_NORMAL :רמזורי בלוק @@ -1582,8 +1596,6 @@ STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 ב-{COMMA} STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :ללא STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :{STRING} :מכפיל התחלתי של גודל העיירות STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :גודל ממוצע של ערים יחסית לעיירות רגילות בתחילת המשחק -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :הסר רכיבי-דרך לא הגיוניים במהלך בניית דרכים: {STRING} -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD_HELPTEXT :הסר קצות כבישים ללא מוצא בעת סלילה מחדש ממומנת של כבישים STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :עדכן את הגרף מדי {STRING} {P 0:2 יום ימים} STR_CONFIG_SETTING_LINKGRAPH_INTERVAL_HELPTEXT :זמן לחישוב מחדש של גרף הקישור. כל חישוב מחדש מחשב את התכניות של פריט יחיד בגרף. כלומר, בהגדרה של ערך X אין הכרח שכל הגרף יתעדכן מדי X ימים. רק פריט ממנו יתעדכן. ערך קטן יותר דורש יותר זמן מעבד לחישוב. ערך גבוה קובע זמן ארוך יותר עד שחלוקת המטען מתחילה בנתיב חדש. @@ -1597,7 +1609,7 @@ STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"סימטרי" STR_CONFIG_SETTING_DISTRIBUTION_MAIL :אופן החלוקה עבור דואר: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"סימטרי" הכוונה שכמות הדואר מתחנה א' לתחנה ב' הוא פחות או יותר אותה כמות הדואר מתחנה ב' לתחנה א'. "אסימטרי" הכוונה שכמויות דואר שרירותיות יכולות להישלח לכל אחד מהכיוונים. "ידני" הכוונה שאין חלוקה אוטומטית עבור דואר. STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :אופן החלוקה עבור מחלקה משוריינת: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :מחלקה משוריינת מובילה חפצי ערך באקלים ממוזג, יהלומים באקלים טרופי וזהב באקלים קר. קבצי שדרוג גראפי עלולים לשנות חלוקה זו. "סימטרי" הכוונה שכמות המטען מתחנה א' לתחנה ב' הוא פחות או יותר אותה כמות המטען מתחנה ב' לתחנה א'. "אסימטרי" הכוונה שכמויות מטען שרירותיות יכולות להישלח לכל אחד מהכיוונים. "ידני" הכוונה שאין חלוקה אוטומטית עבור המטען. באקלים קר מומלץ לקבוע למצב אסימטרי או ידני כי בנקים לא שולחים זהב חזרה למכרות יהלומים. באקלים ממוטזג או טרופי ניתן לבחור גם במצב סימטרי כאשר בנקים ישלחו חפצי ערך חזרה למקור של אותם חפצי ערך. +STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :מחלקה משוריינת מובילה חפצי ערך באקלים ממוזג, יהלומים באקלים טרופי וזהב באקלים קר. קבצי שדרוג גראפי עלולים לשנות חלוקה זו. "סימטרי" הכוונה שכמות המטען מתחנה א' לתחנה ב' הוא פחות או יותר אותה כמות המטען מתחנה ב' לתחנה א'. "אסימטרי" הכוונה שכמויות מטען שרירותיות יכולות להישלח לכל אחד מהכיוונים. "ידני" הכוונה שאין חלוקה אוטומטית עבור המטען. באקלים קר מומלץ לקבוע למצב אסימטרי או ידני כי בנקים לא שולחים זהב חזרה למכרות יהלומים. באקלים ממוזג או טרופי ניתן לבחור גם במצב סימטרי כאשר בנקים ישלחו חפצי ערך חזרה למקור של אותם חפצי ערך. STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :אופן החלוקה עבור מטענים אחרים: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"אסימטרי" הכוונה שכמויות מטען שרירותיות יכולות להישלח לכל אחד מהכיוונים. "ידני" הכוונה שאין חלוקה אוטומטית עבור המטען. STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :דיוק החלוקה: {STRING} @@ -1633,32 +1645,22 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_METRIC :מטרי (קי STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_SI :בינלאומית (קילו ניוטון) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT :יחידות גובה: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT :כאשר מוצגים גבהים השתמש ביחידות שנבחרו. +STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT :כאשר מוצגים גבהים השתמש ביחידות שנבחרו STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :בריטית (רגל) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :מטרי (מטר) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :SI (מטר) -STR_CONFIG_SETTING_GUI :{ORANGE}ממשק חזותי STR_CONFIG_SETTING_LOCALISATION :{ORANGE}הגדרות מיקום -STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}בנייה -STR_CONFIG_SETTING_VEHICLES :{ORANGE}כלי תחבורה -STR_CONFIG_SETTING_STATIONS :{ORANGE}תחנות -STR_CONFIG_SETTING_ECONOMY :{ORANGE}כלכלה -STR_CONFIG_SETTING_LINKGRAPH :{ORANGE}התפלגות המטען -STR_CONFIG_SETTING_AI :{ORANGE}מתחרים -STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}הצג הגדרות -STR_CONFIG_SETTING_INTERACTION :{ORANGE}אינטראקציה STR_CONFIG_SETTING_SOUND :{ORANGE}צלילים -STR_CONFIG_SETTING_NEWS :{ORANGE}חדשות והודעות -STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}רמזורים -STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE}טיפול במטען -STR_CONFIG_SETTING_AI_NPC :{ORANGE}שחקני מחשב -STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE}חידוש אוטומטי -STR_CONFIG_SETTING_VEHICLES_SERVICING :{ORANGE}טיפולים +STR_CONFIG_SETTING_INTERFACE :{ORANGE}ממשק חזותי +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}בנייה +STR_CONFIG_SETTING_VEHICLES :{ORANGE}כלי תחבורה STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}ניתוב -STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}רכבות -STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}ערים -STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}תעשיות +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}ערים +STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}תעשיות +STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :{ORANGE}התפלגות המטען +STR_CONFIG_SETTING_AI :{ORANGE}מתחרים +STR_CONFIG_SETTING_AI_NPC :{ORANGE}שחקני מחשב STR_CONFIG_SETTING_PATHFINDER_OPF :מקורי STR_CONFIG_SETTING_PATHFINDER_NPF :NPF @@ -1705,7 +1707,6 @@ STR_INTRO_MULTIPLAYER :{BLACK}משחק STR_INTRO_GAME_OPTIONS :{BLACK}אפשרויות STR_INTRO_HIGHSCORE :{BLACK}טבלת ניקוד מירבי -STR_INTRO_ADVANCED_SETTINGS :{BLACK}הגדרות מתקדמות STR_INTRO_NEWGRF_SETTINGS :{BLACK}(NewGRF)הגדרות שדרוג גראפי STR_INTRO_ONLINE_CONTENT :{BLACK} בדוק תוכן מקוון STR_INTRO_SCRIPT_SETTINGS :{BLACK}הגדרות סקריפטים של משחק/שחקני מחשב @@ -1725,7 +1726,6 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}ארץ STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}הצג הגדרות משחק STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}הצג טבלת ניקוד מירבי -STR_INTRO_TOOLTIP_ADVANCED_SETTINGS :{BLACK}הצג הגדרות מתקדמות STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}הצג הגדרות שדרוג גראפי STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK} חפש תוכן חדש/מעודכן להורדה STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK} הצג הגדרות סקריפטים של משחק/שחקני מחשב @@ -1765,6 +1765,8 @@ STR_CHEAT_CHANGE_COMPANY :{ORANGE}{COMMA} STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}טרקטור אימתני (הסרת מפעלים, רכיבים שאי אפשר להזיז): {ORANGE}{STRING} STR_CHEAT_CROSSINGTUNNELS :{ORANGE}{STRING}{LTBLUE} :מנהרות יכולות לחצות זו את זו STR_CHEAT_NO_JETCRASH :{LTBLUE}מטוסי סילון לא יתרסקו (לעיתים קרובות) בשדות תעופה קטנים: {ORANGE}{STRING} +STR_CHEAT_EDIT_MAX_HL :{LTBLUE}ערוך את הגובה המקסימלי במפה: {ORANGE}{NUM} +STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :ערוך את הגובה המקסימלי של הרים במפה STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE :אקלים ממוזג STR_CHEAT_SWITCH_CLIMATE_SUB_ARCTIC_LANDSCAPE :אקלים קר STR_CHEAT_SWITCH_CLIMATE_SUB_TROPICAL_LANDSCAPE :אקלים טרופי @@ -1813,6 +1815,7 @@ STR_LIVERY_FREIGHT_TRAM :חשמלית מ STR_FACE_CAPTION :{WHITE}בחירת תווי פנים STR_FACE_CANCEL_TOOLTIP :{BLACK}בטל פנים חדשות STR_FACE_OK_TOOLTIP :{BLACK}אישור תווי פנים +STR_FACE_RANDOM :{BLACK}אקראית STR_FACE_MALE_BUTTON :{BLACK}גבר STR_FACE_MALE_TOOLTIP :{BLACK}בחר תווי פנים של גברים @@ -1927,13 +1930,13 @@ STR_NETWORK_START_SERVER_SET_PASSWORD :{BLACK}קבע STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}הגן על המשחק שלך עם סיסמה אם אתה לא רוצה שהוא יהיה זמין לכולם STR_NETWORK_START_SERVER_CLIENTS_SELECT :{BLACK}{NUM} לקוח{P "" "ות"} -STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}מקסימום לקוחות: +STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}מספר מקסימלי של לקוחות: STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS_TOOLTIP :{BLACK} :מספר משתתפים מירבי STR_NETWORK_START_SERVER_COMPANIES_SELECT :{BLACK}{NUM} חבר{P "ה" "ות"} -STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}מקסימום חברות: +STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}מספר מקסימלי של חברות: STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES_TOOLTIP :{BLACK}הגבל את השרת למספר מסויים של חברות STR_NETWORK_START_SERVER_SPECTATORS_SELECT :{BLACK}{NUM} צופ{P "ה" "ים"} -STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS :{BLACK} :מספר צופים מירבי +STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS :{BLACK}מספר צופים מירבי: STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS_TOOLTIP :{BLACK}הגבלת השרת למספר צופים מסויים STR_NETWORK_START_SERVER_LANGUAGE_SPOKEN :{BLACK}שפת דיבור: STR_NETWORK_START_SERVER_LANGUAGE_TOOLTIP :{BLACK}שחקנים אחרים ידעו איו שפה מדוברת בשרת @@ -2638,7 +2641,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :שטח בבעל STR_ABOUT_OPENTTD :{WHITE}OpenTTD אודות STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}כל הזכויות שמורות , {COPYRIGHT}1995 כריס סויר - {NBSP}זכויות יוצרים מקוריות STR_ABOUT_VERSION :{BLACK}{REV} גירסה , OpenTTD -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2014 The OpenTTD team +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2015 The OpenTTD team # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}שמור משחק @@ -2673,14 +2676,13 @@ STR_MAPGEN_BY :{BLACK}* STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK} :מספר העיירות STR_MAPGEN_DATE :{BLACK} :תאריך STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK} :מספר התעשיות +STR_MAPGEN_MAX_HEIGHTLEVEL :{BLACK}גובה מפה מקסימלי: +STR_MAPGEN_MAX_HEIGHTLEVEL_UP :{BLACK}הגדל את הגובה המקסימלי של הרים במפה ביחידה אחת +STR_MAPGEN_MAX_HEIGHTLEVEL_DOWN :{BLACK}הקטן את הגובה המקסימלי במפה ביחידה אחת STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}גובה קו השלג STR_MAPGEN_SNOW_LINE_UP :{BLACK}הגבה את קו השלג STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}הנמך את קו השלג -STR_MAPGEN_RANDOM_SEED :{BLACK} :מספר אקראי -STR_MAPGEN_RANDOM_SEED_HELP :{BLACK}הכנס מספר אקראי כלשהוא -STR_MAPGEN_RANDOM :{BLACK}אקראית -STR_MAPGEN_RANDOM_HELP :{BLACK}בחר מספר אקראי שישמש בסיס ליצירת הקרקע -STR_MAPGEN_LAND_GENERATOR :{BLACK} :יצירת קרקע +STR_MAPGEN_LAND_GENERATOR :{BLACK} :מחולל פני שטח STR_MAPGEN_TREE_PLACER :{BLACK}אלגוריתם העצים: STR_MAPGEN_TERRAIN_TYPE :{BLACK} :סוג הקרקע STR_MAPGEN_QUANTITY_OF_SEA_LAKES :{BLACK} :כמות ימים/אגמים @@ -2706,7 +2708,7 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK} :שם STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}גודל: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} על {NUM} -STR_MAPGEN_RANDOM_SEED_OSKTITLE :{BLACK}מספר אקראי +STR_MAPGEN_MAX_HEIGHTLEVEL_QUERY_CAPT :{WHITE}שינוי הגובה המקסימלי במפה STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}שנה את גובה קו השלג STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}שנה את שנת הפתיחה @@ -2761,6 +2763,8 @@ STR_NEWGRF_SETTINGS_MOVEUP :{BLACK}העבר STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP :{BLACK}מעביר את הקובץ שנבחר כלפי מעלה ברשימה STR_NEWGRF_SETTINGS_MOVEDOWN :{BLACK}העבר למטה STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP :{BLACK}מעביר את הקובץ שנבחר כלפי מטה ברשימה +STR_NEWGRF_SETTINGS_UPGRADE :{BLACK}עדכן +STR_NEWGRF_SETTINGS_UPGRADE_TOOLTIP :{BLACK}עדכן קבצי NewGRF שלהם הגרסה המותקנת חדשה יותר STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK} רשימת קבצי שדרוג גראפי מותקנים STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}קבע ערכים @@ -2785,6 +2789,16 @@ STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}לא נמ STR_NEWGRF_SETTINGS_DISABLED :{RED}מושתק STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}אינו תואם גרסא זו של OpenTTD +# NewGRF save preset window +STR_SAVE_PRESET_CAPTION :{WHITE}שמור סביבה גראפית +STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK}הצג את כל הסביבות הגראפיות, בחר אחת כדי להעתיק את שמה לשמירה +STR_SAVE_PRESET_TITLE :{BLACK}הכנס שם לסביבה הגראפית +STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}השם הנבחר לשמירת הסביבה הגראפית +STR_SAVE_PRESET_CANCEL :{BLACK}ביטול +STR_SAVE_PRESET_CANCEL_TOOLTIP :{BLACK}אל תשנה את הסביבה הגראפית +STR_SAVE_PRESET_SAVE :{BLACK}שמור +STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}שמור את הסביבה הגראפית עם השם שנבחר + # NewGRF parameters window STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}שנה/י פרמטרים של NewGRF STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}סגור @@ -2812,10 +2826,9 @@ STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}עבור STR_SPRITE_ALIGNER_GOTO_BUTTON :{BLACK}דלג לספרייט STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}עבור לספרייט הנתון. אם הוא אינו ספרייט רגיל, עבור לספרייט הרגיל הראשון שבא אחריו STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}הספרייט הקודם -STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}עבור לספרייט הקודם, כאשר נדלג על כל הספרייטים המיוחדים ונחזור בסוף לתחילת הרשימה +STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}עבור לספרייט הקודם, כאשר נדלג על כל הספרייטים המיוחדים ונחזור מתחילת הרשימה לסופה STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}הייצוג של הספרייט הנבחר. בעת ציור הספרייט, נתעלם מהיישור שלו STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}הזז את הספרייט, תוך שינוי מיקום על צירי ה-X וה-Y -STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X היסט: {NUM}, Y היסט: {NUM} STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}בחר ספרייט STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}בחר ספרייט מנקודה כלשהיא במסך @@ -2985,7 +2998,7 @@ STR_GOAL_QUESTION_CAPTION_INFORMATION :מידע STR_GOAL_QUESTION_CAPTION_WARNING :אזהרה STR_GOAL_QUESTION_CAPTION_ERROR :שגיאה -### Start of Goal Question button list +############ Start of Goal Question button list STR_GOAL_QUESTION_BUTTON_CANCEL :ביטול STR_GOAL_QUESTION_BUTTON_OK :אישור STR_GOAL_QUESTION_BUTTON_NO :לא @@ -3004,6 +3017,7 @@ STR_GOAL_QUESTION_BUTTON_RESTART :אתחל STR_GOAL_QUESTION_BUTTON_POSTPONE :דחה STR_GOAL_QUESTION_BUTTON_SURRENDER :היכנע STR_GOAL_QUESTION_BUTTON_CLOSE :סגור +############ End of Goal Question button list # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}סובסידיות @@ -3020,7 +3034,7 @@ STR_STORY_BOOK_INVALID_GOAL_REF :{RED}מטרה # Station list window STR_STATION_LIST_TOOLTIP :{BLACK}שמות תחנות - לחץ על השם כדי להתמקד בתחנה. Ctrl+לחיצה פותח חלונית תצוגה חדשה על מיקום התחנה STR_STATION_LIST_USE_CTRL_TO_SELECT_MORE :{BLACK}לחץ והחזק מקש קונטרל כדי לבחור יותר מפריט אחד -STR_STATION_LIST_CAPTION :{WHITE}{COMPANY} - {P 0 "תחנה " ""}{COMMA}{P "" " תחנות"} +STR_STATION_LIST_CAPTION :{WHITE}{COMPANY} - {P 1 "תחנה " ""}{COMMA}{P "" " תחנות"} STR_STATION_LIST_STATION :{YELLOW} {1:STATION_FEATURES}{0:STATION} STR_STATION_LIST_WAYPOINT :{YELLOW}{WAYPOINT} STR_STATION_LIST_NONE :{YELLOW}- כלום - @@ -3030,7 +3044,6 @@ STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}שום # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} -STR_STATION_VIEW_WAITING_TITLE :{BLACK}ממתינים: {WHITE}{STRING} STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} בדרך מ{STATION}) @@ -3270,12 +3283,13 @@ STR_GROUP_DEFAULT_ROAD_VEHICLES :רכבים לא STR_GROUP_DEFAULT_SHIPS :כלי שייט לא משוייכים STR_GROUP_DEFAULT_AIRCRAFTS :כלי טייס לא משוייכים -STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}קבוצות כלים – לחץ על קבוצה לצפייה בכל הכלים השייכים אליה +STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}קבוצות – לחץ על קבוצה לצפייה בכל הכלים השייכים אליה. גרור כדי לסדר הירארכיה. STR_GROUP_CREATE_TOOLTIP :{BLACK}לחץ ליצירת קבוצה חדשה STR_GROUP_DELETE_TOOLTIP :{BLACK}מחק את הקבוצה שנבחרה STR_GROUP_RENAME_TOOLTIP :{BLACK}שנה את שם הקבוצה STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}לחץ על מנת להגן על הכלים בקבוצה בפני החלפה אוטומטית + STR_GROUP_ADD_SHARED_VEHICLE :הוסף כלים STR_GROUP_REMOVE_ALL_VEHICLES :הסר את כל הכלים מהקבוצה @@ -3338,6 +3352,11 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}שנה STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}החלף שם סוג כלי השייט STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}החלף שם סוג כלי הטיס + + +STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :הסתר/הצג סוג של כלי שיט +STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}הסתר/הצג סוג של כלי טיס + STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}שנה את שם סוג קרון הרכבת STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}שנה את שם סוג כלי הרכב STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}החלף שם סוג כלי השייט @@ -3442,6 +3461,7 @@ STR_REPLACE_VEHICLE_ROAD_VEHICLE :רכב STR_REPLACE_VEHICLE_SHIP :כלי שייט STR_REPLACE_VEHICLE_AIRCRAFT :כלי טייס + STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}בחר את סוג המנוע/קטר שברצונך להחליף STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}בחר את הקטר/מנוע שברצונך לבנות במקום הקטר/מנוע הקיים @@ -3660,8 +3680,8 @@ STR_ORDER_TOOLTIP_UNLOAD :{BLACK}שנה STR_ORDER_REFIT :{BLACK}התאם מחדש STR_ORDER_REFIT_TOOLTIP :{BLACK}בחר את סוג המיטען אליו יותאם הכלי ביעד זה -STR_ORDER_REFIT_AUTO :{BLACK}אבזור מחדש אוטומטי -STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}בחרלאיזה סוג מטען לאבזר מחדש בפקודה זו. הקלק בשילוב לחיצה על מקש Ctrl כדי להסיר את הוראת האבזור מחדש. אבזור מחדש יתרחש רק אם כלי הרכב מאפשר זאת +STR_ORDER_REFIT_AUTO :{BLACK}אבזור מחדש בתחנה +STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}בחרלאיזה סוג מטען לאבזר מחדש בפקודה זו. Ctrl+לחיצה כדי להסיר את הוראת האבזור מחדש. אבזור מחדש יתרחש רק אם כלי הרכב מאפשר זאת STR_ORDER_DROP_REFIT_AUTO :מטען קבוע STR_ORDER_DROP_REFIT_AUTO_ANY :מטען זמין @@ -3759,8 +3779,8 @@ STR_ORDER_UNLOAD_REFIT :(פרוק וק STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(פרוק והמתן למטען מלא עם אבזור מחדש אוטומטי ל-{STRING}) STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(פרוק והמתן למטען מלא כלשהו עם אבזור מחדש אוטומטי ל-{STRING}) STR_ORDER_TRANSFER_REFIT :(העבר וקח מטען עם אבזור מחדש אוטומטי ל-{STRING}) -STR_ORDER_TRANSFER_FULL_LOAD_REFIT :(העבר ומתן למטען מלא עם אבזור מחדש אוטומטי ל-{STRING}) -STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :(העבר ומתן למטען מלא כלשהו עם אבזור מחדש אוטומטי ל-{STRING}) +STR_ORDER_TRANSFER_FULL_LOAD_REFIT :(העבר והמתן למטען מלא עם אבזור מחדש אוטומטי ל-{STRING}) +STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :(העבר והמתן למטען מלא כלשהו עם אבזור מחדש אוטומטי ל-{STRING}) STR_ORDER_NO_UNLOAD_REFIT :(ללא פריקה וקח מטען עם אבזור מחדש אוטומטי ל-{STRING}) STR_ORDER_NO_UNLOAD_FULL_LOAD_REFIT :(ללא פריקה והמתן למטען מלא עם אבזור מחדש אוטומטי ל-{STRING}) STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY_REFIT :(ללא פריקה והמתן למטען מלא כלשהו עם אבזור מחדש אוטומטי ל-{STRING}) @@ -4079,6 +4099,7 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... יע STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... ניתן/ת לבנייה רק מעל לקו השלג STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... ניתן/ת לבנייה רק מתחת לקו השלג + # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}לא ניתן לבנות תחנת רכבת כאן... STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}לא ניתן לבנות תחנת אוטובוס... @@ -4215,6 +4236,7 @@ STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}יש ל STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}לא ניתן להתחיל ולסיים באותה הנקודה STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}צדדי הגשר לא באותו הגובה STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}גשר נמוך מידי עבור השטח +STR_ERROR_BRIDGE_TOO_HIGH_FOR_TERRAIN :{WHITE}גשר גבוה מדי עבור פני השטח. STR_ERROR_START_AND_END_MUST_BE_IN :{WHITE}התחלה וסיום חייבים להיות באותו הקו STR_ERROR_ENDS_OF_BRIDGE_MUST_BOTH :{WHITE}... קצות הגשר צריכים להיות על קרקע STR_ERROR_BRIDGE_TOO_LONG :{WHITE}... גשר ארוך מידי @@ -4772,6 +4794,7 @@ STR_COMPANY_NAME :{COMPANY} STR_COMPANY_NAME_COMPANY_NUM :{COMPANY} {COMPANY_NUM} STR_DEPOT_NAME :{DEPOT} STR_ENGINE_NAME :{ENGINE} +STR_HIDDEN_ENGINE_NAME :{ENGINE} (מוסתר) STR_GROUP_NAME :{GROUP} STR_INDUSTRY_NAME :{INDUSTRY} STR_PRESIDENT_NAME :{PRESIDENT_NAME} @@ -4807,8 +4830,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -4819,9 +4840,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/hungarian.txt b/src/lang/hungarian.txt index 386fb6df5e..f954c0cd48 100644 --- a/src/lang/hungarian.txt +++ b/src/lang/hungarian.txt @@ -158,30 +158,30 @@ STR_CARGO_SINGULAR_FIZZY_DRINK.t :szénsavas ital # Quantity of cargo STR_QUANTITY_NOTHING : -STR_QUANTITY_PASSENGERS :{COMMA} utas +STR_QUANTITY_PASSENGERS :{COMMA}{NBSP}utas STR_QUANTITY_COAL :{WEIGHT_LONG} szén -STR_QUANTITY_MAIL :{COMMA} csomag levél +STR_QUANTITY_MAIL :{COMMA}{NBSP}csomag levél STR_QUANTITY_OIL :{VOLUME_LONG} olaj -STR_QUANTITY_LIVESTOCK :{COMMA} állat -STR_QUANTITY_GOODS :{COMMA} láda áru +STR_QUANTITY_LIVESTOCK :{COMMA}{NBSP}állat +STR_QUANTITY_GOODS :{COMMA}{NBSP}láda áru STR_QUANTITY_GRAIN :{WEIGHT_LONG} búza STR_QUANTITY_WOOD :{WEIGHT_LONG} fa STR_QUANTITY_IRON_ORE :{WEIGHT_LONG} vasérc STR_QUANTITY_STEEL :{WEIGHT_LONG} acél -STR_QUANTITY_VALUABLES :{COMMA} csomag értéktárgy +STR_QUANTITY_VALUABLES :{COMMA}{NBSP}csomag értéktárgy STR_QUANTITY_COPPER_ORE :{WEIGHT_LONG} rézérc STR_QUANTITY_MAIZE :{WEIGHT_LONG} kukorica STR_QUANTITY_FRUIT :{WEIGHT_LONG} gyümölcs -STR_QUANTITY_DIAMONDS :{COMMA} zsák gyémánt +STR_QUANTITY_DIAMONDS :{COMMA}{NBSP}zsák gyémánt STR_QUANTITY_FOOD :{WEIGHT_LONG} étel STR_QUANTITY_PAPER :{WEIGHT_LONG} papír -STR_QUANTITY_GOLD :{COMMA} zsák arany +STR_QUANTITY_GOLD :{COMMA}{NBSP}zsák arany STR_QUANTITY_WATER :{VOLUME_LONG} víz STR_QUANTITY_WHEAT :{WEIGHT_LONG} búza STR_QUANTITY_RUBBER :{VOLUME_LONG} gumi STR_QUANTITY_SUGAR :{WEIGHT_LONG} cukor -STR_QUANTITY_TOYS :{COMMA} játék -STR_QUANTITY_SWEETS :{COMMA} zsák cukorka +STR_QUANTITY_TOYS :{COMMA}{NBSP}játék +STR_QUANTITY_SWEETS :{COMMA}{NBSP}zsák cukorka STR_QUANTITY_COLA :{VOLUME_LONG} kóla STR_QUANTITY_CANDYFLOSS :{WEIGHT_LONG} vattacukor STR_QUANTITY_BUBBLES :{COMMA} buborék @@ -228,12 +228,12 @@ STR_ABBREV_NONE :{TINY_FONT}SÁ STR_ABBREV_ALL :{TINY_FONT}ÖS # 'Mode' of transport for cargoes -STR_PASSENGERS :{COMMA} utas -STR_BAGS :{COMMA} csomag -STR_TONS :{COMMA} tonna -STR_LITERS :{COMMA} liter -STR_ITEMS :{COMMA} darab -STR_CRATES :{COMMA} láda +STR_PASSENGERS :{COMMA}{NBSP}utas +STR_BAGS :{COMMA}{NBSP}csomag +STR_TONS :{COMMA}{NBSP}tonna +STR_LITERS :{COMMA}{NBSP}liter +STR_ITEMS :{COMMA}{NBSP}darab +STR_CRATES :{COMMA}{NBSP}láda # Colours, do not shuffle STR_COLOUR_DARK_BLUE :Sötétkék @@ -254,37 +254,37 @@ STR_COLOUR_GREY :Szürke STR_COLOUR_WHITE :Fehér # Units used in OpenTTD -STR_UNITS_VELOCITY_IMPERIAL :{COMMA} mi/h -STR_UNITS_VELOCITY_METRIC :{COMMA} km/h -STR_UNITS_VELOCITY_SI :{COMMA} m/s +STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}mi/h +STR_UNITS_VELOCITY_METRIC :{COMMA}{NBSP}km/h +STR_UNITS_VELOCITY_SI :{COMMA}{NBSP}m/s -STR_UNITS_POWER_IMPERIAL :{COMMA}LE -STR_UNITS_POWER_METRIC :{COMMA}LE -STR_UNITS_POWER_SI :{COMMA}kW +STR_UNITS_POWER_IMPERIAL :{COMMA}{NBSP}LE +STR_UNITS_POWER_METRIC :{COMMA}{NBSP}LE +STR_UNITS_POWER_SI :{COMMA}{NBSP}kW -STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}t -STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}t -STR_UNITS_WEIGHT_SHORT_SI :{COMMA}kg +STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_SI :{COMMA}{NBSP}kg -STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA} tonna -STR_UNITS_WEIGHT_LONG_METRIC :{COMMA} tonna -STR_UNITS_WEIGHT_LONG_SI :{COMMA} kg +STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA}{NBSP}tonna +STR_UNITS_WEIGHT_LONG_METRIC :{COMMA}{NBSP}tonna +STR_UNITS_WEIGHT_LONG_SI :{COMMA}{NBSP}kg -STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}gal -STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}l -STR_UNITS_VOLUME_SHORT_SI :{COMMA}m³ +STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}{NBSP}gal +STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}{NBSP}l +STR_UNITS_VOLUME_SHORT_SI :{COMMA}{NBSP}m³ -STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA} gallon -STR_UNITS_VOLUME_LONG_METRIC :{COMMA} liter -STR_UNITS_VOLUME_LONG_SI :{COMMA} köbméter +STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA}{NBSP}gallon +STR_UNITS_VOLUME_LONG_METRIC :{COMMA}{NBSP}liter +STR_UNITS_VOLUME_LONG_SI :{COMMA}{NBSP}köbméter -STR_UNITS_FORCE_IMPERIAL :{COMMA} lbf -STR_UNITS_FORCE_METRIC :{COMMA} kp -STR_UNITS_FORCE_SI :{COMMA} kN +STR_UNITS_FORCE_IMPERIAL :{COMMA}{NBSP}lbf +STR_UNITS_FORCE_METRIC :{COMMA}{NBSP}kp +STR_UNITS_FORCE_SI :{COMMA}{NBSP}kN -STR_UNITS_HEIGHT_IMPERIAL :{COMMA} láb -STR_UNITS_HEIGHT_METRIC :{COMMA} m -STR_UNITS_HEIGHT_SI :{COMMA} m +STR_UNITS_HEIGHT_IMPERIAL :{COMMA}{NBSP}láb +STR_UNITS_HEIGHT_METRIC :{COMMA}{NBSP}m +STR_UNITS_HEIGHT_SI :{COMMA}{NBSP}m # Common window strings STR_LIST_FILTER_TITLE :{BLACK}Szűrő kifejezés: @@ -305,12 +305,23 @@ STR_TOOLTIP_SHADE :{BLACK}Ablak ö STR_TOOLTIP_DEBUG :{BLACK}NewGRF nyomonkövetés információ mutatása STR_TOOLTIP_DEFSIZE :{BLACK}Az alapértelmezett ablakméret visszaállítása. Ctrl+kattintással a jelenlegi méretet alapértelmezett méretként állíthatod be. STR_TOOLTIP_STICKY :{BLACK}Ez az ablak akkor se záródjon be, ha az "Összes ablak bezárása" gombot megnyomjuk. Ctrl+kattintással ez az állapot alapértelmezettként állítható be. -STR_TOOLTIP_RESIZE :{BLACK}Fogd és húzd hogy átméretezd az ablakot +STR_TOOLTIP_RESIZE :{BLACK}Fogd és húzd, hogy átméretezd az ablakot STR_TOOLTIP_TOGGLE_LARGE_SMALL_WINDOW :{BLACK}Kicsi/nagy ablakméret közötti váltás STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Görgetősáv - fel/le görgeti a listát STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Görgetősáv - jobbra/balra görgeti a listát STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Építmények lerombolása egy mezőről. Ctrl lenyomásával átlós terület jelölhető ki. Shift lenyomásával megmutatja a becsült költséget +# Show engines button +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}Rejtett mutatása +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK}Rejtett mutatása +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}Rejtett mutatása +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}Rejtett mutatása + +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}Ezzel a gombbal a rejtett vasúti járművek is megjelennek +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE_TOOLTIP :{BLACK}Ezzel a gombbal a rejtett közúti járművek is megjelennek +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}Ezzel a gombbal a rejtett hajók is megjelennek +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Ezzel a gombbal a rejtett repülőgépek is megjelennek + # Query window STR_BUTTON_DEFAULT :{BLACK}Alapértelmezett STR_BUTTON_CANCEL :{BLACK}Mégsem @@ -423,8 +434,8 @@ STR_SCENEDIT_FILE_MENU_QUIT :Kilépés ############ range for SE file menu starts ############ range for settings menu starts -STR_SETTINGS_MENU_GAME_OPTIONS :Beállítások -STR_SETTINGS_MENU_CONFIG_SETTINGS :Haladó beállítások +STR_SETTINGS_MENU_GAME_OPTIONS :Alapbeállítások +STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Beállítások STR_SETTINGS_MENU_SCRIPT_SETTINGS :MI / Játékszkript beállítások STR_SETTINGS_MENU_NEWGRF_SETTINGS :NewGRF beállítások STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Átlátszósági beállítások @@ -533,7 +544,7 @@ STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Befoglaló dobo STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Koszos épületek színezésének be/kikapcsolása ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window STR_ORDINAL_NUMBER_1ST :1. STR_ORDINAL_NUMBER_2ND :2. STR_ORDINAL_NUMBER_3RD :3. @@ -549,22 +560,40 @@ STR_ORDINAL_NUMBER_12TH :12. STR_ORDINAL_NUMBER_13TH :13. STR_ORDINAL_NUMBER_14TH :14. STR_ORDINAL_NUMBER_15TH :15. -STR_ORDINAL_NUMBER_16TH :16. -STR_ORDINAL_NUMBER_17TH :17. -STR_ORDINAL_NUMBER_18TH :18. -STR_ORDINAL_NUMBER_19TH :19. -STR_ORDINAL_NUMBER_20TH :20. -STR_ORDINAL_NUMBER_21ST :21. -STR_ORDINAL_NUMBER_22ND :22. -STR_ORDINAL_NUMBER_23RD :23. -STR_ORDINAL_NUMBER_24TH :24. -STR_ORDINAL_NUMBER_25TH :25. -STR_ORDINAL_NUMBER_26TH :26. -STR_ORDINAL_NUMBER_27TH :27. -STR_ORDINAL_NUMBER_28TH :28. -STR_ORDINAL_NUMBER_29TH :29. -STR_ORDINAL_NUMBER_30TH :30. -STR_ORDINAL_NUMBER_31ST :31. +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :1. +STR_DAY_NUMBER_2ND :2. +STR_DAY_NUMBER_3RD :3. +STR_DAY_NUMBER_4TH :4. +STR_DAY_NUMBER_5TH :5. +STR_DAY_NUMBER_6TH :6. +STR_DAY_NUMBER_7TH :7. +STR_DAY_NUMBER_8TH :8. +STR_DAY_NUMBER_9TH :9. +STR_DAY_NUMBER_10TH :10. +STR_DAY_NUMBER_11TH :11. +STR_DAY_NUMBER_12TH :12. +STR_DAY_NUMBER_13TH :13. +STR_DAY_NUMBER_14TH :14. +STR_DAY_NUMBER_15TH :15. +STR_DAY_NUMBER_16TH :16. +STR_DAY_NUMBER_17TH :17. +STR_DAY_NUMBER_18TH :18. +STR_DAY_NUMBER_19TH :19. +STR_DAY_NUMBER_20TH :20. +STR_DAY_NUMBER_21ST :21. +STR_DAY_NUMBER_22ND :22. +STR_DAY_NUMBER_23RD :23. +STR_DAY_NUMBER_24TH :24. +STR_DAY_NUMBER_25TH :25. +STR_DAY_NUMBER_26TH :26. +STR_DAY_NUMBER_27TH :27. +STR_DAY_NUMBER_28TH :28. +STR_DAY_NUMBER_29TH :29. +STR_DAY_NUMBER_30TH :30. +STR_DAY_NUMBER_31ST :31. ############ range for days ends ############ range for months starts @@ -874,13 +903,12 @@ STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}{VEHICLE STR_NEWS_SHIP_IS_WAITING :{WHITE}{VEHICLE} a dokkban vár STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE} a hangárban vár -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE +# Order review system / warnings STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE} menetrendje túl kevés utasításból áll STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE} érvénytelen utasítással rendelkezik STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE} duplikált utasítással rendelkezik STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE} utasításai között nem létező állomás szerepel -# end of order system +STR_NEWS_PLANE_USES_TOO_SHORT_RUNWAY :{WHITE}{VEHICLE} utasításlistájában olyan reptér van, aminek túl rövid a kifutópályája STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} elöregedett STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} nagyon elöregedett @@ -922,7 +950,7 @@ STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Látkép STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW_TT :{BLACK}A látkép pozícióját a fő nézetre másolja # Game options window -STR_GAME_OPTIONS_CAPTION :{WHITE}Beállítások +STR_GAME_OPTIONS_CAPTION :{WHITE}Alapbeállítások STR_GAME_OPTIONS_CURRENCY_UNITS_FRAME :{BLACK}Pénznem STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}A használt pénznem kiválasztása @@ -963,10 +991,6 @@ STR_GAME_OPTIONS_CURRENCY_GEL :Grúz Lari (GEL STR_GAME_OPTIONS_CURRENCY_IRR :Iráni Riál (IRR) ############ end of currency region - -############ start of measuring units region -############ end of measuring units region - STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Közúti járművek STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}A közúti közlekedés oldalának kiválasztása STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :Balra hajtás @@ -1002,11 +1026,13 @@ STR_GAME_OPTIONS_TOWN_NAME_CATALAN :Katalán STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Automatikus mentés STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Az automatikus mentések közötti időtartam kiválasztása +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Nincs STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :Minden hónapban STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :3 havonta STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :6 havonta STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :12 havonta +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}Nyelv STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Válassz nyelvet @@ -1018,8 +1044,12 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}Képerny STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Játékhoz használt felbontás kiválasztása STR_GAME_OPTIONS_RESOLUTION_OTHER :egyéb -STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}Képmentés formátuma -STR_GAME_OPTIONS_SCREENSHOT_FORMAT_TOOLTIP :{BLACK}Képmentésekhez használandó formátum kiválasztása +STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Felület mérete +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Használni kívánt felületméret kiválasztása + +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normál +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Dupla méret +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Négyszeres méret STR_GAME_OPTIONS_BASE_GRF :{BLACK}Grafikus alapcsomag STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}A játékhoz használandó grafikus alapcsomag kiválasztása @@ -1035,6 +1065,7 @@ STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Használ STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} hibás fájl STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}További információk a zenei alapcsomagról +STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Nem sikerült a támogatott felbontások lekérdezése STR_ERROR_FULLSCREEN_FAILED :{WHITE}Teljes képernyős módra váltás sikertelen # Custom currency window @@ -1112,7 +1143,8 @@ STR_SUBSIDY_X4 :4x STR_TERRAIN_TYPE_VERY_FLAT :Nagyon sík STR_TERRAIN_TYPE_FLAT :Sík STR_TERRAIN_TYPE_HILLY :Dombos -STR_TERRAIN_TYPE_MOUNTAINOUS :Hegyes +STR_TERRAIN_TYPE_MOUNTAINOUS :Hegyvidéki +STR_TERRAIN_TYPE_ALPINIST :Alpesi STR_CITY_APPROVAL_PERMISSIVE :Engedékeny STR_CITY_APPROVAL_TOLERANT :Toleráns @@ -1120,8 +1152,8 @@ STR_CITY_APPROVAL_HOSTILE :Ellenséges STR_WARNING_NO_SUITABLE_AI :{WHITE}Nincsen megfelelő MI...{}Letölthetsz néhány MI-t a tartalomletöltő rendszeren keresztül -# Advanced settings window -STR_CONFIG_SETTING_CAPTION :{WHITE}Haladó beállítások +# Settings tree window +STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Beállítások STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Szűrő kifejezés: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Összes szétnyitása STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Összes összecsukása @@ -1136,10 +1168,10 @@ STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :Vállalat beál STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK}Kategória: STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}Típus: -STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Leszűkíti a listát a módosított értékekkel rendelkező opciókra -STR_CONFIG_SETTING_RESTRICT_BASIC :Alapbeállítások -STR_CONFIG_SETTING_RESTRICT_ADVANCED :Haladó beállítások -STR_CONFIG_SETTING_RESTRICT_ALL :Szakértő beállítások / minden beállítás +STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Leszűkíti a listát a megadott szűrők segítségével +STR_CONFIG_SETTING_RESTRICT_BASIC :Alap (csak a fontos beállítások) +STR_CONFIG_SETTING_RESTRICT_ADVANCED :Haladó (majdnem mindegyik beállítás mutatása) +STR_CONFIG_SETTING_RESTRICT_ALL :Szakértő (minden beállítás, még az egészen furák is) STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :Beállítások az eredetitől eltérő értékekkel STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :Beállítosok amelyeknek a jelenlegi értéke eltér az eredetitől @@ -1194,8 +1226,9 @@ STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Ha engedélyezv STR_CONFIG_SETTING_CITY_APPROVAL :Városi tanács hozzáállása a területének az átépítéséhez: {STRING} STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Válaszd ki, hogy mennyi zaj és környezeti kár okozása befolyásolja a cég megítélését egy városban, mely hatással van a cég további építési lehetőségeire a város területén belül -STR_CONFIG_SETTING_BUILDONSLOPES :Lejtőre és partokra építés: {STRING} -STR_CONFIG_SETTING_BUILDONSLOPES_HELPTEXT :Bekapcsolva utak, vasutak és állomások lejtőre is építhetőek. Kikapcsolva csak olyan lejtőre építhetőek, melyek megegyeznek a lejtő irányával és nem igényelnek egyéb létesítményeket +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :Maximális térképmagasság: {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :A térképen található hegyek maximális magasságának beállítása +STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}Nem állíthatod erre az értékre a maximális térképmagasságot. Legalább egy hegy magasabb ennél STR_CONFIG_SETTING_AUTOSLOPE :Épületek, vágányok stb. alatti tereprendezés engedélyezése: {STRING} STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Tájrendezés engedélyezése épületek és utak alatt azok eltávolítása nélkül STR_CONFIG_SETTING_CATCHMENT :Élethűbben méretezett állomási vonzáskörzetek bekapcsolása: {STRING} @@ -1220,16 +1253,12 @@ STR_CONFIG_SETTING_FORBID_90_DEG :Vonatok és haj STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90 fokos kanyarok akkor fordulnak elő, ha egy vízszintes pályaelemet egy függőleges elem követ közvetlenül a következő mezőn, ami által a vonat egy 90 fokos kanyart tesz a szokásos 45 fokos helyett. Ez ugyanígy előfordulhat hajók esetében is STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Nem közvetlen szomszédos állomások egyesítése: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Állomásrészek hozzáadásának engedélyezése úgy, hogy az nem érinti közvetlenül a meglévő részeket. Ctrl+kattintás szükséges hozzá az új részek elhelyezése közben -STR_CONFIG_SETTING_IMPROVEDLOAD :Járművek egymás utáni telerakodása (egyidejű helyett): {STRING} -STR_CONFIG_SETTING_IMPROVEDLOAD_HELPTEXT :Ha engedélyezett, az egyszerre az állomáson tartózkodó járművek egymás után kerülnek berakodásra. A következő jármű berakodása csak akkor kezdődik el, ha van elegendő áru az előző jármű teljes megtöltésére -STR_CONFIG_SETTING_GRADUAL_LOADING :Járművek fokozatos rakodása: {STRING} -STR_CONFIG_SETTING_GRADUAL_LOADING_HELPTEXT :Járművek fokozatos rakodása meghatározott rakodási időkkel ahelyett, hogy minden egyszerre lenne berakodva egy adott ideig az áru mennyiségétől függően STR_CONFIG_SETTING_INFLATION :Infláció: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :Infláció engedélyezése a gazdaságban, ahol a költségek jobban emelkednek, mint a bevételek -STR_CONFIG_SETTING_SELECTGOODS :Csak igény esetén kerüljön rakomány az állomásra: {STRING} -STR_CONFIG_SETTING_SELECTGOODS_HELPTEXT :Csak akkor kerül az állomásra az áru, ha arra igény van egy berakandó jármű által. Ez megelőzi a rossz értékelés kialakulását azokra az árufajtákra, amik nem kerülnek az állomáson kiszolgálásra STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Hidak maximális hossza: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Az építendő hidak maximális hossza +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :Maximális hídmagasság: {STRING} +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :Hidak építésének maximális magassága STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Alagutak maximális hossza: {STRING} STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :Az építendő alagutak maximális hossza STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Kézi nyersanyaglelőhely-létesítési módszer: {STRING} @@ -1255,8 +1284,6 @@ STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :A hely, ahol a STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :elején STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :közepén STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :távoli végén -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING :Közúti járművek sorbanállása: {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING_HELPTEXT :Közúti járművek megállítása foglalt útszakasz előtt, míg az fel nem szabadul STR_CONFIG_SETTING_AUTOSCROLL :Ablakmozgatás, ha az egér a képernyő szélén van: {STRING} STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Bekapcsolva görgetődik a látkép, ha az egér az ablak széléhez közel van STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :kikapcsolva @@ -1287,10 +1314,6 @@ STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Áthaladó meg STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Áthaladó megállóhelyek építésének engedélyezése települési tulajdonú utakon STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Áthaladó megállóhelyek engedélyezése ellenfél tulajdonában lévő utakon: {STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Áthaladó megállóhelyek építésének engedélyezése olyan utakon, melyek más vállalatok birtokában vannak -STR_CONFIG_SETTING_ADJACENT_STATIONS :Érintkező állomások építésének engedélyezése: {STRING} -STR_CONFIG_SETTING_ADJACENT_STATIONS_HELPTEXT :Különböző állomások érintkezésének engedélyezése -STR_CONFIG_SETTING_DYNAMIC_ENGINES :Több NewGRF járműgarnitúra engedélyezése: {STRING} -STR_CONFIG_SETTING_DYNAMIC_ENGINES_HELPTEXT :Kompatibilitási lehetőség régi NewGRF-ekhez. Ne kapcsold ki, ha nem tudod mit csinálsz! STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}A beállítást nem lehet megváltoztatni, ha van használatban jármű STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Az infrastruktúra fenntartási költségének engedélyezése: {STRING} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Bekapcsolva az infrastruktúrának fenntartási költsége van. A költség hatványozottan nő a hálózatnagysággal, nagyobb hatással a nagyobb vállalatokra mint a kisebbekre @@ -1321,35 +1344,49 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :Hibaüzenetek i STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :A piros ablakban megjelenő hibaüzenetek kijelzésének időtartama. Bizonyos (kritikus) hibaüzenetek nem záródnak be automatikusan egy idő után, hanem kézzel kell őket bezárni STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{COMMA} másodperc STR_CONFIG_SETTING_HOVER_DELAY :Leírás megjelenítése: {STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Késleltetés mielőtt megjelenne az eszközleírás az egér ráhúzása után egy felületi elemen. A leírás elérhető még az egér jobb gombjával is -STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Várakozás {COMMA} másodpercig +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Késleltetés, mielőtt megjelenne az eszközleírás az egér ráhúzása után egy felületi elemen. A leírás elérhető még az egér jobb gombjával is, ha ennek értéke 0-ra van állítva. +STR_CONFIG_SETTING_HOVER_DELAY_VALUE :{COMMA} ezredmásodperc után STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Jobb klikk STR_CONFIG_SETTING_POPULATION_IN_LABEL :Mutassa a település lakosságát a feliratban: {STRING} STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Település lakosságszámának kijelzése a címkéjén STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :A vonalak vastagsága a grafikonokon: {STRING} STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Vonalak szélessége a grafikonokon. A vékony vonal precízebben olvasható, míg a vastagabb jobban látható és a színek jobban megkülönböztethetőek +STR_CONFIG_SETTING_LANDSCAPE :Táj: {STRING} +STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :A tájak alapvető játékbeállításokat határoznak meg különféle árukkal és településnövekedési tényezőkkel. A NewGRF-ek és a játékszkriptek segítségével ez még tovább hangolható. STR_CONFIG_SETTING_LAND_GENERATOR :Terep generálás: {STRING} +STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :Az eredeti térképgenerátor az alap grafikus csomagtól függ, és fix formájú tájakat állít össze. A TerraGenesis egy Perlin zajon alapuló térképgenerátor, nagyobb konfigurálhatósággal. STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Eredeti STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis +STR_CONFIG_SETTING_TERRAIN_TYPE :Tereptípus: {STRING} +STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :A térkép domborzata +STR_CONFIG_SETTING_INDUSTRY_DENSITY :Gazdasági épületek száma: {STRING} +STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Mennyi gazdasági épület legyen, és mennyire legyenek fenntartva a játék folyamán STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Olajfúró tornyok maximális távolsága a térkép szélétől: {STRING} STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Olajfinomítók csak a térkép határaihoz közel építhetőek, ami sziget jellegű térképeknél a partvidék STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Hóhatár magassága: {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :A terep durvasága (csak TerraGenesisnél) : {STRING} +STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Ezzel a beállítással szabályozhatod a szub-arktikus táj hóhatárát. A hó befolyással lehet a gazdasági épületek generálására és a települések növekedésére. +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :A terep durvasága: {STRING} +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(csak TerraGenesis esetén) Kiválaszthatod a hegyek mennyiségét: a sima térképeken kevesebb, de kiterjedtebb hegy van, míg a durva térképeken sok hegy van, amik kissé ismétlődőnek tűnhetnek. STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Nagyon sima STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Sima STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Durva STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Nagyon durva +STR_CONFIG_SETTING_VARIETY :Változatosság eloszlása: {STRING} +STR_CONFIG_SETTING_VARIETY_HELPTEXT :(csak TerraGenesis esetén) Bekapcsolása esetén a térképen lesznek hegyvidékes és sík területek is. Mivel ettől a térkép csak simább lesz, ezért javasolt a 'Hegyes' beállítás használata a tereptípushoz. +STR_CONFIG_SETTING_RIVER_AMOUNT :A folyók mennyisége: {STRING} +STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Mennyi folyó legyen a térképen STR_CONFIG_SETTING_TREE_PLACER :Fa-elhelyező módszer: {STRING} +STR_CONFIG_SETTING_TREE_PLACER_HELPTEXT :Válaszd ki a fák eloszlását a térképen: Az 'Eredeti' esetén a fák egyenletesen lesznek szétszórva, a 'Javított' esetén pedig csoportokban STR_CONFIG_SETTING_TREE_PLACER_NONE :Nincs STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :Eredeti STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :Javított +STR_CONFIG_SETTING_ROAD_SIDE :Közúti járművek: {STRING} +STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :Melyik oldalon közlekedjenek a közúti járművek STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Magasságtérkép forgatása: {STRING} STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Órairánnyal szemben STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Órairányban STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :A sík térképhez hozzáadandó magasság: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :A térkép határain lévő mezők tájrendezésének engedélyezése: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES_HELPTEXT :Kikapcsolva a térkép határain mindig óceán lesz STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}Az északi határnál egy vagy több mező nem üres STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}Az egyik határnál egy vagy több mező nem víz @@ -1400,17 +1437,15 @@ 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_AUTOSAVE :Automatikus mentés: {STRING} +STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Az automatikus mentések között eltelő idő + STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Játékmentés dátumformátuma: {STRING} STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :A játékmentésekben használt dátum formátuma STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :hosszú (31st Dec 2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :rövid (31-12-2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE :Alapértelmezett paletta NewGRF-eknek ha nincs meghatározva: {STRING} -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_HELPTEXT :Alapértelmezett paletta, melyet a NewGRF-ek használnak amennyiben nincs meghatározva, hogy melyikre van szükségük -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_DOS :Alapértelmezett (D) paletta -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_WIN :Hagyományos (W) paletta - STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Automatikus szünettel kezdés új játék esetén: {STRING} STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :Bekapcsolva a játék szünettel kezdődik, időt hagyva a térkép közelebbi tanulmányozására STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Szünetben engedélyezett: {STRING} @@ -1493,7 +1528,7 @@ STR_CONFIG_SETTING_SERVINT_ISPERCENT :Javítási inte STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :A járművek javítási módjának kiválasztása, hogy az utolsó javítás óta eltelt idő, vagy a maximális megbízhatósághoz képesti százalékos csökkenés alapján kerüljelek javításra STR_CONFIG_SETTING_SERVINT_TRAINS :Alapértelmezett javítási intervallum vonatoknak: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Alapértelmezett javítási intervallum beállítása új vonatoknak, ha nincs külön javítási intervallum beállítva a járműre -STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA} nap/% +STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}nap/% STR_CONFIG_SETTING_SERVINT_DISABLED :kikapcsolva STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES :Alapértelmezett javítási intervallum közúti járműveknek: {STRING} STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES_HELPTEXT :Alapértelmezett javítási intervallum beállítása új közúti járműveknek, ha nincs külön javítási intervallum beállítva a járműre @@ -1632,12 +1667,10 @@ STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 a {COMMA}-bó STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :nincs STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Kezdeti városméret-szorzó: {STRING} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Átlagos városméret a normál településekhez képest a játék kezdetén -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :Abszurd útrészletek automatikus eltávolítása útépítés közben: {STRING} -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD_HELPTEXT :Zsákutcák eltávolítása támogatott útfelújítások ideje alatt -STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :A szétosztási gráf frissítése {STRING} naponként +STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :A szétosztási gráf frissítése {STRING}{NBSP}naponként STR_CONFIG_SETTING_LINKGRAPH_INTERVAL_HELPTEXT :A kapcsolati gráf egyes újraszámításai között eltelő idő. Minden számítás a gráf egy adott komponensére vonatkozik. Egy adott X beállítás esetén nem fog a teljes gráf X naponként frissülni, csak egy komponense. Minél rövidebb ez az idő, annál több CPU időre lesz szükség a számítás elvégzéséhez. Minél hosszabb ez az idő, annál több ideig fog tartani, mire a szétosztás megindul az új útvonalakon. -STR_CONFIG_SETTING_LINKGRAPH_TIME :A szétosztási gráf újraszámolására szánt idő: {STRING} nap +STR_CONFIG_SETTING_LINKGRAPH_TIME :A szétosztási gráf újraszámolására szánt idő: {STRING}{NBSP}nap STR_CONFIG_SETTING_LINKGRAPH_TIME_HELPTEXT :A kapcsolati gráf egy komponensének újraszámítására szánt idő. Az újraszámítás egy külön szálon indul el, és a megadott számú napig fut. Minél rövidebb ez az időtartam, annál valószínűbb, hogy a számítás nincs kész az idő lejártakor, ekkor a játék megáll a számítás befejeződéséig (ettől a játék akadhat). Minél hosszabb ez az időtartam, annál több idő kell a szétosztás frissüléséhez, amikor megváltoznak az útvonalak. STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :kézi STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :aszimmetrikus @@ -1647,7 +1680,7 @@ STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :A "szimmetrikus STR_CONFIG_SETTING_DISTRIBUTION_MAIL :Levelek szétosztása: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :A "szimmetrikus" azt jelenti, hogy megközelítóleg ugyanannyi levél megy majd A-ból B-be, mint B-ből A-ba. Az "aszimmetrikus" beállítás esetén a különbözö irányokba tetszőleges mennyiségű levél mehet. "Kézi" esetben a levelek nem lesznek automatikusan szétosztva. STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :A PÁNCÉLOZOTT rakománytípus szétosztása: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :A PÁNCÉLOZOTT rakománytípus a mérsékelt égövi tájon az értéktárgyakat, szubtrópusi tájon a gyémántot, szubarktikus tájon pedig az aranyat jelenti, ezeken a NewGRF-ek változtathatnak. A "szimmetrikus" azt jelenti, hogy megközelítóleg ugyanannyi rakomány megy majd A-ból B-be, mint B-ből A-ba. Az "aszimmetrikus" beállítás esetén a különbözö irányokba tetszőleges mennyiségű rakomány mehet. "Kézi" esetben a rakományok nem lesznek automatikusan szétosztva. Szubarktikus és szubtrópusi esetben az "aszimmetrikus" vagy "kézi" beállítás javasolt, mivel a bankok nem fognak aranyat, ill. gyémántot visszaküldeni a bányáknak. Mérsékelt égövi esetben a "szimmetrikus" is jó választás, ebben az esetben a bankok a fogadott mennyiségnek megfelelően fognak értéktárgyakat visszaküldeni a küldő banknak. +STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :A PÁNCÉLOZOTT rakománytípus a mérsékelt égövi tájon az értéktárgyakat, szubtrópusi tájon a gyémántot, szubarktikus tájon pedig az aranyat jelenti, ezeken a NewGRF-ek változtathatnak. A "szimmetrikus" azt jelenti, hogy megközelítóleg ugyanannyi rakomány megy majd A-ból B-be, mint B-ből A-ba. Az "aszimmetrikus" beállítás esetén a különbözö irányokba tetszőleges mennyiségű rakomány mehet. "Kézi" esetben a rakományok nem lesznek automatikusan szétosztva. Szubarktikus esetben az "aszimmetrikus" vagy "kézi" beállítás javasolt, mivel a bankok nem fognak aranyat, ill. gyémántot visszaküldeni a bányáknak. Mérsékelt és szubtropikus égövi esetben a "szimmetrikus" is jó választás, ebben az esetben a bankok a fogadott mennyiségnek megfelelően fognak értéktárgyakat visszaküldeni a küldő banknak. STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Egyéb rakománytípusok szétosztása: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :Az "aszimmetrikus" beállítás esetén a különbözö irányokba tetszőleges mennyiségű rakomány mehet. "Kézi" esetben a rakományok nem lesznek automatikusan szétosztva. STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :A szétosztás pontossága: {STRING} @@ -1660,62 +1693,64 @@ STR_CONFIG_SETTING_SHORT_PATH_SATURATION :A rövidebb uta STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Gyakran több útvonal is van két adott állomás között. A Cargodist először a legrövidebb útvonalat telíti be, majd a második legrövidebb útvonalat, miután az első útvonal már telített, és így tovább. A telítettséget a kapacitás becslése és a tervezett kihasználtság határozza meg. Amennyiben az összes útvonal telített, és még mindig van igény, az összes útvonalat terhelni fogja, elsősorban a legnagyobb kapacitásúakat. Viszont a legtöbb esetben az algoritmus nem fogja pontosan megbecsülni a kapacitást. Ezen opció segítségével beállíthatjuk, hogy milyen telítettségi szintig legyen kihasználva a rövidebb útvonal a hosszabb útvonal használatba vétele előtt. Állítsd 100%-nál kisebbre, hogy elkerüld a túlterhelődő állomásokat abban az esetben, ha a kapacitás túl lenne becsülve! STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Sebesség mértékegysége: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_HELPTEXT :A sebességek a kiválasztott mértékegységben fognak megjelenni a felhasználói felületen +STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_HELPTEXT :A sebességértékek a kiválasztott mértékegységben fognak megjelenni a felhasználói felületen STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_IMPERIAL :Angolszász (mi/h) STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_METRIC :Metrikus (km/h) STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_SI :SI (m/s) STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER :Teljesítmény mértékegysége: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_HELPTEXT :A teljesítmények a kiválasztott mértékegységben fognak megjelenni a felhasználói felületen +STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_HELPTEXT :A teljesítményértékek a kiválasztott mértékegységben fognak megjelenni a felhasználói felületen STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_IMPERIAL :Angolszász (LE) STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_METRIC :Metrikus (LE) STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_SI :SI (kW) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT :Tömeg mértékegysége: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_HELPTEXT :A tömegek a kiválasztott mértékegységben fognak megjelenni a felhasználói felületen +STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_HELPTEXT :A tömegértékek a kiválasztott mértékegységben fognak megjelenni a felhasználói felületen STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_IMPERIAL :Angolszász (angolszász tonna) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_METRIC :Metrikus (t/tonna) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_SI :SI (kg) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME :Űrtartalom mértékegysége: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_HELPTEXT :Az űrtartalmak a kiválasztott mértékegységben fognak megjelenni a felhasználói felületen +STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_HELPTEXT :Az űrtartalomértékek a kiválasztott mértékegységben fognak megjelenni a felhasználói felületen STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_IMPERIAL :Angolszász (gal) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_METRIC :Metrikus (l) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_SI :SI (m³) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE :Vonóerő mértékegysége: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_HELPTEXT :A vonóerők a kiválasztott mértékegységben fognak megjelenni a felhasználói felületen +STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_HELPTEXT :A vonóerőértékek a kiválasztott mértékegységben fognak megjelenni a felhasználói felületen STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_IMPERIAL :Angolszász (lbf) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_METRIC :Metrikus (kp) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_SI :SI (kN) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT :Hosszúság mértékegysége: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT :A hosszúságok a kiválasztott mértékegységben fognak megjelenni a felhasználói felületen +STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT :A magassági értékek a kiválasztott mértékegységben fognak megjelenni a felhasználói felületen STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :Angolszász (láb) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :Metrikus (m) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :SI (m) -STR_CONFIG_SETTING_GUI :{ORANGE}Megjelenítés STR_CONFIG_SETTING_LOCALISATION :{ORANGE}Honosítás -STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}Építkezés -STR_CONFIG_SETTING_VEHICLES :{ORANGE}Járművek -STR_CONFIG_SETTING_STATIONS :{ORANGE}Állomások -STR_CONFIG_SETTING_ECONOMY :{ORANGE}Gazdaság -STR_CONFIG_SETTING_LINKGRAPH :{ORANGE}Rakományok szétosztása (úticélok) -STR_CONFIG_SETTING_AI :{ORANGE}Ellenfelek -STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}Megjelenítési beállítások -STR_CONFIG_SETTING_INTERACTION :{ORANGE}Irányítás +STR_CONFIG_SETTING_GRAPHICS :{ORANGE}Megjelenés STR_CONFIG_SETTING_SOUND :{ORANGE}Hang effektek -STR_CONFIG_SETTING_NEWS :{ORANGE}Hírek és üzenetek -STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}Jelzők -STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE}Rakomány kezelés -STR_CONFIG_SETTING_AI_NPC :{ORANGE}Számítógép által vezérelt ellenfelek -STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE}Automata felújítás -STR_CONFIG_SETTING_VEHICLES_SERVICING :{ORANGE}Javítás +STR_CONFIG_SETTING_INTERFACE :{ORANGE}Felület +STR_CONFIG_SETTING_INTERFACE_GENERAL :{ORANGE}Általános +STR_CONFIG_SETTING_INTERFACE_VIEWPORTS :{ORANGE}Nézet +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Építkezés +STR_CONFIG_SETTING_ADVISORS :{ORANGE}Hírüzenetek / Figyelmeztetések +STR_CONFIG_SETTING_COMPANY :{ORANGE}Vállalat +STR_CONFIG_SETTING_ACCOUNTING :{ORANGE}Pénzügyek +STR_CONFIG_SETTING_VEHICLES :{ORANGE}Járművek +STR_CONFIG_SETTING_VEHICLES_PHYSICS :{ORANGE}Fizika STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Útvonalkeresés -STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}Vonatok -STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}Települések -STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}Gazdasági épületek +STR_CONFIG_SETTING_LIMITATIONS :{ORANGE}Korlátozások +STR_CONFIG_SETTING_ACCIDENTS :{ORANGE}Katasztrófák / Balesetek +STR_CONFIG_SETTING_GENWORLD :{ORANGE}Térképgenerálás +STR_CONFIG_SETTING_ENVIRONMENT :{ORANGE}Környezet +STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :{ORANGE}Önkormányzatok +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Települések +STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}Gazdasági épületek +STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :{ORANGE}Rakományok szétosztása (úticélok) +STR_CONFIG_SETTING_AI :{ORANGE}Ellenfelek +STR_CONFIG_SETTING_AI_NPC :{ORANGE}Számítógép által vezérelt ellenfelek STR_CONFIG_SETTING_PATHFINDER_OPF :Eredeti STR_CONFIG_SETTING_PATHFINDER_NPF :NPF @@ -1762,9 +1797,9 @@ STR_INTRO_PLAY_HEIGHTMAP :{BLACK}Játék STR_INTRO_SCENARIO_EDITOR :{BLACK}Pályaszerkesztő STR_INTRO_MULTIPLAYER :{BLACK}Hálózati játék -STR_INTRO_GAME_OPTIONS :{BLACK}Beállítások +STR_INTRO_GAME_OPTIONS :{BLACK}Alapbeállítások STR_INTRO_HIGHSCORE :{BLACK}Rekord tábla -STR_INTRO_ADVANCED_SETTINGS :{BLACK}Haladó beállítások +STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Beállítások STR_INTRO_NEWGRF_SETTINGS :{BLACK}NewGRF beállítások STR_INTRO_ONLINE_CONTENT :{BLACK}Letölthető tartalmak STR_INTRO_SCRIPT_SETTINGS :{BLACK}MI / Játékszkript beállítások @@ -1782,9 +1817,9 @@ STR_INTRO_TOOLTIP_SUB_ARCTIC_LANDSCAPE :{BLACK}Szubarkt STR_INTRO_TOOLTIP_SUB_TROPICAL_LANDSCAPE :{BLACK}Szubtrópusi táj kiválasztása STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Játékvilág táj kiválasztása -STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}A játék beállításainak megjelenítése +STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}A játék alapvető beállításainak (pl. nyelv, grafikus alapcsomag, stb.) megjelenítése STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Rekord tábla megjelenítése -STR_INTRO_TOOLTIP_ADVANCED_SETTINGS :{BLACK}Haladó beállítások megjelenítése +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}A beállítások megjelenítése STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}NewGRF beállítások megjelenítése STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Új és frissített tartalmak megtekintése és letöltése STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}MI és játékszkript beállítások megjelenítése @@ -1824,6 +1859,8 @@ STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Irány STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Csodabuldózer (lerombol gazdasági épületeket, mozgathatatlan objektumokat): {ORANGE}{STRING} STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}Alagutak keresztezhessék egymást: {ORANGE}{STRING} STR_CHEAT_NO_JETCRASH :{LTBLUE}Jet-repülők nem fognak (gyakran) lezuhanni a kis repülőtereken: {ORANGE} {STRING} +STR_CHEAT_EDIT_MAX_HL :{LTBLUE}Maximális térképmagasság szerkesztése: {ORANGE}{NUM} +STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}A térképen található hegyek maximális magasságának szerkesztése STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE :Mérsékelt táj STR_CHEAT_SWITCH_CLIMATE_SUB_ARCTIC_LANDSCAPE :Szubarktikus táj STR_CHEAT_SWITCH_CLIMATE_SUB_TROPICAL_LANDSCAPE :Szubtrópusi táj @@ -1872,6 +1909,7 @@ STR_LIVERY_FREIGHT_TRAM :Teherszállít STR_FACE_CAPTION :{WHITE}Arcválasztás STR_FACE_CANCEL_TOOLTIP :{BLACK}Új arc elvetése STR_FACE_OK_TOOLTIP :{BLACK}Új arc elfogadása +STR_FACE_RANDOM :{BLACK}Új véletlen alapszám STR_FACE_MALE_BUTTON :{BLACK}Férfi STR_FACE_MALE_TOOLTIP :{BLACK}Férfi arcok kiválasztása @@ -2341,7 +2379,7 @@ STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Vasúti STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Vasúti járműtelep építése (vonatok vételére és karbantartására). Shift lenyomásával becsült építési költséget mutat STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Ellenőrző pont építése vágányra. A Ctrl lenyomásával az ellenőrző pontok egyesíthetőek. Shift lenyomásával megmutatja a becsült építési költséget STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Vasútállomás építése. A Ctrl lenyomásával egyesítheted más állomásokkal. Shift lenyomásával megmutatja a becsült építési költséget -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Vasúti jelzők építése. Ctrl gombbal váltás az alak- és fényjelzők között{}Húzással a sínek mentén végig jelzők épülnek. Húzva Ctrl gombbal a következő pályakiágazásig épít jelzőket{}Ctrl+kattintással válthatod a megnyitandó jelzőépítés-kezelő ablakot. Shift lenyomásával megmutatja a becsült építési költséget +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Vasúti jelzők építése. Ctrl gombbal váltás az alak- és fényjelzők között{}Húzással a sínek mentén végig jelzők épülnek. Húzva Ctrl gombbal a következő pályakiágazásig vagy jelzőig épít jelzőket{}Ctrl+kattintással válthatod a megnyitandó jelzőépítés-kezelő ablakot. Shift lenyomásával megmutatja a becsült építési költséget STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Vasúti híd építése. Shift lenyomásával megmutatja a becsült építési költséget STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Vasúti alagút építése. Shift lenyomásával megmutatja a becsült építési költséget STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Váltás építés/feleszedés között vasúti pályák, jelzők, ellenőrző pontok és vasútállomások esetében. Ctrl nyomvatartásával az ellenőrző pontokon és állomásokon a vasúti pályát is eltávolítja @@ -2713,7 +2751,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-2014 Az OpenTTD csapat +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2015 Az OpenTTD csapat # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Játék mentése @@ -2748,13 +2786,12 @@ STR_MAPGEN_BY :{BLACK}* STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Várossűrűség: STR_MAPGEN_DATE :{BLACK}Dátum: STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Gazd. épületek száma: +STR_MAPGEN_MAX_HEIGHTLEVEL :{BLACK}Maximum térképmagasság: +STR_MAPGEN_MAX_HEIGHTLEVEL_UP :{BLACK}A hegyek maximális magasságának növelése a térképen eggyel +STR_MAPGEN_MAX_HEIGHTLEVEL_DOWN :{BLACK}A hegyek maximális magasságának csökkentése a térképen eggyel STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}Hóhatár: STR_MAPGEN_SNOW_LINE_UP :{BLACK}A hóhatár megnövelése eggyel STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}A hóhatár csökkentése eggyel -STR_MAPGEN_RANDOM_SEED :{BLACK}Véletlen alapszám: -STR_MAPGEN_RANDOM_SEED_HELP :{BLACK}Kattints ide a véletlen alapszám beírásához -STR_MAPGEN_RANDOM :{BLACK}Új véletlen alapszám -STR_MAPGEN_RANDOM_HELP :{BLACK}Megváltoztatja a térképgenerálásnál használt véletlen alapszámot STR_MAPGEN_LAND_GENERATOR :{BLACK}Térkép generátor: STR_MAPGEN_TREE_PLACER :{BLACK}Fa algoritmus: STR_MAPGEN_TERRAIN_TYPE :{BLACK}Tereptípus: @@ -2781,7 +2818,7 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Magassá STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Méret: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} -STR_MAPGEN_RANDOM_SEED_OSKTITLE :{BLACK}Irj be egy tetszőleges számot +STR_MAPGEN_MAX_HEIGHTLEVEL_QUERY_CAPT :{WHITE}Térkép maximális magasságának megváltozatása STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}Hóhatár megváltoztatása STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Kezdő év megváltoztatása @@ -2836,6 +2873,8 @@ STR_NEWGRF_SETTINGS_MOVEUP :{BLACK}Fel STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP :{BLACK}A kiválasztott NewGRF-et felfelé mozgatja a listán STR_NEWGRF_SETTINGS_MOVEDOWN :{BLACK}Le STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP :{BLACK}A kiválasztott NewGRF-et lefelé mozgatja a listán +STR_NEWGRF_SETTINGS_UPGRADE :{BLACK}Verziófrissítés +STR_NEWGRF_SETTINGS_UPGRADE_TOOLTIP :{BLACK}Frissíti azokat a NewGRF-eket, amelyekből van telepítve újabb verzió STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}A feltelepített NewGRF fájlok listája. STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}Paraméterek beállítása @@ -2860,6 +2899,16 @@ STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Fájl nem STR_NEWGRF_SETTINGS_DISABLED :{RED}Kikapcsolva STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Nem kompatibilis az OpenTTD ezen verziójával +# NewGRF save preset window +STR_SAVE_PRESET_CAPTION :{WHITE}Lista mentése +STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK}Az elérhető listák, kattints az egyikre, hogy lemásold a lenti mezőbe +STR_SAVE_PRESET_TITLE :{BLACK}A lista neve +STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}A lista mentéséhez kiválasztott név +STR_SAVE_PRESET_CANCEL :{BLACK}Mégse +STR_SAVE_PRESET_CANCEL_TOOLTIP :{BLACK}Ne mentse a listát +STR_SAVE_PRESET_SAVE :{BLACK}Mentés +STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}A lista mentése a megadott névvel + # NewGRF parameters window STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}NewGRF paraméterek megváltoztatása STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Bezárás @@ -2883,14 +2932,17 @@ STR_NEWGRF_INSPECT_QUERY_CAPTION :{WHITE}NewGRF v # Sprite aligner window STR_SPRITE_ALIGNER_CAPTION :{WHITE}Elhelyezési sprite {COMMA} ({STRING}) STR_SPRITE_ALIGNER_NEXT_BUTTON :{BLACK}Következő sprite -STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Továbbhaladás a következő normál spritera, kihagyva bármilyen ál/átszínező/betű spriteokat bezárva a végével +STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Továbbhaladás a következő normál spritera, kihagyva bármilyen ál/átszínező/betű spriteokat, a végén folytatva az elsővel STR_SPRITE_ALIGNER_GOTO_BUTTON :{BLACK}Ugrás a spritehoz STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}Ugrás a megadott spritehoz. Ha a sprite nem normál sprite, továbbhaladás a következő normál spritehoz STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Előző sprite -STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Továbbhaladás az előző normál spritera, kihagyva bármilyen ál/átszínező/betű spriteokat bezárva az elejével +STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Továbbhaladás az előző normál spritera, kihagyva bármilyen ál/átszínező/betű spriteokat, az elején folytatva az utolsóval STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}A jelenleg kiválasztott sprite ábrázolása. Az elhelyezkedés kikapcsolt sprite-rajzolás közben STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Sprite elmozdítása, módosítva az X és Y offszeteket -STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X offszet: {NUM}, Y offszet: {NUM} +STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Eltolás visszaállítása +STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}A jelenlegi relatív eltolás visszaállítása +STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}X eltolás: {NUM}, Y eltolás: {NUM} (Abszolút) +STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}X eltolás: {NUM}, Y eltolás: {NUM} (Relatív) STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Sprite felszedése STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Szedj fel egy spriteot akárhonnan a képernyőről @@ -2919,7 +2971,7 @@ STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Több Action 8 bejegyzést tartalmaz (sprite {3:NUM}) STR_NEWGRF_ERROR_READ_BOUNDS :Ál-sprite távoli végének olvasása (sprite {3:NUM}) STR_NEWGRF_ERROR_MISSING_SPRITES :{WHITE}A jelenleg használt grafikus alapcsomagból hiányzik számos sprite.{}Kérlek frissítsd a grafikus alapcsomagot -STR_NEWGRF_ERROR_MISSING_SPRITES_UNSTABLE :{WHITE}A használt alap grafikus csomagból néhány egység hiányzik.{}Kérjük frissítsd az alap grafikus csomagot.{}Ha az {YELLOW}OpenTTD fejlesztői változatát{WHITE} használod, lehet hogy a {YELLOW}fejlesztői alap grafikus csomagot{WHITE} kellene használnod +STR_NEWGRF_ERROR_MISSING_SPRITES_UNSTABLE :{WHITE}A használt alap grafikus csomagból néhány egység hiányzik.{}Kérjük frissítsd az alap grafikus csomagot.{}Mivel az {YELLOW}OpenTTD fejlesztői változatát{WHITE} használod, lehet, hogy a {YELLOW}fejlesztői alap grafikus csomagot{WHITE} kellene használnod STR_NEWGRF_ERROR_GRM_FAILED :Kért GRF források nem elérhetőek (sprite {3:NUM}) STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING} kikapcsolva {STRING} által STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Érvénytelen/ismeretlen sprite szerkezet formátum (sprite {3:NUM}) @@ -3002,8 +3054,8 @@ STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} szállítva STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (több szükséges) STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (szállítva) -STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}A település {ORANGE}{COMMA}{BLACK} naponta növekszik -STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}A település {ORANGE}{COMMA}{BLACK} naponta növekszik (támogatást kapott) +STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}A település {ORANGE}{COMMA}{BLACK}{NBSP}naponta növekszik +STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}A település {ORANGE}{COMMA}{BLACK}{NBSP}naponta növekszik (támogatást kapott) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}A település {RED}nem{BLACK} növekszik STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Zajszint a városban: {ORANGE}{COMMA}{BLACK} max: {ORANGE}{COMMA} STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}A fő nézetet a városra állítja. Ctrl+kattintás esetén új nézetet nyit a város pozíciójára @@ -3063,7 +3115,7 @@ STR_GOAL_QUESTION_CAPTION_INFORMATION :Információ STR_GOAL_QUESTION_CAPTION_WARNING :Figyelmeztetés STR_GOAL_QUESTION_CAPTION_ERROR :Hiba -### Start of Goal Question button list +############ Start of Goal Question button list STR_GOAL_QUESTION_BUTTON_CANCEL :Mégse STR_GOAL_QUESTION_BUTTON_OK :OK STR_GOAL_QUESTION_BUTTON_NO :Nem @@ -3082,6 +3134,7 @@ STR_GOAL_QUESTION_BUTTON_RESTART :Újrakezd STR_GOAL_QUESTION_BUTTON_POSTPONE :Elhalaszt STR_GOAL_QUESTION_BUTTON_SURRENDER :Felad STR_GOAL_QUESTION_BUTTON_CLOSE :Bezár +############ End of Goal Question button list # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}Támogatások @@ -3117,7 +3170,6 @@ STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}Semmilye # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} -STR_STATION_VIEW_WAITING_TITLE :{BLACK}Várakozik: {WHITE}{STRING} STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} ideszállítva {STATION} állomásról) STR_STATION_VIEW_RESERVED :{YELLOW}({CARGO_SHORT} lefoglalva berakodáshoz) @@ -3407,10 +3459,10 @@ STR_PURCHASE_INFO_ALL_BUT :Mindenre, kivé 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_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Vasúti jármű kiválasztása - kattints egy járműre az adataihoz -STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Közúti jármű kiválasztása - kattints egy járműre az adataihoz -STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Hajó kiválasztása - kattints egy hajóra az adataihoz -STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Repülőgép kiválasztása - kattints egy repülőgépre az adataihoz +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ő +STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Hajó kiválasztása - kattints egy hajóra az adataihoz. Ctrl+kattintással a hajótípus elrejthető/felfedhető +STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Repülőgép kiválasztása - kattints egy repülőgépre az adataihoz. Ctrl+kattintással a repülőgéptípus elrejthető/felfedhető STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}Megvesz STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Megvesz @@ -3432,6 +3484,21 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}A közú STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}A hajó márkanevének megváltoztatása STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}A repülőgép márkanevének megváltoztatása +STR_BUY_VEHICLE_TRAIN_HIDE_TOGGLE_BUTTON :{BLACK}Elrejtés +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_TOGGLE_BUTTON :{BLACK}Elrejtés +STR_BUY_VEHICLE_SHIP_HIDE_TOGGLE_BUTTON :{BLACK}Elrejtés +STR_BUY_VEHICLE_AIRCRAFT_HIDE_TOGGLE_BUTTON :{BLACK}Elrejtés + +STR_BUY_VEHICLE_TRAIN_SHOW_TOGGLE_BUTTON :{BLACK}Megjelenítés +STR_BUY_VEHICLE_ROAD_VEHICLE_SHOW_TOGGLE_BUTTON :{BLACK}Megjelenítés +STR_BUY_VEHICLE_SHIP_SHOW_TOGGLE_BUTTON :{BLACK}Megjelenítés +STR_BUY_VEHICLE_AIRCRAFT_SHOW_TOGGLE_BUTTON :{BLACK}Megjelenítés + +STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Vasúti járműtípus elrejtése/felfedése +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Közúti járműtípus elrejtése/felfedése +STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Hajótípus elrejtése/felfedése +STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Repülőgéptípus elrejtése/felfedése + STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}Márkanév megváltoztatása STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}Márkanév megváltoztatása STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}Márkanév megváltoztatása @@ -3485,7 +3552,7 @@ STR_DEPOT_CLONE_ROAD_VEHICLE :{BLACK}Jármű STR_DEPOT_CLONE_SHIP :{BLACK}Hajó másolása STR_DEPOT_CLONE_AIRCRAFT :{BLACK}Repülőgép másolása -STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Ide kattintva elkészítheted egy teljes vonat másolatát. Kattints ide, majd a másolandó vonatra. Ctrl+kattintással az utasításlistát is megosztod. Shift+kattintással megmutatja a becsült költséget vásárlás nélkül +STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Ide kattintva elkészítheted egy teljes vonat másolatát annak összes kocsijával. Kattints erre a gombra, majd a vonatra kívül vagy belül a járműtelepen. Kattints ide, majd a másolandó vonatra. Ctrl+kattintással az utasításlistát is megosztod. Shift+kattintással megmutatja a becsült költséget vásárlás nélkül STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Ide kattintva megveheted egy közúti jármű másolatát. Kattints ide, majd a másolandó járműre a járműtelepen belül vagy kívül. Ctrl+kattintással az utasításlistát is megosztod. Shift+kattintással megmutatja a becsült költséget vásárlás nélkül STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Ide kattintva elkészítheted egy hajó másolatát. Kattints ide, majd a másolandó hajóra. Ctrl+Kattintással a menetrendet is megosztod. Shift+kattintással megmutatja a becsült költséget vásárlás nélkül STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Ide kattintva elkészítheted egy repülőgép másolatát. Kattints ide, majd a másolandó repülőgépre. Ctrl+kattintással a menetrendet is megosztod. Shift+kattintással megmutatja a becsült költséget vásárlás nélkül @@ -3523,7 +3590,7 @@ STR_ENGINE_PREVIEW_MONORAIL_LOCOMOTIVE :egysínű mozdo 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} Erő: {POWER} Maximális Vonóerő: {6:FORCE}{}Üzemeltetési költségeit: {4:CURRENCY_LONG}/év{}Capacity: {5: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 @@ -3536,6 +3603,11 @@ STR_REPLACE_VEHICLE_ROAD_VEHICLE :Közúti járm STR_REPLACE_VEHICLE_SHIP :Hajók STR_REPLACE_VEHICLE_AIRCRAFT :Repülőgépek +STR_REPLACE_VEHICLE_VEHICLES_IN_USE :{YELLOW}Járművek használatban +STR_REPLACE_VEHICLE_VEHICLES_IN_USE_TOOLTIP :{BLACK}Oszlop tulajdonolt járművekkel +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES :{YELLOW}Elérhető járművek +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES_TOOLTIP :{BLACK}Oszlop cserére alkalmas járművekkel + STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Cserélendő járműtípus kiválasztása STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}A bal oldalon kiválasztott járműtípus helyett kívánt új járműtípus kiválasztása @@ -3660,7 +3732,7 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Kapacit STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Szállítási díj: {LTBLUE}{CURRENCY_LONG} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Javítási időköz: {LTBLUE}{COMMA} nap{BLACK} Utolsó javítás: {LTBLUE}{DATE_LONG} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Javítási időköz: {LTBLUE}{COMMA}{NBSP}nap{BLACK} Utolsó javítás: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Javítási intervallum: {LTBLUE}{COMMA}%{BLACK} Utolsó javítás: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Javítási időköz növelése 10-zel. Ctrl+kattintás 5-tel növeli STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Javítási időköz csökkentése 10-zel. Ctrl+Kattintás 5-tel csökkenti @@ -3851,11 +3923,11 @@ STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY :(Ki nem rakodá STR_ORDER_NO_UNLOAD_NO_LOAD :(Nincs ki- és berakodás) STR_ORDER_AUTO_REFIT :(Átalakítás {STRING} szállítására) -STR_ORDER_FULL_LOAD_REFIT :(Kirakodás, mindenből teljes berakodás és átalakítás {STRING} rakományra) -STR_ORDER_FULL_LOAD_ANY_REFIT :(Kirakodás, bármiből teljes berakodás és átalakítás {STRING} rakományra) +STR_ORDER_FULL_LOAD_REFIT :(Mindenből teljes berakodás és átalakítás {STRING} rakományra) +STR_ORDER_FULL_LOAD_ANY_REFIT :(Bármiből teljes berakodás és átalakítás {STRING} rakományra) STR_ORDER_UNLOAD_REFIT :(Kirakodás, rakományfelvétel és átalakítás {STRING} rakományra) -STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(Ki nem rakodás, mindenből teljes berakodás és átalakítás {STRING} rakományra) -STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(Ki nem rakodás, bármiből teljes berakodás és átalakítás {STRING} rakományra) +STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(Kirakodás, mindenből teljes berakodás és átalakítás {STRING} rakományra) +STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(Kirakodás, bármiből teljes berakodás és átalakítás {STRING} rakományra) STR_ORDER_TRANSFER_REFIT :(Elszállítás, rakományfelvétel és átalakítás {STRING} rakományra) STR_ORDER_TRANSFER_FULL_LOAD_REFIT :(Elszállítás, bármiből teljes berakodás és átalakítás {STRING} rakományra) STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :(Elszállítás, mindenből teljes berakodás és átalakítás {STRING} rakományra) @@ -3890,10 +3962,14 @@ STR_TIMETABLE_TRAVEL_NOT_TIMETABLED :Következő cé STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Menet {2:VELOCITY} max. sebességgel (nincs menetrend) STR_TIMETABLE_TRAVEL_FOR :Menetidő: {STRING} STR_TIMETABLE_TRAVEL_FOR_SPEED :Menetidő: {STRING} {VELOCITY} max. sebességgel +STR_TIMETABLE_TRAVEL_FOR_ESTIMATED :Menet ({STRING}ig, időzítetlen) +STR_TIMETABLE_TRAVEL_FOR_SPEED_ESTIMATED :Menet ({STRING}ig, időzítetlen) {VELOCITY} max. sebességgel +STR_TIMETABLE_STAY_FOR_ESTIMATED :(ottmarad {STRING}ig, időzítetlen) +STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :({STRING} utazás, időzítetlen) STR_TIMETABLE_STAY_FOR :állomásra és maradj ott {STRING}ig STR_TIMETABLE_AND_TRAVEL_FOR :és a menetidő: {STRING} -STR_TIMETABLE_DAYS :{COMMA} nap -STR_TIMETABLE_TICKS :{COMMA} tick +STR_TIMETABLE_DAYS :{COMMA}{NBSP}nap +STR_TIMETABLE_TICKS :{COMMA}{NBSP}tick STR_TIMETABLE_TOTAL_TIME :{BLACK}A menetrend teljesítési ideje: {STRING} STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}A menetrend teljesítési ideje legalább: {STRING} (nincs minden időzítve) @@ -4131,6 +4207,7 @@ STR_ERROR_EXCAVATION_WOULD_DAMAGE :{WHITE}Az ásá STR_ERROR_ALREADY_AT_SEA_LEVEL :{WHITE}Már tengerszinten van STR_ERROR_TOO_HIGH :{WHITE}Túl magas STR_ERROR_ALREADY_LEVELLED :{WHITE}... már sík +STR_ERROR_BRIDGE_TOO_HIGH_AFTER_LOWER_LAND :{WHITE}Ezután a híd túl magas lenne. # Company related errors STR_ERROR_CAN_T_CHANGE_COMPANY_NAME :{WHITE}Nem változtathatod meg a vállalat nevét... @@ -4157,7 +4234,7 @@ STR_ERROR_TOO_CLOSE_TO_EDGE_OF_MAP_SUB :{WHITE}... túl STR_ERROR_TOO_CLOSE_TO_ANOTHER_TOWN :{WHITE}... túl közel van egy másik településhez STR_ERROR_TOO_MANY_TOWNS :{WHITE}... túl sok a település STR_ERROR_NO_SPACE_FOR_TOWN :{WHITE}... nincs több hely a térképen -STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}A település nem fog utakat építeni. Az útépítést a Haladó beállítások->Gazdaság->Városok menüben engedélyezheted +STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}A település nem fog utakat építeni. Az útépítést a Haladó beállítások->Környezet->Települések menüben engedélyezheted STR_ERROR_ROAD_WORKS_IN_PROGRESS :{WHITE}Útkarbantartás folyamatban STR_ERROR_TOWN_CAN_T_DELETE :{WHITE}Nem törölheted ezt a várost...{}Egy állomás vagy járműtelep hivatkozik a városra, vagy egy városi tulajdonú mező nem eltávolítható STR_ERROR_STATUE_NO_SUITABLE_PLACE :{WHITE}... nincs megfelelő hely egy szobornak a város központjában @@ -4181,6 +4258,9 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... erd STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... csak a hóhatár fölé építhető STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... csak a hóhatár alá építhető +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}Nem volt megfelelő hely '{STRING}' elhelyezésére +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Változtasd meg a térképgenerálás paramétereit, hogy jobb térképet kapj + # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Nem építhetsz ide vasútállomást... STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}Nem építhetsz ide buszmegállót... @@ -4317,6 +4397,7 @@ STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Előbb l STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}Nem kezdődhet és végződhet ugyanott STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}Hídfők nem egy szinten vannak STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}A híd túl alacsony a terepre +STR_ERROR_BRIDGE_TOO_HIGH_FOR_TERRAIN :{WHITE}A híd túl magas erre a terepre. STR_ERROR_START_AND_END_MUST_BE_IN :{WHITE}A kezdetének és a végének egy vonalban kell lennie STR_ERROR_ENDS_OF_BRIDGE_MUST_BOTH :{WHITE}... a híd mindkét végének szárazföldön kell lennie STR_ERROR_BRIDGE_TOO_LONG :{WHITE}... a híd túl hosszú @@ -4922,6 +5003,7 @@ STR_COMPANY_NAME :{COMPANY} STR_COMPANY_NAME_COMPANY_NUM :{COMPANY} {COMPANY_NUM} STR_DEPOT_NAME :{DEPOT} STR_ENGINE_NAME :{ENGINE} +STR_HIDDEN_ENGINE_NAME :{ENGINE} (rejtett) STR_GROUP_NAME :{GROUP} STR_INDUSTRY_NAME :{INDUSTRY} STR_PRESIDENT_NAME :{PRESIDENT_NAME} @@ -4957,8 +5039,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -4969,9 +5049,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/icelandic.txt b/src/lang/icelandic.txt index 2447e20db3..01b330bce2 100644 --- a/src/lang/icelandic.txt +++ b/src/lang/icelandic.txt @@ -240,6 +240,9 @@ STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Skrunsl STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Rennislá - rennir lista til vinstri/hægri STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Eyða byggingum o.s.frv. á lóðarreiti. Ctrl velur svæðið skáhalt. Haldið Shift inni til að sýna áætlaðan kostnað +# Show engines button + + # Query window STR_BUTTON_DEFAULT :{BLACK}Sjálfgildi STR_BUTTON_CANCEL :{BLACK}Hætta við @@ -349,7 +352,6 @@ STR_SCENEDIT_FILE_MENU_QUIT :Hætta ############ range for settings menu starts STR_SETTINGS_MENU_GAME_OPTIONS :Stillingar -STR_SETTINGS_MENU_CONFIG_SETTINGS :Ítarlegar stillingar STR_SETTINGS_MENU_SCRIPT_SETTINGS :Gervigreind/leikjaforskrift STR_SETTINGS_MENU_NEWGRF_SETTINGS :NewGRF stillingar STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Gegnsæisstillingar @@ -457,7 +459,7 @@ STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Sýna/fela afm STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Sýna/fela litun á endurteiknuðum hlutum ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window STR_ORDINAL_NUMBER_1ST :1. STR_ORDINAL_NUMBER_2ND :2. STR_ORDINAL_NUMBER_3RD :3 @@ -473,22 +475,40 @@ STR_ORDINAL_NUMBER_12TH :12. STR_ORDINAL_NUMBER_13TH :13. STR_ORDINAL_NUMBER_14TH :14. STR_ORDINAL_NUMBER_15TH :15. -STR_ORDINAL_NUMBER_16TH :16. -STR_ORDINAL_NUMBER_17TH :17. -STR_ORDINAL_NUMBER_18TH :18. -STR_ORDINAL_NUMBER_19TH :19. -STR_ORDINAL_NUMBER_20TH :20. -STR_ORDINAL_NUMBER_21ST :21. -STR_ORDINAL_NUMBER_22ND :22. -STR_ORDINAL_NUMBER_23RD :23. -STR_ORDINAL_NUMBER_24TH :24. -STR_ORDINAL_NUMBER_25TH :25. -STR_ORDINAL_NUMBER_26TH :26. -STR_ORDINAL_NUMBER_27TH :27. -STR_ORDINAL_NUMBER_28TH :28. -STR_ORDINAL_NUMBER_29TH :29. -STR_ORDINAL_NUMBER_30TH :30. -STR_ORDINAL_NUMBER_31ST :31. +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :1. +STR_DAY_NUMBER_2ND :2. +STR_DAY_NUMBER_3RD :3 +STR_DAY_NUMBER_4TH :4. +STR_DAY_NUMBER_5TH :5. +STR_DAY_NUMBER_6TH :6. +STR_DAY_NUMBER_7TH :7. +STR_DAY_NUMBER_8TH :8. +STR_DAY_NUMBER_9TH :9. +STR_DAY_NUMBER_10TH :10. +STR_DAY_NUMBER_11TH :11. +STR_DAY_NUMBER_12TH :12. +STR_DAY_NUMBER_13TH :13. +STR_DAY_NUMBER_14TH :14. +STR_DAY_NUMBER_15TH :15. +STR_DAY_NUMBER_16TH :16. +STR_DAY_NUMBER_17TH :17. +STR_DAY_NUMBER_18TH :18. +STR_DAY_NUMBER_19TH :19. +STR_DAY_NUMBER_20TH :20. +STR_DAY_NUMBER_21ST :21. +STR_DAY_NUMBER_22ND :22. +STR_DAY_NUMBER_23RD :23. +STR_DAY_NUMBER_24TH :24. +STR_DAY_NUMBER_25TH :25. +STR_DAY_NUMBER_26TH :26. +STR_DAY_NUMBER_27TH :27. +STR_DAY_NUMBER_28TH :28. +STR_DAY_NUMBER_29TH :29. +STR_DAY_NUMBER_30TH :30. +STR_DAY_NUMBER_31ST :31. ############ range for days ends ############ range for months starts @@ -791,13 +811,11 @@ STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}{VEHICLE STR_NEWS_SHIP_IS_WAITING :{WHITE}{VEHICLE} bíður í þjónustumiðstöð STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE} bíður í flugskýlinu -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE +# Order review system / warnings STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE} hefur of fáar skipanir á áætlun STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE} hefur ógilda skipun STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE} hefur endurteknar skipanir STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE} hefur ógilda stöð í skipunum sínum -# end of order system STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} er tekinn að eldast STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} er tekinn að eldast mikið @@ -880,10 +898,6 @@ STR_GAME_OPTIONS_CURRENCY_GEL :Lari (Gel) STR_GAME_OPTIONS_CURRENCY_IRR :Íranskt ríal (IRR) ############ end of currency region - -############ start of measuring units region -############ end of measuring units region - STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Aksturstefna STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}Aksturstefna bifreiða STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :Vinstristefna @@ -919,11 +933,13 @@ STR_GAME_OPTIONS_TOWN_NAME_CATALAN :Katalónsk STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Sjálfvirk vistun STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Tíðni sjálfvirkra vistana +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Aldrei STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :Mánaðarlega STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :Ársfjórðungslega STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :Hálfsárslega STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :Árlega +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}Tungumál STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Tungumál viðmóts @@ -935,8 +951,7 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}Skjáupp STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Stilla skjáupplausn STR_GAME_OPTIONS_RESOLUTION_OTHER :annað -STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}Snið skjámynda -STR_GAME_OPTIONS_SCREENSHOT_FORMAT_TOOLTIP :{BLACK}Snið á skjámyndaskrám + STR_GAME_OPTIONS_BASE_GRF :{BLACK}Grunngrafík STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Nota grunngrafíkina @@ -1037,8 +1052,7 @@ STR_CITY_APPROVAL_HOSTILE :Fjandsamleg STR_WARNING_NO_SUITABLE_AI :{WHITE}Engin nothæf gervigreind í boði...{}Þú getur hlaðið niður mörgum gervigreindum í gegnum 'Ná í viðbætur af netinu' viðmótið -# Advanced settings window -STR_CONFIG_SETTING_CAPTION :{WHITE}Ítarlegar stillingar +# Settings tree window STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Sía: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Þenja út STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Draga saman @@ -1105,8 +1119,6 @@ STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Kveikja eða sl STR_CONFIG_SETTING_CITY_APPROVAL :Viðhörf bæjaryfirvalda til endurskipulagningar: {STRING} STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Veldu hversu mikil áhrif hávaði og umhverfisspjöll frá fyrirtækjum hafa áhrif á mat bæja á fyrirtækinu og frekari framkvæmdir innan bæjarmarkanna -STR_CONFIG_SETTING_BUILDONSLOPES :Leyfilegt að byggja í halla og á strönd: {STRING} -STR_CONFIG_SETTING_BUILDONSLOPES_HELPTEXT :Ef þessi stilling er virk er hægt að byggja spor og stöðvar í flestum brekkum. Ef hún er óvirk er það bara hægt í brekkum sem snúa í sömu átt og sporin og því þurfa þau engar undirstöður STR_CONFIG_SETTING_AUTOSLOPE :Leyfa landslagsbreytingar undir byggingum, sporum o.fl. (landfylling): {STRING} STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Leyfa mótun á landslagi undir byggingum og sporum án þess að þurfa að fjarlægja STR_CONFIG_SETTING_CATCHMENT :Raunverulegri stærð svæðis sem stöðvar ná yfir: {STRING} @@ -1131,14 +1143,8 @@ STR_CONFIG_SETTING_FORBID_90_DEG :Banna lestum og STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90 gráðu beygjur verða þegar lárétt spor liggja saman við lóðrétt spor, þannig að lestin beygir 90 gráður þegar hún fer milli reita í staðinn fyrir 45 gráður fyrir aðrar samsetningar spora. Þetta á einnig við um beygjuradíus skipa STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Leyfa sameiningu stöðva sem ekki tengjast á korti: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Gerir mögulegt að bæta við stöð án þess að reitirnir liggi saman. Það þarf að halda Ctrl+Smella þegar bætt er við stöðina -STR_CONFIG_SETTING_IMPROVEDLOAD :Nota endurbættan algóriþma við hleðslu: {STRING} -STR_CONFIG_SETTING_IMPROVEDLOAD_HELPTEXT :Ef þetta er virkt þá eru farartækin sem bíða á stöðinni hlaðinn eftir röð. Hleðsla á næsta farartæki byrjar aðeins þegar það bíður nógur farmur til að fylla fyrsta ökutækið -STR_CONFIG_SETTING_GRADUAL_LOADING :Ferma farartæki smám saman: {STRING} -STR_CONFIG_SETTING_GRADUAL_LOADING_HELPTEXT :Smám saman hlaða farartækin eftir ákveðnum tíma sem miðast við hvert farartæki, í staðinn fyrir að hlaða öllu í einu á ákveðnum tíma sem miðast við magn farmsins STR_CONFIG_SETTING_INFLATION :Verðbólga: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :Hafa verðbólgu, þá eykst kostnaður aðeins hraðar en greiðslur -STR_CONFIG_SETTING_SELECTGOODS :Aðeins afhlaða farmi á stöðvum þar sem er eftirspurn: {STRING} -STR_CONFIG_SETTING_SELECTGOODS_HELPTEXT :Aðeins afhlaða farm á stöðvar sem taka á móti fluttum farmi. Það kemur í veg fyrir að farmur fái slæma einkunn á stöð sem ekki tekur við viðkomandi farmi STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Hámarkslengd á brúm: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Hámarkslengd á brúm sem á að byggja STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Hámarkslengd á göngum: {STRING} @@ -1166,8 +1172,6 @@ STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Sjálfgefin sti STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :upphaf STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :miðju STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :enda -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING :Bifreiðir bíða í röð (með skömmtunaráhrifum): {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING_HELPTEXT :Bílar verða að bíða fyrir aftan vegahindranir þar til þær hafa verið fjarlægðar STR_CONFIG_SETTING_AUTOSCROLL :Færa sjónarhorn þegar músin nálgast brún gluggans: {STRING} STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Ef þessi stilling er virk þá færist landslagið til hliðar ef músin er við jaðra gluggans STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Óvirkt @@ -1198,10 +1202,6 @@ STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Leyfa stoppist STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Leyfa byggingu stoppistöðvar sem keyrt er í gegnum, á vegum í eigu bæja STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Leyfa stoppistöðvar sem keyrt er í gegnum, á vegum í eigu samkeppnisaðila: {STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Leyfa byggingu stoppistöðva sem keyrt er í gegnum, á vegum í eigu samkeppnisaðila -STR_CONFIG_SETTING_ADJACENT_STATIONS :Heimila sambyggingu stöðva: {STRING} -STR_CONFIG_SETTING_ADJACENT_STATIONS_HELPTEXT :Leyfa ólíkum stöðvum að snerta hvor aðra -STR_CONFIG_SETTING_DYNAMIC_ENGINES :Virkja mörg NewGRF vélasöfn: {STRING} -STR_CONFIG_SETTING_DYNAMIC_ENGINES_HELPTEXT :Samhæfni kostur fyrir gamla NewGRF. Ekki slökkva á þessu, nema þú vitir nákvæmlega hvað þú ert að gera! STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Ekki er hægt að breyta þessari stillingu þegar til eru farartæki STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Viðhald á innviðum: {STRING} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Ef þessi stilling er virk kostar að reka innviði fyrirtækisins. Kostnaður eykst í auknu hlutfalli við stærð fyrirtækisins, því eru áhrifin meiri á stór fyrirtæki en lítil @@ -1259,8 +1259,6 @@ STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Snúningur hæ STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Rangsælis STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Réttsælis STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :Hæð jafnslétts lands yfir sjávarmáli: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :Leyfa landslagsbreytingar á jöðrum korts: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES_HELPTEXT :Ef þessi stilling er óvirk eru jaðrar kortsins alltaf sjór STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}Einn eða fleiri reitir við norðurjaðarinn eru ekki tómir STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}Einn eða fleiri reitir við eina hlið kortsins hafa ekki vatn @@ -1311,15 +1309,13 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Af STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Skrun með hægri músarhnappi: {STRING} STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :Virkja að hægt sé að færa sjónarhornið með því að færa það með vinstri músar takkanum. Þetta er sérstaklega gott þegar notast er við snerti-skjá til að færa sjónarhornið + STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Nota dagsetningar á {STRING} formi fyrir vistaða leiki. STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Snið á dagsetningu í nöfnum á vistuðum leikjum STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :löngu (31. Des 2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :stuttu (31-12-2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE :Sjálfgefið litaspjald fyrir NewGRF sem tilgreina ekki litaspjald: {STRING} -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_HELPTEXT :Sjálfgefið litaspjald til að nota með NewGRF sem skilgreina ekki hvaða litaspjald það notar - STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Setja leik á bið þegar nýr leikur er hafinn: {STRING} STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :Ef þessi stilling er virk mun leikurinn fara sjálfvirkt á bið þegar nýr leikur hefst. Það gefur færi á að skoða kortið betur STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Þegar leikurinn er á bið skal leyfa: {STRING} @@ -1541,8 +1537,6 @@ STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 af {COMMA} STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Enginn STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Upphaflegur margfaldari bogarstærðar: {STRING} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Meðalstærð borga miðað við bæi, við upphaf leiks -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :Fjarlægja fráleita vegahluti þegar vegagerð stendur yfir: {STRING} -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD_HELPTEXT :Þegar bæir hafa verið styrktir til að endurnýja vegina sýna á þá að fjarlægja ónotaða vegenda @@ -1551,25 +1545,15 @@ STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD_HELPTEXT :Þegar bæir ha -STR_CONFIG_SETTING_GUI :{ORANGE}Viðmót -STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}Bygging -STR_CONFIG_SETTING_VEHICLES :{ORANGE}Farartæki -STR_CONFIG_SETTING_STATIONS :{ORANGE}Stöðvar -STR_CONFIG_SETTING_ECONOMY :{ORANGE}Efnahagur -STR_CONFIG_SETTING_AI :{ORANGE}Mótherji -STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}Skjá-valmöguleikar -STR_CONFIG_SETTING_INTERACTION :{ORANGE}Viðmót STR_CONFIG_SETTING_SOUND :{ORANGE}Hljóð -STR_CONFIG_SETTING_NEWS :{ORANGE}Fréttir og skilaboð -STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}Umferðarmerki -STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE}Meðhöndlun farms -STR_CONFIG_SETTING_AI_NPC :{ORANGE}Gervigreind -STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE}Sjálfvirk endurnýjun -STR_CONFIG_SETTING_VEHICLES_SERVICING :{ORANGE}Viðhald farartækja +STR_CONFIG_SETTING_INTERFACE :{ORANGE}Viðmót +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Bygging +STR_CONFIG_SETTING_VEHICLES :{ORANGE}Farartæki STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Leiðarvísun farartækja -STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}Lestir -STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}Bæir -STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}Iðnaður +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Bæir +STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}Iðnaður +STR_CONFIG_SETTING_AI :{ORANGE}Mótherji +STR_CONFIG_SETTING_AI_NPC :{ORANGE}Gervigreind STR_CONFIG_SETTING_PATHFINDER_OPF :Upprunalegt STR_CONFIG_SETTING_PATHFINDER_NPF :NPF @@ -1618,7 +1602,6 @@ STR_INTRO_MULTIPLAYER :{BLACK}Fjölspi STR_INTRO_GAME_OPTIONS :{BLACK}Stillingar STR_INTRO_HIGHSCORE :{BLACK}Stigatafla -STR_INTRO_ADVANCED_SETTINGS :{BLACK}Ítarlegar stillingar STR_INTRO_NEWGRF_SETTINGS :{BLACK}NewGRF Stillingar STR_INTRO_ONLINE_CONTENT :{BLACK}Ná í viðbætur af netinu STR_INTRO_SCRIPT_SETTINGS :{BLACK}GG/forskriftar stillingar @@ -1638,7 +1621,6 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Leikfang STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Stilla OpenTTD STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Birta stigatöflu -STR_INTRO_TOOLTIP_ADVANCED_SETTINGS :{BLACK}Birta ítarlegar stillingar STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Sýna NewGRF stillingar STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Skoða viðbætur sem hægt er að ná í af netinu STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Birta stillingar fyrir gervigreind/forskrift @@ -1726,6 +1708,7 @@ STR_LIVERY_FREIGHT_TRAM :Farmsporvagn STR_FACE_CAPTION :{WHITE}Andlitsval STR_FACE_CANCEL_TOOLTIP :{BLACK}Hætta við andlitsval STR_FACE_OK_TOOLTIP :{BLACK}Samþykkja andlitsval +STR_FACE_RANDOM :{BLACK}Nýtt raðnúmer STR_FACE_MALE_BUTTON :{BLACK}Karlmaður STR_FACE_MALE_TOOLTIP :{BLACK}Velja karlmannsandlit @@ -2553,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-2014 OpenTTD hópurinn +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2015 OpenTTD hópurinn # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Vista leik @@ -2590,10 +2573,6 @@ STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Fjöldi STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}Hæð snjólínu: STR_MAPGEN_SNOW_LINE_UP :{BLACK}Hækka snjólínu upp um eitt þrep STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}Lækka snjólínu niður um eitt þrep -STR_MAPGEN_RANDOM_SEED :{BLACK}Raðnúmer lands: -STR_MAPGEN_RANDOM_SEED_HELP :{BLACK}Smelltu til að skrifa inn raðnúmer -STR_MAPGEN_RANDOM :{BLACK}Nýtt raðnúmer -STR_MAPGEN_RANDOM_HELP :{BLACK}Fá tilviljanakennt raðnúmer fyrir myndun lands STR_MAPGEN_LAND_GENERATOR :{BLACK}Landmyndun: STR_MAPGEN_TREE_PLACER :{BLACK}Planta trjám: STR_MAPGEN_TERRAIN_TYPE :{BLACK}Gerð lands: @@ -2620,7 +2599,6 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Nafn hæ STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Stærð: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} * {NUM} -STR_MAPGEN_RANDOM_SEED_OSKTITLE :{BLACK}Sláðu inn slembistofn STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}Breyta hæð snjólínu STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Breyta upphafsári @@ -2699,6 +2677,8 @@ STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Viðeigand STR_NEWGRF_SETTINGS_DISABLED :{RED}Óvirkt STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Ósamhæft við þessa útgáfu af OpenTTD +# NewGRF save preset window + # NewGRF parameters window STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Breyta NewGRF stillingum STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Loka @@ -2729,7 +2709,6 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Fyrri hr STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Fara á fyrri venjulegu hreyfimynd, sleppir gervi/endurlitun/letur hreyfimyndum og fer aftast í listen þegar upphafi er náð. STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Framsetning á valinni hreyfimynd. Samstillingu er sleppt við teikningu á þessari hreyfimynd. STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Færðu hreyfimyndina, breytir X og Y hliðrun -STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X hliðrun: {NUM}, Y hliðrun: {NUM} STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Veldu hreyfimynd STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Veldu hreyfimynd hvaðan sem er af skjánum @@ -2895,7 +2874,7 @@ STR_GOAL_QUESTION_CAPTION_INFORMATION :Upplýsingar STR_GOAL_QUESTION_CAPTION_WARNING :Varúð STR_GOAL_QUESTION_CAPTION_ERROR :Villa -### Start of Goal Question button list +############ Start of Goal Question button list STR_GOAL_QUESTION_BUTTON_CANCEL :Hætta við STR_GOAL_QUESTION_BUTTON_OK :Í lagi STR_GOAL_QUESTION_BUTTON_NO :Nei @@ -2914,6 +2893,7 @@ STR_GOAL_QUESTION_BUTTON_RESTART :Byrja aftur STR_GOAL_QUESTION_BUTTON_POSTPONE :Fresta STR_GOAL_QUESTION_BUTTON_SURRENDER :Gefast upp STR_GOAL_QUESTION_BUTTON_CLOSE :Loka +############ End of Goal Question button list # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}Samstarfssamningar @@ -2939,7 +2919,6 @@ STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}Enginn f # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} -STR_STATION_VIEW_WAITING_TITLE :{BLACK}Bíður: {WHITE}{STRING} STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} frá {STATION}) STR_STATION_VIEW_RESERVED :{YELLOW}({CARGO_SHORT} frátekin fyrir hleðslu) @@ -3167,6 +3146,7 @@ STR_GROUP_DELETE_TOOLTIP :{BLACK}Eyða v STR_GROUP_RENAME_TOOLTIP :{BLACK}Endurnefna valinn hóp STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Smelltu til að halda þessum hóp frá sjálfvirkri uppfærslu + STR_GROUP_ADD_SHARED_VEHICLE :Bæta við deildu farartæki STR_GROUP_REMOVE_ALL_VEHICLES :Fjarlægja öll farartæki @@ -3229,6 +3209,9 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Endurnef STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Endurnefna skipategund STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Endurnefna tegund flugvélar + + + STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}Endurskíra lestargerð STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}Endurnefna tegund bifreiðar STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}Endurnefna skipategund @@ -3333,6 +3316,7 @@ STR_REPLACE_VEHICLE_ROAD_VEHICLE :Bifreið STR_REPLACE_VEHICLE_SHIP :Skip STR_REPLACE_VEHICLE_AIRCRAFT :Flugvél + STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Veldu vagntegund til að skipta út STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Velja vagntegund sem þú myndir vilja nota í staðin fyrir vagntegundina sem valinn er vinstra megin @@ -3975,6 +3959,7 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... skó STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... er aðeins hægt að byggja fyrir ofan snælínu STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... er aðeins hægt að byggja fyrir neðan snælínu + # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Get ekki byggt lestarstöð hér... STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}Get ekki byggt strætóstoppistöð... @@ -4706,8 +4691,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -4718,9 +4701,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/indonesian.txt b/src/lang/indonesian.txt index baa452f08b..6a1a669d81 100644 --- a/src/lang/indonesian.txt +++ b/src/lang/indonesian.txt @@ -95,30 +95,30 @@ STR_CARGO_SINGULAR_FIZZY_DRINK :Minuman Berdesi # Quantity of cargo STR_QUANTITY_NOTHING : -STR_QUANTITY_PASSENGERS :{COMMA} penumpang +STR_QUANTITY_PASSENGERS :{COMMA}{NBSP}penumpang STR_QUANTITY_COAL :{WEIGHT_LONG} batubara -STR_QUANTITY_MAIL :{COMMA} kantong surat +STR_QUANTITY_MAIL :{COMMA}{NBSP}kantong surat STR_QUANTITY_OIL :{VOLUME_LONG} minyak -STR_QUANTITY_LIVESTOCK :{COMMA} ekor ternak -STR_QUANTITY_GOODS :{COMMA} peti barang jadi +STR_QUANTITY_LIVESTOCK :{COMMA}{NBSP}ekor ternak +STR_QUANTITY_GOODS :{COMMA}{NBSP}peti barang jadi STR_QUANTITY_GRAIN :{WEIGHT_LONG} gandum STR_QUANTITY_WOOD :{WEIGHT_LONG} kayu STR_QUANTITY_IRON_ORE :{WEIGHT_LONG} bijih besi STR_QUANTITY_STEEL :{WEIGHT_LONG} baja -STR_QUANTITY_VALUABLES :{COMMA} kantong barang berharga +STR_QUANTITY_VALUABLES :{COMMA}{NBSP}kantong barang berharga STR_QUANTITY_COPPER_ORE :{WEIGHT_LONG} bijih tembaga STR_QUANTITY_MAIZE :{WEIGHT_LONG} jagung STR_QUANTITY_FRUIT :{WEIGHT_LONG} buah-buahan -STR_QUANTITY_DIAMONDS :{COMMA} kantong intan +STR_QUANTITY_DIAMONDS :{COMMA}{NBSP}kantong intan STR_QUANTITY_FOOD :{WEIGHT_LONG} makanan STR_QUANTITY_PAPER :{WEIGHT_LONG} kertas -STR_QUANTITY_GOLD :{COMMA} kantong emas +STR_QUANTITY_GOLD :{COMMA}{NBSP}kantong emas STR_QUANTITY_WATER :{VOLUME_LONG} air STR_QUANTITY_WHEAT :{WEIGHT_LONG} gandum STR_QUANTITY_RUBBER :{VOLUME_LONG} karet STR_QUANTITY_SUGAR :{WEIGHT_LONG} gula -STR_QUANTITY_TOYS :{COMMA} mainan -STR_QUANTITY_SWEETS :{COMMA} kantong manisan +STR_QUANTITY_TOYS :{COMMA}{NBSP}mainan +STR_QUANTITY_SWEETS :{COMMA}{NBSP}kantong manisan STR_QUANTITY_COLA :{VOLUME_LONG} kola STR_QUANTITY_CANDYFLOSS :{WEIGHT_LONG} arum manis STR_QUANTITY_BUBBLES :{COMMA} gelembung @@ -165,12 +165,12 @@ STR_ABBREV_NONE :{TINY_FONT}TANP STR_ABBREV_ALL :{TINY_FONT}SMA # 'Mode' of transport for cargoes -STR_PASSENGERS :{COMMA} penumpang -STR_BAGS :{COMMA} kantong -STR_TONS :{COMMA} ton -STR_LITERS :{COMMA} liter -STR_ITEMS :{COMMA} unit -STR_CRATES :{COMMA} peti +STR_PASSENGERS :{COMMA}{NBSP}penumpang +STR_BAGS :{COMMA}{NBSP}kantong +STR_TONS :{COMMA}{NBSP}ton +STR_LITERS :{COMMA}{NBSP}liter +STR_ITEMS :{COMMA}{NBSP}unit +STR_CRATES :{COMMA}{NBSP}peti # Colours, do not shuffle STR_COLOUR_DARK_BLUE :Biru tua @@ -191,12 +191,12 @@ STR_COLOUR_GREY :Abu-abu STR_COLOUR_WHITE :Putih # Units used in OpenTTD -STR_UNITS_VELOCITY_IMPERIAL :{COMMA} mil/j -STR_UNITS_VELOCITY_METRIC :{COMMA} km/jam -STR_UNITS_VELOCITY_SI :{COMMA} meter/detik +STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}mil/j +STR_UNITS_VELOCITY_METRIC :{COMMA}{NBSP}km/jam +STR_UNITS_VELOCITY_SI :{COMMA}{NBSP}meter/detik -STR_UNITS_POWER_IMPERIAL :{COMMA}dk -STR_UNITS_POWER_METRIC :{COMMA}dk +STR_UNITS_POWER_IMPERIAL :{COMMA}{NBSP}dk +STR_UNITS_POWER_METRIC :{COMMA}{NBSP}dk STR_UNITS_POWER_SI :{COMMA}kW STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}t @@ -248,6 +248,17 @@ STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Batang G STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Batang Geser - Geser daftar ke kiri/kanan STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Runtuhkan bangunan, dll dalam area kotak. Ctrl untuk memilih secara diagonal. Shift untuk menampilkan perkiraan biaya +# Show engines button +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}Tampilkan yang tersembunyi +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK}Tampilkan yang tersembunyi +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}Tampilkan yang tersembunyi +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}Tampilkan yang tersembunyi + +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}Mengaktifkan tombol ini akan menampilkan juga kereta yang tersembunyi +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE_TOOLTIP :{BLACK}Mengaktifkan tombol ini akan menampilkan juga kendaraan yang tersembunyi +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}Mengaktifkan tombol ini akan menampilkan juga kapal yang tersembunyi +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Mengaktifkan tombol ini akan menampilkan juga pesawat yang tersembunyi + # Query window STR_BUTTON_DEFAULT :{BLACK}Standar STR_BUTTON_CANCEL :{BLACK}Batal @@ -361,7 +372,7 @@ STR_SCENEDIT_FILE_MENU_QUIT :Keluar ############ range for settings menu starts STR_SETTINGS_MENU_GAME_OPTIONS :Pengaturan permainan -STR_SETTINGS_MENU_CONFIG_SETTINGS :Pengaturan lanjutan +STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Pengaturan STR_SETTINGS_MENU_SCRIPT_SETTINGS :Pengaturan AI / Skrip Permainan STR_SETTINGS_MENU_NEWGRF_SETTINGS :Pengaturan NewGRF STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Pengaturan Transparansi @@ -470,7 +481,7 @@ STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Hidup/Matikan k STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Menampilkan pewarnaan dari area kotor ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window STR_ORDINAL_NUMBER_1ST :1 STR_ORDINAL_NUMBER_2ND :2 STR_ORDINAL_NUMBER_3RD :3 @@ -486,22 +497,40 @@ STR_ORDINAL_NUMBER_12TH :12 STR_ORDINAL_NUMBER_13TH :13 STR_ORDINAL_NUMBER_14TH :14 STR_ORDINAL_NUMBER_15TH :15 -STR_ORDINAL_NUMBER_16TH :16 -STR_ORDINAL_NUMBER_17TH :17 -STR_ORDINAL_NUMBER_18TH :18 -STR_ORDINAL_NUMBER_19TH :19 -STR_ORDINAL_NUMBER_20TH :20 -STR_ORDINAL_NUMBER_21ST :21 -STR_ORDINAL_NUMBER_22ND :22 -STR_ORDINAL_NUMBER_23RD :23 -STR_ORDINAL_NUMBER_24TH :24 -STR_ORDINAL_NUMBER_25TH :25 -STR_ORDINAL_NUMBER_26TH :26 -STR_ORDINAL_NUMBER_27TH :27 -STR_ORDINAL_NUMBER_28TH :28 -STR_ORDINAL_NUMBER_29TH :29 -STR_ORDINAL_NUMBER_30TH :30 -STR_ORDINAL_NUMBER_31ST :31 +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :1 +STR_DAY_NUMBER_2ND :2 +STR_DAY_NUMBER_3RD :3 +STR_DAY_NUMBER_4TH :4 +STR_DAY_NUMBER_5TH :5 +STR_DAY_NUMBER_6TH :6 +STR_DAY_NUMBER_7TH :7 +STR_DAY_NUMBER_8TH :8 +STR_DAY_NUMBER_9TH :9 +STR_DAY_NUMBER_10TH :10 +STR_DAY_NUMBER_11TH :11 +STR_DAY_NUMBER_12TH :12 +STR_DAY_NUMBER_13TH :13 +STR_DAY_NUMBER_14TH :14 +STR_DAY_NUMBER_15TH :15 +STR_DAY_NUMBER_16TH :16 +STR_DAY_NUMBER_17TH :17 +STR_DAY_NUMBER_18TH :18 +STR_DAY_NUMBER_19TH :19 +STR_DAY_NUMBER_20TH :20 +STR_DAY_NUMBER_21ST :21 +STR_DAY_NUMBER_22ND :22 +STR_DAY_NUMBER_23RD :23 +STR_DAY_NUMBER_24TH :24 +STR_DAY_NUMBER_25TH :25 +STR_DAY_NUMBER_26TH :26 +STR_DAY_NUMBER_27TH :27 +STR_DAY_NUMBER_28TH :28 +STR_DAY_NUMBER_29TH :29 +STR_DAY_NUMBER_30TH :30 +STR_DAY_NUMBER_31ST :31 ############ range for days ends ############ range for months starts @@ -810,13 +839,12 @@ STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}{VEHICLE STR_NEWS_SHIP_IS_WAITING :{WHITE}{VEHICLE} sedang menunggu di galangan STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE} sedang menunggu di hangar -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE +# Order review system / warnings STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}Daftar perintah {VEHICLE} terlalu sedikit STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE} memiliki perintah yang terabaikan STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE} memiliki perintah ganda STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE} memiliki perintah menuju stasiun yg salah -# end of order system +STR_NEWS_PLANE_USES_TOO_SHORT_RUNWAY :{WHITE}{VEHICLE} memiliki dalam perintahnya sebuah bandara berlandasan yang terlalu pendek STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} mulai menua STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} sudah sangat tua @@ -899,10 +927,6 @@ STR_GAME_OPTIONS_CURRENCY_GEL :Lari Georgia (G STR_GAME_OPTIONS_CURRENCY_IRR :Rial Iran (IRR) ############ end of currency region - -############ start of measuring units region -############ end of measuring units region - STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Kendaraan jalan raya STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}Pilih lajur yang dilalui bus/truk STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :Berkendara di lajur kiri @@ -938,11 +962,13 @@ STR_GAME_OPTIONS_TOWN_NAME_CATALAN :Catalan STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Simpan Otomatis STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Pilih selang waktu permainan otomatis disimpan +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Mati STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :Setiap bulan STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :Setiap 3 bulan STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :Setiap 6 bulan STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :Setiap 12 bulan +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}Bahasa STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Pilih antar muka bahasa yang akan dipergunakan @@ -954,8 +980,12 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}Resolusi STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Pilih resolusi layar yang diinginkan STR_GAME_OPTIONS_RESOLUTION_OTHER :lainnya -STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}Format tangkapan layar -STR_GAME_OPTIONS_SCREENSHOT_FORMAT_TOOLTIP :{BLACK}Pilih format hasil tangkapan layar +STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Ukuran antarmuka +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Pilih ukuran elemen antarmuka yang akan digunakan + +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normal +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Kali dua +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Kali empat STR_GAME_OPTIONS_BASE_GRF :{BLACK}Set Grafik Dasar STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Pilih grafik dasar yang digunakan @@ -971,6 +1001,7 @@ STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Pilih mu STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} berkas rusak STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Informasi tambahan tentang musik dasar +STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Tidak bisa mendapatkan daftar resolusi layak STR_ERROR_FULLSCREEN_FAILED :{WHITE}Modus layar penuh gagal # Custom currency window @@ -1049,6 +1080,7 @@ STR_TERRAIN_TYPE_VERY_FLAT :Sangat Datar STR_TERRAIN_TYPE_FLAT :Datar STR_TERRAIN_TYPE_HILLY :Berbukit STR_TERRAIN_TYPE_MOUNTAINOUS :Pegunungan +STR_TERRAIN_TYPE_ALPINIST :Pemanjat Gunung STR_CITY_APPROVAL_PERMISSIVE :Selalu boleh STR_CITY_APPROVAL_TOLERANT :Toleran @@ -1056,8 +1088,8 @@ STR_CITY_APPROVAL_HOSTILE :Bermusuhan STR_WARNING_NO_SUITABLE_AI :{WHITE}Tidak terdapat pemain AI ...{}anda dapat mengunduh beberapa macam AI lewat "Cari Konten" -# Advanced settings window -STR_CONFIG_SETTING_CAPTION :{WHITE}Pengaturan lanjutan +# Settings tree window +STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Pengaturan STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Penyaring kata: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Perluas semua STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Persempit semua @@ -1073,9 +1105,9 @@ STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :Setting perusah STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK}Kategori: STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}Jenis: STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Batasi daftar dibawah ini menggunakan filter yang telah ditetapkan -STR_CONFIG_SETTING_RESTRICT_BASIC :Pengaturan dasar -STR_CONFIG_SETTING_RESTRICT_ADVANCED :Pengaturan lanjut -STR_CONFIG_SETTING_RESTRICT_ALL :Pengaturan mahir / semua aturan +STR_CONFIG_SETTING_RESTRICT_BASIC :Pengaturan dasar (hanya pengaturan yang penting) +STR_CONFIG_SETTING_RESTRICT_ADVANCED :Pengaturan lanjut (lebih banyak pengaturan) +STR_CONFIG_SETTING_RESTRICT_ALL :Pengaturan mahir (tampilkan semua, termasuk yang tak biasa) STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :Pengaturan dengan nilai berbeda dari nilai asli STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :Pengaturan dengan nilai berbeda dari pengaturan permainan baru @@ -1087,9 +1119,9 @@ STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :Pengaturan perm STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :Pengaturan perusahaan (ikut tersimpan; hanya memiliki efek pada permainan baru) STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :Pengaturan perusahaan (ikut tersimpan; hanya memiliki efek pada perusahaan aktif) STR_CONFIG_SETTING_CATEGORY_HIDES :{BLACK}Tampilkan semua pencarian berdasarkan pengaturan{}{SILVER}Kategori {BLACK}sampai {WHITE}{STRING} -STR_CONFIG_SETTING_TYPE_HIDES :{BLACK} Tampilkan semua hasil pencarian dengan pengaturan {} {SILVER} Jenis {BLACK} ke {WHITE} Semua jenis pengaturan +STR_CONFIG_SETTING_TYPE_HIDES :{BLACK}Tampilkan semua hasil pencarian dengan pengaturan{}{SILVER}Jenis {BLACK}ke {WHITE} Semua jenis pengaturan STR_CONFIG_SETTING_CATEGORY_AND_TYPE_HIDES :{BLACK}Tampilkan semua hasil pencarian berdasarkan pengaturan{}{SILVER}Kategori {BLACK}sampai {WHITE}{STRING} {BLACK}dan {SILVER}Jenis {BLACK}sampai {WHITE}Semua jenis pengaturan -STR_CONFIG_SETTINGS_NONE :{WHITE}- Tidak ada- +STR_CONFIG_SETTINGS_NONE :{WHITE}- Tidak ada - STR_CONFIG_SETTING_OFF :Tidak STR_CONFIG_SETTING_ON :Ya @@ -1130,8 +1162,9 @@ STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Mengaktifkan be STR_CONFIG_SETTING_CITY_APPROVAL :Sikap pemerintah kota terhadap restrukturasi area: {STRING} STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Pilih seberapa banyak dampak kebisingan dan lingkungan oleh perusahaan terhadap peringkat kota karena pembangunan di daerah -STR_CONFIG_SETTING_BUILDONSLOPES :Ijinkan pembangunan di lereng dan pantai: {STRING} -STR_CONFIG_SETTING_BUILDONSLOPES_HELPTEXT :Jika diaktifkan, rel dan stasiun bisa dibangun diatas kebanyakan slop. Jika dimatikan, hanya bisa dibangun di slop yang mengikuti arah rel +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :Tinggi peta maksimum: {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :Atur ketinggian pegunungan maksimum yang diijinkan untuk peta ini +STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}Kamu tidak bisa mengubah ketinggian peta maksimum di angka itu. Setidaknya ada satu gunung di peta yang lebih tinggi STR_CONFIG_SETTING_AUTOSLOPE :Ijinkan pembentukan slop dibawah bangunan, rel, dsb. (otomatiskan): {STRING} STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Ijinkan pembentukan tanah dibawah bangunan dan trek tanpa merusaknya STR_CONFIG_SETTING_CATCHMENT :Ijinkan ukuran jangkauan wilayah lebih realistik: {STRING} @@ -1156,16 +1189,12 @@ STR_CONFIG_SETTING_FORBID_90_DEG :Kereta dan kapa STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Belokan 90 derajat terjadi ketika rel horizontal diikuti langsung oleh rel vertikal di ubin berikutnya, jadi membuatnya berputar balik di ujung ubin daripada memutar 45 derajat di kombinasi rel lain. Ini juga berlaku pada radius belokan kapal. STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Ijinkan menggabung stasiun meski tidak menempel: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Ijinkan penambahan bagian dari stasiun tanpa menyentuh bagian yang sudah ada. Perlu Ctrl+Klik ketika menambahkan bagian baru. -STR_CONFIG_SETTING_IMPROVEDLOAD :Gunakan algoritma pengangkutan terbaru : {STRING} -STR_CONFIG_SETTING_IMPROVEDLOAD_HELPTEXT :Jika diaktifkan, beberapa kendaraan di stasiun dimuat secara berurutan. Pemuatan kendaraan berikutnya hanya dimulai ketika ada kargo cukup menunggu untuk benar-benar mengisi kendaraan pertama -STR_CONFIG_SETTING_GRADUAL_LOADING :Angkut secara bertahap: {STRING} -STR_CONFIG_SETTING_GRADUAL_LOADING_HELPTEXT :Muat kendaraan secara bertahap menggunakan jangka waktu spesifik kendaraan, bukan memuat dengan jangka waktu tetap berdasarkan jumlah kargo STR_CONFIG_SETTING_INFLATION :Inflasi: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :Perbolehkan inflasi dalam ekonomi, dimana biaya naik sedikit lebih cepat daripada pembayaran -STR_CONFIG_SETTING_SELECTGOODS :Menerima kargo di suatu stasiun hanya jika dibutuhkan: {STRING} -STR_CONFIG_SETTING_SELECTGOODS_HELPTEXT :Hanya kirimkan kargo ke stasiun yang membutuhkan dari kendaraan. Ini mencegah peringkat jelek dari kargo yang tidak diterima di stasiun STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Panjang maksimum jembatan: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Panjang maksimum untuk membuat jembatan +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :Maksimum tinggi jembatan: {STRING} +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :Tinggi maksimum untuk pembangunan jembatan STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Panjang maksimum terowongan: {STRING} STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :Panjang maksimum untuk membangun terowongan STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Metode pembangunan Industri primer : {STRING} @@ -1180,7 +1209,7 @@ STR_CONFIG_SETTING_MULTIPINDTOWN_HELPTEXT :Normalnya, sebu STR_CONFIG_SETTING_SIGNALSIDE :Tunjukan sinyal: {STRING} STR_CONFIG_SETTING_SIGNALSIDE_HELPTEXT :Pilih sisi rel yang akan diletakkan sinyal STR_CONFIG_SETTING_SIGNALSIDE_LEFT :Di kiri -STR_CONFIG_SETTING_SIGNALSIDE_DRIVING_SIDE :Di sisi pengemudi +STR_CONFIG_SETTING_SIGNALSIDE_DRIVING_SIDE :Di sisi mengemudi STR_CONFIG_SETTING_SIGNALSIDE_RIGHT :Di kanan STR_CONFIG_SETTING_SHOWFINANCES :Tampilkan laporan keuangan pada akhir tahun: {STRING} STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT :Jika diaktifkan, jendela keuangan akan ditampilkan setiap akhir tahun untuk lebih mudah memeriksa keadaan keuangan @@ -1191,8 +1220,6 @@ STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Tempat kereta a STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :hampir selesai STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :tengah STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :jauh di belakang -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING :Kendaraan jalan raya mengantri (dengan efek kuantum): {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING_HELPTEXT :Buat kendaraan menunggu didepan pemberhentian yang penuh sampai kosong STR_CONFIG_SETTING_AUTOSCROLL :Geser tampilan saat mouse ada di tepi: {STRING} STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Ketika diaktifkan, viewport akan bergeser saat mouse berada pada tepi viewport STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Dimatikan @@ -1223,10 +1250,6 @@ STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Ijinkan termina STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Membolehkan konstruksi halte di jalan kota STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Ijinkan terminal drive-thru pada jalan milik pesaing: {STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Membolehkan konstruksi halte di jalan yang dimiliki perusahaan lain -STR_CONFIG_SETTING_ADJACENT_STATIONS :Ijinkan membangun stasiun berdampingan: {STRING} -STR_CONFIG_SETTING_ADJACENT_STATIONS_HELPTEXT :Membolehkan stasiun berbeda untuk berhubungan satu sama lain -STR_CONFIG_SETTING_DYNAMIC_ENGINES :Aktifkan beberapa pengaturan mesin NewGRF: {STRING} -STR_CONFIG_SETTING_DYNAMIC_ENGINES_HELPTEXT :Opsi kompatibilitas untuk berkas NewGRF tua. Jangan menonaktifkan ini, kecuali Anda tahu persis apa yang Anda lakukan! STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Tidak diijinkan mengubah setting ini karena kendaraan sudah ada STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Pemeliharaan Infrastruktur: {STRING} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Jika dinyalakan, infrastruktur membutuhkan biaya pemeliharaan. Biaya berkembang secara proporsional sesuai dengan ukuran jaringan, lebih berdampak pada perusahaan besar dari pada perusahaan kecil @@ -1265,27 +1288,41 @@ STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Tampilkan popul STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Ketebalan garis pada grafik: {STRING} STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Tebalnya garis pada grafis. Garis tipis akan mudah dibaca ,garis tipis juga lebih terlihat +STR_CONFIG_SETTING_LANDSCAPE :Bentang Darat: {STRING} +STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Bentang darat akan menegaskan skenario bermain dasar dengan muatan berbeda dan kebutuhan pertumbuhan kota. Data NewGRF dan Game Script lain membolehkan lebih banyak pengaturan. STR_CONFIG_SETTING_LAND_GENERATOR :Pembangkit dataran: {STRING} +STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :Pembuat yang orisinil tergantung pada kelompok grafik yang dasar, dan membuat bentang darat yang tertentu. TerraGenesis adalah pembuat yang berbasis Perlin Noise, dengan pengaturan kuasa yang lebih spesifik STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Asli STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis +STR_CONFIG_SETTING_TERRAIN_TYPE :Jenis medan: {STRING} +STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(hanya TerraGenesis) Kondisi pegunungan bentang darat +STR_CONFIG_SETTING_INDUSTRY_DENSITY :Kepadatan industri: {STRING} +STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Mengatur berapa banyak industri seharusnya diperbuat and tingkat yang harus dipertahankan selama permainan STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Jarak maksimal kilang minyak dari batas: {STRING} STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Kilang minyak hanya dibangun pada tepi peta atau pantai STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Tinggi garis salju: {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Kekasaran daratan(hanya TerraGenesis) : {STRING} +STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Mengatur ketinggian di mana salju akan muncul. Salju juga akan mempengaruhi pengembangan industri dan persyaratan untuk pertumbuhan kota +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Kekasaran daratan: {STRING} +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(hanya TerraGenesis) Memilih frekuensi bukit: Bentang darat rata punya bukit yang lebih sedikit dan lebih lebar. Bentang darat bergunung punya lebih banyak bukit, dan ini mungkin akan terlihat lebih membosankan STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Sangat halus STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Halus STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Kasar STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Sangat Kasar +STR_CONFIG_SETTING_VARIETY :Distribusi variasi: {STRING} +STR_CONFIG_SETTING_VARIETY_HELPTEXT :(hanya TerraGenesis) Menentukan apakah bentang darat berisi area bergunung dan rata. Karena ini hanya akan mengakibatkan bentang darat yang lebih rata, pengaturan yang lain seharusnya ditetap 'bergunung' +STR_CONFIG_SETTING_RIVER_AMOUNT :Jumlahnya sungai: {STRING} +STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Memilih berapa banyak sungai untuk membuat STR_CONFIG_SETTING_TREE_PLACER :Algoritma penempatan pepohonan: {STRING} +STR_CONFIG_SETTING_TREE_PLACER_HELPTEXT :Memilih distribusi pohon-pohon di bentang darat: 'Orisinil' menanam pohon-pohon tersebar rata-rata, 'Telah ditingkatkan' menanam pohon-pohon berkelompok-kelompok STR_CONFIG_SETTING_TREE_PLACER_NONE :Tidak ada STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :Orisinil STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :Telah ditingkatkan +STR_CONFIG_SETTING_ROAD_SIDE :Kendaraan jalan raya: {STRING} +STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :Memilih sisi mengemudi STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Perputaran peta Heightmap: {STRING} STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Melawan arah jam STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Searah jam STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :Tinggi dataran pada peta skenario datar : {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :Ijinkan pembentukan lansekap pada pinggir peta: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES_HELPTEXT :Jika dimatikan, batas peta selalu perairan STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}Kotak pada ujung utara tidak kosong STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}Kotak pada salah satu ujung peta bukanlah perairan @@ -1336,17 +1373,15 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Non-aktifkan STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Geser dgn klik-kiri: {STRING} STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :Aktifkan penggeseran peta dengan menyeret menggunakan tombol kiri mouse. Hal ini sangat berguna apabila menggunakan layar sentuh. +STR_CONFIG_SETTING_AUTOSAVE :Simpan otomatis: {STRING} +STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Memilih jarak waktu antara menyimpan data game + STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Gunakan format tanggal {STRING} untuk berkas simpanan STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Format tanggal di nama berkas permainan tersimpan STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :panjang (31st Dec 2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :pendek (31-12-2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE :Palette standard digunakan untuk NewGRFs yang tidak punya setting: {STRING} -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_HELPTEXT :Palet standar digunakan untuk NewGRF yang tidak menentukan yang mana itu perlu -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_DOS :Palet standar (D) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_WIN :Palet warisan (W) - STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Selalu hentikan sementara permainan saat memulai : {STRING} STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :Jika diaktifkan, permainan akan berhenti sejenak secara otomatis ketika permainan baru dimulai, memungkinkan untuk lebih mempelajari peta STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Saat berhenti, ijinkan: {STRING} @@ -1568,8 +1603,6 @@ STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 dalam {COMMA} STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Tidak ada STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Faktor kali ukuran kota awal: {STRING} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Ukuran rata-rata kota besar terhadap kota kecil saat permainan dimulai -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :Buang elemen jalan yang aneh saat membangun: {STRING} -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD_HELPTEXT :Menghilangkan ujung jalan buntu saat rekonstruksi jalan STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Perbarui grafik distribusi setiap {STRING} hari STR_CONFIG_SETTING_LINKGRAPH_INTERVAL_HELPTEXT :Waktu diantara dua penghitungan linkgraph berurutan. Setiap penghitungan hanya menghitung satu komponen perencanaan dari grafik. Namun, angka yang diberikan untuk seting ini bukan berarti seluruh grafik akan diperbaharui dalam angka hari yang sama, hanya beberapa bagian. Semakin sedikit semakin banyak proses CPU yang diperlukan untuk menghitung. Semakin banyak semakin lama waktu sebelum cargo distribution dimulai pada rute baru. @@ -1583,7 +1616,7 @@ STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"simetris" bera STR_CONFIG_SETTING_DISTRIBUTION_MAIL :Modus distribusi untuk surat: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"simetris" berarti kira-kira jumlah surat yang sama akan pergi dari stasiun A ke stasiun B sebagaimana dari B ke A. "asimetris" berarti jumlah surat yang pergi ke kedua arah bisa berbeda-beda. "manual" berarti bahwa tidak ada distribusi otomatis akan dilakukan untuk surat. STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Modus distribusi untuk kelas kargo BERLAPIS BAJA: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :Kelas kargo BERLAPIS BAJA mengandung barang berharga di iklim sedang, intan di sub tropis atau emas di iklim sub arktik. NewGRFs mungkin mengubah itu. "simetris" berarti bahwa kira-kira sama jumlah kargo itu akan pergi dari stasiun A ke stasiun B sebagai dari B ke A. "asimetris" berarti sewenang-wenang jumlah kargo itu bisa pergi di kedua arah. "manual" berarti bahwa tidak ada distribusi otomatis akan dilakukan untuk kargo itu. Disarankan untuk diaturkan ini ke asimetris atau manual ketika bermain sub arktik, sebagai bank tidak mengirim emas apapun kembali ke tambang emas. Untuk iklim sedang dan sub tropis anda juga bisah pilih simetris sebagian bank akan mengirim barang berharga kembali ke bank orisinil dari beberapa banyak barang berharga. +STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :Kelas kargo BERLAPIS BAJA meliputi barang berharga pada iklim sedang, intan pada sub tropis atau emas pada iklim sub arktik. NewGRF mungkin mengubah itu. "simetris" berarti bahwa jumlah kargo kira-kira akan terkirim sama dari stasiun A ke stasiun B sebagaimana dari B ke A. "asimetris" berarti jumlah kargo terkirim bisa berbeda pada kedua arah. "manual" berarti bahwa tidak ada distribusi otomatis akan dilakukan untuk kargo itu. Disarankan untuk memilih asimetris atau manual ketika bermain sub arktik, karena bank tidak mengirim emas kembali ke tambang emas. Untuk iklim tropis dan sub tropis anda juga bisah pilih simetris karena bank akan mengirim kembali beberapa barang berharga ke bank asalnya. STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Modus distribusi untuk kelas kargo yang lain: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"simetris" berarti bahwa kira-kira sama jumlah kargo akan pergi dari stasiun A ke stasiun B sebagai dari B ke A. "asimetris" berarti sewenang-wenang jumlah kargo bisa pergi di kedua arah. "manual" berarti bahwa tidak ada distribusi otomatis akan dilakukan untuk kargo. Anda mungkin mau mengaturkan ini untuk "asimetris" atau manual. STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Ketepatan distribusi: {STRING} @@ -1631,27 +1664,29 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :Imperial (ft) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :Metrik (m) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :SI (m) -STR_CONFIG_SETTING_GUI :{ORANGE}Antaramuka STR_CONFIG_SETTING_LOCALISATION :{ORANGE}Lokalisasi -STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}Konstruksi -STR_CONFIG_SETTING_VEHICLES :{ORANGE}Kendaraan -STR_CONFIG_SETTING_STATIONS :{ORANGE}Stasiun -STR_CONFIG_SETTING_ECONOMY :{ORANGE}Ekonomi -STR_CONFIG_SETTING_LINKGRAPH :{ORANGE}Distribusi Kargo -STR_CONFIG_SETTING_AI :{ORANGE}Pesaing -STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}Tampilkan Pilihan -STR_CONFIG_SETTING_INTERACTION :{ORANGE}Interaksi +STR_CONFIG_SETTING_GRAPHICS :{ORANGE}Grafik STR_CONFIG_SETTING_SOUND :{ORANGE}Efek suara -STR_CONFIG_SETTING_NEWS :{ORANGE}Berita dan pesan -STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}Sinyal -STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE}Penanganan Kargo -STR_CONFIG_SETTING_AI_NPC :{ORANGE}Pemain Komputer -STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE}Perbaruan Otomatis -STR_CONFIG_SETTING_VEHICLES_SERVICING :{ORANGE}Perbaikan +STR_CONFIG_SETTING_INTERFACE :{ORANGE}Antaramuka +STR_CONFIG_SETTING_INTERFACE_GENERAL :{ORANGE}Umum +STR_CONFIG_SETTING_INTERFACE_VIEWPORTS :{ORANGE}Jendela +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Konstruksi +STR_CONFIG_SETTING_ADVISORS :{ORANGE}Berita / Penasihat +STR_CONFIG_SETTING_COMPANY :{ORANGE}Perusahaan +STR_CONFIG_SETTING_ACCOUNTING :{ORANGE}Akuntansi +STR_CONFIG_SETTING_VEHICLES :{ORANGE}Kendaraan +STR_CONFIG_SETTING_VEHICLES_PHYSICS :{ORANGE}Fisika STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Pengarahan -STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}Kereta -STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}Kota -STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}Industri +STR_CONFIG_SETTING_LIMITATIONS :{ORANGE}Keterbatasan +STR_CONFIG_SETTING_ACCIDENTS :{ORANGE}Bencana / Kecelakaan +STR_CONFIG_SETTING_GENWORLD :{ORANGE}Pembuatan Bentang Darat +STR_CONFIG_SETTING_ENVIRONMENT :{ORANGE}Linkungan Dunia +STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :{ORANGE}Berwenang +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Kota +STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}Industri +STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :{ORANGE}Distribusi Kargo +STR_CONFIG_SETTING_AI :{ORANGE}Pesaing +STR_CONFIG_SETTING_AI_NPC :{ORANGE}Pemain Komputer STR_CONFIG_SETTING_PATHFINDER_OPF :Asli STR_CONFIG_SETTING_PATHFINDER_NPF :NPF @@ -1700,7 +1735,7 @@ STR_INTRO_MULTIPLAYER :{BLACK}Bermain STR_INTRO_GAME_OPTIONS :{BLACK}Pengaturan Permainan STR_INTRO_HIGHSCORE :{BLACK}Tabel nilai tertinggi -STR_INTRO_ADVANCED_SETTINGS :{BLACK}Pengaturan lanjutan +STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Pengaturan STR_INTRO_NEWGRF_SETTINGS :{BLACK}Pengaturan NewGRF STR_INTRO_ONLINE_CONTENT :{BLACK}Cari konten STR_INTRO_SCRIPT_SETTINGS :{BLACK}Pengaturan AI / Permainan @@ -1720,7 +1755,7 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Pilih ga STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Tampilkan opsi permainan STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Tampilkan tabel nilai tertinggi -STR_INTRO_TOOLTIP_ADVANCED_SETTINGS :{BLACK}Tampilkan Pengaturan lanjutan +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Tampilkan pengaturan STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Tampilkan setelan NewGRF STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Cari konten baru dan pembaruan untuk diunduh STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Tampilkan pengaturan permainan dan AI @@ -1760,6 +1795,8 @@ STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Bermain STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Buldozer ajaib (hancurkan industri, objek tidak bergerak): {ORANGE}{STRING} STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}Terowongan boleh menerobos terowongan lain: {ORANGE}{STRING} STR_CHEAT_NO_JETCRASH :{LTBLUE}Pesawat tak akan (sering) celaka di bandara kecil: {ORANGE} {STRING} +STR_CHEAT_EDIT_MAX_HL :{LTBLUE}Ubah ketinggian peta maksimum: {ORANGE}{NUM} +STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Ubah ketinggian maksimum gunung di peta STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE :Lanskap 'Sedang' STR_CHEAT_SWITCH_CLIMATE_SUB_ARCTIC_LANDSCAPE :Lansekap 'Sub Arktik' STR_CHEAT_SWITCH_CLIMATE_SUB_TROPICAL_LANDSCAPE :Lansekap 'Sub Tropis' @@ -1808,6 +1845,7 @@ STR_LIVERY_FREIGHT_TRAM :Trem Barang STR_FACE_CAPTION :{WHITE}Pilihan Wajah STR_FACE_CANCEL_TOOLTIP :{BLACK}Batalkan pemilihan wajah baru STR_FACE_OK_TOOLTIP :{BLACK}Terima pilihan wajah baru +STR_FACE_RANDOM :{BLACK}Acak angka STR_FACE_MALE_BUTTON :{BLACK}Pria STR_FACE_MALE_TOOLTIP :{BLACK}Pilih wajah pria @@ -2277,7 +2315,7 @@ STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Bangun r STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Bangun depo (untuk pembelian dan perbaikan kereta). Shift untuk menampilkan perkiraan biaya STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Ubah rel menjadi waypoint. Ctrl untuk mengaktifkan penggabungan waypoint. Shift untuk menampilkan perkiraan biaya STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Bangun stasiun kereta. Ctrl untuk mengaktifkan penggabungan stasiun. Shift untuk menampilkan perkiraan biaya -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Membangun sinyal kereta. Ctrl - berganti sinyal bendera-lampu. Drag - membuat sinyal sepanjang rel. Shift untuk menampilkan perkiraan biaya +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Membuat sinyal kereta. Ctrl - berganti sinyal bendera/lampu{}Drag - membuat sinyal sesuai arah sepanjang rel. Ctrl - membuat sinyal sampai persimpangan/sinyal berikutnya{}Ctrl+Klik - mengubah pemilihan sinyal di jendela. Shift - untuk menampilkan perkiraan biaya STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Membangun Jembatan kereta. Shift untuk menampilkan perkiraan biaya STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Membangun terowongan kereta. Shift untuk menampilkan perkiraan biaya STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Membangun/bongkar rel kereta, sinyal, waypoint, dan stasiun. Tekan Ctrl juga dapat membongkar rel pada waypoint dan stasiun @@ -2649,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-2014 Tim OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 Tim OpenTTD # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Simpan Permainan @@ -2677,20 +2715,19 @@ STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}NewGRF: STR_SAVELOAD_OSKTITLE :{BLACK}Masukkan nama dari permainan tersimpan # World generation -STR_MAPGEN_WORLD_GENERATION_CAPTION :{WHITE}Pembuatan peta +STR_MAPGEN_WORLD_GENERATION_CAPTION :{WHITE}Pembuatan Bentang Darat STR_MAPGEN_MAPSIZE :{BLACK}Ukuran Peta: STR_MAPGEN_MAPSIZE_TOOLTIP :{BLACK}Pilih ukuran peta dalam petak. Jumlah dari petak yang tersedia akan sedikit lebih kecil STR_MAPGEN_BY :{BLACK}* STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Jumlah Kota: STR_MAPGEN_DATE :{BLACK}Tgl: STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Jumlah industri: +STR_MAPGEN_MAX_HEIGHTLEVEL :{BLACK}Ketinggian peta maksimum: +STR_MAPGEN_MAX_HEIGHTLEVEL_UP :{BLACK}Naikkan satu ketinggian maksimum gunung di peta +STR_MAPGEN_MAX_HEIGHTLEVEL_DOWN :{BLACK}Turunkan satu ketinggian maksimum gunung di peta STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}Tinggi garis salju: STR_MAPGEN_SNOW_LINE_UP :{BLACK}Naikkan ketinggian garis salju satu angka STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}Turunkan ketinggian garis salju satu angka -STR_MAPGEN_RANDOM_SEED :{BLACK}Angka masukkan: -STR_MAPGEN_RANDOM_SEED_HELP :{BLACK}Klik untuk mengisi umpan angka acak -STR_MAPGEN_RANDOM :{BLACK}Acak angka -STR_MAPGEN_RANDOM_HELP :{BLACK}Ganti angka umpan pengacakan untuk menghasilkan pulau STR_MAPGEN_LAND_GENERATOR :{BLACK}Algoritma pulau: STR_MAPGEN_TREE_PLACER :{BLACK}Algoritma pohon: STR_MAPGEN_TERRAIN_TYPE :{BLACK}Jenis dataran: @@ -2717,7 +2754,7 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Nama Pet STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Luas: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} -STR_MAPGEN_RANDOM_SEED_OSKTITLE :{BLACK}Masukkan angka umpan pengacakan +STR_MAPGEN_MAX_HEIGHTLEVEL_QUERY_CAPT :{WHITE}Ubah ketinggian peta maksimal STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}Ubah ketinggian garis salju STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Ganti Tahun Permulaan @@ -2735,11 +2772,11 @@ STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_QUERY_CAPT :{WHITE}Ubah ket # Map generation progress STR_GENERATION_WORLD :{WHITE}Membuat Peta ... STR_GENERATION_ABORT :{BLACK}Batalkan -STR_GENERATION_ABORT_CAPTION :{WHITE}Membatalkan Pembuatan Peta +STR_GENERATION_ABORT_CAPTION :{WHITE}Membatalkan Pembuatan Bentang Darat STR_GENERATION_ABORT_MESSAGE :{YELLOW}Apakah anda ingin membatalkan pembuatan? STR_GENERATION_PROGRESS :{WHITE}{NUM}% selesai STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} -STR_GENERATION_WORLD_GENERATION :{BLACK}Membuat dunia +STR_GENERATION_WORLD_GENERATION :{BLACK}Pembuatan Bentang Darat STR_GENERATION_RIVER_GENERATION :{BLACK}Pembuatan Sungai STR_GENERATION_TREE_GENERATION :{BLACK}Membuat pepohonan STR_GENERATION_OBJECT_GENERATION :{BLACK}Membuat objek tak bergerak @@ -2772,6 +2809,8 @@ STR_NEWGRF_SETTINGS_MOVEUP :{BLACK}Keatas STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP :{BLACK}Pindahkan berkas NewGRF yang terpilih kebagian atas daftar STR_NEWGRF_SETTINGS_MOVEDOWN :{BLACK}Kebawah STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP :{BLACK}Pindahkan berkas NewGRF yang terpilih kebagian bawah daftar +STR_NEWGRF_SETTINGS_UPGRADE :{BLACK}Memperbarukan +STR_NEWGRF_SETTINGS_UPGRADE_TOOLTIP :{BLACK}Menatar data NewGRF bagi data yang sudah diperbarui STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}Daftar file NewGRF yang terinstal STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}Atur parameter @@ -2796,6 +2835,16 @@ STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Berkas yan STR_NEWGRF_SETTINGS_DISABLED :{RED}Non-aktifkan STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Tidak kompatibel dengan versi OpenTTD ini +# NewGRF save preset window +STR_SAVE_PRESET_CAPTION :{WHITE}Menyimpan pengaturan +STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK}Daftar pengaturan yang tersedia, memilih salah satu untuk menyalin kepada nama penyimpanan di bawah +STR_SAVE_PRESET_TITLE :{BLACK}Memasukkan nama untuk pengaturan +STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}Nama yang sedang dipilih bagi penyimpanan pengaturan +STR_SAVE_PRESET_CANCEL :{BLACK}Batal +STR_SAVE_PRESET_CANCEL_TOOLTIP :{BLACK}Jangan mengubah pengaturan awal +STR_SAVE_PRESET_SAVE :{BLACK}Menyimpan +STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}Menyimpan presetnya pada nama yang sedang dipilih + # NewGRF parameters window STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Ubah parameter NewGRF STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Tutup @@ -2826,7 +2875,6 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Sprite s STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Lanjutkan ke sprite normal sebelumnya, lewati sembarang sprite bayangan/warna ulang/huruf dan pembungkus saat mulai STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Mewakili sprite yang sedang dipilih. Penjajaran diabaikan ketika sprite ini digambar STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Pindahkan sprite, mengubah offset X dan Y -STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X offset: {NUM}, Y offset: {NUM} STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Pilih sprite STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Pilih sebuah sprite di manapun pada layar @@ -2999,7 +3047,7 @@ STR_GOAL_QUESTION_CAPTION_INFORMATION :Informasi STR_GOAL_QUESTION_CAPTION_WARNING :Peringatan STR_GOAL_QUESTION_CAPTION_ERROR :Kesalahan -### Start of Goal Question button list +############ Start of Goal Question button list STR_GOAL_QUESTION_BUTTON_CANCEL :Batal STR_GOAL_QUESTION_BUTTON_OK :Oke STR_GOAL_QUESTION_BUTTON_NO :Tidak @@ -3018,6 +3066,7 @@ STR_GOAL_QUESTION_BUTTON_RESTART :Restart STR_GOAL_QUESTION_BUTTON_POSTPONE :Tunda STR_GOAL_QUESTION_BUTTON_SURRENDER :Menyerah STR_GOAL_QUESTION_BUTTON_CLOSE :Tutup +############ End of Goal Question button list # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}Subsidi @@ -3053,7 +3102,6 @@ STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}Tidak ad # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} -STR_STATION_VIEW_WAITING_TITLE :{BLACK}Menunggu: {WHITE}{STRING} STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} dari {STATION}) STR_STATION_VIEW_RESERVED :{YELLOW}({CARGO_SHORT} direservasi untuk memuat) @@ -3368,6 +3416,21 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Ganti na STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Ubah nama jenis kapal STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Ubah nama jenis pesawat +STR_BUY_VEHICLE_TRAIN_HIDE_TOGGLE_BUTTON :{BLACK}Sembunyikan +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_TOGGLE_BUTTON :{BLACK}Sembunyikan +STR_BUY_VEHICLE_SHIP_HIDE_TOGGLE_BUTTON :{BLACK}Sembunyikan +STR_BUY_VEHICLE_AIRCRAFT_HIDE_TOGGLE_BUTTON :{BLACK}Sembunyikan + +STR_BUY_VEHICLE_TRAIN_SHOW_TOGGLE_BUTTON :{BLACK}Tampilkan +STR_BUY_VEHICLE_ROAD_VEHICLE_SHOW_TOGGLE_BUTTON :{BLACK}Tampilkan +STR_BUY_VEHICLE_SHIP_SHOW_TOGGLE_BUTTON :{BLACK}Tampilkan +STR_BUY_VEHICLE_AIRCRAFT_SHOW_TOGGLE_BUTTON :{BLACK}Tampilkan + +STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Menampilkan/Sembunyikan jenis kendaraan kereta +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Menampilkan/Sembunyikan jenis kendaraan bus/truk +STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Menampilkan/Sembunyikan jenis kendaraan kapal +STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Menampilkan/Sembunyikan jenis kendaraan pesawat + STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}Ubah nama jenis kereta STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}Ganti nama jenis kendaraan STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}Ubah nama jenis kapal @@ -3421,7 +3484,7 @@ STR_DEPOT_CLONE_ROAD_VEHICLE :{BLACK}Gandakan STR_DEPOT_CLONE_SHIP :{BLACK}Gandakan STR_DEPOT_CLONE_AIRCRAFT :{BLACK}Gandakan -STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Ini akan membeli satu unit kereta yang sama termasuk gerbongnya. Klik tombol ini lalu klik kereta yang ingin digandakan baik didalam maupun diluar depo. Ctrl+Click untuk berbagi perintah. Shift untuk menampilkan perkiraan biaya +STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Ini akan menggandakan kereta yang sama termasuk gerbongnya. Klik tombol ini lalu klik kereta yang ingin digandakan baik didalam maupun diluar depo. Ctrl+Klik untuk berbagi perintah. Shift+Klik untuk menampilkan perkiraan biaya tanpa membelinya STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Ini akan membeli satu unit kendaraan yang sama. Klik tombol ini lalu klik kendaraan yang ingin digandakan, baik didalam maupun diluar bengkel.Ctrl+Click untuk berbagi perintah. Shift untuk menampilkan perkiraan biaya tanpa membeli STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Ini akan membeli satu unit kapal yang sama . Klik tombol ini dan kemudian pada satu kapal di dalam atau diluar galangan. Ctrl+Click untuk berbagi perintah. Shift untuk menampilkan perkiraan biaya STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Ini akan membeli satu unit pesawat yang sama. Klik tombol ini dan kemudian pada satu pesawat didalam atau diluar hangar. Ctrl+Click untuk berbagi perintah. Shift untuk menampilkan perkiraan biaya @@ -3472,6 +3535,11 @@ STR_REPLACE_VEHICLE_ROAD_VEHICLE :Kendaraan Jalan STR_REPLACE_VEHICLE_SHIP :Kapal STR_REPLACE_VEHICLE_AIRCRAFT :Pesawat +STR_REPLACE_VEHICLE_VEHICLES_IN_USE :{YELLOW}Kendaraan sedang digunakan +STR_REPLACE_VEHICLE_VEHICLES_IN_USE_TOOLTIP :{BLACK}Kolom berisi kendaraan yang kamu miliki +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES :{YELLOW}Kendaraan tersedia +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES_TOOLTIP :{BLACK}Kolom berisi kendaraan yang tersedia untuk penggantian + STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Pilih jenis kendaraan yang akan diganti STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Pilih jenis mesin yang ingin digunakan sebagai pengganti mesin terpilih di sisi kiri @@ -3826,6 +3894,10 @@ STR_TIMETABLE_TRAVEL_NOT_TIMETABLED :Perjalanan belu STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Bergerak dengan kecepatan maks. {2:VELOCITY} (not timetabled) STR_TIMETABLE_TRAVEL_FOR :Berjalan selama {STRING} STR_TIMETABLE_TRAVEL_FOR_SPEED :Bergerak {STRING} dengan maks. kecepatan {VELOCITY} +STR_TIMETABLE_TRAVEL_FOR_ESTIMATED :Berjalan (untuk {STRING}, tidak berjadwal) +STR_TIMETABLE_TRAVEL_FOR_SPEED_ESTIMATED :Berjalan (untuk {STRING}, tidak berjadwal) dengan {VELOCITY} maksimum +STR_TIMETABLE_STAY_FOR_ESTIMATED :(menetap untuk {STRING}, tidak berjadwal) +STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(perjalan untuk {STRING}, tidak berjadwal) STR_TIMETABLE_STAY_FOR :dan tinggal selama {STRING} STR_TIMETABLE_AND_TRAVEL_FOR :dan berjalan selama {STRING} STR_TIMETABLE_DAYS :{COMMA} hari @@ -4067,6 +4139,7 @@ STR_ERROR_EXCAVATION_WOULD_DAMAGE :{WHITE}Penggali STR_ERROR_ALREADY_AT_SEA_LEVEL :{WHITE}Telah sama dengan ketinggian laut STR_ERROR_TOO_HIGH :{WHITE}Terlalu tinggi STR_ERROR_ALREADY_LEVELLED :{WHITE}... sudah rata +STR_ERROR_BRIDGE_TOO_HIGH_AFTER_LOWER_LAND :{WHITE}Jembatan diatas situ akan terlalu tinggi pada akhirnya. # Company related errors STR_ERROR_CAN_T_CHANGE_COMPANY_NAME :{WHITE}Tidak dapat mengubah nama perusahaan @@ -4117,6 +4190,9 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... huta STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... hanya bisa dibangun diatas garis salju STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... hanya dapat dibangun di bawah batas salju +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}Tidak ada tempat yang sesuai untuk industri '{STRING}' +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Ubah pembuatan peta untuk memperoleh peta yang lebih baik + # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Tidak dapat membangun stasiun kereta disini STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}Tidak dapat membangun terminal bus... @@ -4253,6 +4329,7 @@ STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Harus me STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}Tidak dapat awal dan akhir pada spot/titik lokasi yang sama STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}Ujung jembatan tidak pada level yang sama STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}Jembatan lebih rendah dari daratan +STR_ERROR_BRIDGE_TOO_HIGH_FOR_TERRAIN :{WHITE}Jembatan terlalu tinggi untuk medan ini. STR_ERROR_START_AND_END_MUST_BE_IN :{WHITE}Awal dan akhir harus segaris STR_ERROR_ENDS_OF_BRIDGE_MUST_BOTH :{WHITE}... kedua ujung jembatan harus berada di daratan STR_ERROR_BRIDGE_TOO_LONG :{WHITE}... jembatan terlalu panjang @@ -4817,6 +4894,7 @@ STR_COMPANY_NAME :{COMPANY} STR_COMPANY_NAME_COMPANY_NUM :{COMPANY} {COMPANY_NUM} STR_DEPOT_NAME :{DEPOT} STR_ENGINE_NAME :{ENGINE} +STR_HIDDEN_ENGINE_NAME :{ENGINE} (tersembunyi) STR_GROUP_NAME :{GROUP} STR_INDUSTRY_NAME :{INDUSTRY} STR_PRESIDENT_NAME :{PRESIDENT_NAME} @@ -4852,8 +4930,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -4864,9 +4940,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/irish.txt b/src/lang/irish.txt index 49b8037629..e839503f5b 100644 --- a/src/lang/irish.txt +++ b/src/lang/irish.txt @@ -95,37 +95,37 @@ STR_CARGO_SINGULAR_FIZZY_DRINK :Deoch Súilíne # Quantity of cargo STR_QUANTITY_NOTHING : -STR_QUANTITY_PASSENGERS :{COMMA} paisinéir{P amháin "" í í ""} +STR_QUANTITY_PASSENGERS :{COMMA}{NBSP}paisinéir{P amháin "" í í ""} STR_QUANTITY_COAL :{WEIGHT_LONG} guail -STR_QUANTITY_MAIL :{COMMA} mála{P "" "" "" "" ""} poist +STR_QUANTITY_MAIL :{COMMA}{NBSP}{P mh mh mh m m}ála poist STR_QUANTITY_OIL :{VOLUME_LONG} ola -STR_QUANTITY_LIVESTOCK :{COMMA} {P m mh m m m}ír{P "" "" "" "" ""} de bheo-stoc -STR_QUANTITY_GOODS :{COMMA} {P ch ch ch gc c}ráta{P "" "" "" "" ""} earraí +STR_QUANTITY_LIVESTOCK :{COMMA}{NBSP}{P m mh m m m}ír de bheo-stoc +STR_QUANTITY_GOODS :{COMMA}{NBSP}{P ch ch ch gc c}ráta earraí STR_QUANTITY_GRAIN :{WEIGHT_LONG} arbhair STR_QUANTITY_WOOD :{WEIGHT_LONG} adhmaid STR_QUANTITY_IRON_ORE :{WEIGHT_LONG} amhiarainn STR_QUANTITY_STEEL :{WEIGHT_LONG} de chruach -STR_QUANTITY_VALUABLES :{COMMA} {P mh mh mh m m}ála{P "" "" "" "" ""} d'earraí luachmhara +STR_QUANTITY_VALUABLES :{COMMA}{NBSP}{P mh mh mh m m}ála d'earraí luachmhara STR_QUANTITY_COPPER_ORE :{WEIGHT_LONG} de mhian chopair STR_QUANTITY_MAIZE :{WEIGHT_LONG} d'arbhar Indiach STR_QUANTITY_FRUIT :{WEIGHT_LONG} de thorthaí -STR_QUANTITY_DIAMONDS :{COMMA} {P mh mh mh m m}ála{P "" "" "" "" ""} de dhiamaint +STR_QUANTITY_DIAMONDS :{COMMA}{NBSP}{P mh mh mh m m}ála de dhiamaint STR_QUANTITY_FOOD :{WEIGHT_LONG} de bhia STR_QUANTITY_PAPER :{WEIGHT_LONG} de pháipéar -STR_QUANTITY_GOLD :{COMMA} {P mh mh mh m m}ála{P "" "" "" "" ""} d'ór +STR_QUANTITY_GOLD :{COMMA}{NBSP}{P mh mh mh m m}ála d'ór STR_QUANTITY_WATER :{VOLUME_LONG} d'uisce STR_QUANTITY_WHEAT :{WEIGHT_LONG} de chruinneacht STR_QUANTITY_RUBBER :{VOLUME_LONG} de rubar STR_QUANTITY_SUGAR :{WEIGHT_LONG} de shiúcra -STR_QUANTITY_TOYS :{COMMA} {P bh bh bh mb b}réagán -STR_QUANTITY_SWEETS :{COMMA} {P mh mh mh m m}ála{P "" "" "" "" ""} of sweets +STR_QUANTITY_TOYS :{COMMA}{NBSP}{P bh bh bh mb b}réagán +STR_QUANTITY_SWEETS :{COMMA}{NBSP}{P mh mh mh m m}ála de mhilseáin STR_QUANTITY_COLA :{VOLUME_LONG} de chóla STR_QUANTITY_CANDYFLOSS :{WEIGHT_LONG} d'fhéasóg Daideo -STR_QUANTITY_BUBBLES :{COMMA} {P sh sh sh s s}súilín{P "" "" "" "" ""} +STR_QUANTITY_BUBBLES :{COMMA} {P sh sh sh s s}úilín STR_QUANTITY_TOFFEE :{WEIGHT_LONG} de thaifí STR_QUANTITY_BATTERIES :{COMMA} {P ch ch ch gc c}eallra{P "" "" "" "" ""} STR_QUANTITY_PLASTIC :{VOLUME_LONG} de phlaisteach -STR_QUANTITY_FIZZY_DRINKS :{COMMA} {P dh dh dh nd n}eoch súilíneach +STR_QUANTITY_FIZZY_DRINKS :{COMMA} {P dh dh dh nd d}eoch súilíneach STR_QUANTITY_N_A :N/B # Two letter abbreviation of cargo name @@ -165,12 +165,12 @@ STR_ABBREV_NONE :{TINY_FONT}TD STR_ABBREV_ALL :{TINY_FONT}GACH # 'Mode' of transport for cargoes -STR_PASSENGERS :{COMMA} {P ph ph ph bp p}aisinéir -STR_BAGS :{COMMA} {P m mh m m m}álaí -STR_TONS :{COMMA} {P t th t dt t}ona -STR_LITERS :{COMMA} {P l l l l l}ítear -STR_ITEMS :{COMMA} {P m mh m m m}ír -STR_CRATES :{COMMA} {P ch ch ch gc c}ráta +STR_PASSENGERS :{COMMA}{NBSP}{P ph ph ph bp p}aisinéir +STR_BAGS :{COMMA}{NBSP}{P m mh m m m}álaí +STR_TONS :{COMMA}{NBSP}{P th th th dt t}ona +STR_LITERS :{COMMA}{NBSP}lítear +STR_ITEMS :{COMMA}{NBSP}{P m mh m m m}ír +STR_CRATES :{COMMA}{NBSP}{P ch ch ch gc c}ráta # Colours, do not shuffle STR_COLOUR_DARK_BLUE :Gorm Dorcha @@ -191,35 +191,44 @@ STR_COLOUR_GREY :Liath STR_COLOUR_WHITE :Bán # Units used in OpenTTD -STR_UNITS_VELOCITY_IMPERIAL :{COMMA} m/u -STR_UNITS_VELOCITY_METRIC :{COMMA} km/u -STR_UNITS_VELOCITY_SI :{COMMA} m/s +STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}m/u +STR_UNITS_VELOCITY_METRIC :{COMMA}{NBSP}km/u +STR_UNITS_VELOCITY_SI :{COMMA}{NBSP}m/s STR_UNITS_POWER_IMPERIAL :{COMMA}hp STR_UNITS_POWER_METRIC :{COMMA}hp -STR_UNITS_POWER_SI :{COMMA}kW +STR_UNITS_POWER_SI :{COMMA}{NBSP}kW +STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}{NBSP}t STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}t STR_UNITS_WEIGHT_SHORT_SI :{COMMA}kg -STR_UNITS_WEIGHT_LONG_METRIC :{COMMA} tona{P "" "" "" "" ""} -STR_UNITS_WEIGHT_LONG_SI :{COMMA} kg +STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA}{NBSP}tona +STR_UNITS_WEIGHT_LONG_METRIC :{COMMA}{NBSP}{P "th" "th" "th" "dt" "th"}ona +STR_UNITS_WEIGHT_LONG_SI :{COMMA}{NBSP}kg -STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}l -STR_UNITS_VOLUME_SHORT_SI :{COMMA}m³ +STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}{NBSP}gal +STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}{NBSP}l +STR_UNITS_VOLUME_SHORT_SI :{COMMA}{NBSP}m³ -STR_UNITS_VOLUME_LONG_METRIC :{COMMA} lítear{P "" "" "" "" ""} -STR_UNITS_VOLUME_LONG_SI :{COMMA} m³ +STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA}{NBSP}galún +STR_UNITS_VOLUME_LONG_METRIC :{COMMA}{NBSP}lítear +STR_UNITS_VOLUME_LONG_SI :{COMMA}{NBSP}m³ -STR_UNITS_FORCE_SI :{COMMA} kN +STR_UNITS_FORCE_IMPERIAL :{COMMA}{NBSP}lbf +STR_UNITS_FORCE_METRIC :{COMMA}{NBSP}kgf +STR_UNITS_FORCE_SI :{COMMA}{NBSP}kN -STR_UNITS_HEIGHT_IMPERIAL :{COMMA} tr -STR_UNITS_HEIGHT_SI :{COMMA} m +STR_UNITS_HEIGHT_IMPERIAL :{COMMA}{NBSP}tr +STR_UNITS_HEIGHT_METRIC :{COMMA}{NBSP}m +STR_UNITS_HEIGHT_SI :{COMMA}{NBSP}m # Common window strings +STR_LIST_FILTER_TITLE :{BLACK}Teaghrán scagtha: STR_LIST_FILTER_OSKTITLE :{BLACK}Iontráil teaghráin scagaire STR_LIST_FILTER_TOOLTIP :{BLACK}Iontráil eochairfhocal chun an liosta a scagadh di +STR_TOOLTIP_GROUP_ORDER :{BLACK}Roghnaigh an t-ord grúpála STR_TOOLTIP_SORT_ORDER :{BLACK}Roghnaigh ord sórtála (ardaitheach/íslitheach) STR_TOOLTIP_SORT_CRITERIA :{BLACK}Roghnaigh critéir sórtála STR_TOOLTIP_FILTER_CRITERIA :{BLACK}Roghnaigh critéir scagtha @@ -231,16 +240,28 @@ STR_TOOLTIP_CLOSE_WINDOW :{BLACK}Dún an STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS :{BLACK}Teideal fuinneoige - tarraing é seo chun fuinneog a bhogadh STR_TOOLTIP_SHADE :{BLACK}Cuir fuinneog faoi scáth - ná taispeáin ach an barra teidil STR_TOOLTIP_DEBUG :{BLACK}Taispeáin faisnéis dífhabhtaithe NewGRF -STR_TOOLTIP_STICKY :{BLACK}Marcáil an fhuinneog seo mar cheann nach féidir a dhúnadh leis an eochair 'Dún gach fuinneog' +STR_TOOLTIP_DEFSIZE :{BLACK}Athraigh méid na fuinneoige chuig an méid réamhshocraithe. Ctrl+Cliceáil chun an méid reatha a stóráil mar réamhshocrú +STR_TOOLTIP_STICKY :{BLACK}Marcáil an fhuinneog seo mar cheann nach féidir a dhúnadh leis an eochair 'Dún gach fuinneog'. Ctrl+Cliceáil chun an staid a shábháil mar réamhshocrú freisin STR_TOOLTIP_RESIZE :{BLACK}Cliceáil agus tarraing chun méid na fuinneoige seo a athrú STR_TOOLTIP_TOGGLE_LARGE_SMALL_WINDOW :{BLACK}Scoránaigh méid fuinneoige mór/beag STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Scrollbharraí - déantar liosta a scrollú suas/síos STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Scrollbharraí - déantar liosta a scrollú ar dheis/ar chlé STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Leag foirgnimh msh. ar chearnóg talún +# Show engines button +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}Taispeáin cinn fholaithe +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK}Taispeáin cinn fholaithe +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}Taispeáin cinn fholaithe +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}Taispeáin cinn fholaithe + +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}Ach an cnaipe seo a chumasú, taispeántar na feithiclí traenach folaithe freisin +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE_TOOLTIP :{BLACK}Ach an cnaipe seo a chumasú, taispeántar na feithiclí bóthair folaithe freisin +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}Ach an cnaipe seo a chumasú, taispeántar na loing fholaithe freisin +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Ach an cnaipe seo a chumasú, taispeántar na haerárthaigh folaithe freisin + # Query window STR_BUTTON_DEFAULT :{BLACK}Réamhshocrú -STR_BUTTON_CANCEL :{BLACK}Cealaigh +STR_BUTTON_CANCEL :{BLACK}Cuir ar ceal STR_BUTTON_OK :{BLACK}OK # On screen keyboard window @@ -275,6 +296,8 @@ STR_SORT_BY_LENGTH :Fad STR_SORT_BY_LIFE_TIME :Saolré fágtha STR_SORT_BY_TIMETABLE_DELAY :Moill san amchlár STR_SORT_BY_FACILITY :Cineál stáisiúin +STR_SORT_BY_WAITING_TOTAL :Lasta iomlán ag fanacht +STR_SORT_BY_WAITING_AVAILABLE :Lasta ar fáil atá ag fanacht STR_SORT_BY_RATING_MAX :Rátáil lastais is airde STR_SORT_BY_RATING_MIN :Rátáil lastais is ísle STR_SORT_BY_ENGINE_ID :ID an Innill (sórtáil chlaisiceach) @@ -283,10 +306,11 @@ STR_SORT_BY_POWER :Cumhacht STR_SORT_BY_TRACTIVE_EFFORT :Iarracht tarraingthe STR_SORT_BY_INTRO_DATE :Dáta a tugadh isteach é STR_SORT_BY_RUNNING_COST :Costas le Rith -STR_SORT_BY_POWER_VS_RUNNING_COST :Cumhacht/Costas le Rith +STR_SORT_BY_POWER_VS_RUNNING_COST :Cumhacht/Costas coinneála STR_SORT_BY_CARGO_CAPACITY :Méid an Lastais STR_SORT_BY_RANGE :Raon STR_SORT_BY_POPULATION :Daonra +STR_SORT_BY_RATING :Rátáil # Tooltips for the main toolbar STR_TOOLBAR_TOOLTIP_PAUSE_GAME :{BLACK}Cuir an cluiche ar sos @@ -295,10 +319,12 @@ STR_TOOLBAR_TOOLTIP_OPTIONS :{BLACK}Roghanna STR_TOOLBAR_TOOLTIP_SAVE_GAME_ABANDON_GAME :{BLACK}Sábháil cluiche, fág cluiche, scoir STR_TOOLBAR_TOOLTIP_DISPLAY_MAP :{BLACK}Taispeáin léarscáil, amharc breise nó liosta comharthaí STR_TOOLBAR_TOOLTIP_DISPLAY_TOWN_DIRECTORY :{BLACK}Taispeáin liosta na mbailte -STR_TOOLBAR_TOOLTIP_DISPLAY_SUBSIDIES :{BLACK}Taispeáin fordheontais +STR_TOOLBAR_TOOLTIP_DISPLAY_SUBSIDIES :{BLACK}Taispeáin fóirdheontais STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_STATIONS :{BLACK}Taispeáin liosta de stáisiúin na cuideachta STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_FINANCES :{BLACK}Taispeáin faisnéis airgeadais faoin gcuideachta STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_GENERAL :{BLACK}Taispeáin faisnéis ginearálta faoin gcuideachta +STR_TOOLBAR_TOOLTIP_DISPLAY_STORY_BOOK :{BLACK}Taispeáin an leabhar scéalta +STR_TOOLBAR_TOOLTIP_DISPLAY_GOALS_LIST :{BLACK}Taispeáin an liosta spriocanna STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}Taispeáin graif STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_LEAGUE :{BLACK}Taispeáin tábla sraithe na gcuideachtaí STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}Tabhair maoiniú do thionscal nua nó liosta de gach tionscal @@ -315,12 +341,12 @@ STR_TOOLBAR_TOOLTIP_BUILD_AIRPORTS :{BLACK}Tóg aer STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}Oscail an barra uirlisí tírdhreacha chun talamh a ardú/ísliú, crainnte a chur, srl. STR_TOOLBAR_TOOLTIP_SHOW_SOUND_MUSIC_WINDOW :{BLACK}Taispeáin an fhuinneoig fuaime/ceoil STR_TOOLBAR_TOOLTIP_SHOW_LAST_MESSAGE_NEWS :{BLACK}Taispeáin an teachtaireacht/tuairisc nuachta deiridh, taispeáin roghanna do theachtaireachtaí -STR_TOOLBAR_TOOLTIP_LAND_BLOCK_INFORMATION :{BLACK}Faisnéis faoin talamh, consól, dífhabhtú AI, seatanna scáileáin, maidir le OpenTTD +STR_TOOLBAR_TOOLTIP_LAND_BLOCK_INFORMATION :{BLACK}Faisnéis faoin bpíosa talún, consól, dífhabhtú scripteanna, seatanna scáileáin, maidir le OpenTTD STR_TOOLBAR_TOOLTIP_SWITCH_TOOLBAR :{BLACK}Athraigh barraí uirlisí # Extra tooltips for the scenario editor toolbar STR_SCENEDIT_TOOLBAR_TOOLTIP_SAVE_SCENARIO_LOAD_SCENARIO :{BLACK}Sábháil scéal, lódáil scéal, fág eagarthóir na scéalta, scoir -STR_SCENEDIT_TOOLBAR_OPENTTD :{YELLOW}Oscail TTD +STR_SCENEDIT_TOOLBAR_OPENTTD :{YELLOW}OpenTTD STR_SCENEDIT_TOOLBAR_SCENARIO_EDITOR :{YELLOW}Eagarthóir Scéalta STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_BACKWARD :{BLACK}Cuir an dáta tosaigh siar bliain amháin STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_FORWARD :{BLACK}Cuir an dáta tosaigh ar aghaidh bliain amháin @@ -346,8 +372,8 @@ STR_SCENEDIT_FILE_MENU_QUIT :Scoir ############ range for settings menu starts STR_SETTINGS_MENU_GAME_OPTIONS :Roghanna an chluiche -STR_SETTINGS_MENU_CONFIG_SETTINGS :Ardsocruithe -STR_SETTINGS_MENU_SCRIPT_SETTINGS :Socruithe scripte AI/Cluiche +STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Socruithe +STR_SETTINGS_MENU_SCRIPT_SETTINGS :Socruithe AI/Scripteanna cluiche STR_SETTINGS_MENU_NEWGRF_SETTINGS :Socruithe NewGRF STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Roghanna trédhearcachta STR_SETTINGS_MENU_TOWN_NAMES_DISPLAYED :Taispeántar ainmneacha bailte @@ -372,6 +398,7 @@ STR_FILE_MENU_EXIT :Scoir # map menu STR_MAP_MENU_MAP_OF_WORLD :Léarscáil den domhan STR_MAP_MENU_EXTRA_VIEW_PORT :Fuinneog amhairc bhreise +STR_MAP_MENU_LINGRAPH_LEGEND :Eochair an tSreafa Lastais STR_MAP_MENU_SIGN_LIST :Liosta na gcomharthaí ############ range for town menu starts @@ -380,7 +407,7 @@ STR_TOWN_MENU_FOUND_TOWN :Aimsíodh baile ############ range ends here ############ range for subsidies menu starts -STR_SUBSIDIES_MENU_SUBSIDIES :Fordheontais +STR_SUBSIDIES_MENU_SUBSIDIES :Fóirdheontais ############ range ends here ############ range for graph menu starts @@ -395,10 +422,12 @@ STR_GRAPH_MENU_CARGO_PAYMENT_RATES :Rátaí íocaí ############ range for company league menu starts STR_GRAPH_MENU_COMPANY_LEAGUE_TABLE :Tábla sraithe na gcuideachtaí STR_GRAPH_MENU_DETAILED_PERFORMANCE_RATING :Rátáil feidhmíochta mionsonraithe +STR_GRAPH_MENU_HIGHSCORE :Tábla na n-ardscór ############ range ends here ############ range for industry menu starts STR_INDUSTRY_MENU_INDUSTRY_DIRECTORY :Liosta de na tionscail +STR_INDUSTRY_MENU_INDUSTRY_CHAIN :Slabhraí na dtionscal STR_INDUSTRY_MENU_FUND_NEW_INDUSTRY :Déan maoiniú ar thionscal nua ############ range ends here @@ -441,7 +470,7 @@ STR_NEWS_MENU_MESSAGE_HISTORY_MENU :Stair na dteach STR_ABOUT_MENU_LAND_BLOCK_INFO :Faisnéis faoin limistéar talún STR_ABOUT_MENU_SEPARATOR : STR_ABOUT_MENU_TOGGLE_CONSOLE :Scoránaigh consól -STR_ABOUT_MENU_AI_DEBUG :Dífhabhtú scripteanna AI/Cluiche +STR_ABOUT_MENU_AI_DEBUG :Dífhabhtú AI/Scripteanna Cluiche STR_ABOUT_MENU_SCREENSHOT :Seat scáileáin STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Seat scáileáin zúmáilte isteach go hiomlán STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Seat scáileáin le zúm réamhshocraithe @@ -452,7 +481,7 @@ STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Scoránaigh bos STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Scor anaigh dath na mbloc salacha ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window STR_ORDINAL_NUMBER_1ST :1ú STR_ORDINAL_NUMBER_2ND :2ú STR_ORDINAL_NUMBER_3RD :3ú @@ -468,22 +497,40 @@ STR_ORDINAL_NUMBER_12TH :12ú STR_ORDINAL_NUMBER_13TH :13ú STR_ORDINAL_NUMBER_14TH :14ú STR_ORDINAL_NUMBER_15TH :15ú -STR_ORDINAL_NUMBER_16TH :16ú -STR_ORDINAL_NUMBER_17TH :17ú -STR_ORDINAL_NUMBER_18TH :18ú -STR_ORDINAL_NUMBER_19TH :19ú -STR_ORDINAL_NUMBER_20TH :20ú -STR_ORDINAL_NUMBER_21ST :21ú -STR_ORDINAL_NUMBER_22ND :22ú -STR_ORDINAL_NUMBER_23RD :23ú -STR_ORDINAL_NUMBER_24TH :24ú -STR_ORDINAL_NUMBER_25TH :25ú -STR_ORDINAL_NUMBER_26TH :26ú -STR_ORDINAL_NUMBER_27TH :27ú -STR_ORDINAL_NUMBER_28TH :28ú -STR_ORDINAL_NUMBER_29TH :29ú -STR_ORDINAL_NUMBER_30TH :30ú -STR_ORDINAL_NUMBER_31ST :31ú +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :1ú +STR_DAY_NUMBER_2ND :2ú +STR_DAY_NUMBER_3RD :3ú +STR_DAY_NUMBER_4TH :4ú +STR_DAY_NUMBER_5TH :5ú +STR_DAY_NUMBER_6TH :6ú +STR_DAY_NUMBER_7TH :7ú +STR_DAY_NUMBER_8TH :8ú +STR_DAY_NUMBER_9TH :9ú +STR_DAY_NUMBER_10TH :10ú +STR_DAY_NUMBER_11TH :11ú +STR_DAY_NUMBER_12TH :12ú +STR_DAY_NUMBER_13TH :13ú +STR_DAY_NUMBER_14TH :14ú +STR_DAY_NUMBER_15TH :15ú +STR_DAY_NUMBER_16TH :16ú +STR_DAY_NUMBER_17TH :17ú +STR_DAY_NUMBER_18TH :18ú +STR_DAY_NUMBER_19TH :19ú +STR_DAY_NUMBER_20TH :20ú +STR_DAY_NUMBER_21ST :21ú +STR_DAY_NUMBER_22ND :22ú +STR_DAY_NUMBER_23RD :23ú +STR_DAY_NUMBER_24TH :24ú +STR_DAY_NUMBER_25TH :25ú +STR_DAY_NUMBER_26TH :26ú +STR_DAY_NUMBER_27TH :27ú +STR_DAY_NUMBER_28TH :28ú +STR_DAY_NUMBER_29TH :29ú +STR_DAY_NUMBER_30TH :30ú +STR_DAY_NUMBER_31ST :31ú ############ range for days ends ############ range for months starts @@ -533,8 +580,8 @@ STR_GRAPH_CARGO_PAYMENT_RATES_X_LABEL :{TINY_FONT}{BLA STR_GRAPH_CARGO_PAYMENT_RATES_TITLE :{TINY_FONT}{BLACK}Íocaíocht as 10 n-aonad (nó 10,000 lítear) de lastas a sheachadadh fad 20 cearnóg STR_GRAPH_CARGO_ENABLE_ALL :{TINY_FONT}{BLACK}Cumasaigh gach STR_GRAPH_CARGO_DISABLE_ALL :{TINY_FONT}{BLACK}Díchumasaigh gach -STR_GRAPH_CARGO_TOOLTIP_ENABLE_ALL :{BLACK}Taispeáin gach lastas ar ghraf rátaí íocaíochta lastais -STR_GRAPH_CARGO_TOOLTIP_DISABLE_ALL :{BLACK}Ná taispeáin lastas ar bith ar ghraf rátaí íocaíochta lastais +STR_GRAPH_CARGO_TOOLTIP_ENABLE_ALL :{BLACK}Taispeáin gach lastas ar ghraf na rátaí íocaíochta lastais +STR_GRAPH_CARGO_TOOLTIP_DISABLE_ALL :{BLACK}Ná taispeáin lastas ar bith ar ghraf na rátaí íocaíochta lastais STR_GRAPH_CARGO_PAYMENT_TOGGLE_CARGO :{BLACK}Scoránaigh an graf don chineál lastais air/as STR_GRAPH_CARGO_PAYMENT_CARGO :{TINY_FONT}{BLACK}{STRING} @@ -577,7 +624,7 @@ STR_PERFORMANCE_DETAIL_LOAN :{BLACK}Iasacht: STR_PERFORMANCE_DETAIL_TOTAL :{BLACK}Iomlán: ############ End of order list STR_PERFORMANCE_DETAIL_VEHICLES_TOOLTIP :{BLACK}Líon na bhfeithiclí a rinne brabús anuraidh, Áirítear leis seo feithiclí bóithre, traenacha, longa agus aerárthaigh -STR_PERFORMANCE_DETAIL_STATIONS_TOOLTIP :{BLACK}Líon na gcodanna stáisiún a ndearnadh seirbhísiú orthu le déanaí. Áirítear gach cuid de stáisiún (m.sh. stáisiún traenach, stad bus, aerfort), fiú amháin má tá siad ceangailte mar stáisiún amháin +STR_PERFORMANCE_DETAIL_STATIONS_TOOLTIP :{BLACK}Líon na stáisiún ar tugadh lastas chomh fada leo le déanaí. Áirítear stáisiún traenach, stadanna bus, aerfort agus mar sin de ar leithligh, fiú amháin más cuid d'aon stáisiún amháin iad STR_PERFORMANCE_DETAIL_MIN_PROFIT_TOOLTIP :{BLACK}Brabús na feithicle a bhfuil an t-ioncam is ísle aici (ní thógtar san áireamh ach feithiclí atá níos mó ná 2 bhliain d'aois) STR_PERFORMANCE_DETAIL_MIN_INCOME_TOOLTIP :{BLACK}An méid airgead a rinneadh sa ráithe ina raibh an brabús is ísle le 12 ráithe anuas STR_PERFORMANCE_DETAIL_MAX_INCOME_TOOLTIP :{BLACK}An méid airgid a rinneadh sa ráithe ina raibh an brabús is airde le 12 ráithe anuas @@ -656,15 +703,20 @@ STR_SMALLMAP_CAPTION :{WHITE}Léarsc STR_SMALLMAP_TYPE_CONTOURS :Camchuair STR_SMALLMAP_TYPE_VEHICLES :Feithiclí STR_SMALLMAP_TYPE_INDUSTRIES :Tionscail +STR_SMALLMAP_TYPE_ROUTEMAP :Sreabhadh Lastais STR_SMALLMAP_TYPE_ROUTES :Bealaí STR_SMALLMAP_TYPE_VEGETATION :Fásra STR_SMALLMAP_TYPE_OWNERS :Úinéirí STR_SMALLMAP_TOOLTIP_SHOW_LAND_CONTOURS_ON_MAP :{BLACK}Taispeáin camchuaireanna na talún ar an léarscáil STR_SMALLMAP_TOOLTIP_SHOW_VEHICLES_ON_MAP :{BLACK}Taispeáin feithiclí ar an léarscáil STR_SMALLMAP_TOOLTIP_SHOW_INDUSTRIES_ON_MAP :{BLACK}Taispeáin tionscail ar an léarscáil +STR_SMALLMAP_TOOLTIP_SHOW_LINK_STATS_ON_MAP :{BLACK}Taispeáin an sreabhadh lastais ar an léarscáil STR_SMALLMAP_TOOLTIP_SHOW_TRANSPORT_ROUTES_ON :{BLACK}Taispeáin bealaí iompair ar an léarscáil STR_SMALLMAP_TOOLTIP_SHOW_VEGETATION_ON_MAP :{BLACK}Taispeáin fásra ar an léarscáil STR_SMALLMAP_TOOLTIP_SHOW_LAND_OWNERS_ON_MAP :{BLACK}Taispeáin úinéirí talún ar an léarscáil +STR_SMALLMAP_TOOLTIP_INDUSTRY_SELECTION :{BLACK}Cliceáil ar thionscail lena thaispeáint/folú. Déanann Ctrl+Cliceáil gach tionscal seachas an ceann roghnaithe a dhíchumasú. Ctrl+Cliceáil arís air chun gach cineál tionscail a chumasú +STR_SMALLMAP_TOOLTIP_COMPANY_SELECTION :{BLACK}Cliceáil ar chuideachta chun a maoine a thaispeáint nó gan a thaispeáint. Ctrl+Cliceáil chun gach cuideachta seachas an ceann roghnaithe a dhíchumasú. Ctrl+Cliceáil air arís chun gach cuideachta a chumasú +STR_SMALLMAP_TOOLTIP_CARGO_SELECTION :{BLACK}{BLACK}Cliceáil ar lastas chun a maoine a thaispeáint nó gan a thaispeáint. Ctrl+Cliceáil chun gach lastas seachas an ceann roghnaithe a dhíchumasú. Ctrl+Cliceáil air arís chun gach lastas a chumasú STR_SMALLMAP_LEGENDA_ROADS :{TINY_FONT}{BLACK}Bóithre STR_SMALLMAP_LEGENDA_RAILROADS :{TINY_FONT}{BLACK}Iarnróid @@ -698,6 +750,7 @@ STR_SMALLMAP_LEGENDA_SNOW :{TINY_FONT}{BLA STR_SMALLMAP_TOOLTIP_TOGGLE_TOWN_NAMES_ON_OFF :{BLACK}Scoránaigh ainmneacha na mbailte air/as ar an léarscáil STR_SMALLMAP_CENTER :{BLACK}Láraigh an léarscáil beag ar an suíomh reatha STR_SMALLMAP_INDUSTRY :{TINY_FONT}{STRING} ({NUM}) +STR_SMALLMAP_LINKSTATS :{TINY_FONT}{STRING} STR_SMALLMAP_COMPANY :{TINY_FONT}{COMPANY} STR_SMALLMAP_TOWN :{TINY_FONT}{WHITE}{TOWN} STR_SMALLMAP_DISABLE_ALL :{BLACK}Díchumasaigh gach @@ -708,6 +761,8 @@ STR_SMALLMAP_TOOLTIP_ENABLE_ALL_INDUSTRIES :{BLACK}Taispeá STR_SMALLMAP_TOOLTIP_SHOW_HEIGHT :{BLACK}Scoránaigh an mapa airde a thaipeáint STR_SMALLMAP_TOOLTIP_DISABLE_ALL_COMPANIES :{BLACK}Ná taispeáin maoin ar bith na cuideachta ar an léarscáil STR_SMALLMAP_TOOLTIP_ENABLE_ALL_COMPANIES :{BLACK}Taispeáin maoin uile na cuideachta ar an léarscáil +STR_SMALLMAP_TOOLTIP_DISABLE_ALL_CARGOS :{BLACK}Ná taispeáin aon lastas ar an léarscáil +STR_SMALLMAP_TOOLTIP_ENABLE_ALL_CARGOS :{BLACK}Taispeáin gach lastas ar an léarscáil # Status bar messages STR_STATUSBAR_TOOLTIP_SHOW_LAST_NEWS :{BLACK}Taispeáin an teachtaireacht nó an tuairic nuachta deiridh @@ -780,17 +835,16 @@ STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_FARM :{BIG_FONT}{BLAC STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_SMOOTH :{BIG_FONT}{BLACK}Tagann laghdú ar tháirgeadh {STRING} ag {INDUSTRY} de {COMMA}%! STR_NEWS_TRAIN_IS_WAITING :{WHITE}Tá {VEHICLE} ag fanacht san iosta -STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}Tá feithicil {VEHICLE} ag fanacht san iosta +STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}Tá {VEHICLE} ag fanacht san iosta STR_NEWS_SHIP_IS_WAITING :{WHITE}Tá {VEHICLE} ag fanacht san iosta STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}Tá {VEHICLE} ag fanacht san haingear -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE +# Order review system / warnings STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}Níl a ndóthain orduithe ag {VEHICLE} sa sceideal STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}Tá ordú folamh ag {VEHICLE} STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}Tá orduithe dúbailte ag {VEHICLE} STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}Tá stáisiún neamhbhailí ag {VEHICLE} ina chuid orduithe -# end of order system +STR_NEWS_PLANE_USES_TOO_SHORT_RUNWAY :{WHITE}Tá aerfort a bhfuil rúidbhealach róghearr aige in orduithe {VEHICLE} STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}Tá {VEHICLE} ag fáil sean STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}Tá {VEHICLE} ag fáil an-sean @@ -798,6 +852,7 @@ STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD_AND :{WHITE}Tá {VEH STR_NEWS_TRAIN_IS_STUCK :{WHITE}Ní féidir le {VEHICLE} bealach a aimsiú le leanúint ar aghaidh. STR_NEWS_VEHICLE_IS_LOST :{WHITE}Tá {VEHICLE} caillte. STR_NEWS_VEHICLE_IS_UNPROFITABLE :{WHITE}Rinne {VEHICLE} brabús de {CURRENCY_LONG} anuraidh +STR_NEWS_AIRCRAFT_DEST_TOO_FAR :{WHITE}Ní féidir le {VEHICLE} an chéad cheann scríbe eile a bhaint amach mar tá sé as raon STR_NEWS_ORDER_REFIT_FAILED :{WHITE}Stop {VEHICLE} mar gheall gur theip ar athfheistiú a ordaíodh STR_NEWS_VEHICLE_AUTORENEW_FAILED :{WHITE}Theip ar uath-athnuachan ar {VEHICLE}{}{STRING} @@ -811,15 +866,17 @@ STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO_OR_CARGO :{WHITE}Ní ghla STR_NEWS_STATION_NOW_ACCEPTS_CARGO :{WHITE}Glacann {STATION} le {STRING} anois STR_NEWS_STATION_NOW_ACCEPTS_CARGO_AND_CARGO :{WHITE}Glacann {STATION} le {STRING} agus le {STRING} anois -STR_NEWS_OFFER_OF_SUBSIDY_EXPIRED :{BIG_FONT}{BLACK}Fordheontas a tairiscíodh imithe as dáta:{}{}Ní thabharfar fordheontas ar {STRING} ó {STRING} go {STRING} anois. -STR_NEWS_SUBSIDY_WITHDRAWN_SERVICE :{BIG_FONT}{BLACK}Fordheontas tarraingte siar:{}{}Ní thabharfar fordheontas ar sheirbhís {STRING} ó {STRING} go {STRING} a thuilleadh. -STR_NEWS_SERVICE_SUBSIDY_OFFERED :{BIG_FONT}{BLACK}Déantar fordheontas seirbhíse a thairiscint:{}{}Tabharfaidh an t-údarás aitiúil fordheontas bliana don chéad seirbhís {STRING} ó {STRING} go {STRING}! -STR_NEWS_SERVICE_SUBSIDY_AWARDED_HALF :{BIG_FONT}{BLACK}Bronnadh fordheontas seirbhíse ar {STRING}!{}{}Tabharfar 50% breise ar feadh bliana don tseirbhís {STRING} ó {STRING} go {STRING}! -STR_NEWS_SERVICE_SUBSIDY_AWARDED_DOUBLE :{BIG_FONT}{BLACK}Bronnadh fordheontas seirbhíse ar {STRING}!{}{}Íocfar rátaí dúbailte ar feadh bliana don tseirbhís {STRING} ó {STRING} go {STRING}! -STR_NEWS_SERVICE_SUBSIDY_AWARDED_TRIPLE :{BIG_FONT}{BLACK}Bronnadh fordheontas seirbhíse ar {STRING}!{}{}Íocfar rátaí faoi thrí ar feadh bliana don tseirbhís {STRING} ó {STRING} go {STRING}! -STR_NEWS_SERVICE_SUBSIDY_AWARDED_QUADRUPLE :{BIG_FONT}{BLACK}Bronnadh fordheontas seirbhíse ar {STRING}!{}{}Íocfar rátaí faoi cheathair ar feadh bliana don tseirbhís {STRING} ó {STRING} go {STRING}! +STR_NEWS_OFFER_OF_SUBSIDY_EXPIRED :{BIG_FONT}{BLACK}Fóirdheontas a tairiscíodh imithe as dáta:{}{}Ní thabharfar fóirdheontas ar {STRING} ó {STRING} go {STRING} anois. +STR_NEWS_SUBSIDY_WITHDRAWN_SERVICE :{BIG_FONT}{BLACK}Fóirdheontas tarraingte siar:{}{}Ní thabharfar fóirdheontas ar sheirbhís {STRING} ó {STRING} go {STRING} a thuilleadh. +STR_NEWS_SERVICE_SUBSIDY_OFFERED :{BIG_FONT}{BLACK}Déantar fóirdheontas seirbhíse a thairiscint:{}{}Tabharfaidh an t-údarás aitiúil fóirdheontas bliana don chéad seirbhís {STRING} ó {STRING} go {STRING}! +STR_NEWS_SERVICE_SUBSIDY_AWARDED_HALF :{BIG_FONT}{BLACK}Bronnadh fóirdheontas seirbhíse ar {STRING}!{}{}Tabharfar 50% breise ar feadh bliana don tseirbhís {STRING} ó {STRING} go {STRING}! +STR_NEWS_SERVICE_SUBSIDY_AWARDED_DOUBLE :{BIG_FONT}{BLACK}Bronnadh fóirdheontas seirbhíse ar {STRING}!{}{}Íocfar rátaí dúbailte ar feadh bliana don tseirbhís {STRING} ó {STRING} go {STRING}! +STR_NEWS_SERVICE_SUBSIDY_AWARDED_TRIPLE :{BIG_FONT}{BLACK}Bronnadh fóirdheontas seirbhíse ar {STRING}!{}{}Íocfar rátaí faoi thrí ar feadh bliana don tseirbhís {STRING} ó {STRING} go {STRING}! +STR_NEWS_SERVICE_SUBSIDY_AWARDED_QUADRUPLE :{BIG_FONT}{BLACK}Bronnadh fóirdheontas seirbhíse ar {STRING}!{}{}Íocfar rátaí faoi cheathair ar feadh bliana don tseirbhís {STRING} ó {STRING} go {STRING}! STR_NEWS_ROAD_REBUILDING :{BIG_FONT}{BLACK}Anord tráchta in {TOWN}!{}{}Beidh 6 mhí de chrá croí do thiománaithe de bharr clár atógáil bóithre arna maoiniú ag {STRING}! +STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLACK}Monaplacht ar iompar! +STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}Síníonn údarás áitiúil {TOWN} conradh le {STRING} le haghaidh cearta eisiacha iompair ar feadh bliana! # Extra view window STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Amharc {COMMA} @@ -862,13 +919,14 @@ STR_GAME_OPTIONS_CURRENCY_TRY :Lira na Tuirce STR_GAME_OPTIONS_CURRENCY_SKK :Koruna na Slováice (SKK) STR_GAME_OPTIONS_CURRENCY_BRL :Real na Brasaíle (BRL) STR_GAME_OPTIONS_CURRENCY_EEK :Krooni na hEastóine (EEK) +STR_GAME_OPTIONS_CURRENCY_LTL :Litas na Liotuáine (LTL) +STR_GAME_OPTIONS_CURRENCY_KRW :Won na Cóiré Theas (KRW) +STR_GAME_OPTIONS_CURRENCY_ZAR :Rand na hAfraice Theas (ZAR) STR_GAME_OPTIONS_CURRENCY_CUSTOM :Saincheaptha... +STR_GAME_OPTIONS_CURRENCY_GEL :Lari na Seoirsia (GEL) +STR_GAME_OPTIONS_CURRENCY_IRR :Rial na hIaráine (IRR) ############ end of currency region - -############ start of measuring units region -############ end of measuring units region - STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Feithiclí Bóithre STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}Roghnaigh an taobh den bhóthair ar a mbeidh feithiclí ag tiomáint STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :Tiomáin ar chlé @@ -904,11 +962,13 @@ STR_GAME_OPTIONS_TOWN_NAME_CATALAN :Catalónach STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Uathshábháil STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Roghnaigh eatramh idir uathshábhálacha an chluiche +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :As STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :Gach mí STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :Gach 3 mí STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :Gach 6 mí STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :Gach 12 mí +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}Teanga STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Roghnaigh an teanga comhéadain le húsáid @@ -920,8 +980,12 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}Taifeach STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Roghnaigh an taifeach scáileáin le húsáid STR_GAME_OPTIONS_RESOLUTION_OTHER :eile -STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}Formáid seatanna scáileáin -STR_GAME_OPTIONS_SCREENSHOT_FORMAT_TOOLTIP :{BLACK}Roghnaigh an formáid le húsáid do sheatanna scáileáin +STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Méid an chomhéadain +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Roghnaigh méid na heiliminte comhéadain a úsáidfear + +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Gnáth +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Méid dúbailte +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Méid cheathrúil STR_GAME_OPTIONS_BASE_GRF :{BLACK}Sraith graifice bunaidh STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Roghnaigh an sraith grafaice bunaidh le húsáid @@ -937,6 +1001,7 @@ STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Roghnaig STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} {P ch ch ch gc c}omhad truaillithe STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Faisnéis breise faoin tsraith ceoil bunaidh +STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Teipeadh liosta de na taifigh a dtacaítear leo a fháil STR_ERROR_FULLSCREEN_FAILED :{WHITE}Theip ar an mód lánscáileáin # Custom currency window @@ -1015,6 +1080,7 @@ STR_TERRAIN_TYPE_VERY_FLAT :An-réidh STR_TERRAIN_TYPE_FLAT :Réidh STR_TERRAIN_TYPE_HILLY :Cnocach STR_TERRAIN_TYPE_MOUNTAINOUS :Sléibhtiúil +STR_TERRAIN_TYPE_ALPINIST :Ailpíneach STR_CITY_APPROVAL_PERMISSIVE :Tugtar cead STR_CITY_APPROVAL_TOLERANT :Fulangach @@ -1022,21 +1088,44 @@ STR_CITY_APPROVAL_HOSTILE :Naimhdeach STR_WARNING_NO_SUITABLE_AI :{WHITE}Níl aon AI oiriúnach ar fáil...{}Is féidir leat roinnt AI a íoslódáil tríd an gcóras 'Inneachar Ar Líne' -# Advanced settings window -STR_CONFIG_SETTING_CAPTION :{WHITE}Ardsocruithe +# Settings tree window +STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Socruithe +STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Teaghrán scagtha: +STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Fairsingigh gach ceann +STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Leacaigh gach ceann +STR_CONFIG_SETTING_NO_EXPLANATION_AVAILABLE_HELPTEXT :(níl aon mhíniú ar fáil) +STR_CONFIG_SETTING_DEFAULT_VALUE :{LTBLUE}Luach réamhshocraithe: {ORANGE}{STRING} +STR_CONFIG_SETTING_TYPE :{LTBLUE}Cineál socrú: {ORANGE}{STRING} +STR_CONFIG_SETTING_TYPE_CLIENT :Socrú cliaint (ní sábháiltear nuair a sábháiltear cluiche; tá feidhm aige ar gach cluiche) +STR_CONFIG_SETTING_TYPE_GAME_MENU :Socrú cluiche (sábháiltear i gcluichí sábháilte; tionchar ar chluichí nua amháin) +STR_CONFIG_SETTING_TYPE_GAME_INGAME :Socrú cluiche (stóráilte i gcluiche sábháilte; tionchar ar an gcluiche reatha amháin) +STR_CONFIG_SETTING_TYPE_COMPANY_MENU :Socrú cuideachta (stóráilte i gcluiche sábháilte; tionchar ar chluichí nua amháin) +STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :Socrú cuideachta (stóráilte i gcluiche sábháilte; tionchar ar an gcuideachta reatha amháin) +STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK}Catagóir: +STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}Cineál: +STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Cuirtear srian ar an liosta thíos ag úsáid scagairí réamhshocraithe +STR_CONFIG_SETTING_RESTRICT_BASIC :Bunúsach (ná taispeáin ach socruithe tábhachtacha) +STR_CONFIG_SETTING_RESTRICT_ADVANCED :Ardleibhéil (taispeáin formhór na socruithe) +STR_CONFIG_SETTING_RESTRICT_ALL :Saineolaí (taispeáin gach socrú, cinn aisteacha ina measc) +STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :Socruithe a bhfuil luach acu nach é an réamhshocrú é +STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :Socruithe a bhfuil luach acu nach é an luach atá ag do shocruithe do chluiche nua -STR_CONFIG_SETTING_TYPE_DROPDOWN_HELPTEXT :{BLACK}Srian ar an liosta thíos le cineálacha áirithe a leagan síos -STR_CONFIG_SETTING_TYPE_DROPDOWN_ALL :Ulig na Suímh -STR_CONFIG_SETTING_TYPE_DROPDOWN_CLIENT :Suímh Cliant(nil stóráil i Sábhálann; tionchar gach cliche) -STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :Suímh Cliche(stóráil i Sábhálann; ni tionchar ach cliche nua) -STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :Suímh Cliche(stóráil i Sábhálann; ni tionchar ach an cliche faoi láthair) -STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :Suímh Cuideachta (stóráil i Sábhálann; ni tionchar ach an cuideachta faoi láthair) -STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :Suímh Cuideachta (stóráil i saibhail; ni tionchar ach chuideachta reatha) +STR_CONFIG_SETTING_TYPE_DROPDOWN_HELPTEXT :{BLACK}Déantar an liosta thíos a theorannú go cineálacha áirithe socruithe +STR_CONFIG_SETTING_TYPE_DROPDOWN_ALL :Gach cineál socrú +STR_CONFIG_SETTING_TYPE_DROPDOWN_CLIENT :Socruithe Cliant (níl siad stóráilte i gcluiche sábháilte; tionchar ar gach cluiche) +STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :Socruithe cluiche (stóráilte i gcluichí sábháilte; tionchar ar cluichí nua amháin) +STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :Socruithe Cluichte (stóráilte i gcluiche sábháilte; tionchar ar an gcluiche reatha amháin) +STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :Socruithe Cuideachta (stóráilte i gcluiche sábháilte; tionchar ar chluichí nua amháin) +STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :Socruithe Cuideachta (stóráilte i gcluiche sábháilte; tionchar acu ar an gcuideachta reatha amháin) +STR_CONFIG_SETTING_CATEGORY_HIDES :{BLACK}Taispeáin gach toradh cuardaigh de réir socrú{}{SILVER}Catagóir {BLACK}go {WHITE}{STRING} +STR_CONFIG_SETTING_TYPE_HIDES :{BLACK}Taispeáin gach toradh cuardaigh de réir socrú{}{SILVER}Cineál {BLACK}go {WHITE}Gach cineál socrú +STR_CONFIG_SETTING_CATEGORY_AND_TYPE_HIDES :{BLACK}Taispeáin gach toradh cuardaigh de réir socrú{}{SILVER}Catagóir {BLACK}go {WHITE}{STRING} {BLACK}agus {SILVER}Cineál {BLACK}go {WHITE}Gach cineál socrú +STR_CONFIG_SETTINGS_NONE :{WHITE}- Ceann ar bith - STR_CONFIG_SETTING_OFF :As STR_CONFIG_SETTING_ON :Air -STR_CONFIG_SETTING_DISABLED :díchumasaithe +STR_CONFIG_SETTING_DISABLED :Díchumasaithe STR_CONFIG_SETTING_COMPANIES_OFF :As STR_CONFIG_SETTING_COMPANIES_OWN :Do chuideachta féin @@ -1050,136 +1139,273 @@ STR_CONFIG_SETTING_HORIZONTAL_POS_LEFT :Ar chlé STR_CONFIG_SETTING_HORIZONTAL_POS_CENTER :Sa lár STR_CONFIG_SETTING_HORIZONTAL_POS_RIGHT :Ar dheis +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Iasacht tosaigh uasta: {STRING} +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Uasmhéid is féidir le cuideachta a chur ar iasacht (gan boilsciú a chur san áireamh) +STR_CONFIG_SETTING_INTEREST_RATE :Ráta úis: {STRING} +STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :Ráta úis ar iasachtaí; rialaíonn sé seo boilsciú freisin, má tá sé cumasaithe +STR_CONFIG_SETTING_RUNNING_COSTS :Costais choinneála: {STRING} +STR_CONFIG_SETTING_RUNNING_COSTS_HELPTEXT :Socraigh leibhéal na gcostas cothabhála agus coinneála atá ag feithiclí agus bonneagar +STR_CONFIG_SETTING_CONSTRUCTION_SPEED :Luas tógála: {STRING} +STR_CONFIG_SETTING_CONSTRUCTION_SPEED_HELPTEXT :Cuir teorainn le líon na ngníomhartha tógála atá ag AInna +STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS :Cliseadh feithiclí: {STRING} +STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS_HELPTEXT :Rialaigh chomh minic agus a fhéadfaidh feithiclí nach ndéantar seirbhísiú ceart ort cliseadh +STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER :Iolraitheoir na bhfóirdheontas: {STRING} +STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER_HELPTEXT :Socraigh an méid a íoctar ar naisc atá faoi fhóirdheontas +STR_CONFIG_SETTING_CONSTRUCTION_COSTS :Costais tógála: {STRING} +STR_CONFIG_SETTING_CONSTRUCTION_COSTS_HELPTEXT :Socraigh leibhéal na gcostas tógála agus ceannaigh +STR_CONFIG_SETTING_RECESSIONS :Cúluithe eacnamaíochta: {STRING} +STR_CONFIG_SETTING_RECESSIONS_HELPTEXT :Má dhéantar seo a chumasú, féadfaidh cúluithe a bheith ann gach cúpla bliain. Le linn cúlú, bíonn an táirgeadh ar fad cuid mhaith níos ísle (téann sé ar ais chuig an leibhéal roimhe sin nuair a bheidh an cúlú thart) +STR_CONFIG_SETTING_TRAIN_REVERSING :Ná ceadaigh cúlú traenacha i stáisiúin: {STRING} +STR_CONFIG_SETTING_TRAIN_REVERSING_HELPTEXT :Má tá sé cumasaithe, ní rachaidh traenacha ar cúl i stáisiúin nach ceannstáisiúin iad, fiú má tá bealach níos giorra chuig an chéad cheann scríbe eile má dhéanann siad sin +STR_CONFIG_SETTING_DISASTERS :Tubaistí: {STRING} +STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Cuir tubaistí, ar féidir leo feithiclí nó bonneagar a bhlocáil nó a scriosadh anois is arís, ar siúl nó as +STR_CONFIG_SETTING_CITY_APPROVAL :Dearcadh chomhairle an bhaile i leith athstruchtúrú limistéir: {STRING} +STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Roghnaigh a mhéid a mbeidh tionchar ag torann agus damáiste don chomhshaol a dhéanann cuideachtaí ar a rátáil sa bhaile agus ar imeachtaí tógála eile sa cheantar -STR_CONFIG_SETTING_BUILDONSLOPES :Ceadaigh tógáil a dhéanamh ar fhánaí agus ar chóstaí: {STRING} -STR_CONFIG_SETTING_AUTOSLOPE :Ceadaigh athrú talún faoi fhoirgnimh, ráillí iarnróid srl. (uathfhánú): {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :Airde uasta na léarscáile: {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :Socraigh an airde uasta atá ceadaithe do shléibhte ar an léarscáil +STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}Ní féidir leat airde uasta na léarscáile a shocrú ag an luach seo. Tá sliabh amháin ar a laghad ar an léarscáil níos airde +STR_CONFIG_SETTING_AUTOSLOPE :Ceadaigh athrú talún faoi fhoirgnimh, ráillí iarnróid srl.: {STRING} +STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Ceadaigh tírdhreachú faoi fhoirgneamh agus ráillí gan iad a bhaint STR_CONFIG_SETTING_CATCHMENT :Ceadaigh ceantair stáisiún ar mhéid níos realaíoch: {STRING} STR_CONFIG_SETTING_EXTRADYNAMITE :Ceadaigh tuilleadh bóithre, droichid agus tolláin ar le baile iad a bhaint: {STRING} +STR_CONFIG_SETTING_EXTRADYNAMITE_HELPTEXT :Fág go mbeidh sé níos éasca bonneagar agus foirgnimh ar le bailte iad a bhaint +STR_CONFIG_SETTING_TRAIN_LENGTH :Uasfhad na dtraenacha: {STRING} +STR_CONFIG_SETTING_TRAIN_LENGTH_HELPTEXT :Socraigh uasfhad na dtraenacha +STR_CONFIG_SETTING_TILE_LENGTH :{COMMA} tíl STR_CONFIG_SETTING_SMOKE_AMOUNT :Méid deataigh/splancacha na bhfeithiclí: {STRING} +STR_CONFIG_SETTING_SMOKE_AMOUNT_HELPTEXT :Socraigh cé mhéid deataigh nó líon na splancacha a thabharfaidh feithiclí uathu STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL :Samhail luasghéaraithe do thraenacha: {STRING} +STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL_HELPTEXT :Roghnaigh samhail fisice do luasghéarú na dtraenacha. Faoin mód 'bunaidh', gearrtar an pionós céanna ar fhánaí do gach feithicil. Faoin mód 'réalaíoch' bíonn an pionós a ghearrtar as fánaí agus cuair ag brath ar airíonna éagsúla, amhail fad agus iarracht na tarraingthe STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL :Samhail luasghéaraithe d'fheithiclí bóthair: {STRING} +STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL_HELPTEXT :Roghnaigh samhail fisice do luasghéarú na bhfeithiclí bóthair. Faoin mód 'bunaidh' gearrtar an pionós céanna ar gach feithicil ar fhánaí. Faoin mód 'réalaíoch' bíonn an pionós a ghearrtar ar fhánaí ag brath ar airíonna éagsúla an innill, 'iarracht na tarraingthe' mar shampla +STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS :Géire na fána i gcás traenacha: {STRING} +STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS_HELPTEXT :A ghéire agus atá tíl ar a bhfuil fána i gcás traenach. Fagfaidh luachanna níos airde go mbeidh sé níos deacra cnoc a dhreapadh +STR_CONFIG_SETTING_PERCENTAGE :{COMMA}% +STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS :Géire na fána i gcás feithiclí bóthair: {STRING} +STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT :A ghéire agus atá tíl ar a bhfuil fána i gcás feithicle bóthair. Fagfaidh luachanna níos airde go mbeidh sé níos deacra cnoc a dhreapadh STR_CONFIG_SETTING_FORBID_90_DEG :Cuir cosc ar thraenacha agus ar longa casadh 90° a dhéanamh: {STRING} +STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Tarlaíonn casadh 90 céim nuair atá píosa iarnróid ingearach ag teacht díreach tar éis píosa iarnróid cothrománach ar an tíl in aice leis, rud a chiallaíonn go gcasann an traein 90 céim ag dul thar thaobh na tíle, seachas 45 céim mar a dhéantar nuair a chuirtea tíleanna le chéile ar chaíonna eile. Bíonn sé seo i gceist maidir leis an spás a thógann sé ar longa casadh freisin STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Ceadaigh stáisiúin a changal nach bhfuil taobh lena gcéile: {STRING} -STR_CONFIG_SETTING_IMPROVEDLOAD :Úsáid an algartam lódála feabhsaithe: {STRING} -STR_CONFIG_SETTING_GRADUAL_LOADING :Lódáil feithiclí de réir a chéile: {STRING} +STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Tabhair cead codanna a chur le stáisiún gan teagmháil dhíreach a bheith acu leis na codanna atá ann cheana. Is gá Ctrl+Cliceáil a dhéanamh agus na codanna nua á gcur síos STR_CONFIG_SETTING_INFLATION :Boilsciú: {STRING} -STR_CONFIG_SETTING_SELECTGOODS :Ná déan lastas a sheachadadh chuig stáisiún ach má tá éileamh ann: {STRING} -STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Modh tógála tionscail de láimh go príomhúil: {STRING} -STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NONE :ceann ar bith -STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NORMAL :cosúil le tionscail eile -STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_PROSPECTING :cuardach +STR_CONFIG_SETTING_INFLATION_HELPTEXT :Cumasaigh boilsciú sa gheilleagar, áit ina mbeidh costais ag méadú beagán níos tapúla ná íocaíochtaí +STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Uasfhad na ndroichead: {STRING} +STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Uasfhad i dtaca le droichid a thógáil +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :Airde uasta na ndroichead: {STRING} +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :Airde uasta i dtaca le droichid a thógáil +STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Uasfhad na dtollán: {STRING} +STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :Uasfhad i dtaca le tolláin a thógáil +STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :An modh chun tionscail phríomhúla a thógáil de láimh: {STRING} +STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_HELPTEXT :An modh a úsáidfear chun tionscal príomhúil a mhaoiniú. Ciallaíonn 'ceann ar bith' nach féidir aon cheann a mhaoiniú, ciallaíonn 'taiscéaladh' gur féidir maoiniú a dhéanamh, ach go ndéanfar an tógáil ar áit randamach ar an léarscáil, agus d'fhéadfadh teip a bheith ann freisin, ciallaíonn 'cosúil le tionscail eile' gur féidir le cuideachtaí tionscail na n-amhábhar a thógáil cosúil le tionscail phróiseála aon áit is mian leo +STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NONE :Ceann ar bith +STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NORMAL :Cosúil le tionscail eile +STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_PROSPECTING :Cuardach (mianraí srl.) +STR_CONFIG_SETTING_INDUSTRY_PLATFORM :Limistéar réidh thart ar thionscail: {STRING} +STR_CONFIG_SETTING_INDUSTRY_PLATFORM_HELPTEXT :Méid na talún réidh thart timpeall ar thionscal. Cinntíonn sé seo go mbeidh spás folamh ann fós thart timpeall ar thionscal chun ráillí, srl. a thógáil STR_CONFIG_SETTING_MULTIPINDTOWN :Ceadaigh tionscail cosúla iolracha in aon bhaile amháin: {STRING} +STR_CONFIG_SETTING_MULTIPINDTOWN_HELPTEXT :Go hiondúil, ní bhíonn comhairle baile ag iarraidh go mbeidh níos mó ná tionscal amháin de gach cineál ann. Leis an socrú seo, ceadófar roinnt tionscail den chineál céanna a bheith in aon bhaile amháin +STR_CONFIG_SETTING_SIGNALSIDE :Taispeáin comharthaí: {STRING} +STR_CONFIG_SETTING_SIGNALSIDE_HELPTEXT :Roghnaigh cén taobh den iarnród ar a chuirfear comharthaí +STR_CONFIG_SETTING_SIGNALSIDE_LEFT :Ar chlé +STR_CONFIG_SETTING_SIGNALSIDE_DRIVING_SIDE :Ar thaobh na tiomána +STR_CONFIG_SETTING_SIGNALSIDE_RIGHT :Ar dheis STR_CONFIG_SETTING_SHOWFINANCES :Taispeáin an fhuinneoig airgeadais ag deireadh na bliana: {STRING} +STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT :Má tá sé cumasaithe, preabann an fhuinneog airgeadais aníos ag deireadh gach bliana le gur féidir stádas airgeadais na cuideachta a scrúdú go héasca STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :Bíonn orduithe nua 'gan-stad' mar réamhshocrú: {STRING} STR_CONFIG_SETTING_STOP_LOCATION :Stopann orduithe traenach nua ag {STRING} an ardáin mar reamhshocrú +STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :An áit ag a stopfaidh traein ar an ardán mar réamhshocrú. Ciallaíonn 'taobh is gaire' in aice leis an pointe iontrála, ciallaíonn 'an lár' lár an ardáin, agus ciallaíonn 'taobh is faide' an áit is faide ón bpointe iontrála. Tabhair faoi deara nach bhfuil i gceist leis an socrú seo ach réamhshocrú d'orduithe nua. Is féidir orduithe aonair a shocrú go sainráite ag aon cheann de na socruithe STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :taobh abhus STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :lár STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :taobh thall -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING :Scuainí feithiclí bóthair (le maisíochtaí candamacha): {STRING} STR_CONFIG_SETTING_AUTOSCROLL :Peanáil an fhuinneog agus an luch ag an taobh: {STRING} +STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Má tá sé cumasaithe, tosóidh fuinneoga amhair ag scrollú nuair atá cursóir na luchóige in aice le taobh na fuinneoige +STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Díchumasaithe +STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT_FULLSCREEN :Príomhfhuinneog amhairc, lánscáileán amháin +STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT :Príomhfhuinneog amhairc +STR_CONFIG_SETTING_AUTOSCROLL_EVERY_VIEWPORT :Gach fuinneog amhairc STR_CONFIG_SETTING_BRIBE :Ceadaigh breabanna a thabhairt don údarás áitiúil: {STRING} +STR_CONFIG_SETTING_BRIBE_HELPTEXT :Tabhair cead do chuideachtaí iarracht a dhéanamh breab a thabhairt d'údarás áitiúil baile. Má thugann cigire an breab faoi dearra, ní bheidh an chuideachta in ann aon ghníomh a dhéanamh sa bhaile ar feadh sé mhí STR_CONFIG_SETTING_ALLOW_EXCLUSIVE :Ceadaigh cearta eisiach iompair a cheannach: {STRING} +STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT :Má cheannaíonn cuideachta cearta eisiacha iompair i mbaile, ní gheobhaidh stáisiúin iomaitheoirí (idir stáisiúin phaisinéirí agus lastais) lastas ar bith ar feadh bliain iomlán +STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS :Ceadaigh maoiniú foirgneamh: {STRING} +STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS_HELPTEXT :Tabhair cead do chuideachtaí airgead a thabhairt do bhailte chun tithe nua a mhaoiniú STR_CONFIG_SETTING_ALLOW_FUND_ROAD :Ceadaigh maoiniú do thógáil bóithre áitiúla: {STRING} +STR_CONFIG_SETTING_ALLOW_FUND_ROAD_HELPTEXT :Tabhair cead do chuideachtaí airgead a thabhairt do bhailte chun atógáil a dhéanamh ar bhóithre chun sabaitéireacht a dhéanamh ar sheirbhísí ar bhóthar sa bhaile STR_CONFIG_SETTING_ALLOW_GIVE_MONEY :Ceadaigh airgead a sheoladh chuig cuideachtaí eile: {STRING} +STR_CONFIG_SETTING_ALLOW_GIVE_MONEY_HELPTEXT :Tabhair cead airgead a aistriú idir chuideachtaí sa mhód ilimreoirí STR_CONFIG_SETTING_FREIGHT_TRAINS :Iolraitheoir meáchain don lastas le traenacha troma a ionsamhladh: {STRING} +STR_CONFIG_SETTING_PLANE_SPEED :Fachtóir luais na n-eitleán: {STRING} +STR_CONFIG_SETTING_PLANE_SPEED_HELPTEXT :Socraigh luas coimhneasta na n-aerárthach i gcomparáid le cineálacha eile feithiclí, chun an méid ioncaim ó iompar aerárthaigh a laghdú +STR_CONFIG_SETTING_PLANE_SPEED_VALUE :1 / {COMMA} STR_CONFIG_SETTING_PLANE_CRASHES :Líon na dtimpistí eitleáin: {STRING} -STR_CONFIG_SETTING_PLANE_CRASHES_NONE :ceann ar bith -STR_CONFIG_SETTING_PLANE_CRASHES_REDUCED :laghdaithe -STR_CONFIG_SETTING_PLANE_CRASHES_NORMAL :gnáth +STR_CONFIG_SETTING_PLANE_CRASHES_HELPTEXT :Socraigh an dóchúlacht go dtarlóidh timpiste aerárthaigh +STR_CONFIG_SETTING_PLANE_CRASHES_NONE :Ceann ar bith +STR_CONFIG_SETTING_PLANE_CRASHES_REDUCED :Laghdaithe +STR_CONFIG_SETTING_PLANE_CRASHES_NORMAL :Gnáth STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Ceadaigh stadanna bóthair 'tiomáin tríd' ar bhóithre ar le bailte iad: {STRING} +STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Ceadaigh stopann bóthair 'tiomáin tríd' a thógáil ar bhóithre ar le bailte iad STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Ceadaigh stopanna bóthair 'tiomáin tríd' ar bhóithre ar le hiomaitheoirí iad: {STRING} -STR_CONFIG_SETTING_ADJACENT_STATIONS :Ceadaigh tógáil taobh le stáisiúin: {STRING} -STR_CONFIG_SETTING_DYNAMIC_ENGINES :Cumasaigh níos mó ná sraith innill NewGRF amháin: {STRING} +STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Tabhair cead stadanna bóthair 'tiomáin tríd' a thógáil ar bhóithre atá faoi úinéireacht cuideachtaí eile STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Ní féidir an socrú seo a athrú nuair atá feithiclí ann STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Cothabháil bonneagair: {STRING} +STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Má tá sé cumasaithe, bíonn costais chothabhála ar bhonneagar. Méadaíonn an costas níos tapúla ná méid an líonra, rad a fhágann go mbíonn tionchar níos mó aige ar chuideachtaí móra ná ar chuideachtaí beaga STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Ní imíonn aerfoirt as dáta riamh: {STRING} +STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Má dhéantar an socrú seo a chumasú beidh gach cineál aerfoirt ar fáil go deo tar éis é a thabhairt isteach STR_CONFIG_SETTING_WARN_LOST_VEHICLE :Tabhair rabhadh má tá an fheithicil caillte: {STRING} +STR_CONFIG_SETTING_WARN_LOST_VEHICLE_HELPTEXT :Taispeáin teachtaireachtaí maidir le feithiclí nach bhfuil in ann bealach a aimsiú chuig an gceann scríbe ar ordaíodh dóibh dul ann STR_CONFIG_SETTING_ORDER_REVIEW :Féach ar orduithe feithicile: {STRING} -STR_CONFIG_SETTING_ORDER_REVIEW_OFF :níl -STR_CONFIG_SETTING_ORDER_REVIEW_EXDEPOT :déan é, ach ná tóg feiticlí stoptha san áireamh +STR_CONFIG_SETTING_ORDER_REVIEW_HELPTEXT :Má dhéantar é a chumasú, déantear orduithe na bhfeithiclí a sheiceáil go tráthrialta, agus tuairiscítear fadhbanna soiléire i dteachtaireacht nuachta má aimsítear iad +STR_CONFIG_SETTING_ORDER_REVIEW_OFF :Níl +STR_CONFIG_SETTING_ORDER_REVIEW_EXDEPOT :Déan é, ach ná tóg feiticlí stoptha san áireamh STR_CONFIG_SETTING_ORDER_REVIEW_ON :ar gach feithicil STR_CONFIG_SETTING_WARN_INCOME_LESS :Tabhair rabhadh má tá ioncam feithicile diúltach: {STRING} +STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT :Má dhéantar é a chumasú, seoltar teachtaireacht nuachta más rud é nach ndearna feithicil brabús ar bith i mbliain féilire STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Ní imíonn feithiclí as dáta riamh: {STRING} +STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Má dhéantar é a chumasú beidh gach cineál feithicle ar fáil go deo tar éis é a thabhairt isteach STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Déan uathathnuachan ar an bhfeithicil nuair a éiríonn sé sean: {STRING} +STR_CONFIG_SETTING_AUTORENEW_VEHICLE_HELPTEXT :Má tá sé cumasaithe, déantar feithicil atá ag teacht chuig deireadh a ré a ionadú go huathoibríoch má tá na coinníollacha athnuachana comhlíonta +STR_CONFIG_SETTING_AUTORENEW_MONTHS :Uath-athnuaigh nuair atá feithicil {STRING} den aois uasta +STR_CONFIG_SETTING_AUTORENEW_MONTHS_HELPTEXT :An aois choibhneasta nuair is ceart feithicil a chur san áireamh chun uath-athnuachan a dhéanamh uirthi +STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_BEFORE :{COMMA} {P mh mh mh m m}í roimh +STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_AFTER :{COMMA} {P mh mh mh m m}í tar éis STR_CONFIG_SETTING_AUTORENEW_MONEY :Uathathnuachan: uasmhéid airgead a theastaíonn le hathnuachan: {STRING} +STR_CONFIG_SETTING_AUTORENEW_MONEY_HELPTEXT :An t-íosmhéid airgead nach mór a bheith sa bhanc fós sula seiceálfar ar cheart feithiclí a athnuachan +STR_CONFIG_SETTING_ERRMSG_DURATION :Fad ama na teachtaireachta earráide: {STRING} +STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :An fad a thaispeánfar teachtaireachtaí earráide i bhfuinneog dhearg. Tabhair faoi deara nach ndúnfar teachtaireachtaí (criticiúla) áirithe go huathoibríoch tar éis an fad ama se, agus nach mór iad a dhúnadh de láimh +STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{COMMA} {P sh sh sh s s}oicind +STR_CONFIG_SETTING_HOVER_DELAY :Taispeáin leideanna uirlise: {STRING} +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :An mhoill sula dtaispeántar leideanna uirlise agus an luchóg os cionn eilimint den chomhéadan. Mar mhalairt, ceanglaítear leideanna uirlise don deaschlic luchóige má shocraítear an luach seo ag 0. +STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Ainligh ar feadh {COMMA} {P mh mh mh m m}illisoicind +STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Deaschlic STR_CONFIG_SETTING_POPULATION_IN_LABEL :Taispéain daonra an bhaile i lipéad ainm an bhaile: {STRING} +STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Taispeáin daonra bailte sa lipéad atá acu ar an léarscáil STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Tiús na línte sna graif: {STRING} +STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Leithead na líne sna graif. Is féidir líne thanaí a léamh go beacht, agus tá líne níos tiubhe níos éasca le feiceáil agus tá sé níos éasca na dathanna a idirdhealú óna gcéile +STR_CONFIG_SETTING_LANDSCAPE :Tírdhreach: {STRING} STR_CONFIG_SETTING_LAND_GENERATOR :Gineadóir talún: {STRING} STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Bunaidh STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis +STR_CONFIG_SETTING_TERRAIN_TYPE :Cineál tír-raoin: {STRING} +STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(TerraGenesis amháin) Chomh cnocach agus atá an tír-raon +STR_CONFIG_SETTING_INDUSTRY_DENSITY :Dlús na dtionscal: {STRING} +STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Socraigh líon na dtionscal is ceart a ghiniúint agus cén leibhéal is ceart a choinneáil i rith an chluiche +STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Uasfhad ón taobh i gcás Scaglanna ola: {STRING} +STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Ní thógtar scaglanna ola ach in aice le teorainn na léarscáile, sé sin ag an gcósta i gcás léarscáileanna ar oileán iad STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Airde na líne sneachta: {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Chomh garbh agus atá an tír-raon (TerraGenesis amháin) : {STRING} +STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Rialaigh an leibhéal ar a dtosaíonn sneachta ar thírdhreach fo-artach. Bíonn tionchar ag sneachta freisin ar ghiniúint tionscail agus riachtanais bailte ó thaobh fáis de +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Chomh garbh agus atá an tír-raon: {STRING} STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :An-mhín STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Mín STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Garbh STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :An-gharbh +STR_CONFIG_SETTING_VARIETY :Dáileadh éagsúlachta: {STRING} +STR_CONFIG_SETTING_VARIETY_HELPTEXT :(TerraGenesis amháin) Rialaigh an mbeidh limistéir sléibhtiúla agus réidh araon ar an léarscáil. Toisc nach ndéantar an léarscáil ach níos cothroime leis an socrú seo, ba cheart na socruithe eile a shocrú go sléibhtiúil +STR_CONFIG_SETTING_RIVER_AMOUNT :Méid na n-aibhneacha: {STRING} +STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Roghnaigh líon na n-aibhneacha a chruthófar STR_CONFIG_SETTING_TREE_PLACER :Algartam le crainnte a chur: {STRING} +STR_CONFIG_SETTING_TREE_PLACER_HELPTEXT :Roghnaigh an chaoi a scaipfear crainnte ar an léarscáil: Le 'bunaidh' cuirfear crainnte agus iad scaipthe go haonfhoirmeach. le 'feabhsaithe' cuirtear iad i ngrúpaí STR_CONFIG_SETTING_TREE_PLACER_NONE :Ceann ar bith STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :Bunaidh STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :Feabhsaithe +STR_CONFIG_SETTING_ROAD_SIDE :Feithiclí bóthair: {STRING} +STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :Roghnaigh taobh na tiomána STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Rothlú an mhapa airde: {STRING} STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Tuathal STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Deiseal STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :Leibhéal airde a fhaighann léarscáil scéil réidh: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :Ceadaigh athrú talún ar na tíleanna ag teorainneacha na léarscáile: {STRING} STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}Tá tíl amháin nó níos mó ag an taobh thuaidh nach bhfuil folamh STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}Tá tíl amháin nó níos mó ag ceann de na taobhanna nach uisce é +STR_CONFIG_SETTING_STATION_SPREAD :Leathadh amach uasta na stáisiún: {STRING} +STR_CONFIG_SETTING_STATION_SPREAD_HELPTEXT :An limistéar uasta ar féidir codanna de stáisiún amháin a leathadh amach air. Tabhair faoi deara go gcuirfidh luachanna móra moill ar an gcluiche STR_CONFIG_SETTING_SERVICEATHELIPAD :Déan seirbhísiú ar héileacaptair ag héileapadanna go huathoibríoch: {STRING} +STR_CONFIG_SETTING_SERVICEATHELIPAD_HELPTEXT :Déan seirbhísiú ar heileacaptair tar éis gach tuirlingte, fiú mura bhfuil iosta ag an aerfort STR_CONFIG_SETTING_LINK_TERRAFORM_TOOLBAR :Ceangail an barra uirlisí tírdhreacha leis na barraí uirlisí iarnróid/bóíthre/uisce/aerfort: {STRING} STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR :Dath na talún a úsáidtear sa léarscáil bheag: {STRING} +STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_HELPTEXT :Dath an tír-raoin ar an léarscáil bheag STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_GREEN :Uaine STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :Ciaruaine STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :Corcairghorm STR_CONFIG_SETTING_REVERSE_SCROLLING :Aisiompaigh an treo scrollaithe: {STRING} +STR_CONFIG_SETTING_REVERSE_SCROLLING_HELPTEXT :An méid a tharlaíonn agus an léarscáil á scrollú leis an gcnaipe luchóige deas. Má bhíonn sé díchumasaithe, bogann an luchóg leis an gceamara. Má bhíonn sé cumasaithe, bogann an luchóg an léarscáil STR_CONFIG_SETTING_SMOOTH_SCROLLING :Scrollú mín do na fuinneoga amhairc: {STRING} STR_CONFIG_SETTING_MEASURE_TOOLTIP :Taispeáin leid uirlise tomhais agu uirlisí tógála áirithe in úsáid: {STRING} -STR_CONFIG_SETTING_LIVERIES :Taispeáin libhréithe na gcuideachtaí: {STRING} +STR_CONFIG_SETTING_LIVERIES :Taispeáin libhréithe sonracha d'fheithiclí: {STRING} +STR_CONFIG_SETTING_LIVERIES_HELPTEXT :Rialaigh úsáid libhréithe a bhaineann go sonrach leis an gcineál feithicle d'fheithiclí (seachas libhréithe a bhaineann go sonrach le cuideachta) STR_CONFIG_SETTING_LIVERIES_NONE :Ná taispeáin STR_CONFIG_SETTING_LIVERIES_OWN :Do chuideachta féin STR_CONFIG_SETTING_LIVERIES_ALL :Gach cuideachta STR_CONFIG_SETTING_PREFER_TEAMCHAT :Tús áite do chomhrá foirne le : {STRING} STR_CONFIG_SETTING_SCROLLWHEEL_SCROLLING :Feidhm an rotha scrollaithe: {STRING} +STR_CONFIG_SETTING_SCROLLWHEEL_SCROLLING_HELPTEXT :Cumasaigh scrollú le rothaí luchóige déthoiseacha STR_CONFIG_SETTING_SCROLLWHEEL_ZOOM :Zúmáil an léarscáil STR_CONFIG_SETTING_SCROLLWHEEL_SCROLL :Scrollaigh an léarscáil STR_CONFIG_SETTING_SCROLLWHEEL_OFF :As STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER :Luas roth scrollaithe an léarscáil: {STRING} +STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER_HELPTEXT :Rialaigh íogaireacht scrollú an rotha luchóige +STR_CONFIG_SETTING_OSK_ACTIVATION :Méarchlár scáileáin: {STRING} +STR_CONFIG_SETTING_OSK_ACTIVATION_DISABLED :Díchumasaithe +STR_CONFIG_SETTING_OSK_ACTIVATION_DOUBLE_CLICK :Cliceáil dhúbailte +STR_CONFIG_SETTING_OSK_ACTIVATION_SINGLE_CLICK_FOCUS :Cliceáil amháin (agus fócas aige) +STR_CONFIG_SETTING_OSK_ACTIVATION_SINGLE_CLICK :Cliceáil amháin (láithreach) STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU :Aithris deaschliceála: {STRING} +STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_HELPTEXT :Roghnaigh an modh a úsáidfear chun athris a dhéanamh ar dheaschliceáil an chnaipe luchóige STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_COMMAND :Ordú+Cliceáil STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_CONTROL :Ctrl+Cliceáil STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :As STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Scrollú le cléchliceáil: {STRING} +STR_CONFIG_SETTING_AUTOSAVE :Uathshábháil: {STRING} +STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Roghnaigh an t-eatramh idir uathshábhálacha cluichí + STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Úsáid an formáid dáta {STRING} d'ainmneacha na gcluichí sábháilte +STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Formáid an dáta i gcomhadainmneacha na gcluichí sábháilte STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :fada (31 Noll 2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :gearr (31-12-2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31) - STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Cuir cluiche ar sos go huathoibríoch agus cluiche nua á thosú: {STRING} +STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :Má tá sé cumasaithe, cuirfear an cluiche ar sos go huathoibríoch nuair a thosófar cluiche nua, chun deis a thabhairt staidéar níos grinne a dhéanamh ar an léarscáil STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Agus an cluiche ar sos, ceadaigh: {STRING} -STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :gníomh ar bith -STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :gach gníomh neamh-thógála -STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :gach rud ach gníomhartha a mhionathraíonn an tírdhreach -STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_ACTIONS :gach gníomh -STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Bain úsáid as ardliosta na bhfeithiclí {STRING} +STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_HELPTEXT :Roghnaigh cad iad na gníomhaíochta atá ceadaithe agus an cluiche ar sos +STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :Gníomh ar bith +STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :Gach gníomh neamh-thógála +STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :Gach rud ach gníomhartha a mhionathraíonn an tírdhreach +STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_ACTIONS :Gach gníomh +STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Úsáid grúpaí i liosta na bhfeithiclí {STRING} +STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Cumasaigh úsáid a bhaint as na liostaí ardleibhéil feithiclí chun feithiclí a ghrúpáil STR_CONFIG_SETTING_LOADING_INDICATORS :Úsáid táscairí lódála: {STRING} +STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Roghnaigh cibé acu an dtaispeánfar táscairí lódála os cionn feithiclí atá ag lódáil nó ag dílódáil nó nach dtaispeánfar STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Taispeáin an t-amchlár i dticeanna seachas i laethanta: {STRING} +STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT :Taispeáin amanna taistil i dtáblaí ama i dticeanna cluiche seachas laethanta STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE :Taispeáin am teacht isteach agus fágála in amchláir: {STRING} +STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT :Taispeáin na hamanna teacht isteach agus imeachta a bhfuiltear ag súil leo sna hamchláir STR_CONFIG_SETTING_QUICKGOTO :Orduithe feithiclí a chruthú go scioptha: {STRING} +STR_CONFIG_SETTING_QUICKGOTO_HELPTEXT :Réamh-roghnaigh 'téigh chuig cursóir' nuair a dhéantar fuinneog na n-orduithe a oscailt STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE :Cineál ráille réamhshocraithe (tar éis cluiche nua/cluiche a lódáil): {STRING} +STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_HELPTEXT :An cineál iarnróid a roghnófar tar éis cluiche a thosú nó a lodáil. 'an chéad cheann atá ar fáil': roghnaíonn seo an cineál iarnróid is sine. 'an ceann deireanach atá ar fáil': roghnaíonn seo an cineál iarnróid is nuaí. 'an ceann is mó úsáide': roghnaíonn seo an cineál is mó atá in úsáid faoi láthair STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_FIRST :An chéad cheann atá ar fáil STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_LAST :An cheann deiridh atá ar fáil STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_MOST_USED :Ceann is mó a úsáidtear -STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :Taispeáin iarnróid forchoimeádta: {STRING} +STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :Taispeáin cosáin forchoimeádta iarnróid: {STRING} +STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION_HELPTEXT :Tabhair dath difriúil ar iarnróid forchoimeádta le cabhrú le fadhbanna le traenacha a dhiúltaíonn dul isteach i mbloic atá bunaithe ar chosáin STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Fág uirlisí tógála gníomhach i ndiaidh úsáide: {STRING} +STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Coinnigh na huirlisí tógála do dhroichid, tolláin srl. oscailte tar éis a n-úsáide STR_CONFIG_SETTING_EXPENSES_LAYOUT :Speansais an ghrúpa i bhfuinneog airgeadais cuideachta: {STRING} +STR_CONFIG_SETTING_EXPENSES_LAYOUT_HELPTEXT :Sainigh an leagan amach a bheidh ar fhuinneog speansais chuideachta +STR_CONFIG_SETTING_SOUND_TICKER :Ticear nuachta: {STRING} +STR_CONFIG_SETTING_SOUND_TICKER_HELPTEXT :Seinn fuaim do na teachtaireachtaí nuachta achomair +STR_CONFIG_SETTING_SOUND_NEWS :Nuachtán: {STRING} +STR_CONFIG_SETTING_SOUND_NEWS_HELPTEXT :Seinn fuiam nuair a thaispeántar nuachtáin +STR_CONFIG_SETTING_SOUND_NEW_YEAR :Deireadh na bliana: {STRING} +STR_CONFIG_SETTING_SOUND_NEW_YEAR_HELPTEXT :Seinn fuaim ag deireadh na bliana nuair a thugtar achoimre ar fheidhmíocht cuideachta i rith na bliana sin i gcomparáid leis an mbliain roimhe STR_CONFIG_SETTING_SOUND_CONFIRM :foirgníochta: {STRING} STR_CONFIG_SETTING_SOUND_CONFIRM_HELPTEXT :Seinn éifeacht fuaime ar tógálacha rathúil nó gníomhartha eile STR_CONFIG_SETTING_SOUND_CLICK :cnaipe brúite: {STRING} @@ -1193,50 +1419,105 @@ STR_CONFIG_SETTING_SOUND_AMBIENT_HELPTEXT :Seinn maisíoch STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING :Díchumasaigh tógáil bonneagair nuair nach bhfuil aon fheithicil oiriúnach ar fáil: {STRING} STR_CONFIG_SETTING_MAX_TRAINS :Uaslíon na dtraenacha in aghaidh na cuideachta: {STRING} +STR_CONFIG_SETTING_MAX_TRAINS_HELPTEXT :Uaslíon na dtraenacha is féidir a bheith ag cuideachta STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :Uaslíon na bhfeithiclí bóthair in aghaidh na cuideachta: {STRING} +STR_CONFIG_SETTING_MAX_ROAD_VEHICLES_HELPTEXT :Uaslíon na bhfeithiclí bóthair is féidir a bheith ag cuideachta STR_CONFIG_SETTING_MAX_AIRCRAFT :Uaslíon na n-eitleán in aghaidh na cuideachta: {STRING} +STR_CONFIG_SETTING_MAX_AIRCRAFT_HELPTEXT :Uaslíon na n-aerárthach is féidir a bheith ag cuideachta STR_CONFIG_SETTING_MAX_SHIPS :Uaslíon na long in aghaidh na cuideachta: {STRING} +STR_CONFIG_SETTING_MAX_SHIPS_HELPTEXT :Uaslíon na long is féidir a bheith ag cuideachta STR_CONFIG_SETTING_AI_BUILDS_TRAINS :Díchumasaigh traenacha don ríomhare: {STRING} +STR_CONFIG_SETTING_AI_BUILDS_TRAINS_HELPTEXT :Má dhéantar an socrú seo a chumasú ní bheidh ríomhimreoir in ann traenacha a thógáil STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES :Díchumasaigh feithiclí bóthair don ríomhaire: {STRING} +STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES_HELPTEXT :Má dhéantar an socrú seo a chumasú ní bheidh ríomhimreoir in ann feithiclí bóthair a thógáil STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT :Díchumasaigh aerárthaigh don ríomhare: {STRING} +STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT_HELPTEXT :Má dhéantar an socrú seo a chumasú ní bheidh ríomhimreoir in ann aerárthaigh a thógáil STR_CONFIG_SETTING_AI_BUILDS_SHIPS :Díchumasaigh longa don ríomhare: {STRING} +STR_CONFIG_SETTING_AI_BUILDS_SHIPS_HELPTEXT :Má dhéantar an socrú seo a chumasú ní bheidh ríomhimreoir in ann longa a thógáil +STR_CONFIG_SETTING_AI_PROFILE :Próifíl socruithe réamhshocraithe: {STRING} +STR_CONFIG_SETTING_AI_PROFILE_HELPTEXT :Roghnaigh cén próifíl socruithe a úsáidfear do AInna fánacha nó na luachanna tosaigh nuair a chuirfear AI nó Script Cluiche nua leis +STR_CONFIG_SETTING_AI_PROFILE_EASY :Éasca +STR_CONFIG_SETTING_AI_PROFILE_MEDIUM :Méanach +STR_CONFIG_SETTING_AI_PROFILE_HARD :Deacair STR_CONFIG_SETTING_AI_IN_MULTIPLAYER :Ceadaigh AIanna i gcluiche ilimreora: {STRING} +STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Ceadaigh do ríomhimreoirí AI a bheith páirteach i gcluichí ilimreora +STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :tá #opcodes roimh scripteanna curtha ar fionraí: {STRING} +STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Uaslíon na gcéimeanna ríofa is féidir le script a dhéanamh in aon chasadh amháin STR_CONFIG_SETTING_SERVINT_ISPERCENT :Eatraimh seirbhísithe i gcéatadán: {STRING} +STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Roghnaigh an ndéanfar seirbhísiú feithiclí bunaithe ar an am atá imithe thart ón seirbhísiú deireanach nó bunaithe ar iontaofacht a bheith tite céatadán áirithe ón iontaofacht uasta +STR_CONFIG_SETTING_SERVINT_TRAINS :Eatramh seirbhísithe réamhshocraithe do thraenacha: {STRING} +STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Socraigh an t-eatramh seirbhísithe réamhshocraithe d'fheithiclí iarnróid nua, mura bhfuil eatramh seirbhísithe sainráite socraithe don fheithicil +STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}lá/% +STR_CONFIG_SETTING_SERVINT_DISABLED :Díchumasaithe +STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES :Eatramh seirbhísithe réamhshocraithe d'fheithiclí bóthair: {STRING} +STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES_HELPTEXT :Socraigh an t-eatramh seirbhísithe réamhshocraithe d'fheithiclí bóthair nua, mura bhfuil eatramh seirbhísithe sainráite socraithe don fheithicil +STR_CONFIG_SETTING_SERVINT_AIRCRAFT :Eatramh seirbhíse réamhshocraithe d'aerárthaigh: {STRING} +STR_CONFIG_SETTING_SERVINT_AIRCRAFT_HELPTEXT :Socraigh an t-eatramh seirbhísithe réamhshocraithe d'aerárthaigh nua, mura bhfuil eatramh seirbhísithe sainráite socraithe don fheithicil +STR_CONFIG_SETTING_SERVINT_SHIPS :Eatramh seirbhíse réamhshocraithe do longa: {STRING} +STR_CONFIG_SETTING_SERVINT_SHIPS_HELPTEXT :Socraigh an t-eatramh seirbhísithe réamhshocraithe do longa nua, mura bhfuil eatramh seirbhísithe sainráite socraithe don fheithicil STR_CONFIG_SETTING_NOSERVICE :Díchumasaigh seirbhísiú nuair nach mbíonn aon bhriseadh síos: {STRING} +STR_CONFIG_SETTING_NOSERVICE_HELPTEXT :Má tá sé cumasaithe, ní dhéantar feithiclí a sheirbhísí má rud é nach féidir leo briseadh síos STR_CONFIG_SETTING_WAGONSPEEDLIMITS :Cumasaigh teorainneacha luais vaigíní: {STRING} +STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT :Má tá sé cumasaithe, úsáid teorainneacha luais na vaigíní freisin chun luas uasta traenacha a shocrú STR_CONFIG_SETTING_DISABLE_ELRAILS :Díchumasaigh ráillí leictreacha: {STRING} STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OWN :Tagann an chéad fheiticil isteach i stáisiún imreora: {STRING} +STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OWN_HELPTEXT :Taispeáin nuachtán nuair a thagann an chéad traein isteach ag stáisiún imreora nua STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OTHER :Tagann an chéad fheithicil isteach i stáisiún iomaitheora: {STRING} +STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OTHER_HELPTEXT :Taispeáin nuachtán nuair a thagann an chéad fheithicil isteach ag stáisiún nua iomaitheora STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS :Timpistí / tubaistí: {STRING} +STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS_HELPTEXT :Taispeáin nuachtán nuair a thiteann timpistí nó tubaistí amach STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION :Faisnéis cuideachta: {STRING} +STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION_HELPTEXT :Taispeáin nuachtán nuair a thosaíonn cuideachta nua, nó nuair atá cuideachta i mbaol féimheachta STR_CONFIG_SETTING_NEWS_INDUSTRY_OPEN :Tionscail ag oscailt: {STRING} +STR_CONFIG_SETTING_NEWS_INDUSTRY_OPEN_HELPTEXT :Taispeáin nuachtán nuair a osclaítear tionscal nua STR_CONFIG_SETTING_NEWS_INDUSTRY_CLOSE :Tionscail ag dúnadh: {STRING} +STR_CONFIG_SETTING_NEWS_INDUSTRY_CLOSE_HELPTEXT :Taispeáin nuachtán nuair a dhúnann tionscal STR_CONFIG_SETTING_NEWS_ECONOMY_CHANGES :Athruithe sa gheilleagar: {STRING} +STR_CONFIG_SETTING_NEWS_ECONOMY_CHANGES_HELPTEXT :Taispeáin nuachtán maidir le hathruithe domhanda ar an ngeilleagar STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_COMPANY :Athruithe sa táirgeadh i measc tionscail a mbíonn an chuideachta ag freastal orthu: {STRING} +STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_COMPANY_HELPTEXT :Taispeáin nuachtán nuair a athraíonn leibhéal táirgeachta tionscail a mbíonn an chuideachta ag freastal orthu STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_OTHER :Athruithe sa táirgeadh i measc tionscail a mbíonn iomaitheoir(í) ag freastal orthu: {STRING} +STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_OTHER_HELPTEXT :Taispeáin nuachtán nuair a athraíonn leibhéal táirgeachta tionscail a mbíonn iomaitheoirí ag freastal orthu STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_UNSERVED :Athruithe eile i dtáirgeadh tionscail: {STRING} +STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_UNSERVED_HELPTEXT :Taispeáin nuachtán nuair a athraíonn leibhéal táirgeachta tionscail nach mbíonn an chuideachta ná a hiomaitheoirí ag freastal orthu STR_CONFIG_SETTING_NEWS_ADVICE :Comhairle / faisnéis maidir le feithiclí na cuideachta: {STRING} +STR_CONFIG_SETTING_NEWS_ADVICE_HELPTEXT :Taispeáin teachtaireachtaí maidir le feithiclí ar gá aire a thabhairt dóibh STR_CONFIG_SETTING_NEWS_NEW_VEHICLES :Feithiclí nua: {STRING} +STR_CONFIG_SETTING_NEWS_NEW_VEHICLES_HELPTEXT :Taispeáin nuachtán nuair a bhíonn cineál nua feithicle ar fáil den chéad uair STR_CONFIG_SETTING_NEWS_CHANGES_ACCEPTANCE :Athruithe ar an lastas a nglactar leis: {STRING} -STR_CONFIG_SETTING_NEWS_SUBSIDIES :Fordheontais: {STRING} -STR_CONFIG_SETTING_NEWS_GENERAL_INFORMATION :Faisnéis ginearálta: {STRING} +STR_CONFIG_SETTING_NEWS_CHANGES_ACCEPTANCE_HELPTEXT :Taispeáin teachtaireachtaí maidir le stáisiúin a athraíonn na lastais a nglacann siad leo +STR_CONFIG_SETTING_NEWS_SUBSIDIES :Fóirdheontais: {STRING} +STR_CONFIG_SETTING_NEWS_SUBSIDIES_HELPTEXT :Taispeáin nuachtáin maidir le cúrsaí a bhaineann le fóirdheontais +STR_CONFIG_SETTING_NEWS_GENERAL_INFORMATION :Faisnéis ghinearálta: {STRING} +STR_CONFIG_SETTING_NEWS_GENERAL_INFORMATION_HELPTEXT :Taispeáin nuachtán maidir le himeachtaí ginearálta, mar shampla cearta eisiacha a cheannach nó maoiniú a thabhairt chun bóithre a thógáil STR_CONFIG_SETTING_NEWS_MESSAGES_OFF :As STR_CONFIG_SETTING_NEWS_MESSAGES_SUMMARY :Achoimre STR_CONFIG_SETTING_NEWS_MESSAGES_FULL :Iomlán STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Bíonn nuacht daite ann don chéad uair in: {STRING} +STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :An bhliain a thosaítear ar fhógraí nuachtáin daite a chlóbhualadh. Roimh an bhliain sin, úsáidtear dubh/bán monacrómach STR_CONFIG_SETTING_STARTING_YEAR :Bliain tosaigh: {STRING} STR_CONFIG_SETTING_SMOOTH_ECONOMY :Cumasaigh geilleagar níos míne (tuilleadh athruithe, agus iad níos lú): {STRING} +STR_CONFIG_SETTING_SMOOTH_ECONOMY_HELPTEXT :Má dhéantar é a chumasú, athraíonn táirgeadh na dtionscal níos minice, agus i gcéimeanna níos lú. Is iondúil nach mbíonn aon tionchar ag an socrú seo má chuirtear na cineálacha tioinscail ar fáil in NewGRF STR_CONFIG_SETTING_ALLOW_SHARES :Ceadaigh scaireanna a cheannach ó chuideachtaí eile: {STRING} +STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT :Má tá sé cumasaithe, tá cead scaireanna i gcuideachta a cheannach agus a dhíol. Ní bheidh scaireanna ar fáil ach do chuideachtaí a bhfuil aois áirithe bainte amach acu +STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE :An céatadán den bhrabús a íocfar ar chuid den turas i gcórais fhriothálacha: {STRING} +STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY :Agus tú ag tarraingt, cuir síos comharthaí gach: {STRING} +STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_HELPTEXT :Socraigh an fad ag a dtógfar comharthaí ar iarnród suas go dtí an chéad chonstaic eile (comhartha, acomhal), agus comharthaí á dtarraingt +STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_VALUE :{COMMA} {P thíl thíl thíl dtíl tíl} +STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE :Agus tú ag tarraingt, coinnigh fad seasta idir comharthaí: {STRING} +STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT :Roghnaigh an chaoi a chuirfear síos comharthaí agus comhartaí á dtarraingt le Ctrl coinnithe síos. Má tá sé cumasaithe, cuirfear comharthaí thart timpeall ar tholláin nó droicid sa chaoi nach mbeidh píosaí fada ann gan aon chomhartha orthu. Má tá sé cumasaithe, cuirfear síos comhartha gach n tíl, rud a fhágann go mbeidh sé níos éasca comharthaí ar iarnróid chomhthreomhara a ailíniú STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE :Tóg séamafóir go huathoibríoch roimh: {STRING} +STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT :Socraigh an bliain ina n-úsáidfear comharthaí leictreacha ar iarnróid. Roimh an bhliain sin, úsáidfear comharthaí nach comharthaí leictreacha iad (tá an fheidhm cheanainn céanna acu, ach cuma dhifriúil orthu) STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI :Cumasaigh GUI na gcomharthaí: {STRING} STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE :Cineál comhartha le tógáil mar réamhshocrú: {STRING} +STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE_HELPTEXT :An cineál comharthaí a úsáidfear mar réamhshocrú STR_CONFIG_SETTING_DEFAULT_SIGNAL_NORMAL :Comharthaí bloc STR_CONFIG_SETTING_DEFAULT_SIGNAL_PBS :Comharthaí cosán STR_CONFIG_SETTING_DEFAULT_SIGNAL_PBSOWAY :Comharthaí cosán aonbhealaigh @@ -1246,6 +1527,7 @@ STR_CONFIG_SETTING_CYCLE_SIGNAL_PBS :Comharthaí cos STR_CONFIG_SETTING_CYCLE_SIGNAL_ALL :Gach STR_CONFIG_SETTING_TOWN_LAYOUT :Leagan amach na mbóithre do bhailte nua: {STRING} +STR_CONFIG_SETTING_TOWN_LAYOUT_HELPTEXT :Leagan amach an ghréasáin bóithre i mbailte STR_CONFIG_SETTING_TOWN_LAYOUT_DEFAULT :bunaidh STR_CONFIG_SETTING_TOWN_LAYOUT_BETTER_ROADS :bóithre níos fearr STR_CONFIG_SETTING_TOWN_LAYOUT_2X2_GRID :greille 2x2 @@ -1253,8 +1535,10 @@ STR_CONFIG_SETTING_TOWN_LAYOUT_3X3_GRID :greille 3x3 STR_CONFIG_SETTING_TOWN_LAYOUT_RANDOM :randamach STR_CONFIG_SETTING_ALLOW_TOWN_ROADS :Ceadaítear do bhailte bóithre a thógáil: {STRING} STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :Ceadaítear do bhailte crosairí comhréidh a thógáil: {STRING} +STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Má dhéantar an socrú seo a chumasú, beidh bailte in ann crosairí comhréidh a thógáil STR_CONFIG_SETTING_NOISE_LEVEL :Ceadaigh leibhéal fuaime rialaithe ag an mbaile d'aerfoirt: {STRING} STR_CONFIG_SETTING_TOWN_FOUNDING :Bailte a bhunú sa chluiche: {STRING} +STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Má dhéantar an socrú seo a chumasú beidh imreoirí in ann bailte nua a bhunú sa chluiche STR_CONFIG_SETTING_TOWN_FOUNDING_FORBIDDEN :coiscthe STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED :ceadaithe STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED_CUSTOM_LAYOUT :ceadaithe, leagan amach bailte saincheaptha @@ -1265,53 +1549,144 @@ STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_RAINFOREST :i bhforaois bh STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_ALL :gach áit STR_CONFIG_SETTING_TOOLBAR_POS :Suíomh an phríomhbharra uirlisí: {STRING} +STR_CONFIG_SETTING_TOOLBAR_POS_HELPTEXT :Suíomh cothrománach an phríomhbharra uirlise ag barr an scáileáin STR_CONFIG_SETTING_STATUSBAR_POS :Suíomh an bharra stádais: {STRING} +STR_CONFIG_SETTING_STATUSBAR_POS_HELPTEXT :Suíomh cothrománach an bharra stádais ag bun an scáileáin +STR_CONFIG_SETTING_SNAP_RADIUS :Ga léime na bhfuinneog: {STRING} +STR_CONFIG_SETTING_SNAP_RADIUS_HELPTEXT :An fad idir fhuinneoga sula ndéanfar an fhuinneog atá á bogadh a ailíniú le fuinneoga in aice léi go huathoibríoch +STR_CONFIG_SETTING_SNAP_RADIUS_VALUE :{COMMA} {P ph ph ph bp p}icteilín +STR_CONFIG_SETTING_SNAP_RADIUS_DISABLED :Díchumasaithe STR_CONFIG_SETTING_SOFT_LIMIT :Uaslíon na bhfuinneog neamh-ghreamaitheach: {STRING} +STR_CONFIG_SETTING_SOFT_LIMIT_HELPTEXT :Líon na bhfuinneog neamhghreamaitheach is féidir a bheith oscailte sula ndúnfar seanfhuinneoga go huathoibríoch chun spás a dhéanamh d'fhuinneoga nua +STR_CONFIG_SETTING_SOFT_LIMIT_VALUE :{COMMA} +STR_CONFIG_SETTING_SOFT_LIMIT_DISABLED :díchumasaithe +STR_CONFIG_SETTING_ZOOM_MIN :Zúmáil uasta i leibhéil: {STRING} +STR_CONFIG_SETTING_ZOOM_MAX :Leibhéal uasta zúmala amach: {STRING} +STR_CONFIG_SETTING_ZOOM_LVL_MIN :4x +STR_CONFIG_SETTING_ZOOM_LVL_IN_2X :2x +STR_CONFIG_SETTING_ZOOM_LVL_NORMAL :Gnáth +STR_CONFIG_SETTING_ZOOM_LVL_OUT_2X :2x +STR_CONFIG_SETTING_ZOOM_LVL_OUT_4X :4x +STR_CONFIG_SETTING_ZOOM_LVL_OUT_8X :8x STR_CONFIG_SETTING_TOWN_GROWTH :Ráta fáis na mbailte: {STRING} +STR_CONFIG_SETTING_TOWN_GROWTH_HELPTEXT :Ráta ag a bhfásann baile STR_CONFIG_SETTING_TOWN_GROWTH_NONE :Ceann ar bith STR_CONFIG_SETTING_TOWN_GROWTH_SLOW :Mall STR_CONFIG_SETTING_TOWN_GROWTH_NORMAL :Gnáth STR_CONFIG_SETTING_TOWN_GROWTH_FAST :Scioptha STR_CONFIG_SETTING_TOWN_GROWTH_VERY_FAST :An-scioptha +STR_CONFIG_SETTING_LARGER_TOWNS :Líon na mbailte a ndéanfar cathratha díobh: {STRING} +STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 as {COMMA} +STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Ceann ar bith STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Iolraitheoir tosaigh mhéid na gcathracha: {STRING} -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :Bain gnéithe bóthair áiféiseacha agus bóithre á dtógáil: {STRING} +STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Nuashonraigh an graf dáileacháin gach {STRING}{NBSP}lá +STR_CONFIG_SETTING_LINKGRAPH_TIME :Tóg {STRING}{NBSP}lá chun an graf dáileacháin a athríomh +STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :de láimh +STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :neamhshiméadrach +STR_CONFIG_SETTING_DISTRIBUTION_SYMMETRIC :siméadrach +STR_CONFIG_SETTING_DISTRIBUTION_PAX :An mód dáileacháin do phaisinéirí: {STRING} +STR_CONFIG_SETTING_DISTRIBUTION_MAIL :An mód dáileacháin do phost: {STRING} +STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :An mód dáileacháin don aicme lastais ARMÚRTHA: {STRING} +STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :An mód dáileacháin d'aicmí eile lastais: {STRING} +STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Cruinneas an dáileacháin: {STRING} +STR_CONFIG_SETTING_DEMAND_DISTANCE :An tionchar atá ag fad ar éilimh: {STRING} +STR_CONFIG_SETTING_DEMAND_SIZE :Méid den lastas a thagann ar ais don mhód siméadrach: {STRING} +STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Aonaid luais: {STRING} +STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_HELPTEXT :Aon áit a thaispeántar luas sa chomhéadan úsáideora, taispeain sna haonaid roghnaithe é +STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_IMPERIAL :Impiriúil (msu) +STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_METRIC :Méadrach (km/u) +STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_SI :SI (m/s) +STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER :Aonaid chumhachta feithiclí: {STRING} +STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_HELPTEXT :Aon áit a thaispeántar cumhacht feithicle sa chomhéadan úsáideora, taispeain sna haonaid roghnaithe í +STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_IMPERIAL :Impiriúil (ec) +STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_METRIC :Méadrach (ec) +STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_SI :SI (kW) +STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT :Aonaid mheáchain: {STRING} +STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_HELPTEXT :Aon áit a thaispeántar meáchan sa chomhéadan úsáideora, taispeain sna haonaid roghnaithe é +STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_IMPERIAL :Impiriúil (t/tonna gearr) +STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_METRIC :Méadrach (t/tonna) +STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_SI :SI (kg) +STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME :Aonaid toirte: {STRING} +STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_HELPTEXT :Aon áit a thaispeántar toirt sa chomhéadan úsáideora, taispeain sna haonaid roghnaithe í +STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_IMPERIAL :Impiriúil (gal) +STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_METRIC :Méadrach (l) +STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_SI :SI (m³) +STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE :Aonaid iarracht na tarraingthe: {STRING} +STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_HELPTEXT :Aon áit a thaispeántar iarracht na tarraingthe (ar a dtugtar fórsa tarraingthe freisin) sa chomhéadan úsáideora, taispeain sna haonaid roghnaithe í +STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_IMPERIAL :Impiriúil (lbf) +STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_METRIC :Méadrach (kgf) +STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_SI :SI (kN) +STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT :Aonaid airde: {STRING} +STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT :Aon áit a thaispeántar airde sa chomhéadan úsáideora, taispeain sna haonaid roghnaithe í +STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :Impiriúil (tr) +STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :Méadrach (m) +STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :SI (m) -STR_CONFIG_SETTING_GUI :{ORANGE}Comhéadan -STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}Tógáil +STR_CONFIG_SETTING_LOCALISATION :{ORANGE}Logánú +STR_CONFIG_SETTING_GRAPHICS :{ORANGE}Grafaicí +STR_CONFIG_SETTING_SOUND :{ORANGE}Fuaim +STR_CONFIG_SETTING_INTERFACE :{ORANGE}Comhéadan +STR_CONFIG_SETTING_INTERFACE_GENERAL :{ORANGE}Ginearálta +STR_CONFIG_SETTING_INTERFACE_VIEWPORTS :{ORANGE}Painéil amhairc +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Tógáil +STR_CONFIG_SETTING_ADVISORS :{ORANGE}Nuacht / Comhairleoirí +STR_CONFIG_SETTING_COMPANY :{ORANGE}Cuideachta +STR_CONFIG_SETTING_ACCOUNTING :{ORANGE}Cuntasaíocht STR_CONFIG_SETTING_VEHICLES :{ORANGE}Feithiclí -STR_CONFIG_SETTING_STATIONS :{ORANGE}Stáisiúin -STR_CONFIG_SETTING_ECONOMY :{ORANGE}Geilleagar -STR_CONFIG_SETTING_AI :{ORANGE}Iomaitheoirí -STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}Roghanna taispeána -STR_CONFIG_SETTING_INTERACTION :{ORANGE}Idirghníomhú -STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}Comharthaí -STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE}Láimhseáil lastais -STR_CONFIG_SETTING_AI_NPC :{ORANGE}Ríomh-imreoirí -STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE}Uathathnuachan -STR_CONFIG_SETTING_VEHICLES_SERVICING :{ORANGE}Seirbhísiú +STR_CONFIG_SETTING_VEHICLES_PHYSICS :{ORANGE}Fisic STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Ródú -STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}Traenacha -STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}Bailte -STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}Tionscail +STR_CONFIG_SETTING_LIMITATIONS :{ORANGE}Teorainneacha +STR_CONFIG_SETTING_ACCIDENTS :{ORANGE}Tubaistí / Timpistí +STR_CONFIG_SETTING_GENWORLD :{ORANGE}Domhan a chruthú +STR_CONFIG_SETTING_ENVIRONMENT :{ORANGE}Timpeallacht +STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :{ORANGE}Údaráis +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Bailte +STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}Tionscail +STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :{ORANGE}Dáileadh lastais +STR_CONFIG_SETTING_AI :{ORANGE}Iomaitheoirí +STR_CONFIG_SETTING_AI_NPC :{ORANGE}Ríomh-imreoirí +STR_CONFIG_SETTING_PATHFINDER_OPF :Bunaidh STR_CONFIG_SETTING_PATHFINDER_NPF :NPF STR_CONFIG_SETTING_PATHFINDER_YAPF_RECOMMENDED :YAPF {BLUE}(Molta) STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS :Aimsitheoir bealaigh do thraenacha: {STRING} +STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS_HELPTEXT :An t-aimsitheoir bealaigh a úsáidfear do thraenacha STR_CONFIG_SETTING_PATHFINDER_FOR_ROAD_VEHICLES :Aimsitheoir bealaigh d'fheithiclí bóthair: {STRING} +STR_CONFIG_SETTING_PATHFINDER_FOR_ROAD_VEHICLES_HELPTEXT :An t-aimsitheoir bealaigh a úsáidfear d'fheithiclí bóthair STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS :Aimsitheoir bealaigh do longa: {STRING} +STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS_HELPTEXT :An t-aimsitheoir bealaigh a úsáidfear do longa STR_CONFIG_SETTING_REVERSE_AT_SIGNALS :Aisiompú uathoibríoch ag comharthaí: {STRING} +STR_CONFIG_SETTING_REVERSE_AT_SIGNALS_HELPTEXT :Ceadaigh do thraenacha aisiompú ag comhartha, más rud é go raibh siad ag fanacht ann píosa fada STR_CONFIG_SETTING_QUERY_CAPTION :{WHITE}Athraigh luach an tsocraithe # Config errors +STR_CONFIG_ERROR :{WHITE}Earráid leis an gcomhad cumraíochta... +STR_CONFIG_ERROR_ARRAY :{WHITE}... earráid san eagar '{STRING}' +STR_CONFIG_ERROR_INVALID_VALUE :{WHITE}... luach neamhbhailí '{STRING}' ag '{STRING}' +STR_CONFIG_ERROR_TRAILING_CHARACTERS :{WHITE}... carachtair chun deiridh ag deireadh an socraithe '{STRING}' +STR_CONFIG_ERROR_DUPLICATE_GRFID :{WHITE}... ag déanamh neamhaird den NewGRF '{STRING}': ID GRF dúbailte le '{STRING}' +STR_CONFIG_ERROR_INVALID_GRF :{WHITE}... ag tabhairt neamhaird ar NewGRF neamhbhailí '{STRING}': {STRING} +STR_CONFIG_ERROR_INVALID_GRF_NOT_FOUND :níor aimsíodh é +STR_CONFIG_ERROR_INVALID_GRF_UNSAFE :neamhshábháilte don úsáid statach +STR_CONFIG_ERROR_INVALID_GRF_SYSTEM :córas NewGRF +STR_CONFIG_ERROR_INVALID_GRF_INCOMPATIBLE :neamh-chomhoiriúnach leis an leagan OpenTTD seo +STR_CONFIG_ERROR_INVALID_GRF_UNKNOWN :anaithnid +STR_CONFIG_ERROR_INVALID_SAVEGAME_COMPRESSION_LEVEL :{WHITE}... níl leibheál comhbhrú '{STRING}' bailí +STR_CONFIG_ERROR_INVALID_SAVEGAME_COMPRESSION_ALGORITHM :{WHITE}... níl formáid an chluiche sábháilte '{STRING}' ar fáil. Ag tiontú ar '{STRING}' +STR_CONFIG_ERROR_INVALID_BASE_GRAPHICS_NOT_FOUND :{WHITE}... ag tabhairt neamhaird ar an tsraith Bhunghrafaice '{STRING}': níor aimsíodh í +STR_CONFIG_ERROR_INVALID_BASE_SOUNDS_NOT_FOUND :{WHITE}... ag tabhairt neamhaird ar an tsraith Bhunfhuaimeanna '{STRING}': níor aimsíodh í +STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... ag tabhairt neamhaird ar an tsraith Bhuncheoil '{STRING}': níor aimsíodh í +STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Easpa chuimhne +STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Teipeadh {BYTES} a shannadh don taisce sprideanna. Laghdaíodh an taisce sprideanna go {BYTES}. Laghdófar feidhmíocht OpenTTD dá bharr. Chun an méid cuimhne atá riachtanach a laghdú, is féidir leat grafaicí 32bpp agus/nó leibhéil zúmála isteach a dhíchumasú # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -1324,9 +1699,11 @@ STR_INTRO_SCENARIO_EDITOR :{BLACK}Eagarth STR_INTRO_MULTIPLAYER :{BLACK}Ilimreoirí STR_INTRO_GAME_OPTIONS :{BLACK}Roghanna an Chluiche -STR_INTRO_ADVANCED_SETTINGS :{BLACK}Ardsocruithe +STR_INTRO_HIGHSCORE :{BLACK}Tábla na nArdscór +STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Socruithe STR_INTRO_NEWGRF_SETTINGS :{BLACK}Socruithe NewGRF STR_INTRO_ONLINE_CONTENT :{BLACK}Seiceáil Inneachar Ar Líne +STR_INTRO_SCRIPT_SETTINGS :{BLACK}Socruithe AI/Script Cluiche STR_INTRO_QUIT :{BLACK}Scoir STR_INTRO_TOOLTIP_NEW_GAME :{BLACK}Tosaigh cluiche nua. Scipeáltar cumrú an léarscáil le Ctrl+Cliceáil @@ -1342,11 +1719,14 @@ STR_INTRO_TOOLTIP_SUB_TROPICAL_LANDSCAPE :{BLACK}Roghnaig STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Roghnaigh stíl tírdhreacha 'tír na mbréagán' STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Taispeáin roghanna an chluiche -STR_INTRO_TOOLTIP_ADVANCED_SETTINGS :{BLACK}Taispeáin ardsocruithe +STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Taispeáin tábla na n-ardscór +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Socruithe taispeána STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Taispeáin socruithe NewGRF STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Seiceáil le haghaidh inneachar nua agus nuashonruithe le híoslódáil +STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Taispeáin socruithe AI/Script cluiche STR_INTRO_TOOLTIP_QUIT :{BLACK}Téigh amach as 'OpenTTD' +STR_INTRO_TRANSLATION :{BLACK}Tá {NUM} {P th th th dt t}eaghrán in easnamh san aistriúchán seo. Is féidir leat cabhrú chun OpenTTD a fheabhsú má chláraíonn tú mar aistritheoir. Féach léighmé.txt chun mionsonraí a fháil. # Quit window STR_QUIT_CAPTION :{WHITE}Scoir @@ -1380,6 +1760,8 @@ STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Ag imir STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Ollscartaire draíochta (bain tionscail, nithe dobhogtha): {ORANGE}{STRING} STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}Is féidir le tolláin dul trasna a gcéile: {ORANGE}{STRING} STR_CHEAT_NO_JETCRASH :{LTBLUE}Ní bheidh timpistí ag scairdeitleáin (go minic) ag aerfoirt bheaga: {ORANGE}{STRING} +STR_CHEAT_EDIT_MAX_HL :{LTBLUE}Cuir airde uasta na léarscáile in eagar: {ORANGE}{NUM} +STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Cuir leibhéal uasta na sléibhte ar an léarscáil in eagar STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE :Tírdhreach measartha STR_CHEAT_SWITCH_CLIMATE_SUB_ARCTIC_LANDSCAPE :Tírdhreach fo-artach STR_CHEAT_SWITCH_CLIMATE_SUB_TROPICAL_LANDSCAPE :Tírdhreach fo-theochriosach @@ -1426,8 +1808,9 @@ STR_LIVERY_FREIGHT_TRAM :Tram Lastais # Face selection window STR_FACE_CAPTION :{WHITE}Aghaidh a Roghnú -STR_FACE_CANCEL_TOOLTIP :{BLACK}Cealaigh roghnúchán aghaidhe nua +STR_FACE_CANCEL_TOOLTIP :{BLACK}Cuir roghnúchán aghaidhe nua ar ceal STR_FACE_OK_TOOLTIP :{BLACK}Glac leis an aghaidh nua +STR_FACE_RANDOM :{BLACK}Déan randamú STR_FACE_MALE_BUTTON :{BLACK}Fear STR_FACE_MALE_TOOLTIP :{BLACK}Roghnaigh aghaidheanna fir @@ -1483,6 +1866,10 @@ STR_FACE_TIE_EARRING_TOOLTIP :{BLACK}Athraigh # Network server list STR_NETWORK_SERVER_LIST_CAPTION :{WHITE}Ilimreoirí +STR_NETWORK_SERVER_LIST_ADVERTISED :{BLACK}Fógartha +STR_NETWORK_SERVER_LIST_ADVERTISED_TOOLTIP :{BLACK}Roghnaigh idir cluiche fógartha (idirlín) agus cluiche neamhfhógartha (Líonra Achair Logánta, LAN) +STR_NETWORK_SERVER_LIST_ADVERTISED_NO :Níl +STR_NETWORK_SERVER_LIST_ADVERTISED_YES :Tá STR_NETWORK_SERVER_LIST_PLAYER_NAME :{BLACK}Ainm imreora: STR_NETWORK_SERVER_LIST_ENTER_NAME_TOOLTIP :{BLACK}Seo an t-ainm faoina mbeidh imreoirí eile in ann tú a aithint @@ -1541,6 +1928,8 @@ STR_NETWORK_START_SERVER_NEW_GAME_NAME_TOOLTIP :{BLACK}Taispeá STR_NETWORK_START_SERVER_SET_PASSWORD :{BLACK}Socraigh pasfhocal STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}Cosain do chluiche le pasfhocal más mian leat nach mbeidh rochtain phoiblí air +STR_NETWORK_START_SERVER_UNADVERTISED :Níl +STR_NETWORK_START_SERVER_ADVERTISED :Tá STR_NETWORK_START_SERVER_CLIENTS_SELECT :{BLACK}{NUM} {P ch ch ch gc c}lia{P "" "" "" "" i}nt STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Cliaint uasta: STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS_TOOLTIP :{BLACK}Roghnaigh uaslíon na gcliant. Ní gá gach áit a líonadh @@ -1661,6 +2050,7 @@ STR_NETWORK_CLIENT :Cliant STR_NETWORK_SPECTATORS :Féachadóirí STR_NETWORK_GIVE_MONEY_CAPTION :{WHITE}Iontráil an méid airgid is mian leat a thabhairt +STR_NETWORK_TOOLBAR_LIST_SPECTATOR :{BLACK}Féachadóir # Network set password STR_COMPANY_PASSWORD_CANCEL :{BLACK}Ná sábháil an pasfhocal a iontráladh @@ -1708,6 +2098,10 @@ STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}Tá cosc STR_NETWORK_ERROR_KICKED :{WHITE}Ciceáladh amach as an gcluiche thú STR_NETWORK_ERROR_CHEATER :{WHITE}Ní cheadaítear caimiléireacht ar an bhfreastalaí seo STR_NETWORK_ERROR_TOO_MANY_COMMANDS :{WHITE}Bhí tú ag seoladh an iomarca orduithe chuig an bhfreastalaí +STR_NETWORK_ERROR_TIMEOUT_PASSWORD :{WHITE}Thóg tú an iomarca ama an pasfhocal a chur isteach +STR_NETWORK_ERROR_TIMEOUT_COMPUTER :{WHITE}Tá do ríomhaire rómhall le coinneáil suas leis an bhfreastalaí +STR_NETWORK_ERROR_TIMEOUT_MAP :{WHITE}Thóg do ríomhaire rófhada chun an léarscáil a íoslódáil +STR_NETWORK_ERROR_TIMEOUT_JOIN :{WHITE}Thóg do ríomhaire rófhada chun dul isteach sa fhreastalaí ############ Leave those lines in this order!! STR_NETWORK_ERROR_CLIENT_GENERAL :earráid ghinearálta @@ -1726,6 +2120,10 @@ STR_NETWORK_ERROR_CLIENT_KICKED :ciceáilte ag a STR_NETWORK_ERROR_CLIENT_CHEATER :ag iarraidh caimiléireacht a úsáid STR_NETWORK_ERROR_CLIENT_SERVER_FULL :freastalaí lán STR_NETWORK_ERROR_CLIENT_TOO_MANY_COMMANDS :ag seoladh an iomarca orduithe +STR_NETWORK_ERROR_CLIENT_TIMEOUT_PASSWORD :ní bhfuarthas pasfhocal in am +STR_NETWORK_ERROR_CLIENT_TIMEOUT_COMPUTER :am istigh ginearálta +STR_NETWORK_ERROR_CLIENT_TIMEOUT_MAP :thóg sé rófhada chun an léarscáil a íoslódáil +STR_NETWORK_ERROR_CLIENT_TIMEOUT_JOIN :thóg sé rófhada chun an léarscáil a phróiseáil ############ End of leave-in-this-order STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Seans gur cailleadh an nasc @@ -1738,10 +2136,12 @@ STR_NETWORK_SERVER_MESSAGE_GAME_PAUSED :Cluiche ar sos STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_1 :Cluiche fós ar sos ({STRING}) STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_2 :Cluiche fós ar sos ({STRING}, {STRING}) STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_3 :Cluiche fós ar sos ({STRING}, {STRING}, {STRING}) +STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_4 :Tá an cluiche fós ar sos ({STRING}, {STRING}, {STRING}, {STRING}) STR_NETWORK_SERVER_MESSAGE_GAME_UNPAUSED :Deireadh an tsosa ({STRING}) STR_NETWORK_SERVER_MESSAGE_GAME_REASON_NOT_ENOUGH_PLAYERS :líon na n-imreoirí STR_NETWORK_SERVER_MESSAGE_GAME_REASON_CONNECTING_CLIENTS :cliaint á nascadh STR_NETWORK_SERVER_MESSAGE_GAME_REASON_MANUAL :de láimh +STR_NETWORK_SERVER_MESSAGE_GAME_REASON_GAME_SCRIPT :script an chluiche ############ End of leave-in-this-order STR_NETWORK_MESSAGE_CLIENT_LEAVING :ag fágáil STR_NETWORK_MESSAGE_CLIENT_JOINED :*** Tháinig {STRING} isteach sa chluiche @@ -1769,7 +2169,13 @@ STR_CONTENT_SELECT_UPDATES_CAPTION :{BLACK}Roghnaig STR_CONTENT_SELECT_UPDATES_CAPTION_TOOLTIP :{BLACK}Marcáil an t-inneachar ar fad atá ina uasghrádú d'inneachar reatha mar inneachar le híoslódáil STR_CONTENT_UNSELECT_ALL_CAPTION :{BLACK}Díroghnaigh gach STR_CONTENT_UNSELECT_ALL_CAPTION_TOOLTIP :{BLACK}Marcáil an t-inneachar ar fad le nach n-íoslódálfar é +STR_CONTENT_SEARCH_EXTERNAL :{BLACK}Cuardaigh suíomhanna gréasáin seachtracha +STR_CONTENT_SEARCH_EXTERNAL_TOOLTIP :{BLACK}Cuardaigh inneachar nach bhfuil ar fáil ar sheirbhís inneachair OpenTTD ar shuíomhanna gréasáin nach bhfuil baint acu le OpenTTD +STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER_CAPTION :{WHITE}Tá tú ag imeacht ó OpenTTD! +STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER :{WHITE}Bíonn téarmaí agus cionníolacha éagsúla i bhfeidhm maidir le hinneachar a íoslódáil ó shuíomhanna gréasáin seachtracha.{}Beidh ort féachaint sna suíomhanna seachtracha chun treoracha a fháil conas an t-inneachar a shuiteáil in OpenTTD.{}An mian leat leanúint ar aghaidh? STR_CONTENT_FILTER_TITLE :{BLACK}Scagaire clibe/ainm: +STR_CONTENT_OPEN_URL :{BLACK}Tabhair cuairt ar an suíomh gréasáin +STR_CONTENT_OPEN_URL_TOOLTIP :{BLACK}Tabhair cuairt ar an suíomh gréasáin don inneachar seo STR_CONTENT_DOWNLOAD_CAPTION :{BLACK}Íoslódáil STR_CONTENT_DOWNLOAD_CAPTION_TOOLTIP :{BLACK}Toaigh ag íoslódáil an t-inneachar roghnaithe STR_CONTENT_TOTAL_DOWNLOAD_SIZE :{SILVER}Méid iomlán na híoslódála: {WHITE}{BYTES} @@ -1801,6 +2207,8 @@ STR_CONTENT_TYPE_SCENARIO :Scéal STR_CONTENT_TYPE_HEIGHTMAP :Mapa airde STR_CONTENT_TYPE_BASE_SOUNDS :Fuaimeanna bunaidh STR_CONTENT_TYPE_BASE_MUSIC :Ceol bunaidh +STR_CONTENT_TYPE_GAME_SCRIPT :Script cluiche +STR_CONTENT_TYPE_GS_LIBRARY :Leabharlann scripteanna cluiche # Content downloading progress window STR_CONTENT_DOWNLOAD_TITLE :{WHITE}Ag íoslódáil inneachar... @@ -1816,6 +2224,10 @@ STR_CONTENT_ERROR_COULD_NOT_DOWNLOAD_CONNECTION_LOST :{WHITE}... cail STR_CONTENT_ERROR_COULD_NOT_DOWNLOAD_FILE_NOT_WRITABLE :{WHITE}... níl an comhad inscríofa STR_CONTENT_ERROR_COULD_NOT_EXTRACT :{WHITE}Níorbh fhéidir an comhad íoslódáilte a dhíchomhbhrú +STR_MISSING_GRAPHICS_SET_CAPTION :{WHITE}Grafaicí ar lár +STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}Tá grafaicí ag teastáil le go n-oibreoidh OpenTTD ach níorbh fhéidir teacht orthu. An dtugann tú cead do OpenTTD na grafaicí seo a íoslódáil agus a shuiteáil? +STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Tugann, íoslódáil na grafaicí +STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}Ní thugann, scoir de OpenTTD # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}Roghanna Trédhearcachta @@ -1831,8 +2243,15 @@ STR_TRANSPARENT_LOADING_TOOLTIP :{BLACK}Scorána STR_TRANSPARENT_INVISIBLE_TOOLTIP :{BLACK}Socraigh go bhfuil nithe dofheicthe seachas trédhearcach # Linkgraph legend window +STR_LINKGRAPH_LEGEND_CAPTION :{BLACK}Eochair an tSreafa Lastais +STR_LINKGRAPH_LEGEND_ALL :{BLACK}Gach ceann +STR_LINKGRAPH_LEGEND_NONE :{BLACK}Ceann ar bith +STR_LINKGRAPH_LEGEND_SELECT_COMPANIES :{BLACK}Roghnaigh na cuideachtaí a thaispeánfar # Linkgraph legend window and linkgraph legend in smallmap +STR_LINKGRAPH_LEGEND_UNUSED :{TINY_FONT}{BLACK}neamhúsáidte +STR_LINKGRAPH_LEGEND_SATURATED :{TINY_FONT}{BLACK}ar maos +STR_LINKGRAPH_LEGEND_OVERLOADED :{TINY_FONT}{BLACK}thar acmhainn # Base for station construction window(s) STR_STATION_BUILD_COVERAGE_AREA_TITLE :{BLACK}Aibhsigh an limistéar clúdaigh @@ -1867,6 +2286,10 @@ STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Tóg tol STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Athraigh idir tógáil/baint le haghaidh ráillí iarnróid, comharthaí, pointí bealaigh agus stáisiúin. Coinnigh síos Ctrl chun ráillí a bhaint ó phointí bealaigh agus ó stáisiúin freisin STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL :{BLACK}Tiontaigh/Uasghrádaigh an cineál ráille +STR_RAIL_NAME_RAILROAD :Iarnród +STR_RAIL_NAME_ELRAIL :Iarnród leictrithe +STR_RAIL_NAME_MONORAIL :Aonráille +STR_RAIL_NAME_MAGLEV :Maglev # Rail depot construction window STR_BUILD_DEPOT_TRAIN_ORIENTATION_CAPTION :{WHITE}Treoshuíomh an Iosta Traenach @@ -2104,6 +2527,10 @@ STR_INDUSTRY_DISPLAY_CHAIN :{BLACK}Taispeá STR_INDUSTRY_DISPLAY_CHAIN_TOOLTIP :{BLACK}Taispeáin na tionscadail a dhéanann lastas a sholáthar agus a ghlacann leis STR_INDUSTRY_CARGOES_NOTIFY_SMALLMAP :{BLACK}Nasc leis an léarscáil bheag STR_INDUSTRY_CARGOES_NOTIFY_SMALLMAP_TOOLTIP :{BLACK}Roghnaigh na tionscail a thaispeántar ar an léarscáil bheag chomh maith +STR_INDUSTRY_CARGOES_SELECT_CARGO :{BLACK}Roghnaigh lastas +STR_INDUSTRY_CARGOES_SELECT_CARGO_TOOLTIP :{BLACK}Roghnaigh an lastas is mian leat a thaispeáint +STR_INDUSTRY_CARGOES_SELECT_INDUSTRY :{BLACK}Roghnaigh tionscal +STR_INDUSTRY_CARGOES_SELECT_INDUSTRY_TOOLTIP :{BLACK}Roghnaigh an tionscal is mian leat a thaispeáint # Land area window STR_LAND_AREA_INFORMATION_CAPTION :{WHITE}Faisnéis faoin bPíosa Talún @@ -2128,6 +2555,7 @@ STR_LAND_AREA_INFORMATION_NEWGRF_NAME :{BLACK}NewGRF: STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Lastas a ghlactar leis: {LTBLUE} STR_LAND_AREA_INFORMATION_CARGO_EIGHTS :({COMMA}/8 {STRING}) STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Teorainn luais iarnróid: {LTBLUE}{VELOCITY} +STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}Teorainn luais na mbóithre: {LTBLUE}{VELOCITY} # Description of land area of different tiles STR_LAI_CLEAR_DESCRIPTION_ROCKS :Carraigeacha @@ -2138,6 +2566,29 @@ STR_LAI_CLEAR_DESCRIPTION_FIELDS :Garrantaí STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND :Talamh faoi shneachta STR_LAI_CLEAR_DESCRIPTION_DESERT :Fásach +STR_LAI_RAIL_DESCRIPTION_TRACK :{STRING} ráille +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :{STRING} ráille ar a bhfuil comharthaí bloc +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :{STRING} ráille ar a bhfuil réamhchomharthaí +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :{STRING} ráille ar a bhfuil comharthaí amach +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :{STRING} ráille ar a bhfuil comharthaí teaglama +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :{STRING} ráille ar a bhfuil comharthaí cosáin +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :{STRING} ráille ar a bhfuil comharthaí cosáin aonbhealaigh +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :{STRING} ráille ar a bhfuil comharthaí bloic agus réamhchomharthaí +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :{STRING} ráille ar a bhfuil comharthaí bloic agus amach +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :{STRING} ráille ar a bhfuil comharthaí bloic agus teaglama +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :{STRING} ráille ar a bhfuil comharthaí bloic agus cosáin +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :{STRING} ráille ar a bhfuil comharthaí bloic agus cosáin aonbhealaigh +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :{STRING} ráille ar a bhfuil réamhchomharthaí agus comharthaí amach +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :{STRING} ráille ar a bhfuil réamhchomharthaí agus comharthaí teaglama +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :{STRING} ráille ar a bhfuil réamhchomharthaí agus comharthaí cosáin +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :{STRING} ráille ar a bhfuil réamhchomharthaí agus comharthaí cosáin aonbhealaigh +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :{STRING} ráille ar a bhfuil comharthaí amach agus teaglama +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :{STRING} ráille ar a bhfuil comharthaí amach agus cosáin +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :{STRING} ráille ar a bhfuil comharthaí amach agus cosáin aonbhealaigh +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :{STRING} ráille ar a bhfuil comharthaí teaglama agus cosáin +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :{STRING} ráille ar a bhfuil comharthaí teaglama agus cosáin aonbhealaigh +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :{STRING} ráille ar a bhfuil comharthaí cosáin agus cosáin aonbhealaigh +STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :{STRING} iosta traenach STR_LAI_ROAD_DESCRIPTION_ROAD :Bóthair STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Bóthair le soilse sráide @@ -2201,7 +2652,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-2014 An fhoireann OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 An fhoireann OpenTTD # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Sábháil an Cluiche @@ -2209,6 +2660,7 @@ STR_SAVELOAD_LOAD_CAPTION :{WHITE}Lódáil STR_SAVELOAD_SAVE_SCENARIO :{WHITE}Sábháil Scéal STR_SAVELOAD_LOAD_SCENARIO :{WHITE}Lódáil Scéal STR_SAVELOAD_LOAD_HEIGHTMAP :{WHITE}Lódáil Mapa airde +STR_SAVELOAD_SAVE_HEIGHTMAP :{WHITE}Sábháil Mapa airde STR_SAVELOAD_HOME_BUTTON :{BLACK}Cliceáil anseo le léim chuig an comhadlann réamhshocraithe sábhála/lódála reatha STR_SAVELOAD_BYTES_FREE :{BLACK}{BYTES} saor STR_SAVELOAD_LIST_TOOLTIP :{BLACK}Liosta na dtiomántán, na gcomhadlann agus na gcomhad cluichí sábháilte @@ -2219,6 +2671,7 @@ STR_SAVELOAD_SAVE_BUTTON :{BLACK}Sábhái STR_SAVELOAD_SAVE_TOOLTIP :{BLACK}Sábháil an cluiche reatha, ag úsáid an t-ainm roghnaithe STR_SAVELOAD_LOAD_BUTTON :{BLACK}Lódáil STR_SAVELOAD_LOAD_TOOLTIP :{BLACK}Lódáil an cluiche roghnaithe +STR_SAVELOAD_LOAD_HEIGHTMAP_TOOLTIP :{BLACK}Lódáil an mapa airde roghnaithe STR_SAVELOAD_DETAIL_CAPTION :{BLACK}Sonraí an Chluiche STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}Níl aon fhaisnéis le fáil. STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING} @@ -2234,17 +2687,17 @@ STR_MAPGEN_BY :{BLACK}* STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Líon na mbailte: STR_MAPGEN_DATE :{BLACK}Dáta: STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Líon na dtionscal: +STR_MAPGEN_MAX_HEIGHTLEVEL :{BLACK}Airde uasta na léarscáile +STR_MAPGEN_MAX_HEIGHTLEVEL_UP :{BLACK}Méadaigh airde uasta na sléibhte ar an léarscáil de leibhéal amháin +STR_MAPGEN_MAX_HEIGHTLEVEL_DOWN :{BLACK}Laghdaigh airde uasta na sléibhte ar an léarscáil de leibhéal amháin STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}Airde na líne sneachta: STR_MAPGEN_SNOW_LINE_UP :{BLACK}Bog airde na líne sneachta suas ceann amháin STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}Bog airde na líne sneachta síos ceann amháin -STR_MAPGEN_RANDOM_SEED :{BLACK}Síol randamach: -STR_MAPGEN_RANDOM_SEED_HELP :{BLACK}Cliceáil chun síol randamach a iontráil -STR_MAPGEN_RANDOM :{BLACK}Déan randamú -STR_MAPGEN_RANDOM_HELP :{BLACK}Athraigh an síol randamach a úsáidtear chun an Tír-Raon a chruthú STR_MAPGEN_LAND_GENERATOR :{BLACK}Talamh a chruthú: STR_MAPGEN_TREE_PLACER :{BLACK}Algartam na gcrann: STR_MAPGEN_TERRAIN_TYPE :{BLACK}Cineál tír-raoin: STR_MAPGEN_QUANTITY_OF_SEA_LAKES :{BLACK}Leibhéal na farraige: +STR_MAPGEN_QUANTITY_OF_RIVERS :{BLACK}Aibhneacha: STR_MAPGEN_SMOOTHNESS :{BLACK}Míne: STR_MAPGEN_VARIETY :{BLACK}Éagsúlacht: STR_MAPGEN_GENERATE :{WHITE}Cruthaigh @@ -2266,7 +2719,7 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Ainm an STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Méid: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} -STR_MAPGEN_RANDOM_SEED_OSKTITLE :{BLACK}Iontráil síol randamach +STR_MAPGEN_MAX_HEIGHTLEVEL_QUERY_CAPT :{WHITE}Athraigh airde uasta na léarscáile STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}Athraigh airde na líne sneachta STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Athraigh an bhliain tosaigh @@ -2289,11 +2742,13 @@ STR_GENERATION_ABORT_MESSAGE :{YELLOW}An bhfu STR_GENERATION_PROGRESS :{WHITE}{NUM}% críochnaithe STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}Domhan a chruthú +STR_GENERATION_RIVER_GENERATION :{BLACK}Giniúint aibhneacha STR_GENERATION_TREE_GENERATION :{BLACK}Crainn a chruthú STR_GENERATION_OBJECT_GENERATION :{BLACK}Cruthú oibiachtaí STR_GENERATION_CLEARING_TILES :{BLACK}Limistear garbh agus carraigeach a chruthú STR_GENERATION_SETTINGUP_GAME :{BLACK}Cluiche á chumrú STR_GENERATION_PREPARING_TILELOOP :{BLACK}Lúb tíleanna á rith +STR_GENERATION_PREPARING_SCRIPT :{BLACK}Script reatha STR_GENERATION_PREPARING_GAME :{BLACK}Cluiche á ullmhú # NewGRF settings @@ -2319,9 +2774,12 @@ STR_NEWGRF_SETTINGS_MOVEUP :{BLACK}Bog Suas STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP :{BLACK}Bog an comhad NewGRF roghnaithe suas an liosta STR_NEWGRF_SETTINGS_MOVEDOWN :{BLACK}Bog Síos STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP :{BLACK}Bog an comhad NewGRF roghnaithe síos an liosta +STR_NEWGRF_SETTINGS_UPGRADE :{BLACK}Uasghrádaigh +STR_NEWGRF_SETTINGS_UPGRADE_TOOLTIP :{BLACK}Nuashonraigh comhaid NewGRF a bhfuil leagan níos nuaí díobh suiteáilte agat STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}Liosta de na comhaid NewGRF atá suiteáilte. Cliceáil ar chomhad chun a pharaiméadair a athrú STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}Socraigh paraiméadair +STR_NEWGRF_SETTINGS_SHOW_PARAMETERS :{BLACK}Taispeáin paraiméadair STR_NEWGRF_SETTINGS_TOGGLE_PALETTE :{BLACK}Scoránaigh an pailéad STR_NEWGRF_SETTINGS_TOGGLE_PALETTE_TOOLTIP :{BLACK}Déan an pailéad den NewGRF roghnaithe a scoránú.{}Déan é seo má bhíonn cuma bhándearg ar na grafaicí ón NewGRF seo sa chluiche STR_NEWGRF_SETTINGS_APPLY_CHANGES :{BLACK}Cuir athruithe i bhfeidhm @@ -2342,6 +2800,16 @@ STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Níor aims STR_NEWGRF_SETTINGS_DISABLED :{RED}Díchumasaithe STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Neamhchomhoiriúnach leis an leagan seo de OpenTTD +# NewGRF save preset window +STR_SAVE_PRESET_CAPTION :{WHITE}Sábháil réamhshocrú +STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK}Liosta de na réamhshocraithe atá ar fáil, roghnaigh ceann chun é a chóipeáil chuig an t-ainm sábháilte thíos +STR_SAVE_PRESET_TITLE :{BLACK}Iontráil ainm don réamhshocrú +STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}An t-ainm atá roghnaithe faoi láthair don réamhshocrú a shábhálfar +STR_SAVE_PRESET_CANCEL :{BLACK}Cuir ar ceal +STR_SAVE_PRESET_CANCEL_TOOLTIP :{BLACK}Ná hathraigh an réamhshocrú +STR_SAVE_PRESET_SAVE :{BLACK}Sábháil +STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}Sábháil an réamhshocrú faoin ainm atá roghnaithe faoi láthair + # NewGRF parameters window STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Athraigh na paraiméadair NewGRF STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Dún @@ -2372,7 +2840,6 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Sprite r STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Téigh ar aghaigh chuig an gnáth-sprite roimhe, ag scipeáil thar aon bhréag-sprite nó sprite athdathaithe/clófhoirne agus ag timfhilleadh ag an tús STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Léiriú den sprite atá roghnaithe faoi láthair. Déantar neamhaird den ailíniú agus an sprite seo á tharraingt STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Bog an sprite timpeall, ag athrú an seach-chur X agus Y -STR_SPRITE_ALIGNER_OFFSETS :{BLACK}seach-chur X: {NUM}, seach-chur Y: {NUM} STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Roghnaigh sprite STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Roghnaigh sprite ó áit ar bith ar an scáileán @@ -2394,8 +2861,17 @@ STR_NEWGRF_ERROR_OTTD_VERSION_NUMBER :{1:STRING}: Tá STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE :an comhad GRF a bhí sé deartha a aistriú STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :Tá an iomarca NewGRF lódáilte. STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :D'fhéadfaí go mbeidh díshioncronú ann má dhéantar {1:STRING} a lódáil mar NewGRF statach le {STRING}. +STR_NEWGRF_ERROR_UNEXPECTED_SPRITE :Sprid nach rabhthas ag súil léi (sprid {3:NUM}) +STR_NEWGRF_ERROR_UNKNOWN_PROPERTY :Airí Ghmíomhaíocht 0 anaithnid {4:HEX} (sprid {3:NUM}) +STR_NEWGRF_ERROR_INVALID_ID :Iarracht ID neamhbhailí a úsáid (sprid {3:NUM}) STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}Tá sprite truaillithe in {STRING}. Taispeánfar gach sprite truaillithe mar chomhartha ceiste (?) dearg. +STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Tá iontrálacha iolraccha Ghníomhaíocht 8 ann (sprid {3:NUM}) +STR_NEWGRF_ERROR_READ_BOUNDS :Léadh tar éis deireadh an pseudo-sprid (sprid {3:NUM}) STR_NEWGRF_ERROR_MISSING_SPRITES :{WHITE}Tá roinnt sprite in easnamh sa tsraith bhunúsach grafaicí atá in úsáid faoi láthair.{}Déan úasghrádú ar an tsraith bhunúsach grafaicí le do thoil +STR_NEWGRF_ERROR_MISSING_SPRITES_UNSTABLE :{WHITE}Tá roinnt sprideanna in easnamh sa tacar bunghraificí atá in úsáid faoi láthair.{}Nuashonraigh an tacar bunghraificí.{}Toisc go bhfuil tú ag imirt ar {YELLOW}roghbhlúire forbróirí (development snapshot) OpenTTD{WHITE}, seans go mbeidh {YELLOW}roghbhlúire forbróirí de na bunghraificí{WHITE} ag teastáil uait +STR_NEWGRF_ERROR_GRM_FAILED :Níl na hacmhainní GRF a iarradh ar fáil (sprid {3:NUM}) +STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :Bhí {1:STRING} díchumasaithe ag {2:STRING} +STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Formáid neamhbhailí/anaithnid do leagan amach na spride (sprid {3:NUM}) # NewGRF related 'general' warnings STR_NEWGRF_POPUP_CAUTION_CAPTION :{WHITE}Rabhadh! @@ -2420,11 +2896,13 @@ STR_NEWGRF_LIST_MISSING :{RED}Comhaid ar STR_NEWGRF_BROKEN :{WHITE}Tá seans maith ann go mbeidh díshioncronú agus/nó tuairteálacha de thoradh ar iompar an NewGRF '{0:STRING}'. STR_NEWGRF_BROKEN_POWERED_WAGON :{WHITE}D'athraigh sé an staid vaigín cumhachtaithe le haghaidh '{1:ENGINE}' nuair nach bhfuil sé in iosta. STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}D'athraigh sé fad na feithicle le haghaidh '{1:ENGINE}' nuair nach bhfuil sé laistigh d'iosta. +STR_NEWGRF_BROKEN_CAPACITY :{WHITE}D'athraigh sé toilleadh na feithicle i gcomhair '{1:ENGINE}' nuair nach raibh sí laistigh d'iosta ná á hathfheistiú STR_BROKEN_VEHICLE_LENGTH :{WHITE}Tá fad neamhbhailí ag '{VEHICLE}' le '{COMPANY}'. Is dócha gur fadhbanna le NewGRFanna is cúis leis. Is féidir go ndíshioncronófar an cluiche nó go gclisfidh sé STR_NEWGRF_BUGGY :{WHITE}Cuireann an NewGRF '{0:STRING}' faisnéis mícheart ar fáil. STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}Tá an fhaisnéis lastais/athfheistithe le haghaidh '{1:ENGINE}' difriúil ón liosta ceannacháin i ndiaidh tógála. B'fhéidir go dteipfidh uath-athnuachan/uath-ionadú athfheistiú i gceart dá bharr. STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}Chruthaigh '{1:STRING}' lúb éigríochta san aisghlaoch táirgeachta. +STR_NEWGRF_BUGGY_UNKNOWN_CALLBACK_RESULT :{WHITE}Tháinig toradh anaithnid/neamhbhailí {2:HEX} ón aisghlaoch {1:HEX} # 'User removed essential NewGRFs'-placeholders for stuff without specs STR_NEWGRF_INVALID_CARGO : @@ -2434,8 +2912,13 @@ STR_NEWGRF_INVALID_ENGINE : # Placeholders for other invalid stuff, e.g. vehicles that have gone (Game Script). +STR_INVALID_VEHICLE : # NewGRF scanning window +STR_NEWGRF_SCAN_CAPTION :{WHITE}NewGRFanna á scanadh +STR_NEWGRF_SCAN_MESSAGE :{BLACK}NewGRFanna á scanadh. Ag brath ar an líon acu atá ann, seans go dtógfaidh sé tamall... +STR_NEWGRF_SCAN_STATUS :{BLACK}Scanadh {NUM} NewGRF as líon measta {NUM} NewGRF{P "" anna anna anna anna} +STR_NEWGRF_SCAN_ARCHIVES :Cartlanna á scanadh # Sign list window STR_SIGN_LIST_CAPTION :{WHITE}Liosta Comhartaí - {COMMA} {P Ch Ch Ch gC C}omhartha @@ -2465,6 +2948,12 @@ STR_TOWN_VIEW_MAIL_LAST_MONTH_MAX :{BLACK}Post an STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH :{BLACK}Lastas atá ag teastáil le go bhfásfaidh an baile: STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_GENERAL :{ORANGE}{STRING}{RED} ag teastáil STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING}{BLACK} ag teastáil sa Gheimhreadh +STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} seachadta +STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (fós ag teastáil) +STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (seachadta) +STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Fásann an baile gach {ORANGE}{COMMA}{BLACK}{NBSP}lá{P "" "" "" "" ""} +STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Fásann an baile gach {ORANGE}{COMMA}{BLACK}{NBSP}lá{P "" "" "" "" ""} (maoinithe) +STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}{RED}Níl{BLACK} an baile ag fás STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Teorainn torainn sa bhaile: {ORANGE}{COMMA}{BLACK} uasmhéid: {ORANGE}{COMMA} STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Cuir suíomh an bhaile i lár an phríomh-amhairc. Osclaítar amharc nua ar shuíomh an bhaile le Ctrl+Cliceáil STR_TOWN_VIEW_LOCAL_AUTHORITY_BUTTON :{BLACK}Údarás áitiúil @@ -2506,7 +2995,16 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}Ceannai STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Tabhair breab don údarás áitiúil chun do rátáil a mhéadú, leis an mbaol ann go mbeidh pionós trom ort má bheirtear ort.{}Costas: {CURRENCY_LONG} # Goal window +STR_GOALS_CAPTION :{WHITE}Spriocanna {COMPANY} +STR_GOALS_SPECTATOR_CAPTION :{WHITE}Spriocanna Uilíocha +STR_GOALS_GLOBAL_TITLE :{BLACK}Spriocanna uilíocha: STR_GOALS_TEXT :{ORANGE}{STRING} +STR_GOALS_NONE :{ORANGE}- Ceann ar bith - +STR_GOALS_SPECTATOR_NONE :{ORANGE}- Neamhbhainteach - +STR_GOALS_PROGRESS :{ORANGE}{STRING} +STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING} +STR_GOALS_COMPANY_TITLE :{BLACK}Spriocanna na cuideachta: +STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Cliceáil ar an sprioc chun an príomhamharc a lárú ar an tionscal/baile/tíle. Ctrl+Cliceáil chun fuinneog amhairc nua a oscailt ar shuíomh an tionscail/an bhaile/na tíle # Goal question window STR_GOAL_QUESTION_CAPTION_QUESTION :Ceist @@ -2514,18 +3012,47 @@ STR_GOAL_QUESTION_CAPTION_INFORMATION :Faisnéis STR_GOAL_QUESTION_CAPTION_WARNING :Rabhadh STR_GOAL_QUESTION_CAPTION_ERROR :Earráid -### Start of Goal Question button list +############ Start of Goal Question button list +STR_GOAL_QUESTION_BUTTON_CANCEL :Cuir ar ceal +STR_GOAL_QUESTION_BUTTON_OK :OK +STR_GOAL_QUESTION_BUTTON_NO :Níl +STR_GOAL_QUESTION_BUTTON_YES :Tá +STR_GOAL_QUESTION_BUTTON_DECLINE :Diúltaigh +STR_GOAL_QUESTION_BUTTON_ACCEPT :Glac leis +STR_GOAL_QUESTION_BUTTON_IGNORE :Déan neamhaird de +STR_GOAL_QUESTION_BUTTON_RETRY :Atriail +STR_GOAL_QUESTION_BUTTON_PREVIOUS :Roimhe +STR_GOAL_QUESTION_BUTTON_NEXT :Ar aghaidh +STR_GOAL_QUESTION_BUTTON_STOP :Stop +STR_GOAL_QUESTION_BUTTON_START :Tosaigh +STR_GOAL_QUESTION_BUTTON_GO :Téigh +STR_GOAL_QUESTION_BUTTON_CONTINUE :Lean ar aghaidh +STR_GOAL_QUESTION_BUTTON_RESTART :Atosaigh +STR_GOAL_QUESTION_BUTTON_POSTPONE :Cuir siar +STR_GOAL_QUESTION_BUTTON_SURRENDER :Géill +STR_GOAL_QUESTION_BUTTON_CLOSE :Dún +############ End of Goal Question button list # Subsidies window -STR_SUBSIDIES_CAPTION :{WHITE}Fordheontais -STR_SUBSIDIES_OFFERED_TITLE :{BLACK}Fordheontais le fáil do sheirbhísí chun: -STR_SUBSIDIES_OFFERED_FROM_TO :{ORANGE}{STRING} a thabhairt ó{STRING} go {STRING}{YELLOW} (roimh {DATE_SHORT}) +STR_SUBSIDIES_CAPTION :{WHITE}Fóirdheontais +STR_SUBSIDIES_OFFERED_TITLE :{BLACK}Fóirdheontais le fáil do sheirbhísí chun: +STR_SUBSIDIES_OFFERED_FROM_TO :{ORANGE}{STRING} a thabhairt ó {STRING} go {STRING}{YELLOW} (roimh {DATE_SHORT}) STR_SUBSIDIES_NONE :{ORANGE}- Ceann ar bith - -STR_SUBSIDIES_SUBSIDISED_TITLE :{BLACK}Seirbhísí a fhaigheann fordheontas: +STR_SUBSIDIES_SUBSIDISED_TITLE :{BLACK}Seirbhísí a fhaigheann fóirdheontas: STR_SUBSIDIES_SUBSIDISED_FROM_TO :{ORANGE}{STRING} a thabhairt ó {STRING} go {STRING}{YELLOW} ({COMPANY}{YELLOW}, go dtí {DATE_SHORT}) STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Cliceáil ar sheirbhís chun an t-amharc a lárú ar thionscal/bhaile. Déantar amharc nua a oscailt ar shuíomh an tionscail/bhaile le Ctrl+Cliceáil # Story book window +STR_STORY_BOOK_CAPTION :{WHITE}Leabhar Scéalta {COMPANY} +STR_STORY_BOOK_SPECTATOR_CAPTION :{WHITE}Leabhar Scéalta Uilíoch +STR_STORY_BOOK_TITLE :{YELLOW}{STRING} +STR_STORY_BOOK_GENERIC_PAGE_ITEM :Leathanach {NUM} +STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Léim chuig leathanach ar leith trína roghnú sa liosta anuas seo. +STR_STORY_BOOK_PREV_PAGE :{BLACK}Roimhe +STR_STORY_BOOK_PREV_PAGE_TOOLTIP :{BLACK}Gabh chuig an leathanach roimhe +STR_STORY_BOOK_NEXT_PAGE :{BLACK}Ar aghaidh +STR_STORY_BOOK_NEXT_PAGE_TOOLTIP :{BLACK}Gabh chuig an chéad leathanach eile +STR_STORY_BOOK_INVALID_GOAL_REF :{RED}Tagairt neamhbhailí spriocanna # Station list window STR_STATION_LIST_TOOLTIP :{BLACK}Ainmneacha na stáisiún - cliceáil ar ainm chun an t-amharc a lárú ar stáisiún. Osclaítear amharc nua ar shuíomh an stáisiúin le Ctrl+Cliceáil @@ -2540,19 +3067,44 @@ STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}Níl las # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} -STR_STATION_VIEW_WAITING_TITLE :{BLACK}Ag fanacht: {WHITE}{STRING} STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} ar an mbealach ó {STATION}) +STR_STATION_VIEW_RESERVED :{YELLOW}({CARGO_SHORT} forchoimeádta i gcomhair lódála) STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Glactar le 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_RATINGS_BUTTON :{BLACK}Rátálacha STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Taispeáin rátálacha na stáisiún +STR_STATION_VIEW_SUPPLY_RATINGS_TITLE :{BLACK}Soláthar míosúil agus rátáil áitiúil: +STR_STATION_VIEW_CARGO_SUPPLY_RATING :{WHITE}{STRING}: {YELLOW}{COMMA} / {STRING} ({COMMA}%) +STR_STATION_VIEW_GROUP :{BLACK}Grúpáil de réir +STR_STATION_VIEW_WAITING_STATION :Stáisiún: Ag fanacht +STR_STATION_VIEW_WAITING_AMOUNT :Méid: Ag fanacht +STR_STATION_VIEW_PLANNED_STATION :Stáisiún: Beartaithe +STR_STATION_VIEW_PLANNED_AMOUNT :Méid: Beartaithe +STR_STATION_VIEW_FROM :{YELLOW}{CARGO_SHORT} ó {STATION} +STR_STATION_VIEW_VIA :{YELLOW}{CARGO_SHORT} via {STATION} +STR_STATION_VIEW_TO :{YELLOW}{CARGO_SHORT} chuig {STATION} +STR_STATION_VIEW_FROM_ANY :{RED}{CARGO_SHORT} ó stáisiún anaithnid +STR_STATION_VIEW_TO_ANY :{RED}{CARGO_SHORT} chuig stáisiún ar bith +STR_STATION_VIEW_VIA_ANY :{RED}{CARGO_SHORT} via stáisiún ar bith +STR_STATION_VIEW_FROM_HERE :{GREEN}{CARGO_SHORT} ón stáisiún seo +STR_STATION_VIEW_VIA_HERE :{GREEN}{CARGO_SHORT} a stopann ag an stáisiún seo +STR_STATION_VIEW_TO_HERE :{GREEN}{CARGO_SHORT} chuig an stáisiún seo +STR_STATION_VIEW_NONSTOP :{YELLOW}{CARGO_SHORT} gan stad +STR_STATION_VIEW_GROUP_S_V_D :Foinse-Via-Ceann scríbe +STR_STATION_VIEW_GROUP_S_D_V :Foinse-Ceann scríbe-Via +STR_STATION_VIEW_GROUP_V_S_D :Via-Foinse-Ceann scríbe +STR_STATION_VIEW_GROUP_V_D_S :Via-Ceann scríbe-Foinse +STR_STATION_VIEW_GROUP_D_S_V :Ceann scríbe-Foinse-Via +STR_STATION_VIEW_GROUP_D_V_S :Ceann scríbe-Via-Foinse ############ range for rating starts STR_CARGO_RATING_APPALLING :Uafásach @@ -2575,6 +3127,8 @@ STR_STATION_VIEW_SCHEDULED_SHIPS_TOOLTIP :{BLACK}Taispeá STR_STATION_VIEW_RENAME_STATION_CAPTION :Athainmnigh stáisiún/limistéar lódála +STR_STATION_VIEW_CLOSE_AIRPORT :{BLACK}Dún an t-aerfort +STR_STATION_VIEW_CLOSE_AIRPORT_TOOLTIP :{BLACK}Cuir cosc ar aerárthaigh tuirlingt ag an aerfort seo # Waypoint/buoy view window STR_WAYPOINT_VIEW_CAPTION :{WHITE}{WAYPOINT} @@ -2609,10 +3163,11 @@ STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}Iarmhéi STR_FINANCES_LOAN_TITLE :{WHITE}Iasacht STR_FINANCES_MAX_LOAN :{WHITE}Iasacht Uasta: {BLACK}{CURRENCY_LONG} STR_FINANCES_TOTAL_CURRENCY :{BLACK}{CURRENCY_LONG} -STR_FINANCES_BORROW_BUTTON :{BLACK}Tabhair ar iasacht{CURRENCY_LONG} -STR_FINANCES_BORROW_TOOLTIP :{BLACK}Méadaigh méid na hiasachta. Tógtar an oiread agus is féidir a fháil ar iasacht le Ctrl+Cliceáil -STR_FINANCES_REPAY_BUTTON :{BLACK}Aisíoc{CURRENCY_LONG} -STR_FINANCES_REPAY_TOOLTIP :{BLACK}Aisíoc cuid den íosacht. Déantar an oiread agus is féidir den iasacht a aisíoc le Ctrl+Cliceáil +STR_FINANCES_BORROW_BUTTON :{BLACK}Faigh {CURRENCY_LONG} ar iasacht +STR_FINANCES_BORROW_TOOLTIP :{BLACK}Méadaigh méid na hiasachta. Ctrl+Cliceáil chun an oiread agus is féidir a fháil ar iasacht +STR_FINANCES_REPAY_BUTTON :{BLACK}Aisíoc {CURRENCY_LONG} +STR_FINANCES_REPAY_TOOLTIP :{BLACK}Aisíoc cuid den íosacht. Ctrl+Cliceáil chun an oiread agus is féidir den iasacht a aisíoc +STR_FINANCES_INFRASTRUCTURE_BUTTON :{BLACK}Bonneagar # Company view STR_COMPANY_VIEW_CAPTION :{WHITE}{COMPANY} {BLACK}{COMPANY_NUM} @@ -2628,6 +3183,13 @@ STR_COMPANY_VIEW_SHIPS :{WHITE}{COMMA} STR_COMPANY_VIEW_VEHICLES_NONE :{WHITE}Ceann ar bith STR_COMPANY_VIEW_COMPANY_VALUE :{GOLD}Luach na cuideachta: {WHITE}{CURRENCY_LONG} STR_COMPANY_VIEW_SHARES_OWNED_BY :{WHITE}(is le {1:COMPANY} {0:COMMA}%) +STR_COMPANY_VIEW_INFRASTRUCTURE :{GOLD}Bonneagar: +STR_COMPANY_VIEW_INFRASTRUCTURE_RAIL :{WHITE}{COMMA} {P ph ph ph bp p}íosa iarnróid +STR_COMPANY_VIEW_INFRASTRUCTURE_ROAD :{WHITE}{COMMA} {P ph ph ph bp p}íosa bóthair +STR_COMPANY_VIEW_INFRASTRUCTURE_WATER :{WHITE}{COMMA} {P th th th dt t}íl uisce +STR_COMPANY_VIEW_INFRASTRUCTURE_STATION :{WHITE}{COMMA} {P th th th dt t}íl stáisiúin +STR_COMPANY_VIEW_INFRASTRUCTURE_AIRPORT :{WHITE}{COMMA} {P "" "" "" n- ""}aerfort +STR_COMPANY_VIEW_INFRASTRUCTURE_NONE :{WHITE}Rud ar bith STR_COMPANY_VIEW_BUILD_HQ_BUTTON :{BLACK}Tóg CC STR_COMPANY_VIEW_BUILD_HQ_TOOLTIP :{BLACK}Tóg ceanncheathrú na cuideachta @@ -2635,6 +3197,8 @@ STR_COMPANY_VIEW_VIEW_HQ_BUTTON :{BLACK}Breathan STR_COMPANY_VIEW_VIEW_HQ_TOOLTIP :{BLACK}Breathnaigh ar cheanncheathrú na cuideachta STR_COMPANY_VIEW_RELOCATE_HQ :{BLACK}Athlonnaigh an CC STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS :{BLACK}Tóg ceanncheathrú na cuideachta in áit eile ar chostas 1% de luach na cuideachta +STR_COMPANY_VIEW_INFRASTRUCTURE_BUTTON :{BLACK}Sonraí +STR_COMPANY_VIEW_INFRASTRUCTURE_TOOLTIP :{BLACK}Taispeáin líon mionsonraithe na bpíosaí bonneagair STR_COMPANY_VIEW_NEW_FACE_BUTTON :{BLACK}Aghaigh Nua STR_COMPANY_VIEW_NEW_FACE_TOOLTIP :{BLACK}Roghnaigh aghaidh nua don bhainisteoir @@ -2656,6 +3220,18 @@ STR_COMPANY_VIEW_PRESIDENT_S_NAME_QUERY_CAPTION :Ainm an Bhainis STR_BUY_COMPANY_MESSAGE :{WHITE}Tá cuideachta iompair á lorg againn chun seilbh a ghlacadh ar ár gcuideachta.{}{}An bhfuil fonn ort seilbh a ghlacadh ar {COMPANY} ar chostas {CURRENCY_LONG}? # Company infrastructure window +STR_COMPANY_INFRASTRUCTURE_VIEW_CAPTION :{WHITE}Bonneagar {COMPANY} +STR_COMPANY_INFRASTRUCTURE_VIEW_RAIL_SECT :{GOLD}Píosaí iarnróid: +STR_COMPANY_INFRASTRUCTURE_VIEW_SIGNALS :{WHITE}Comharthaí +STR_COMPANY_INFRASTRUCTURE_VIEW_ROAD_SECT :{GOLD}Píosaí bóthair: +STR_COMPANY_INFRASTRUCTURE_VIEW_ROAD :{WHITE}Bóthar +STR_COMPANY_INFRASTRUCTURE_VIEW_TRAMWAY :{WHITE}Trambhealach +STR_COMPANY_INFRASTRUCTURE_VIEW_WATER_SECT :{GOLD}Tíleanna uisce: +STR_COMPANY_INFRASTRUCTURE_VIEW_CANALS :{WHITE}Canálacha +STR_COMPANY_INFRASTRUCTURE_VIEW_STATION_SECT :{GOLD}Stáisiúin: +STR_COMPANY_INFRASTRUCTURE_VIEW_STATIONS :{WHITE}Tíleanna stáisiúin +STR_COMPANY_INFRASTRUCTURE_VIEW_AIRPORTS :{WHITE}Aerfoirt +STR_COMPANY_INFRASTRUCTURE_VIEW_TOTAL :{WHITE}{CURRENCY_LONG}/bl # Industry directory STR_INDUSTRY_DIRECTORY_CAPTION :{WHITE}Tionscail @@ -2671,6 +3247,7 @@ STR_INDUSTRY_VIEW_PRODUCTION_LAST_MONTH_TITLE :{BLACK}Táirgea STR_INDUSTRY_VIEW_TRANSPORTED :{YELLOW}{CARGO_LONG}{STRING}{BLACK} (iompraíodh {COMMA}%) STR_INDUSTRY_VIEW_LOCATION_TOOLTIP :{BLACK}Láraigh an príomhamharc ar shuíomh an tionscail. Osclaítear amharc nua ar shuíomh an tionscail le Ctrl+Cliceáil STR_INDUSTRY_VIEW_PRODUCTION_LEVEL :{BLACK}Leibhéal táirgeachta: {YELLOW}{COMMA}% +STR_INDUSTRY_VIEW_INDUSTRY_ANNOUNCED_CLOSURE :{YELLOW}D'fhógair an tionscal go ndúnfaidh sé gan mhoill! ############ range for requires starts STR_INDUSTRY_VIEW_REQUIRES_CARGO :{BLACK}Teastaíonn: {YELLOW}{STRING}{STRING} @@ -2739,6 +3316,9 @@ STR_GROUP_DELETE_TOOLTIP :{BLACK}Scrios a STR_GROUP_RENAME_TOOLTIP :{BLACK}Athainmnigh an grúpa roghnaithe STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Cliceáil chun an grúpa seo a chosaint ón uathionadú uilíoch +STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Scrios Grúpa +STR_GROUP_DELETE_QUERY_TEXT :{WHITE}Am bhfuil tú cinnte gur mhaith leat an grúpa seo agus aon fhoghrúpaí a scriosadh?? + STR_GROUP_ADD_SHARED_VEHICLE :Cuir le feithiclí comhroinnte STR_GROUP_REMOVE_ALL_VEHICLES :Bain gach feithicil @@ -2758,6 +3338,8 @@ STR_BUY_VEHICLE_AIRCRAFT_CAPTION :Aerárthaigh Nu STR_PURCHASE_INFO_COST_WEIGHT :{BLACK}Costas: {GOLD}{CURRENCY_LONG}{BLACK} Meáchan: {GOLD}{WEIGHT_SHORT} STR_PURCHASE_INFO_SPEED_POWER :{BLACK}Luas: {GOLD}{VELOCITY}{BLACK} Cumhacht: {GOLD}{POWER} STR_PURCHASE_INFO_SPEED :{BLACK}Luas: {GOLD}{VELOCITY} +STR_PURCHASE_INFO_SPEED_OCEAN :{BLACK}Luas ar aigéan: {GOLD}{VELOCITY} +STR_PURCHASE_INFO_SPEED_CANAL :{BLACK}Luas ar chanáil/abhainn: {GOLD}{VELOCITY} STR_PURCHASE_INFO_RUNNINGCOST :{BLACK}Costas Coinneála: {GOLD}{CURRENCY_LONG}/bl STR_PURCHASE_INFO_CAPACITY :{BLACK}Toilleadh: {GOLD}{CARGO_LONG} {STRING} STR_PURCHASE_INFO_REFITTABLE :(is féidir athfheistiú) @@ -2772,6 +3354,7 @@ STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Is féid STR_PURCHASE_INFO_ALL_TYPES :Gach cineál lastais STR_PURCHASE_INFO_ALL_BUT :Gach rud seachas {CARGO_LIST} STR_PURCHASE_INFO_MAX_TE :{BLACK}Iarracht uasta tarraingthe: {GOLD}{FORCE} +STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Raon: {GOLD}{COMMA} tíl STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Liosta chun feithicil traenach a roghnú - cliceáil ar fheithicil le faisnéis a fháil STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Liosta chun feithicil bóthair a roghnú - cliceáil ar fheithicil le faisnéis a fháil @@ -2798,6 +3381,21 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Athainmn STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Athainmnigh an cineál loinge STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Athainmnigh an cineál aerárthaigh +STR_BUY_VEHICLE_TRAIN_HIDE_TOGGLE_BUTTON :{BLACK}Folaigh +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_TOGGLE_BUTTON :{BLACK}Folaigh +STR_BUY_VEHICLE_SHIP_HIDE_TOGGLE_BUTTON :{BLACK}Folaigh +STR_BUY_VEHICLE_AIRCRAFT_HIDE_TOGGLE_BUTTON :{BLACK}Folaigh + +STR_BUY_VEHICLE_TRAIN_SHOW_TOGGLE_BUTTON :{BLACK}Taispeáin +STR_BUY_VEHICLE_ROAD_VEHICLE_SHOW_TOGGLE_BUTTON :{BLACK}Taispeáin +STR_BUY_VEHICLE_SHIP_SHOW_TOGGLE_BUTTON :{BLACK}Taispeáin +STR_BUY_VEHICLE_AIRCRAFT_SHOW_TOGGLE_BUTTON :{BLACK}Taispeáin + +STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Athraigh idir an cineál feithicle traenacha a fholú nó a thaispeáint +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Athraigh idir an cineál feithicle bóthair a fholú nó a thaispeáint +STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Athraigh idir an cineál loinge a fholú nó a thaispeáint +STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Athraigh idir an cineál aerárthaigh a fholú nó a thaispeáint + STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}Athainmnigh an cineál feithicle traenach STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}Athainmnigh an cineál feithicle bóthair STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}Athainmnigh an cineál loinge @@ -2888,10 +3486,12 @@ STR_ENGINE_PREVIEW_SHIP :long STR_ENGINE_PREVIEW_MONORAIL_LOCOMOTIVE :inneall gluaiste aonráille STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :inneall gluaiste maglev -STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Cost:as {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 :{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 # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Ionadaigh{STRING} - {STRING} @@ -2900,13 +3500,21 @@ STR_REPLACE_VEHICLE_ROAD_VEHICLE :Feithicil Bóth STR_REPLACE_VEHICLE_SHIP :Long STR_REPLACE_VEHICLE_AIRCRAFT :Aerárthach +STR_REPLACE_VEHICLE_VEHICLES_IN_USE :{YELLOW}Feithiclí atá in úsáid +STR_REPLACE_VEHICLE_VEHICLES_IN_USE_TOOLTIP :{BLACK}Colún le feithiclí ar leatsa iad +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES :{YELLOW}Feithiclí atá ar fáil +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES_TOOLTIP :{BLACK}Colún leis na feithiclí atá ar fáil chun ionadú a dhéanamh + STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Roghnaigh an cineál innill le hathsholáthar STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Roghnaigh an cineál nua innill is mian leat a úsáid in ionad an chineáil innill atá roghnaithe ar chlé STR_REPLACE_VEHICLES_START :{BLACK}Tosaigh ag athsholáthar Feithiclí +STR_REPLACE_VEHICLES_NOW :Ionadaigh gach feithicil anois +STR_REPLACE_VEHICLES_WHEN_OLD :Ionadaigh seanfheithiclí amháin STR_REPLACE_HELP_START_BUTTON :{BLACK}Brúigh le tús a chur leis an gcineál innill atá roghnaithe ar chlé a athsholáthar leis an gcineál innill atá roghnaithe ar dheis STR_REPLACE_NOT_REPLACING :{BLACK}Níl athsholáthar ar bun STR_REPLACE_NOT_REPLACING_VEHICLE_SELECTED :{BLACK}Níl aon fheithicil roghnaithe +STR_REPLACE_REPLACING_WHEN_OLD :{ENGINE} má tá sé sean STR_REPLACE_VEHICLES_STOP :{BLACK}Stad ag athsholáthar Feithiclí STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Brúigh chun deireadh a chur le hathsholáthar den chineál innill atá roghnaithe ar chlé @@ -2977,6 +3585,7 @@ STR_VEHICLE_STATUS_STOPPED :{RED}Stoptha STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}Ag stopadh, {VELOCITY} STR_VEHICLE_STATUS_TRAIN_NO_POWER :{RED}Gan chumhacht STR_VEHICLE_STATUS_TRAIN_STUCK :{ORANGE}Ag fanacht ar chosán saor +STR_VEHICLE_STATUS_AIRCRAFT_TOO_FAR :{ORANGE}Rófhada chuig an chéad cheann scríbe eile STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}Ag déanamh ar {STATION}, {VELOCITY} STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}Gan ordú, {VELOCITY} @@ -3005,6 +3614,7 @@ 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} @@ -3061,7 +3671,9 @@ STR_VEHICLE_DETAILS_TRAIN_ARTICULATED_RV_CAPACITY :{BLACK}Toillead STR_REFIT_CAPTION :{WHITE}{VEHICLE} (Athfeistigh) STR_REFIT_TITLE :{GOLD}Roghnaigh an lastas le hiompar: STR_REFIT_NEW_CAPACITY_COST_OF_REFIT :{BLACK}Toilleadh nua: {GOLD}{CARGO_LONG}{}{BLACK}Costas an aisfheistithe: {RED}{CURRENCY_LONG} +STR_REFIT_NEW_CAPACITY_INCOME_FROM_REFIT :{BLACK}Toilleadh nua: {GOLD}{CARGO_LONG}{}{BLACK}Ioncam ón athfheistiú: {GREEN}{CURRENCY_LONG} STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT :{BLACK}Toilleadh nua: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Costas athfheistithe: {RED}{CURRENCY_LONG} +STR_REFIT_NEW_CAPACITY_INCOME_FROM_AIRCRAFT_REFIT :{BLACK}Toilleadh nua: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Ioncam ón athfheistiú: {GREEN}{CURRENCY_LONG} STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}Roghnaigh na feithiclí le hathfheistiú. Is féidir níos mó ná feithicil amháin a roghnú trí tharraingt leis an luch. Roghnófar an fheithicil iomlán má chliceáltar ar spás folamh. Roghnófar feithicil agus an slabhra ina dhiaidh le Ctrl+Cliceáil STR_REFIT_TRAIN_LIST_TOOLTIP :{BLACK}Roghnaigh an cineál lastais a iompróidh an traein @@ -3115,6 +3727,10 @@ STR_ORDER_TOOLTIP_UNLOAD :{BLACK}Athraigh STR_ORDER_REFIT :{BLACK}Athfheistigh STR_ORDER_REFIT_TOOLTIP :{BLACK}Roghnaigh an cineál lastais le hathfheistiú chuig san ordú seo. Bainfear an t-ordú athfheistithe le Ctrl+Cliceáil +STR_ORDER_REFIT_AUTO :{BLACK}Athfheistigh ag stáisiún +STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Roghnaigh an cineál lastais a ndéanfar athfeistiú chuige san ordú seo. Ctrl+Cliceáil chun an t-ordú athfheistithe a bhaint. Ní dhéanfar athfheistiú ag stáisiún ach amháin má cheadaíonn an fheithicil sin +STR_ORDER_DROP_REFIT_AUTO :Lastas seasta +STR_ORDER_DROP_REFIT_AUTO_ANY :Lastas atá ar fáil STR_ORDER_SERVICE :{BLACK}Seirbhísigh STR_ORDER_DROP_GO_ALWAYS_DEPOT :Téigh i gcónaí @@ -3131,6 +3747,7 @@ STR_ORDER_CONDITIONAL_MAX_SPEED :Luas uasta STR_ORDER_CONDITIONAL_AGE :Aois na feithicle (blianta) STR_ORDER_CONDITIONAL_REQUIRES_SERVICE :Seirbhís ag teastáil STR_ORDER_CONDITIONAL_UNCONDITIONALLY :I gcónaí +STR_ORDER_CONDITIONAL_REMAINING_LIFETIME :Saolré fágtha (blianta) STR_ORDER_CONDITIONAL_COMPARATOR_TOOLTIP :{BLACK}Conas sonraí na feithicle a chur i gcomparáid leis an luach a tugadh STR_ORDER_CONDITIONAL_COMPARATOR_EQUALS :cothrom le @@ -3202,12 +3819,26 @@ STR_ORDER_NO_UNLOAD_FULL_LOAD :(Ná dílódái STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY :(Ná dílódáil agus fan ar lasta iomlán ar bith) STR_ORDER_NO_UNLOAD_NO_LOAD :(Ná dílódáil agus ná lódáil) +STR_ORDER_AUTO_REFIT :(Athfheistigh go {STRING}) +STR_ORDER_FULL_LOAD_REFIT :(Lastas iomlán le hathfheistiú go {STRING}) +STR_ORDER_FULL_LOAD_ANY_REFIT :(Lastas iomlán de lastas ar bith le hathfheistiú go {STRING}) +STR_ORDER_UNLOAD_REFIT :(Dílódáil agus tóg lastas le hathfheistiú go {STRING}) +STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(Dílódáil agus fan ar lastas iomlán le hathfheistiú go {STRING}) +STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(Dílódáil agus fan ar aon lód iomlán le hathfheistiú go {STRING}) +STR_ORDER_TRANSFER_REFIT :(Aistrigh agus tóg lastas le hathfheistiú go {STRING}) +STR_ORDER_TRANSFER_FULL_LOAD_REFIT :(Aistrigh agus fan ar lód iomlán le hathfeistiú go {STRING}) +STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :(Aistrigh agus fan ar aon lód iomlán le hathfheistiú go {STRING}) +STR_ORDER_NO_UNLOAD_REFIT :(Ná dílódáil agus tóg lastas le hathfeistiú go {STRING}) +STR_ORDER_NO_UNLOAD_FULL_LOAD_REFIT :(Ná dílódáil agus fan ar lód iomlán le hathfheistiú go {STRING}) +STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY_REFIT :(Ná dílódáil agus fan ar aon lód iomlán le hathfeistiú go {STRING}) +STR_ORDER_AUTO_REFIT_ANY :lastas atá ar fáil STR_ORDER_STOP_LOCATION_NEAR_END :[taobh is gaire] STR_ORDER_STOP_LOCATION_MIDDLE :[lár] STR_ORDER_STOP_LOCATION_FAR_END :[taobh is faide] +STR_ORDER_OUT_OF_RANGE :{RED} (Tá an chéad cheann scríbe eile as raon) STR_ORDER_CONDITIONAL_UNCONDITIONAL :Léim chuig ordú {COMMA} STR_ORDER_CONDITIONAL_NUM :Léim chuig ordú {COMMA} nuair {STRING} {STRING} {COMMA} @@ -3225,9 +3856,13 @@ STR_TIMETABLE_TOOLTIP :{BLACK}Amchlár STR_TIMETABLE_NO_TRAVEL :Ná taisteal STR_TIMETABLE_NOT_TIMETABLEABLE :Taisteal (uathoibríoch; curtha ar an gclár ama ag an chéad ordú de láimh eile) STR_TIMETABLE_TRAVEL_NOT_TIMETABLED :Taisteal (gan amchlár) -STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Taisteal le {2:VELOCITY} ar a mhéad (gan amchlár) +STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Taisteal (gan amchlár) ag {2:VELOCITY} ar a mhéad STR_TIMETABLE_TRAVEL_FOR :Taisteal ar feadh {STRING} STR_TIMETABLE_TRAVEL_FOR_SPEED :Taisteal ar feadh {STRING} le {VELOCITY} ar a mhéad +STR_TIMETABLE_TRAVEL_FOR_ESTIMATED :Taisteal (ar feadh {STRING}, gan amchlár) +STR_TIMETABLE_TRAVEL_FOR_SPEED_ESTIMATED :Taisteal (ar feadh {STRING}, gan amchlár) ag {VELOCITY} ar a mhéad +STR_TIMETABLE_STAY_FOR_ESTIMATED :(fan ar feadh {STRING}, gan amchlár) +STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(taisteal ar feadh {STRING}, gan amchlár) STR_TIMETABLE_STAY_FOR :agus fan ar feadh {STRING} STR_TIMETABLE_AND_TRAVEL_FOR :agus taisteal ar feadh {STRING} STR_TIMETABLE_DAYS :{COMMA} lá{P "" "" "" "" ""} @@ -3243,6 +3878,7 @@ STR_TIMETABLE_STATUS_NOT_STARTED :{BLACK}Níor th STR_TIMETABLE_STATUS_START_AT :{BLACK}Tosóidh an t-amchlár seo ag {STRING} STR_TIMETABLE_STARTING_DATE :{BLACK}Dáta tosaigh +STR_TIMETABLE_STARTING_DATE_TOOLTIP :{BLACK}Roghnaigh dáta mar phointe tosaigh don amchlár seo. Ctrl+Cliceáil chun pointe tosaigh an amchlár a shocrú agus gach feithicil a chomhroinneann an t-ordú seo a dháileadh go cothrom bunaithe ar a hordú coibhneasta, fiú má tá amchlár iomlán ann don ordú sin STR_TIMETABLE_CHANGE_TIME :{BLACK}Athraigh Am STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Athraigh an méid ama ar chóir don ordú aibhsithe a thógáil @@ -3280,9 +3916,9 @@ STR_DATE_YEAR_TOOLTIP :{BLACK}Roghnaig # AI debug window -STR_AI_DEBUG :{WHITE}Dífhabhtú AI +STR_AI_DEBUG :{WHITE}Dífhabhtú AI/Scripteanna Cluiche STR_AI_DEBUG_NAME_AND_VERSION :{BLACK}{STRING} (v{NUM}) -STR_AI_DEBUG_NAME_TOOLTIP :{BLACK}Ainm an AI +STR_AI_DEBUG_NAME_TOOLTIP :{BLACK}Ainm na scripte STR_AI_DEBUG_SETTINGS :{BLACK}Socruithe an AI STR_AI_DEBUG_SETTINGS_TOOLTIP :{BLACK}Athraigh socruithe an AI STR_AI_DEBUG_RELOAD :{BLACK}Athlódáil an AI @@ -3296,6 +3932,8 @@ STR_AI_DEBUG_MATCH_CASE_TOOLTIP :{BLACK}Déan sc STR_AI_DEBUG_CONTINUE :{BLACK}Lean ar aghaidh STR_AI_DEBUG_CONTINUE_TOOLTIP :{BLACK}Cuir deireadh leis an sos agus lean leis an AI STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Amharc ar aschur dífhabhtaithe an AI seo +STR_AI_GAME_SCRIPT :{BLACK}Script Cluiche +STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Seiceáil loga na Scripte Cluiche STR_ERROR_AI_NO_AI_FOUND :Níor aimsíodh AI feiliúnach le lódáil.{}Is AI caoch é an AI seo agus ní dhéanfaidh sé aon rud.{}Is féidir leat roinnt AI a íoslódáil leis an gcóras 'Inneachar Ar Líne'.. STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Thuairteáil ceann de na AIanna atá ar rith. Déan é seo a thuairisciú d'údar an AI le do thoil, le seat scáileáin den Fhuinneog Dífhabhtaithe AI ag gabháil leis. @@ -3303,20 +3941,32 @@ STR_ERROR_AI_DEBUG_SERVER_ONLY :{YELLOW}Níl an # AI configuration window STR_AI_CONFIG_CAPTION :{WHITE}Cumrú AI +STR_AI_CONFIG_GAMELIST_TOOLTIP :{BLACK}An Script Cluiche a lódálfar sa chéad chluiche eile +STR_AI_CONFIG_AILIST_TOOLTIP :{BLACK}Na AInna a lódálfar sa chéad chluiche eile STR_AI_CONFIG_HUMAN_PLAYER :Imreoir Daonna STR_AI_CONFIG_RANDOM_AI :AI Randamach +STR_AI_CONFIG_NONE :(ceann ar bith) STR_AI_CONFIG_MOVE_UP :{BLACK}Bog Suas STR_AI_CONFIG_MOVE_UP_TOOLTIP :{BLACK}Bog an AI roghnaithe suas an liosta STR_AI_CONFIG_MOVE_DOWN :{BLACK}Bog Síos STR_AI_CONFIG_MOVE_DOWN_TOOLTIP :{BLACK}Bog an AI roghnaithe síos sa liosta +STR_AI_CONFIG_GAMESCRIPT :{SILVER}Script Cluiche +STR_AI_CONFIG_AI :{SILVER}AInna +STR_AI_CONFIG_CHANGE :{BLACK}Roghnaigh {STRING} STR_AI_CONFIG_CHANGE_NONE : +STR_AI_CONFIG_CHANGE_AI :AI +STR_AI_CONFIG_CHANGE_GAMESCRIPT :Script Cluiche +STR_AI_CONFIG_CHANGE_TOOLTIP :{BLACK}Lódáil script eile STR_AI_CONFIG_CONFIGURE :{BLACK}Cumraigh STR_AI_CONFIG_CONFIGURE_TOOLTIP :{BLACK}Cumraigh paraiméadair an AI # Available AIs window +STR_AI_LIST_CAPTION :{WHITE}{STRING} atá ar fáil +STR_AI_LIST_CAPTION_AI :AInna +STR_AI_LIST_CAPTION_GAMESCRIPT :Scripteanna Cluichí STR_AI_LIST_TOOLTIP :{BLACK}Cliceáil chun AI a roghnú STR_AI_LIST_AUTHOR :{LTBLUE}Údar: {ORANGE}{STRING} @@ -3325,19 +3975,25 @@ STR_AI_LIST_URL :{LTBLUE}URL: {O STR_AI_LIST_ACCEPT :{BLACK}Glac leis STR_AI_LIST_ACCEPT_TOOLTIP :{BLACK}Roghnaigh an AI aibhsithe -STR_AI_LIST_CANCEL :{BLACK}Cealaigh +STR_AI_LIST_CANCEL :{BLACK}Cuir ar ceal STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}Ná hathraigh an AI # AI Parameters +STR_AI_SETTINGS_CAPTION :{WHITE}Paraiméadair {STRING} +STR_AI_SETTINGS_CAPTION_AI :AI +STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Script an Chluiche STR_AI_SETTINGS_CLOSE :{BLACK}Dún STR_AI_SETTINGS_RESET :{BLACK}Athshocraigh STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING} +STR_AI_SETTINGS_START_DELAY :Líon na laethanta a thógfaidh sé chun an AI seo a thosú tar éis an ceann roimhe (a bheag nó a mhór): {ORANGE}{STRING} # Textfile window STR_TEXTFILE_README_CAPTION :{WHITE}{STRING} léigh mé de {STRING} STR_TEXTFILE_CHANGELOG_CAPTION :{WHITE}{STRING} loga athruithe de {STRING} STR_TEXTFILE_LICENCE_CAPTION :{WHITE}{STRING} ceadúnas de {STRING} +STR_TEXTFILE_WRAP_TEXT :{WHITE}Timthriall téacs +STR_TEXTFILE_WRAP_TEXT_TOOLTIP :{BLACK}Timthriall téacs na fuinneoige sa chaoi go mbeidh sé ar fad ann gan gá duit scrollú STR_TEXTFILE_VIEW_README :{BLACK}Amharc ar léigh mé STR_TEXTFILE_VIEW_CHANGELOG :{BLACK}Loga na n-athruithe STR_TEXTFILE_VIEW_LICENCE :{BLACK}Ceadúnas @@ -3350,6 +4006,8 @@ STR_PERCENT_DOWN_SMALL :{TINY_FONT}{WHI STR_PERCENT_DOWN :{WHITE}{NUM}%{DOWN_ARROW} STR_PERCENT_UP_DOWN_SMALL :{TINY_FONT}{WHITE}{NUM}%{UP_ARROW}{DOWN_ARROW} STR_PERCENT_UP_DOWN :{WHITE}{NUM}%{UP_ARROW}{DOWN_ARROW} +STR_PERCENT_NONE_SMALL :{TINY_FONT}{WHITE}{NUM}% +STR_PERCENT_NONE :{WHITE}{NUM}% # Income 'floats' STR_INCOME_FLOAT_COST_SMALL :{TINY_FONT}{RED}Costas: {CURRENCY_LONG} @@ -3358,6 +4016,10 @@ STR_INCOME_FLOAT_INCOME_SMALL :{TINY_FONT}{GRE STR_INCOME_FLOAT_INCOME :{GREEN}Ioncam: {CURRENCY_LONG} STR_FEEDER_TINY :{TINY_FONT}{YELLOW}Aistrigh: {CURRENCY_LONG} STR_FEEDER :{YELLOW}Aistrigh: {CURRENCY_LONG} +STR_FEEDER_INCOME_TINY :{TINY_FONT}{YELLOW}Aistriú: {CURRENCY_LONG}{WHITE} / {GREEN}Ioncam: {CURRENCY_LONG} +STR_FEEDER_INCOME :{YELLOW}Aistriú: {CURRENCY_LONG}{WHITE} / {GREEN}Ioncam: {CURRENCY_LONG} +STR_FEEDER_COST_TINY :{TINY_FONT}{YELLOW}Aistriú: {CURRENCY_LONG}{WHITE} / {RED}Costas: {CURRENCY_LONG} +STR_FEEDER_COST :{YELLOW}Aistriú: {CURRENCY_LONG}{WHITE} / {RED}Costas: {CURRENCY_LONG} STR_MESSAGE_ESTIMATED_COST :{WHITE}Costas Measta: {CURRENCY_LONG} STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Ioncam Measta: {CURRENCY_LONG} @@ -3389,6 +4051,7 @@ STR_ERROR_PNGMAP_MISC :{WHITE}... chua STR_ERROR_BMPMAP :{WHITE}Ní féidir tírdhreach a lódáil ó BMP... STR_ERROR_BMPMAP_IMAGE_TYPE :{WHITE}... níorbh fhéidir an cineál íomhá a thiontú. +STR_ERROR_HEIGHTMAP_TOO_LARGE :{WHITE}... tá an íomhá rómhór STR_WARNING_HEIGHTMAP_SCALE_CAPTION :{WHITE}Rabhadh faoin scála STR_WARNING_HEIGHTMAP_SCALE_MESSAGE :{YELLOW}Ní mholtar duit méid na léarscáile foinsí a athrú an iomarca. Lean leis an nginiúint? @@ -3397,6 +4060,8 @@ STR_WARNING_HEIGHTMAP_SCALE_MESSAGE :{YELLOW}Ní mho STR_WARNING_FALLBACK_SOUNDSET :{WHITE}Níor aimsíodh ach sraith fuaimeanna tacachumais. Má tá fuaimeanna uait, suiteáil sraith fuaimeanna sa chóras íoslódála inneachair. # Screenshot related messages +STR_WARNING_SCREENSHOT_SIZE_CAPTION :{WHITE}Seat scáileán ollmhór +STR_WARNING_SCREENSHOT_SIZE_MESSAGE :{YELLOW}Beidh taifeach {COMMA} x {COMMA} pictilín ag an seat scáileáin. D'fhéadfadh sé go dtógfaidh sé píosa an seat scáileáin a thógáil. An mian leat leanúint ar aghaidh? STR_MESSAGE_SCREENSHOT_SUCCESSFULLY :{WHITE}Sábháladh an seat scáileáin mar '{STRING}' STR_ERROR_SCREENSHOT_FAILED :{WHITE}Theip ar an seat scáileáin! @@ -3420,6 +4085,7 @@ STR_ERROR_OWNED_BY :{WHITE}... is l STR_ERROR_AREA_IS_OWNED_BY_ANOTHER :{WHITE}... is le cuideachta eile an limistéar STR_ERROR_TERRAFORM_LIMIT_REACHED :{WHITE}... baineadh an teorainn tírdhreachaithe amach STR_ERROR_CLEARING_LIMIT_REACHED :{WHITE}... baineadh teorainn glanta na dtíleanna amach +STR_ERROR_TREE_PLANT_LIMIT_REACHED :{WHITE}... teorainn chun crainnte a chur bainte amach STR_ERROR_NAME_MUST_BE_UNIQUE :{WHITE}Caithfidh ainm uathúil a bheith ann STR_ERROR_GENERIC_OBJECT_IN_THE_WAY :{WHITE}Tá {1:STRING} sa bhealach STR_ERROR_NOT_ALLOWED_WHILE_PAUSED :{WHITE}Ní cheadaítear é seo le linn sosa @@ -3428,6 +4094,7 @@ STR_ERROR_NOT_ALLOWED_WHILE_PAUSED :{WHITE}Ní chea STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS :{WHITE}Ní cheadaíonn údarás áitiúil {TOWN} é seo STR_ERROR_LOCAL_AUTHORITY_REFUSES_AIRPORT :{WHITE}Diúltaíonn údarás áitiúil {TOWN} cead a thabhairt chun aerfort eile a thógáil sa bhaile seo STR_ERROR_LOCAL_AUTHORITY_REFUSES_NOISE :{WHITE}Diúltaíonn údarás áitiúil {TOWN} cead don aerfort mar gheall ar imní faoi thorann +STR_ERROR_BRIBE_FAILED :{WHITE}Fuair cigire réigiúnach amach faoin iarracht a rinne tú breab a thabhairt # Levelling errors STR_ERROR_CAN_T_RAISE_LAND_HERE :{WHITE}Ní féidir talamh a ardú anseo... @@ -3437,6 +4104,7 @@ STR_ERROR_EXCAVATION_WOULD_DAMAGE :{WHITE}Dhéanfa STR_ERROR_ALREADY_AT_SEA_LEVEL :{WHITE}... ag leibhéal na farraige cheana féin STR_ERROR_TOO_HIGH :{WHITE}... ró-ard STR_ERROR_ALREADY_LEVELLED :{WHITE}... tá sé réidh cheana féin +STR_ERROR_BRIDGE_TOO_HIGH_AFTER_LOWER_LAND :{WHITE}Ina dhiaidh sin bheadh an droichead os a chionn ró-ard. # Company related errors STR_ERROR_CAN_T_CHANGE_COMPANY_NAME :{WHITE}Ní féidir ainm na cuideachta a athrú... @@ -3484,6 +4152,11 @@ STR_ERROR_CAN_ONLY_BE_BUILT_NEAR_TOWN_CENTER :{WHITE}... ní STR_ERROR_CAN_ONLY_BE_BUILT_IN_LOW_AREAS :{WHITE}... ní féidir é a thógáil ach i gceantar íseal STR_ERROR_CAN_ONLY_BE_POSITIONED :{WHITE}... ní féidir é a chur ach in aice le taobhanna na léarscáile STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... ní féidir foraois a chur ach taobh thuas den líne sneachta amháin +STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... ní féidir iad a thógáil ach os cionn na líne sneachta +STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... ní féidir iad a thógáil ach faoin líne sneachta + +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}Ní raibh aon áit oiriúnach i gcomhair tionscail '{STRING}' +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Athraigh na paraiméadair don ghiniúint léarscáile chun léarscáil níos fearr a fháil # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Ní féidir stáisiún iarnróid a thógáil anseo... @@ -3604,6 +4277,8 @@ STR_ERROR_CAN_T_BUILD_LOCKS :{WHITE}Ní féi STR_ERROR_CAN_T_PLACE_RIVERS :{WHITE}Ní féidir aibhneacha a chur anseo... STR_ERROR_MUST_BE_BUILT_ON_WATER :{WHITE}... ní mór é a thógáil ar uisce STR_ERROR_CAN_T_BUILD_ON_WATER :{WHITE}... ní féidir tógáil ar uisce +STR_ERROR_CAN_T_BUILD_ON_SEA :{WHITE}... ní féidir tógáil ar an bhfarraige mhór +STR_ERROR_CAN_T_BUILD_ON_CANAL :{WHITE}... ní féidir tógáil ar chanáil STR_ERROR_CAN_T_BUILD_ON_RIVER :{WHITE}... Nil tu abalta togadh ar an uise STR_ERROR_MUST_DEMOLISH_CANAL_FIRST :{WHITE}Ní mór canáil a scriosadh ar dtús STR_ERROR_CAN_T_BUILD_AQUEDUCT_HERE :{WHITE}Ní féidir uiscerian a thógáil anseo... @@ -3619,6 +4294,7 @@ STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Ní mór STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}Ní féidir tosú agus críochnú san áit céanna STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}Níl cinn an droichid ag an leibhéal céanna STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}Tá an droichead ró-íseal don tír-raon +STR_ERROR_BRIDGE_TOO_HIGH_FOR_TERRAIN :{WHITE}Tá an droichead ró-ard don tír-raon seo. STR_ERROR_START_AND_END_MUST_BE_IN :{WHITE}Ní mór an tús agus an deireadh a bheith i líne STR_ERROR_ENDS_OF_BRIDGE_MUST_BOTH :{WHITE}... ní mór go mbeadh an dá thaobh den droichead ar thalamh STR_ERROR_BRIDGE_TOO_LONG :{WHITE}... droichead rófhada @@ -3645,6 +4321,7 @@ STR_ERROR_YOU_ALREADY_OWN_IT :{WHITE}... is l STR_ERROR_GROUP_CAN_T_CREATE :{WHITE}Ní féidir an grúpa a chruthú... STR_ERROR_GROUP_CAN_T_DELETE :{WHITE}Ní féidir an grúpa seo a scriosadh... STR_ERROR_GROUP_CAN_T_RENAME :{WHITE}Ní féidir an grúpa a athainmniú... +STR_ERROR_GROUP_CAN_T_SET_PARENT :{WHITE}Ní féidir máthairghrúpa a shocrú... STR_ERROR_GROUP_CAN_T_REMOVE_ALL_VEHICLES :{WHITE}Ní féidir gach feithicil a bhaint ón ngrúpa seo... STR_ERROR_GROUP_CAN_T_ADD_VEHICLE :{WHITE}Ní féidir an fheithicil a chur leis an ngrúpa seo... STR_ERROR_GROUP_CAN_T_ADD_SHARED_VEHICLE :{WHITE}Ní féidir feithiclí comhroinnte a chur le grúpa... @@ -3700,10 +4377,15 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Ní féi STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... tá an fheithicil scriosta +STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Ní bheidh aon fheithicil ar fáil ar chor ar bith +STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Athraigh do chumraíocht NewGRF +STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Níl aon fheithicil ar fáil fós +STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}Tosaigh cluiche nua ó {DATE_SHORT} ar aghaidh nó úsáid NewGRF lena gcuirtear feithiclí luath ar fáil # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}Ní féidir iallach a chur ar thraein dul thar comhartha agus contúirt ann... STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}Ní féidir treo na traenach a aisiompú... +STR_ERROR_TRAIN_START_NO_POWER :Níl aon chumhacht ag an traein STR_ERROR_CAN_T_MAKE_ROAD_VEHICLE_TURN :{WHITE}Ní féidir iallach a chur ar fheithicil bóthair casadh timpeall... @@ -3726,6 +4408,7 @@ STR_ERROR_CAN_T_SHARE_ORDER_LIST :{WHITE}Ní féi STR_ERROR_CAN_T_STOP_SHARING_ORDER_LIST :{WHITE}Ní féidir comhroinnt liosta na n-orduithe a stopadh... STR_ERROR_CAN_T_COPY_ORDER_LIST :{WHITE}Ní féidir liosta orduithe a chóipeáil... STR_ERROR_TOO_FAR_FROM_PREVIOUS_DESTINATION :{WHITE}... rófhada ón gceann scríbe roimhe seo +STR_ERROR_AIRCRAFT_NOT_ENOUGH_RANGE :{WHITE}... níl raon fada go leor ag an aerárthach # Timetable related errors STR_ERROR_CAN_T_TIMETABLE_VEHICLE :{WHITE}Ní féidir amchlár a thabhairt d'fheithicil... @@ -3742,6 +4425,14 @@ STR_ERROR_CAN_T_DELETE_SIGN :{WHITE}Ní féi STR_DESKTOP_SHORTCUT_COMMENT :Cluiche ionsamhlúcháin bunaithe ar Transport Tycoon Deluxe # Translatable descriptions in media/baseset/*.ob* files +STR_BASEGRAPHICS_DOS_DESCRIPTION :Grafaicí bunaidhTransport Tycoon Deluxe, eagrán DOS. +STR_BASEGRAPHICS_DOS_DE_DESCRIPTION :Grafaicí bunaidhTransport Tycoon Deluxe, eagrán DOS (Gearmánach). +STR_BASEGRAPHICS_WIN_DESCRIPTION :Grafaicí bunaidhTransport Tycoon Deluxe, eagrán Windows. +STR_BASESOUNDS_DOS_DESCRIPTION :Fuaimeanna bunaidh Transport Tycoon Deluxe, eagrán DOS. +STR_BASESOUNDS_WIN_DESCRIPTION :Fuaimeanna bunaidh Transport Tycoon Deluxe, eagrán Windows. +STR_BASESOUNDS_NONE_DESCRIPTION :Pacáiste fuaimeanna gan aon fhuaimeanna ann. +STR_BASEMUSIC_WIN_DESCRIPTION :Ceol bunaidh Transport Tycoon Deluxe, eagrán Windows. +STR_BASEMUSIC_NONE_DESCRIPTION :Pacáiste ceoil gan aon cheol iarbhír ann. ##id 0x2000 # Town building names @@ -4125,8 +4816,8 @@ STR_FORMAT_DATE_SHORT :{STRING} {NUM} STR_FORMAT_DATE_LONG :{STRING} {STRING} {NUM} STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING} -STR_FORMAT_BUOY_NAME :{TOWN} Baoi -STR_FORMAT_BUOY_NAME_SERIAL :{TOWN} Baoi #{COMMA} +STR_FORMAT_BUOY_NAME :Baoi {TOWN} +STR_FORMAT_BUOY_NAME_SERIAL :Baoi {TOWN} #{COMMA} STR_FORMAT_COMPANY_NUM :(Cuideachta {COMMA}) STR_FORMAT_GROUP_NAME :Grúpa {COMMA} STR_FORMAT_INDUSTRY_NAME :{1:STRING} {0:TOWN} @@ -4139,7 +4830,7 @@ STR_FORMAT_DEPOT_NAME_ROAD_VEHICLE :Iosta Feithicl STR_FORMAT_DEPOT_NAME_ROAD_VEHICLE_SERIAL :Iosta Feithiclí Bóthair {TOWN} #{COMMA} STR_FORMAT_DEPOT_NAME_SHIP :Iosta Long {TOWN} STR_FORMAT_DEPOT_NAME_SHIP_SERIAL :Iosta Long {TOWN} #{COMMA} -STR_FORMAT_DEPOT_NAME_AIRCRAFT :{STATION} Haingear +STR_FORMAT_DEPOT_NAME_AIRCRAFT :Haingear {STATION} STR_UNKNOWN_STATION :stáisiún anaithnid STR_DEFAULT_SIGN_NAME :Comhartha @@ -4168,6 +4859,7 @@ STR_COMPANY_NAME :{COMPANY} STR_COMPANY_NAME_COMPANY_NUM :{COMPANY} {COMPANY_NUM} STR_DEPOT_NAME :{DEPOT} STR_ENGINE_NAME :{ENGINE} +STR_HIDDEN_ENGINE_NAME :{ENGINE} (folaithe) STR_GROUP_NAME :{GROUP} STR_INDUSTRY_NAME :{INDUSTRY} STR_PRESIDENT_NAME :{PRESIDENT_NAME} @@ -4191,6 +4883,7 @@ STR_JUST_DATE_ISO :{DATE_ISO} STR_JUST_STRING :{STRING} STR_JUST_STRING_STRING :{STRING}{STRING} STR_JUST_RAW_STRING :{STRING} +STR_JUST_BIG_RAW_STRING :{BIG_FONT}{STRING} # Slightly 'raw' stringcodes with colour or size STR_BLACK_COMMA :{BLACK}{COMMA} @@ -4202,8 +4895,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -4214,9 +4905,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/italian.txt b/src/lang/italian.txt index b49a6e3c8d..3060ed353c 100644 --- a/src/lang/italian.txt +++ b/src/lang/italian.txt @@ -97,30 +97,30 @@ STR_CARGO_SINGULAR_FIZZY_DRINK :{G=f}Bevande fr # Quantity of cargo STR_QUANTITY_NOTHING : -STR_QUANTITY_PASSENGERS :{COMMA} passegger{P o i} +STR_QUANTITY_PASSENGERS :{COMMA}{NBSP}passegger{P o i} STR_QUANTITY_COAL :{WEIGHT_LONG} di carbone -STR_QUANTITY_MAIL :{COMMA} sacc{P o hi} postal{P e i} +STR_QUANTITY_MAIL :{COMMA}{NBSP}sacc{P o hi} postal{P e i} STR_QUANTITY_OIL :{VOLUME_LONG} di petrolio -STR_QUANTITY_LIVESTOCK :{COMMA} cap{P o i} di bestiame -STR_QUANTITY_GOODS :{COMMA} cass{P a e} di beni +STR_QUANTITY_LIVESTOCK :{COMMA}{NBSP}cap{P o i} di bestiame +STR_QUANTITY_GOODS :{COMMA}{NBSP}cass{P a e} di beni STR_QUANTITY_GRAIN :{WEIGHT_LONG} di grano STR_QUANTITY_WOOD :{WEIGHT_LONG} di legname STR_QUANTITY_IRON_ORE :{WEIGHT_LONG} di ferro STR_QUANTITY_STEEL :{WEIGHT_LONG} di acciaio -STR_QUANTITY_VALUABLES :{COMMA} bors{P a e} di valori +STR_QUANTITY_VALUABLES :{COMMA}{NBSP}bors{P a e} di valori STR_QUANTITY_COPPER_ORE :{WEIGHT_LONG} di rame STR_QUANTITY_MAIZE :{WEIGHT_LONG} di mais STR_QUANTITY_FRUIT :{WEIGHT_LONG} di frutta -STR_QUANTITY_DIAMONDS :{COMMA} sacc{P o hi} di diamanti +STR_QUANTITY_DIAMONDS :{COMMA}{NBSP}sacc{P o hi} di diamanti STR_QUANTITY_FOOD :{WEIGHT_LONG} di cibo STR_QUANTITY_PAPER :{WEIGHT_LONG} di carta -STR_QUANTITY_GOLD :{COMMA} sacc{P o hi} di oro +STR_QUANTITY_GOLD :{COMMA}{NBSP}sacc{P o hi} di oro STR_QUANTITY_WATER :{VOLUME_LONG} di acqua STR_QUANTITY_WHEAT :{WEIGHT_LONG} di frumento STR_QUANTITY_RUBBER :{VOLUME_LONG} di gomma STR_QUANTITY_SUGAR :{WEIGHT_LONG} di zucchero -STR_QUANTITY_TOYS :{COMMA} giocattol{P o i} -STR_QUANTITY_SWEETS :{COMMA} sacc{P o hi} di caramelle +STR_QUANTITY_TOYS :{COMMA}{NBSP}giocattol{P o i} +STR_QUANTITY_SWEETS :{COMMA}{NBSP}sacc{P o hi} di caramelle STR_QUANTITY_COLA :{VOLUME_LONG} di Cola STR_QUANTITY_CANDYFLOSS :{WEIGHT_LONG} di zucchero filato STR_QUANTITY_BUBBLES :{COMMA} bollicin{P a e} @@ -167,12 +167,12 @@ STR_ABBREV_NONE :{TINY_FONT}NO STR_ABBREV_ALL :{TINY_FONT}TUT # 'Mode' of transport for cargoes -STR_PASSENGERS :{COMMA} passegger{P o i} -STR_BAGS :{COMMA} sacc{P o hi} -STR_TONS :{COMMA} tonnellat{P a e} -STR_LITERS :{COMMA} litr{P o i} -STR_ITEMS :{COMMA} oggett{P o i} -STR_CRATES :{COMMA} cass{P a e} +STR_PASSENGERS :{COMMA}{NBSP}passegger{P o i} +STR_BAGS :{COMMA}{NBSP}sacc{P o hi} +STR_TONS :{COMMA}{NBSP}tonnellat{P a e} +STR_LITERS :{COMMA}{NBSP}litr{P o i} +STR_ITEMS :{COMMA}{NBSP}oggett{P o i} +STR_CRATES :{COMMA}{NBSP}cass{P a e} # Colours, do not shuffle STR_COLOUR_DARK_BLUE :Blu scuro @@ -193,37 +193,37 @@ STR_COLOUR_GREY :Grigio STR_COLOUR_WHITE :Bianco # Units used in OpenTTD -STR_UNITS_VELOCITY_IMPERIAL :{COMMA} mph -STR_UNITS_VELOCITY_METRIC :{COMMA} km/h -STR_UNITS_VELOCITY_SI :{COMMA} m/s +STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}mph +STR_UNITS_VELOCITY_METRIC :{COMMA}{NBSP}km/h +STR_UNITS_VELOCITY_SI :{COMMA}{NBSP}m/s -STR_UNITS_POWER_IMPERIAL :{COMMA} hp -STR_UNITS_POWER_METRIC :{COMMA} hp -STR_UNITS_POWER_SI :{COMMA} kW +STR_UNITS_POWER_IMPERIAL :{COMMA}{NBSP}hp +STR_UNITS_POWER_METRIC :{COMMA}{NBSP}hp +STR_UNITS_POWER_SI :{COMMA}{NBSP}kW -STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}t -STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA} t -STR_UNITS_WEIGHT_SHORT_SI :{COMMA} kg +STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_SI :{COMMA}{NBSP}kg -STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA} ton -STR_UNITS_WEIGHT_LONG_METRIC :{COMMA} tonnellat{P a e} -STR_UNITS_WEIGHT_LONG_SI :{COMMA} kg +STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA}{NBSP}ton +STR_UNITS_WEIGHT_LONG_METRIC :{COMMA}{NBSP}tonnellat{P a e} +STR_UNITS_WEIGHT_LONG_SI :{COMMA}{NBSP}kg -STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}gal -STR_UNITS_VOLUME_SHORT_METRIC :{COMMA} l -STR_UNITS_VOLUME_SHORT_SI :{COMMA} m³ +STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}{NBSP}gal +STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}{NBSP}l +STR_UNITS_VOLUME_SHORT_SI :{COMMA}{NBSP}m³ -STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA} gallon{P e i} -STR_UNITS_VOLUME_LONG_METRIC :{COMMA} litr{P o i} -STR_UNITS_VOLUME_LONG_SI :{COMMA} m³ +STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA}{NBSP}gallon{P e i} +STR_UNITS_VOLUME_LONG_METRIC :{COMMA}{NBSP}litr{P o i} +STR_UNITS_VOLUME_LONG_SI :{COMMA}{NBSP}m³ -STR_UNITS_FORCE_IMPERIAL :{COMMA} lbf -STR_UNITS_FORCE_METRIC :{COMMA} kgf -STR_UNITS_FORCE_SI :{COMMA} kN +STR_UNITS_FORCE_IMPERIAL :{COMMA}{NBSP}lbf +STR_UNITS_FORCE_METRIC :{COMMA}{NBSP}kgf +STR_UNITS_FORCE_SI :{COMMA}{NBSP}kN -STR_UNITS_HEIGHT_IMPERIAL :{COMMA} piedi -STR_UNITS_HEIGHT_METRIC :{COMMA} m -STR_UNITS_HEIGHT_SI :{COMMA} m +STR_UNITS_HEIGHT_IMPERIAL :{COMMA}{NBSP}piedi +STR_UNITS_HEIGHT_METRIC :{COMMA}{NBSP}m +STR_UNITS_HEIGHT_SI :{COMMA}{NBSP}m # Common window strings STR_LIST_FILTER_TITLE :{BLACK}Filtro: @@ -250,6 +250,17 @@ STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Barra di STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Barra di scorrimento - scorre l'elenco a sinistra/destra STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Demolisce edifici etc. su un riquadro di terra. CTRL seleziona l'area diagonalmente. MAIUSC alterna fra costruzione e stima dei costi +# Show engines button +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}Mostra nascosti +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK}Mostra nascosti +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}Mostra nascosti +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}Mostra nascosti + +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}Mostra anche i tipi di veicolo ferroviario che sono stati nascosti +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE_TOOLTIP :{BLACK}Mostra anche i tipi di automezzo che sono stati nascosti +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}Mostra anche i tipi di nave che sono stati nascosti +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Mostra anche i tipi di aeromobile che sono stati nascosti + # Query window STR_BUTTON_DEFAULT :{BLACK}Predefinito STR_BUTTON_CANCEL :{BLACK}Annulla @@ -363,7 +374,7 @@ STR_SCENEDIT_FILE_MENU_QUIT :Esci ############ range for settings menu starts STR_SETTINGS_MENU_GAME_OPTIONS :Opzioni gioco -STR_SETTINGS_MENU_CONFIG_SETTINGS :Impostazioni avanzate +STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Impostazioni STR_SETTINGS_MENU_SCRIPT_SETTINGS :Impostazioni IA e Script STR_SETTINGS_MENU_NEWGRF_SETTINGS :Impostazioni NewGRF STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Opzioni trasparenza @@ -472,38 +483,56 @@ STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Attiva/disattiv STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Attiva/disattiva colorazione blocchi invalidati ############ range ends here -############ range for days starts (also used for the place in the highscore window) -STR_ORDINAL_NUMBER_1ST :1 -STR_ORDINAL_NUMBER_2ND :2 -STR_ORDINAL_NUMBER_3RD :3 -STR_ORDINAL_NUMBER_4TH :4 -STR_ORDINAL_NUMBER_5TH :5 -STR_ORDINAL_NUMBER_6TH :6 -STR_ORDINAL_NUMBER_7TH :7 -STR_ORDINAL_NUMBER_8TH :8 -STR_ORDINAL_NUMBER_9TH :9 -STR_ORDINAL_NUMBER_10TH :10 -STR_ORDINAL_NUMBER_11TH :11 -STR_ORDINAL_NUMBER_12TH :12 -STR_ORDINAL_NUMBER_13TH :13 -STR_ORDINAL_NUMBER_14TH :14 -STR_ORDINAL_NUMBER_15TH :15 -STR_ORDINAL_NUMBER_16TH :16 -STR_ORDINAL_NUMBER_17TH :17 -STR_ORDINAL_NUMBER_18TH :18 -STR_ORDINAL_NUMBER_19TH :19 -STR_ORDINAL_NUMBER_20TH :20 -STR_ORDINAL_NUMBER_21ST :21 -STR_ORDINAL_NUMBER_22ND :22 -STR_ORDINAL_NUMBER_23RD :23 -STR_ORDINAL_NUMBER_24TH :24 -STR_ORDINAL_NUMBER_25TH :25 -STR_ORDINAL_NUMBER_26TH :26 -STR_ORDINAL_NUMBER_27TH :27 -STR_ORDINAL_NUMBER_28TH :28 -STR_ORDINAL_NUMBER_29TH :29 -STR_ORDINAL_NUMBER_30TH :30 -STR_ORDINAL_NUMBER_31ST :31 +############ range for ordinal numbers used for the place in the highscore window +STR_ORDINAL_NUMBER_1ST :1* +STR_ORDINAL_NUMBER_2ND :2* +STR_ORDINAL_NUMBER_3RD :3* +STR_ORDINAL_NUMBER_4TH :4* +STR_ORDINAL_NUMBER_5TH :5* +STR_ORDINAL_NUMBER_6TH :6* +STR_ORDINAL_NUMBER_7TH :7* +STR_ORDINAL_NUMBER_8TH :8* +STR_ORDINAL_NUMBER_9TH :9* +STR_ORDINAL_NUMBER_10TH :10* +STR_ORDINAL_NUMBER_11TH :11* +STR_ORDINAL_NUMBER_12TH :12* +STR_ORDINAL_NUMBER_13TH :13* +STR_ORDINAL_NUMBER_14TH :14* +STR_ORDINAL_NUMBER_15TH :15* +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :1 +STR_DAY_NUMBER_2ND :2 +STR_DAY_NUMBER_3RD :3 +STR_DAY_NUMBER_4TH :4 +STR_DAY_NUMBER_5TH :5 +STR_DAY_NUMBER_6TH :6 +STR_DAY_NUMBER_7TH :7 +STR_DAY_NUMBER_8TH :8 +STR_DAY_NUMBER_9TH :9 +STR_DAY_NUMBER_10TH :10 +STR_DAY_NUMBER_11TH :11 +STR_DAY_NUMBER_12TH :12 +STR_DAY_NUMBER_13TH :13 +STR_DAY_NUMBER_14TH :14 +STR_DAY_NUMBER_15TH :15 +STR_DAY_NUMBER_16TH :16 +STR_DAY_NUMBER_17TH :17 +STR_DAY_NUMBER_18TH :18 +STR_DAY_NUMBER_19TH :19 +STR_DAY_NUMBER_20TH :20 +STR_DAY_NUMBER_21ST :21 +STR_DAY_NUMBER_22ND :22 +STR_DAY_NUMBER_23RD :23 +STR_DAY_NUMBER_24TH :24 +STR_DAY_NUMBER_25TH :25 +STR_DAY_NUMBER_26TH :26 +STR_DAY_NUMBER_27TH :27 +STR_DAY_NUMBER_28TH :28 +STR_DAY_NUMBER_29TH :29 +STR_DAY_NUMBER_30TH :30 +STR_DAY_NUMBER_31ST :31 ############ range for days ends ############ range for months starts @@ -812,13 +841,12 @@ STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}{VEHICLE STR_NEWS_SHIP_IS_WAITING :{WHITE}{VEHICLE} ha raggiunto il deposito STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE} ha raggiunto l'hangar -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE +# Order review system / warnings STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE} non ha abbastanza ordini pianificati STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE} ha un ordine vuoto STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE} ha alcuni ordini duplicati STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE} ha una stazione non valida nei suoi ordini -# end of order system +STR_NEWS_PLANE_USES_TOO_SHORT_RUNWAY :{WHITE}{VEHICLE} ha nei suoi ordini un aeroporto con una pista troppo corta STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} sta invecchiando STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} sta invecchiando molto @@ -901,10 +929,6 @@ STR_GAME_OPTIONS_CURRENCY_GEL :Lari georgiano STR_GAME_OPTIONS_CURRENCY_IRR :Rial iraniano (IRR) ############ end of currency region - -############ start of measuring units region -############ end of measuring units region - STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Automezzi STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}Seleziona il lato della strada sul quale devono guidare i veicoli STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :Guida a sinistra @@ -940,11 +964,13 @@ STR_GAME_OPTIONS_TOWN_NAME_CATALAN :Catalani STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Salvataggi automatici STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Seleziona l'intervallo fra i salvataggi automatici della partita +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :No STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :Ogni mese STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :Ogni 3 mesi STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :Ogni 6 mesi STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :Ogni 12 mesi +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}Lingua STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Seleziona la lingua da utilizzare per l'interfaccia @@ -956,8 +982,12 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}Risoluzi STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Seleziona la risoluzione dello schermo da utilizzare STR_GAME_OPTIONS_RESOLUTION_OTHER :Altra -STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}Formato screenshot -STR_GAME_OPTIONS_SCREENSHOT_FORMAT_TOOLTIP :{BLACK}Selezionare il formato da usare per gli screenshot +STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Dimensione interfaccia +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Seleziona la dimensione deglie elementi dell'interfaccia grafica + +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normale +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Doppia +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Quadrupla STR_GAME_OPTIONS_BASE_GRF :{BLACK}Pacchetto grafico di base STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Seleziona il pacchetto grafico di base da utilizzare @@ -973,6 +1003,7 @@ STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Selezion STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} file corrott{P o i} STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Informazioni aggiuntive sul pacchetto musicale di base +STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Errore nel recupero della lista delle risoluzioni supportate STR_ERROR_FULLSCREEN_FAILED :{WHITE}Attivazione modalità schermo intero non riuscita # Custom currency window @@ -1051,6 +1082,7 @@ STR_TERRAIN_TYPE_VERY_FLAT :Molto pianeggia STR_TERRAIN_TYPE_FLAT :Pianeggiante STR_TERRAIN_TYPE_HILLY :Collinare STR_TERRAIN_TYPE_MOUNTAINOUS :Montuoso +STR_TERRAIN_TYPE_ALPINIST :Alpino STR_CITY_APPROVAL_PERMISSIVE :Permissivo STR_CITY_APPROVAL_TOLERANT :Tollerante @@ -1058,8 +1090,8 @@ STR_CITY_APPROVAL_HOSTILE :Ostile STR_WARNING_NO_SUITABLE_AI :{WHITE}Nessuna IA adatta disponibile...{}È possibile scaricare numerose IA tramite il sistema 'Contenuti online' -# Advanced settings window -STR_CONFIG_SETTING_CAPTION :{WHITE}Impostazioni avanzate +# Settings tree window +STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Impostazioni STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Filtro: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Espandi tutti STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Comprimi tutti @@ -1075,9 +1107,9 @@ STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :Impostazione de STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK}Categoria: STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}Tipo: STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Limita la lista sottostante usando i filtri predefiniti -STR_CONFIG_SETTING_RESTRICT_BASIC :Impostazioni di base -STR_CONFIG_SETTING_RESTRICT_ADVANCED :Impostazioni avanzate -STR_CONFIG_SETTING_RESTRICT_ALL :Tutte le impostazioni (utenti esperti) +STR_CONFIG_SETTING_RESTRICT_BASIC :Di base (solo le impostazioni principali) +STR_CONFIG_SETTING_RESTRICT_ADVANCED :Avanzate (la maggior parte delle impostazioni) +STR_CONFIG_SETTING_RESTRICT_ALL :Per esperti (tutte le impostazioni, incluse quelle speciali) STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :Impostazioni con un valore diverso da quello predefinito STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :Impostazioni con un valore diverso di quello impostato a inizio partita @@ -1154,8 +1186,9 @@ STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Controlla l'att STR_CONFIG_SETTING_CITY_APPROVAL :Atteggiamento della città in merito alle modifiche: {STRING} STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Seleziona il modo in cui il rumore e i danni all'ambiente da parte delle compagnie possono influenzare la valutazione delle città e le successive operazioni di costruzione nell'area controllata -STR_CONFIG_SETTING_BUILDONSLOPES :Consenti la costruzione su pendii e coste: {STRING} -STR_CONFIG_SETTING_BUILDONSLOPES_HELPTEXT :Se abilitato, binari e stazioni possono essere costruiti sulla maggior parte dei pendii. Se disabilitato, è permesso costruirli solo su pendii rivolti nella stessa direzione, per i quali non è necessario costruire fondamenta +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :Altezza massima mappa: {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :Imposta l'altezza massima consentita per le montagne sulla mappa +STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}Impossibile impostare l'altezza massima della mappa a questo valore. Almeno una delle montagne della mappa è più alta STR_CONFIG_SETTING_AUTOSLOPE :Consenti rimodellazione terreno sotto a edifici, rotaie, etc.: {STRING} STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Consente la rimodellazione del terreno sotto edifici e rotaie senza doverli rimuovere STR_CONFIG_SETTING_CATCHMENT :Consenti aree di copertura più realistiche: {STRING} @@ -1180,16 +1213,12 @@ STR_CONFIG_SETTING_FORBID_90_DEG :Impedisci a tre STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Le curve a 90 gradi avvengono quando un binario orizzontale è seguito direttamente da un binario verticale nel riquadro adiacente, facendo sì che un treno che attraversa il bordo fra i riquadri curvi di 90 gradi invece dei 45 gradi delle altre combinazioni di binari. L'impostazione si applica anche al raggio di virata delle navi STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Consenti di unire stazioni non direttamente adiacenti: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Consente di aggiungere nuove parti a una stazione senza toccare direttamente le parti esistenti. Richiede l'uso di CTRL+clic per posizionare le nuove parti -STR_CONFIG_SETTING_IMPROVEDLOAD :Usa l'algoritmo di caricamento migliorato: {STRING} -STR_CONFIG_SETTING_IMPROVEDLOAD_HELPTEXT :Se abilitato, più veicoli fermi a una stazione sono caricati in modo sequenziale. Il caricamento di un veicolo inizia solo quando è presente in attesa una quantità di carico sufficiente da riempire il veicolo precedente -STR_CONFIG_SETTING_GRADUAL_LOADING :Carica i veicoli gradualmente: {STRING} -STR_CONFIG_SETTING_GRADUAL_LOADING_HELPTEXT :Carica i veicoli gradualmente utilizzando la durata di caricamento specifica del veicoli, invece di caricare tutto insieme con un tempo fisso dipendente solo dalla quantità di carico STR_CONFIG_SETTING_INFLATION :Inflazione: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :Abilita l'inflazione nell'economia, facendo crescere i costi leggermente più in fretta dei compensi -STR_CONFIG_SETTING_SELECTGOODS :Scarica il carico in una stazione solo se richiesto: {STRING} -STR_CONFIG_SETTING_SELECTGOODS_HELPTEXT :Consegna i carichi a una stazione in cui ha caricato almeno un veicolo. In questo modo si evita una cattiva valutazione per i carichi che non sono processati a una stazione STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Lunghezza massima dei ponti: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Lunghezza massima per la costruzione dei ponti +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :Altezza massima dei ponti: {STRING} +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :Altezza massima per la costruzione dei ponti STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Lunghezza massima dei tunnel: {STRING} STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :Lunghezza massima per la costruzione dei tunnel STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Costruzione delle industrie primarie: {STRING} @@ -1215,8 +1244,6 @@ STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Seleziona il va STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :all'inizio STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :al centro STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :alla fine -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING :Accodamento automezzi fuori da una stazione occupata: {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING_HELPTEXT :Fa attendere gli automezzi davanti alle fermate occupate finché non si liberano STR_CONFIG_SETTING_AUTOSCROLL :Scorri visuali quando il mouse è su un bordo: {STRING} STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Se abilitato, le visuali iniziano a scorrere quando il mouse è vicino al bordo della finestra STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Disabilitato @@ -1247,10 +1274,6 @@ STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Consenti fermat STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Consente la costruzione di fermate stradali passanti sulle strade di proprietà della città STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Consenti fermate passanti sulle strade di proprietà degli avversari: {STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Consente la costruzione di fermate stradali passanti sulle strade di proprietà delle altre compagnie -STR_CONFIG_SETTING_ADJACENT_STATIONS :Consenti la costruzione di stazioni adiacenti: {STRING} -STR_CONFIG_SETTING_ADJACENT_STATIONS_HELPTEXT :Consente a stazioni diverse di toccarsi -STR_CONFIG_SETTING_DYNAMIC_ENGINES :Abilita pacchetti di locomotive NewGRF multipli: {STRING} -STR_CONFIG_SETTING_DYNAMIC_ENGINES_HELPTEXT :Opzione per la compatibilità con i vecchi NewGRF. Si raccomanda di non disabilitarla, a meno di non essere a conoscenza degli effetti STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Non è possibile modificare questa impostazione quando esistono veicoli STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Manutenzione infrastrutture: {STRING} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Se abilitata, le infrastrutture causano dei costi di manutenzione. I costi crescono in modo più che proporzionale alla dimensione della rete, influenzando maggiormente le compagnie più grandi rispetto alle piccole @@ -1281,35 +1304,49 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :Durata dei mess STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Durata di visualizzazione dei messaggi d'errore nelle finestre rosse. Note: alcuni messaggi d'errore (critici) non sono chiusi automaticamente anche allo scadere del tempo, ma devono essere chiusi manualmente STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{COMMA} second{P 0 o i} STR_CONFIG_SETTING_HOVER_DELAY :Mostra suggerimenti: {STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Ritardo con cui i suggerimenti sono mostrati al passaggio del mouse su un elemento del'interfaccia. In alternativa, i messaggi possono essere attivati col pulsante destro del mouse -STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Al passaggio del mouse dopo {COMMA} second{P 0 o i} +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Ritardo con cui i suggerimenti sono mostrati al passaggio del mouse su un elemento del'interfaccia. In alternativa, i messaggi possono essere attivati col pulsante destro del mouse impostando questo valore a 0. +STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Al passaggio del mouse dopo {COMMA} millisecond{P 0 o i} STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Al clic col pulsante destro STR_CONFIG_SETTING_POPULATION_IN_LABEL :Mostra la popolazione di una città nell'etichetta del nome: {STRING} STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Mosta la popolazione delle città nella loro etichetta sulla mappa STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Spessore delle linee nei grafici: {STRING} STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Larghezza delle linee nei grafici. Le linee sottili sono più leggibili, quelle più spesse sono più facili da vedere e i colori più facili da distinguere +STR_CONFIG_SETTING_LANDSCAPE :Paesaggio: {STRING} +STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :I paesaggi definiscono scenari di gioco di base che differiscono per i carichi disponibili e per i requisiti di crescita delle città. NewGRF e Script offrono tuttavia un controllo più fine su questi aspetti STR_CONFIG_SETTING_LAND_GENERATOR :Generatore terreno: {STRING} +STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :Il generatore originale dipende dal pacchetto grafico di base e si limita a comporre insieme frammenti di paesaggio di forma fissa. TerraGenesis è un generatore basato sul Rumore di Perlin che offre impostazioni più fini STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Originale STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis +STR_CONFIG_SETTING_TERRAIN_TYPE :Tipo di terreno: {STRING} +STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(Solo TerraGenesis) Tipo di dislivelli presenti nel paesaggio +STR_CONFIG_SETTING_INDUSTRY_DENSITY :Densità delle industrie: {STRING} +STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Determina quante industrie sono generate e attorno a quale livello sono mantenute nel corso della partita STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Massima distanza delle raffinerie dal bordo della mappa: {STRING} STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Le raffinerie sono costruite solo vicino ai bordi della mappa, ovvero sulla costa nel caso di mappe insulari STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Altezza delle nevi perenni: {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Irregolarità del terreno (solo TerraGenesis): {STRING} +STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Determina la quota alla quale appare la neve nei paesaggi sub-artici. La neve ha anche l'effetto di influenzare la generazione delle industrie e i requisiti per la crescita delle città +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Irregolarità del terreno: {STRING} +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(Solo TerraGenesis) Seleziona la frequenza delle colline. I paesaggi morbidi presentano poche colline di forma allargata. I paesaggi accidentati hanno molte colline, che potrebbero apparire ripetitive STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Molto morbido STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Morbido STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Accidentato STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Molto accidentato +STR_CONFIG_SETTING_VARIETY :Varietà del terreno: {STRING} +STR_CONFIG_SETTING_VARIETY_HELPTEXT :(Solo TerraGenesis) Determina in quale misura la mappa affianca aree montuose ed aree pianeggianti. Poiché questa impostazione agisce abbassando progressivamente la quota del terreno, le altre impostazioni dovrebbero essere impostate per un terreno montuoso +STR_CONFIG_SETTING_RIVER_AMOUNT :Quantità di fiumi: {STRING} +STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Seleziona la quantità di fiumi generati STR_CONFIG_SETTING_TREE_PLACER :Algoritmo di piazzamento degli alberi: {STRING} +STR_CONFIG_SETTING_TREE_PLACER_HELPTEXT :Seleziona la modalità di distribuzione degli alberi sulla mappa: 'Originale' pianta gli alberi spargendoli in modo uniforme, 'Migliorato' li pianta in gruppi STR_CONFIG_SETTING_TREE_PLACER_NONE :Nessuno STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :Originale STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :Migliorato +STR_CONFIG_SETTING_ROAD_SIDE :Automezzi: {STRING} +STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :Seleziona il lato di guida STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Rotazione heightmap: {STRING} STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Antioraria STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Oraria -STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :Altitudine delle mappe pianeggiante: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :Consenti la rimodellazione del riquadri di terreno ai bordi della mappa: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES_HELPTEXT :Se disabilitato, ai bordi della mappa è sempre presente dell'acqua +STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :Altitudine delle mappe pianeggianti: {STRING} STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}Uno o più riquadri sul lato nord non sono vuoti STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}Uno o più riquadri su uno dei bordi non sono d'acqua @@ -1330,7 +1367,7 @@ STR_CONFIG_SETTING_SMOOTH_SCROLLING :Scorrimento mor STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Controlla il modo in cui la visuale principale scorre verso una specifica posizione quando si fa clic sulla minimappa o si ordina di visualizzare un oggetto specifico sulla mappa. Se abilitata, la visuale scorre in modo morbido. Se disabilitata, salta direttamente al punto prescelto STR_CONFIG_SETTING_MEASURE_TOOLTIP :Mostra un tooltip di misura durante la costruzione: {STRING} STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT :Mostra le distanze in riquadri e le differenze di altezza quando si trascina durante le operazioni di costruzione -STR_CONFIG_SETTING_LIVERIES :Mostra le livree delle compagnie: {STRING} +STR_CONFIG_SETTING_LIVERIES :Mostra le livree specifiche per tipo di veicolo: {STRING} STR_CONFIG_SETTING_LIVERIES_HELPTEXT :Controlla l'utilizzo delle livree specifiche per il tipo di veicolo (invece di quelle specifiche della compagnia) STR_CONFIG_SETTING_LIVERIES_NONE :Nessuna STR_CONFIG_SETTING_LIVERIES_OWN :Propria compagnia @@ -1360,17 +1397,15 @@ 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_AUTOSAVE :Salvataggi automatici: {STRING} +STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Seleziona l'intervallo fra i salvataggi automatici della partita + STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Formato data nei nomi dei salvataggi: {STRING} STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Formato della data nei nomi dei file delle partite salvate STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :Lungo (31 Dic 2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :Corto (31-12-2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE :Tavolozza predefinita da utilizzare per i NewGRF che non ne specificano alcuna: {STRING} -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_HELPTEXT :Tavolozza predefinita da utilizzare per i NewGRF che non ne specificano alcuna -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_DOS :Tavolozza predefinita (D) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_WIN :Tavolozza obsoleta (W) - STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Metti in pausa all'inizio di una nuova partita: {STRING} STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :Se abilitata, il gioco andrà automaticamente in pausa all'inizio di una nuova partita, permettendo di esaminare meglio la mappa STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Azioni consentite durante la pausa: {STRING} @@ -1379,7 +1414,7 @@ STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :Nessuna STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :Tutte tranne quelle di costruzione STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :Tutte tranne quelle di modifica del terreno STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_ACTIONS :Tutte -STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Utilizza la lista veicoli avanzata: {STRING} +STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Utilizza i gruppi nella lista veicoli: {STRING} STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Abilita l'utilizzo delle liste veicoli avanzate per raggruppare i veicoli STR_CONFIG_SETTING_LOADING_INDICATORS :Utilizza gli indicatori di caricamento: {STRING} STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Determina se gli indicatori di caricamento sono mostrati sopra i veicoli in caricamento o scaricamento @@ -1394,7 +1429,7 @@ STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_HELPTEXT :Tipo di ferrovi STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_FIRST :La prima disponibile STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_LAST :L'ultima disponibile STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_MOST_USED :La più usata -STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :Mostra i binari riservati: {STRING} +STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :Mostra i percorsi riservati sui binari: {STRING} STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION_HELPTEXT :Dà ai binari riservati un colore differente, aiutando a correggere problemi di treni che si rifiutano di entrare in blocchi protetti con segnali a percorso STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Mantieni aperte le finestre di costruzione dopo l'uso: {STRING} STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Mantiene aperti dopo l'uso gli strumenti di costruzione di ponti, tunnel, etc. @@ -1453,7 +1488,7 @@ STR_CONFIG_SETTING_SERVINT_ISPERCENT :Gli intervalli STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Determina se la manutenzione dei veicoli è controllata dal tempo trascorso dall'ultima manutenzione piuttosto che dalla riduzione dell'affidabilità di una certa frazione di quella massima STR_CONFIG_SETTING_SERVINT_TRAINS :Intervallo manutenzione predefinito treni: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Imposta l'intervallo di manutenzione predefinito per i nuovi veicoli ferroviari, quando non viene impostato nessun intervallo esplicito -STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA} giorn{P 0 o i}/% +STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}giorn{P 0 o i}/% STR_CONFIG_SETTING_SERVINT_DISABLED :Disabilitato STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES :Intervallo manutenzione predefinito automezzi: {STRING} STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES_HELPTEXT :Imposta l'intervallo di manutenzione predefinito per i nuovi automezzi, quando non viene impostato nessun intervallo esplicito @@ -1592,12 +1627,10 @@ STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 su {COMMA} STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Nessuna STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Moltiplicatore iniziale dimensioni metropoli: {STRING} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Dimensione media delle metropoli in rapporto alle normali città all'inizio della partita -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :Rimuovi segmenti isolati con la ricostruzione delle strade cittadine: {STRING} -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD_HELPTEXT :Rimuove i segmenti di strada abbandonati come parte di una ricostruzione finanziata delle strade -STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Aggiorna il grafo di distribuzione ogni {STRING} giorn{P 0:2 o i} +STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Aggiorna il grafo di distribuzione ogni {STRING}{NBSP}giorn{P 0:2 o i} STR_CONFIG_SETTING_LINKGRAPH_INTERVAL_HELPTEXT :Tempo fra due ricalcoli consecutivi del grafo delle rotte. Ad ogni ricalcolo vengono generati i piani per una sola componente del grafo. Ciò significa che una valore X per questa impostazione non causa il ricalcolo dell'intero grafo ogni X giorni, ma solo di una componente. Più breve l'intervallo impostato, più tempo la CPU consuma per calcolare il grafo. Più lungo l'intervallo, più a lungo bisogna attendere prima che la distribuzione abbia inizio su nuovi percorsi. -STR_CONFIG_SETTING_LINKGRAPH_TIME :Impiega {STRING} giorn{P 0:2 o i} per il ricalcolo del grafo di distribuzione +STR_CONFIG_SETTING_LINKGRAPH_TIME :Impiega {STRING}{NBSP}giorn{P 0:2 o i} per il ricalcolo del grafo di distribuzione STR_CONFIG_SETTING_LINKGRAPH_TIME_HELPTEXT :Tempo impiegato per il ricalcolo di una singola componente del grafo. All'avvio di un ricalcolo viene creato un thread che è mantenuto in esecuzione per il numero di giorni impostato. Più corto è l'intervallo impostato, più è probabile che il thread non termini in tempo. In questo caso, il gioco si interrompe attendendo la fine del thread (causando un rallentamento). Più l'intervallo impostato è lungo, più tempo è necessario affinché la distribuzione venga aggiornata quando le rotte cambiano. STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :Manuale STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :Asimmetrica @@ -1655,27 +1688,29 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :Imperiali (pied STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :Metriche (m) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :SI (m) -STR_CONFIG_SETTING_GUI :{ORANGE}Interfaccia STR_CONFIG_SETTING_LOCALISATION :{ORANGE}Localizzazione -STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}Costruzione -STR_CONFIG_SETTING_VEHICLES :{ORANGE}Veicoli -STR_CONFIG_SETTING_STATIONS :{ORANGE}Stazioni -STR_CONFIG_SETTING_ECONOMY :{ORANGE}Economia -STR_CONFIG_SETTING_LINKGRAPH :{ORANGE}Distribuzione dei carichi -STR_CONFIG_SETTING_AI :{ORANGE}Avversari -STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}Visualizzazione -STR_CONFIG_SETTING_INTERACTION :{ORANGE}Interazione +STR_CONFIG_SETTING_GRAPHICS :{ORANGE}Grafica STR_CONFIG_SETTING_SOUND :{ORANGE}Effetti sonori -STR_CONFIG_SETTING_NEWS :{ORANGE}Notizie e messaggi -STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}Segnali -STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE}Gestione dei carichi -STR_CONFIG_SETTING_AI_NPC :{ORANGE}Giocatori controllati dal computer -STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE}Rinnovo automatico -STR_CONFIG_SETTING_VEHICLES_SERVICING :{ORANGE}Manutenzione +STR_CONFIG_SETTING_INTERFACE :{ORANGE}Interfaccia +STR_CONFIG_SETTING_INTERFACE_GENERAL :{ORANGE}Generale +STR_CONFIG_SETTING_INTERFACE_VIEWPORTS :{ORANGE}Visuali +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Costruzione +STR_CONFIG_SETTING_ADVISORS :{ORANGE}Notizie / consigli +STR_CONFIG_SETTING_COMPANY :{ORANGE}Compagnia +STR_CONFIG_SETTING_ACCOUNTING :{ORANGE}Economia +STR_CONFIG_SETTING_VEHICLES :{ORANGE}Veicoli +STR_CONFIG_SETTING_VEHICLES_PHYSICS :{ORANGE}Fisica STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Instradamento -STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}Treni -STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}Città -STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}Industrie +STR_CONFIG_SETTING_LIMITATIONS :{ORANGE}Limiti +STR_CONFIG_SETTING_ACCIDENTS :{ORANGE}Disastri / incidenti +STR_CONFIG_SETTING_GENWORLD :{ORANGE}Generazione del mondo +STR_CONFIG_SETTING_ENVIRONMENT :{ORANGE}Ambiente +STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :{ORANGE}Autorià +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Città +STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}Industrie +STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :{ORANGE}Distribuzione dei carichi +STR_CONFIG_SETTING_AI :{ORANGE}Avversari +STR_CONFIG_SETTING_AI_NPC :{ORANGE}Giocatori controllati dal computer STR_CONFIG_SETTING_PATHFINDER_OPF :Originale STR_CONFIG_SETTING_PATHFINDER_NPF :NPF @@ -1724,7 +1759,7 @@ STR_INTRO_MULTIPLAYER :{BLACK}Multigio STR_INTRO_GAME_OPTIONS :{BLACK}Opzioni di gioco STR_INTRO_HIGHSCORE :{BLACK}Punteggi migliori -STR_INTRO_ADVANCED_SETTINGS :{BLACK}Impostazioni avanzate +STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Impostazioni STR_INTRO_NEWGRF_SETTINGS :{BLACK}Impostazioni NewGRF STR_INTRO_ONLINE_CONTENT :{BLACK}Contenuti online STR_INTRO_SCRIPT_SETTINGS :{BLACK}Impostazioni IA e Script @@ -1744,7 +1779,7 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Selezion STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Mostra le opzioni di gioco STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Mostra la tabella dei punteggi migliori -STR_INTRO_TOOLTIP_ADVANCED_SETTINGS :{BLACK}Mostra le impostazioni avanzate +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Mostra le impostazioni STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Mostra le impostazioni NewGRF STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Controlla la disponibilità di contenuti nuovi o aggiornati da scaricare STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Mostra le impostazioni delle IA e degli Script @@ -1784,6 +1819,8 @@ STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Compagn STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Bulldozer magico (rimuove industrie e oggetti fissi): {ORANGE}{STRING} STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}I tunnel possono incrociarsi tra loro: {ORANGE}{STRING} STR_CHEAT_NO_JETCRASH :{LTBLUE}I jet non si schiantano (frequentemente) nei piccoli aeroporti: {ORANGE} {STRING} +STR_CHEAT_EDIT_MAX_HL :{LTBLUE}Modifica l'altezza massima della mappa: {ORANGE}{NUM} +STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Modifica l'altezza massima delle montagne sulla mappa STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE :Paesaggio 'temperato' STR_CHEAT_SWITCH_CLIMATE_SUB_ARCTIC_LANDSCAPE :Paesaggio 'sub-artico' STR_CHEAT_SWITCH_CLIMATE_SUB_TROPICAL_LANDSCAPE :Paesaggio 'sub-tropicale' @@ -1832,6 +1869,7 @@ STR_LIVERY_FREIGHT_TRAM :Tram merci STR_FACE_CAPTION :{WHITE}Seleziona faccia STR_FACE_CANCEL_TOOLTIP :{BLACK}Annulla la selezione della nuova faccia STR_FACE_OK_TOOLTIP :{BLACK}Accetta la selezione della nuova faccia +STR_FACE_RANDOM :{BLACK}Scegli a caso STR_FACE_MALE_BUTTON :{BLACK}Maschio STR_FACE_MALE_TOOLTIP :{BLACK}Seleziona fra volti maschili @@ -2679,7 +2717,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-2014 Il team OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 Il team OpenTTD # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Salva partita @@ -2714,13 +2752,12 @@ STR_MAPGEN_BY :{BLACK}* STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Numero città: STR_MAPGEN_DATE :{BLACK}Data: STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Numero industrie: +STR_MAPGEN_MAX_HEIGHTLEVEL :{BLACK}Altezza massima mappa: +STR_MAPGEN_MAX_HEIGHTLEVEL_UP :{BLACK}Aumenta di uno l'altezza massima delle montagne sulla mappa +STR_MAPGEN_MAX_HEIGHTLEVEL_DOWN :{BLACK}Riduce di uno l'altezza massima delle montagne sulla mappa STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}Altezza delle nevi: STR_MAPGEN_SNOW_LINE_UP :{BLACK}Sposta in su di uno l'altezza delle nevi perenni STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}Sposta in giù di uno l'altezza delle nevi perenni -STR_MAPGEN_RANDOM_SEED :{BLACK}Seme casuale: -STR_MAPGEN_RANDOM_SEED_HELP :{BLACK}Fare clic per introdurre un seme casuale -STR_MAPGEN_RANDOM :{BLACK}Scegli a caso -STR_MAPGEN_RANDOM_HELP :{BLACK}Cambia il seme casuale usato per la generazione del terreno STR_MAPGEN_LAND_GENERATOR :{BLACK}Generatore: STR_MAPGEN_TREE_PLACER :{BLACK}Algoritmo alberi: STR_MAPGEN_TERRAIN_TYPE :{BLACK}Tipo di terreno: @@ -2747,7 +2784,7 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Nome hei STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Dim.: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} -STR_MAPGEN_RANDOM_SEED_OSKTITLE :{BLACK}Inserire un seme casuale +STR_MAPGEN_MAX_HEIGHTLEVEL_QUERY_CAPT :{WHITE}Cambia l'altezza massima della mappa STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}Cambia l'altezza delle nevi perenni STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Cambia l'anno di inizio @@ -2802,6 +2839,8 @@ STR_NEWGRF_SETTINGS_MOVEUP :{BLACK}Sposta s STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP :{BLACK}Sposta il file NewGRF selezionato più in alto nell'elenco STR_NEWGRF_SETTINGS_MOVEDOWN :{BLACK}Sposta giù STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP :{BLACK}Sposta il file NewGRF selezionato più in basso nell'elenco +STR_NEWGRF_SETTINGS_UPGRADE :{BLACK}Aggiorna +STR_NEWGRF_SETTINGS_UPGRADE_TOOLTIP :{BLACK}Aggiorna i file NewGRF per i quali è stata installata una versione più recente STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}Elenco dei file NewGRF installati. STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}Imposta parametri @@ -2826,6 +2865,16 @@ STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}File corri STR_NEWGRF_SETTINGS_DISABLED :{RED}Disabilitato STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Incompatibile con questa versione di OpenTTD +# NewGRF save preset window +STR_SAVE_PRESET_CAPTION :{WHITE}Salva profilo +STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK}Lista dei profili disponibili, selezionarne uno per copiarlo nella casella del nome del salvataggio +STR_SAVE_PRESET_TITLE :{BLACK}Inserire il nome del profilo +STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}Nome scelto per il profilo da salvare +STR_SAVE_PRESET_CANCEL :{BLACK}Annulla +STR_SAVE_PRESET_CANCEL_TOOLTIP :{BLACK}Non modifica il profilo +STR_SAVE_PRESET_SAVE :{BLACK}Salva +STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}Salva il profilo utilizzando il nome inserito + # NewGRF parameters window STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Cambia parametri NewGRF STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Chiudi @@ -2849,14 +2898,17 @@ STR_NEWGRF_INSPECT_QUERY_CAPTION :{WHITE}Parametr # Sprite aligner window STR_SPRITE_ALIGNER_CAPTION :{WHITE}Allineamento sprite {COMMA} ({STRING}) STR_SPRITE_ALIGNER_NEXT_BUTTON :{BLACK}Successivo -STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Procede al successivo sprite normale, saltanto qualsiasi sprite speciale, di ricoloramento o carattere e tornando al primo se viene raggiunta la fine +STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Procede al successivo sprite normale, saltanto qualsiasi sprite speciale, di ricoloramento o carattere e tornando al primo se viene raggiunto l'ultimo della lista STR_SPRITE_ALIGNER_GOTO_BUTTON :{BLACK}Vai a STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}Va allo sprite specificato. Se lo sprite non è uno sprite normale, procede allo sprite normale immediatamente successivo STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Precedente -STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Procede al precedente sprite normale, saltanto qualsiasi sprite speciale, di ricoloramento o carattere e tornando all'ultimo se viene raggiunto l'inizio +STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Procede al precedente sprite normale, saltanto qualsiasi sprite speciale, di ricoloramento o carattere e tornando all'ultimo se viene raggiunto il primo della lista STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Rappresentazione dello sprite corrente. L'allineamento viene ignorato in questa casella. -STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Sposta lo sprite, cambiando i posizionamenti X e Y -STR_SPRITE_ALIGNER_OFFSETS :{BLACK}Posizionamento X: {NUM}, Y: {NUM} +STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Sposta lo sprite, cambiando gli spiazzamenti X e Y +STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Reimposta posizione relativa +STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Reimposta gli spiazzamenti relativi attuali +STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}Posizione X: {NUM}, Y: {NUM} (assoluto) +STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}Posizione X: {NUM}, Y: {NUM} (relativo) STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Scegli sprite STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Sceglie uno o più sprite da un qualsiasi punto dello schermo @@ -2968,8 +3020,8 @@ STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} consegnato STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (ancora richiest{G 1 o o a}) STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (consegnat{G 1 o o a}) -STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}La città cresce ogni {ORANGE}{COMMA}{BLACK} giorn{P o i} -STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}La città cresce ogni {ORANGE}{COMMA}{BLACK} giorn{P o i} (finanziata) +STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}La città cresce ogni {ORANGE}{COMMA}{BLACK}{NBSP}giorn{P o i} +STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}La città cresce ogni {ORANGE}{COMMA}{BLACK}{NBSP}giorn{P o i} (finanziata) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}La città {RED}non{BLACK} sta crescendo STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Limite di rumore in città: {ORANGE}{COMMA}{BLACK} max: {ORANGE}{COMMA} STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Centra la visuale principale sulla posizione della città. CTRL+clic la mostra in una mini visuale. @@ -3029,7 +3081,7 @@ STR_GOAL_QUESTION_CAPTION_INFORMATION :Informazione STR_GOAL_QUESTION_CAPTION_WARNING :Avviso STR_GOAL_QUESTION_CAPTION_ERROR :Errore -### Start of Goal Question button list +############ Start of Goal Question button list STR_GOAL_QUESTION_BUTTON_CANCEL :Annulla STR_GOAL_QUESTION_BUTTON_OK :OK STR_GOAL_QUESTION_BUTTON_NO :No @@ -3048,6 +3100,7 @@ STR_GOAL_QUESTION_BUTTON_RESTART :Ricomincia STR_GOAL_QUESTION_BUTTON_POSTPONE :Rimanda STR_GOAL_QUESTION_BUTTON_SURRENDER :Rinuncia STR_GOAL_QUESTION_BUTTON_CLOSE :Chiudi +############ End of Goal Question button list # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}Sussidi @@ -3083,7 +3136,6 @@ STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}Non c'è # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} -STR_STATION_VIEW_WAITING_TITLE :{BLACK}In attesa: {WHITE}{STRING} STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} {G "da " dall' "dalla "}{STATION}) STR_STATION_VIEW_RESERVED :{YELLOW}({CARGO_SHORT} riservati per il caricamento) @@ -3373,10 +3425,10 @@ STR_PURCHASE_INFO_ALL_BUT :Tutto tranne {C 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_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Elenco di selezione dei veicoli ferroviari - fare clic su un veicolo per informazioni -STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Elenco selezione automezzi - fare clic su un veicolo per informazioni -STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Elenco selezione navi - fare clic su una nave per informazioni -STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Elenco selezione aeromobili - fare clic su un aeromobile per informazioni +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 +STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Elenco selezione navi - fare clic su una nave per informazioni. CTRL+clic mostra/nasconde il tipo di nave +STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Elenco selezione aeromobili - fare clic su un aeromobile per informazioni. CTRL+clic mostra/nasconde il tipo di aeromobile STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}Compra veicolo STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Compra veicolo @@ -3398,6 +3450,21 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Rinomina STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Rinomina il tipo di nave STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Rinomina il tipo di aeromobile +STR_BUY_VEHICLE_TRAIN_HIDE_TOGGLE_BUTTON :{BLACK}Nascondi +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_TOGGLE_BUTTON :{BLACK}Nascondi +STR_BUY_VEHICLE_SHIP_HIDE_TOGGLE_BUTTON :{BLACK}Nascondi +STR_BUY_VEHICLE_AIRCRAFT_HIDE_TOGGLE_BUTTON :{BLACK}Nascondi + +STR_BUY_VEHICLE_TRAIN_SHOW_TOGGLE_BUTTON :{BLACK}Mostra +STR_BUY_VEHICLE_ROAD_VEHICLE_SHOW_TOGGLE_BUTTON :{BLACK}Mostra +STR_BUY_VEHICLE_SHIP_SHOW_TOGGLE_BUTTON :{BLACK}Mostra +STR_BUY_VEHICLE_AIRCRAFT_SHOW_TOGGLE_BUTTON :{BLACK}Mostra + +STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Mosta/nasconde il tipo di veicolo ferroviario +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Mosta/nasconde il tipo di automezzo +STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Mosta/nasconde il tipo di nave +STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Mosta/nasconde il tipo di aeromobile + STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}Rinomina tipo di veicolo ferroviario STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}Rinomina tipo automezzo STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}Rinomina tipo di nave @@ -3502,6 +3569,11 @@ STR_REPLACE_VEHICLE_ROAD_VEHICLE :Automezzo STR_REPLACE_VEHICLE_SHIP :Nave STR_REPLACE_VEHICLE_AIRCRAFT :Aeromobile +STR_REPLACE_VEHICLE_VEHICLES_IN_USE :{YELLOW}Veicoli in uso +STR_REPLACE_VEHICLE_VEHICLES_IN_USE_TOOLTIP :{BLACK}Colonna dei veicoli posseduti +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES :{YELLOW}Veicoli disponibili +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES_TOOLTIP :{BLACK}Colonna dei veicoli disponibili per il rimpiazzo + STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Selezionare il tipo di locomotiva da rimpiazzare STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Selezionare il nuovo modello di locomotiva che si desidera usare al posto di quello selezionato a sinistra @@ -3626,7 +3698,7 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Capacit STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Crediti di trasferimento: {LTBLUE}{CURRENCY_LONG} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Manutenzione ogni: {LTBLUE}{COMMA} giorni{BLACK} Ultima volta: {LTBLUE}{DATE_LONG} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Manutenzione ogni: {LTBLUE}{COMMA}{NBSP}giorni{BLACK} Ultima volta: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Intervallo manutenzione: {LTBLUE}{COMMA}%{BLACK} Ultima il: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Aumenta l'intervallo di manutenzione di 10. CTRL+clic lo aumenta di 5. STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Riduce l'intervallo di manutenzione di 10. CTRL+clic lo riduce di 5. @@ -3724,8 +3796,8 @@ STR_ORDER_TOOLTIP_UNLOAD :{BLACK}Cambia l STR_ORDER_REFIT :{BLACK}Riadatta STR_ORDER_REFIT_TOOLTIP :{BLACK}Selezionare il tipo di carico per il quale riadattare in questo ordine. Premere CTRL+clic per rimuovere l'istruzione di riadattamento -STR_ORDER_REFIT_AUTO :{BLACK}Auto-riadatta -STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Selezionare il tipo di carico per il quale auto-riadattare in questo ordine. Premere CTRL+clic per rimuovere l'istruzione di riadattamento. L'auto-riadattamento sarà eseguito solo se il veicolo lo consente +STR_ORDER_REFIT_AUTO :{BLACK}Riadatta +STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Selezionare il tipo di carico per il quale riadattare in questo ordine. Premere CTRL+clic per rimuovere l'istruzione di riadattamento. Il riadattamento presso le stazioni sarà eseguito solo se il veicolo lo consente STR_ORDER_DROP_REFIT_AUTO :Carico prefissato STR_ORDER_DROP_REFIT_AUTO_ANY :Carico in attesa @@ -3816,18 +3888,18 @@ STR_ORDER_NO_UNLOAD_FULL_LOAD :(Non scaricare STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY :(Non scaricare e attendi qualsiasi pieno carico) STR_ORDER_NO_UNLOAD_NO_LOAD :(Non scaricare e non caricare) -STR_ORDER_AUTO_REFIT :(Auto-riadatta per {STRING}) -STR_ORDER_FULL_LOAD_REFIT :(Attendi pieno carico, auto-riadatta per {STRING}) -STR_ORDER_FULL_LOAD_ANY_REFIT :(Attendi qualsiasi pieno carico, auto-riadatta per {STRING}) -STR_ORDER_UNLOAD_REFIT :(Scarica e carica, auto-riadatta per {STRING}) -STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(Scarica e attendi pieno carico, auto-riadatta per {STRING}) -STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(Scarica e attendi qualsiasi pieno carico, auto-riadatta per {STRING}) -STR_ORDER_TRANSFER_REFIT :(Trasferisci e carica, auto-riadatta per {STRING}) -STR_ORDER_TRANSFER_FULL_LOAD_REFIT :(Trasferisci e attendi pieno carico, auto-riadatta per {STRING}) -STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :(Trasferisci e attendi qualsiasi pieno carico, auto-riadatta per {STRING}) -STR_ORDER_NO_UNLOAD_REFIT :(Non scaricare e carica, auto-riadatta per {STRING}) -STR_ORDER_NO_UNLOAD_FULL_LOAD_REFIT :(Non scaricare e attendi pieno carico, auto-riadatta per {STRING}) -STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY_REFIT :(Non scaricare e attendi qualsiasi pieno carico, auto-riadatta per {STRING}) +STR_ORDER_AUTO_REFIT :(Riadatta per {STRING}) +STR_ORDER_FULL_LOAD_REFIT :(Attendi pieno carico, riadatta per {STRING}) +STR_ORDER_FULL_LOAD_ANY_REFIT :(Attendi qualsiasi pieno carico, riadatta per {STRING}) +STR_ORDER_UNLOAD_REFIT :(Scarica e carica, riadatta per {STRING}) +STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(Scarica e attendi pieno carico, riadatta per {STRING}) +STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(Scarica e attendi qualsiasi pieno carico, riadatta per {STRING}) +STR_ORDER_TRANSFER_REFIT :(Trasferisci e carica, riadatta per {STRING}) +STR_ORDER_TRANSFER_FULL_LOAD_REFIT :(Trasferisci e attendi pieno carico, riadatta per {STRING}) +STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :(Trasferisci e attendi qualsiasi pieno carico, riadatta per {STRING}) +STR_ORDER_NO_UNLOAD_REFIT :(Non scaricare e carica, riadatta per {STRING}) +STR_ORDER_NO_UNLOAD_FULL_LOAD_REFIT :(Non scaricare e attendi pieno carico, riadatta per {STRING}) +STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY_REFIT :(Non scaricare e attendi qualsiasi pieno carico, riadatta per {STRING}) STR_ORDER_AUTO_REFIT_ANY :il carico in attesa @@ -3853,13 +3925,17 @@ STR_TIMETABLE_TOOLTIP :{BLACK}Tabella STR_TIMETABLE_NO_TRAVEL :Nessun viaggio STR_TIMETABLE_NOT_TIMETABLEABLE :Viaggia (automatico; orario basato sul successivo ordine manuale) STR_TIMETABLE_TRAVEL_NOT_TIMETABLED :Viaggia (senza orario) -STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Viaggia a non più di {2:VELOCITY} (senza orario) +STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Viaggia (senza orario) a non più di {2:VELOCITY} STR_TIMETABLE_TRAVEL_FOR :Viaggia per {STRING} STR_TIMETABLE_TRAVEL_FOR_SPEED :Viaggia per {STRING} a non più di {VELOCITY} +STR_TIMETABLE_TRAVEL_FOR_ESTIMATED :Viaggia (per {STRING}, senza orario) +STR_TIMETABLE_TRAVEL_FOR_SPEED_ESTIMATED :Viaggia (per {STRING}, senza orario) a non più di {VELOCITY} +STR_TIMETABLE_STAY_FOR_ESTIMATED :(ferma per {STRING}, senza orario) +STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(viaggia per {STRING}, senza orario) STR_TIMETABLE_STAY_FOR :e sosta per {STRING} STR_TIMETABLE_AND_TRAVEL_FOR :e viaggia per {STRING} -STR_TIMETABLE_DAYS :{COMMA} giorn{P o i} -STR_TIMETABLE_TICKS :{COMMA} tick +STR_TIMETABLE_DAYS :{COMMA}{NBSP}giorn{P o i} +STR_TIMETABLE_TICKS :{COMMA}{NBSP}tick STR_TIMETABLE_TOTAL_TIME :{BLACK}Gli ordini richiedono complessivamente {STRING} STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}Gli ordini richiedono almeno {STRING} (non tutti i tempi specificati) @@ -4097,6 +4173,7 @@ STR_ERROR_EXCAVATION_WOULD_DAMAGE :{WHITE}Gli scav STR_ERROR_ALREADY_AT_SEA_LEVEL :{WHITE}... già al livello del mare STR_ERROR_TOO_HIGH :{WHITE}... troppo alto STR_ERROR_ALREADY_LEVELLED :{WHITE}... già pianeggiante +STR_ERROR_BRIDGE_TOO_HIGH_AFTER_LOWER_LAND :{WHITE}Il ponte sovrastante si troverebbe troppo in alto # Company related errors STR_ERROR_CAN_T_CHANGE_COMPANY_NAME :{WHITE}Impossibile cambiare il nome della compagnia... @@ -4123,7 +4200,7 @@ STR_ERROR_TOO_CLOSE_TO_EDGE_OF_MAP_SUB :{WHITE}... trop STR_ERROR_TOO_CLOSE_TO_ANOTHER_TOWN :{WHITE}... troppo vicino ad un'altra città STR_ERROR_TOO_MANY_TOWNS :{WHITE}... troppe città STR_ERROR_NO_SPACE_FOR_TOWN :{WHITE}... non c'è altro spazio sulla mappa -STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}Alla città non è permesso costruire strade. È possibile abilitare la costruzione di strade in Impostazioni avanzate -> Economia -> Città +STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}Alla città non è permesso costruire strade. È possibile abilitare la costruzione di strade in Impostazioni -> Ambiente -> Città STR_ERROR_ROAD_WORKS_IN_PROGRESS :{WHITE}Lavori stradali in corso STR_ERROR_TOWN_CAN_T_DELETE :{WHITE}Impossibile eliminare la città...{}Una stazione o un deposito fa ancora riferimento alla città o un riquadro di proprietà della città non può essere rimosso STR_ERROR_STATUE_NO_SUITABLE_PLACE :{WHITE}... non ci sono spazi adeguati per una statua nel centro di questa città @@ -4147,6 +4224,9 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... una STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... può essere costruita solo al di sopra della linea delle nevi perenni STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... può essere costruita solo al di sotto della linea delle nevi perenni +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}Nessun luogo adatto per le industrie '{STRING}' +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Modificare i parametri di generazione delle mappa in modo da ottenerne una migliore + # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Impossibile costruire la stazione qui... STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}Impossibile costruire la stazione degli autobus qui... @@ -4283,6 +4363,7 @@ STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Bisogna STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}Impossibile partire e finire nello stesso punto STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}Le estremità del ponte non sono allo stesso livello STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}Il ponte è troppo basso per il terreno +STR_ERROR_BRIDGE_TOO_HIGH_FOR_TERRAIN :{WHITE}Il ponte è troppo alto per il terreno STR_ERROR_START_AND_END_MUST_BE_IN :{WHITE}Inizio e fine devono essere allineati STR_ERROR_ENDS_OF_BRIDGE_MUST_BOTH :{WHITE}... gli estremi del ponte devono trovarsi entrambi sul terreno STR_ERROR_BRIDGE_TOO_LONG :{WHITE}... ponte troppo lungo @@ -4847,6 +4928,7 @@ STR_COMPANY_NAME :{COMPANY} STR_COMPANY_NAME_COMPANY_NUM :{COMPANY} {COMPANY_NUM} STR_DEPOT_NAME :{DEPOT} STR_ENGINE_NAME :{ENGINE} +STR_HIDDEN_ENGINE_NAME :{ENGINE} (nascosto) STR_GROUP_NAME :{GROUP} STR_INDUSTRY_NAME :{INDUSTRY} STR_PRESIDENT_NAME :{PRESIDENT_NAME} @@ -4882,8 +4964,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -4894,9 +4974,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/japanese.txt b/src/lang/japanese.txt index 02ddf0e95e..4e3919520c 100644 --- a/src/lang/japanese.txt +++ b/src/lang/japanese.txt @@ -248,6 +248,17 @@ STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}スク STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}スクロールバーです。リストを横にスクロールします STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}建物などを範囲指定して撤去します。Ctrlを押すと、範囲が斜めになります。Shiftを押しながら決定すると、費用を見積もります +# Show engines button +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}非表示を表示 +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK}非表示を表示 +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}非表示を表示 +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}非表示を表示 + +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}このボタンを押すと、非表示の列車も全て表示されます +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE_TOOLTIP :{BLACK}このボタンを押すと、非表示の車両も全て表示されます +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}このボタンを押すと、非表示の船舶も全て表示されます +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}このボタンを押すと、非表示の航空機も全て表示されます + # Query window STR_BUTTON_DEFAULT :{BLACK}デフォルト STR_BUTTON_CANCEL :{BLACK}キャンセル @@ -361,7 +372,7 @@ STR_SCENEDIT_FILE_MENU_QUIT :OpenTTDを終 ############ range for settings menu starts STR_SETTINGS_MENU_GAME_OPTIONS :ゲームオプション設定 -STR_SETTINGS_MENU_CONFIG_SETTINGS :拡張設定 +STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :設定 STR_SETTINGS_MENU_SCRIPT_SETTINGS :AI/ゲームスクリプト設定 STR_SETTINGS_MENU_NEWGRF_SETTINGS :NewGRFの設定 STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :透過表示設定 @@ -470,7 +481,7 @@ STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :バウンディ STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :ダーティーブロックの色付け切替 ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window STR_ORDINAL_NUMBER_1ST :1 STR_ORDINAL_NUMBER_2ND :2 STR_ORDINAL_NUMBER_3RD :3 @@ -486,22 +497,40 @@ STR_ORDINAL_NUMBER_12TH :12 STR_ORDINAL_NUMBER_13TH :13 STR_ORDINAL_NUMBER_14TH :14 STR_ORDINAL_NUMBER_15TH :15 -STR_ORDINAL_NUMBER_16TH :16 -STR_ORDINAL_NUMBER_17TH :17 -STR_ORDINAL_NUMBER_18TH :18 -STR_ORDINAL_NUMBER_19TH :19 -STR_ORDINAL_NUMBER_20TH :20 -STR_ORDINAL_NUMBER_21ST :21 -STR_ORDINAL_NUMBER_22ND :22 -STR_ORDINAL_NUMBER_23RD :23 -STR_ORDINAL_NUMBER_24TH :24 -STR_ORDINAL_NUMBER_25TH :25 -STR_ORDINAL_NUMBER_26TH :26 -STR_ORDINAL_NUMBER_27TH :27 -STR_ORDINAL_NUMBER_28TH :28 -STR_ORDINAL_NUMBER_29TH :29 -STR_ORDINAL_NUMBER_30TH :30 -STR_ORDINAL_NUMBER_31ST :31 +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :1 +STR_DAY_NUMBER_2ND :2 +STR_DAY_NUMBER_3RD :3 +STR_DAY_NUMBER_4TH :4 +STR_DAY_NUMBER_5TH :5 +STR_DAY_NUMBER_6TH :6 +STR_DAY_NUMBER_7TH :7 +STR_DAY_NUMBER_8TH :8 +STR_DAY_NUMBER_9TH :9 +STR_DAY_NUMBER_10TH :10 +STR_DAY_NUMBER_11TH :11 +STR_DAY_NUMBER_12TH :12 +STR_DAY_NUMBER_13TH :13 +STR_DAY_NUMBER_14TH :14 +STR_DAY_NUMBER_15TH :15 +STR_DAY_NUMBER_16TH :16 +STR_DAY_NUMBER_17TH :17 +STR_DAY_NUMBER_18TH :18 +STR_DAY_NUMBER_19TH :19 +STR_DAY_NUMBER_20TH :20 +STR_DAY_NUMBER_21ST :21 +STR_DAY_NUMBER_22ND :22 +STR_DAY_NUMBER_23RD :23 +STR_DAY_NUMBER_24TH :24 +STR_DAY_NUMBER_25TH :25 +STR_DAY_NUMBER_26TH :26 +STR_DAY_NUMBER_27TH :27 +STR_DAY_NUMBER_28TH :28 +STR_DAY_NUMBER_29TH :29 +STR_DAY_NUMBER_30TH :30 +STR_DAY_NUMBER_31ST :31 ############ range for days ends ############ range for months starts @@ -810,13 +839,12 @@ STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}{VEHICLE STR_NEWS_SHIP_IS_WAITING :{WHITE}{VEHICLE}は造船所に停泊しました STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE}は格納庫に駐機しました -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE +# Order review system / warnings STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE}に十分な指令がありません STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE}に無効な指令があります STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE}に重複した指令があります STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE}の指令に無効な停留施設があります -# end of order system +STR_NEWS_PLANE_USES_TOO_SHORT_RUNWAY :{WHITE}{VEHICLE}の命令中に滑走路が短すぎる空港が含まれています STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE}は老朽化が進んでいます STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE}はひどく老朽化しています @@ -899,10 +927,6 @@ STR_GAME_OPTIONS_CURRENCY_GEL :グルジア STR_GAME_OPTIONS_CURRENCY_IRR :イラン リアル(IRR) ############ end of currency region - -############ start of measuring units region -############ end of measuring units region - STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}自動車 STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}車両の通行方向(右側/左側)を選択します STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :左側通行 @@ -935,14 +959,16 @@ STR_GAME_OPTIONS_TOWN_NAME_ITALIAN :イタリア STR_GAME_OPTIONS_TOWN_NAME_CATALAN :カタラン ############ end of townname region -STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}自動保存 +STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}オートセーブ STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}自動保存の間隔を選択します +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :しない STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :毎月 STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :3ヶ月毎 STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :6ヶ月毎 STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :12ヶ月毎 +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}言語 STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}ゲームの言語を選択します @@ -954,8 +980,12 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}画面 STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}ゲーム画面の解像度を選択します STR_GAME_OPTIONS_RESOLUTION_OTHER :その他 -STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}スクリーンショットフォーマット -STR_GAME_OPTIONS_SCREENSHOT_FORMAT_TOOLTIP :{BLACK}スクリーンショットのファイルフォーマットを選択します +STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}インターフェイスのサイズ +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}インターフェイス上の単位サイズを指定します + +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :通常 +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :2倍 +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :4倍 STR_GAME_OPTIONS_BASE_GRF :{BLACK}基本グラフィックセット STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}使用するグラフィックセットを選択します @@ -971,6 +1001,7 @@ STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}使用 STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM}個の破損ファイルがあります STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}基本音楽セットについての追加情報 +STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}サポートされている解像度リストの回復に失敗しました STR_ERROR_FULLSCREEN_FAILED :{WHITE}フルスクリーンモードでの実行に失敗しました # Custom currency window @@ -1049,6 +1080,7 @@ STR_TERRAIN_TYPE_VERY_FLAT :特に平地 STR_TERRAIN_TYPE_FLAT :平地 STR_TERRAIN_TYPE_HILLY :丘陵地 STR_TERRAIN_TYPE_MOUNTAINOUS :山岳地 +STR_TERRAIN_TYPE_ALPINIST :山脈地帯 STR_CITY_APPROVAL_PERMISSIVE :寛大 STR_CITY_APPROVAL_TOLERANT :寛容 @@ -1056,8 +1088,8 @@ STR_CITY_APPROVAL_HOSTILE :対立 STR_WARNING_NO_SUITABLE_AI :{WHITE}適切なAIがありません...{}AIは「オンライン項目を確認」からダウンロード可能です -# Advanced settings window -STR_CONFIG_SETTING_CAPTION :{WHITE}拡張設定 +# Settings tree window +STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}設定 STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}フィルター設定: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}全てを開く STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}全てを折りたたむ @@ -1072,20 +1104,20 @@ STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :会社設定( STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK}カテゴリ: STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}種類: -STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}設定のレベルでフィルタリングします。標準の設定と異なるもののみ表示することもできます -STR_CONFIG_SETTING_RESTRICT_BASIC :基本設定 -STR_CONFIG_SETTING_RESTRICT_ADVANCED :詳細設定 -STR_CONFIG_SETTING_RESTRICT_ALL :拡張設定(全設定) +STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}定義されたフィルタでリストをフィルタリングします。 +STR_CONFIG_SETTING_RESTRICT_BASIC :基本設定(重要な設定のみ表示) +STR_CONFIG_SETTING_RESTRICT_ADVANCED :詳細設定(より多くの設定を表示) +STR_CONFIG_SETTING_RESTRICT_ALL :拡張設定(変なものも含めて全設定を表示) STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :既定とは異なる設定 STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :新規ゲーム開始時とは異なる設定 STR_CONFIG_SETTING_TYPE_DROPDOWN_HELPTEXT :{BLACK}設定のジャンルでフィルタリングします STR_CONFIG_SETTING_TYPE_DROPDOWN_ALL :全設定 -STR_CONFIG_SETTING_TYPE_DROPDOWN_CLIENT :クライアント設定(変更はセーブされません) -STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :ゲーム設定(ニューゲーム時に影響) -STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :ゲーム設定(今のゲームにのみ影響) -STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :会社設定(ニューゲーム時に影響) -STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :会社設定(今の会社だけに影響) +STR_CONFIG_SETTING_TYPE_DROPDOWN_CLIENT :クライアント設定(保存ゲーム内に記録無・全ゲームに影響) +STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :ゲーム設定(全保存ゲーム内に記録・ニューゲーム時に影響) +STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :ゲーム設定(保存ゲーム内に記録・今のゲームにのみ影響) +STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :会社設定(全保存ゲーム内に記録・ニューゲーム時に影響) +STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :会社設定(保存ゲーム内に記録・今の会社だけに影響) STR_CONFIG_SETTING_CATEGORY_HIDES :{BLACK}設定による検索結果を全て表示{}{SILVER}カテゴリ{BLACK}別{WHITE}{STRING} STR_CONFIG_SETTING_TYPE_HIDES :{BLACK}設定による検索結果を全て表示{}{SILVER}種類{BLACK}別{WHITE}All setting types STR_CONFIG_SETTING_CATEGORY_AND_TYPE_HIDES :{BLACK}設定による検索結果を全て表示{}{SILVER}カテゴリ{BLACK}別{WHITE}{STRING} {BLACK}and {SILVER}Type {BLACK}to {WHITE}All setting types @@ -1130,8 +1162,9 @@ STR_CONFIG_SETTING_DISASTERS_HELPTEXT :設定を有効 STR_CONFIG_SETTING_CITY_APPROVAL :地域の再編に対する町の姿勢: {STRING} STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :会社が街域で引き起こした騒音(主に空港)や環境破壊がどの程度、街での評価や同じ地域での更なる建設行為に影響するかを設定します -STR_CONFIG_SETTING_BUILDONSLOPES :傾斜地/海岸での盛土: {STRING} -STR_CONFIG_SETTING_BUILDONSLOPES_HELPTEXT :設定を有効にすると、路線や駅の建設をほとんどの斜面で行うことができます。無効にすると盛土が不要な、向きが一致する斜面か平地でしか路線の建設を行うことが出来ません +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :マップの最高高度: {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :マップの最高地点の高さを設定します +STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}マップの最高高さをこの値には設定出来ません。少なくとも1箇所以上この値より高い山があります。 STR_CONFIG_SETTING_AUTOSLOPE :建物/路線の自動地形追従: {STRING} STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :撤去を行わないで建物や路線がある土地の地形を変更することを可能にします。建物/路線は変更された地形に自動で追従します。 STR_CONFIG_SETTING_CATCHMENT :現実的な受入範囲: {STRING} @@ -1156,16 +1189,12 @@ STR_CONFIG_SETTING_FORBID_90_DEG :列車/船舶 STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :直角方向への進路変更は(画面から見て)水平方向の線路と垂直方向の線路が隣接したタイルで繋がっていると起こります。(これ以外では、直前から見て左右45°方向までしか線路は繋がりません) この設定は船舶の同様な直角進路変更にも適用されます。 STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :非隣接駅の統合許容: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :直接繋がっていない近隣の駅/停留所などを一つとして扱えるかを設定します。有効にした場合、新設する際にCtrl+クリックで統合先の選択が可能になります。 -STR_CONFIG_SETTING_IMPROVEDLOAD :改良積載アルゴリズムを使用: {STRING} -STR_CONFIG_SETTING_IMPROVEDLOAD_HELPTEXT :有効にすると、同時に同じ貨物を待機している運搬車両への積み込みは振り分けではなく編成順に行われるようになります。最初の編成に十分に積載されるまでは次の編成への積み込みは行われません。 -STR_CONFIG_SETTING_GRADUAL_LOADING :段階的な積載: {STRING} -STR_CONFIG_SETTING_GRADUAL_LOADING_HELPTEXT :積み降ろしが運搬車両特有の係数によって車両毎、徐々に行われるようになります。設定を無効にすると、積み降ろしは全車一括で瞬間的に行われます。このときの所要時間は総積載量のみに左右されます。 STR_CONFIG_SETTING_INFLATION :インフレ: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :インフレを有効にします。経費の方が収入よりわずかに早く上昇していきます。 -STR_CONFIG_SETTING_SELECTGOODS :必要貨物のみ集荷: {STRING} -STR_CONFIG_SETTING_SELECTGOODS_HELPTEXT :到着した運搬車両が積み込もうとする貨物のみ停留施設に集荷されるようにします。搬送扱いのない貨物が停留施設で山積みになることでの悪評を防げます。 -STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :橋の最大長:{STRING} -STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :橋の最大長を設定できます +STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :橋梁の最大長:{STRING} +STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :橋梁の最大長を設定できます +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :橋梁の高度: {STRING} +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :橋梁の建設出来る高さを設定出来ます STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :トンネルの最大長:{STRING} STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :トンネルの最大長を設定できます STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :一次産業の開設法: {STRING} @@ -1191,8 +1220,6 @@ STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :デフォルト STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :先端 STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :中間 STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :終端 -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING :車両の荷待ち停車(不確定性あり): {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING_HELPTEXT :停車予定の停留施設が渋滞している場合、バスやトラックが追い越して一度周回した後戻るよりは渋滞の解消を待つほうを好むようになります STR_CONFIG_SETTING_AUTOSCROLL :エッジスクロール: {STRING} STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :有効にすると、ウィンドウの端にカーソルを持っていくとスクロールするようになります STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :しない @@ -1223,10 +1250,6 @@ STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :街有道路で STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :路側型バス停/荷役所を街が所有する道路上に建設することを可能にします STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :他社の道路上での路側型バス停/荷役所設置: {STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :路側型バス停/荷役所を他社が所有する道路上に建設することを可能にします -STR_CONFIG_SETTING_ADJACENT_STATIONS :停留施設同士の接合: {STRING} -STR_CONFIG_SETTING_ADJACENT_STATIONS_HELPTEXT :異なる交通機関の停留施設を接合することを可能にします -STR_CONFIG_SETTING_DYNAMIC_ENGINES :複数のNewGRFエンジンセットの有効化: {STRING} -STR_CONFIG_SETTING_DYNAMIC_ENGINES_HELPTEXT :古いNewGRFとの互換性を保つためのオプションです。自分が何をしようとしているか判っていない限り、このオプションを無効にしないで下さい! STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}この設定の変更は既に輸送車両が存在する時には不可能です STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :インフラ補修: {STRING} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :有効にすると、インフラ設備にも維持費が発生するようになります。維持費はネットワークのサイズに非線形で比例する為、小さい会社よりも大きい会社の方が影響が大きくなります @@ -1257,7 +1280,7 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :エラーメッ STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :赤地のエラーメッセージが表示されている時間を設定します。注: 致命的なエラーの場合はこの時間を経過しても自動では閉じません。 STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{COMMA}秒 STR_CONFIG_SETTING_HOVER_DELAY :ツールチップ表示: {STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :カーソルをインターフェイス要素に乗せた場合にツールチップが表示されるまでの時間を決定します。この設定でツールチップを右クリックで表示するようにもできます +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :カーソルをインターフェイス要素に乗せた場合にツールチップが表示されるまでの時間を決定します。"0"に設定するとツールチップは右クリックで表示されるようになります STR_CONFIG_SETTING_HOVER_DELAY_VALUE :マウスオーバー {COMMA}秒後 STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :右クリック STR_CONFIG_SETTING_POPULATION_IN_LABEL :街名ラベルに人口を表示: {STRING} @@ -1265,27 +1288,41 @@ STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :街の名前ラ STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :グラフ線の太さ: {STRING} STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :グラフ画面での折れ線の太さを設定します。細い線では値を精密に読み取りやすくなり、太い線ではグラフ自体が見やすくなり、線色の見分けがつきやすくなります +STR_CONFIG_SETTING_LANDSCAPE :地形: {STRING} +STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :地形は異なる貨物や街の成長要件の違いによって基本となるプレー法を左右します。但し、NewGRFやスクリプトにより条件が改良されることもあります STR_CONFIG_SETTING_LAND_GENERATOR :地形作成: {STRING} +STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :オリジナルの地形ジェネレーターは基本グラフィックセットに依存し、ある程度固定された地形しか生成出来ません。TerraGenesisはパーリンノイズに基づいた地形ジェネレーターで、より細かい地形生成のパラメータを指定できます STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :オリジナル STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis +STR_CONFIG_SETTING_TERRAIN_TYPE :地形種類: {STRING} +STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(TerraGenesisのみ) 地形における丘の度合い +STR_CONFIG_SETTING_INDUSTRY_DENSITY :産業の密度: {STRING} +STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :どの程度の産業が開始時に生成され、ゲーム中にそのレベルを維持するようにするのかを設定します STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :石油精製所のマップ端からの距離: {STRING} STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :石油精製所はマップの外周付近にのみ建設されます。つまり、外周が海のマップでは海岸沿いに建設されるということです STR_CONFIG_SETTING_SNOWLINE_HEIGHT :雪線の位置: {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :地形の起伏(TerraGenesis のみ): {STRING} +STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :亜寒帯気候での雪線の高さを設定します。雪は産業と街の成長に影響があります +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :地形の起伏: {STRING} +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(TerraGenesisのみ) 地形の起伏度を設定します。なだらかな地形では丘陵の数は減り、裾野が長くなります。起伏が多い地形では丘陵が多くなりますが、似たり寄ったりな地形の繰り返しに見えることがあります STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :特になだらか STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :なだらか STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :起伏 STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :特に起伏 +STR_CONFIG_SETTING_VARIETY :地形特徴の分布: {STRING} +STR_CONFIG_SETTING_VARIETY_HELPTEXT :(TerraGenesisのみ) マップに山岳地と平地の両方が含まれるかを調整します。この設定を使ってもマップがより平坦になってしまう場合は、他の設定を「山岳」に切り替えください +STR_CONFIG_SETTING_RIVER_AMOUNT :川の数: {STRING} +STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :どの位の川が生成されるかを設定します STR_CONFIG_SETTING_TREE_PLACER :植林アルゴリズム: {STRING} +STR_CONFIG_SETTING_TREE_PLACER_HELPTEXT :マップでの木の分布を設定します。「オリジナル」では全ての樹種がマップ全域に散布するように植えられます。「改良」ではある程度のまとまりで植えられます STR_CONFIG_SETTING_TREE_PLACER_NONE :なし STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :オリジナル STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :改良版 +STR_CONFIG_SETTING_ROAD_SIDE :道路車両: {STRING} +STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :左側/右側通行を設定します STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :ハイトマップの回転方向: {STRING} STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :反時計回り STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :時計回り STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :シナリオマップ生成時の平地高さ: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :マップ外周タイルの地形変更: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES_HELPTEXT :無効にすると、マップの外周は常に全て海になります STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}北端の1箇所以上のタイルが空き地ではありません STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}マップ端の1箇所以上のタイルが水域ではありません @@ -1336,17 +1373,15 @@ 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_AUTOSAVE :オートセーブ: {STRING} +STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :オートセーブの間隔を設定します + STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :セーブ時の日付フォーマット: {STRING} STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :セーブデータ名にデフォルトで付けられる日付の表記法を指定します。注: 日本の場合、「短」と「ISO標準」に違いはありません STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :長 (2008年12月31日) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :短 (2008-12-31) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO標準 (2008-12-31) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE :パレット指定のないNewGRFのデフォルトパレット: {STRING} -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_HELPTEXT :NewGRFに指定されていない場合、使用するデフォルトパレットを設定します -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_DOS :DOS版既定パレット -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_WIN :Windows版既定パレット - STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :新規ゲーム開始時に自動ポーズ: {STRING} STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :有効にすると、新規ゲーム開始時に自動的に一時停止状態になります。事業を始める前にマップを精査するのに便利です STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :一時停止時に可能な行動: {STRING} @@ -1568,8 +1603,6 @@ STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :{COMMA}分の1 STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :変化なし STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :初期の都市サイズ乗数: {STRING} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :ゲーム開始時に都市が普通の町に比べて平均して何倍の人口規模になるかを設定します -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :街路補修時に道路を整理: {STRING} -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD_HELPTEXT :街路補修に出資した際に、先が建物に塞がれた交差点などを整理撤去するようなります STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :分配グラフの更新頻度: {STRING}日 STR_CONFIG_SETTING_LINKGRAPH_INTERVAL_HELPTEXT :リンクグラフを再計算する時間間隔を設定します。それぞれの再計算では、グラフの単一要素に関わる経路計画だけを計算します。つまり、グラフの一部が更新されるだけで、全体が設定した間隔で更新されるという訳ではありません。この間隔を短くすると再計算のためにCPUへの負荷が大きくなります。長くすると、新たなルートが貨物分配に組み込まれるのに時間がかかるようになります。 @@ -1583,7 +1616,7 @@ STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :旅客がどの STR_CONFIG_SETTING_DISTRIBUTION_MAIL :郵便物の行先分配法: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :郵便がどのように行き先別に分配されるかを設定します。「対称」ではAからBへ向かう郵便とほぼ同数が、BからAに向かうようになります。 「非対称」ではそれぞれの方向に向かう郵便数は独立に決められます。「無効」では行き先別分配をしなくなります STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :装甲車輸送品の行先分配法: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :装甲車輸送品とは貴重品(温帯)、金(亜寒帯)、ダイヤモンド(亜熱帯)のことです(NewGRFの導入状況よっては変わることがあります)。これらの品目ががどのように行き先別に分配されるかを設定します。「対称」ではAからBへ向かう輸送品とほぼ同数が、BからAに向かうようになります。 「非対称」ではそれぞれの方向に向かう輸送品数は独立に決められます。「無効」では行き先別分配をしなくなります。温帯では銀行同士で貴重品のやりとりがあるので「対称」を選択しても問題ありませんが、金やダイヤモンドが銀行から鉱山に送られるようなことはないので、亜寒帯・亜熱帯では「非対称」か「無効」にすることをお勧めします。 +STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :装甲車輸送品とは貴重品(温帯)、金(亜寒帯)、ダイヤモンド(亜熱帯)のことです(NewGRFの導入状況よっては変わることがあります)。これらの品目ががどのように行き先別に分配されるかを設定します。「対称」ではAからBへ向かう輸送品とほぼ同数が、BからAに向かうようになります。 「非対称」ではそれぞれの方向に向かう輸送品数は独立に決められます。「手動」では自動での行き先別分配をしなくなります。亜熱帯・温帯では銀行同士で貴重品のやりとりがあるので「対称」を選択しても問題ありませんが、金やダイヤモンドが銀行から鉱山に送られるようなことはないので、亜寒帯では「非対称」か「手動」にすることをお勧めします。 STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :一般貨物の行先分配法: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :一般的な貨物がどのように行き先別に分配されるかを設定します。「非対称」ではそれぞれの方向に向かう貨物数はプログラムの任意に決められます。「無効」では行き先別分配をしなくなります。 STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :分配精度: {STRING} @@ -1626,32 +1659,34 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_METRIC :メートル法 STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_SI :国際単位系 (kN) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT :距離単位: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT :ゲーム中の長さをいずれの単位系で表すか決定します +STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT :ゲーム中の高度をいずれの単位系で表すか決定します STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :ヤード・ポンド法 (フィート(ft)) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :メートル法 (m) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :国際単位系 (m) -STR_CONFIG_SETTING_GUI :{ORANGE}インターフェース STR_CONFIG_SETTING_LOCALISATION :{ORANGE}多国籍対応 -STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}建設 -STR_CONFIG_SETTING_VEHICLES :{ORANGE}輸送機器 -STR_CONFIG_SETTING_STATIONS :{ORANGE}停留施設 -STR_CONFIG_SETTING_ECONOMY :{ORANGE}経済 -STR_CONFIG_SETTING_LINKGRAPH :{ORANGE}貨物配送先 -STR_CONFIG_SETTING_AI :{ORANGE}競争会社 -STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}表示設定 -STR_CONFIG_SETTING_INTERACTION :{ORANGE}インターフェース +STR_CONFIG_SETTING_GRAPHICS :{ORANGE}グラフィック STR_CONFIG_SETTING_SOUND :{ORANGE}効果音 -STR_CONFIG_SETTING_NEWS :{ORANGE}ニュース/メッセージ -STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}信号 -STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE}貨物取扱 -STR_CONFIG_SETTING_AI_NPC :{ORANGE}コンピュータプレイヤー -STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE}自動更新 -STR_CONFIG_SETTING_VEHICLES_SERVICING :{ORANGE}点検 +STR_CONFIG_SETTING_INTERFACE :{ORANGE}インターフェース +STR_CONFIG_SETTING_INTERFACE_GENERAL :{ORANGE}一般 +STR_CONFIG_SETTING_INTERFACE_VIEWPORTS :{ORANGE}画面表示 +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}建設 +STR_CONFIG_SETTING_ADVISORS :{ORANGE}ニュース/アドバイス +STR_CONFIG_SETTING_COMPANY :{ORANGE}会社 +STR_CONFIG_SETTING_ACCOUNTING :{ORANGE}会計 +STR_CONFIG_SETTING_VEHICLES :{ORANGE}輸送機器 +STR_CONFIG_SETTING_VEHICLES_PHYSICS :{ORANGE}物理モデル STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}経路構築 -STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}列車 -STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}街 -STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}産業 +STR_CONFIG_SETTING_LIMITATIONS :{ORANGE}制限 +STR_CONFIG_SETTING_ACCIDENTS :{ORANGE}災害/事故 +STR_CONFIG_SETTING_GENWORLD :{ORANGE}マップ生成 +STR_CONFIG_SETTING_ENVIRONMENT :{ORANGE}環境 +STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :{ORANGE}地方自治体 +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}街 +STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}産業 +STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :{ORANGE}貨物配送先 +STR_CONFIG_SETTING_AI :{ORANGE}競争会社 +STR_CONFIG_SETTING_AI_NPC :{ORANGE}コンピュータプレイヤー STR_CONFIG_SETTING_PATHFINDER_OPF :オリジナル STR_CONFIG_SETTING_PATHFINDER_NPF :NPF @@ -1700,7 +1735,7 @@ STR_INTRO_MULTIPLAYER :{BLACK}マル STR_INTRO_GAME_OPTIONS :{BLACK}基本設定 STR_INTRO_HIGHSCORE :{BLACK}ハイスコア -STR_INTRO_ADVANCED_SETTINGS :{BLACK}拡張設定 +STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}設定 STR_INTRO_NEWGRF_SETTINGS :{BLACK}NewGRFの設定 STR_INTRO_ONLINE_CONTENT :{BLACK}オンラインコンテンツの確認 STR_INTRO_SCRIPT_SETTINGS :{BLACK}AI/ゲームスクリプトの設定 @@ -1720,7 +1755,7 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}地域 STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}ゲームの設定を表示します STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}ハイスコアを表示します -STR_INTRO_TOOLTIP_ADVANCED_SETTINGS :{BLACK}より細かいゲームの設定画面を表示します +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}設定を表示 STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}NewGRFの有効/無効化、各パラメータの設定ができます STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}公式オンラインコンテンツのデータベースからデータの確認・追加・更新ができます STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}AI/ゲームスクリプトの設定を行います @@ -1760,6 +1795,8 @@ STR_CHEAT_CHANGE_COMPANY :{LTBLUE}会社: STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}魔法のブルドーザー(産業拠点等、何でも撤去できる): {ORANGE}{STRING} STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}トンネルの平面交差を許容: {ORANGE}{STRING} STR_CHEAT_NO_JETCRASH :{LTBLUE}ジェット機の小型空港での墜落率を減少: {ORANGE}{STRING} +STR_CHEAT_EDIT_MAX_HL :{LTBLUE}マップの最高高度を変更: {ORANGE}{NUM} +STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}マップの最大高度 STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE :温帯 STR_CHEAT_SWITCH_CLIMATE_SUB_ARCTIC_LANDSCAPE :亜寒帯 STR_CHEAT_SWITCH_CLIMATE_SUB_TROPICAL_LANDSCAPE :亜熱帯 @@ -1808,6 +1845,7 @@ STR_LIVERY_FREIGHT_TRAM :貨物用路面 STR_FACE_CAPTION :{WHITE}顔の変更 STR_FACE_CANCEL_TOOLTIP :{BLACK}顔の変更をキャンセルします STR_FACE_OK_TOOLTIP :{BLACK}顔の変更を適用します +STR_FACE_RANDOM :{BLACK}ランダム STR_FACE_MALE_BUTTON :{BLACK}男性 STR_FACE_MALE_TOOLTIP :{BLACK}男性顔を表示します @@ -2277,7 +2315,7 @@ STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}自動 STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}列車庫を建設します(列車の購入・整備施設になります)。Shiftを押しながら決定すると費用の見積が出ます STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}線路に通過点を設置します。Ctrlを押しながら決定すると通過点同士を結合できます。Shiftを押しながら決定すると費用の見積が出ます STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}駅を建設します。Ctrlを押しながら決定すると離れた駅等と結合可能です。Shiftを押しながら決定すると費用の見積が出ます -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}鉄道信号を建設します。Ctrlで腕木式と色灯式を切り替えられます。{}ドラックして決定するとその区間に一定間隔で信号が配置されます。このときCtrlを押しておくと、その先分岐に行き着くまで信号を配置していきます。{}Ctrl+クリックで信号種類を選ぶウィンドウが出ます(「信号のGUIを使用」設定オフ時のみ)。Shiftを押しながら決定すると費用の見積が出ます +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}鉄道信号を建設します。Ctrlで腕木式と色灯式を切り替えられます。{}ドラックして決定するとその区間に一定間隔で信号が配置されます。このときCtrlを押しておくと、その先分岐か信号に行き着くまで連続配置します。{}Ctrl+クリックで信号種類を選ぶウィンドウが出ます(「信号のGUIを使用」設定オフ時のみ)。Shiftを押しながら決定すると費用の見積が出ます STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}鉄道橋を建設します。Shiftを押しながら決定すると費用の見積が出ます STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}鉄道トンネルを建設します。Shiftを押しながら決定すると費用の見積が出ます STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}線路・信号・駅・中継駅の建設/撤去を切り替えます。{}Ctrlを押したままにすると駅・通過点の撤去時に線路ごと撤去されます @@ -2649,7 +2687,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-2014 The OpenTTD team +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 The OpenTTD team # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}ゲームを保存 @@ -2684,13 +2722,12 @@ STR_MAPGEN_BY :{BLACK}× STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}街数: STR_MAPGEN_DATE :{BLACK}日付: STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}産業数: +STR_MAPGEN_MAX_HEIGHTLEVEL :{BLACK}マップ最高高度: +STR_MAPGEN_MAX_HEIGHTLEVEL_UP :{BLACK}マップの最高高度を1ずつ増やします +STR_MAPGEN_MAX_HEIGHTLEVEL_DOWN :{BLACK}マップの最高高度を1ずつ減らします STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}雪線の位置: STR_MAPGEN_SNOW_LINE_UP :{BLACK}雪線を上げる STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}雪線を下げる -STR_MAPGEN_RANDOM_SEED :{BLACK}乱数種(シード): -STR_MAPGEN_RANDOM_SEED_HELP :{BLACK}乱数種を入力するにはクリックします -STR_MAPGEN_RANDOM :{BLACK}ランダム -STR_MAPGEN_RANDOM_HELP :{BLACK}地形作成の乱数種を変更します STR_MAPGEN_LAND_GENERATOR :{BLACK}地形作成: STR_MAPGEN_TREE_PLACER :{BLACK}植林アルゴリズム: STR_MAPGEN_TERRAIN_TYPE :{BLACK}地形種類: @@ -2717,7 +2754,7 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}ハイ STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}サイズ: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} × {NUM} -STR_MAPGEN_RANDOM_SEED_OSKTITLE :{BLACK}乱数種を入力 +STR_MAPGEN_MAX_HEIGHTLEVEL_QUERY_CAPT :{WHITE}マップの最高高度を変更 STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}雪線の位置を変更 STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}開始年の変更 @@ -2733,13 +2770,13 @@ STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_UP :{BLACK}平地 STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_QUERY_CAPT :{WHITE}平地高度を変更 # Map generation progress -STR_GENERATION_WORLD :{WHITE}地形作成中 +STR_GENERATION_WORLD :{WHITE}マップ生成中 STR_GENERATION_ABORT :{BLACK}キャンセル -STR_GENERATION_ABORT_CAPTION :{WHITE}地形作成を中止 -STR_GENERATION_ABORT_MESSAGE :{YELLOW}地形作成をキャンセルしてもよろしいですか? +STR_GENERATION_ABORT_CAPTION :{WHITE}マップ生成を中止 +STR_GENERATION_ABORT_MESSAGE :{YELLOW}マップ生成をキャンセルしてもよろしいですか? STR_GENERATION_PROGRESS :{WHITE}{NUM}%完了 STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM}/{NUM} -STR_GENERATION_WORLD_GENERATION :{BLACK}地形作成中 +STR_GENERATION_WORLD_GENERATION :{BLACK}マップ生成 STR_GENERATION_RIVER_GENERATION :{BLACK}河川を生成中 STR_GENERATION_TREE_GENERATION :{BLACK}植林中 STR_GENERATION_OBJECT_GENERATION :{BLACK}灯台/電波塔配置中 @@ -2772,6 +2809,8 @@ STR_NEWGRF_SETTINGS_MOVEUP :{BLACK}上へ STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP :{BLACK}選択したNewGRFファイルを上へ移動します STR_NEWGRF_SETTINGS_MOVEDOWN :{BLACK}下へ STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP :{BLACK}選択したNewGRFファイルを下へ移動します +STR_NEWGRF_SETTINGS_UPGRADE :{BLACK}アップグレード +STR_NEWGRF_SETTINGS_UPGRADE_TOOLTIP :{BLACK}より上位バージョンのNewGRFがインストールされている場合にアップグレードします STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}インストールされたNewGRFファイルのリストです STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}パラメータ設定 @@ -2796,6 +2835,16 @@ STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}一致す STR_NEWGRF_SETTINGS_DISABLED :{RED}切 STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}このバージョンのOpenTTDでは使用できません +# NewGRF save preset window +STR_SAVE_PRESET_CAPTION :{WHITE}プリセットを保存 +STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK}使用可能なプリセットの一覧です。選択すると下のセーブ名のプリセットに内容をコピーします +STR_SAVE_PRESET_TITLE :{BLACK}プリセット名を入力 +STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}現在選択している名前をプリセットの保存に使用します +STR_SAVE_PRESET_CANCEL :{BLACK}キャンセル +STR_SAVE_PRESET_CANCEL_TOOLTIP :{BLACK}プリセットを変更しません +STR_SAVE_PRESET_SAVE :{BLACK}セーブ +STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}現在選択している名前でプリセットを保存します + # NewGRF parameters window STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}NewGRFパラメータの変更 STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}閉じる @@ -2819,14 +2868,13 @@ STR_NEWGRF_INSPECT_QUERY_CAPTION :{WHITE}NewGRF # Sprite aligner window STR_SPRITE_ALIGNER_CAPTION :{WHITE}スプライト{COMMA} 配列 ({STRING}) STR_SPRITE_ALIGNER_NEXT_BUTTON :{BLACK}次のスプライト -STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}次のノーマルスプライトに進みます。疑似/リカラー/フォントスプライトはスキップし、終端まで行を送ります +STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}次のノーマルスプライトに進みます。始端と終端は連続しているものとみなし、疑似/リカラー/フォントスプライトはスキップします STR_SPRITE_ALIGNER_GOTO_BUTTON :{BLACK}スプライトへ飛ぶ STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}所定のスプライトへ飛びます。指定のスプライトがノーマルスプライトでなければ、次のノーマルスプライトに進みます STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}前のスプライト -STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}前のノーマルスプライトに戻ります。疑似/リカラー/フォントスプライトはスキップし、始端まで行を送ります +STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}前のノーマルスプライトに戻ります。始端と終端は連続しているものとみなし、疑似/リカラー/フォントスプライトはスキップします STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}現在選択されているスプライトの代表絵を示します。この配列はスプライトを描画するときには無視されます STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}X・Yオフセットを変更し、スプライトを移動します -STR_SPRITE_ALIGNER_OFFSETS :{BLACK}Xオフセット: {NUM}, Yオフセット: {NUM} STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}スプライトを選ぶ STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}画面内からスプライトを選びます @@ -2933,8 +2981,8 @@ STR_TOWN_VIEW_POPULATION_HOUSES :{BLACK}人口: STR_TOWN_VIEW_PASSENGERS_LAST_MONTH_MAX :{BLACK}旅客数(先月): {ORANGE}{COMMA}人{BLACK} 最大: {ORANGE}{COMMA}人 STR_TOWN_VIEW_MAIL_LAST_MONTH_MAX :{BLACK}郵便袋(先月): {ORANGE}{COMMA}袋{BLACK} 最大: {ORANGE}{COMMA}袋 STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH :{BLACK}街の成長に必要な物資: -STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_GENERAL :{ORANGE}{STRING}{RED} が必要です -STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING}{BLACK} が冬に必要です +STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_GENERAL :{ORANGE}{STRING}が{RED}必要です +STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING}が{BLACK}冬に必要です STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} は配送されています STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG} {RED}(更なる配送が必要) STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG} {GREEN}(需要充足) @@ -2999,7 +3047,7 @@ STR_GOAL_QUESTION_CAPTION_INFORMATION :情報 STR_GOAL_QUESTION_CAPTION_WARNING :警告 STR_GOAL_QUESTION_CAPTION_ERROR :エラー -### Start of Goal Question button list +############ Start of Goal Question button list STR_GOAL_QUESTION_BUTTON_CANCEL :キャンセル STR_GOAL_QUESTION_BUTTON_OK :OK STR_GOAL_QUESTION_BUTTON_NO :いいえ @@ -3018,6 +3066,7 @@ STR_GOAL_QUESTION_BUTTON_RESTART :再起動 STR_GOAL_QUESTION_BUTTON_POSTPONE :延期 STR_GOAL_QUESTION_BUTTON_SURRENDER :あきらめる STR_GOAL_QUESTION_BUTTON_CLOSE :閉じる +############ End of Goal Question button list # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}助成金 @@ -3053,7 +3102,6 @@ STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}積込 # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} -STR_STATION_VIEW_WAITING_TITLE :{BLACK}積込待ち: {WHITE}{STRING} STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}(うち、{1:STATION}からの転送{0:CARGO_SHORT}) STR_STATION_VIEW_RESERVED :{YELLOW}({CARGO_SHORT}が積込予約済み) @@ -3297,12 +3345,15 @@ STR_GROUP_DEFAULT_ROAD_VEHICLES :グループ化 STR_GROUP_DEFAULT_SHIPS :グループ化されていない船舶 STR_GROUP_DEFAULT_AIRCRAFTS :グループ化されていない航空機 -STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}グループ - クリックするとこのグループに所属する全車両一覧を表示します +STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}グループ - クリックするとこのグループに所属する全車両一覧を表示します。ドラック&ドロップで順序を並べ替えられます STR_GROUP_CREATE_TOOLTIP :{BLACK}新規のグループを作成します STR_GROUP_DELETE_TOOLTIP :{BLACK}選択したグループを削除します STR_GROUP_RENAME_TOOLTIP :{BLACK}選択したグループの名称を変更します STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}このグループ内の輸送機器を全体を対象とする自動交換の際も交換されないようにします +STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}グループを削除 +STR_GROUP_DELETE_QUERY_TEXT :{WHITE}このグループとそれに所属する全てを削除してもよろしいですか? + STR_GROUP_ADD_SHARED_VEHICLE :共有輸送機器を追加 STR_GROUP_REMOVE_ALL_VEHICLES :全輸送機器を削除 @@ -3340,10 +3391,10 @@ STR_PURCHASE_INFO_ALL_BUT :{CARGO_LIST}を STR_PURCHASE_INFO_MAX_TE :{BLACK}最大牽引力: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}航続距離: {GOLD}{COMMA} タイル -STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}列車リスト - 個々の情報を見るには列車をクリックします -STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}車両リスト - 個々の情報を見るには車両をクリックします -STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}船舶リスト - 個々の情報を見るには船舶をクリックします -STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}航空機リスト - 個々の情報を見るには航空機をクリックします +STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}列車リスト - 個々の情報を見るには列車をクリックします。Ctrl+クリックでその列車種の表示/非表示を切り替えます +STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}車両リスト - 個々の情報を見るには車両をクリックします。Ctrl+クリックでその車両種の表示/非表示を切り替えます +STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}船舶リスト - 個々の情報を見るには船舶をクリックします。Ctrl+クリックでその船舶機種の表示/非表示を切り替えます +STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}航空機リスト - 個々の情報を見るには航空機をクリックします。Ctrl+クリックでその航空機種の表示/非表示を切り替えます STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}列車を購入 STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}車両を購入 @@ -3365,6 +3416,21 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}車両 STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}船舶の名称を変更 STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}航空機の名称を変更 +STR_BUY_VEHICLE_TRAIN_HIDE_TOGGLE_BUTTON :{BLACK}非表示 +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_TOGGLE_BUTTON :{BLACK}非表示 +STR_BUY_VEHICLE_SHIP_HIDE_TOGGLE_BUTTON :{BLACK}非表示 +STR_BUY_VEHICLE_AIRCRAFT_HIDE_TOGGLE_BUTTON :{BLACK}非表示 + +STR_BUY_VEHICLE_TRAIN_SHOW_TOGGLE_BUTTON :{BLACK}表示 +STR_BUY_VEHICLE_ROAD_VEHICLE_SHOW_TOGGLE_BUTTON :{BLACK}表示 +STR_BUY_VEHICLE_SHIP_SHOW_TOGGLE_BUTTON :{BLACK}表示 +STR_BUY_VEHICLE_AIRCRAFT_SHOW_TOGGLE_BUTTON :{BLACK}表示 + +STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}指定の列車機種の非表示/表示を切り替えます +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}指定の車両機種の非表示/表示を切り替えます +STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}指定の船舶機種の非表示/表示を切り替えます +STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}指定の航空機種の非表示/表示を切り替えます + STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}列車の機種名を変更 STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}車両の機種名を変更 STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}船舶の機種名を変更 @@ -3418,7 +3484,7 @@ STR_DEPOT_CLONE_ROAD_VEHICLE :{BLACK}道路 STR_DEPOT_CLONE_SHIP :{BLACK}船舶を複製 STR_DEPOT_CLONE_AIRCRAFT :{BLACK}航空機を複製 -STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}列車を複製します。このボタンを押してから列車庫内/外の列車をクリックして下さい。Ctrl+クリックすると、複製相手は元列車と指令を共有します。Shift+クリックで金額の概算が出ます +STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}牽引車両も含め、当該の列車を複製します。このボタンを押してから列車庫内/外の列車をクリックして下さい。Ctrl+クリックすると、複製相手は元列車と指令を共有します。Shift+クリックで金額の概算が出ます STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}車両を複製します。このボタンを押してから車庫内/外の車両をクリックして下さい。Ctrl+クリックすると、複製相手は元車両と指令を共有します。Shift+クリックで金額の概算が出ます STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}船舶を複製します。このボタンを押してから造船所内/外の船舶をクリックして下さい。Ctrl+クリックすると、複製相手は元船舶と指令を共有します。Shift+クリックで金額の概算が出ます STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}航空機を複製します。このボタンを押してから格納庫内/外の航空機をクリックして下さい。Ctrl+クリックすると、複製相手は元航空機と指令を共有します。Shift+クリックで金額の概算が出ます @@ -3469,6 +3535,11 @@ STR_REPLACE_VEHICLE_ROAD_VEHICLE :車両 STR_REPLACE_VEHICLE_SHIP :船舶 STR_REPLACE_VEHICLE_AIRCRAFT :航空機 +STR_REPLACE_VEHICLE_VEHICLES_IN_USE :{YELLOW}使用中の輸送機器 +STR_REPLACE_VEHICLE_VEHICLES_IN_USE_TOOLTIP :{BLACK}現在使用している輸送機器の一覧です +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES :{YELLOW}利用可能な輸送機器 +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES_TOOLTIP :{BLACK}置換に使用可能な輸送機器の一覧です + STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}置換対象を選択 STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}左で選択した輸送機器を置き換える輸送機器を選択します @@ -3823,6 +3894,10 @@ STR_TIMETABLE_TRAVEL_NOT_TIMETABLED :該当区間を STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :最高速度{2:VELOCITY}で該当区間を運行 (ダイヤ設定無) STR_TIMETABLE_TRAVEL_FOR :{STRING}で該当区間を運行 STR_TIMETABLE_TRAVEL_FOR_SPEED :{STRING}で該当区間を運行(最高速度{VELOCITY}) +STR_TIMETABLE_TRAVEL_FOR_ESTIMATED :運行({0:STRING}・ダイヤ設定無) +STR_TIMETABLE_TRAVEL_FOR_SPEED_ESTIMATED :最高速度{1:VELOCITY}で運行({0:STRING}・ダイヤ設定無) +STR_TIMETABLE_STAY_FOR_ESTIMATED :({STRING}停車・ダイヤ設定無) +STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :({STRING}で運行・ダイヤ設定無) STR_TIMETABLE_STAY_FOR :して{STRING}停車 STR_TIMETABLE_AND_TRAVEL_FOR :して{STRING}運行 STR_TIMETABLE_DAYS :{COMMA}日 @@ -4064,6 +4139,7 @@ STR_ERROR_EXCAVATION_WOULD_DAMAGE :{WHITE}ここ STR_ERROR_ALREADY_AT_SEA_LEVEL :{WHITE}すでに海水位です STR_ERROR_TOO_HIGH :{WHITE}高すぎます STR_ERROR_ALREADY_LEVELLED :{WHITE}すでに平坦になっています +STR_ERROR_BRIDGE_TOO_HIGH_AFTER_LOWER_LAND :{WHITE}地形を変更すると上を走る橋梁を支えられなくなります # Company related errors STR_ERROR_CAN_T_CHANGE_COMPANY_NAME :{WHITE}会社名を変更できません @@ -4090,7 +4166,7 @@ STR_ERROR_TOO_CLOSE_TO_EDGE_OF_MAP_SUB :{WHITE}マッ STR_ERROR_TOO_CLOSE_TO_ANOTHER_TOWN :{WHITE}他の街に近すぎます STR_ERROR_TOO_MANY_TOWNS :{WHITE}街数の制限を超えています STR_ERROR_NO_SPACE_FOR_TOWN :{WHITE}マップに空きスペースがありません -STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}この街は自動では道路を建設しません。詳細設定の「経済->街」で道路の建設を許可できます +STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}この街は自動では道路を建設しません。「設定→環境→街」から道路の建設を許可できます STR_ERROR_ROAD_WORKS_IN_PROGRESS :{WHITE}道路補修工事中です STR_ERROR_TOWN_CAN_T_DELETE :{WHITE}街を削除できません{}この街名を参照する停留施設・車庫か、街が所有するタイルが除去できません STR_ERROR_STATUE_NO_SUITABLE_PLACE :{WHITE}街の中心部に像を建てるのに適した場所がありません @@ -4114,6 +4190,9 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}雪線 STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}降雪線より上にのみ建設できます STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}降雪線より下にのみ建設できます +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}産業「{STRING}」を建設するのに適切な土地がありません +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}よりよいマップを作成するため、生成パラメーターを変更します + # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}ここには駅を建設できません STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}ここにはバス停を建設できません @@ -4250,6 +4329,7 @@ STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}先に STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}開始点と終了点が同じです STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}橋端が同じ高さではありません STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}橋が低く、途中の起伏を越えられません +STR_ERROR_BRIDGE_TOO_HIGH_FOR_TERRAIN :{WHITE}橋が地面から高すぎます STR_ERROR_START_AND_END_MUST_BE_IN :{WHITE}橋は直線である必要があります STR_ERROR_ENDS_OF_BRIDGE_MUST_BOTH :{WHITE}橋の先端は両方地面である必要があります STR_ERROR_BRIDGE_TOO_LONG :{WHITE}橋が長すぎます @@ -4276,6 +4356,7 @@ STR_ERROR_YOU_ALREADY_OWN_IT :{WHITE}すで STR_ERROR_GROUP_CAN_T_CREATE :{WHITE}グループを作成できません STR_ERROR_GROUP_CAN_T_DELETE :{WHITE}グループを削除できません STR_ERROR_GROUP_CAN_T_RENAME :{WHITE}グループ名を変更できません +STR_ERROR_GROUP_CAN_T_SET_PARENT :{WHITE}親グループを設定できません STR_ERROR_GROUP_CAN_T_REMOVE_ALL_VEHICLES :{WHITE}グループ内の全車両を移動できません STR_ERROR_GROUP_CAN_T_ADD_VEHICLE :{WHITE}この車両をこのグループに追加できません STR_ERROR_GROUP_CAN_T_ADD_SHARED_VEHICLE :{WHITE}グループに共有車両を追加できません @@ -4813,6 +4894,7 @@ STR_COMPANY_NAME :{COMPANY} STR_COMPANY_NAME_COMPANY_NUM :{COMPANY} {COMPANY_NUM} STR_DEPOT_NAME :{DEPOT} STR_ENGINE_NAME :{ENGINE} +STR_HIDDEN_ENGINE_NAME :{ENGINE} (非表示) STR_GROUP_NAME :{GROUP} STR_INDUSTRY_NAME :{INDUSTRY} STR_PRESIDENT_NAME :{PRESIDENT_NAME} @@ -4848,8 +4930,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -4860,9 +4940,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/korean.txt b/src/lang/korean.txt index 143b5b6ef7..9d3dec0d3c 100644 --- a/src/lang/korean.txt +++ b/src/lang/korean.txt @@ -96,30 +96,30 @@ STR_CARGO_SINGULAR_FIZZY_DRINK :{G=f}탄산음 # Quantity of cargo STR_QUANTITY_NOTHING : -STR_QUANTITY_PASSENGERS :승객 {COMMA}명 +STR_QUANTITY_PASSENGERS :승객{NBSP}{COMMA}명 STR_QUANTITY_COAL :석탄 {WEIGHT_LONG} -STR_QUANTITY_MAIL :우편 {COMMA}자루 +STR_QUANTITY_MAIL :{G=f}우편 {COMMA}{NBSP}자루 STR_QUANTITY_OIL :석유 {VOLUME_LONG} -STR_QUANTITY_LIVESTOCK :가축 {COMMA}마리 -STR_QUANTITY_GOODS :상품 {COMMA}상자 +STR_QUANTITY_LIVESTOCK :{G=f}가축 {COMMA}{NBSP}마리 +STR_QUANTITY_GOODS :{G=f}상품 {COMMA}{NBSP}상자 STR_QUANTITY_GRAIN :곡물 {WEIGHT_LONG} STR_QUANTITY_WOOD :목재 {WEIGHT_LONG} STR_QUANTITY_IRON_ORE :철광석 {WEIGHT_LONG} STR_QUANTITY_STEEL :철 {WEIGHT_LONG} -STR_QUANTITY_VALUABLES :귀금속 {COMMA}자루 +STR_QUANTITY_VALUABLES :{G=f}귀금속 {COMMA}{NBSP}자루 STR_QUANTITY_COPPER_ORE :구리 광석 {WEIGHT_LONG} STR_QUANTITY_MAIZE :옥수수 {WEIGHT_LONG} STR_QUANTITY_FRUIT :과일 {WEIGHT_LONG} -STR_QUANTITY_DIAMONDS :다이아몬드 {COMMA}자루 +STR_QUANTITY_DIAMONDS :{G=f}다이아몬드 {COMMA}{NBSP}자루 STR_QUANTITY_FOOD :식품 {WEIGHT_LONG} STR_QUANTITY_PAPER :종이 {WEIGHT_LONG} -STR_QUANTITY_GOLD :금 {COMMA}자루 +STR_QUANTITY_GOLD :{G=f}금 {COMMA}{NBSP}자루 STR_QUANTITY_WATER :물 {VOLUME_LONG} STR_QUANTITY_WHEAT :밀 {WEIGHT_LONG} STR_QUANTITY_RUBBER :고무 {VOLUME_LONG} STR_QUANTITY_SUGAR :설탕 {WEIGHT_LONG} -STR_QUANTITY_TOYS :장난감 {COMMA}상자 -STR_QUANTITY_SWEETS :사탕 {COMMA}자루 +STR_QUANTITY_TOYS :{G=f}장난감 {COMMA}{NBSP}상자 +STR_QUANTITY_SWEETS :{G=f}사탕 {COMMA}{NBSP}자루 STR_QUANTITY_COLA :콜라 {VOLUME_LONG} STR_QUANTITY_CANDYFLOSS :솜사탕 {WEIGHT_LONG} STR_QUANTITY_BUBBLES :거품 {COMMA}개 @@ -166,12 +166,12 @@ STR_ABBREV_NONE :{TINY_FONT}X STR_ABBREV_ALL :{TINY_FONT}모두 # 'Mode' of transport for cargoes -STR_PASSENGERS :{G=m}승객 {COMMA}명 -STR_BAGS :{G=f}{COMMA} 자루 -STR_TONS :{G=m}{COMMA} 톤 -STR_LITERS :{G=f}{COMMA} 리터 -STR_ITEMS :{G=m}{COMMA} 마리 -STR_CRATES :{G=f}{COMMA} 상자 +STR_PASSENGERS :{G=m}승객 {COMMA}{NBSP}명 +STR_BAGS :{G=f}{COMMA}{NBSP}자루 +STR_TONS :{G=m}{COMMA}{NBSP}톤 +STR_LITERS :{G=f}{COMMA}{NBSP}리터 +STR_ITEMS :{G=m}{COMMA}{NBSP}마리 +STR_CRATES :{G=f}{COMMA}{NBSP}상자 # Colours, do not shuffle STR_COLOUR_DARK_BLUE :어두운 파랑 @@ -192,36 +192,36 @@ STR_COLOUR_GREY :회색 STR_COLOUR_WHITE :흰색 # Units used in OpenTTD -STR_UNITS_VELOCITY_IMPERIAL :{COMMA}mph -STR_UNITS_VELOCITY_METRIC :{COMMA}km/h -STR_UNITS_VELOCITY_SI :{COMMA}m/s +STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}mph +STR_UNITS_VELOCITY_METRIC :{COMMA}{NBSP}km/h +STR_UNITS_VELOCITY_SI :{COMMA}{NBSP}m/s -STR_UNITS_POWER_IMPERIAL :{COMMA}마력 -STR_UNITS_POWER_METRIC :{COMMA}마력 -STR_UNITS_POWER_SI :{COMMA}kW +STR_UNITS_POWER_IMPERIAL :{COMMA}{NBSP}마력 +STR_UNITS_POWER_METRIC :{COMMA}{NBSP}마력 +STR_UNITS_POWER_SI :{COMMA}{NBSP}kW -STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}t -STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}t -STR_UNITS_WEIGHT_SHORT_SI :{COMMA}kg +STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_SI :{COMMA}{NBSP}kg -STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA} 톤 -STR_UNITS_WEIGHT_LONG_METRIC :{COMMA}톤 -STR_UNITS_WEIGHT_LONG_SI :{COMMA}kg +STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA}{NBSP}톤 +STR_UNITS_WEIGHT_LONG_METRIC :{COMMA}{NBSP}톤 +STR_UNITS_WEIGHT_LONG_SI :{COMMA}{NBSP}kg -STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}갤런 -STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}l -STR_UNITS_VOLUME_SHORT_SI :{COMMA}m³ +STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}{NBSP}갤런 +STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}{NBSP}l +STR_UNITS_VOLUME_SHORT_SI :{COMMA}{NBSP}m³ -STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA} 갤런 -STR_UNITS_VOLUME_LONG_METRIC :{COMMA}리터 -STR_UNITS_VOLUME_LONG_SI :{COMMA}m³ +STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA}{NBSP}갤런 +STR_UNITS_VOLUME_LONG_METRIC :{COMMA}{NBSP}리터 +STR_UNITS_VOLUME_LONG_SI :{COMMA}{NBSP}m³ -STR_UNITS_FORCE_IMPERIAL :{COMMA} 파운드중 -STR_UNITS_FORCE_METRIC :{COMMA} kg중 +STR_UNITS_FORCE_IMPERIAL :{COMMA}{NBSP}파운드중 +STR_UNITS_FORCE_METRIC :{COMMA}{NBSP}kg중 STR_UNITS_FORCE_SI :{COMMA}kN -STR_UNITS_HEIGHT_IMPERIAL :{COMMA}ft -STR_UNITS_HEIGHT_METRIC :{COMMA} m +STR_UNITS_HEIGHT_IMPERIAL :{COMMA}{NBSP}피트 +STR_UNITS_HEIGHT_METRIC :{COMMA}{NBSP}m STR_UNITS_HEIGHT_SI :{COMMA}m # Common window strings @@ -249,6 +249,17 @@ STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}스크 STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}스크롤 바 - 목록을 좌/우로 스크롤하세요. STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}직사각형 모양의 영역에 있는 건물과 땅 등을 부숩니다. CTRL 키를 누른 채로 사용하면 대각선 영역 선택이 가능합니다. SHIFT 키를 누른채로 사용하면 예상 가격을 볼 수 있습니다. +# Show engines button +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}숨겨진 차량 보기 +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK}숨겨진 차량 보기 +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}숨겨진 차량 보기 +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}숨겨진 차량 보기 + +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}이 버튼을 누르면 숨겨진 열차 차량도 구매 목록에 모두 표시합니다. +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE_TOOLTIP :{BLACK}이 버튼을 누르면 숨겨진 자동차/전차 차량도 구매 목록에 모두 표시합니다. +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}이 버튼을 누르면 숨겨진 선박도 구매 목록에 모두 표시합니다. +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}이 버튼을 누르면 숨겨진 항공기도 구매 목록에 모두 표시합니다. + # Query window STR_BUTTON_DEFAULT :{BLACK}기본값 STR_BUTTON_CANCEL :{BLACK}취소 @@ -362,7 +373,7 @@ STR_SCENEDIT_FILE_MENU_QUIT :게임 종료 ############ range for settings menu starts STR_SETTINGS_MENU_GAME_OPTIONS :게임 옵션 -STR_SETTINGS_MENU_CONFIG_SETTINGS :고급 설정 +STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :설정 STR_SETTINGS_MENU_SCRIPT_SETTINGS :인공지능/게임 스크립트 설정 STR_SETTINGS_MENU_NEWGRF_SETTINGS :NewGRF 설정 STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :투명 설정 @@ -471,7 +482,7 @@ STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :박스 경계 STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :더러운 블록 색상 전환 ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window STR_ORDINAL_NUMBER_1ST :1 STR_ORDINAL_NUMBER_2ND :2 STR_ORDINAL_NUMBER_3RD :3 @@ -487,22 +498,40 @@ STR_ORDINAL_NUMBER_12TH :12 STR_ORDINAL_NUMBER_13TH :13 STR_ORDINAL_NUMBER_14TH :14 STR_ORDINAL_NUMBER_15TH :15 -STR_ORDINAL_NUMBER_16TH :16 -STR_ORDINAL_NUMBER_17TH :17 -STR_ORDINAL_NUMBER_18TH :18 -STR_ORDINAL_NUMBER_19TH :19 -STR_ORDINAL_NUMBER_20TH :20 -STR_ORDINAL_NUMBER_21ST :21 -STR_ORDINAL_NUMBER_22ND :22 -STR_ORDINAL_NUMBER_23RD :23 -STR_ORDINAL_NUMBER_24TH :24 -STR_ORDINAL_NUMBER_25TH :25 -STR_ORDINAL_NUMBER_26TH :26 -STR_ORDINAL_NUMBER_27TH :27 -STR_ORDINAL_NUMBER_28TH :28 -STR_ORDINAL_NUMBER_29TH :29 -STR_ORDINAL_NUMBER_30TH :30 -STR_ORDINAL_NUMBER_31ST :31 +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :1 +STR_DAY_NUMBER_2ND :2 +STR_DAY_NUMBER_3RD :3 +STR_DAY_NUMBER_4TH :4 +STR_DAY_NUMBER_5TH :5 +STR_DAY_NUMBER_6TH :6 +STR_DAY_NUMBER_7TH :7 +STR_DAY_NUMBER_8TH :8 +STR_DAY_NUMBER_9TH :9 +STR_DAY_NUMBER_10TH :10 +STR_DAY_NUMBER_11TH :11 +STR_DAY_NUMBER_12TH :12 +STR_DAY_NUMBER_13TH :13 +STR_DAY_NUMBER_14TH :14 +STR_DAY_NUMBER_15TH :15 +STR_DAY_NUMBER_16TH :16 +STR_DAY_NUMBER_17TH :17 +STR_DAY_NUMBER_18TH :18 +STR_DAY_NUMBER_19TH :19 +STR_DAY_NUMBER_20TH :20 +STR_DAY_NUMBER_21ST :21 +STR_DAY_NUMBER_22ND :22 +STR_DAY_NUMBER_23RD :23 +STR_DAY_NUMBER_24TH :24 +STR_DAY_NUMBER_25TH :25 +STR_DAY_NUMBER_26TH :26 +STR_DAY_NUMBER_27TH :27 +STR_DAY_NUMBER_28TH :28 +STR_DAY_NUMBER_29TH :29 +STR_DAY_NUMBER_30TH :30 +STR_DAY_NUMBER_31ST :31 ############ range for days ends ############ range for months starts @@ -551,7 +580,7 @@ STR_GRAPH_CARGO_PAYMENT_RATES_CAPTION :{WHITE}화물 STR_GRAPH_CARGO_PAYMENT_RATES_X_LABEL :{TINY_FONT}{BLACK}통과시간 STR_GRAPH_CARGO_PAYMENT_RATES_TITLE :{TINY_FONT}{BLACK}10 단위(1만 리터)의 화물을 20칸 거리만큼 운송할 때의 운송비 지급량 STR_GRAPH_CARGO_ENABLE_ALL :{TINY_FONT}{BLACK}모두 사용 -STR_GRAPH_CARGO_DISABLE_ALL :{TINY_FONT}{BLACK}모두 사용 안함 +STR_GRAPH_CARGO_DISABLE_ALL :{TINY_FONT}{BLACK}모두 사용 안 함 STR_GRAPH_CARGO_TOOLTIP_ENABLE_ALL :{BLACK}화물 운송단가 비율 그래프에서 모든 화물을 표시 STR_GRAPH_CARGO_TOOLTIP_DISABLE_ALL :{BLACK}화물 운송단가 비율 그래프에서 모든 화물을 표시 안 함 STR_GRAPH_CARGO_PAYMENT_TOGGLE_CARGO :{BLACK}이 화물에 대한 그래프 켜기/끄기 @@ -598,10 +627,10 @@ STR_PERFORMANCE_DETAIL_TOTAL :{BLACK}종합: STR_PERFORMANCE_DETAIL_VEHICLES_TOOLTIP :{BLACK}작년에 수익을 낸 차량의 수를 나타냅니다. 자동차/전차, 열차, 선박, 항공기를 포함합니다. STR_PERFORMANCE_DETAIL_STATIONS_TOOLTIP :{BLACK}현재 영업 중인 역사의 수를 나타냅니다. 기차역, 버스 정류장, 공항 등은 같은 역으로 묶여있어도 따로 집계됩니다. STR_PERFORMANCE_DETAIL_MIN_PROFIT_TOOLTIP :{BLACK}가장 낮은 수입을 가진 차량의 이익입니다. (2년 이상된 차량만 계산) -STR_PERFORMANCE_DETAIL_MIN_INCOME_TOOLTIP :{BLACK}지난 12분기동안 최소 이익을 달성한 차량이 번 돈의 양입니다. -STR_PERFORMANCE_DETAIL_MAX_INCOME_TOOLTIP :{BLACK}지난 12분기동안 최대 이익을 달성한 차량이 번 돈의 양입니다. -STR_PERFORMANCE_DETAIL_DELIVERED_TOOLTIP :{BLACK}지난 4분기동안 수송한 화물량입니다. -STR_PERFORMANCE_DETAIL_CARGO_TOOLTIP :{BLACK}지난 1분기에 수송한 화물의 종류 수입니다. +STR_PERFORMANCE_DETAIL_MIN_INCOME_TOOLTIP :{BLACK}지난 12분기 동안 최소 이익을 달성한 차량이 벌어들인 돈의 양입니다. +STR_PERFORMANCE_DETAIL_MAX_INCOME_TOOLTIP :{BLACK}지난 12분기 동안 최대 이익을 달성한 차량이 벌어들인 돈의 양입니다. +STR_PERFORMANCE_DETAIL_DELIVERED_TOOLTIP :{BLACK}지난 4분기 동안 수송한 화물량입니다. +STR_PERFORMANCE_DETAIL_CARGO_TOOLTIP :{BLACK}지난 1분기 동안 수송한 화물의 종류 수입니다. STR_PERFORMANCE_DETAIL_MONEY_TOOLTIP :{BLACK}회사가 소지한 재정입니다. STR_PERFORMANCE_DETAIL_LOAN_TOOLTIP :{BLACK}회사가 대출해간 재정의 양입니다. STR_PERFORMANCE_DETAIL_TOTAL_TOOLTIP :{BLACK}위 항목들의 총 합계 점수입니다. @@ -725,7 +754,7 @@ STR_SMALLMAP_INDUSTRY :{TINY_FONT}{STR STR_SMALLMAP_LINKSTATS :{TINY_FONT}{STRING} STR_SMALLMAP_COMPANY :{TINY_FONT}{COMPANY} STR_SMALLMAP_TOWN :{TINY_FONT}{WHITE}{TOWN} -STR_SMALLMAP_DISABLE_ALL :{BLACK}모두 사용 안함 +STR_SMALLMAP_DISABLE_ALL :{BLACK}모두 사용 안 함 STR_SMALLMAP_ENABLE_ALL :{BLACK}모두 사용 STR_SMALLMAP_SHOW_HEIGHT :{BLACK}고도 표시 STR_SMALLMAP_TOOLTIP_DISABLE_ALL_INDUSTRIES :{BLACK}지도 상의 모든 산업시설을 숨깁니다. @@ -765,7 +794,7 @@ STR_NEWS_ROAD_VEHICLE_CRASH :{BIG_FONT}{BLAC STR_NEWS_AIRCRAFT_CRASH :{BIG_FONT}{BLACK}항공기 충돌사고 발생!{}{COMMA}명이 {STATION}공항에서 사망하였습니다! STR_NEWS_PLANE_CRASH_OUT_OF_FUEL :{BIG_FONT}{BLACK}항공기 추락사고 발생!{}연료 부족으로 인하여 {COMMA}명이 사망하였습니다! -STR_NEWS_DISASTER_ZEPPELIN :{BIG_FONT}{BLACK}{STATION}에서 체펠린이 추락했습니다! +STR_NEWS_DISASTER_ZEPPELIN :{BIG_FONT}{BLACK}체펠린 비행선이 {STATION}에 추락했습니다! STR_NEWS_DISASTER_SMALL_UFO :{BIG_FONT}{BLACK}'UFO'의 폭격으로 차량이 파괴되었습니다! STR_NEWS_DISASTER_AIRPLANE_OIL_REFINERY :{BIG_FONT}{BLACK}{TOWN} 근처의 정유 공장에서 폭발 사고가 발생하였습니다! STR_NEWS_DISASTER_HELICOPTER_FACTORY :{BIG_FONT}{BLACK}{TOWN} 근처의 공장이 의심스러운 정황으로 인해 파괴되었습니다! @@ -778,7 +807,7 @@ STR_NEWS_COMPANY_IN_TROUBLE_DESCRIPTION :{BIG_FONT}{BLAC STR_NEWS_COMPANY_MERGER_TITLE :{BIG_FONT}{BLACK}운송 회사 합병! STR_NEWS_COMPANY_MERGER_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} 회사가 {STRING} 회사에게 {CURRENCY_LONG}의 가격으로 인수합병되었습니다! STR_NEWS_COMPANY_BANKRUPT_TITLE :{BIG_FONT}{BLACK}파산! -STR_NEWS_COMPANY_BANKRUPT_DESCRIPTION :{BIG_FONT}{BLACK}{STRING}가 채권자에 의해 파산되고 모든 자산이 팔렸습니다! +STR_NEWS_COMPANY_BANKRUPT_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} 회사가 채권자에 의해 모든 자산이 팔려 파산하였습니다! STR_NEWS_COMPANY_LAUNCH_TITLE :{BIG_FONT}{BLACK}새로운 운송회사 등장! STR_NEWS_COMPANY_LAUNCH_DESCRIPTION :{BIG_FONT}{BLACK}{STRING}{G 0 "이" "가"} {TOWN}에서 공사를 시작했습니다! STR_NEWS_MERGER_TAKEOVER_TITLE :{BIG_FONT}{BLACK}{STRING}의 관리권이 {STRING}(으)로 넘어갔습니다! @@ -811,23 +840,22 @@ STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}{VEHICLE STR_NEWS_SHIP_IS_WAITING :{WHITE}{VEHICLE} : 정박소 안에서 대기 중입니다. STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE} : 격납고 안에서 대기 중입니다. -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE +# Order review system / warnings STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE}에 경로를 하나 이상 지정해주십시오 STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE}에 빈 경로가 지정되어 있습니다 STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE}에 중복된 경로가 지정되어 있습니다 STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE}에 잘못된 경로가 지정되어 있습니다 -# end of order system +STR_NEWS_PLANE_USES_TOO_SHORT_RUNWAY :{WHITE}{VEHICLE}의 경로 중에 활주로가 너무 짧은 공항이 있습니다. STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} : 차량이 낡았습니다. STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} : 차량이 매우 낡았습니다. STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD_AND :{WHITE}{VEHICLE} : 차량이 매우 낡아 교체가 시급합니다 -STR_NEWS_TRAIN_IS_STUCK :{WHITE}{VEHICLE} : 다음 목적지로의 경로를 찾을 수 없습니다. +STR_NEWS_TRAIN_IS_STUCK :{WHITE}{VEHICLE} : 다음 목적지로 가는 경로를 찾을 수 없습니다. STR_NEWS_VEHICLE_IS_LOST :{WHITE}{VEHICLE} : 아직 다음 목적지에 도착하지 못했습니다. STR_NEWS_VEHICLE_IS_UNPROFITABLE :{WHITE}{VEHICLE}의 작년 수익이 {CURRENCY_LONG} 입니다. STR_NEWS_AIRCRAFT_DEST_TOO_FAR :{WHITE}거리가 너무 멀어서 {VEHICLE}이 다음 목적지에 도착할 수 없습니다 -STR_NEWS_ORDER_REFIT_FAILED :{WHITE}경로상에 계획된 개조에 실패하여 {VEHICLE}{P "가" "이"} 운행을 멈췄습니다. +STR_NEWS_ORDER_REFIT_FAILED :{WHITE}경로 상에 있던 개조에 실패하여 {VEHICLE}의 운행을 멈췄습니다. STR_NEWS_VEHICLE_AUTORENEW_FAILED :{WHITE}{VEHICLE}의 자동 교체에 실패하였습니다{}{STRING} STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE :{BIG_FONT}{BLACK}신형 {STRING}{G 0 "을" "를"} 사용할 수 있습니다! @@ -847,7 +875,7 @@ STR_NEWS_SERVICE_SUBSIDY_AWARDED_DOUBLE :{BIG_FONT}{BLAC STR_NEWS_SERVICE_SUBSIDY_AWARDED_TRIPLE :{BIG_FONT}{BLACK}{0:STRING}에게 보조금 지급!{}{}{2:STRING}에서 {3:STRING}까지의 {1:STRING} 수송에 대해 3배의 추가 보조금을 내년까지 받게 됩니다! STR_NEWS_SERVICE_SUBSIDY_AWARDED_QUADRUPLE :{BIG_FONT}{BLACK}{0:STRING}에게 보조금 지급!{}{}{2:STRING}에서 {3:STRING}까지의 {1:STRING} 수송에 대해 4배의 추가 보조금을 내년까지 받게 됩니다! -STR_NEWS_ROAD_REBUILDING :{BIG_FONT}{BLACK}{TOWN}의 교통 혼잡!{}{}{STRING}에 의한 도로 보수공사 프로그램이 운전자들에게 6개월간의 고통을 가져다 줄 것입니다! +STR_NEWS_ROAD_REBUILDING :{BIG_FONT}{BLACK}{TOWN}의 교통 혼잡!{}{}{STRING}에 의해 실시된 도로 보수공사 프로그램으로 인해 6개월 동안 운전자들이 불편을 겪을 것입니다! STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLACK}독점 수송! STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}{0:TOWN} 지역 당국이 {1:STRING}과 1년 간의 수송 독점권 계약을 체결하였습니다! @@ -859,7 +887,7 @@ STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}이 장 STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW_TT :{BLACK}외부 화면에 저장된 장소로 이동합니다. # Game options window -STR_GAME_OPTIONS_CAPTION :{WHITE}게임 설정 +STR_GAME_OPTIONS_CAPTION :{WHITE}게임 기본 설정 STR_GAME_OPTIONS_CURRENCY_UNITS_FRAME :{BLACK}화폐 단위 STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}화폐 단위 선택 @@ -900,10 +928,6 @@ STR_GAME_OPTIONS_CURRENCY_GEL :그루지야 STR_GAME_OPTIONS_CURRENCY_IRR :이란 리알 (IRR) ############ end of currency region - -############ start of measuring units region -############ end of measuring units region - STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}차량 통행 방식 STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}차량 통행 방법 선택 STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :좌측통행 @@ -939,11 +963,13 @@ STR_GAME_OPTIONS_TOWN_NAME_CATALAN :카탈로니아 STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}자동 저장 STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}게임 자동 저장 간격을 선택 -STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :사용 안함 +############ start of autosave dropdown +STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :사용 안 함 STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :매달 STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :3개월마다 STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :6개월마다 STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :12개월마다 +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}언어 STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}사용하실 언어를 선택하세요. @@ -955,8 +981,12 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}화면 STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}사용하실 화면 해상도를 선택하세요. STR_GAME_OPTIONS_RESOLUTION_OTHER :{G=f}기타 -STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}스크린 샷 파일 형식 -STR_GAME_OPTIONS_SCREENSHOT_FORMAT_TOOLTIP :{BLACK}사용하실 스크린 샷의 파일 형식을 선택하세요. +STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}인터페이스 크기 +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}인터페이스의 크기를 선택하십시오. + +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :보통 +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :2배 크기 +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :4배 크기 STR_GAME_OPTIONS_BASE_GRF :{BLACK}기본 그래픽 세트 STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}사용하실 기본 그래픽을 선택하세요. @@ -972,6 +1002,7 @@ STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}사용 STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM}개의 파일이 손상되었습니다. STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}기본 배경 음악 세트에 대한 추가 정보를 봅니다. +STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}지원되는 해상도 목록을 불러오는데 실패하였습니다. STR_ERROR_FULLSCREEN_FAILED :{WHITE}풀스크린 모드 실패 # Custom currency window @@ -991,7 +1022,7 @@ STR_CURRENCY_SUFFIX :{LTBLUE}접미 STR_CURRENCY_SET_CUSTOM_CURRENCY_SUFFIX_TOOLTIP :{BLACK}사용자 화폐 단위 뒤에 붙는 문구를 설정하십시오. STR_CURRENCY_SWITCH_TO_EURO :{LTBLUE}유로화로 전환: {ORANGE}{NUM} -STR_CURRENCY_SWITCH_TO_EURO_NEVER :{LTBLUE}유로화로 전환: {ORANGE}안함 +STR_CURRENCY_SWITCH_TO_EURO_NEVER :{LTBLUE}유로화로 전환: {ORANGE}전환하지 않음 STR_CURRENCY_SET_CUSTOM_CURRENCY_TO_EURO_TOOLTIP :{BLACK}유로화(€) 전환 연도를 설정하십시오. STR_CURRENCY_DECREASE_CUSTOM_CURRENCY_TO_EURO_TOOLTIP :{BLACK}유로화(€) 전환 연도를 앞으로 당깁니다. STR_CURRENCY_INCREASE_CUSTOM_CURRENCY_TO_EURO_TOOLTIP :{BLACK}유로화(€) 전환 연도를 늦춥니다. @@ -1050,6 +1081,7 @@ STR_TERRAIN_TYPE_VERY_FLAT :매우 평탄 STR_TERRAIN_TYPE_FLAT :평탄함 STR_TERRAIN_TYPE_HILLY :언덕 STR_TERRAIN_TYPE_MOUNTAINOUS :산 +STR_TERRAIN_TYPE_ALPINIST :매우 험한 산지 STR_CITY_APPROVAL_PERMISSIVE :신경 안씀 STR_CITY_APPROVAL_TOLERANT :신경 씀 @@ -1057,8 +1089,8 @@ STR_CITY_APPROVAL_HOSTILE :싫어함 STR_WARNING_NO_SUITABLE_AI :{WHITE}사용할 수 있는 인공지능이 없습니다...{}'온라인 콘텐츠' 시스템을 통해 인공지능을 다운로드받을 수 있습니다. -# Advanced settings window -STR_CONFIG_SETTING_CAPTION :{WHITE}고급 설정 +# Settings tree window +STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}설정 STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}검색할 문자열: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}모두 펼치기 STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}모두 접기 @@ -1074,9 +1106,9 @@ STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :회사 설정 ( STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK}분류: STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}종류: STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}미리 지정한 검색어에 해당하는 설정 목록에 표시하도록 할 수 있습니다. -STR_CONFIG_SETTING_RESTRICT_BASIC :기본 설정 -STR_CONFIG_SETTING_RESTRICT_ADVANCED :고급 설정 -STR_CONFIG_SETTING_RESTRICT_ALL :전문가 설정 / 모든 설정 +STR_CONFIG_SETTING_RESTRICT_BASIC :기본 설정 (일부 중요한 설정만 보임) +STR_CONFIG_SETTING_RESTRICT_ADVANCED :고급 설정 (대부분의 설정을 보여줌) +STR_CONFIG_SETTING_RESTRICT_ALL :전문가 설정 / 모든 설정 (모든 설정을 보여줌) STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :기본값과 다른 값을 가진 설정 STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :이 게임 내에서 다른 값을 가진 설정 @@ -1109,7 +1141,7 @@ STR_CONFIG_SETTING_HORIZONTAL_POS_CENTER :가운데 STR_CONFIG_SETTING_HORIZONTAL_POS_RIGHT :오른쪽 STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :최대 초기 대출금: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :한 회사가 최대한 빌릴 수 있는 (계좌에 인플레이션을 고려하지 않고 들어오는) 대출금의 양을 조절할 수 있습니다. +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :한 회사가 최대한 빌릴 수 있는 대출금의 양을 조절할 수 있습니다. (여기서 설정한 값은 인플레이션에 의한 효과를 적용하지 않은 값입니다.) STR_CONFIG_SETTING_INTEREST_RATE :대출 금리: {STRING} STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :대출 금리입니다. 인플레이션 설정이 켜져있는 경우 인플레이션의 영향을 받습니다. STR_CONFIG_SETTING_RUNNING_COSTS :유지비: {STRING} @@ -1128,12 +1160,13 @@ STR_CONFIG_SETTING_TRAIN_REVERSING :열차가 역 STR_CONFIG_SETTING_TRAIN_REVERSING_HELPTEXT :이 옵션을 켜면 회차했을 때 다음 목적지까지 가는 더 짧은 경로가 있어도 열차가 비두단식 역에서 회차할 수 없게 됩니다. STR_CONFIG_SETTING_DISASTERS :재앙: {STRING} STR_CONFIG_SETTING_DISASTERS_HELPTEXT :블록이나 차량, 기반시설을 간혹 파괴할 수도 있는 재앙 옵션을 켜거나 끕니다. -STR_CONFIG_SETTING_CITY_APPROVAL :지역 개발에 대한 도시 의회의 태도: {STRING} +STR_CONFIG_SETTING_CITY_APPROVAL :지역 개발에 대한 도시의 태도: {STRING} STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :회사가 유발하는 소음과 환경 파괴가 회사에 대한 도시의 평가치와 향후 해당 지역에서의 건설 행동에 얼마나 영향을 미칠지 선택하십시오. -STR_CONFIG_SETTING_BUILDONSLOPES :경사/해안가 위의 건설을 허용: {STRING} -STR_CONFIG_SETTING_BUILDONSLOPES_HELPTEXT :이 옵션을 켜면 도로, 철도, 역 등을 대부분의 경사에 설치할 수 있게 됩니다. 이 옵션을 끄면 오직 트랙의 방향과 일치하는 경사에만 설치가 가능하기 때문에 기반 지형을 만들 필요가 없습니다. -STR_CONFIG_SETTING_AUTOSLOPE :건물, 트랙 등의 하부 지형 편집 허용 (자동 슬로프): {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :최대 지형 높이: {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :지도에 생성되는 산이 가질 수 있는 최대 높이를 설정합니다. +STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}이 값을 최대 지형 높이로 설정할 수 없습니다. 이 값보다 고도가 높은 산이 최소 한 개 이상 존재합니다. +STR_CONFIG_SETTING_AUTOSLOPE :건물, 트랙 등의 하부 지형 편집 허용: {STRING} STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :건물이나 도로/선로 등을 제거하지 않고도 하부의 지형을 편집할 수 있게 허용합니다. STR_CONFIG_SETTING_CATCHMENT :더 현실적인 역세권 지정: {STRING} STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :역과 공항의 종류에 따라 다른 크기의 역세권을 가지도록 만듭니다. @@ -1157,16 +1190,12 @@ STR_CONFIG_SETTING_FORBID_90_DEG :열차/선박 STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :─ 모양의 수평 선로와 │ 모양의 수직 선로가 바로 이어져 만날 때 90도 회전이 발생합니다. 이 옵션을 켜면 열차가 칸 가장자리를 통과할 때 90도로 회전할 수 있도록 허용합니다. 이 옵션은 선박의 회전 반경에도 적용됩니다. STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :역이 같은 방향으로 붙어있지 않아도 같은 이름의 역 짓기 허용: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :이미 존재하는 역을 직접 건드리지 않고도 역의 일부분을 새로 추가/확장하는 것을 허용합니다. 인접한 칸에 기존과 다른 새로운 역을 놓을 때에는 CTRL+클릭해야 합니다. -STR_CONFIG_SETTING_IMPROVEDLOAD :향상된 수송 알고리즘 사용: {STRING} -STR_CONFIG_SETTING_IMPROVEDLOAD_HELPTEXT :이 옵션을 켜면 역에서 차량이 여러 대가 기다리고 있으면 먼저 도착한 순서대로 화물을 싣게 됩니다. 다음에 도착하는 차량은, 이미 화물을 싣고 있는 차량이 화물을 모두 싣고 난 다음에서야 적재를 시작하게 됩니다. -STR_CONFIG_SETTING_GRADUAL_LOADING :화물을 차량에 단계적으로 싣기: {STRING} -STR_CONFIG_SETTING_GRADUAL_LOADING_HELPTEXT :적재된 화물의 양에 따라 고정된 시간이 지나면 한 번에 모두 적재하는 대신, 차량의 적재 상황을 시간이 지남에 따라 단계별로 표시합니다. STR_CONFIG_SETTING_INFLATION :인플레이션(화폐 가치 하락) 사용: {STRING} -STR_CONFIG_SETTING_INFLATION_HELPTEXT :비용이 지불하는 것보다 약간 더 빠르게 성장하고 있는 경제가 되면 인플레이션을 활성화합니다. -STR_CONFIG_SETTING_SELECTGOODS :수요가 있을 때만 화물을 역에 옮겨놓음: {STRING} -STR_CONFIG_SETTING_SELECTGOODS_HELPTEXT :역으로 수송되는 화물만 차량에 적재가 가능해집니다. 이 옵션을 켜면 역에서 수송되지 않는 화물이 낮은 수송등급을 받는 것을 막아줍니다. +STR_CONFIG_SETTING_INFLATION_HELPTEXT :경제에 인플레이션 효과를 적용합니다. 벌어들이는 수익보다 지출하는 경비가 조금 더 빨리 상승하게 됩니다. STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :다리의 최대 건설 길이: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :다리의 최대 길이를 제한할 수 있습니다. +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :최대 다리 건설 높이: {STRING} +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :다리를 건설할 수 있는 최대 높이입니다. STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :터널의 최대 길이: {STRING} STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :터널의 최대 길이를 제한할 수 있습니다. STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :1차 산업시설 건설 방법: {STRING} @@ -1185,15 +1214,13 @@ STR_CONFIG_SETTING_SIGNALSIDE_DRIVING_SIDE :진행 방향 STR_CONFIG_SETTING_SIGNALSIDE_RIGHT :오른쪽에 STR_CONFIG_SETTING_SHOWFINANCES :연말에 자동으로 재정 창을 띄움: {STRING} STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT :이 옵션을 켜면 회사의 재정 상태를 확인하기 쉽도록 매년 말에 재정 창이 자동으로 뜹니다. -STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :새로 지정하는 경로는 기본적으로 '직통'으로 처리: {STRING} +STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :새로 지정하는 경로는 기본적으로 '직행'으로 처리: {STRING} STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT :일반적으로 차량은 경로 상에 있는 모든 역에 정차하게 되어있습니다. 이 옵션을 켜면 차량이 마지막 목적지까지 정차없이 모든 역을 통과할 것입니다. 이 옵션은 새로 경로를 지정하는 차량에만 적용되는 점을 알아두십시오. 하지만 각 차량의 경로는 두 가지 방법 중에 원하는 대로 다시 설정할 수 있습니다. STR_CONFIG_SETTING_STOP_LOCATION :새로 지정하는 역 정차 경로는 기본적으로 역의 {STRING}에 정지하도록 설정 STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :열차가 기본적으로 정거장의 어느 위치에 정차할 것인지를 설정합니다. '가까운 쪽'은 역에 진입하는 곳과 가까운 곳에, '중간'은 역 중앙에, '먼쪽'은 진입하는 곳과 먼 곳에 정차합니다. 이 옵션은 새로 경로를 지정하는 차량에만 적용되는 점을 알아두십시오. 하지만 각 차량의 경로는 두 가지 방법 중에 원하는 대로 다시 설정할 수 있습니다. STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :가까운쪽 STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :중간 STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :먼쪽 -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING :정류장/적치장이 빌 때까지 앞에서 차량을 대기시킴: {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING_HELPTEXT :자동차가 정류장이나 적치장이 빌 때까지 그 앞쪽에서 기다리도록 합니다. STR_CONFIG_SETTING_AUTOSCROLL :가장자리에 마우스를 가져가면 화면 움직이기: {STRING} STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :이 옵션을 켜면, 마우스를 게임 및 외부 화면 창의 가장자리에 가까이 가져가면 화면을 이동시킵니다. STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :사용 안 함 @@ -1203,8 +1230,8 @@ STR_CONFIG_SETTING_AUTOSCROLL_EVERY_VIEWPORT :모든 화면 STR_CONFIG_SETTING_BRIBE :지역 당국에 뇌물을 주는 행위 허용: {STRING} STR_CONFIG_SETTING_BRIBE_HELPTEXT :회사가 지역 도시 당국에 뇌물을 주는 것을 허용합니다. 뇌물 행위가 적발되는 경우, 회사는 해당 도시에서 6개월간 아무 행동도 할 수 없습니다. STR_CONFIG_SETTING_ALLOW_EXCLUSIVE :독점 운송권 구입 허용: {STRING} -STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT :한 회사가 어떤 도시의 독점수송권을 구매하면, 그 도시에 있는 상대편의 역에서는 그 해동안 (승객을 포함한) 그 어떠한 화물도 받을 수 없습니다. -STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS :도시 상업 건물 건설에 투자하는 행위 허용: {STRING} +STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT :한 회사가 어떤 도시의 독점수송권을 구매하면, 그 도시에 있는 상대편의 역에서는 그 해 동안 (승객을 포함한) 그 어떠한 화물도 받을 수 없습니다. +STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS :도시 상업 건물 건설에 투자하는 것을 허용: {STRING} STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS_HELPTEXT :회사가 도시가 새로운 건물에 투자할 수 있도록 자금을 주는 것을 허용합니다. STR_CONFIG_SETTING_ALLOW_FUND_ROAD :도시 도로 보수공사 시행을 허용: {STRING} STR_CONFIG_SETTING_ALLOW_FUND_ROAD_HELPTEXT :도로 기반의 수송 체계를 갖추고 있는 다른 회사를 방해하기 위해 해당 도시가 도로 재건축을 시작하도록 회사가 도시에 돈을 지불하는 행위를 허용합니다. @@ -1224,15 +1251,11 @@ STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :도시 소유 STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :도시 소유의 도로 위에 버스 정류장 건설을 허용합니다. STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :경쟁자 소유의 도로 위에 버스 정류장 건설 허용: {STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :다른 회사 소유의 도로 위에 버스 정류장을 건설하는 것을 허용합니다. -STR_CONFIG_SETTING_ADJACENT_STATIONS :역 바로 옆에 다른 이름의 역 건설 허용: {STRING} -STR_CONFIG_SETTING_ADJACENT_STATIONS_HELPTEXT :기존에 존재하는 역 바로 옆에 새로운 역을 붙여서 건설할 수 있도록 허용합니다. -STR_CONFIG_SETTING_DYNAMIC_ENGINES :여러 개의 NewGRF 엔진 세트 허용: {STRING} -STR_CONFIG_SETTING_DYNAMIC_ENGINES_HELPTEXT :오래된 NewGRF에 대한 적합 옵션입니다. 정확히 어떤 기능을 하는지 알지 못한다면 절대 이 옵션을 끄지 마십시오! STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}이미 차량이 존재하면 이 설정을 변경하실 수 없습니다. STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :기반시설 유지비: {STRING} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :이 옵션을 활성화하면 기반시설 유지비가 발생합니다. 유지비는 교통망의 규모에 비례하며 대형 회사는 소형 회사보다 많은 유지비가 들어갑니다. -STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :옛날 공항이 사라지지 않고 계속 만들 수 있게 함: {STRING} +STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :옛날 공항을 사라지지 않고 계속 만들 수 있게 함: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :이 옵션을 켜면 소형 공항을 포함한 모든 공항 종류를 도입 이후 계속 사용할 수 있게 됩니다. STR_CONFIG_SETTING_WARN_LOST_VEHICLE :차량이 길을 잃으면 경고: {STRING} @@ -1259,34 +1282,48 @@ STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :오류 메시 STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{COMMA}초 동안 STR_CONFIG_SETTING_HOVER_DELAY :도움말 보이기: {STRING} STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :마우스를 올려놓았을 때 도움말이 뜨는데 걸리는 시간을 설정합니다. 마우스 오른쪽 클릭으로 바로 뜨도록 할 수도 있습니다. -STR_CONFIG_SETTING_HOVER_DELAY_VALUE :마우스를 {COMMA}초간 올려놓기 +STR_CONFIG_SETTING_HOVER_DELAY_VALUE :마우스를 {COMMA}밀리초 동안 올려놓기 (1밀리초 = 1/1000초) STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :마우스 오른쪽 클릭 STR_CONFIG_SETTING_POPULATION_IN_LABEL :도시 이름 옆에 도시의 인구 수를 표시함: {STRING} STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :도시 이름 옆에 도시의 인구 수를 표시합니다. STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :그래프 선의 두께: {STRING} STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :그래프의 선 두께를 설정합니다. 얇으면 자세히 볼 수 있고, 두꺼우면 눈에 확 들어오며 색상을 분간하기가 편해집니다. +STR_CONFIG_SETTING_LANDSCAPE :지형: {STRING} +STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :지형에 따라 화물과 도시 성장 요구 조건이 다른 게임 플레이 시나리오가 만들어집니다. NewGRF과 게임 스크립트를 통해 세밀한 조절이 가능합니다. STR_CONFIG_SETTING_LAND_GENERATOR :지형 만들기: {STRING} +STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :오리지널 모드는 기본 그래픽 세트에 따라 다른 지형을 생성하며, 단조로운 지형을 구성합니다. 천지창조는 개선된 제어 설정을 가진 생성기로 만들어진 임의 지형(펄린 노이즈)을 구성합니다. STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :오리지널 STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :천지창조 +STR_CONFIG_SETTING_TERRAIN_TYPE :지형 종류: {STRING} +STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(천지창조 전용) 지형의 언덕 모양을 결정합니다. +STR_CONFIG_SETTING_INDUSTRY_DENSITY :산업시설 수: {STRING} +STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :게임을 플레이하는 동안 얼마나 많은 산업시설이 생성되고 유지되어야 할 지를 설정합니다. STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :정유 공장의 최대 건설 범위: 지도 맨 끝에서부터 {STRING} 이내 STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :정유 공장은 지도의 동서남북 끝 경계 근처에만 건설할 수 있습니다. STR_CONFIG_SETTING_SNOWLINE_HEIGHT :설선 고도: {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :지형의 거친 정도 ('천지창조' 전용): {STRING} +STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :아한대 기후의 설선 고도를 조절합니다. 눈은 산업시설의 생성과 도시 성장에 영향을 미칩니다. +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :지형의 거친 정도: {STRING} +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(천지창조 전용) 언덕의 빈도수를 선택합니다. 평탄한 지형은 개수가 적고 넓게 퍼진 언덕을 만듭니다. 거친 지형은 똑같아 보일 수 있는 많은 언덕이 생기게 됩니다. STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :매우 부드럽게 STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :부드럽게 STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :거칠게 STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :매우 거칠게 +STR_CONFIG_SETTING_VARIETY :산세 험준도: {STRING} +STR_CONFIG_SETTING_VARIETY_HELPTEXT :(천지창조 전용) 지도가 산지와 평지를 모두 갖도록 만들 것인 지를 결정합니다. 이 옵션은 지형을 더 평평하게 만드므로, 다른 옵션은 '산'으로 설정하시기 바랍니다. +STR_CONFIG_SETTING_RIVER_AMOUNT :강의 양: {STRING} +STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :강을 얼마나 만들지 선택하십시오. STR_CONFIG_SETTING_TREE_PLACER :나무 배치 알고리즘: {STRING} +STR_CONFIG_SETTING_TREE_PLACER_HELPTEXT :지도의 나무 분포 형식을 선택하십시오. '오리지널'을 선택하면 나무가 고르게 분포되고, '향상됨'을 선택하면 나무가 군락을 이루게 됩니다. STR_CONFIG_SETTING_TREE_PLACER_NONE :없음 STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :오리지널 STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :향상됨 +STR_CONFIG_SETTING_ROAD_SIDE :자동차 통행 방향: {STRING} +STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :통행방향을 선택하세요. STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :높이맵 회전: {STRING} STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :반시계방향 STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :시계방향 STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :평지 시나리오의 평지 높이: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :지도 가장자리의 지형 변경을 허용: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES_HELPTEXT :이 옵션을 끄면, 지도의 동서남북 끝이 반드시 모두 물이어야 합니다. STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}지도 북쪽 맨 가장자리에 있는 지형의 칸 한 개 이상이 비어있지 않습니다. STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}지도 맨 가장자리에 있는 칸 한 개 이상이 물이 아닙니다. @@ -1337,17 +1374,15 @@ 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_AUTOSAVE :자동 저장: {STRING} +STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :게임을 자동으로 저장할 간격을 선택하십시오. + STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :저장 파일의 이름으로 {STRING} 날짜 형식을 사용합니다. STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :게임 저장 파일 이름에 사용할 날짜 형식을 선택합니다. STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :긴 (2012년 1월 1일) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :짧은 (2012.01.01) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :국제표준규격 (2012-01-01) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE :기본으로 설정할 NewGRF 색상표: {STRING} -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_HELPTEXT :어떤 색상표를 사용할지 지정하지 않은 NewGRF에 사용할 기본 색상표를 선택합니다. -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_DOS :기본(DOS) 색상표 -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_WIN :기존 (Windows) 색상표 - STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :게임 시작 시 자동으로 일시정지: {STRING} STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :이 옵션을 켜면, 새로은 게임을 시작할 때 지도를 더욱 살펴볼 수 있도록 게임을 자동으로 일시정시시킵니다. STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :일시 정지 상태에서 가능한 행동: {STRING} @@ -1356,7 +1391,7 @@ STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :아무 것도 STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :모든 비건설적인 행동 STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :지형 편집을 제외한 모든 행동 STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_ACTIONS :모든 행동 -STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :고급화된 차량 목록 사용: {STRING} +STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :차량 목록에서 그룹 기능 사용: {STRING} STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :고급화된 차량 목록의 사용 여부를 설정합니다. STR_CONFIG_SETTING_LOADING_INDICATORS :적재율 표시: {STRING} STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :적재나 하차하는 차량 위에 적재/하차율을 표시할지 말지를 선택합니다. @@ -1364,8 +1399,8 @@ STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :열차 시간 STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT :열차 시간표에서 열차의 운행 시간을 '일'보다 자세한 '틱'으로 표시합니다. 1일은 74틱과 같습니다. STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE :시간표에서 출발일과 도착일 표시: {STRING} STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT :열차 시간표에서 예상 출발 & 도착 시간을 표시합니다. -STR_CONFIG_SETTING_QUICKGOTO :행선지 설정 후 계속해서 행선지 지정: {STRING} -STR_CONFIG_SETTING_QUICKGOTO_HELPTEXT :경로 창을 열었을 때, 자동으로 '행선지' 버튼을 눌러 창을 열면 바로 행선지를 지정할 수 있도록 합니다. +STR_CONFIG_SETTING_QUICKGOTO :빠른 행선지 설정: {STRING} +STR_CONFIG_SETTING_QUICKGOTO_HELPTEXT :경로 창을 열면 자동으로 '행선지' 버튼을 선택하여 곧바로 행선지를 지정할 수 있도록 합니다. STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE :철도 형식 기본값 설정 (게임 시작/불러온 후): {STRING} STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_HELPTEXT :게임을 새로 시작하거나 불러온 뒤에 사용할 철도의 종류를 선택합니다. '처음 사용 가능한 것'은 가장 오래된 철도 종류를 선택하고, '최신 기술의 철도'는 가장 최신에 나온 철도 종류를 선택하며 '가장 많이 사용한 것'은 플레이어가 가장 많이 사용한 철도 타입을 선택합니다. STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_FIRST :처음 사용 가능한 것 @@ -1397,13 +1432,13 @@ STR_CONFIG_SETTING_SOUND_AMBIENT_HELPTEXT :주변 풍경 STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING :사용 가능한 차량이 없을 경우 해당 기반시설 비활성화: {STRING} STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING_HELPTEXT :이 옵션을 켜면, 불필요하게 시간과 돈을 낭비하지 않도록 차량이 존재하지 않는 기반시설을 설치할 수 없게 됩니다. -STR_CONFIG_SETTING_MAX_TRAINS :최대 열차 수: {STRING} +STR_CONFIG_SETTING_MAX_TRAINS :회사당 최대 열차 수: {STRING} STR_CONFIG_SETTING_MAX_TRAINS_HELPTEXT :한 회사가 소유할 수 있는 열차의 최대 수를 제한합니다. -STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :최대 자동차/전차 수: {STRING} +STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :회사당 최대 자동차/전차 수: {STRING} STR_CONFIG_SETTING_MAX_ROAD_VEHICLES_HELPTEXT :한 회사가 소유할 수 있는 자동차/전차의 최대 수를 제한합니다. -STR_CONFIG_SETTING_MAX_AIRCRAFT :최대 항공기 수: {STRING} +STR_CONFIG_SETTING_MAX_AIRCRAFT :회사당 최대 항공기 수: {STRING} STR_CONFIG_SETTING_MAX_AIRCRAFT_HELPTEXT :한 회사가 소유할 수 있는 항공기의 최대 수를 제한합니다. -STR_CONFIG_SETTING_MAX_SHIPS :최대 선박 수: {STRING} +STR_CONFIG_SETTING_MAX_SHIPS :회사당 최대 선박 수: {STRING} STR_CONFIG_SETTING_MAX_SHIPS_HELPTEXT :한 회사가 소유할 수 있는 선박의 최대 수를 제한합니다. STR_CONFIG_SETTING_AI_BUILDS_TRAINS :컴퓨터의 철도 사용을 허가하지 않음: {STRING} @@ -1430,7 +1465,7 @@ STR_CONFIG_SETTING_SERVINT_ISPERCENT :신뢰도에 STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :차량 점검 방식을 "마지막 점검 이후 지난 시간 (또는) 최대 신뢰도에 대한 차량 신뢰도의 일정 퍼센트 하락 여부" 중에 하나로 선택합니다. STR_CONFIG_SETTING_SERVINT_TRAINS :열차에 대한 기본 점검 기준: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :열차에 따로 점검 기간이 설정되어있지 않은 경우에 사용할 기본 점검 기간을 설정합니다. -STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA} 일/% +STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}일/% STR_CONFIG_SETTING_SERVINT_DISABLED :사용 안 함 STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES :차량에 대한 기본 점검 기준: {STRING} STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES_HELPTEXT :차량 정비 설정을 하지 않은 경우, 기본값으로 사용할 정비 주기를 설정합니다. @@ -1459,9 +1494,9 @@ STR_CONFIG_SETTING_NEWS_INDUSTRY_CLOSE :산업시설 STR_CONFIG_SETTING_NEWS_INDUSTRY_CLOSE_HELPTEXT :산업시설이 폐쇄될 때 메시지로 알려줍니다. STR_CONFIG_SETTING_NEWS_ECONOMY_CHANGES :경제 변화: {STRING} STR_CONFIG_SETTING_NEWS_ECONOMY_CHANGES_HELPTEXT :거시적인 경제에 변화가 생기면 뉴스 메시지로 알려줍니다. -STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_COMPANY :내 회사가 달성한 산업시설의 생산량 변동: {STRING} +STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_COMPANY :내 회사에 의한 산업시설의 생산량 변동: {STRING} STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_COMPANY_HELPTEXT :내 회사가 수송하는 산업시설의 생산량이 변하면 소식으로 알려줍니다. -STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_OTHER :경쟁자에 의한 산업시설의 생산 변화: {STRING} +STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_OTHER :경쟁사에 의한 산업시설의 생산량 변동: {STRING} STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_OTHER_HELPTEXT :경쟁사가 수송하고 있는 산업 시설의 생산량이 변하면 메시지로 알려줍니다. STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_UNSERVED :다른 산업 생산물 변화: {STRING} STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_UNSERVED_HELPTEXT :아무도 수송하지 않는 산업시설의 생산량이 변하면 소식으로 알려줍니다. @@ -1477,8 +1512,8 @@ STR_CONFIG_SETTING_NEWS_GENERAL_INFORMATION :일반 정보: STR_CONFIG_SETTING_NEWS_GENERAL_INFORMATION_HELPTEXT :도로 재건축 투자나 수송 독점권의 구입 등과 같은 일반적인 사건에 대한 소식을 메시지로 알려줍니다. STR_CONFIG_SETTING_NEWS_MESSAGES_OFF :끄기 -STR_CONFIG_SETTING_NEWS_MESSAGES_SUMMARY :요약 -STR_CONFIG_SETTING_NEWS_MESSAGES_FULL :전체 +STR_CONFIG_SETTING_NEWS_MESSAGES_SUMMARY :상태 표시줄로 알림 +STR_CONFIG_SETTING_NEWS_MESSAGES_FULL :전체 메시지로 알림 STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :컬러로 된 뉴스가 시작되는 해: {STRING}년 STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :신문이 컬러로 나오게 되는 연도를 설정합니다. 이 연도 이전까지는 신문이 흑백으로 나옵니다. @@ -1546,10 +1581,10 @@ STR_CONFIG_SETTING_SOFT_LIMIT :고정하지 STR_CONFIG_SETTING_SOFT_LIMIT_HELPTEXT :새로운 창을 열었을 때 공간 확보를 위해 열림 상태를 고정시키지 않은 창이 열려있을 수 있는 개수를 설정합니다. STR_CONFIG_SETTING_SOFT_LIMIT_VALUE :{COMMA} STR_CONFIG_SETTING_SOFT_LIMIT_DISABLED :제한 없음 -STR_CONFIG_SETTING_ZOOM_MIN :최대 줌 인 배율: {STRING} -STR_CONFIG_SETTING_ZOOM_MIN_HELPTEXT :게임 화면의 최대 줌 인 배율을 설정합니다. 줌 인 배율이 커질 수록 메모리가 더 필요합니다. -STR_CONFIG_SETTING_ZOOM_MAX :최대 줌 아웃 배율: {STRING} -STR_CONFIG_SETTING_ZOOM_MAX_HELPTEXT :게임 화면의 최대 줌 아웃 배율을 설정합니다. 줌 아웃 배율이 커질 수록 게임이 버벅거릴 수 있습니다. +STR_CONFIG_SETTING_ZOOM_MIN :최대 확대 수준: {STRING} +STR_CONFIG_SETTING_ZOOM_MIN_HELPTEXT :게임 화면의 최대 확대 수준을 설정합니다. 화면을 더 크게 확대할 수록 더 많은 메모리가 필요합니다. +STR_CONFIG_SETTING_ZOOM_MAX :최대 축소 수준: {STRING} +STR_CONFIG_SETTING_ZOOM_MAX_HELPTEXT :게임 화면의 최대 축소 수준을 설정합니다. 화면을 더 작게 축소할 수록 게임이 더 버벅거리게 될 수도 있습니다. STR_CONFIG_SETTING_ZOOM_LVL_MIN :4x STR_CONFIG_SETTING_ZOOM_LVL_IN_2X :2x STR_CONFIG_SETTING_ZOOM_LVL_NORMAL :기본값 @@ -1569,12 +1604,10 @@ STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :{COMMA}개 중 STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :없음 STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :초기 대도시 크기 비율: 일반 도시보다 {STRING}배 크게 시작 STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :게임을 시작했을 때 일반 도시에 대한 대도시의 평균 크기를 설정합니다. -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :도로 재건설 중 불필요한 도로 요소를 제거: {STRING} -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD_HELPTEXT :도로 재건설에 투자하였을 때, 재건설 도중에 불필요한 도로를 제거합니다. STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :분배 상태를 매 {STRING}일 마다 갱신 STR_CONFIG_SETTING_LINKGRAPH_INTERVAL_HELPTEXT :다음 연결 상태를 재계산하기까지의 시간입니다. 한 번의 재계산할 때마다 그래프의 한 요소를 위한 계획을 계산합니다. 이는 이 설정의 X값에 따라 모든 그래프가 매 X일마다 갱신되는 것이 아니라는 것을 뜻합니다. 일부 요소만 재계산된다는 뜻입니다. 값이 작으면 작을 수록 CPU가 계산해야 할 횟수가 늘어납니다. 값을 크게 설정할 수록 화물 분배 상태가 새롭게 지정되는 데 더 오랜 시간이 걸립니다. -STR_CONFIG_SETTING_LINKGRAPH_TIME :분배 상태 재계산 주기: {STRING}일 +STR_CONFIG_SETTING_LINKGRAPH_TIME :화물 분배 연결 상태를 {STRING}일마다 다시 계산 STR_CONFIG_SETTING_LINKGRAPH_TIME_HELPTEXT :각 연결 상태 요소의 재계산을 위해 필요한 시간입니다. 재계산이 시작될 때, 이 날짜만큼 작동하는 스레드가 생성됩니다. 이 값이 작으면 작을수록, 스레드가 끝나야할 때에 스레드가 끝나지 않게 됩니다. 그러면 게임이 랙에 걸려 멈추게 됩니다. 값을 크게 설정할수록 경로가 바뀔 때 분배 상태가 업데이트 되는 시간이 오래 걸리게 됩니다. STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :수동 STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :불균형 @@ -1584,7 +1617,7 @@ STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"균형"은 A STR_CONFIG_SETTING_DISTRIBUTION_MAIL :우편에 대한 분배 형식: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"균형"은 A역에서 B역으로 가려는 우편물의 수가 B에서 A로 가려는 우편물의 수와 비슷하다는 뜻입니다. "불균형"은 우편물이 아무 방향이나 임의의 양만큼 가게 됨을 뜻합니다. "수동"은 자동적인 우편물 분배가 일어나지 않고 기존 방식을 사용하겠음을 뜻합니다. STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :장갑 화물에 대한 분배 형식: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :장갑 화물은 온대 기후의 귀금속, 아열대 기후의 다이아몬드 또는 냉대 기후의 금을 말합니다. NewGRF을 사용하면 달라질 수 있습니다. "균형"은 A역에서 B역으로 가려는 화물의 수가 B에서 A로 가려는 화물의 수와 비슷하다는 뜻입니다. "불균형"은 화물이 아무 방향이나 임의의 양만큼 가게 됨을 뜻합니다. "수동"은 자동적인 화물 분배가 일어나지 않고 기존 방식을 사용하겠음을 뜻합니다. 냉대 기후에서는 균형으로 설정하면 은행이 금광으로 금을 보내지 않으려 하기 때문에 불균형이나 수동으로 설정하는 것을 추천합니다. 온대 기후나 아열대 기후에서는 은행이 일부 적재한 귀금속을 원래 은행으로 보내려고 하기 때문에 균형을 선택해도 됩니다. +STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :장갑 화물은 온대 기후의 귀금속, 아열대 기후의 다이아몬드 또는 아한대 기후의 금을 말합니다. NewGRF을 사용하면 달라질 수 있습니다. "균형"은 A역에서 B역으로 가려는 화물의 수가 B에서 A로 가려는 화물의 수와 비슷하다는 뜻입니다. "불균형"은 화물이 아무 방향이나 임의의 양만큼 가게 됨을 뜻합니다. "수동"은 자동적인 화물 분배가 일어나지 않고 기존 방식을 사용하겠음을 뜻합니다. 아한대 기후에서는 균형으로 설정하면 은행이 금광으로 금을 보내지 않으려 하기 때문에 불균형이나 수동으로 설정하는 것을 추천합니다. 온대 기후나 아열대 기후에서는 은행이 일부 적재한 귀금속을 원래 은행으로 보내려고 하기 때문에 균형을 선택해도 됩니다. STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :다른 화물에 대한 분배 형식: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"불균형"은 화물이 아무 방향이나 임의의 양만큼 가게 됨을 뜻합니다. "수동"은 자동적인 화물 분배가 일어나지 않고 기존 방식을 사용하겠음을 뜻합니다. 특별한 이유가 없는 한, "불균형"이나 "수동"으로 설정하십시오. STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :분배 정확도: {STRING} @@ -1597,7 +1630,7 @@ STR_CONFIG_SETTING_SHORT_PATH_SATURATION :다음으로 STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :종종 두 역 사이에는 여러 가지 경로가 존재할 수 있습니다. 이 경우, 화물 분배 기능은 먼저 가장 짧은 경로로 화물을 보내고, 그 경로가 포화 상태에 이르면 그 다음으로 짧은 경로를 사용하는 식으로 화물을 분배합니다. 포화도는 경로의 수송 능력과 예정 사용량을 추정하여 계산됩니다. 일단 모든 경로가 포화 상태가 되었는데 아직 수요가 남아있다면, 수송 능력이 높은 경로를 사용하면서 모든 경로를 과부하 상태로 만들게 됩니다. 하지만, 이 알고리즘은 수송량을 대부분 정확히 추정하지는 않습니다. 이 설정을 이용해서, 화물 분배 기능이 짧은 경로의 포화 상태가 몇 퍼센트가 되어야 다음으로 짧은 경로에 화물을 분배할 것인지를 지정할 수 있습니다. 과대평가된 수송량의 경우 너무 붐비는 역이 생기지 않도록 하기 위해서는 이 값을 100%보다 작게 설정하십시오. STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :속력 단위: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_HELPTEXT :출력할 속력 단위를 선택합니다. +STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_HELPTEXT :속력를 표시할 때 선택한 단위를 사용하여 나타냅니다. STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_IMPERIAL :임페리얼법 (mph) STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_METRIC :미터법 (km/h) STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_SI :국제표준규격 (m/s) @@ -1609,54 +1642,56 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_METRIC :미터법 (마 STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_SI :국제표준규격 (kW) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT :무게 단위: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_HELPTEXT :출력할 무게 단위를 선택합니다. +STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_HELPTEXT :무게를 표시할 때 선택한 단위를 사용하여 나타냅니다. STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_IMPERIAL :임페리얼법 (미국 톤) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_METRIC :미터법 (톤) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_SI :국제표준규격 (kg) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME :부피 단위: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_HELPTEXT :출력할 부피 단위를 선택합니다. +STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_HELPTEXT :부피를 표시할 때 선택한 단위를 사용하여 나타냅니다. STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_IMPERIAL :임페리얼법 (갤런) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_METRIC :미터법 (리터) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_SI :국제표준규격 (m³) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE :견인 효과 단위: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_HELPTEXT :출력할 견인 효과(견인력) 단위를 선택합니다. +STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_HELPTEXT :견인 효과(견인력)를 표시할 때 선택한 단위를 사용하여 나타냅니다. STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_IMPERIAL :임페리얼법 (파운드중) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_METRIC :미터법 (kgf) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_SI :국제표준규격 (kN) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT :높이 단위: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT :출력할 높이 단위를 선택합니다. +STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT :높이를 표시할 때 선택한 단위를 사용하여 나타냅니다. STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :임페리얼법 (ft) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :미터법 (m) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :국제표준규격 (m) -STR_CONFIG_SETTING_GUI :{ORANGE}인터페이스 STR_CONFIG_SETTING_LOCALISATION :{ORANGE}단위 설정 -STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}건설 -STR_CONFIG_SETTING_VEHICLES :{ORANGE}차량 -STR_CONFIG_SETTING_STATIONS :{ORANGE}역 -STR_CONFIG_SETTING_ECONOMY :{ORANGE}경제 -STR_CONFIG_SETTING_LINKGRAPH :{ORANGE}화물 분배 -STR_CONFIG_SETTING_AI :{ORANGE}경쟁자 -STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}디스플레이 옵션 -STR_CONFIG_SETTING_INTERACTION :{ORANGE}조작 옵션 +STR_CONFIG_SETTING_GRAPHICS :{ORANGE}그래픽 STR_CONFIG_SETTING_SOUND :{ORANGE}효과음 -STR_CONFIG_SETTING_NEWS :{ORANGE}뉴스와 메시지 -STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}신호기 -STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE}화물 -STR_CONFIG_SETTING_AI_NPC :{ORANGE}컴퓨터 플레이어 -STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE}자동 교체 -STR_CONFIG_SETTING_VEHICLES_SERVICING :{ORANGE}정비 +STR_CONFIG_SETTING_INTERFACE :{ORANGE}인터페이스 +STR_CONFIG_SETTING_INTERFACE_GENERAL :{ORANGE}일반 +STR_CONFIG_SETTING_INTERFACE_VIEWPORTS :{ORANGE}게임 화면 +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}건설 +STR_CONFIG_SETTING_ADVISORS :{ORANGE}뉴스 / 정보 +STR_CONFIG_SETTING_COMPANY :{ORANGE}회사 +STR_CONFIG_SETTING_ACCOUNTING :{ORANGE}회계 +STR_CONFIG_SETTING_VEHICLES :{ORANGE}차량 +STR_CONFIG_SETTING_VEHICLES_PHYSICS :{ORANGE}물리 STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}경로 -STR_CONFIG_SETTING_VEHICLES_TRAINS :{G=f}{ORANGE}열차 -STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}도시 -STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}산업시설 +STR_CONFIG_SETTING_LIMITATIONS :{ORANGE}제한 +STR_CONFIG_SETTING_ACCIDENTS :{ORANGE}재앙 / 사고 +STR_CONFIG_SETTING_GENWORLD :{ORANGE}세계 제작 +STR_CONFIG_SETTING_ENVIRONMENT :{ORANGE}환경 +STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :{ORANGE}지역 당국 +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}도시 +STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}산업시설 +STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :{ORANGE}화물 분배 +STR_CONFIG_SETTING_AI :{ORANGE}경쟁자 +STR_CONFIG_SETTING_AI_NPC :{ORANGE}컴퓨터 플레이어 STR_CONFIG_SETTING_PATHFINDER_OPF :오리지널 STR_CONFIG_SETTING_PATHFINDER_NPF :NPF -STR_CONFIG_SETTING_PATHFINDER_YAPF_RECOMMENDED :YAPF {BLUE}(추천) +STR_CONFIG_SETTING_PATHFINDER_YAPF_RECOMMENDED :YAPF {BLUE}(권장) STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS :열차에 사용할 경로 탐색법: {STRING} STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS_HELPTEXT :열차에 사용할 경로 탐색 방법을 선택합니다. @@ -1672,7 +1707,7 @@ STR_CONFIG_SETTING_QUERY_CAPTION :{WHITE}설정 # Config errors STR_CONFIG_ERROR :{WHITE}설정 파일에서 오류 발생 STR_CONFIG_ERROR_ARRAY :{WHITE}... 배열 '{STRING}'에서 오류 발생 -STR_CONFIG_ERROR_INVALID_VALUE :{WHITE}... '{1:STRING}'{G 0 "은" "는"} '{0:STRING}'에 사용할 수 없습니다 +STR_CONFIG_ERROR_INVALID_VALUE :{WHITE}... '{1:STRING}'에 잘못된 값('{0:STRING}')이 지정되었습니다. STR_CONFIG_ERROR_TRAILING_CHARACTERS :{WHITE}... 설정 '{STRING}' 끝에 후행문자(??) STR_CONFIG_ERROR_DUPLICATE_GRFID :{WHITE}... NewGRF '{STRING}' 무시중: '{STRING}'{G 1 "과" "와"} GRF ID가 겹침 STR_CONFIG_ERROR_INVALID_GRF :{WHITE}... 유효하지 않은 NewGRF '{STRING}' 무시중: {STRING} @@ -1701,7 +1736,7 @@ STR_INTRO_MULTIPLAYER :{BLACK}멀티 STR_INTRO_GAME_OPTIONS :{BLACK}게임 설정 STR_INTRO_HIGHSCORE :{BLACK}고득점 순위표 -STR_INTRO_ADVANCED_SETTINGS :{BLACK}고급 설정 +STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}설정 STR_INTRO_NEWGRF_SETTINGS :{BLACK}NewGRF 설정 STR_INTRO_ONLINE_CONTENT :{BLACK}온라인 콘텐츠 다운로드 STR_INTRO_SCRIPT_SETTINGS :{BLACK}인공지능/게임 스크립트 설정 @@ -1715,13 +1750,13 @@ STR_INTRO_TOOLTIP_SCENARIO_EDITOR :{BLACK}사용 STR_INTRO_TOOLTIP_MULTIPLAYER :{BLACK}멀티 플레이 게임을 시작합니다 STR_INTRO_TOOLTIP_TEMPERATE :{BLACK}온대 기후 선택 -STR_INTRO_TOOLTIP_SUB_ARCTIC_LANDSCAPE :{BLACK}냉대 기후 선택 +STR_INTRO_TOOLTIP_SUB_ARCTIC_LANDSCAPE :{BLACK}아한대 기후 선택 STR_INTRO_TOOLTIP_SUB_TROPICAL_LANDSCAPE :{BLACK}아열대 기후 선택 STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}장난감나라 선택 -STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}게임 설정 창을 보여줍니다. +STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}게임 기본 설정 창을 보여줍니다. STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}고득점 순위표를 보여줍니다. -STR_INTRO_TOOLTIP_ADVANCED_SETTINGS :{BLACK}고급 설정 창을 엽니다. +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}설정 창을 엽니다. STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}NewGRF 설정 창을 엽니다. STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}새로 나왔거나 업데이트된 콘텐츠를 체크하여 다운로드합니다. STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}인공지능/게임 스크립트 설정창을 엽니다. @@ -1758,13 +1793,15 @@ STR_CHEATS_TOOLTIP :{BLACK}체크 STR_CHEATS_WARNING :{BLACK}경고! 치트는 경쟁자를 속이는 행위입니다. 치트를 사용한 기록은 절대 지워지지 않음을 명심하십시오. STR_CHEAT_MONEY :{LTBLUE}재정을 {CURRENCY_LONG} 만큼 증가 STR_CHEAT_CHANGE_COMPANY :{LTBLUE}다음 회사로 플레이: {ORANGE}{COMMA} -STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}마법 불도저 (산업시설, 움직이지 못하는 건물 제거): {ORANGE}{STRING} +STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}마법 불도저 (산업시설이나 옮길 수 없는 건물 제거): {ORANGE}{STRING} STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}터널 교차 허용: {ORANGE}{STRING} STR_CHEAT_NO_JETCRASH :{LTBLUE}대형 항공기가 소형 공항에서 (자주) 충돌하지 않게 함: {ORANGE}{STRING} +STR_CHEAT_EDIT_MAX_HL :{LTBLUE}최대 지형 고도값 수정: {ORANGE}{NUM} +STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}최대 지형 높이값을 수정합니다. STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE :온대 기후 -STR_CHEAT_SWITCH_CLIMATE_SUB_ARCTIC_LANDSCAPE :냉대 기후 +STR_CHEAT_SWITCH_CLIMATE_SUB_ARCTIC_LANDSCAPE :아한대 기후 STR_CHEAT_SWITCH_CLIMATE_SUB_TROPICAL_LANDSCAPE :아열대 기후 -STR_CHEAT_SWITCH_CLIMATE_TOYLAND_LANDSCAPE :장난감 나라 +STR_CHEAT_SWITCH_CLIMATE_TOYLAND_LANDSCAPE :장난감나라 STR_CHEAT_CHANGE_DATE :{LTBLUE}날짜 변경: {ORANGE}{DATE_SHORT} STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}현재의 연도를 변경 STR_CHEAT_SETUP_PROD :{LTBLUE}1차 산업시설 생산량 조절 허용: {ORANGE}{STRING} @@ -1809,6 +1846,7 @@ STR_LIVERY_FREIGHT_TRAM :화물 전차 STR_FACE_CAPTION :{WHITE}얼굴 선택 STR_FACE_CANCEL_TOOLTIP :{BLACK}새 얼굴 선택을 취소합니다. STR_FACE_OK_TOOLTIP :{BLACK}이 얼굴을 선택합니다. +STR_FACE_RANDOM :{BLACK}무작위화 STR_FACE_MALE_BUTTON :{BLACK}남성 STR_FACE_MALE_TOOLTIP :{BLACK}남성 얼굴 선택 @@ -1919,7 +1957,7 @@ STR_NETWORK_SERVER_LIST_PLAYER_NAME_OSKTITLE :{BLACK}이름 STR_NETWORK_SERVER_LIST_ENTER_IP :{BLACK}호스트(IP) 주소 입력 # Start new multiplayer server -STR_NETWORK_START_SERVER_CAPTION :{WHITE}새로운 멀티플레이 게임을 시작 +STR_NETWORK_START_SERVER_CAPTION :{WHITE}새 멀티플레이 게임 시작하기 STR_NETWORK_START_SERVER_NEW_GAME_NAME :{BLACK}게임 이름: STR_NETWORK_START_SERVER_NEW_GAME_NAME_TOOLTIP :{BLACK}멀티플레이 게임 선택 메뉴에서 보여질 게임 제목입니다. @@ -1975,15 +2013,15 @@ STR_NETWORK_LANG_TURKISH :터키어 STR_NETWORK_LANG_UKRAINIAN :우크라이나어 STR_NETWORK_LANG_AFRIKAANS :아프리카어 STR_NETWORK_LANG_CROATIAN :크로아티아어 -STR_NETWORK_LANG_CATALAN :카탈로니아 -STR_NETWORK_LANG_ESTONIAN :에스토니아 -STR_NETWORK_LANG_GALICIAN :갈리시아 -STR_NETWORK_LANG_GREEK :그리스 -STR_NETWORK_LANG_LATVIAN :라트비아 +STR_NETWORK_LANG_CATALAN :카탈로니아어 +STR_NETWORK_LANG_ESTONIAN :에스토니아어 +STR_NETWORK_LANG_GALICIAN :갈리시아어 +STR_NETWORK_LANG_GREEK :그리스어 +STR_NETWORK_LANG_LATVIAN :라트비아어 ############ End of leave-in-this-order # Network game lobby -STR_NETWORK_GAME_LOBBY_CAPTION :{WHITE}멀티플레이 준비 +STR_NETWORK_GAME_LOBBY_CAPTION :{WHITE}멀티플레이 게임 대기실 STR_NETWORK_GAME_LOBBY_PREPARE_TO_JOIN :{BLACK}참가 준비중: {ORANGE}{STRING} STR_NETWORK_GAME_LOBBY_COMPANY_LIST_TOOLTIP :{BLACK}이 게임에 있는 회사의 목록입니다. 다른 회사에 같이 참가하거나 (빈 슬롯이 있을 경우) 새로운 회사로 시작할 수 있습니다. @@ -2023,7 +2061,7 @@ STR_NETWORK_CONNECTING_SPECIAL_2 :{BLACK}회사 ############ End of leave-in-this-order STR_NETWORK_CONNECTING_WAITING :{BLACK}{NUM}명의 접속자가 먼저 기다리고 있습니다 STR_NETWORK_CONNECTING_DOWNLOADING_1 :{BLACK}지금까지 {BYTES}를 다운로드하였습니다 -STR_NETWORK_CONNECTING_DOWNLOADING_2 :{BLACK}{BYTES} / {BYTES} 다운로드 +STR_NETWORK_CONNECTING_DOWNLOADING_2 :{BLACK}{BYTES} / {BYTES} 다운로드 완료 STR_NETWORK_CONNECTION_DISCONNECT :{BLACK}접속 끊기 @@ -2119,7 +2157,7 @@ STR_NETWORK_ERROR_CLIENT_CHEATER :치트 사용 STR_NETWORK_ERROR_CLIENT_SERVER_FULL :서버 꽉참 STR_NETWORK_ERROR_CLIENT_TOO_MANY_COMMANDS :너무 많은 명령 전송 STR_NETWORK_ERROR_CLIENT_TIMEOUT_PASSWORD :제 시간에 비밀번호를 입력하십시오 -STR_NETWORK_ERROR_CLIENT_TIMEOUT_COMPUTER :일반적인 시간 초과 +STR_NETWORK_ERROR_CLIENT_TIMEOUT_COMPUTER :반응 시간 초과 STR_NETWORK_ERROR_CLIENT_TIMEOUT_MAP :지도 다운로드 시간 초과 STR_NETWORK_ERROR_CLIENT_TIMEOUT_JOIN :지도 생성 / 입장 시간 초과 ############ End of leave-in-this-order @@ -2146,9 +2184,9 @@ STR_NETWORK_MESSAGE_CLIENT_JOINED :*** {STRING} STR_NETWORK_MESSAGE_CLIENT_JOINED_ID :*** {STRING} 님이 입장하셨습니다. ({2:NUM}번 접속자) STR_NETWORK_MESSAGE_CLIENT_COMPANY_JOIN :*** {STRING} 님이 {2:NUM}번 회사에 참여하셨습니다. STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} 님이 관전을 시작하셨습니다. -STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} 님이 새로운 회사(({2:NUM}번)를 창설하셨습니다. +STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} 님이 새로운 회사({2:NUM}번)를 창설하셨습니다. STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} 님이 퇴장하셨습니다. (사유: {2:STRING}) -STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} 님이 이름을 {STRING}(으)로 바꿨습니다 +STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} 님의 이름이 {STRING}(으)로 바뀌었습니다. STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} 님이 당신에게 {2:CURRENCY_LONG}만큼의 돈을 보내셨습니다. STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** {1:STRING} 님에게 {2:CURRENCY_LONG}만큼의 돈을 보냈습니다. STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}서버가 게임을 종료하였습니다. @@ -2194,7 +2232,7 @@ STR_CONTENT_DETAIL_SELECTED_BECAUSE_OF :{WHITE}{STRING} STR_CONTENT_DETAIL_DEPENDENCIES :{SILVER}필요한 요소: {WHITE}{STRING} STR_CONTENT_DETAIL_TAGS :{SILVER}태그: {WHITE}{STRING} STR_CONTENT_NO_ZLIB :{WHITE}OpenTTD가 "zlib" 지원 기능을 포함하지 않고 만들어졌습니다... -STR_CONTENT_NO_ZLIB_SUB :{WHITE}... 콘텐츠 다운로드가 불가능합니다! +STR_CONTENT_NO_ZLIB_SUB :{WHITE}... 콘텐츠를 다운로드 할 수 없습니다! # Order of these is important! STR_CONTENT_TYPE_BASE_GRAPHICS :{G=m}기본 그래픽 @@ -2218,8 +2256,8 @@ STR_CONTENT_DOWNLOAD_PROGRESS_SIZE :{WHITE}{BYTES} # Content downloading error messages STR_CONTENT_ERROR_COULD_NOT_CONNECT :{WHITE}콘텐츠 서버에 접속할 수 없습니다... STR_CONTENT_ERROR_COULD_NOT_DOWNLOAD :{WHITE}다운로드 실패... -STR_CONTENT_ERROR_COULD_NOT_DOWNLOAD_CONNECTION_LOST :{WHITE}... 접속 손실 -STR_CONTENT_ERROR_COULD_NOT_DOWNLOAD_FILE_NOT_WRITABLE :{WHITE}... 파일 쓰기 실패 +STR_CONTENT_ERROR_COULD_NOT_DOWNLOAD_CONNECTION_LOST :{WHITE}... 접속이 끊겼습니다. +STR_CONTENT_ERROR_COULD_NOT_DOWNLOAD_FILE_NOT_WRITABLE :{WHITE}... 파일 쓰기가 불가능합니다. STR_CONTENT_ERROR_COULD_NOT_EXTRACT :{WHITE}다운로드한 파일의 압축을 풀 수 없습니다 STR_MISSING_GRAPHICS_SET_CAPTION :{WHITE}그래픽 없음 @@ -2278,7 +2316,7 @@ STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}자동 STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}차량기지를 건설합니다. 차량을 구입하거나 정비를 할 수 있습니다. SHIFT 키를 사용하면 예상 가격을 볼 수 있습니다. STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}선로에 경유지를 설치합니다. CTRL 키를 사용하면 같은 이름의 경유지를 서로 떨어진 곳에 지을 수 있습니다. SHIFT 키를 누르면 예상 가격을 볼 수 있습니다. STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}철도역을 짓습니다. CTRL 키를 사용하면 같은 이름의 역을 서로 떨어진 곳에 지을 수 있습니다. SHIFT 키를 사용하면 예상 가격을 볼 수 있습니다. -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}신호기를 설치합니다. CTRL 키를 누르면 구식/전자식으로 전환합니다.{}선로를 따라 드래그해서 설치할 수 있습니다. CTRL을 누른채 드래그하면 다음 분기점까지 신호기를 설치합니다.{}CTRL 키를 누른 채 클릭하면 신호기 선택 창을 전환합니다. SHIFT 키를 누르면 예상 가격을 볼 수 있습니다. +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}신호기를 설치합니다. CTRL 키를 누르면 구식/전자식으로 전환합니다.{}선로를 따라 드래그해서 설치할 수 있습니다. CTRL을 누른채 드래그하면 다음 분기점이나 다음 신호기까지 신호기를 설치합니다.{}CTRL 키를 누른 채 클릭하면 신호기 선택 창을 전환합니다. SHIFT 키를 누르면 예상 가격을 볼 수 있습니다. STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}철교를 짓습니다. SHIFT 키를 사용하면 예상 가격을 볼 수 있습니다. STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}터널을 짓습니다. SHIFT 키를 사용하면 예상 가격을 볼 수 있습니다. STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}선로, 신호기, 경유지, 역 등의 철도 시설 건설/철거 모드를 켜거나 끌 수 있습니다. CTRL 키를 누르고 있어도 선로에서 경유지와 역을 제거할 수 있습니다. @@ -2318,17 +2356,17 @@ STR_STATION_CLASS_WAYP :{G=f}경유지 STR_BUILD_SIGNAL_CAPTION :{WHITE}신호기 선택 STR_BUILD_SIGNAL_SEMAPHORE_NORM_TOOLTIP :{BLACK}폐색 신호기 (구식){}가장 기본적인 신호기 형식입니다. 단 한 대의 열차만이 이 폐색 구간을 통과할 수 있습니다. STR_BUILD_SIGNAL_SEMAPHORE_ENTRY_TOOLTIP :{BLACK}입구 신호기 (구식){}다음 폐색 구간에 있는 출구 신호기가 하나라도 파란불이면 파란불이 되며, 그렇지 않은 경우에는 빨간불이 됩니다. -STR_BUILD_SIGNAL_SEMAPHORE_EXIT_TOOLTIP :{BLACK}출구 신호기 (구식){}일반 신호기와 기능이 똑같지만, 입구 & 콤보 신호기와 올바르게 연계되어야 합니다. -STR_BUILD_SIGNAL_SEMAPHORE_COMBO_TOOLTIP :{BLACK}콤보 신호기 (구식){}콤보 신호기는 입구 신호기와 출구 신호기의 역할을 동시에 합니다. 이 신호기는 사전 신호기의 거대한 "나뭇가지 구조"를 건설할 수 있도록 도와줍니다. +STR_BUILD_SIGNAL_SEMAPHORE_EXIT_TOOLTIP :{BLACK}출구 신호기 (구식){}일반 신호기와 기능이 똑같지만, 입구 & 복합 신호기와 올바르게 연계되어야 합니다. +STR_BUILD_SIGNAL_SEMAPHORE_COMBO_TOOLTIP :{BLACK}복합 신호기 (구식){}복합 신호기는 입구 신호기와 출구 신호기의 역할을 동시에 합니다. 이 신호기는 사전 신호기의 거대한 "나뭇가지 구조"를 건설할 수 있도록 도와줍니다. STR_BUILD_SIGNAL_SEMAPHORE_PBS_TOOLTIP :{BLACK}경로 신호기 (구식){}경로 신호기는 경로가 겹치지 않는 경우에 한 대 이상의 열차가 한 폐색 구간에 동시에 들어갈 수 있게 해줍니다. 경로 신호기는 반대편에서 통과가 가능합니다. STR_BUILD_SIGNAL_SEMAPHORE_PBS_OWAY_TOOLTIP :{BLACK}단방향 경로 신호기 (구식){}경로 신호기는 경로가 겹치지 않는 경우에 한 대 이상의 열차가 한 폐색 구간에 동시에 들어갈 수 있게 해줍니다. 단방향 경로 신호기는 반대편에서 통과가 불가능합니다. STR_BUILD_SIGNAL_ELECTRIC_NORM_TOOLTIP :{BLACK}폐색 신호기 (전자식){}가장 기본적인 신호기 형식입니다. 단 한 대의 열차만이 이 폐색 구간을 통과할 수 있습니다. STR_BUILD_SIGNAL_ELECTRIC_ENTRY_TOOLTIP :{BLACK}입구 신호기 (전자식){}다음 폐색 구간에 있는 출구 신호기가 하나라도 파란불이면 파란불이 되며, 그렇지 않은 경우에는 빨간불이 됩니다. -STR_BUILD_SIGNAL_ELECTRIC_EXIT_TOOLTIP :{BLACK}출구 신호기 (전자식){}일반 신호기와 기능이 똑같지만, 입구 & 콤보 신호기와 올바르게 연계되어야 합니다. -STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP :{BLACK}콤보 신호기 (전자식){}콤보 신호기는 입구 신호기와 출구 신호기의 역할을 동시에 합니다. 이 신호기는 사전 신호기의 거대한 "나뭇가지식 구조"를 건설할 수 있도록 도와줍니다. +STR_BUILD_SIGNAL_ELECTRIC_EXIT_TOOLTIP :{BLACK}출구 신호기 (전자식){}일반 신호기와 기능이 똑같지만, 입구 & 복합 신호기와 올바르게 연계되어야 합니다. +STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP :{BLACK}복합 신호기 (전자식){}복합 신호기는 입구 신호기와 출구 신호기의 역할을 동시에 합니다. 이 신호기는 사전 신호기의 거대한 "나뭇가지식 구조"를 건설할 수 있도록 도와줍니다. STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP :{BLACK}경로 신호기 (전자식){}경로 신호기는 경로가 겹치지 않는 경우에 한 대 이상의 열차가 한 폐색 구간에 동시에 들어갈 수 있게 해줍니다. 경로 신호기는 반대편에서 통과가 가능합니다. STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP :{BLACK}단방향 경로 신호기 (전자식){}경로 신호기는 경로가 겹치지 않는 경우에 한 대 이상의 열차가 한 폐색 구간에 동시에 들어갈 수 있게 해줍니다. 단방향 경로 신호기는 반대편에서 통과가 불가능합니다. -STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}신호기 변환{}이 버튼을 선택한 뒤 이미 설치된 신호기를 클릭하면, 신호기의 종류(일반/입구/출구/콤보/경로)와 형식(구식↔전자식)을 변경하고, CTRL+클릭하면 신호기의 형식을 변경합니다. SHIFT+클릭을 사용하면 예상 가격을 볼 수 있습니다. +STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}신호기 변환{}이 버튼을 선택한 뒤 이미 설치된 신호기를 클릭하면, 신호기의 종류(일반/입구/출구/복합/경로)와 형식(구식↔전자식)을 변경하고, CTRL+클릭하면 신호기의 형식을 변경합니다. SHIFT+클릭을 사용하면 예상 가격을 볼 수 있습니다. STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}드래그시 신호기 간격 STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}드래그시 신호기 간격 감소 STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP :{BLACK}드래그시 신호기 증가 @@ -2419,7 +2457,7 @@ STR_AIRPORT_SMALL :소형 공항 STR_AIRPORT_CITY :도시 공항 STR_AIRPORT_METRO :대도시 공항 STR_AIRPORT_INTERNATIONAL :국제 공항 -STR_AIRPORT_COMMUTER :국내 공항 +STR_AIRPORT_COMMUTER :통근용 공항 STR_AIRPORT_INTERCONTINENTAL :대륙간 공항 STR_AIRPORT_HELIPORT :헬리콥터 탑승장 STR_AIRPORT_HELIDEPOT :헬리콥터 격납고 @@ -2521,7 +2559,7 @@ STR_INDUSTRY_CARGOES_CUSTOMERS :{WHITE}소비 STR_INDUSTRY_CARGOES_HOUSES :{WHITE}도시 가구 STR_INDUSTRY_CARGOES_INDUSTRY_TOOLTIP :{BLACK}이 산업시설의 공급자와 고객을 보려면 클릭하세요. STR_INDUSTRY_CARGOES_CARGO_TOOLTIP :{BLACK}{STRING}{}이 화물의 공급자와 고객을 보려면 클릭하세요. -STR_INDUSTRY_DISPLAY_CHAIN :{BLACK}산업망 표시 +STR_INDUSTRY_DISPLAY_CHAIN :{BLACK}산업시설 연계도 보기 STR_INDUSTRY_DISPLAY_CHAIN_TOOLTIP :{BLACK}이 산업시설에서 생산/소비하는 화물을 보여줍니다. STR_INDUSTRY_CARGOES_NOTIFY_SMALLMAP :{BLACK}지도에 표시 STR_INDUSTRY_CARGOES_NOTIFY_SMALLMAP_TOOLTIP :{BLACK}위 산업망에 표시된 산업을 소형지도에서 볼 수 있게 합니다. @@ -2568,23 +2606,23 @@ STR_LAI_RAIL_DESCRIPTION_TRACK :{STRING} 선로 STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :일반 신호기가 설치된 {STRING} 선로 STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :입구 신호기가 설치된 {STRING} 선로 STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :출구 신호기가 설치된 {STRING} 선로 -STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :콤보 신호기가 설치된 {STRING} 선로 +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :복합 신호기가 설치된 {STRING} 선로 STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :경로 신호기가 설치된 {STRING} 선로 STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :단방향 경로 신호기가 설치된 {STRING} 선로 STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :일반 신호기와 입구 신호기가 설치된 {STRING} 선로 STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :일반 신호기와 출구 신호기가 설치된 {STRING} 선로 -STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :일반 신호기와 콤보 신호기가 설치된 {STRING} 선로 +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :일반 신호기와 복합 신호기가 설치된 {STRING} 선로 STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :일반 신호기와 경로 신호기가 설치된 {STRING} 선로 STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :일반 신호기와 단방향 경로 신호기가 설치된 {STRING} 선로 STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :입구 신호기와 출구 신호기가 설치된 {STRING} 선로 -STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :입구 신호기와 콤보 신호기가 설치된 {STRING} 선로 +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :입구 신호기와 복합 신호기가 설치된 {STRING} 선로 STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :입구 신호기와 경로 신호기가 설치된 {STRING} 선로 STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :입구 신호기와 단방향 경로 신호기가 설치된 {STRING} 선로 -STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :출구 신호기와 콤보 신호기가 설치된 {STRING} 선로 +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :출구 신호기와 복합 신호기가 설치된 {STRING} 선로 STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :출구 신호기와 경로 신호기가 설치된 {STRING} 선로 STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :출구 신호기와 단방향 경로 신호기가 설치된 {STRING} 선로 -STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :콤보 신호기와 경로 신호기가 설치된 {STRING} 선로 -STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :콤보 신호기와 단방향 경로 신호기가 설치된 {STRING} 선로 +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :복합 신호기와 경로 신호기가 설치된 {STRING} 선로 +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :복합 신호기와 단방향 경로 신호기가 설치된 {STRING} 선로 STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :경로 신호기와 단방향 경로 신호기가 설치된 {STRING} 선로 STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :{STRING} 차량기지 @@ -2650,7 +2688,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-2014 OpenTTD 개발팀 +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 OpenTTD 개발팀 # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}게임 저장 @@ -2678,20 +2716,19 @@ STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}NewGRF: STR_SAVELOAD_OSKTITLE :{BLACK}게임을 저장할 파일명을 입력하세요 # World generation -STR_MAPGEN_WORLD_GENERATION_CAPTION :{WHITE}세계 창조 +STR_MAPGEN_WORLD_GENERATION_CAPTION :{WHITE}세계 제작 STR_MAPGEN_MAPSIZE :{BLACK}지도 크기: STR_MAPGEN_MAPSIZE_TOOLTIP :{BLACK}지도의 크기를 칸 수 기준으로 선택하십시오. 사용 가능한 지도의 칸 수는 선택한 값보다 조금 적습니다. STR_MAPGEN_BY :{BLACK}x STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}도시의 수: STR_MAPGEN_DATE :{BLACK}날짜: STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}산업시설 수: +STR_MAPGEN_MAX_HEIGHTLEVEL :{BLACK}최대 지형 높이: +STR_MAPGEN_MAX_HEIGHTLEVEL_UP :{BLACK}최대 지형 높이를 1칸 높입니다. +STR_MAPGEN_MAX_HEIGHTLEVEL_DOWN :{BLACK}최대 지형 높이를 1칸 낮춥니다. STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}설선 고도: STR_MAPGEN_SNOW_LINE_UP :{BLACK}설선 고도를 1칸 높입니다 STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}설선 고도를 1칸 낮춥니다 -STR_MAPGEN_RANDOM_SEED :{BLACK}무작위수치: -STR_MAPGEN_RANDOM_SEED_HELP :{BLACK}무작위수치를 입력하세요 -STR_MAPGEN_RANDOM :{BLACK}무작위화 -STR_MAPGEN_RANDOM_HELP :{BLACK}지형 만들기를 위한 무작위수치 변경 STR_MAPGEN_LAND_GENERATOR :{BLACK}지형 만들기: STR_MAPGEN_TREE_PLACER :{BLACK}나무 알고리즘: STR_MAPGEN_TERRAIN_TYPE :{BLACK}지형 종류: @@ -2718,7 +2755,7 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}높이 STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}크기: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} -STR_MAPGEN_RANDOM_SEED_OSKTITLE :{BLACK}임의 설정값 입력 +STR_MAPGEN_MAX_HEIGHTLEVEL_QUERY_CAPT :{WHITE}최대 지형 고도값 변경 STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}설선 고도를 변경 STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}시작 연도를 변경합니다. @@ -2736,7 +2773,7 @@ STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_QUERY_CAPT :{WHITE}평지 # Map generation progress STR_GENERATION_WORLD :{WHITE}세계 만드는 중.. STR_GENERATION_ABORT :{BLACK}중지 -STR_GENERATION_ABORT_CAPTION :{WHITE}세계 만들기 중지 +STR_GENERATION_ABORT_CAPTION :{WHITE}세계 제작 중지 STR_GENERATION_ABORT_MESSAGE :{YELLOW}세계 만들기를 중지하시겠습니까? STR_GENERATION_PROGRESS :{WHITE}{NUM}% 완료 STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} @@ -2773,6 +2810,8 @@ STR_NEWGRF_SETTINGS_MOVEUP :{BLACK}위로 STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP :{BLACK}선택한 NewGRF 파일의 순서를 위로 올립니다. STR_NEWGRF_SETTINGS_MOVEDOWN :{BLACK}아래로 STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP :{BLACK}선택한 NewGRF 파일의 순서를 아래로 내립니다. +STR_NEWGRF_SETTINGS_UPGRADE :{BLACK}업데이트 +STR_NEWGRF_SETTINGS_UPGRADE_TOOLTIP :{BLACK}새 버전이 있는 NewGRF 파일을 업데이트합니다. STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}설치된 NewGRF의 목록입니다. STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}매개 변수 설정 @@ -2797,6 +2836,16 @@ STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}일치하 STR_NEWGRF_SETTINGS_DISABLED :{RED}사용 안 함 STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}이 OpenTTD 버전과 맞지 않습니다... +# NewGRF save preset window +STR_SAVE_PRESET_CAPTION :{WHITE}프리셋 저장 +STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK}사용 가능한 프리셋 목록입니다. 아래에 같은 이름을 복사하려면 선택하십시오. +STR_SAVE_PRESET_TITLE :{BLACK}프리셋의 이름을 입력하세요 +STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}저장할 프리셋에 지정할 이름입니다. +STR_SAVE_PRESET_CANCEL :{BLACK}취소 +STR_SAVE_PRESET_CANCEL_TOOLTIP :{BLACK}프리셋을 바꾸지 않습니다. +STR_SAVE_PRESET_SAVE :{BLACK}저장 +STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}이 프리셋을 선택한 이름으로 저장합니다. + # NewGRF parameters window STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}NewGRF 매개 변숫값 변경 STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}닫기 @@ -2820,14 +2869,17 @@ STR_NEWGRF_INSPECT_QUERY_CAPTION :{WHITE}NewGRF # Sprite aligner window STR_SPRITE_ALIGNER_CAPTION :{WHITE}스프라이트 정렬 {COMMA} ({STRING}) STR_SPRITE_ALIGNER_NEXT_BUTTON :{BLACK}다음 스프라이트 -STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}모조/재색상/글씨 스프라이트는 건너뛰고 다음 번호의 일반 스프라이트로 이동합니다. 마지막 번호에 다다르면 다시 처음으로 돌아옵니다. +STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}(위조/재색상/글씨 스프라이트를 제외한) 다음 보통 스프라이트로 이동하고, 마지막 스프라이트에 다다르면 다시 처음으로 돌아갑니다. STR_SPRITE_ALIGNER_GOTO_BUTTON :{BLACK}스프라이트 번호 입력 STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}입력한 스프라이트 번호로 이동합니다. 만약 입력한 번호의 스프라이트가 일반 스프라이트가 아닐경우, 그 다음으로 오는 일반 스프라이트로 이동합니다. STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}이전 스프라이트 -STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}모조/재색상/글씨 스프라이트는 건너뛰고 이전 번호의 정상 스프라이트로 이동합니다. 처음 번호에 다다르면 마지막 번호로 돌아옵니다. +STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}(위조/재색상/글씨 스프라이트를 제외한) 이전 보통 스프라이트로 이동하고, 첫 번째 스프라이트에 다다르면 마지막으로 돌아갑니다. STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}현재 선택된 스프라이트를 표시합니다. 이 스프라이트가 그려졌을때의 정렬은 무시합니다. STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}X축이나 Y축 방향으로 스프라이트를 이동시킵니다. -STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X축: {NUM}, Y축: {NUM} +STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}상대값 초기화 +STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}현재 상대값 좌표를 초기화 +STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}X 좌표: {NUM}, Y 좌표: {NUM} (절댓값) +STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}X 좌표: {NUM}, Y 좌표: {NUM} (상대값) STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}스프라이트 선택 STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}화면에서 스프라이트를 골라 냅니다. @@ -2881,7 +2933,7 @@ STR_NEWGRF_LIST_COMPATIBLE :{YELLOW}호환 STR_NEWGRF_LIST_MISSING :{RED}파일 없음 # NewGRF 'it's broken' warnings -STR_NEWGRF_BROKEN :{WHITE}'{STRING}' NewGRF이 하려는 행위는 비동기화 혹은 충돌을 일으킬 수 있습니다. +STR_NEWGRF_BROKEN :{WHITE}'{0:STRING}' NewGRF이 적용되는 과정에서 비동기화나 충돌이 일어날 수 있습니다. STR_NEWGRF_BROKEN_POWERED_WAGON :{WHITE}차고지 안에 있지 않은 '{1:ENGINE}'에 대한 동력 차량 상태가 바뀌었습니다. STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}'{1:ENGINE}'{G 1 "이" "가"} 차고지 안에 있지 않으면 차량 길이가 바뀝니다. STR_NEWGRF_BROKEN_CAPACITY :{WHITE}차량이 기지 안에 있지 않거나 개조가 불가능한 상태에서 '{1:ENGINE}'의 수송량이 변경되었습니다. @@ -2903,10 +2955,10 @@ STR_NEWGRF_INVALID_INDUSTRYTYPE :<알 수 없는 STR_INVALID_VEHICLE :<알 수 없는 차량> # NewGRF scanning window -STR_NEWGRF_SCAN_CAPTION :{WHITE}NewGRF 검색 +STR_NEWGRF_SCAN_CAPTION :{WHITE}NewGRF 검색 중 STR_NEWGRF_SCAN_MESSAGE :{BLACK}NewGRF을 검색하는 중입니다. 파일 개수에 따라 시간이 조금 걸릴 수 있습니다... STR_NEWGRF_SCAN_STATUS :{BLACK}약 {1:NUM}개의 NewGRF 중에서 {0:NUM}개의 NewGRF을 찾았습니다 -STR_NEWGRF_SCAN_ARCHIVES :자료 검색 +STR_NEWGRF_SCAN_ARCHIVES :자료 검색 중 # Sign list window STR_SIGN_LIST_CAPTION :{WHITE}팻말 목록 - 팻말 {COMMA}개 @@ -2935,12 +2987,12 @@ STR_TOWN_VIEW_PASSENGERS_LAST_MONTH_MAX :{BLACK}지난 STR_TOWN_VIEW_MAIL_LAST_MONTH_MAX :{BLACK}지난달 우편수: {ORANGE}{COMMA}{BLACK} 최고: {ORANGE}{COMMA} STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH :{BLACK}도시가 성장하기 위해 필요한 화물: STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_GENERAL :{ORANGE}{STRING}{RED}{G 0 "이" "가"} 필요함 -STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :겨울에는 {ORANGE}{STRING}{BLACK}{G 0 "이" "가"} 필요합니다. +STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :겨울에는 {ORANGE}{STRING}{BLACK}{G 0 "이" "가"} 필요함 STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} 수송됨 -STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (화물이 더 필요함) -STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (수송됨) +STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{1:CARGO_LONG} \ {0:CARGO_TINY}{RED} (더 필요함) +STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{1:CARGO_LONG} \ {0:CARGO_TINY}{GREEN} (수송됨) STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}도시가 {ORANGE}{COMMA}{BLACK}일마다 성장합니다. -STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}도시가 {ORANGE}{COMMA}{BLACK}일마다 성장합니다. (투자 중) +STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}도시가 {ORANGE}{COMMA}{BLACK}일마다 성장합니다. (투자됨) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}도시는 {RED}성장하지 않고{BLACK} 있습니다. STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}현재 소음 수준: {ORANGE}{COMMA}{BLACK} 최대 허용 수준: {ORANGE}{COMMA} STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}이 도시의 위치로 시점을 변경합니다. CTRL+클릭하면 이 도시 위치를 기준으로 새로운 외부 화면을 엽니다. @@ -3000,7 +3052,7 @@ STR_GOAL_QUESTION_CAPTION_INFORMATION :{G=f}정보 STR_GOAL_QUESTION_CAPTION_WARNING :{G=f}경고 STR_GOAL_QUESTION_CAPTION_ERROR :오류 -### Start of Goal Question button list +############ Start of Goal Question button list STR_GOAL_QUESTION_BUTTON_CANCEL :취소 STR_GOAL_QUESTION_BUTTON_OK :{G=m}확인 STR_GOAL_QUESTION_BUTTON_NO :아니요 @@ -3019,6 +3071,7 @@ STR_GOAL_QUESTION_BUTTON_RESTART :재시작 STR_GOAL_QUESTION_BUTTON_POSTPONE :연기 STR_GOAL_QUESTION_BUTTON_SURRENDER :양도 STR_GOAL_QUESTION_BUTTON_CLOSE :닫기 +############ End of Goal Question button list # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}보조금 @@ -3054,7 +3107,6 @@ STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}화물 # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} -STR_STATION_VIEW_WAITING_TITLE :{BLACK}대기: {WHITE}{STRING} STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({1:STATION}에서 온 {0:CARGO_SHORT}) STR_STATION_VIEW_RESERVED :{YELLOW}({CARGO_SHORT} 적재 예정) @@ -3076,16 +3128,16 @@ STR_STATION_VIEW_WAITING_STATION :역: 대기 STR_STATION_VIEW_WAITING_AMOUNT :양: 대기 STR_STATION_VIEW_PLANNED_STATION :역: 계획 STR_STATION_VIEW_PLANNED_AMOUNT :양: 계획 -STR_STATION_VIEW_FROM :{YELLOW}{1:STATION} 출발 {0:CARGO_SHORT} -STR_STATION_VIEW_VIA :{YELLOW}{1:STATION} 경유 {0:CARGO_SHORT} -STR_STATION_VIEW_TO :{YELLOW}{1:STATION} 도착 {0:CARGO_SHORT} +STR_STATION_VIEW_FROM :{YELLOW}{1:STATION} 출발: {0:CARGO_SHORT} +STR_STATION_VIEW_VIA :{YELLOW}{1:STATION} 경유: {0:CARGO_SHORT} +STR_STATION_VIEW_TO :{YELLOW}{1:STATION} 도착: {0:CARGO_SHORT} STR_STATION_VIEW_FROM_ANY :{RED}알 수 없는 역에서 출발한 {CARGO_SHORT} STR_STATION_VIEW_TO_ANY :{RED}아무 역에나 도착하는 {CARGO_SHORT} STR_STATION_VIEW_VIA_ANY :{RED}어디든 경유하는 {CARGO_SHORT} STR_STATION_VIEW_FROM_HERE :{GREEN}여기에서 출발하는 {CARGO_SHORT} STR_STATION_VIEW_VIA_HERE :{GREEN}이 역을 경유하는 {CARGO_SHORT} STR_STATION_VIEW_TO_HERE :{GREEN}이 역에 도착하는 {CARGO_SHORT} -STR_STATION_VIEW_NONSTOP :{YELLOW}직통 {CARGO_SHORT} +STR_STATION_VIEW_NONSTOP :{YELLOW}직행 {CARGO_SHORT} STR_STATION_VIEW_GROUP_S_V_D :출발-경유-도착 STR_STATION_VIEW_GROUP_S_D_V :출발-도착-경유 @@ -3147,7 +3199,7 @@ STR_FINANCES_SECTION_OTHER :{GOLD}기타 STR_FINANCES_NEGATIVE_INCOME :{BLACK}-{CURRENCY_LONG} STR_FINANCES_POSITIVE_INCOME :{BLACK}+{CURRENCY_LONG} STR_FINANCES_TOTAL_CAPTION :{WHITE}총계: -STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}소유금 +STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}현 보유 금액 STR_FINANCES_LOAN_TITLE :{WHITE}대출 STR_FINANCES_MAX_LOAN :{WHITE}최대 대출: {BLACK}{CURRENCY_LONG} STR_FINANCES_TOTAL_CURRENCY :{BLACK}{CURRENCY_LONG} @@ -3165,17 +3217,17 @@ STR_COMPANY_VIEW_INAUGURATED_TITLE :{GOLD}설립: { STR_COMPANY_VIEW_COLOUR_SCHEME_TITLE :{GOLD}색상: STR_COMPANY_VIEW_VEHICLES_TITLE :{GOLD}차량: STR_COMPANY_VIEW_TRAINS :{WHITE}열차 {COMMA}대 -STR_COMPANY_VIEW_ROAD_VEHICLES :{WHITE}차량 {COMMA}대 +STR_COMPANY_VIEW_ROAD_VEHICLES :{WHITE}자동차/전차 {COMMA}대 STR_COMPANY_VIEW_AIRCRAFT :{WHITE}항공기 {COMMA}대 STR_COMPANY_VIEW_SHIPS :{WHITE}선박 {COMMA}대 STR_COMPANY_VIEW_VEHICLES_NONE :{WHITE}없음 STR_COMPANY_VIEW_COMPANY_VALUE :{GOLD}회사가치: {WHITE}{CURRENCY_LONG} STR_COMPANY_VIEW_SHARES_OWNED_BY :{WHITE}({COMMA}% {COMPANY}의 소유) STR_COMPANY_VIEW_INFRASTRUCTURE :{GOLD}기반시설: -STR_COMPANY_VIEW_INFRASTRUCTURE_RAIL :{WHITE}철도 {COMMA}칸 +STR_COMPANY_VIEW_INFRASTRUCTURE_RAIL :{WHITE}선로 {COMMA}칸 STR_COMPANY_VIEW_INFRASTRUCTURE_ROAD :{WHITE}도로 {COMMA}칸 -STR_COMPANY_VIEW_INFRASTRUCTURE_WATER :{WHITE}운하시설 {COMMA}칸 -STR_COMPANY_VIEW_INFRASTRUCTURE_STATION :{WHITE}정거장 {COMMA}칸 +STR_COMPANY_VIEW_INFRASTRUCTURE_WATER :{WHITE}항만시설 {COMMA}칸 +STR_COMPANY_VIEW_INFRASTRUCTURE_STATION :{WHITE}역 {COMMA}칸 STR_COMPANY_VIEW_INFRASTRUCTURE_AIRPORT :{WHITE}공항 {COMMA}개 STR_COMPANY_VIEW_INFRASTRUCTURE_NONE :{WHITE}없음 @@ -3315,7 +3367,7 @@ STR_GROUP_RENAME_CAPTION :{BLACK}그룹 # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :새 열차 STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :새 전기 열차 -STR_BUY_VEHICLE_TRAIN_MONORAIL_CAPTION :새 모노레일 +STR_BUY_VEHICLE_TRAIN_MONORAIL_CAPTION :새 모노레일 열차 STR_BUY_VEHICLE_TRAIN_MAGLEV_CAPTION :새 자기부상열차 STR_BUY_VEHICLE_TRAIN_ALL_CAPTION :새 열차 @@ -3344,10 +3396,10 @@ STR_PURCHASE_INFO_ALL_BUT :{CARGO_LIST} STR_PURCHASE_INFO_MAX_TE :{BLACK}최고 견인력: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}항속거리: {GOLD}{COMMA} 칸 -STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}열차 선택 목록 - 차량 정보를 보려면 클릭 -STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}차량 목록 - 차량 정보를 보려면 클릭 -STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}선박 선택 목록 - 선박의 정보를 보려면 클릭하세요 -STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}항공기 선택 목록 - 항공기 정보를 보려면 클릭하세요 +STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}열차 차량 구매 목록입니다. 차량의 정보를 보려면 클릭하세요. CTRL + 클릭하면 해당 차량을 숨김/표시 처리할 수 있습니다. +STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}자동차/전차 구매 목록입니다. 차량의 정보를 보려면 클릭하세요. CTRL + 클릭하면 해당 차량을 숨김/표시 처리할 수 있습니다. +STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}선박 구매 목록입니다. 선박의 정보를 보려면 선박을 클릭하세요. CTRL + 클릭하면 해당 선박을 숨김/표시 처리할 수 있습니다. +STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}항공기 구매 목록입니다. 항공기의 정보를 보려면 클릭하세요. CTRL + 클릭하면 해당 항공기를 숨김/표시 처리할 수 있습니다. STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}차량 구입 STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}차량 구입 @@ -3369,6 +3421,21 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}차량 STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}선박의 차량 이름을 변경합니다. STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}항공기의 차량 이름을 변경합니다. +STR_BUY_VEHICLE_TRAIN_HIDE_TOGGLE_BUTTON :{BLACK}숨김 +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_TOGGLE_BUTTON :{BLACK}숨김 +STR_BUY_VEHICLE_SHIP_HIDE_TOGGLE_BUTTON :{BLACK}숨김 +STR_BUY_VEHICLE_AIRCRAFT_HIDE_TOGGLE_BUTTON :{BLACK}숨김 + +STR_BUY_VEHICLE_TRAIN_SHOW_TOGGLE_BUTTON :{BLACK}보이기 +STR_BUY_VEHICLE_ROAD_VEHICLE_SHOW_TOGGLE_BUTTON :{BLACK}보이기 +STR_BUY_VEHICLE_SHIP_SHOW_TOGGLE_BUTTON :{BLACK}보이기 +STR_BUY_VEHICLE_AIRCRAFT_SHOW_TOGGLE_BUTTON :{BLACK}보이기 + +STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}숨김 처리한 열차 차량을 목록에 보여주거나 숨깁니다. +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}숨김 처리한 자동차/전차 차량을 목록에 보여주거나 숨깁니다. +STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}숨김 처리한 선박을 목록에 보여주거나 숨깁니다. +STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}숨김 처리한 항공기를 목록에 보여주거나 숨깁니다. + STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}열차의 차량 이름을 변경합니다. STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}차종명을 변경합니다. STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}선박의 차량 이름을 변경합니다. @@ -3382,7 +3449,7 @@ STR_DEPOT_RENAME_DEPOT_CAPTION :차량기지 STR_DEPOT_NO_ENGINE :{BLACK}- STR_DEPOT_VEHICLE_TOOLTIP :{BLACK}{ENGINE}{STRING} -STR_DEPOT_VEHICLE_TOOLTIP_CHAIN :{BLACK}{NUM} 차량{STRING} +STR_DEPOT_VEHICLE_TOOLTIP_CHAIN :{BLACK}차량 {NUM}대{STRING} STR_DEPOT_VEHICLE_TOOLTIP_CARGO :{}{CARGO_LONG} ({CARGO_SHORT}) STR_DEPOT_TRAIN_LIST_TOOLTIP :{BLACK}열차 - 열차에 차량을 추가하거나 제거하려면 차량을 왼쪽 클릭으로 드래그하시고, 열차 정보를 보려면 오른쪽 클릭하십시오. 두 기능을 해당 차량 뒤에 딸려오는 차량에 적용하고 싶다면 CTRL 키를 누르고 계십시오. @@ -3473,6 +3540,11 @@ STR_REPLACE_VEHICLE_ROAD_VEHICLE :{G=f}자동차/ STR_REPLACE_VEHICLE_SHIP :{G=m}선박 STR_REPLACE_VEHICLE_AIRCRAFT :{G=f}항공기 +STR_REPLACE_VEHICLE_VEHICLES_IN_USE :{YELLOW}사용 중인 차량 +STR_REPLACE_VEHICLE_VEHICLES_IN_USE_TOOLTIP :{BLACK}이 열은 현재 사용 중인 차량 목록입니다. +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES :{YELLOW}교체할 수 있는 차량 +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES_TOOLTIP :{BLACK}이 열은 교체할 수 있는 차량 목록입니다. + STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}교체할 기관차 종류를 선택하십시오. STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}새로 교체될 기관차를 선택하십시오. @@ -3480,7 +3552,7 @@ STR_REPLACE_VEHICLES_START :{BLACK}차량 STR_REPLACE_VEHICLES_NOW :모든 차량을 지금 교체 STR_REPLACE_VEHICLES_WHEN_OLD :오래된 차량만 교체 STR_REPLACE_HELP_START_BUTTON :{BLACK}왼쪽에서 선택한 기관차를 오른쪽의 새 기관차로 교체하려면 누르세요 -STR_REPLACE_NOT_REPLACING :{BLACK}교체 안됨 +STR_REPLACE_NOT_REPLACING :{BLACK}교체 안 됨 STR_REPLACE_NOT_REPLACING_VEHICLE_SELECTED :{BLACK}차량이 선택되지 않았음 STR_REPLACE_REPLACING_WHEN_OLD :낡으면 {ENGINE}(으)로 교체 STR_REPLACE_VEHICLES_STOP :{BLACK}차량 교체 중지 @@ -3494,9 +3566,9 @@ STR_REPLACE_WAGONS :화물차 STR_REPLACE_HELP_RAILTYPE :{BLACK}교체할 기관차의 철도 종류를 고르세요 STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}왼쪽의 선택한 기관차가 어떤 기관차로 교체되고 있는지 표시합니다. STR_REPLACE_RAIL_VEHICLES :철도 차량 -STR_REPLACE_ELRAIL_VEHICLES :전기철도 +STR_REPLACE_ELRAIL_VEHICLES :전기철도 차량 STR_REPLACE_MONORAIL_VEHICLES :모노레일 차량 -STR_REPLACE_MAGLEV_VEHICLES :자기부상 +STR_REPLACE_MAGLEV_VEHICLES :자기부상 차량 STR_REPLACE_REMOVE_WAGON :{BLACK}화물차 제거: {ORANGE}{STRING} STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}자동 교체시 열차의 길이가 교체 전보다 길어지면 앞쪽부터 화물칸를 제거하여 열차의 전체 길이가 달라지지 않도록 합니다. @@ -3695,8 +3767,8 @@ STR_ORDER_TOOLTIP_UNLOAD :{BLACK}선택 STR_ORDER_REFIT :{BLACK}개조 STR_ORDER_REFIT_TOOLTIP :{BLACK}이 경로에서 열차를 어떤 화물을 받을 수 있게 개조할 것인지 선택하십시오. CTRL+클릭하면 개조 설정을 해제합니다. -STR_ORDER_REFIT_AUTO :{G=f}{BLACK}자동 개조 -STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}이 단계에서 자동으로 개조할 화물의 종류를 선택하세요. CTRL+클릭하면 개조 설정을 해제합니다. 자동 개조 기능은 개조 가능한 차량에서만 사용할 수 있습니다. +STR_ORDER_REFIT_AUTO :{BLACK}개조 +STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}이 경로에서 개조할 화물의 종류를 선택하세요. CTRL+클릭하면 개조 설정을 해제합니다. 개조 기능은 개조 가능한 차량에서만 사용할 수 있습니다. STR_ORDER_DROP_REFIT_AUTO :화물 종류 고정 STR_ORDER_DROP_REFIT_AUTO_ANY :이용가능한 화물 @@ -3763,7 +3835,7 @@ STR_ORDER_SHIP_DEPOT :정박소 STR_ORDER_GO_TO_NEAREST_DEPOT_FORMAT :{STRING} {STRING} {STRING} STR_ORDER_GO_TO_DEPOT_FORMAT :{STRING} {DEPOT} -STR_ORDER_REFIT_ORDER :({STRING}(으)로 개조) +STR_ORDER_REFIT_ORDER :({STRING}{G 0 "으" ""}로 개조) STR_ORDER_REFIT_STOP_ORDER :({STRING}에서 수리 후 멈춤) STR_ORDER_STOP_ORDER :(멈춤) @@ -3771,36 +3843,36 @@ STR_ORDER_GO_TO_STATION :{STRING} {STATI STR_ORDER_IMPLICIT :(자동) -STR_ORDER_FULL_LOAD :(모든 화물을 가득 실음) +STR_ORDER_FULL_LOAD :(모든 화물을 가득 싣기) STR_ORDER_FULL_LOAD_ANY :(아무 화물이나 가득 싣기) STR_ORDER_NO_LOAD :(싣지 않기) STR_ORDER_UNLOAD :(화물 하차 후 적재) -STR_ORDER_UNLOAD_FULL_LOAD :(화물 하차 후 모든 화물을 싣고 출발) +STR_ORDER_UNLOAD_FULL_LOAD :(화물 하차 후 모든 화물을 가득 싣기) STR_ORDER_UNLOAD_FULL_LOAD_ANY :(화물 하차 후 아무 화물이나 가득 싣기) STR_ORDER_UNLOAD_NO_LOAD :(화물 하차 후 빈 차로 출발) -STR_ORDER_TRANSFER :(환승 후 화물 받음) -STR_ORDER_TRANSFER_FULL_LOAD :(환승 후 모든 화물 적재) +STR_ORDER_TRANSFER :(환승 후 화물 적재) +STR_ORDER_TRANSFER_FULL_LOAD :(환승 후 모든 화물을 가득 싣기) STR_ORDER_TRANSFER_FULL_LOAD_ANY :(환승 후 아무 화물이나 가득 싣기) STR_ORDER_TRANSFER_NO_LOAD :(환승 후 빈 차로 출발) -STR_ORDER_NO_UNLOAD :(내리지 않고 화물을 받음) -STR_ORDER_NO_UNLOAD_FULL_LOAD :(내리지 않고 가득 찰 때까지 기다림) -STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY :(내리지 않고 아무 화물이나 가득 찰 때까지 기다림) +STR_ORDER_NO_UNLOAD :(내리지 않고 화물 적재) +STR_ORDER_NO_UNLOAD_FULL_LOAD :(내리지 않고 모든 화물을 가득 싣기) +STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY :(내리지 않고 아무 화물이나 가득 싣기) STR_ORDER_NO_UNLOAD_NO_LOAD :(적재와 하차 없음) -STR_ORDER_AUTO_REFIT :({STRING}{G 0 "으" ""}로 자동 개조) -STR_ORDER_FULL_LOAD_REFIT :({STRING}{G 0 "으" ""}로 자동 개조하면서 모든 화물을 가득 싣기) -STR_ORDER_FULL_LOAD_ANY_REFIT :({STRING}{G 0 "으" ""}로 자동 개조하면서 아무 화물이나 가득 싣기) -STR_ORDER_UNLOAD_REFIT :({STRING}{G 0 "으" ""}로 자동 개조하면서 화물 하차 후 적재) -STR_ORDER_UNLOAD_FULL_LOAD_REFIT :({STRING}{G 0 "으" ""}로 자동 개조하면서 화물 하차 후 모든 화물을 싣고 출발) -STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :({STRING}{G 0 "으" ""}로 자동 개조하면서 화물 하차 후 아무 화물이나 가득 싣기) -STR_ORDER_TRANSFER_REFIT :({STRING}{G 0 "으" ""}로 자동 개조하면서 환승 후 화물 받음) -STR_ORDER_TRANSFER_FULL_LOAD_REFIT :({STRING}{G 0 "으" ""}로 자동 개조하면서 환승 후 모든 화물 적재) -STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :({STRING}{G 0 "으" ""}로 자동 개조하면서 환승 후 아무 화물이나 가득 싣기) -STR_ORDER_NO_UNLOAD_REFIT :({STRING}{G 0 "으" ""}로 자동 개조하면서 내리지 않고 화물을 받음) -STR_ORDER_NO_UNLOAD_FULL_LOAD_REFIT :({STRING}{G 0 "으" ""}로 자동 개조하면서 내리지 않고 가득 찰 때까지 기다림) -STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY_REFIT :({STRING}{G 0 "으" ""}로 자동 개조하면서 내리지 않고 아무 화물이나 가득 찰 때까지 기다림) +STR_ORDER_AUTO_REFIT :({STRING}{G 0 "으" ""}로 개조) +STR_ORDER_FULL_LOAD_REFIT :({STRING}{G 0 "으" ""}로 개조하며 모든 화물을 가득 싣기) +STR_ORDER_FULL_LOAD_ANY_REFIT :({STRING}{G 0 "으" ""}로 개조하며 아무 화물이나 가득 싣기) +STR_ORDER_UNLOAD_REFIT :({STRING}{G 0 "으" ""}로 개조하며 화물 하차 후 적재) +STR_ORDER_UNLOAD_FULL_LOAD_REFIT :({STRING}{G 0 "으" ""}로 개조하며 화물 하차 후 모든 화물을 가득 싣기) +STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :({STRING}{G 0 "으" ""}로 개조하며 화물 하차 후 아무 화물이나 가득 싣기) +STR_ORDER_TRANSFER_REFIT :({STRING}{G 0 "으" ""}로 개조하며 환승 후 화물 적재) +STR_ORDER_TRANSFER_FULL_LOAD_REFIT :({STRING}{G 0 "으" ""}로 개조하며 환승 후 모든 화물을 가득 싣기) +STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :({STRING}{G 0 "으" ""}로 개조하며 환승 후 아무 화물이나 가득 싣기) +STR_ORDER_NO_UNLOAD_REFIT :({STRING}{G 0 "으" ""}로 개조하며 화물을 내리지 않고 적재) +STR_ORDER_NO_UNLOAD_FULL_LOAD_REFIT :({STRING}{G 0 "으" ""}로 개조하며 화물을 내리지 않고 모든 화물을 가득 싣기) +STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY_REFIT :({STRING}{G 0 "으" ""}로 개조하며 화물을 내리지 않고 아무 화물이나 가득 싣기) -STR_ORDER_AUTO_REFIT_ANY :{G=m}이용가능한 화물 +STR_ORDER_AUTO_REFIT_ANY :이용 가능한 화물 STR_ORDER_STOP_LOCATION_NEAR_END :[가까운쪽] STR_ORDER_STOP_LOCATION_MIDDLE :[중간] @@ -3808,7 +3880,7 @@ STR_ORDER_STOP_LOCATION_FAR_END :[먼쪽] STR_ORDER_OUT_OF_RANGE :{RED} (다음 목적지가 항속거리제한을 벗어납니다.) -STR_ORDER_CONDITIONAL_UNCONDITIONAL :{COMMA}번째 경로로 건너뛰기 +STR_ORDER_CONDITIONAL_UNCONDITIONAL :[조건 경로] {COMMA}번째 경로로 건너뛰기 STR_ORDER_CONDITIONAL_NUM :[조건 경로] {COMMA}번째 경로로 건너뛰기 ({STRING} {STRING} {COMMA} 일때) STR_ORDER_CONDITIONAL_TRUE_FALSE :[조건 경로] {COMMA}번째 경로로 건너뛰기 ({STRING}{STRING}) @@ -3824,9 +3896,13 @@ STR_TIMETABLE_TOOLTIP :{BLACK}시간 STR_TIMETABLE_NO_TRAVEL :운행정보 없음 STR_TIMETABLE_NOT_TIMETABLEABLE :이동 (자동; 다음 경로에 의해 시간표 작성) STR_TIMETABLE_TRAVEL_NOT_TIMETABLED :운행 (시간표가 작성되지 않음) -STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :최대 {2:VELOCITY}의 속력으로 운행 (시간표 작성 안됨) +STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :최대 {2:VELOCITY}의 속력으로 운행 (시간표 작성 안 됨) STR_TIMETABLE_TRAVEL_FOR :{STRING}에 걸쳐 운행 -STR_TIMETABLE_TRAVEL_FOR_SPEED :{0:STRING}동안 최대 {1:VELOCITY}의 속력으로 운행 +STR_TIMETABLE_TRAVEL_FOR_SPEED :{0:STRING} 동안 최대 {1:VELOCITY}의 속력으로 운행 +STR_TIMETABLE_TRAVEL_FOR_ESTIMATED :운행 ({STRING} 동안, 시간표 작성 안 됨) +STR_TIMETABLE_TRAVEL_FOR_SPEED_ESTIMATED :최대 {1:VELOCITY}의 속력으로 운행 ({0:STRING} 동안, 시간표 작성 안 됨) +STR_TIMETABLE_STAY_FOR_ESTIMATED :({STRING} 동안 정차, 시간표 작성 안 됨) +STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :({STRING} 동안 운행, 시간표 작성 안 됨) STR_TIMETABLE_STAY_FOR :& {STRING} 동안 정차 STR_TIMETABLE_AND_TRAVEL_FOR :& 다음 목적지({STRING})로 이동 STR_TIMETABLE_DAYS :{COMMA}일 @@ -3900,7 +3976,7 @@ STR_AI_GAME_SCRIPT :{G=f}{BLACK}게 STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}게임 스크립트 기록 체크 STR_ERROR_AI_NO_AI_FOUND :사용할 수 있는 인공지능이 없습니다.{}따라서 이 경쟁사는 아무 것도 하지 못하는 회사입니다.{}'온라인 컨텐츠 다운로드'에서 새로운 인공지능을 다운로드받으세요. -STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}작동중인 스크립트 중 하나가 충돌했습니다. 인공지능 / 게임 스크립트 디버그 창에서 스크린샷을 찍어 스크립트 제작자에게 보고하십시오. +STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}작동 중이던 스크립트 중 하나에서 오류가 발생하여 중단되었습니다. 인공지능 / 게임 스크립트 디버그 창에서 스크린샷을 찍어 스크립트 제작자에게 보고하십시오. STR_ERROR_AI_DEBUG_SERVER_ONLY :{YELLOW}인공지능/게임 스크립트 디버그창은 오직 서버만 사용 가능합니다 # AI configuration window @@ -4032,7 +4108,7 @@ STR_ERROR_SCREENSHOT_FAILED :{WHITE}스크 # Error message titles STR_ERROR_MESSAGE_CAPTION :{YELLOW}알림 -STR_ERROR_MESSAGE_CAPTION_OTHER_COMPANY :{YELLOW}{STRING}{G 0 "이" "가"} 보낸 메시지 +STR_ERROR_MESSAGE_CAPTION_OTHER_COMPANY :{YELLOW}{STRING} 회사가 보낸 메시지 # Generic construction errors STR_ERROR_OFF_EDGE_OF_MAP :{WHITE}지도 가장자리에서 너무 멉니다! @@ -4055,7 +4131,7 @@ STR_ERROR_GENERIC_OBJECT_IN_THE_WAY :{WHITE}중간 STR_ERROR_NOT_ALLOWED_WHILE_PAUSED :{WHITE}일시 정지 중에는 할 수 없습니다 # Local authority errors -STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS :{WHITE}{TOWN}에 대한 회사의 낮은 성취도로 인해 지역 당국이 이 행위를 거절했습니다! +STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS :{WHITE}{TOWN} 지역 당국이 이 행동을 거부했습니다. STR_ERROR_LOCAL_AUTHORITY_REFUSES_AIRPORT :{WHITE}{TOWN} 지역 당국이 이 도시에 다른 공항이 들어서는 것을 거부하였습니다! STR_ERROR_LOCAL_AUTHORITY_REFUSES_NOISE :{WHITE}{TOWN} 지역 당국이 소음 문제로 인해 공항 건설을 거부하였습니다 STR_ERROR_BRIBE_FAILED :{WHITE}당신의 뇌물 수수 행위가 지역 당국에 의해 발각되었습니다! @@ -4068,6 +4144,7 @@ STR_ERROR_EXCAVATION_WOULD_DAMAGE :{WHITE}터널 STR_ERROR_ALREADY_AT_SEA_LEVEL :{WHITE}이미 해수면에 도달했습니다 STR_ERROR_TOO_HIGH :{WHITE}너무 높습니다! STR_ERROR_ALREADY_LEVELLED :{WHITE}... 이미 평평합니다. +STR_ERROR_BRIDGE_TOO_HIGH_AFTER_LOWER_LAND :{WHITE}다리가 끝나는 부분의 높이가 너무 높습니다. # Company related errors STR_ERROR_CAN_T_CHANGE_COMPANY_NAME :{WHITE}회사 이름을 바꿀 수 없습니다... @@ -4094,7 +4171,7 @@ STR_ERROR_TOO_CLOSE_TO_EDGE_OF_MAP_SUB :{WHITE}... 지 STR_ERROR_TOO_CLOSE_TO_ANOTHER_TOWN :{WHITE}... 다른 도시와 너무 가깝습니다! STR_ERROR_TOO_MANY_TOWNS :{WHITE}... 도시가 너무 많습니다! STR_ERROR_NO_SPACE_FOR_TOWN :{WHITE}... 지도에 더이상 공간이 없습니다! -STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}도시가 도로를 짓지 않을 것입니다. [고급설정->경제->도시]에서 도로를 지을 수 있도록 설정을 변경하실 수 있습니다. +STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}도시가 도로를 짓지 않을 것입니다. [설정→환경→도시]에서 도로를 지을 수 있도록 설정을 변경하실 수 있습니다. STR_ERROR_ROAD_WORKS_IN_PROGRESS :{WHITE}도로 작업이 진행중입니다 STR_ERROR_TOWN_CAN_T_DELETE :{WHITE}이 도시를 삭제할 수 없습니다...{}도시나 도시 소유의 땅에 역, 정류장, 항구, 공항 또는 차량기지, 차고지, 정박소 등이 존재하면 도시를 삭제할 수 없습니다. STR_ERROR_STATUE_NO_SUITABLE_PLACE :{WHITE}... 이 도시의 중심에 동상을 세우기 적합한 장소가 없습니다. @@ -4118,6 +4195,9 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... 숲 STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... 만년설 고도 위에만 지을 수 있습니다 STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... 만년설 고도 아래에만 지을 수 있습니다 +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}적당한 장소가 없어 '{STRING}'{G 0 "이" "가"} 지어지지 않았습니다. +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}더 나은 지도가 생성되도록 설정 값을 변경해보십시오. + # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}여기에 역을 건설할 수 없습니다... STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}버스 정류장을 지을 수 없습니다... @@ -4254,6 +4334,7 @@ STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}다리 STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}같은 위치에서 시작하고 끝낼 수 없습니다 STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}다리는 같은 높이를 연결해야 합니다 STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}그 지형은 다리를 건설하기에 너무 낮습니다 +STR_ERROR_BRIDGE_TOO_HIGH_FOR_TERRAIN :{WHITE}이 지형에 다리를 설치하기에는 고도가 너무 높습니다. STR_ERROR_START_AND_END_MUST_BE_IN :{WHITE}시작과 끝은 한 줄 위에 있어야 합니다 STR_ERROR_ENDS_OF_BRIDGE_MUST_BOTH :{WHITE}... 다리의 양 끝은 모두 땅이어야합니다. STR_ERROR_BRIDGE_TOO_LONG :{WHITE}... 다리가 너무 깁니다! @@ -4314,7 +4395,7 @@ STR_ERROR_CAN_T_SEND_AIRCRAFT_TO_HANGAR :{WHITE}항공 STR_ERROR_CAN_T_BUY_TRAIN :{WHITE}열차를 구입할 수 없습니다... STR_ERROR_CAN_T_BUY_ROAD_VEHICLE :{WHITE}차량을 구입할 수 없습니다... STR_ERROR_CAN_T_BUY_SHIP :{WHITE}선박을 구입할 수 없습니다... -STR_ERROR_CAN_T_BUY_AIRCRAFT :{WHITE}항공기를 구입 할 수 없습니다... +STR_ERROR_CAN_T_BUY_AIRCRAFT :{WHITE}항공기를 구입할 수 없습니다... STR_ERROR_CAN_T_RENAME_TRAIN_TYPE :{WHITE}열차의 차량 이름을 다시 지정할 수 없습니다... STR_ERROR_CAN_T_RENAME_ROAD_VEHICLE_TYPE :{WHITE}차종명을 다시 지정할 수 없습니다... @@ -4818,6 +4899,7 @@ STR_COMPANY_NAME :{COMPANY} STR_COMPANY_NAME_COMPANY_NUM :{COMPANY} {COMPANY_NUM} STR_DEPOT_NAME :{DEPOT} STR_ENGINE_NAME :{ENGINE} +STR_HIDDEN_ENGINE_NAME :{ENGINE} (숨김) STR_GROUP_NAME :{GROUP} STR_INDUSTRY_NAME :{INDUSTRY} STR_PRESIDENT_NAME :{PRESIDENT_NAME} @@ -4853,8 +4935,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -4865,9 +4945,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/latin.txt b/src/lang/latin.txt new file mode 100644 index 0000000000..99d88237f5 --- /dev/null +++ b/src/lang/latin.txt @@ -0,0 +1,5289 @@ +##name Latin +##ownname Latina +##isocode la_VA +##plural 0 +##textdir ltr +##digitsep {NBSP} +##digitsepcur {NBSP} +##decimalsep . +##winlangid 0x0476 +##grflangid 0x66 +##gender m f n mp fp np +##case gen acc abl dat + + +# $Id$ + +# 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. +# OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see . + + +##id 0x0000 +STR_NULL : +STR_EMPTY : +STR_UNDEFINED :(series irrita) +STR_JUST_NOTHING :Nihil + +# Cargo related strings +# Plural cargo name +STR_CARGO_PLURAL_NOTHING : +STR_CARGO_PLURAL_PASSENGERS :{G=mp}Vectores +STR_CARGO_PLURAL_PASSENGERS.gen :{G=mp}vectorum +STR_CARGO_PLURAL_PASSENGERS.acc :{G=mp}Vectores +STR_CARGO_PLURAL_PASSENGERS.dat :{G=mp}Vectoribus +STR_CARGO_PLURAL_COAL :{G=m}Carbo +STR_CARGO_PLURAL_COAL.gen :{G=m}carbonis +STR_CARGO_PLURAL_COAL.acc :{G=m}Carbonem +STR_CARGO_PLURAL_COAL.dat :{G=m}Carboni +STR_CARGO_PLURAL_MAIL :{G=fp}Epistulae +STR_CARGO_PLURAL_MAIL.gen :{G=fp}epistularum +STR_CARGO_PLURAL_MAIL.acc :{G=fp}Epistulas +STR_CARGO_PLURAL_MAIL.dat :{G=fp}Epistulis +STR_CARGO_PLURAL_OIL :{G=n}Petroleum +STR_CARGO_PLURAL_OIL.gen :{G=n}petrolei +STR_CARGO_PLURAL_OIL.acc :{G=n}Petroleum +STR_CARGO_PLURAL_OIL.dat :{G=n}Petroleo +STR_CARGO_PLURAL_LIVESTOCK :{G=np}Pecora +STR_CARGO_PLURAL_LIVESTOCK.gen :{G=np}pecorum +STR_CARGO_PLURAL_LIVESTOCK.acc :{G=np}Pecora +STR_CARGO_PLURAL_LIVESTOCK.dat :{G=np}Pecoribus +STR_CARGO_PLURAL_GOODS :{G=fp}Merces +STR_CARGO_PLURAL_GOODS.gen :{G=fp}mercium +STR_CARGO_PLURAL_GOODS.acc :{G=fp}Merces +STR_CARGO_PLURAL_GOODS.dat :{G=fp}Mercibus +STR_CARGO_PLURAL_GRAIN :{G=n}Frumentum +STR_CARGO_PLURAL_GRAIN.gen :{G=n}frumenti +STR_CARGO_PLURAL_GRAIN.acc :{G=n}Frumentum +STR_CARGO_PLURAL_GRAIN.dat :{G=n}Frumento +STR_CARGO_PLURAL_WOOD :{G=n}Lignum +STR_CARGO_PLURAL_WOOD.gen :{G=n}ligni +STR_CARGO_PLURAL_WOOD.acc :{G=n}Lignum +STR_CARGO_PLURAL_WOOD.dat :{G=n}Ligno +STR_CARGO_PLURAL_IRON_ORE :{G=n}Ferrum +STR_CARGO_PLURAL_IRON_ORE.gen :{G=n}ferri +STR_CARGO_PLURAL_IRON_ORE.acc :{G=n}Ferrum +STR_CARGO_PLURAL_IRON_ORE.dat :{G=n}Ferro +STR_CARGO_PLURAL_STEEL :{G=m}Chalybs +STR_CARGO_PLURAL_STEEL.gen :{G=m}chalybis +STR_CARGO_PLURAL_STEEL.acc :{G=m}Chalybem +STR_CARGO_PLURAL_STEEL.dat :{G=m}Chalybi +STR_CARGO_PLURAL_VALUABLES :{G=fp}Res Pretiosa +STR_CARGO_PLURAL_VALUABLES.gen :{G=fp}rerum pretiosarum +STR_CARGO_PLURAL_VALUABLES.acc :{G=fp}Res Pretiosas +STR_CARGO_PLURAL_VALUABLES.dat :{G=fp}Rebus Pretiosis +STR_CARGO_PLURAL_COPPER_ORE :{G=n}Aes +STR_CARGO_PLURAL_COPPER_ORE.gen :{G=n}aeris +STR_CARGO_PLURAL_COPPER_ORE.acc :{G=n}Aes +STR_CARGO_PLURAL_COPPER_ORE.dat :{G=n}Aeri +STR_CARGO_PLURAL_MAIZE :{G=n}Maizium +STR_CARGO_PLURAL_MAIZE.gen :{G=n}maizii +STR_CARGO_PLURAL_MAIZE.acc :{G=n}Maizium +STR_CARGO_PLURAL_MAIZE.dat :{G=n}Maizio +STR_CARGO_PLURAL_FRUIT :{G=mp}Fructus +STR_CARGO_PLURAL_FRUIT.gen :{G=mp}fructuum +STR_CARGO_PLURAL_FRUIT.acc :{G=mp}Fructus +STR_CARGO_PLURAL_FRUIT.dat :{G=mp}Fructibus +STR_CARGO_PLURAL_DIAMONDS :{G=mp}Adamantes +STR_CARGO_PLURAL_DIAMONDS.gen :{G=mp}adamantum +STR_CARGO_PLURAL_DIAMONDS.acc :{G=mp}Adamantes +STR_CARGO_PLURAL_DIAMONDS.dat :{G=mp}Adamantibus +STR_CARGO_PLURAL_FOOD :{G=m}Cibus +STR_CARGO_PLURAL_FOOD.gen :{G=m}cibi +STR_CARGO_PLURAL_FOOD.acc :{G=m}Cibum +STR_CARGO_PLURAL_FOOD.dat :{G=m}Cibo +STR_CARGO_PLURAL_PAPER :{G=f}Charta +STR_CARGO_PLURAL_PAPER.gen :{G=f}chartae +STR_CARGO_PLURAL_PAPER.acc :{G=f}Chartam +STR_CARGO_PLURAL_PAPER.dat :{G=f}Chartae +STR_CARGO_PLURAL_GOLD :{G=n}Aurum +STR_CARGO_PLURAL_GOLD.gen :{G=n}auri +STR_CARGO_PLURAL_GOLD.acc :{G=n}Aurum +STR_CARGO_PLURAL_GOLD.dat :{G=n}Auro +STR_CARGO_PLURAL_WATER :{G=f}Aqua +STR_CARGO_PLURAL_WATER.gen :{G=f}aquae +STR_CARGO_PLURAL_WATER.acc :{G=f}Aquam +STR_CARGO_PLURAL_WATER.dat :{G=f}Aquae +STR_CARGO_PLURAL_WHEAT :{G=n}Triticum +STR_CARGO_PLURAL_WHEAT.gen :{G=n}tritici +STR_CARGO_PLURAL_WHEAT.acc :{G=n}Triticum +STR_CARGO_PLURAL_WHEAT.dat :{G=n}Tritico +STR_CARGO_PLURAL_RUBBER :{G=f}Gummis +STR_CARGO_PLURAL_RUBBER.gen :{G=f}gummis +STR_CARGO_PLURAL_RUBBER.acc :{G=f}Gummem +STR_CARGO_PLURAL_RUBBER.dat :{G=f}Gummi +STR_CARGO_PLURAL_SUGAR :{G=n}Saccharum +STR_CARGO_PLURAL_SUGAR.gen :{G=n}sacchari +STR_CARGO_PLURAL_SUGAR.acc :{G=n}Saccharum +STR_CARGO_PLURAL_SUGAR.dat :{G=n}Saccharo +STR_CARGO_PLURAL_TOYS :{G=np}Ludicra +STR_CARGO_PLURAL_TOYS.gen :{G=np}ludicrorum +STR_CARGO_PLURAL_TOYS.acc :{G=np}Ludicra +STR_CARGO_PLURAL_TOYS.dat :{G=np}Ludicris +STR_CARGO_PLURAL_CANDY :{G=np}Bellaria +STR_CARGO_PLURAL_CANDY.gen :{G=np}bellariorum +STR_CARGO_PLURAL_CANDY.acc :{G=np}Bellaria +STR_CARGO_PLURAL_CANDY.dat :{G=np}Bellariis +STR_CARGO_PLURAL_COLA :{G=f}Cola +STR_CARGO_PLURAL_COLA.gen :{G=f}colae +STR_CARGO_PLURAL_COLA.acc :{G=f}Colam +STR_CARGO_PLURAL_COLA.dat :{G=f}Colae +STR_CARGO_PLURAL_COTTON_CANDY :{G=n}Sacchari Xylinum +STR_CARGO_PLURAL_COTTON_CANDY.gen :{G=n}sacchari xylini +STR_CARGO_PLURAL_COTTON_CANDY.acc :{G=n}Sacchari Xylinum +STR_CARGO_PLURAL_COTTON_CANDY.dat :{G=n}Sacchari Xylino +STR_CARGO_PLURAL_BUBBLES :{G=fp}Bullae +STR_CARGO_PLURAL_BUBBLES.gen :{G=fp}bullarum +STR_CARGO_PLURAL_BUBBLES.acc :{G=fp}Bullas +STR_CARGO_PLURAL_BUBBLES.dat :{G=fp}Bullis +STR_CARGO_PLURAL_TOFFEE :{G=n}Saccharum Tostum +STR_CARGO_PLURAL_TOFFEE.gen :{G=n}sacchari tosti +STR_CARGO_PLURAL_TOFFEE.acc :{G=n}Saccharum Tostum +STR_CARGO_PLURAL_TOFFEE.dat :{G=n}Saccharo Tosto +STR_CARGO_PLURAL_BATTERIES :{G=fp}Pilae Electricae +STR_CARGO_PLURAL_BATTERIES.gen :{G=fp}pilarum electricarum +STR_CARGO_PLURAL_BATTERIES.acc :{G=fp}Pilas Electricas +STR_CARGO_PLURAL_BATTERIES.dat :{G=fp}Pilis Electricis +STR_CARGO_PLURAL_PLASTIC :{G=f}Plastica +STR_CARGO_PLURAL_PLASTIC.gen :{G=f}plasticae +STR_CARGO_PLURAL_PLASTIC.acc :{G=f}Plasticam +STR_CARGO_PLURAL_PLASTIC.dat :{G=f}Plasticae +STR_CARGO_PLURAL_FIZZY_DRINKS :{G=fp}Potiones Carbonatae +STR_CARGO_PLURAL_FIZZY_DRINKS.gen :{G=fp}potionum carbonatarum +STR_CARGO_PLURAL_FIZZY_DRINKS.acc :{G=fp}Potiones Carbonatas +STR_CARGO_PLURAL_FIZZY_DRINKS.dat :{G=fp}Potionibus Carbonatis + +# Singular cargo name +STR_CARGO_SINGULAR_NOTHING : +STR_CARGO_SINGULAR_PASSENGER :{G=mp}Vectores +STR_CARGO_SINGULAR_PASSENGER.gen :{G=mp}vectorum +STR_CARGO_SINGULAR_PASSENGER.acc :{G=mp}Vectores +STR_CARGO_SINGULAR_PASSENGER.dat :{G=mp}Vectoribus +STR_CARGO_SINGULAR_COAL :{G=m}Carbo +STR_CARGO_SINGULAR_COAL.gen :{G=m}carbonis +STR_CARGO_SINGULAR_COAL.acc :{G=m}Carbonem +STR_CARGO_SINGULAR_COAL.dat :{G=m}Carboni +STR_CARGO_SINGULAR_MAIL :{G=fp}Epistulae +STR_CARGO_SINGULAR_MAIL.gen :{G=fp}epistularum +STR_CARGO_SINGULAR_MAIL.acc :{G=fp}Epistulas +STR_CARGO_SINGULAR_MAIL.dat :{G=fp}Epistulis +STR_CARGO_SINGULAR_OIL :{G=n}Petroleum +STR_CARGO_SINGULAR_OIL.gen :{G=n}petrolei +STR_CARGO_SINGULAR_OIL.acc :{G=n}Petroleum +STR_CARGO_SINGULAR_OIL.dat :{G=n}Petroleo +STR_CARGO_SINGULAR_LIVESTOCK :{G=np}Pecora +STR_CARGO_SINGULAR_LIVESTOCK.gen :{G=np}pecorum +STR_CARGO_SINGULAR_LIVESTOCK.acc :{G=np}Pecora +STR_CARGO_SINGULAR_LIVESTOCK.dat :{G=np}Pecoribus +STR_CARGO_SINGULAR_GOODS :{G=fp}Merces +STR_CARGO_SINGULAR_GOODS.gen :{G=fp}mercium +STR_CARGO_SINGULAR_GOODS.acc :{G=fp}Merces +STR_CARGO_SINGULAR_GOODS.dat :{G=fp}Mercibus +STR_CARGO_SINGULAR_GRAIN :{G=n}Frumentum +STR_CARGO_SINGULAR_GRAIN.gen :{G=n}frumenti +STR_CARGO_SINGULAR_GRAIN.acc :{G=n}Frumentum +STR_CARGO_SINGULAR_GRAIN.dat :{G=n}Frumento +STR_CARGO_SINGULAR_WOOD :{G=n}Lignum +STR_CARGO_SINGULAR_WOOD.gen :{G=n}ligni +STR_CARGO_SINGULAR_WOOD.acc :{G=n}Lignum +STR_CARGO_SINGULAR_WOOD.dat :{G=n}Ligno +STR_CARGO_SINGULAR_IRON_ORE :{G=n}Ferrum +STR_CARGO_SINGULAR_IRON_ORE.gen :{G=n}ferri +STR_CARGO_SINGULAR_IRON_ORE.acc :{G=n}Ferrum +STR_CARGO_SINGULAR_IRON_ORE.dat :{G=n}Ferro +STR_CARGO_SINGULAR_STEEL :{G=m}Chalybs +STR_CARGO_SINGULAR_STEEL.gen :{G=m}chalybis +STR_CARGO_SINGULAR_STEEL.acc :{G=m}Chalybem +STR_CARGO_SINGULAR_STEEL.dat :{G=m}Chalybi +STR_CARGO_SINGULAR_VALUABLES :{G=fp}Res Pretiosa +STR_CARGO_SINGULAR_VALUABLES.gen :{G=fp}rerum pretiosarum +STR_CARGO_SINGULAR_VALUABLES.acc :{G=fp}Res Pretiosas +STR_CARGO_SINGULAR_VALUABLES.dat :{G=fp}Rebus Pretiosis +STR_CARGO_SINGULAR_COPPER_ORE :{G=n}Aes +STR_CARGO_SINGULAR_COPPER_ORE.gen :{G=n}aeris +STR_CARGO_SINGULAR_COPPER_ORE.acc :{G=n}Aes +STR_CARGO_SINGULAR_COPPER_ORE.dat :{G=n}Aeri +STR_CARGO_SINGULAR_MAIZE :{G=n}Maizium +STR_CARGO_SINGULAR_MAIZE.gen :{G=n}maizii +STR_CARGO_SINGULAR_MAIZE.acc :{G=n}Maizium +STR_CARGO_SINGULAR_MAIZE.dat :{G=n}Maizio +STR_CARGO_SINGULAR_FRUIT :{G=mp}Fructus +STR_CARGO_SINGULAR_FRUIT.gen :{G=mp}fructuum +STR_CARGO_SINGULAR_FRUIT.acc :{G=mp}Fructus +STR_CARGO_SINGULAR_FRUIT.dat :{G=mp}Fructibus +STR_CARGO_SINGULAR_DIAMOND :{G=mp}Adamantes +STR_CARGO_SINGULAR_DIAMOND.gen :{G=mp}adamantum +STR_CARGO_SINGULAR_DIAMOND.acc :{G=mp}Adamantes +STR_CARGO_SINGULAR_DIAMOND.dat :{G=mp}Adamantibus +STR_CARGO_SINGULAR_FOOD :{G=m}Cibus +STR_CARGO_SINGULAR_FOOD.gen :{G=m}cibi +STR_CARGO_SINGULAR_FOOD.acc :{G=m}Cibum +STR_CARGO_SINGULAR_FOOD.dat :{G=m}Cibo +STR_CARGO_SINGULAR_PAPER :{G=f}Charta +STR_CARGO_SINGULAR_PAPER.gen :{G=f}chartae +STR_CARGO_SINGULAR_PAPER.acc :{G=f}Chartam +STR_CARGO_SINGULAR_PAPER.dat :{G=f}Chartae +STR_CARGO_SINGULAR_GOLD :{G=n}Aurum +STR_CARGO_SINGULAR_GOLD.gen :{G=n}auri +STR_CARGO_SINGULAR_GOLD.acc :{G=n}Aurum +STR_CARGO_SINGULAR_GOLD.dat :{G=n}Auro +STR_CARGO_SINGULAR_WATER :{G=f}Aqua +STR_CARGO_SINGULAR_WATER.gen :{G=f}aquae +STR_CARGO_SINGULAR_WATER.acc :{G=f}Aquam +STR_CARGO_SINGULAR_WATER.dat :{G=f}Aquae +STR_CARGO_SINGULAR_WHEAT :{G=n}Triticum +STR_CARGO_SINGULAR_WHEAT.gen :{G=n}tritici +STR_CARGO_SINGULAR_WHEAT.acc :{G=n}Triticum +STR_CARGO_SINGULAR_WHEAT.dat :{G=n}Tritico +STR_CARGO_SINGULAR_RUBBER :{G=f}Gummis +STR_CARGO_SINGULAR_RUBBER.gen :{G=f}gummis +STR_CARGO_SINGULAR_RUBBER.acc :{G=f}Gummem +STR_CARGO_SINGULAR_RUBBER.dat :{G=f}Gummi +STR_CARGO_SINGULAR_SUGAR :{G=n}Saccharum +STR_CARGO_SINGULAR_SUGAR.gen :{G=n}sacchari +STR_CARGO_SINGULAR_SUGAR.acc :{G=n}Saccharum +STR_CARGO_SINGULAR_SUGAR.dat :{G=n}Saccharo +STR_CARGO_SINGULAR_TOY :{G=np}Ludicra +STR_CARGO_SINGULAR_TOY.gen :{G=np}ludicrorum +STR_CARGO_SINGULAR_TOY.acc :{G=np}Ludicra +STR_CARGO_SINGULAR_TOY.dat :{G=np}Ludicris +STR_CARGO_SINGULAR_CANDY :{G=np}Bellaria +STR_CARGO_SINGULAR_CANDY.gen :{G=np}bellariorum +STR_CARGO_SINGULAR_CANDY.acc :{G=np}Bellaria +STR_CARGO_SINGULAR_CANDY.dat :{G=np}Bellariis +STR_CARGO_SINGULAR_COLA :{G=f}Cola +STR_CARGO_SINGULAR_COLA.gen :{G=f}colae +STR_CARGO_SINGULAR_COLA.acc :{G=f}Colam +STR_CARGO_SINGULAR_COLA.dat :{G=f}Colae +STR_CARGO_SINGULAR_COTTON_CANDY :{G=n}Sacchari Xylinum +STR_CARGO_SINGULAR_COTTON_CANDY.gen :{G=n}sacchari xylini +STR_CARGO_SINGULAR_COTTON_CANDY.acc :{G=n}Sacchari Xylinum +STR_CARGO_SINGULAR_COTTON_CANDY.dat :{G=n}Sacchari Xylino +STR_CARGO_SINGULAR_BUBBLE :{G=fp}Bullae +STR_CARGO_SINGULAR_BUBBLE.gen :{G=fp}bullarum +STR_CARGO_SINGULAR_BUBBLE.acc :{G=fp}Bullas +STR_CARGO_SINGULAR_BUBBLE.dat :{G=fp}Bullis +STR_CARGO_SINGULAR_TOFFEE :{G=n}Saccharum Tostum +STR_CARGO_SINGULAR_TOFFEE.gen :{G=n}sacchari tosti +STR_CARGO_SINGULAR_TOFFEE.acc :{G=n}Saccharum Tostum +STR_CARGO_SINGULAR_TOFFEE.dat :{G=n}Saccharo Tosto +STR_CARGO_SINGULAR_BATTERY :{G=fp}Pilae Electricae +STR_CARGO_SINGULAR_BATTERY.gen :{G=fp}pilarum electricarum +STR_CARGO_SINGULAR_BATTERY.acc :{G=fp}Pilas Electricas +STR_CARGO_SINGULAR_BATTERY.dat :{G=fp}Pilis Electricis +STR_CARGO_SINGULAR_PLASTIC :{G=f}Plastica +STR_CARGO_SINGULAR_PLASTIC.gen :{G=f}plasticae +STR_CARGO_SINGULAR_PLASTIC.acc :{G=f}Plasticam +STR_CARGO_SINGULAR_PLASTIC.dat :{G=f}Plasticae +STR_CARGO_SINGULAR_FIZZY_DRINK :{G=fp}Potiones Carbonatae +STR_CARGO_SINGULAR_FIZZY_DRINK.gen :{G=fp}potionum carbonatarum +STR_CARGO_SINGULAR_FIZZY_DRINK.acc :{G=fp}Potiones Carbonatas +STR_CARGO_SINGULAR_FIZZY_DRINK.dat :{G=fp}Potionibus Carbonatis + +# Quantity of cargo +STR_QUANTITY_NOTHING : +STR_QUANTITY_PASSENGERS :{G=mp}{COMMA}{NBSP}vector{P "" es} +STR_QUANTITY_COAL :{WEIGHT_LONG} carbonis +STR_QUANTITY_MAIL :{G=mp}{COMMA}{NBSP}sacc{P us i} epistularum +STR_QUANTITY_OIL :{VOLUME_LONG} petrolei +STR_QUANTITY_LIVESTOCK :{G=np}{COMMA}{NBSP}pec{P us ora} +STR_QUANTITY_GOODS :{G=fp}{COMMA}{NBSP}capsa{P "" e} mercium +STR_QUANTITY_GRAIN :{WEIGHT_LONG} frumenti +STR_QUANTITY_WOOD :{WEIGHT_LONG} ligni +STR_QUANTITY_IRON_ORE :{WEIGHT_LONG} ferri +STR_QUANTITY_STEEL :{WEIGHT_LONG} chalybis +STR_QUANTITY_VALUABLES :{G=mp}{COMMA}{NBSP}sacc{P us i} rerum pretiosarum +STR_QUANTITY_COPPER_ORE :{WEIGHT_LONG} aeris +STR_QUANTITY_MAIZE :{WEIGHT_LONG} maizii +STR_QUANTITY_FRUIT :{WEIGHT_LONG} fructuum +STR_QUANTITY_DIAMONDS :{G=mp}{COMMA}{NBSP}sacc{P us i} adamantum +STR_QUANTITY_FOOD :{WEIGHT_LONG} cibi +STR_QUANTITY_PAPER :{WEIGHT_LONG} chartae +STR_QUANTITY_GOLD :{G=mp}{COMMA}{NBSP}sacc{P us i} auri +STR_QUANTITY_WATER :{VOLUME_LONG} aquae +STR_QUANTITY_WHEAT :{WEIGHT_LONG} tritici +STR_QUANTITY_RUBBER :{VOLUME_LONG} gummis +STR_QUANTITY_SUGAR :{WEIGHT_LONG} sacchari +STR_QUANTITY_TOYS :{G=np}{COMMA}{NBSP}ludicr{P um a} +STR_QUANTITY_SWEETS :{G=mp}{COMMA}{NBSP}sacc{P us i} bellarii +STR_QUANTITY_COLA :{VOLUME_LONG} colae +STR_QUANTITY_CANDYFLOSS :{WEIGHT_LONG} sacchari xylini +STR_QUANTITY_BUBBLES :{G=fp}{COMMA}{NBSP}bulla{P "" e} +STR_QUANTITY_TOFFEE :{WEIGHT_LONG} sacchari tosti +STR_QUANTITY_BATTERIES :{G=fp}{COMMA}{NBSP}pila{P "" e} electrica{P "" e} +STR_QUANTITY_PLASTIC :{VOLUME_LONG} plasticae +STR_QUANTITY_FIZZY_DRINKS :{G=fp}{COMMA}{NBSP}potio{P "" nes} carbonata{P "" e} +STR_QUANTITY_N_A :N/A + +# Two letter abbreviation of cargo name +STR_ABBREV_NOTHING : +STR_ABBREV_PASSENGERS :{TINY_FONT}VC +STR_ABBREV_COAL :{TINY_FONT}CA +STR_ABBREV_MAIL :{TINY_FONT}EP +STR_ABBREV_OIL :{TINY_FONT}OL +STR_ABBREV_LIVESTOCK :{TINY_FONT}PC +STR_ABBREV_GOODS :{TINY_FONT}ME +STR_ABBREV_GRAIN :{TINY_FONT}FR +STR_ABBREV_WOOD :{TINY_FONT}LI +STR_ABBREV_IRON_ORE :{TINY_FONT}FE +STR_ABBREV_STEEL :{TINY_FONT}CH +STR_ABBREV_VALUABLES :{TINY_FONT}RP +STR_ABBREV_COPPER_ORE :{TINY_FONT}AE +STR_ABBREV_MAIZE :{TINY_FONT}MZ +STR_ABBREV_FRUIT :{TINY_FONT}FT +STR_ABBREV_DIAMONDS :{TINY_FONT}AD +STR_ABBREV_FOOD :{TINY_FONT}AL +STR_ABBREV_PAPER :{TINY_FONT}CA +STR_ABBREV_GOLD :{TINY_FONT}AU +STR_ABBREV_WATER :{TINY_FONT}AQ +STR_ABBREV_WHEAT :{TINY_FONT}TR +STR_ABBREV_RUBBER :{TINY_FONT}GU +STR_ABBREV_SUGAR :{TINY_FONT}SC +STR_ABBREV_TOYS :{TINY_FONT}LD +STR_ABBREV_SWEETS :{TINY_FONT}BL +STR_ABBREV_COLA :{TINY_FONT}CL +STR_ABBREV_CANDYFLOSS :{TINY_FONT}SX +STR_ABBREV_BUBBLES :{TINY_FONT}BU +STR_ABBREV_TOFFEE :{TINY_FONT}ST +STR_ABBREV_BATTERIES :{TINY_FONT}PE +STR_ABBREV_PLASTIC :{TINY_FONT}PL +STR_ABBREV_FIZZY_DRINKS :{TINY_FONT}PC +STR_ABBREV_NONE :{TINY_FONT}NO +STR_ABBREV_ALL :{TINY_FONT}OMN + +# 'Mode' of transport for cargoes +STR_PASSENGERS :{G=mp}{COMMA}{NBSP}vector{P "" es} +STR_BAGS :{G=mp}{COMMA}{NBSP}sacc{P us i} +STR_TONS :{G=fp}{COMMA}{NBSP}tonna{P "" e} +STR_LITERS :{G=np}{COMMA}{NBSP}litr{P um a} +STR_ITEMS :{G=fp}{COMMA}{NBSP}res +STR_CRATES :{G=fp}{COMMA}{NBSP}caps{P "" e} + +# Colours, do not shuffle +STR_COLOUR_DARK_BLUE :Caeruleus Berolinensis +STR_COLOUR_PALE_GREEN :Viridis Pallidus +STR_COLOUR_PINK :Roseus +STR_COLOUR_YELLOW :Gilvus +STR_COLOUR_RED :Ruber +STR_COLOUR_LIGHT_BLUE :Caeruleus Candidus +STR_COLOUR_GREEN :Viridis +STR_COLOUR_DARK_GREEN :Viridis Obscurus +STR_COLOUR_BLUE :Caeruleus +STR_COLOUR_CREAM :Ravus +STR_COLOUR_MAUVE :Malva +STR_COLOUR_PURPLE :Purpureus +STR_COLOUR_ORANGE :Fulvus +STR_COLOUR_BROWN :Aquilus +STR_COLOUR_GREY :Canus +STR_COLOUR_WHITE :Albus + +# Units used in OpenTTD +STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}mph +STR_UNITS_VELOCITY_METRIC :{COMMA}{NBSP}km/h +STR_UNITS_VELOCITY_SI :{COMMA}{NBSP}m/s + +STR_UNITS_POWER_IMPERIAL :{COMMA}{NBSP}hp +STR_UNITS_POWER_METRIC :{COMMA}{NBSP}hp +STR_UNITS_POWER_SI :{COMMA}{NBSP}kW + +STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_SI :{COMMA}{NBSP}kg + +STR_UNITS_WEIGHT_LONG_IMPERIAL :{G=fp}{COMMA}{NBSP}tona{P "" e} +STR_UNITS_WEIGHT_LONG_METRIC :{G=fp}{COMMA}{NBSP}tonna{P "" e} +STR_UNITS_WEIGHT_LONG_SI :{G=np}{COMMA}{NBSP}chiliogramma{P "" ta} + +STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}{NBSP}gal +STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}{NBSP}l +STR_UNITS_VOLUME_SHORT_SI :{COMMA}{NBSP}m³ + +STR_UNITS_VOLUME_LONG_IMPERIAL :{G=mp}{COMMA}{NBSP}congi{P us i} +STR_UNITS_VOLUME_LONG_METRIC :{G=np}{COMMA}{NBSP}litr{P um a} +STR_UNITS_VOLUME_LONG_SI :{G=np}{COMMA}{NBSP}m³ + +STR_UNITS_FORCE_IMPERIAL :{COMMA}{NBSP}lbf +STR_UNITS_FORCE_METRIC :{COMMA}{NBSP}kgf +STR_UNITS_FORCE_SI :{COMMA}{NBSP}kN + +STR_UNITS_HEIGHT_IMPERIAL :{COMMA}{NBSP}pedes +STR_UNITS_HEIGHT_METRIC :{COMMA}{NBSP}m +STR_UNITS_HEIGHT_SI :{COMMA}{NBSP}m + +# Common window strings +STR_LIST_FILTER_TITLE :{BLACK}Series colans: +STR_LIST_FILTER_OSKTITLE :{BLACK}Inscribe seriem colantem +STR_LIST_FILTER_TOOLTIP :{BLACK}Inscribe verbum ad indicem colandam + +STR_TOOLTIP_GROUP_ORDER :{BLACK}Eligere ordinem gregum +STR_TOOLTIP_SORT_ORDER :{BLACK}Eligere ordinem separandi (descendens/ascendens) +STR_TOOLTIP_SORT_CRITERIA :{BLACK}Eligere criteria separandi +STR_TOOLTIP_FILTER_CRITERIA :{BLACK}Eligere criteria colandi +STR_BUTTON_SORT_BY :{BLACK}Ordinare +STR_BUTTON_LOCATION :{BLACK}Locus +STR_BUTTON_RENAME :{BLACK}Renominare + +STR_TOOLTIP_CLOSE_WINDOW :{BLACK}Claudere fenestram +STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS :{BLACK}Titulus fenestrae - hunc trahe ut fenestra moveatur +STR_TOOLTIP_SHADE :{BLACK}Subvolvere fenestram - titulum modo monstrare +STR_TOOLTIP_DEBUG :{BLACK}Monstrare indicia NewGRF emendandi +STR_TOOLTIP_DEFSIZE :{BLACK}Refingere fenestram ad magnitudinem solitam. Ctrl+Preme ut magnitudo praesens solito servetur +STR_TOOLTIP_STICKY :{BLACK}Signare hanc fenestram 'glutinosam' esse; non clausum iri clave 'Omnes Fenestras Claudere' pressa. Ctrl+Preme ut modus praesens solito servetur +STR_TOOLTIP_RESIZE :{BLACK}Preme traheque ut fenestra refingatur +STR_TOOLTIP_TOGGLE_LARGE_SMALL_WINDOW :{BLACK}Intermutare magnitudinem fenestrae magnae parvaeve +STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Ansa vagationis - indicem sursum deorsumve movet +STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Ansa vagationis - indicem ad sinistram dextramve movet +STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Destruere aedificia etc. quae in terrae quadro sunt. Ctrl diagonaliter eligit. Shift mutat inter detructionem et aestimationem monstrandam + +# Show engines button +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}Monstrare celata +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK}Monstrare celata +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}Monstrare celatas +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}Monstrare celata + +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}Electa, vehicula ferriviaria celata etiam monstrantur +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE_TOOLTIP :{BLACK}Electa, vehicula viaria celata etiam monstrantur +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}Electa, naves celatae etiam monstrantur +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Electa, aeroplana celata etiam monstrantur + +# Query window +STR_BUTTON_DEFAULT :{BLACK}Solitum +STR_BUTTON_CANCEL :{BLACK}Cancellare +STR_BUTTON_OK :{BLACK}Confirmare + +# On screen keyboard window +STR_OSK_KEYBOARD_LAYOUT :`1234567890-=\qwertyuiop[]asdfghjkl;' zxcvbnm,./ . +STR_OSK_KEYBOARD_LAYOUT_CAPS :~!@#$%^&*()_+|QWERTYUIOP{{}}ASDFGHJKL:" ZXCVBNM<>? . + +# Measurement tooltip +STR_MEASURE_LENGTH :{BLACK}Spatium: {NUM} +STR_MEASURE_AREA :{BLACK}Area: {NUM} x {NUM} +STR_MEASURE_LENGTH_HEIGHTDIFF :{BLACK}Spatium: {NUM}{}Differentia altitudinis: {HEIGHT} +STR_MEASURE_AREA_HEIGHTDIFF :{BLACK}Area: {NUM} x {NUM}{}Differentia altitudinis: {HEIGHT} + + +# These are used in buttons +STR_SORT_BY_CAPTION_NAME :{BLACK}Nomen +STR_SORT_BY_CAPTION_DATE :{BLACK}Dies +# These are used in dropdowns +STR_SORT_BY_NAME :Nomine +STR_SORT_BY_PRODUCTION :Productione +STR_SORT_BY_TYPE :Typo +STR_SORT_BY_TRANSPORTED :Quantitate Translata +STR_SORT_BY_NUMBER :Numero +STR_SORT_BY_PROFIT_LAST_YEAR :Lucro prioris anni +STR_SORT_BY_PROFIT_THIS_YEAR :Lucro huius anni +STR_SORT_BY_AGE :Aetate +STR_SORT_BY_RELIABILITY :Constantia +STR_SORT_BY_TOTAL_CAPACITY_PER_CARGOTYPE :Summa capacitatis per genera onerum +STR_SORT_BY_MAX_SPEED :Velocitate maxima +STR_SORT_BY_MODEL :Typo +STR_SORT_BY_VALUE :Aestimatione +STR_SORT_BY_LENGTH :Longitudine +STR_SORT_BY_LIFE_TIME :Aetate reliqua +STR_SORT_BY_TIMETABLE_DELAY :Mora horarii +STR_SORT_BY_FACILITY :Typo stationis +STR_SORT_BY_WAITING_TOTAL :Summa onerum manentium +STR_SORT_BY_WAITING_AVAILABLE :Onere manente parabile +STR_SORT_BY_RATING_MAX :Censione oneris maxima +STR_SORT_BY_RATING_MIN :Censione oneris minima +STR_SORT_BY_ENGINE_ID :Agnoscamento vehiculi (separatio antiqua) +STR_SORT_BY_COST :Pretio +STR_SORT_BY_POWER :Potestate +STR_SORT_BY_TRACTIVE_EFFORT :Vi tractionis +STR_SORT_BY_INTRO_DATE :Die introductionis +STR_SORT_BY_RUNNING_COST :Pretio operandi +STR_SORT_BY_POWER_VS_RUNNING_COST :Potestate pretio operandi divisa +STR_SORT_BY_CARGO_CAPACITY :Capacitate oneris +STR_SORT_BY_RANGE :Distantia volatus maxima +STR_SORT_BY_POPULATION :Numero Incolarum +STR_SORT_BY_RATING :Censione + +# Tooltips for the main toolbar +STR_TOOLBAR_TOOLTIP_PAUSE_GAME :{BLACK}Ludum intermittere +STR_TOOLBAR_TOOLTIP_FORWARD :{BLACK}Ludum adcelerare +STR_TOOLBAR_TOOLTIP_OPTIONS :{BLACK}Optiones +STR_TOOLBAR_TOOLTIP_SAVE_GAME_ABANDON_GAME :{BLACK}Servare ludum, relinquere ludum, exire +STR_TOOLBAR_TOOLTIP_DISPLAY_MAP :{BLACK}Monstrare tabulam geographicam, fenestram conspectus additiciam, sive indicem signorum +STR_TOOLBAR_TOOLTIP_DISPLAY_TOWN_DIRECTORY :{BLACK}Monstrare indicem oppidorum +STR_TOOLBAR_TOOLTIP_DISPLAY_SUBSIDIES :{BLACK}Monstrare subsidia +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_STATIONS :{BLACK}Monstrare indicem stationum societatis +STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_FINANCES :{BLACK}Monstrare res fiscales societatis +STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_GENERAL :{BLACK}Monstrare facta generalia societatis +STR_TOOLBAR_TOOLTIP_DISPLAY_STORY_BOOK :{BLACK}Monstrare librum fabularum +STR_TOOLBAR_TOOLTIP_DISPLAY_GOALS_LIST :{BLACK}Monstrare indicem metarum +STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}Monstrare formulas graphicas +STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_LEAGUE :{BLACK}Monstrare album foederis societatum +STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}Industriam novam condere vel monstrare indicem industriarum +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}Monstrare indicem traminum societatis. Ctrl+Preme ut mutetur ad indicem sine gregibus +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_ROAD_VEHICLES :{BLACK}Monstrare indicem vehiculorum viariorum societatis. Ctrl+Preme ut mutetur ad indicem sine gregibus +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :{BLACK}Monstrare indicem navium societatis. Ctrl+Preme ut mutetur ad indicem sine gregibus +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_AIRCRAFT :{BLACK}Monstrare indicem aeroplanorum societatis. Ctrl+Preme ut mutetur ad indicem sine gregibus +STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_IN :{BLACK}Amplificare conspectum +STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_OUT :{BLACK}Retrahere conspectum +STR_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Struere ferrivias +STR_TOOLBAR_TOOLTIP_BUILD_ROADS :{BLACK}Struere vias +STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}Struere navalia +STR_TOOLBAR_TOOLTIP_BUILD_AIRPORTS :{BLACK}Struere aeroportus +STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}Monstrare terrae arcam ferramentorum qua potes terram augere/minuere, arbores serere, etc. +STR_TOOLBAR_TOOLTIP_SHOW_SOUND_MUSIC_WINDOW :{BLACK}Monstrare fenestram soni musicaeque +STR_TOOLBAR_TOOLTIP_SHOW_LAST_MESSAGE_NEWS :{BLACK}Monstrare nuntium novissimum sive optiones nuntii +STR_TOOLBAR_TOOLTIP_LAND_BLOCK_INFORMATION :{BLACK}Indicia terrae regionis, consola, emendatio scripti, imagines conspectus, de OpenTTD +STR_TOOLBAR_TOOLTIP_SWITCH_TOOLBAR :{BLACK}Mutare inter arcas ferramentorum + +# Extra tooltips for the scenario editor toolbar +STR_SCENEDIT_TOOLBAR_TOOLTIP_SAVE_SCENARIO_LOAD_SCENARIO :{BLACK}Servare scaenarium, legere scaenarium, relinquere scriptorium scaenarii, exire +STR_SCENEDIT_TOOLBAR_OPENTTD :{YELLOW}OpenTTD +STR_SCENEDIT_TOOLBAR_SCENARIO_EDITOR :{YELLOW}Scriptorium Scaenarii +STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_BACKWARD :{BLACK}Facit ut dies initii uno anno procedatur +STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_FORWARD :{BLACK}Facit ut dies initii uno anno recedatur +STR_SCENEDIT_TOOLBAR_TOOLTIP_SET_DATE :{BLACK}Mutare diem initii +STR_SCENEDIT_TOOLBAR_TOOLTIP_DISPLAY_MAP_TOWN_DIRECTORY :{BLACK}Monstrare tabulam geographicam vel indicem oppidorum +STR_SCENEDIT_TOOLBAR_LANDSCAPE_GENERATION :{BLACK}Plasmatio terrae +STR_SCENEDIT_TOOLBAR_TOWN_GENERATION :{BLACK}Conditus oppidorum +STR_SCENEDIT_TOOLBAR_INDUSTRY_GENERATION :{BLACK}Conditus industriarum +STR_SCENEDIT_TOOLBAR_ROAD_CONSTRUCTION :{BLACK}Constructio viarum +STR_SCENEDIT_TOOLBAR_PLANT_TREES :{BLACK}Serere arbores. Shift mutat inter constructionem et aestimationem monstrandam +STR_SCENEDIT_TOOLBAR_PLACE_SIGN :{BLACK}Ponere signum +STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Ponere ornamentum. Shift mutat inter constructionem et aestimationem monstrandam + +############ range for SE file menu starts +STR_SCENEDIT_FILE_MENU_SAVE_SCENARIO :Servare scaenarium +STR_SCENEDIT_FILE_MENU_LOAD_SCENARIO :Legere scaenarium +STR_SCENEDIT_FILE_MENU_SAVE_HEIGHTMAP :Servare tabulam altitudinum +STR_SCENEDIT_FILE_MENU_LOAD_HEIGHTMAP :Legere tabulam altitudinum +STR_SCENEDIT_FILE_MENU_QUIT_EDITOR :Relinquere scriptorium scaenarii +STR_SCENEDIT_FILE_MENU_SEPARATOR : +STR_SCENEDIT_FILE_MENU_QUIT :Exire +############ range for SE file menu starts + +############ range for settings menu starts +STR_SETTINGS_MENU_GAME_OPTIONS :Ludi optiones +STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Electiones +STR_SETTINGS_MENU_SCRIPT_SETTINGS :Optiones IA/Ludi scriptorum +STR_SETTINGS_MENU_NEWGRF_SETTINGS :Optiones NewGRF +STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Optiones perluciditatis +STR_SETTINGS_MENU_TOWN_NAMES_DISPLAYED :Nomina oppidorum spectabilia +STR_SETTINGS_MENU_STATION_NAMES_DISPLAYED :Nomina stationum spectabilia +STR_SETTINGS_MENU_WAYPOINTS_DISPLAYED :Nomina interlocorum spectabilia +STR_SETTINGS_MENU_SIGNS_DISPLAYED :Signa spectabilia +STR_SETTINGS_MENU_SHOW_COMPETITOR_SIGNS :Signa nominaque competitorum spectabilia +STR_SETTINGS_MENU_FULL_ANIMATION :Animatio completa +STR_SETTINGS_MENU_FULL_DETAIL :Descriptio completa +STR_SETTINGS_MENU_TRANSPARENT_BUILDINGS :Aedificia perlucida +STR_SETTINGS_MENU_TRANSPARENT_SIGNS :Signa perlucida +############ range ends here + +############ range for file menu starts +STR_FILE_MENU_SAVE_GAME :Servare ludum +STR_FILE_MENU_LOAD_GAME :Legere ludum +STR_FILE_MENU_QUIT_GAME :Relinquere ludum +STR_FILE_MENU_SEPARATOR : +STR_FILE_MENU_EXIT :Exire +############ range ends here + +# map menu +STR_MAP_MENU_MAP_OF_WORLD :Orbis tabula +STR_MAP_MENU_EXTRA_VIEW_PORT :Fenestra conspectus additicia +STR_MAP_MENU_LINGRAPH_LEGEND :Formula graphica onerum cursus +STR_MAP_MENU_SIGN_LIST :Index signorum + +############ range for town menu starts +STR_TOWN_MENU_TOWN_DIRECTORY :Index oppidorum +STR_TOWN_MENU_FOUND_TOWN :Condere oppidum +############ range ends here + +############ range for subsidies menu starts +STR_SUBSIDIES_MENU_SUBSIDIES :Subsidia +############ range ends here + +############ range for graph menu starts +STR_GRAPH_MENU_OPERATING_PROFIT_GRAPH :Formula lucri operationis graphica +STR_GRAPH_MENU_INCOME_GRAPH :Formula reditus graphica +STR_GRAPH_MENU_DELIVERED_CARGO_GRAPH :Formula oneris traditi graphica +STR_GRAPH_MENU_PERFORMANCE_HISTORY_GRAPH :Formula historiae effectus graphica +STR_GRAPH_MENU_COMPANY_VALUE_GRAPH :Formula aestimationis societatis graphica +STR_GRAPH_MENU_CARGO_PAYMENT_RATES :Tabula mercedum onerum +############ range ends here + +############ range for company league menu starts +STR_GRAPH_MENU_COMPANY_LEAGUE_TABLE :Album foederis societatum +STR_GRAPH_MENU_DETAILED_PERFORMANCE_RATING :Censio effectus descripta +STR_GRAPH_MENU_HIGHSCORE :Album punctorum supremorum +############ range ends here + +############ range for industry menu starts +STR_INDUSTRY_MENU_INDUSTRY_DIRECTORY :Index industriarum +STR_INDUSTRY_MENU_INDUSTRY_CHAIN :Catenae industriarum +STR_INDUSTRY_MENU_FUND_NEW_INDUSTRY :Condere novam industriam +############ range ends here + +############ range for railway construction menu starts +STR_RAIL_MENU_RAILROAD_CONSTRUCTION :Constructio ferriviarum +STR_RAIL_MENU_ELRAIL_CONSTRUCTION :Constructio electricarum ferriviarum +STR_RAIL_MENU_MONORAIL_CONSTRUCTION :Constructio monoorbitarum +STR_RAIL_MENU_MAGLEV_CONSTRUCTION :Constructio maglev +############ range ends here + +############ range for road construction menu starts +STR_ROAD_MENU_ROAD_CONSTRUCTION :Constructio viarum +STR_ROAD_MENU_TRAM_CONSTRUCTION :Constructio ferriviarum stratarium +############ range ends here + +############ range for waterways construction menu starts +STR_WATERWAYS_MENU_WATERWAYS_CONSTRUCTION :Constructio viarum aquariarum +############ range ends here + +############ range for airport construction menu starts +STR_AIRCRAFT_MENU_AIRPORT_CONSTRUCTION :Constructio aeroportuum +############ range ends here + +############ range for landscaping menu starts +STR_LANDSCAPING_MENU_LANDSCAPING :Plasmatio terrae +STR_LANDSCAPING_MENU_PLANT_TREES :Serere arbores +STR_LANDSCAPING_MENU_PLACE_SIGN :Ponere signum +############ range ends here + +############ range for music menu starts +STR_TOOLBAR_SOUND_MUSIC :Sonus musicave +############ range ends here + +############ range for message menu starts +STR_NEWS_MENU_LAST_MESSAGE_NEWS_REPORT :Monstrare nuntium novissimum +STR_NEWS_MENU_MESSAGE_HISTORY_MENU :Historia nuntiorum +############ range ends here + +############ range for about menu starts +STR_ABOUT_MENU_LAND_BLOCK_INFO :Terrae regionis indicia +STR_ABOUT_MENU_SEPARATOR : +STR_ABOUT_MENU_TOGGLE_CONSOLE :Monstrare celareve consolam +STR_ABOUT_MENU_AI_DEBUG :Emendatio IA/Ludi scriptorum +STR_ABOUT_MENU_SCREENSHOT :Imago conspectus +STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Imago conspectus maxime amplificata +STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Imago conspectus solite amplificata +STR_ABOUT_MENU_GIANT_SCREENSHOT :Imago cunctae tabulae geographicae +STR_ABOUT_MENU_ABOUT_OPENTTD :De 'OpenTTD' +STR_ABOUT_MENU_SPRITE_ALIGNER :Norma spiritus +STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Monstrare celareve arcas finitionum +STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Incipere desinereve pictura sordidorum laterculorum +############ range ends here + +############ range for ordinal numbers used for the place in the highscore window +STR_ORDINAL_NUMBER_1ST :Primum +STR_ORDINAL_NUMBER_2ND :Secundum +STR_ORDINAL_NUMBER_3RD :Tertium +STR_ORDINAL_NUMBER_4TH :Quartum +STR_ORDINAL_NUMBER_5TH :Quintum +STR_ORDINAL_NUMBER_6TH :Sextum +STR_ORDINAL_NUMBER_7TH :Septimum +STR_ORDINAL_NUMBER_8TH :Octavum +STR_ORDINAL_NUMBER_9TH :Nonum +STR_ORDINAL_NUMBER_10TH :Decimum +STR_ORDINAL_NUMBER_11TH :Undecimum +STR_ORDINAL_NUMBER_12TH :Duodecimum +STR_ORDINAL_NUMBER_13TH :Tertium Decimum +STR_ORDINAL_NUMBER_14TH :Quartum Decimum +STR_ORDINAL_NUMBER_15TH :Quintum Decimum +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :I +STR_DAY_NUMBER_2ND :II +STR_DAY_NUMBER_3RD :III +STR_DAY_NUMBER_4TH :IV +STR_DAY_NUMBER_5TH :V +STR_DAY_NUMBER_6TH :VI +STR_DAY_NUMBER_7TH :VII +STR_DAY_NUMBER_8TH :VIII +STR_DAY_NUMBER_9TH :IX +STR_DAY_NUMBER_10TH :X +STR_DAY_NUMBER_11TH :XI +STR_DAY_NUMBER_12TH :XII +STR_DAY_NUMBER_13TH :XIII +STR_DAY_NUMBER_14TH :XIV +STR_DAY_NUMBER_15TH :XV +STR_DAY_NUMBER_16TH :XVI +STR_DAY_NUMBER_17TH :XVII +STR_DAY_NUMBER_18TH :XVIII +STR_DAY_NUMBER_19TH :XIX +STR_DAY_NUMBER_20TH :XX +STR_DAY_NUMBER_21ST :XXI +STR_DAY_NUMBER_22ND :XXII +STR_DAY_NUMBER_23RD :XXIII +STR_DAY_NUMBER_24TH :XXIV +STR_DAY_NUMBER_25TH :XXV +STR_DAY_NUMBER_26TH :XXVI +STR_DAY_NUMBER_27TH :XXVII +STR_DAY_NUMBER_28TH :XXVIII +STR_DAY_NUMBER_29TH :XXIX +STR_DAY_NUMBER_30TH :XXX +STR_DAY_NUMBER_31ST :XXXI +############ range for days ends + +############ range for months starts +STR_MONTH_ABBREV_JAN :Ian +STR_MONTH_ABBREV_FEB :Feb +STR_MONTH_ABBREV_MAR :Mar +STR_MONTH_ABBREV_APR :Apr +STR_MONTH_ABBREV_MAY :Mai +STR_MONTH_ABBREV_JUN :Iun +STR_MONTH_ABBREV_JUL :Iul +STR_MONTH_ABBREV_AUG :Aug +STR_MONTH_ABBREV_SEP :Sep +STR_MONTH_ABBREV_OCT :Oct +STR_MONTH_ABBREV_NOV :Nov +STR_MONTH_ABBREV_DEC :Dec + +STR_MONTH_JAN :Ianuarii +STR_MONTH_FEB :Februarii +STR_MONTH_MAR :Martii +STR_MONTH_APR :Aprilis +STR_MONTH_MAY :Maii +STR_MONTH_JUN :Iunii +STR_MONTH_JUL :Iulii +STR_MONTH_AUG :Augusti +STR_MONTH_SEP :Septembris +STR_MONTH_OCT :Octobris +STR_MONTH_NOV :Novembris +STR_MONTH_DEC :Decembris +############ range for months ends + +# Graph window +STR_GRAPH_KEY_BUTTON :{BLACK}Clavis +STR_GRAPH_KEY_TOOLTIP :{BLACK}Monstrare formularum clavem +STR_GRAPH_X_LABEL_MONTH :{TINY_FONT}{STRING}{} {STRING} +STR_GRAPH_X_LABEL_MONTH_YEAR :{TINY_FONT}{STRING}{} {STRING}{}{NUM} +STR_GRAPH_Y_LABEL :{TINY_FONT}{STRING} +STR_GRAPH_Y_LABEL_NUMBER :{TINY_FONT}{COMMA} + +STR_GRAPH_OPERATING_PROFIT_CAPTION :{WHITE}Formula Lucri Operationis Graphica +STR_GRAPH_INCOME_CAPTION :{WHITE}Formula Reditus Graphica +STR_GRAPH_CARGO_DELIVERED_CAPTION :{WHITE}Unitates oneris traditae +STR_GRAPH_COMPANY_PERFORMANCE_RATINGS_CAPTION :{WHITE}Censiones effectus societatis (Censio maxima = 1000) +STR_GRAPH_COMPANY_VALUES_CAPTION :{WHITE}Aestimationes societatis + +STR_GRAPH_CARGO_PAYMENT_RATES_CAPTION :{WHITE}Mercedes Onerum +STR_GRAPH_CARGO_PAYMENT_RATES_X_LABEL :{TINY_FONT}{BLACK}Dies in itinere +STR_GRAPH_CARGO_PAYMENT_RATES_TITLE :{TINY_FONT}{BLACK}Merces tradendi 10 oneris unitates (aut 10,000 litra) per 20 quadra +STR_GRAPH_CARGO_ENABLE_ALL :{TINY_FONT}{BLACK}Omnia Monstrare +STR_GRAPH_CARGO_DISABLE_ALL :{TINY_FONT}{BLACK}Omnia Celare +STR_GRAPH_CARGO_TOOLTIP_ENABLE_ALL :{BLACK}Monstrare omnia onera in grapho mercedum onerum +STR_GRAPH_CARGO_TOOLTIP_DISABLE_ALL :{BLACK}Monstrare nulla onera in grapho mercedum onerum +STR_GRAPH_CARGO_PAYMENT_TOGGLE_CARGO :{BLACK}Monstrare celareve aspectum huius oneris in grapho +STR_GRAPH_CARGO_PAYMENT_CARGO :{TINY_FONT}{BLACK}{STRING} + +STR_GRAPH_PERFORMANCE_DETAIL_TOOLTIP :{BLACK}Monstrare censiones effectus descriptas + +# Graph key window +STR_GRAPH_KEY_CAPTION :{WHITE}Clavis graphicarum societatum +STR_GRAPH_KEY_COMPANY_SELECTION_TOOLTIP :{BLACK}Preme ut conspectum huius societatis in grapho monstretur celeturve + +# Company league window +STR_COMPANY_LEAGUE_TABLE_CAPTION :{WHITE}Album Foederis Societatum +STR_COMPANY_LEAGUE_COMPANY_NAME :{ORANGE}{COMPANY} {BLACK}{COMPANY_NUM} '{STRING}' +STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_ENGINEER :Mechanicus +STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_TRAFFIC_MANAGER :Curator Commercii +STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_TRANSPORT_COORDINATOR :Procurator Vecturae +STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_ROUTE_SUPERVISOR :Praepositus Itineris +STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_DIRECTOR :Rector +STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_CHIEF_EXECUTIVE :Moderator +STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_CHAIRMAN :Princeps +STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_PRESIDENT :Praeses +STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_TYCOON :Dives Maximus + +# Performance detail window +STR_PERFORMANCE_DETAIL :{WHITE}Censio effectus descripta +STR_PERFORMANCE_DETAIL_KEY :{BLACK}Descriptio +STR_PERFORMANCE_DETAIL_AMOUNT_CURRENCY :{BLACK}({CURRENCY_SHORT}/{CURRENCY_SHORT}) +STR_PERFORMANCE_DETAIL_AMOUNT_INT :{BLACK}({COMMA}/{COMMA}) +STR_PERFORMANCE_DETAIL_PERCENT :{WHITE}{NUM}% +STR_PERFORMANCE_DETAIL_SELECT_COMPANY_TOOLTIP :{BLACK}Videre descriptionem de hac societate +############ Those following lines need to be in this order!! +STR_PERFORMANCE_DETAIL_VEHICLES :{BLACK}Vehicula: +STR_PERFORMANCE_DETAIL_STATIONS :{BLACK}Stationes: +STR_PERFORMANCE_DETAIL_MIN_PROFIT :{BLACK}Lucrum minimum: +STR_PERFORMANCE_DETAIL_MIN_INCOME :{BLACK}Reditus minimus: +STR_PERFORMANCE_DETAIL_MAX_INCOME :{BLACK}Reditus maximus: +STR_PERFORMANCE_DETAIL_DELIVERED :{BLACK}Tradita: +STR_PERFORMANCE_DETAIL_CARGO :{BLACK}Onera: +STR_PERFORMANCE_DETAIL_MONEY :{BLACK}Pecunia: +STR_PERFORMANCE_DETAIL_LOAN :{BLACK}Creditum: +STR_PERFORMANCE_DETAIL_TOTAL :{BLACK}Omnia: +############ End of order list +STR_PERFORMANCE_DETAIL_VEHICLES_TOOLTIP :{BLACK}Numerus vehiculorum quae lucrum fecerunt anno priore. Vehicula viaria, hamaxostichi, naves, et aeroplana numerantur +STR_PERFORMANCE_DETAIL_STATIONS_TOOLTIP :{BLACK}Numerus stationum nuper adventorum. Stationes ferriviariae laophoricaeque, et aeroportus, et cetera numerantur separatim etsi in eadem statione sunt +STR_PERFORMANCE_DETAIL_MIN_PROFIT_TOOLTIP :{BLACK}Lucrum vehiculi quod minimum lucrum habet (modo vehicula plures quam duos annos in aetate) +STR_PERFORMANCE_DETAIL_MIN_INCOME_TOOLTIP :{BLACK}Copia pecuniae merita in quadrante cum minimo lucro ex 12 quadrantibus prioribus +STR_PERFORMANCE_DETAIL_MAX_INCOME_TOOLTIP :{BLACK}Copia pecuniae merita in quadrante cum maximo lucro ex 12 quadrantibus prioribus +STR_PERFORMANCE_DETAIL_DELIVERED_TOOLTIP :{BLACK}Unitates oneris traditae quattuor quadrantibus prioribus +STR_PERFORMANCE_DETAIL_CARGO_TOOLTIP :{BLACK}Numerus typorum oneris traditorum quadrante priore +STR_PERFORMANCE_DETAIL_MONEY_TOOLTIP :{BLACK}Pecunia huius societatis +STR_PERFORMANCE_DETAIL_LOAN_TOOLTIP :{BLACK}Copia crediti huius societatis +STR_PERFORMANCE_DETAIL_TOTAL_TOOLTIP :{BLACK}Puncta tota ex punctis maximis + +# Music window +STR_MUSIC_JAZZ_JUKEBOX_CAPTION :{WHITE}'Jazz Jukebox' +STR_MUSIC_PLAYLIST_ALL :{TINY_FONT}{BLACK}Omnes +STR_MUSIC_PLAYLIST_OLD_STYLE :{TINY_FONT}{BLACK}Vetus +STR_MUSIC_PLAYLIST_NEW_STYLE :{TINY_FONT}{BLACK}Novitas +STR_MUSIC_PLAYLIST_EZY_STREET :{TINY_FONT}{BLACK}Via Facilis +STR_MUSIC_PLAYLIST_CUSTOM_1 :{TINY_FONT}{BLACK}Propria I +STR_MUSIC_PLAYLIST_CUSTOM_2 :{TINY_FONT}{BLACK}Propria II +STR_MUSIC_MUSIC_VOLUME :{TINY_FONT}{BLACK}Amplitudo Musicae +STR_MUSIC_EFFECTS_VOLUME :{TINY_FONT}{BLACK}Amplitido Sonorum +STR_MUSIC_RULER_MIN :{TINY_FONT}{BLACK}MIN +STR_MUSIC_RULER_MAX :{TINY_FONT}{BLACK}MAX +STR_MUSIC_RULER_MARKER :{TINY_FONT}{BLACK}' +STR_MUSIC_TRACK_NONE :{TINY_FONT}{DKGREEN}-- +STR_MUSIC_TRACK_DIGIT :{TINY_FONT}{DKGREEN}{ZEROFILL_NUM} +STR_MUSIC_TITLE_NONE :{TINY_FONT}{DKGREEN}------ +STR_MUSIC_TITLE_NAME :{TINY_FONT}{DKGREEN}"{STRING}" +STR_MUSIC_TRACK :{TINY_FONT}{BLACK}Carmen +STR_MUSIC_XTITLE :{TINY_FONT}{BLACK}Titulus +STR_MUSIC_SHUFFLE :{TINY_FONT}{BLACK}Miscere +STR_MUSIC_PROGRAM :{TINY_FONT}{BLACK}Programma +STR_MUSIC_TOOLTIP_SKIP_TO_PREVIOUS_TRACK :{BLACK}Recedere carmini priori +STR_MUSIC_TOOLTIP_SKIP_TO_NEXT_TRACK_IN_SELECTION :{BLACK}Procedere carmini secundo +STR_MUSIC_TOOLTIP_STOP_PLAYING_MUSIC :{BLACK}Desinere musicae +STR_MUSIC_TOOLTIP_START_PLAYING_MUSIC :{BLACK}Incipere musicae +STR_MUSIC_TOOLTIP_DRAG_SLIDERS_TO_SET_MUSIC :{BLACK}Trahe ut amplitudines musicae sonorumque mutentur +STR_MUSIC_TOOLTIP_SELECT_ALL_TRACKS_PROGRAM :{BLACK}Eligere compositionem 'omnia carmina' +STR_MUSIC_TOOLTIP_SELECT_OLD_STYLE_MUSIC :{BLACK}Eligere compositionem 'musicam veterem' +STR_MUSIC_TOOLTIP_SELECT_NEW_STYLE_MUSIC :{BLACK}Eligere compositionem 'musicam novitatis' +STR_MUSIC_TOOLTIP_SELECT_EZY_STREET_STYLE :{BLACK}Eligere compositionem 'viam facilem' +STR_MUSIC_TOOLTIP_SELECT_CUSTOM_1_USER_DEFINED :{BLACK}Eligere compositionem 'Propriam I' (a lusore electam) +STR_MUSIC_TOOLTIP_SELECT_CUSTOM_2_USER_DEFINED :{BLACK}Eligere compositionem 'Propriam II' (a lusore electam) +STR_MUSIC_TOOLTIP_TOGGLE_PROGRAM_SHUFFLE :{BLACK}Incipere desinereve admixtionem carminum +STR_MUSIC_TOOLTIP_SHOW_MUSIC_TRACK_SELECTION :{BLACK}Monstrare fenestram electionis carminum + +STR_ERROR_NO_SONGS :{WHITE}Compositio sine carminibus electa est. Nulla carmina canentur + +# Playlist window +STR_PLAYLIST_MUSIC_PROGRAM_SELECTION :{WHITE}Electio Compositionis Musicae +STR_PLAYLIST_TRACK_NAME :{TINY_FONT}{LTBLUE}{ZEROFILL_NUM} "{STRING}" +STR_PLAYLIST_TRACK_INDEX :{TINY_FONT}{BLACK}Index Carminum +STR_PLAYLIST_PROGRAM :{TINY_FONT}{BLACK}Compositio - '{STRING}' +STR_PLAYLIST_CLEAR :{TINY_FONT}{BLACK}Vacuefacere +STR_PLAYLIST_TOOLTIP_CLEAR_CURRENT_PROGRAM_CUSTOM1 :{BLACK}Vacuefacere compositionem (modo Propriam I aut Propriam II) +STR_PLAYLIST_TOOLTIP_CLICK_TO_ADD_TRACK :{BLACK}Preme in carmen ut compositioni addantur (modo Propriae I aut Propriae II) +STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Preme in carmen ut ex compositione removeatur (modo Propria I aut Propria II) + +# Highscore window +STR_HIGHSCORE_TOP_COMPANIES_WHO_REACHED :{BIG_FONT}{BLACK}Societates supremae quae attigerunt {NUM} +STR_HIGHSCORE_TOP_COMPANIES_NETWORK_GAME :{BIG_FONT}{BLACK}Album Foederis Societatum in {NUM} +STR_HIGHSCORE_POSITION :{BIG_FONT}{BLACK}{COMMA}. +STR_HIGHSCORE_PERFORMANCE_TITLE_BUSINESSMAN :Laborator +STR_HIGHSCORE_PERFORMANCE_TITLE_ENTREPRENEUR :Venditor +STR_HIGHSCORE_PERFORMANCE_TITLE_INDUSTRIALIST :Negotiator +STR_HIGHSCORE_PERFORMANCE_TITLE_CAPITALIST :Mercator +STR_HIGHSCORE_PERFORMANCE_TITLE_MAGNATE :Dominus +STR_HIGHSCORE_PERFORMANCE_TITLE_MOGUL :Optimas +STR_HIGHSCORE_PERFORMANCE_TITLE_TYCOON_OF_THE_CENTURY :Dives Saeclaris +STR_HIGHSCORE_NAME :{PRESIDENT_NAME}, {COMPANY} +STR_HIGHSCORE_STATS :{BIG_FONT}'{STRING}' ({COMMA}) +STR_HIGHSCORE_COMPANY_ACHIEVES_STATUS :{BIG_FONT}{BLACK}{COMPANY} attingit statum '{STRING}'! +STR_HIGHSCORE_PRESIDENT_OF_COMPANY_ACHIEVES_STATUS :{BIG_FONT}{WHITE}{PRESIDENT_NAME} of {COMPANY} attingit statum '{STRING}'! + +# Smallmap window +STR_SMALLMAP_CAPTION :{WHITE}Tabula Geographica - {STRING} + +STR_SMALLMAP_TYPE_CONTOURS :Topographia +STR_SMALLMAP_TYPE_VEHICLES :Vehicula +STR_SMALLMAP_TYPE_INDUSTRIES :Industriae +STR_SMALLMAP_TYPE_ROUTEMAP :Itinera Onerum +STR_SMALLMAP_TYPE_ROUTES :Viae +STR_SMALLMAP_TYPE_VEGETATION :Vegetatio +STR_SMALLMAP_TYPE_OWNERS :Possessores +STR_SMALLMAP_TOOLTIP_SHOW_LAND_CONTOURS_ON_MAP :{BLACK}Monstrare topographiam in tabula +STR_SMALLMAP_TOOLTIP_SHOW_VEHICLES_ON_MAP :{BLACK}Monstrare vehicula in tabula +STR_SMALLMAP_TOOLTIP_SHOW_INDUSTRIES_ON_MAP :{BLACK}Monstrare industrias in tabula +STR_SMALLMAP_TOOLTIP_SHOW_LINK_STATS_ON_MAP :{BLACK}Monstrare itinera onerum in tabula +STR_SMALLMAP_TOOLTIP_SHOW_TRANSPORT_ROUTES_ON :{BLACK}Monstrare itinera in tabula +STR_SMALLMAP_TOOLTIP_SHOW_VEGETATION_ON_MAP :{BLACK}Monstrare vegetationem in tabula +STR_SMALLMAP_TOOLTIP_SHOW_LAND_OWNERS_ON_MAP :{BLACK}Monstrare terrarum possessores in tabula +STR_SMALLMAP_TOOLTIP_INDUSTRY_SELECTION :{BLACK}Preme in typum industriae ut monstretur celeturve. Ctrl+Preme ut omnes typi praeter eum qui electus est celentur. Ctrl+Preme denuo ut omnes typi monstrentur +STR_SMALLMAP_TOOLTIP_COMPANY_SELECTION :{BLACK}Preme in societatem ut monstretur celeturve. Ctrl+Preme ut omnes praeter eam quae electa est celentur. Ctrl+Preme denuo ut omnes societates monstrentur +STR_SMALLMAP_TOOLTIP_CARGO_SELECTION :{BLACK}Preme in onus ut monstretur celeturve. Ctrl+Preme ut omnia praeter id quod electum est celentur. Ctrl+Preme denuo ut omnia onera monstrentur + +STR_SMALLMAP_LEGENDA_ROADS :{TINY_FONT}{BLACK}Viae +STR_SMALLMAP_LEGENDA_RAILROADS :{TINY_FONT}{BLACK}Ferriviae +STR_SMALLMAP_LEGENDA_STATIONS_AIRPORTS_DOCKS :{TINY_FONT}{BLACK}Stationes/Aeroportus/Navalia +STR_SMALLMAP_LEGENDA_BUILDINGS_INDUSTRIES :{TINY_FONT}{BLACK}Aedificia/Industriae +STR_SMALLMAP_LEGENDA_VEHICLES :{TINY_FONT}{BLACK}Vehicula +STR_SMALLMAP_LEGENDA_TRAINS :{TINY_FONT}{BLACK}Tramina +STR_SMALLMAP_LEGENDA_ROAD_VEHICLES :{TINY_FONT}{BLACK}Vehicula Viaria +STR_SMALLMAP_LEGENDA_SHIPS :{TINY_FONT}{BLACK}Naves +STR_SMALLMAP_LEGENDA_AIRCRAFT :{TINY_FONT}{BLACK}Aeroplana +STR_SMALLMAP_LEGENDA_TRANSPORT_ROUTES :{TINY_FONT}{BLACK}Itinera +STR_SMALLMAP_LEGENDA_FOREST :{TINY_FONT}{BLACK}Silva +STR_SMALLMAP_LEGENDA_RAILROAD_STATION :{TINY_FONT}{BLACK}Statio ferriviaria +STR_SMALLMAP_LEGENDA_TRUCK_LOADING_BAY :{TINY_FONT}{BLACK}Statio autoplaustrica +STR_SMALLMAP_LEGENDA_BUS_STATION :{TINY_FONT}{BLACK}Statio laophorica +STR_SMALLMAP_LEGENDA_AIRPORT_HELIPORT :{TINY_FONT}{BLACK}Aeroportus/Heliportus +STR_SMALLMAP_LEGENDA_DOCK :{TINY_FONT}{BLACK}Navale +STR_SMALLMAP_LEGENDA_ROUGH_LAND :{TINY_FONT}{BLACK}Terra Aspera +STR_SMALLMAP_LEGENDA_GRASS_LAND :{TINY_FONT}{BLACK}Terra Herbosa +STR_SMALLMAP_LEGENDA_BARE_LAND :{TINY_FONT}{BLACK}Terra Nuda +STR_SMALLMAP_LEGENDA_FIELDS :{TINY_FONT}{BLACK}Agri +STR_SMALLMAP_LEGENDA_TREES :{TINY_FONT}{BLACK}Arbores +STR_SMALLMAP_LEGENDA_ROCKS :{TINY_FONT}{BLACK}Saxa +STR_SMALLMAP_LEGENDA_WATER :{TINY_FONT}{BLACK}Aqua +STR_SMALLMAP_LEGENDA_NO_OWNER :{TINY_FONT}{BLACK}Sine posessore +STR_SMALLMAP_LEGENDA_TOWNS :{TINY_FONT}{BLACK}Oppida +STR_SMALLMAP_LEGENDA_INDUSTRIES :{TINY_FONT}{BLACK}Industriae +STR_SMALLMAP_LEGENDA_DESERT :{TINY_FONT}{BLACK}Deserta +STR_SMALLMAP_LEGENDA_SNOW :{TINY_FONT}{BLACK}Nix + +STR_SMALLMAP_TOOLTIP_TOGGLE_TOWN_NAMES_ON_OFF :{BLACK}Monstrare celareve nomina oppidorum in tabula +STR_SMALLMAP_CENTER :{BLACK}Movere tabulam geographicam supra conspectum praesentem +STR_SMALLMAP_INDUSTRY :{TINY_FONT}{STRING} ({NUM}) +STR_SMALLMAP_LINKSTATS :{TINY_FONT}{STRING} +STR_SMALLMAP_COMPANY :{TINY_FONT}{COMPANY} +STR_SMALLMAP_TOWN :{TINY_FONT}{WHITE}{TOWN} +STR_SMALLMAP_DISABLE_ALL :{BLACK}Omnia celare +STR_SMALLMAP_ENABLE_ALL :{BLACK}Omnia monstrare +STR_SMALLMAP_SHOW_HEIGHT :{BLACK}Monstrare altitudinem +STR_SMALLMAP_TOOLTIP_DISABLE_ALL_INDUSTRIES :{BLACK}Celare omnes industrias in tabula +STR_SMALLMAP_TOOLTIP_ENABLE_ALL_INDUSTRIES :{BLACK}Monstrare omnes industrias in tabula +STR_SMALLMAP_TOOLTIP_SHOW_HEIGHT :{BLACK}Monstrare celareve topographiam +STR_SMALLMAP_TOOLTIP_DISABLE_ALL_COMPANIES :{BLACK}Celare possessiones societatum in tabula +STR_SMALLMAP_TOOLTIP_ENABLE_ALL_COMPANIES :{BLACK}Monstrare possessiones societatum in tabula +STR_SMALLMAP_TOOLTIP_DISABLE_ALL_CARGOS :{BLACK}Celare onera in tabula +STR_SMALLMAP_TOOLTIP_ENABLE_ALL_CARGOS :{BLACK}Monstrare onera in tabula + +# Status bar messages +STR_STATUSBAR_TOOLTIP_SHOW_LAST_NEWS :{BLACK}Monstrare nuntium novissimum +STR_STATUSBAR_COMPANY_NAME :{SILVER}- - {COMPANY} - - +STR_STATUSBAR_PAUSED :{YELLOW}* * INTERMISSUS * * +STR_STATUSBAR_AUTOSAVE :{RED}AUTOSERVANS +STR_STATUSBAR_SAVING_GAME :{RED}* * LUDUM SERVANS * * + +# News message history +STR_MESSAGE_HISTORY :{WHITE}Historia Nuntiorum +STR_MESSAGE_HISTORY_TOOLTIP :{BLACK}Index nuntiorum recentium +STR_MESSAGE_NEWS_FORMAT :{STRING} - {STRING} + +STR_NEWS_MESSAGE_CAPTION :{WHITE}Nuntium +STR_NEWS_CUSTOM_ITEM :{BIG_FONT}{BLACK}{STRING} + +STR_NEWS_FIRST_TRAIN_ARRIVAL :{BIG_FONT}{BLACK}Cives celebrant . . .{}Hamaxostichus primus advenit ad {STATION}! +STR_NEWS_FIRST_BUS_ARRIVAL :{BIG_FONT}{BLACK}Cives celebrant . . .{}Laophorium primum advenit ad {STATION}! +STR_NEWS_FIRST_TRUCK_ARRIVAL :{BIG_FONT}{BLACK}Cives celebrant . . .{}Autoplaustrum primum advenit ad {STATION}! +STR_NEWS_FIRST_PASSENGER_TRAM_ARRIVAL :{BIG_FONT}{BLACK}Cives celebrant . . .{}Prima transviaria raeda vectoria advenit ad {STATION}! +STR_NEWS_FIRST_CARGO_TRAM_ARRIVAL :{BIG_FONT}{BLACK}Cives celebrant . . .{}Prima transviaria raeda oneraria advenit ad {STATION}! +STR_NEWS_FIRST_SHIP_ARRIVAL :{BIG_FONT}{BLACK}Cives celebrant . . .{}Navis prima advenit ad {STATION}! +STR_NEWS_FIRST_AIRCRAFT_ARRIVAL :{BIG_FONT}{BLACK}Cives celebrant . . .{}Aeroplanum primum advenit ad {STATION}! + +STR_NEWS_TRAIN_CRASH :{BIG_FONT}{BLACK}Calamitas Ferriviaria!{}{COMMA} in incendio pereunt post conflictum! +STR_NEWS_ROAD_VEHICLE_CRASH_DRIVER :{BIG_FONT}{BLACK}Calamitas Autocinetica!{}Gubernator in incendio perit post conflictum contra tramen! +STR_NEWS_ROAD_VEHICLE_CRASH :{BIG_FONT}{BLACK}Calamitas Autocinetica!{}{COMMA} in incendio pereunt post conflictum contra tramen! +STR_NEWS_AIRCRAFT_CRASH :{BIG_FONT}{BLACK}Calamitas Aeroplanica!{}{COMMA} in incendio pereunt apud {STATION}! +STR_NEWS_PLANE_CRASH_OUT_OF_FUEL :{BIG_FONT}{BLACK}Calamitas Aeroplanica!{}Aeroplano fomes caruit, {COMMA} in incendio pereunt! + +STR_NEWS_DISASTER_ZEPPELIN :{BIG_FONT}{BLACK}Calamitas Zeppelinaria apud {STATION}! +STR_NEWS_DISASTER_SMALL_UFO :{BIG_FONT}{BLACK}Vehiculum destructum est in conflictu cum re volante ignota! +STR_NEWS_DISASTER_AIRPLANE_OIL_REFINERY :{BIG_FONT}{BLACK}Ergasterium petrolearium fractum est apud {TOWN}! +STR_NEWS_DISASTER_HELICOPTER_FACTORY :{BIG_FONT}{BLACK}Fabrica fracta est condicionibus suspectis apud {TOWN}! +STR_NEWS_DISASTER_BIG_UFO :{BIG_FONT}{BLACK}Res volans ignota appellit apud {TOWN}! +STR_NEWS_DISASTER_COAL_MINE_SUBSIDENCE :{BIG_FONT}{BLACK}Labes carbonifodinae ruinam facit apud {TOWN}! +STR_NEWS_DISASTER_FLOOD_VEHICLE :{BIG_FONT}{BLACK}Inundationes!{}Amplius {COMMA} irreperti, mortui rati post magnas inundationes! + +STR_NEWS_COMPANY_IN_TROUBLE_TITLE :{BIG_FONT}{BLACK}Tribulatio Societatis! +STR_NEWS_COMPANY_IN_TROUBLE_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} venum detur aut perdatur nisi effectus mox increscit! +STR_NEWS_COMPANY_MERGER_TITLE :{BIG_FONT}{BLACK}Consolidatio Societatum! +STR_NEWS_COMPANY_MERGER_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} vendita est; {STRING} emit, pretio {CURRENCY_LONG}! +STR_NEWS_COMPANY_BANKRUPT_TITLE :{BIG_FONT}{BLACK}Perditum! +STR_NEWS_COMPANY_BANKRUPT_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} clusus est possessionibus venditis abs creditoribus! +STR_NEWS_COMPANY_LAUNCH_TITLE :{BIG_FONT}{BLACK}Nova societas incohata! +STR_NEWS_COMPANY_LAUNCH_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} incipit apud {TOWN}! +STR_NEWS_MERGER_TAKEOVER_TITLE :{BIG_FONT}{BLACK}{STRING} sumpta est a {STRING}! +STR_PRESIDENT_NAME_MANAGER :{BLACK}{PRESIDENT_NAME}{}(Praeses) + +STR_NEWS_NEW_TOWN :{BLACK}{BIG_FONT}Novum oppidum {1:TOWN} constructum expensis a {0:STRING} comparatis! + +STR_NEWS_INDUSTRY_CONSTRUCTION :{BIG_FONT}{BLACK}Nov{G us a um i ae a} {STRING} construitur apud {TOWN}! +STR_NEWS_INDUSTRY_PLANTED :{BIG_FONT}{BLACK}Nov{G us a um i ae a} {STRING} adsit{G 0 us a um i ae a} apud {TOWN}! + +STR_NEWS_INDUSTRY_CLOSURE_GENERAL :{BIG_FONT}{BLACK}{STRING} se claudend{G 0 um am um os as a} esse nuntiat! +STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS :{BIG_FONT}{BLACK}{STRING} se claudend{G 0 um am um os as a} esse nuntiat propter inopiam materiarum! +STR_NEWS_INDUSTRY_CLOSURE_LACK_OF_TREES :{BIG_FONT}{BLACK}{STRING} se claudend{G 0 um am um os as a} esse nuntiat propter inopiam arborum vicinarum! + +STR_NEWS_EURO_INTRODUCTION :{BIG_FONT}{BLACK}Unio Monetaria Europaea!{}{}Euro iam solus nummus in civitate tua est! +STR_NEWS_BEGIN_OF_RECESSION :{BIG_FONT}{BLACK}Recessio Universa!{}{}Argentarii terrent oeconomia decrescente! +STR_NEWS_END_OF_RECESSION :{BIG_FONT}{BLACK}Recessio Finita!{}{}Industriae oeconomiae crescenti accredunt! + +STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL :{BIG_FONT}{BLACK}{INDUSTRY} productionem auget! +STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_COAL :{BIG_FONT}{BLACK}{INDUSTRY} nuntiat novam venam carbonis repertam esse!{}Productionem duplicatum iri nuntiatur! +STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_OIL :{BIG_FONT}{BLACK}{INDUSTRY} nuntiat novum fontem petrolei repertum esse!{}Productionem duplicatum iri nuntiatur! +STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_FARM :{BIG_FONT}{BLACK}{INDUSTRY} nuntiat productionem duplicatum iri arte agriculturae meliore! +STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_SMOOTH :{BIG_FONT}{BLACK}{1:INDUSTRY} productionem {0:STRING.gen} {2:COMMA}% augere nuntiat! +STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL :{BIG_FONT}{BLACK}{INDUSTRY} productionem dimidiare nuntiat! +STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_FARM :{BIG_FONT}{BLACK}{INDUSTRY} se bestiolis infest{G 0 um am um os as a} esse nuntiat!{}Productionem dimidiare nuntiatur! +STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_SMOOTH :{BIG_FONT}{BLACK}{1:INDUSTRY} productionem {0:STRING.gen} {2:COMMA}% decrescere nuntiat! + +STR_NEWS_TRAIN_IS_WAITING :{WHITE}{VEHICLE} manens est in receptaculo +STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}{VEHICLE} manens est in receptaculo +STR_NEWS_SHIP_IS_WAITING :{WHITE}{VEHICLE} manens est in receptaculo +STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE} manens est in tugurio + +# Order review system / warnings +STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE} parum habet iussa in horario +STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE} iussum irritum habet +STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE} iussa duplicata habet +STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE} stationem irritam habet in horario +STR_NEWS_PLANE_USES_TOO_SHORT_RUNWAY :{WHITE}{VEHICLE} habet in iussis aeroportum cuius aerodromus nimis brevis est + +STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} veterascit +STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} valde veterascit +STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD_AND :{WHITE}{VEHICLE} valde veterascit atque necesse est redimi +STR_NEWS_TRAIN_IS_STUCK :{WHITE}{VEHICLE} non potest iter invenire +STR_NEWS_VEHICLE_IS_LOST :{WHITE}{VEHICLE} errans est +STR_NEWS_VEHICLE_IS_UNPROFITABLE :{WHITE}{VEHICLE} anno priore {CURRENCY_LONG} lucratur +STR_NEWS_AIRCRAFT_DEST_TOO_FAR :{WHITE}{VEHICLE} non potest ire ad destinatum nam extra distantiam volatus maximam est + +STR_NEWS_ORDER_REFIT_FAILED :{WHITE}{VEHICLE} constitit quia ordo reficiendi defecit +STR_NEWS_VEHICLE_AUTORENEW_FAILED :{WHITE}Autoredemptio defecit {VEHICLE}{}{STRING} + +STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE :{BIG_FONT}{BLACK}Nov{G us a um i ae a} {STRING} parabil{G 0 is is e es es ia}! +STR_NEWS_NEW_VEHICLE_TYPE :{BIG_FONT}{BLACK}{ENGINE} +STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE_WITH_TYPE :{BLACK}Nov{G us a um i ae a} {STRING} parabil{G 0 is is e es es ia}! - {ENGINE} + +STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO :{WHITE}{STATION} non diutius {STRING.acc} accipit +STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO_OR_CARGO :{WHITE}{STATION} non diutius {STRING.acc} {STRING.acc}que accipit +STR_NEWS_STATION_NOW_ACCEPTS_CARGO :{WHITE}{STATION} nunc {STRING.acc} accipit +STR_NEWS_STATION_NOW_ACCEPTS_CARGO_AND_CARGO :{WHITE}{STATION} nunc {STRING.acc} {STRING.acc}que accipit + +STR_NEWS_OFFER_OF_SUBSIDY_EXPIRED :{BIG_FONT}{BLACK}Condicio subsidii discedit:{}{}Vectura {STRING.gen} a {STRING.abl} ad {STRING.acc} non diutius subveniatur +STR_NEWS_SUBSIDY_WITHDRAWN_SERVICE :{BIG_FONT}{BLACK}Subsidium retractum:{}{}Vectura {STRING.gen} a {STRING.abl} ad {STRING.acc} non diutius subvenietur +STR_NEWS_SERVICE_SUBSIDY_OFFERED :{BIG_FONT}{BLACK}Subsidium oblatum:{}{}Prima vectura {STRING.gen} a {STRING.abl} ad {STRING.acc} unum annum subveniatur ab auctoritate vicinale! +STR_NEWS_SERVICE_SUBSIDY_AWARDED_HALF :{BIG_FONT}{BLACK}{STRING} assignatur subsidium!{}{}Vectura {STRING.gen} a {STRING.abl} ad {STRING.acc} merebit reditum sesquiplicem anno secundo! +STR_NEWS_SERVICE_SUBSIDY_AWARDED_DOUBLE :{BIG_FONT}{BLACK}{STRING} assignatur subsidium!{}{}Vectura {STRING.gen} a {STRING.abl} ad {STRING.acc} merebit reditum duplicem anno secundo! +STR_NEWS_SERVICE_SUBSIDY_AWARDED_TRIPLE :{BIG_FONT}{BLACK}{STRING} assignatur subsidium!{}{}Vectura {STRING.gen} a {STRING.abl} ad {STRING.acc} merebit reditum triplicem anno secundo! +STR_NEWS_SERVICE_SUBSIDY_AWARDED_QUADRUPLE :{BIG_FONT}{BLACK}{STRING} assignatur subsidium!{}{}Vectura {STRING.gen} a {STRING.abl} ad {STRING.acc} merebit reditum quadruplicem anno secundo! + +STR_NEWS_ROAD_REBUILDING :{BIG_FONT}{BLACK}Chaos vehicularium in {TOWN}!{}{}Reconstructio viarum, expensis a {STRING} compartis, affert miseriam autoraedariis 6 menses! +STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLACK}Monopolium Vecturae! +STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}{TOWN}: Auctoritas vicinalis nuntiat {STRING} esse societatem unicam cui uno anno licet transportare intra oppidum! + +# Extra view window +STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Fenestra conspectus {COMMA} +STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Transcribere ad fenestram conspectus +STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Transcribere locum primarium ad hanc fenestram conspectus +STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Glutinare ex fenestra conspectus +STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW_TT :{BLACK}Glutinare locum ex hac fenestra ad conspectum primarium + +# Game options window +STR_GAME_OPTIONS_CAPTION :{WHITE}Ludi optiones +STR_GAME_OPTIONS_CURRENCY_UNITS_FRAME :{BLACK}Unitates nummi +STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Electio unitatum nummi + +############ start of currency region +STR_GAME_OPTIONS_CURRENCY_GBP :Libra Britannica (GBP) +STR_GAME_OPTIONS_CURRENCY_USD :Dollarium CFA (USD) +STR_GAME_OPTIONS_CURRENCY_EUR :Euro (EUR) +STR_GAME_OPTIONS_CURRENCY_JPY :Ien Iaponicus (JPY) +STR_GAME_OPTIONS_CURRENCY_ATS :Scellinus Austriacus (ATS) +STR_GAME_OPTIONS_CURRENCY_BEF :Francus Belgicus (BEF) +STR_GAME_OPTIONS_CURRENCY_CHF :Francus Helveticus (CHF) +STR_GAME_OPTIONS_CURRENCY_CZK :Corona Cecha (CZK) +STR_GAME_OPTIONS_CURRENCY_DEM :Marca Germanica (DEM) +STR_GAME_OPTIONS_CURRENCY_DKK :Corona Danica (DKK) +STR_GAME_OPTIONS_CURRENCY_ESP :Peseta Hispanica (ESP) +STR_GAME_OPTIONS_CURRENCY_FIM :Marca Finnica (FIM) +STR_GAME_OPTIONS_CURRENCY_FRF :Francus Francogallicus (FRF) +STR_GAME_OPTIONS_CURRENCY_GRD :Drachma Graeca (GRD) +STR_GAME_OPTIONS_CURRENCY_HUF :Florenus Hungaricus (HUF) +STR_GAME_OPTIONS_CURRENCY_ISK :Corona Islandica (ISK) +STR_GAME_OPTIONS_CURRENCY_ITL :Libra Italiana (ITL) +STR_GAME_OPTIONS_CURRENCY_NLG :Florenus Batavicus (NLG) +STR_GAME_OPTIONS_CURRENCY_NOK :Corona Norvegica (NOK) +STR_GAME_OPTIONS_CURRENCY_PLN :Złoty Polonica (PLN) +STR_GAME_OPTIONS_CURRENCY_RON :Leu Romanicus (RON) +STR_GAME_OPTIONS_CURRENCY_RUR :Rubelus Russicus (RUR) +STR_GAME_OPTIONS_CURRENCY_SIT :Dollarium Slovenicum (SIT) +STR_GAME_OPTIONS_CURRENCY_SEK :Corona Suecica (SEK) +STR_GAME_OPTIONS_CURRENCY_TRY :Libra Turcica (TRY) +STR_GAME_OPTIONS_CURRENCY_SKK :Corona Slovaca (SKK) +STR_GAME_OPTIONS_CURRENCY_BRL :Regalis Brasilica (BRL) +STR_GAME_OPTIONS_CURRENCY_EEK :Corona Estonica (EEK) +STR_GAME_OPTIONS_CURRENCY_LTL :Litas Lithuanica (LTL) +STR_GAME_OPTIONS_CURRENCY_KRW :Von Coreanus (KRW) +STR_GAME_OPTIONS_CURRENCY_ZAR :Randum Africae Australis (ZAR) +STR_GAME_OPTIONS_CURRENCY_CUSTOM :Propria... +STR_GAME_OPTIONS_CURRENCY_GEL :Lari Georgiana (GEL) +STR_GAME_OPTIONS_CURRENCY_IRR :Regalis Iranica (IRR) +############ end of currency region + +STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Vehicula Viaria +STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}Eligere latus viae gubernandi +STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :Gubernantur sinistro +STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_RIGHT :Gubernantur dextro + +STR_GAME_OPTIONS_TOWN_NAMES_FRAME :{BLACK}Nomina oppidorum +STR_GAME_OPTIONS_TOWN_NAMES_DROPDOWN_TOOLTIP :{BLACK}Eligere oppidorum nomina + +############ start of townname region +STR_GAME_OPTIONS_TOWN_NAME_ORIGINAL_ENGLISH :Anglica (Primigenia) +STR_GAME_OPTIONS_TOWN_NAME_FRENCH :Francogallica +STR_GAME_OPTIONS_TOWN_NAME_GERMAN :Theodisca +STR_GAME_OPTIONS_TOWN_NAME_ADDITIONAL_ENGLISH :Anglica (Additicia) +STR_GAME_OPTIONS_TOWN_NAME_LATIN_AMERICAN :Americae Latinae +STR_GAME_OPTIONS_TOWN_NAME_SILLY :Ridicula +STR_GAME_OPTIONS_TOWN_NAME_SWEDISH :Suecica +STR_GAME_OPTIONS_TOWN_NAME_DUTCH :Batavica +STR_GAME_OPTIONS_TOWN_NAME_FINNISH :Finnica +STR_GAME_OPTIONS_TOWN_NAME_POLISH :Polonica +STR_GAME_OPTIONS_TOWN_NAME_SLOVAK :Slovaca +STR_GAME_OPTIONS_TOWN_NAME_NORWEGIAN :Norvegica +STR_GAME_OPTIONS_TOWN_NAME_HUNGARIAN :Hungarica +STR_GAME_OPTIONS_TOWN_NAME_AUSTRIAN :Austriaca +STR_GAME_OPTIONS_TOWN_NAME_ROMANIAN :Romanica +STR_GAME_OPTIONS_TOWN_NAME_CZECH :Cecha +STR_GAME_OPTIONS_TOWN_NAME_SWISS :Helvetica +STR_GAME_OPTIONS_TOWN_NAME_DANISH :Danica +STR_GAME_OPTIONS_TOWN_NAME_TURKISH :Turcica +STR_GAME_OPTIONS_TOWN_NAME_ITALIAN :Italiana +STR_GAME_OPTIONS_TOWN_NAME_CATALAN :Catalana +############ end of townname region + +STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Servare automatice +STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Eligere crebritatem automatice ludum servandi + +############ start of autosave dropdown +STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Numquam +STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :Singulis mensibus +STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :Ternis mensibus +STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :Senis mensibus +STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :Duodenis mensibus +############ end of autosave dropdown + +STR_GAME_OPTIONS_LANGUAGE :{BLACK}Lingua +STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Eligere linguam interfaciei + +STR_GAME_OPTIONS_FULLSCREEN :{BLACK}Cunctum scrinium +STR_GAME_OPTIONS_FULLSCREEN_TOOLTIP :{BLACK}Optione electa, OpenTTD cuncto scrinio ostenditur + +STR_GAME_OPTIONS_RESOLUTION :{BLACK}Resolutio scrinii +STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Eligere resolutio scrinii adhibenda +STR_GAME_OPTIONS_RESOLUTION_OTHER :alia + +STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Magnitudo interfaciei +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Eligere magnitudinem interfaciei adhibendam + +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Solita +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Duplex +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Quadruplex + +STR_GAME_OPTIONS_BASE_GRF :{BLACK}Fundamentum graphicum +STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Eligere fundamentum graphicum adhibendum +STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} fascicul{P us i} absen{P s tes}/corrupt{P us i} +STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Indicia additicia de hoc fundamento graphico + +STR_GAME_OPTIONS_BASE_SFX :{BLACK}Fundamentum sonicum +STR_GAME_OPTIONS_BASE_SFX_TOOLTIP :{BLACK}Eligere fundamentum sonicum adhibendum +STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Indicia additicia de hoc fundamento sonico + +STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Fundamentum musicum +STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Eligere fundamentum musicum adhibendum +STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} fascicul{P us i} corrupt{P us i} +STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Indicia additicia de hoc fundamento musico + +STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Non potuit repperire indicem resolutionum +STR_ERROR_FULLSCREEN_FAILED :{WHITE}Mutatio ad cunctum scrinium defecit + +# Custom currency window + +STR_CURRENCY_WINDOW :{WHITE}Nummus Proprius +STR_CURRENCY_EXCHANGE_RATE :{LTBLUE}Collybus: {ORANGE}{CURRENCY_LONG} = £ {COMMA} +STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Minuere copiam nummi tui quae aequa est uni Librae Brittanicae (£) +STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Augere copiam nummi tui quae aequa est uni Librae Brittanicae (£) +STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Eligere collybum nummi tui + +STR_CURRENCY_SEPARATOR :{LTBLUE}Symbolum separans: {ORANGE}{STRING} +STR_CURRENCY_SET_CUSTOM_CURRENCY_SEPARATOR_TOOLTIP :{BLACK}Eligere symbolum separans nummi tui + +STR_CURRENCY_PREFIX :{LTBLUE}Praefixum: {ORANGE}{STRING} +STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Eligere praefixum nummi tui +STR_CURRENCY_SUFFIX :{LTBLUE}Suffixum: {ORANGE}{STRING} +STR_CURRENCY_SET_CUSTOM_CURRENCY_SUFFIX_TOOLTIP :{BLACK}Eligere suffixum nummi tui + +STR_CURRENCY_SWITCH_TO_EURO :{LTBLUE}Mutare ad Euro: {ORANGE}{NUM} +STR_CURRENCY_SWITCH_TO_EURO_NEVER :{LTBLUE}Mutare ad Euro: {ORANGE}numquam +STR_CURRENCY_SET_CUSTOM_CURRENCY_TO_EURO_TOOLTIP :{BLACK}Eligere annum ad Euro mutandi +STR_CURRENCY_DECREASE_CUSTOM_CURRENCY_TO_EURO_TOOLTIP :{BLACK}Mutare ad Euro ocius +STR_CURRENCY_INCREASE_CUSTOM_CURRENCY_TO_EURO_TOOLTIP :{BLACK}Mutare ad Euro lentius + +STR_CURRENCY_PREVIEW :{LTBLUE}Praevisum: {ORANGE}{CURRENCY_LONG} +STR_CURRENCY_CUSTOM_CURRENCY_PREVIEW_TOOLTIP :{BLACK}Copia nummi tui quae aequa est 10000 Librae Britannicae (£) +STR_CURRENCY_CHANGE_PARAMETER :{BLACK}Mutare parametrum nummi proprii + +STR_DIFFICULTY_LEVEL_SETTING_MAXIMUM_NO_COMPETITORS :{LTBLUE}Numerus competitorum maximus: {ORANGE}{COMMA} + +STR_NONE :Nullae +STR_FUNDING_ONLY :Modo conditu +STR_MINIMAL :Minimus +STR_NUM_VERY_LOW :Minor +STR_NUM_LOW :Parvus +STR_NUM_NORMAL :Mediocris +STR_NUM_HIGH :Magnus +STR_NUM_CUSTOM :Proprius +STR_NUM_CUSTOM_NUMBER :Proprius ({NUM}) + +STR_VARIETY_NONE :Nulla +STR_VARIETY_VERY_LOW :Minima +STR_VARIETY_LOW :Parva +STR_VARIETY_MEDIUM :Mediocris +STR_VARIETY_HIGH :Magna +STR_VARIETY_VERY_HIGH :Maxima + +STR_AI_SPEED_VERY_SLOW :Lentissima +STR_AI_SPEED_SLOW :Lenta +STR_AI_SPEED_MEDIUM :Mediocris +STR_AI_SPEED_FAST :Celeris +STR_AI_SPEED_VERY_FAST :Celerrima + +STR_SEA_LEVEL_VERY_LOW :Minima +STR_SEA_LEVEL_LOW :Parva +STR_SEA_LEVEL_MEDIUM :Mediocris +STR_SEA_LEVEL_HIGH :Magna +STR_SEA_LEVEL_CUSTOM :Propria +STR_SEA_LEVEL_CUSTOM_PERCENTAGE :Propria ({NUM}%) + +STR_RIVERS_NONE :Nulli +STR_RIVERS_FEW :Parvus +STR_RIVERS_MODERATE :Mediocris +STR_RIVERS_LOT :Magnus + +STR_DISASTER_NONE :Nullae +STR_DISASTER_REDUCED :Rarae +STR_DISASTER_NORMAL :Mediocres + +STR_SUBSIDY_X1_5 :Sesquiplex +STR_SUBSIDY_X2 :Duplex +STR_SUBSIDY_X3 :Triplex +STR_SUBSIDY_X4 :Quadruplex + +STR_TERRAIN_TYPE_VERY_FLAT :Planissimus +STR_TERRAIN_TYPE_FLAT :Planus +STR_TERRAIN_TYPE_HILLY :Clivosus +STR_TERRAIN_TYPE_MOUNTAINOUS :Montanus +STR_TERRAIN_TYPE_ALPINIST :Alpinus + +STR_CITY_APPROVAL_PERMISSIVE :Longe +STR_CITY_APPROVAL_TOLERANT :Breviter +STR_CITY_APPROVAL_HOSTILE :Brevissime + +STR_WARNING_NO_SUITABLE_AI :{WHITE}Nullae IA parabiles sunt...{}Potes arcessere nunullas IA in 'Inventario Interretiale' + +# Settings tree window +STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Electiones +STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Series colans: +STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Omnia expandere +STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Omnia collocare +STR_CONFIG_SETTING_NO_EXPLANATION_AVAILABLE_HELPTEXT :(nulla explicatio parabilis) +STR_CONFIG_SETTING_DEFAULT_VALUE :{LTBLUE}Valor solitus: {ORANGE}{STRING} +STR_CONFIG_SETTING_TYPE :{LTBLUE}Electionis typus: {ORANGE}{STRING} +STR_CONFIG_SETTING_TYPE_CLIENT :Electio clientis (non inclusa in ludis servatis; omnes ludos afficit) +STR_CONFIG_SETTING_TYPE_GAME_MENU :Electio ludi (inclusa in ludis servatis; modo ludos novos afficit) +STR_CONFIG_SETTING_TYPE_GAME_INGAME :Electio ludi (inclusa in ludo servato; modo ludum currentem afficit) +STR_CONFIG_SETTING_TYPE_COMPANY_MENU :Electio societatis (inclusa in ludis servatis; modo ludos novos afficit) +STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :Electio societatis (inclusa in ludo servato; modo societatem currentem afficit) + +STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK}Categoria: +STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}Typus: +STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Definit indicem optionum ut solum electiones simplices aut mutatae monstrentur +STR_CONFIG_SETTING_RESTRICT_BASIC :Electiones simplices (modo monstrare electiones magni momenti) +STR_CONFIG_SETTING_RESTRICT_ADVANCED :Electiones doctae (monstrare pleras electiones) +STR_CONFIG_SETTING_RESTRICT_ALL :Electiones peritae (monstrare omnes electiones, etiam insolitas) +STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :Electiones cuius valores differunt solitis +STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :Electiones cuius valores differunt eis ludorum novorum + +STR_CONFIG_SETTING_TYPE_DROPDOWN_HELPTEXT :{BLACK}Definit indicem ut tantum quaedam optiones monstrentur +STR_CONFIG_SETTING_TYPE_DROPDOWN_ALL :Omnes electiones +STR_CONFIG_SETTING_TYPE_DROPDOWN_CLIENT :Electiones clientis (non inclusae in ludis servatis; omnes ludos afficiunt) +STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :Electiones ludi (inclusae in ludis servatis; modo ludos novos afficiunt) +STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :Electiones ludi (inclusae in ludo servato; modo ludum currentem afficiunt) +STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :Electiones societatis (inclusae in ludis servatis; modo ludos novos afficiunt) +STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :Electiones societatis (inclusae in ludo servato; modo societatem currentem afficiunt) +STR_CONFIG_SETTING_CATEGORY_HIDES :{BLACK}Monstrare eventum investigationis optione separatum{}{SILVER}Categoria {BLACK}ad {WHITE}{STRING} +STR_CONFIG_SETTING_TYPE_HIDES :{BLACK}Monstrare eventum investigationis optione separatum{}{SILVER}Typus {BLACK}ad {WHITE}Omnes electionis typi +STR_CONFIG_SETTING_CATEGORY_AND_TYPE_HIDES :{BLACK}Monstrare eventum investigationis optione separatum{}{SILVER}Categoria {BLACK}ad {WHITE}{STRING} {BLACK}et {SILVER}Typus {BLACK}ad {WHITE}Omnes electionis typi +STR_CONFIG_SETTINGS_NONE :{WHITE}- Nullae - + +STR_CONFIG_SETTING_OFF :Non +STR_CONFIG_SETTING_ON :Ita +STR_CONFIG_SETTING_DISABLED :Neglecta + +STR_CONFIG_SETTING_COMPANIES_OFF :Non +STR_CONFIG_SETTING_COMPANIES_OWN :Tuae societati +STR_CONFIG_SETTING_COMPANIES_ALL :Omnibus societatibus + +STR_CONFIG_SETTING_NONE :Nullus +STR_CONFIG_SETTING_ORIGINAL :Originalis +STR_CONFIG_SETTING_REALISTIC :Realisticus + +STR_CONFIG_SETTING_HORIZONTAL_POS_LEFT :Laevo +STR_CONFIG_SETTING_HORIZONTAL_POS_CENTER :Medio +STR_CONFIG_SETTING_HORIZONTAL_POS_RIGHT :Dextro + +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Creditum maximum in initio: {STRING} +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Copia crediti maxima (sine inflatione) +STR_CONFIG_SETTING_INTEREST_RATE :Proportio faenoris: {STRING} +STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :Proportio faenoris creditorum; etiam inflationem afficit, si inflatio adest +STR_CONFIG_SETTING_RUNNING_COSTS :Pretii operandi: {STRING} +STR_CONFIG_SETTING_RUNNING_COSTS_HELPTEXT :Eligere magnitudinem pretiorum vehicula operandi atque infrastructuram ministrandi +STR_CONFIG_SETTING_CONSTRUCTION_SPEED :Velocitas struendi: {STRING} +STR_CONFIG_SETTING_CONSTRUCTION_SPEED_HELPTEXT :Definire IA velocitatem struendi +STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS :Defectiones vehiculorum: {STRING} +STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS_HELPTEXT :Eligere crebritatem vehiculis deficiendi quae parum ministrantur +STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER :Multiplicator subsidiorum: {STRING} +STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER_HELPTEXT :Eligere proportionem reditus additicii subsidiorum +STR_CONFIG_SETTING_CONSTRUCTION_COSTS :Pretii struendi: {STRING} +STR_CONFIG_SETTING_CONSTRUCTION_COSTS_HELPTEXT :Eligere magnitudinem pretiorum struendi emendique +STR_CONFIG_SETTING_RECESSIONS :Recessiones: {STRING} +STR_CONFIG_SETTING_RECESSIONS_HELPTEXT :Sinere recessiones oeconomicae aliquando accidere. In recessione oeconomica, productio omnino minuitur (sed, recessione confecta, productio redit ad magnitudinem priorem) +STR_CONFIG_SETTING_TRAIN_REVERSING :Vetare tramina cursum reflectere in stationibus: {STRING} +STR_CONFIG_SETTING_TRAIN_REVERSING_HELPTEXT :Si electa, tramina non possunt cursum reflectere in stationibus quae non sunt termini, etsi adest iter brevius ad destinatum cursu reflexo +STR_CONFIG_SETTING_DISASTERS :Calamitates: {STRING} +STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Sinere calamitates accidere, quae forte vehicula aut infrastructuram destruant +STR_CONFIG_SETTING_CITY_APPROVAL :Quamdiu auctoritas vicinalis patitur malas actiones a societatibus: {STRING} +STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Eligere patientiam auctoritatis vicinalis - quomodo venia eius afficitur a sonito et detrimento vicinitatis. Nimis malis actionibus, auctoritates vetant stationes struere, aedificia viasque removere + +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :Altitudo tabulae maxima: {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :Eligere altitudinem montium maximam in tabula +STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}Non licet hanc altitudinem eligere. Unus pluresve mons in tabula altior est +STR_CONFIG_SETTING_AUTOSLOPE :Sinere terram plasmare sub aedificia, vias, etc.: {STRING} +STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Sinere terram plasmare sub aedificia et vias; tum necesse non est aedificia viasve removere +STR_CONFIG_SETTING_CATCHMENT :Sinere magnitudines regionum acceptionis magis realisticas esse: {STRING} +STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Si electa, aeroportus et alii stationum typi habent meliores regiones acceptionis +STR_CONFIG_SETTING_EXTRADYNAMITE :Sinere plures vias, pontes, et cuniculos removere in oppidis: {STRING} +STR_CONFIG_SETTING_EXTRADYNAMITE_HELPTEXT :Si electa, infrastructura et aedificia oppidorum sunt magis facilia remotu +STR_CONFIG_SETTING_TRAIN_LENGTH :Longitudo traminum maxima: {STRING} +STR_CONFIG_SETTING_TRAIN_LENGTH_HELPTEXT :Eligere longitudinem traminum maximam +STR_CONFIG_SETTING_TILE_LENGTH :{COMMA} tegul{P 0 ae arum} +STR_CONFIG_SETTING_SMOKE_AMOUNT :Algorithmus fumi/favillarum vehiculorum: {STRING} +STR_CONFIG_SETTING_SMOKE_AMOUNT_HELPTEXT :Eligere crebritatem fumi favillarumve quae e vehiculis emissi sunt +STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL :Algorithmus accelerationis traminum: {STRING} +STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL_HELPTEXT :Eligere algorithmum physicae accelerationis hamaxostichorum. Algorithmus "originalis" facit ut omnes hamaxostichi aeque tardescant in clivis. Algorithmus "realisticus" facit ut hamaxostichi tardescant in clivis et flexibus per potestate, longitudine, etc. +STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL :Algorithmus accelerationis vehiculorum viariorum: {STRING} +STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL_HELPTEXT :Eligere algorithmum physicae accelerationis vehiculorum viariorum. Algorithmus "originalis" facit ut omnes vehicula aeque tardescant in clivis. Algorithmus "realisticus" facit ut vehicula tardescant in clivis et flexibus per potestate, vire tractionis, etc. +STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS :Arduitas clivorum traminibus: {STRING} +STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS_HELPTEXT :Arduitas tegulae clivosae hamaxosticho. Arduitate maiore, difficultas ascendendi maior est hamaxostichis +STR_CONFIG_SETTING_PERCENTAGE :{COMMA}% +STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS :Arduitas clivorum vehiculis viariis: {STRING} +STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT :Arduitas tegulae clivosae vehiculo viario. Arduitate maiore, difficultas ascendendi maior est vehiculis +STR_CONFIG_SETTING_FORBID_90_DEG :Vetare tramina et naves cursum flectere 90°: {STRING} +STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Tramina possunt cursum flectere in astariis aut 45° (diagonale deinde horizontale/verticale) aut 90° (horizontale deinde verticale); quoque naves possunt cursum 90° aut 45° cursum flectere. Hac electa, tantum 45° licet +STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Sinere stationes iungi quae non contigua sunt: {STRING} +STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Sinere partes stationi addere quae non prorsus contigua sunt. Necesse est Ctrl premere dum novae partes adduntur. +STR_CONFIG_SETTING_INFLATION :Inflatio: {STRING} +STR_CONFIG_SETTING_INFLATION_HELPTEXT :Sinere inflationem oeconomicam fieri, i.e. cum expensa surgunt celerius quam reditus +STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Longitudo pontium maxima: {STRING} +STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Eligere longitudinem pontium maximam +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :Altitudo pontium maxima: {STRING} +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :Eligere altitudinem pontium maximam +STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Longitudo cuniculorum maxima: {STRING} +STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :Eligere longitudinem cuniculorum maximam +STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Modus industrias primarias a lusore condendi: {STRING} +STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_HELPTEXT :Modus industriam primariam condendi. Optione 'nullo' electa, industrias condere non licet; 'prospiciendo' electa, licet condere industrias, sed locus industriae forte apparet in tabula atque forsitan desit; 'in loco aliarum industriarum' electa, licet industrias primarias condere a societatibus sicut industrias secondarias, in quovis loco +STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NONE :Nullo +STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NORMAL :In loco aliarum industriarum +STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_PROSPECTING :Prospiciendo +STR_CONFIG_SETTING_INDUSTRY_PLATFORM :Spatium planum circa industrias: {STRING} +STR_CONFIG_SETTING_INDUSTRY_PLATFORM_HELPTEXT :Magnitudo spatii plani circa industriam. Facit ut adsit spatium circa quamque industriam ad ferriviam struendam, etc. +STR_CONFIG_SETTING_MULTIPINDTOWN :Sinere plures industrias eiusdem typi adesse apud oppidum: {STRING} +STR_CONFIG_SETTING_MULTIPINDTOWN_HELPTEXT :Generaliter, oppidum non vult plus quam unam industriam eiusdem typi. Hac electa, licet plures industrias eiusdem typi adesse in eodem oppido +STR_CONFIG_SETTING_SIGNALSIDE :Signalia ponuntur: {STRING} +STR_CONFIG_SETTING_SIGNALSIDE_HELPTEXT :Eligere latus astarii in quo signalia ponuntur +STR_CONFIG_SETTING_SIGNALSIDE_LEFT :in sinistro +STR_CONFIG_SETTING_SIGNALSIDE_DRIVING_SIDE :in latere gubernandi +STR_CONFIG_SETTING_SIGNALSIDE_RIGHT :in dextro +STR_CONFIG_SETTING_SHOWFINANCES :Monstrare fenestram argentariam anno finito: {STRING} +STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT :Electa, fenestra argentaria ostenditur quoque anno finito ut facile inspiciatur status argentarius societatis +STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :Nova iussa solite 'continua' sunt: {STRING} +STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT :Solite, vehicula consistunt cuique stationi quam inveniunt. Hac electa, vehicula praeteribunt, non consistentes, omnibus stationibus usque ad destinatum ultimum. Cave, haec electio modo valorem iussi novi solitum definit. Quidque tamen iussum potest utrique modo adlegi +STR_CONFIG_SETTING_STOP_LOCATION :Tramina solite sistunt in {STRING} suggestus +STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Pars suggestus in qua hamaxostichi solite sistunt. 'Citera pars' est juxta aditum, in 'medio' certe est in medio suggestus, et 'ultra pars' est procul ab aditu. Cave, haec electio modo valorem iussi novi solitum definit. Quidque tamen iussum potest utrique modo adlegi +STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :citera parte +STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :medio +STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :ultra parte +STR_CONFIG_SETTING_AUTOSCROLL :Cum cursor in margine est, movere: {STRING} +STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Electa, conspectus vagari incipiunt cum cursor muris apud marginem fenestrae est +STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Nullam fenestram +STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT_FULLSCREEN :Fenestram primariam (cunctum scrinium) +STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT :Fenestram primariam +STR_CONFIG_SETTING_AUTOSCROLL_EVERY_VIEWPORT :Quamque fenestram +STR_CONFIG_SETTING_BRIBE :Sinere largiri auctoritatem vicinalem: {STRING} +STR_CONFIG_SETTING_BRIBE_HELPTEXT :Sinere societatibus conari largiri auctoritatem vicinalem. Si largitio animadversa est ab inquisitore, non licet societati agere in oppido 6 menses +STR_CONFIG_SETTING_ALLOW_EXCLUSIVE :Sinere societatibus emere monopolia: {STRING} +STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT :Si societas monopolium oppidi emit, nulla onera mittet stationibus competitorum in oppido (et onerariis et vectoriis) unum totum annum +STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS :Sinere condere aedificia: {STRING} +STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS_HELPTEXT :Electa, licet societatibus donare pecuniam oppidis ut nova aedificia condantur +STR_CONFIG_SETTING_ALLOW_FUND_ROAD :Sinere donare oppidis ut viae reconstruantur: {STRING} +STR_CONFIG_SETTING_ALLOW_FUND_ROAD_HELPTEXT :Sinere societatibus pecuniam donare oppidis ut viae reconstruantur et vectura viaria in oppido pessumdetur +STR_CONFIG_SETTING_ALLOW_GIVE_MONEY :Sinere dare pecuniam aliis societatibus: {STRING} +STR_CONFIG_SETTING_ALLOW_GIVE_MONEY_HELPTEXT :Sinere tradere pecuniam inter societates pluribus lusoribus +STR_CONFIG_SETTING_FREIGHT_TRAINS :Multiplicator ponderis onerum ad hamaxostichos graves simulandos: {STRING} +STR_CONFIG_SETTING_FREIGHT_TRAINS_HELPTEXT :Eligere momentum onerum hamaxostichis. Valoribus maioribus, difficilis est hamaxostichis onera trahere, magnopere in collibus +STR_CONFIG_SETTING_PLANE_SPEED :Multiplicator velocitatis aeroplanorum: {STRING} +STR_CONFIG_SETTING_PLANE_SPEED_HELPTEXT :Eligere si aeroplana eant lentius quam alia vehicula, ut reditus aeroplanorum minuatur +STR_CONFIG_SETTING_PLANE_SPEED_VALUE :1 / {COMMA} +STR_CONFIG_SETTING_PLANE_CRASHES :Calamitates aeroplanicae accidunt: {STRING} +STR_CONFIG_SETTING_PLANE_CRASHES_HELPTEXT :Eligere crebritatem calamitatum aeroplanicarum +STR_CONFIG_SETTING_PLANE_CRASHES_NONE :Numquam +STR_CONFIG_SETTING_PLANE_CRASHES_REDUCED :Raro +STR_CONFIG_SETTING_PLANE_CRASHES_NORMAL :Mediocriter +STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Sinere stationes viarias pervias esse in viis oppidorum: {STRING} +STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Sinere struere stationes viarias pervias in viis quas oppida possident +STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Sinere stationes viarias pervias esse in viis competitorum: {STRING} +STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Sinere struere stationes viarias pervias in viis quas competitores possident +STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Non licet mutare hanc electionem cum adsunt vehicula +STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Tuitio infrastructurae: {STRING} +STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Electa, infrastructura prodit expensa tuitionis. Expensa crescunt celerius quam pro portione magnitudini retis, ergo societates magnae affectantur magis quam parvae + +STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Aeroportus numquam recedunt: {STRING} +STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Electa, omnes aeroportuum typi permanent post introductionem + +STR_CONFIG_SETTING_WARN_LOST_VEHICLE :Monere si vehiculum errans sit: {STRING} +STR_CONFIG_SETTING_WARN_LOST_VEHICLE_HELPTEXT :Electa, nuntiatur cum vehicula non possint invenire viam ad destinatum +STR_CONFIG_SETTING_ORDER_REVIEW :Recensere iussa vehiculorum: {STRING} +STR_CONFIG_SETTING_ORDER_REVIEW_HELPTEXT :Electa, iussa vehiculorum aliquando recensentur, atque nonnulla manifesta problemata nuntiantur, si detecta sint +STR_CONFIG_SETTING_ORDER_REVIEW_OFF :Non +STR_CONFIG_SETTING_ORDER_REVIEW_EXDEPOT :Ita, sed non vehicluorum constitorum +STR_CONFIG_SETTING_ORDER_REVIEW_ON :Ita, omnium vehiculorum +STR_CONFIG_SETTING_WARN_INCOME_LESS :Monere si reditus vehiculi negativus sit: {STRING} +STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT :Electa, nuntium ostenditur cum vehiculum non facit lucrum in anno +STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Vehicula numquam recedunt: {STRING} +STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Electa, omnes vehiculorum typi permanent post introductionem +STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Autoredimere vehicula cum veterascunt: {STRING} +STR_CONFIG_SETTING_AUTORENEW_VEHICLE_HELPTEXT :Electa, vehicula veterascentia automatice redimuntur, condicionibus satisfactis +STR_CONFIG_SETTING_AUTORENEW_MONTHS :Autoredimere vehiculum cum {STRING} aetatem maximam est +STR_CONFIG_SETTING_AUTORENEW_MONTHS_HELPTEXT :Aetas relativa in qua vehicula esse autoredimenda debet +STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_BEFORE :{COMMA} mens{P em es} ante +STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_AFTER :{COMMA} mens{P em es} post +STR_CONFIG_SETTING_AUTORENEW_MONEY :Copia pecuniae minima necesse ad redimere: {STRING} +STR_CONFIG_SETTING_AUTORENEW_MONEY_HELPTEXT :Copia pecuniae minima quam debet esse in ratione argentaria antequam vehicula autoredimenda sunt +STR_CONFIG_SETTING_ERRMSG_DURATION :Duratio nuntiorum errorum: {STRING} +STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Duratio nuntia errorum in fenestra rubra ostendendi. Cave, aliquae (severa) nuntia errorum non automatice clauditur, et necesse est lusori claudere +STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{COMMA} secund{P um a} +STR_CONFIG_SETTING_HOVER_DELAY :Ostendere nuntia adiuvantia: {STRING} +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Mora antequam nuntia adiuvantia ostenduntur cum mus elemento interfaciei superponitur. Etiam adiuvantia nuntia possunt ostendi globulo muris dextro cum hic valor 0 est +STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Superponere {COMMA} millisecund{P um a} +STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Globulo muris dextro +STR_CONFIG_SETTING_POPULATION_IN_LABEL :Monstrare incolas in signis nominis oppidorum: {STRING} +STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Monstrare numerum incolarum oppidorum in signis nominis eorum in tabula geographica +STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Crassitudo linearum in formulis graphicis: {STRING} +STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Crassitudo/latitudo linearum in formulis graphicis. Linea tenuis est subtilis lectu, sed linea crassa facilior est visu atque colores faciliores discretu + +STR_CONFIG_SETTING_LANDSCAPE :Terra: {STRING} +STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Terrae definiunt quomodo ludis, nam varia onera habent atque oppida varia poscunt ut crescantur. Sed NewGRF et Ludi Scripta possunt subtilius gubernare ludum +STR_CONFIG_SETTING_LAND_GENERATOR :Generatrum terrae: {STRING} +STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :Generatrum originale dependet fundamento graphico, et conficit figuras terrae fixas. TerraGenesis est generatrum sonitus Perlin cum electionibus subtilioribus +STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Originale +STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis +STR_CONFIG_SETTING_TERRAIN_TYPE :Typus terrae: {STRING} +STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(modo TerraGenesis) Clivositas terrae +STR_CONFIG_SETTING_INDUSTRY_DENSITY :Numerus industriarum: {STRING} +STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Eligere quot industriae oportet esse constructae ac oportet sustineri intra ludum +STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Spatium maximum a finibus tabulae ad ergasteria petrolearia struenda: {STRING} +STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Ergasteria petrolearia modo struuntur apud fines tabulae, i.e. in littore si mappa est insula +STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Altitudo lineae nivis: {STRING} +STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Eligere altitudinem apud quam nix incipit cadere in terra subarctica. Nix etiam afficit conditionem industriarum et desideria oppidorum +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Asperitas terrae (modo TerraGenesis): {STRING} +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(modo TerraGenesis) Eligere crebritatem collium: Terra teres habet minores rarosque colles. Terra aspera habet multos colles, et forsitan videtur esse repetita +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Teretissima +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Teres +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Aspera +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Asperrima +STR_CONFIG_SETTING_VARIETY :Partitio varietatis: {STRING} +STR_CONFIG_SETTING_VARIETY_HELPTEXT :(modo TerraGenesis) Eligere si tabula contineat et montanos et planos locos. Quoniam haec solum facit ut tabula planior sit, electiones aliae oportet esse montanae +STR_CONFIG_SETTING_RIVER_AMOUNT :Numerus fluviorum: {STRING} +STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Eligere quot fluvii creandi sunt +STR_CONFIG_SETTING_TREE_PLACER :Algorithmus arbores ponendi: {STRING} +STR_CONFIG_SETTING_TREE_PLACER_HELPTEXT :Eligere partitionem arborum in tabula: Algorithmus 'Originalis' aequaliter serit arbores, 'Melior' arbores serit gregatim +STR_CONFIG_SETTING_TREE_PLACER_NONE :Nullus +STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :Originalis +STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :Melior +STR_CONFIG_SETTING_ROAD_SIDE :Vehicula viaria: {STRING} +STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :Eligere latus viae gubernandi +STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Circuitus tabulae altitudinum: {STRING} +STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Sinistrorsus +STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Dextrorsus +STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :Altitudo scaenario plano data: {STRING} +STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}Una pluresve tegulae apud finem septentrionalem non vacuae sunt +STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}Una pluresve tegulae apud unum finem non aquae sunt + +STR_CONFIG_SETTING_STATION_SPREAD :Spatium stationum maximum: {STRING} +STR_CONFIG_SETTING_STATION_SPREAD_HELPTEXT :Area maxima in qua partes stationum possunt esse sita. Cave, numeris spatii magnis, ludus lentus sit +STR_CONFIG_SETTING_SERVICEATHELIPAD :Ministrare helicoptera automatice in helicopterariis: {STRING} +STR_CONFIG_SETTING_SERVICEATHELIPAD_HELPTEXT :Ministrare helicoptera post quemque appulsum, etsi non est tugurium portui +STR_CONFIG_SETTING_LINK_TERRAFORM_TOOLBAR :Connectere terrae arcam ferramentorum arcis ferriviariae/viariae/aquariae/aeriae ferramentorum: {STRING} +STR_CONFIG_SETTING_LINK_TERRAFORM_TOOLBAR_HELPTEXT :Cum arca ferramentorum constructionis aperitur, etiam plasmationis terrae arca ferramentorum aperitur +STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR :Color terrae in tabula adhibitus: {STRING} +STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_HELPTEXT :Color terrae in tabula geographica parva +STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_GREEN :Viridis +STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :Viridis Obscurus +STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :Purpureus +STR_CONFIG_SETTING_REVERSE_SCROLLING :Revertere cursum vagationis: {STRING} +STR_CONFIG_SETTING_REVERSE_SCROLLING_HELPTEXT :Quomodo tabula vagatur globulo dextri presso. Neglecta, mus conspectum movet. Electa, mus tabulam movet +STR_CONFIG_SETTING_SMOOTH_SCROLLING :Vagari conspectum leniter: {STRING} +STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Quomodo conspectus vagatur ad quemdam locum globulo sinistro in tabula premendi aut cum iubetur vagari ad quamdam rem in tabula. Electa, conspectus leniter vagatur. Neglecta, statim salit ad locum +STR_CONFIG_SETTING_MEASURE_TOOLTIP :Ostendere nuntium adiuvans apud varia ferramenta construendi: {STRING} +STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT :Ostendere spatium atque altitudinem inter tegulas dum mus trahitur in construendo +STR_CONFIG_SETTING_LIVERIES :Monstrare schemata coloris vehiculorum per typum: {STRING} +STR_CONFIG_SETTING_LIVERIES_HELPTEXT :Sinere schemata coloris esse per vehiculi typum (non tantum per vehiculi societatem) +STR_CONFIG_SETTING_LIVERIES_NONE :Non +STR_CONFIG_SETTING_LIVERIES_OWN :Modo meae societati +STR_CONFIG_SETTING_LIVERIES_ALL :Omnibus societatibus +STR_CONFIG_SETTING_PREFER_TEAMCHAT :Praeferre colloquium manus cum : {STRING} +STR_CONFIG_SETTING_PREFER_TEAMCHAT_HELPTEXT :Mutare iussum colloquii interni et publici ad aut +STR_CONFIG_SETTING_SCROLLWHEEL_SCROLLING :Actio rotulae vagationis: {STRING} +STR_CONFIG_SETTING_SCROLLWHEEL_SCROLLING_HELPTEXT :Sinere vagari rotulis muris volvendis +STR_CONFIG_SETTING_SCROLLWHEEL_ZOOM :Amplificare/retrahere tabulam +STR_CONFIG_SETTING_SCROLLWHEEL_SCROLL :Vagari tabulam +STR_CONFIG_SETTING_SCROLLWHEEL_OFF :Nulla +STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER :Velocitas tabulam rotula muris vagandi: {STRING} +STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER_HELPTEXT :Eligere velocitatem rotula muris vagationis +STR_CONFIG_SETTING_OSK_ACTIVATION :Claviatura in scrinio: {STRING} +STR_CONFIG_SETTING_OSK_ACTIVATION_HELPTEXT :Eligere modum claviaturam aperiendi in scrinio ut verba scribantur modo a mure (vel instrumento simile). Magnopere utilis est machinis parvis sine claviaturis veris +STR_CONFIG_SETTING_OSK_ACTIVATION_DISABLED :Celata +STR_CONFIG_SETTING_OSK_ACTIVATION_DOUBLE_CLICK :Bis premendo +STR_CONFIG_SETTING_OSK_ACTIVATION_SINGLE_CLICK_FOCUS :Semel premendo (dum conspicua est) +STR_CONFIG_SETTING_OSK_ACTIVATION_SINGLE_CLICK :Semel premendo (statim) + +STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU :Aemulatio dextrum premendi: {STRING} +STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_HELPTEXT :Eligere modum aemulationis dextrum globulum muris premendi +STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_COMMAND :Cmd+Premere +STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_CONTROL :Ctrl+Premere +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_AUTOSAVE :Servare automatice: {STRING} +STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Eligere crebritatem automatice ludum servandi + +STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Forma {STRING} diei adhibenda in nominibus ludorum servatorum +STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Forma diei in nominibus ludorum servatorum +STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :longa (XXXI Dec 2008) +STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :brevis (31-12-2008) +STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31) + +STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Intermittere automatice cum novus ludus incipitur: {STRING} +STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :Electa, ludus automatice intermittitur cum incipitur, tunc tabula potest inspici +STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Ludo intermisso, sinere: {STRING} +STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_HELPTEXT :Eligere quas actiones licet fieri, ludo intermisso +STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :Nullam actionem +STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :Omnes actiones praeter constructionem +STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :Omnes actiones praeter terrae plasmationem +STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_ACTIONS :Omnes actiones +STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Greges in indicibus vehiculorum adhibendae: {STRING} +STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Annuere indices cum gregibus vehiculorum adesse +STR_CONFIG_SETTING_LOADING_INDICATORS :Signa onerandi adhibenda: {STRING} +STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Annuere signa onerandi monstrari super vehicula onerantia/exonerantia +STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Monstrare horarium cum punctis et non cum diebus: {STRING} +STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT :Monstrare tempora navigandi in horariis punctis ludi et non diebus +STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE :Monstrare adventum atque exitum in horariis: {STRING} +STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT :Monstrare in horariis adventum atque exitum aestimatum +STR_CONFIG_SETTING_QUICKGOTO :Celeris datio iussorum vehiculorum: {STRING} +STR_CONFIG_SETTING_QUICKGOTO_HELPTEXT :Praesumere ferramentum 'I ad' cum fenestra iussorum aperitur +STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE :Typus astarii solitus (novo ludo/ludo lecto): {STRING} +STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_HELPTEXT :Typus astarii adhibendus in novo ludo sive ludo lecto. 'Primus parabilis' typus est veterrimus, 'postremus parabilis' est novissimus typus, et 'frequentissime usus' est typus maxime in tabula usus +STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_FIRST :Primus parabilis +STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_LAST :Postremus parabilis +STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_MOST_USED :Frequentissime usus +STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :Monstrare cursus reservatos in astariis: {STRING} +STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION_HELPTEXT :Facit ut astaria cum cursibus a tramine reservatis habeant alium colorem, ut facilior sit videre errores hamaxostichorum qui nolunt inire quosdam locos cum signalibus +STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Ferramenta struendi manent post usum: {STRING} +STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Electa, ferramenta struendi (cuniculorum, pontium, ceterorum) tamen activa sunt postquam usa sunt +STR_CONFIG_SETTING_EXPENSES_LAYOUT :Congregare expensa in fenestra argentaria societatis: {STRING} +STR_CONFIG_SETTING_EXPENSES_LAYOUT_HELPTEXT :Definire dispositionem fenestrae argentariae societatis + +STR_CONFIG_SETTING_SOUND_TICKER :Nuntia breviaria: {STRING} +STR_CONFIG_SETTING_SOUND_TICKER_HELPTEXT :Sonare cum nuntium breviarium emittitur +STR_CONFIG_SETTING_SOUND_NEWS :Ephemeris: {STRING} +STR_CONFIG_SETTING_SOUND_NEWS_HELPTEXT :Sonare cum ephemeris ostenditur +STR_CONFIG_SETTING_SOUND_NEW_YEAR :Annni finis: {STRING} +STR_CONFIG_SETTING_SOUND_NEW_YEAR_HELPTEXT :Sonare anno finito cum summarium effectus societatis ostenditur +STR_CONFIG_SETTING_SOUND_CONFIRM :Constructio: {STRING} +STR_CONFIG_SETTING_SOUND_CONFIRM_HELPTEXT :Sonare cum res struuntur +STR_CONFIG_SETTING_SOUND_CLICK :Pressus globulorum: {STRING} +STR_CONFIG_SETTING_SOUND_CLICK_HELPTEXT :Sonare globulo presso +STR_CONFIG_SETTING_SOUND_DISASTER :Calamitates/accidentes: {STRING} +STR_CONFIG_SETTING_SOUND_DISASTER_HELPTEXT :Sonare cum calamitates accidentesve accidunt +STR_CONFIG_SETTING_SOUND_VEHICLE :Vehicula: {STRING} +STR_CONFIG_SETTING_SOUND_VEHICLE_HELPTEXT :Sinere vehicula sonare +STR_CONFIG_SETTING_SOUND_AMBIENT :Ambientes: {STRING} +STR_CONFIG_SETTING_SOUND_AMBIENT_HELPTEXT :Sinere sonos ambientes industriarum, oppidorum, terraeque fieri + +STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING :Vetare constructionem infrastructurae dum nulla vehicula parabilia sunt: {STRING} +STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING_HELPTEXT :Electa, infrastructura modo parabilis est si adsunt vehicula parabilia. Itaque non licet absumere pecuniam tempusque struendi infrastructuram inutilem +STR_CONFIG_SETTING_MAX_TRAINS :Numerus maximus traminum cuiusque societatis: {STRING} +STR_CONFIG_SETTING_MAX_TRAINS_HELPTEXT :Numerus maximus hamaxostichorum quos societas habere licet +STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :Numerus maximus vehiculorum viariorum cuiusque societatis: {STRING} +STR_CONFIG_SETTING_MAX_ROAD_VEHICLES_HELPTEXT :Numerus maximus vehiculorum viariorum quae societas habere licet +STR_CONFIG_SETTING_MAX_AIRCRAFT :Numerus maximus aeroplanorum cuiusque societatis: {STRING} +STR_CONFIG_SETTING_MAX_AIRCRAFT_HELPTEXT :Numerus maximus aeroplanorum quae societas habere licet +STR_CONFIG_SETTING_MAX_SHIPS :Numerus maximus navium cuiusque societatis: {STRING} +STR_CONFIG_SETTING_MAX_SHIPS_HELPTEXT :Numerus maximus navium quas societas habere licet + +STR_CONFIG_SETTING_AI_BUILDS_TRAINS :Vetare IA tramina habere: {STRING} +STR_CONFIG_SETTING_AI_BUILDS_TRAINS_HELPTEXT :Electa, non licet lusori IA tramina tenere +STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES :Vetare IA vehicula viaria habere: {STRING} +STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES_HELPTEXT :Electa, non licet lusori IA vehicula viaria tenere +STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT :Vetare IA aeroplana habere: {STRING} +STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT_HELPTEXT :Electa, non licet lusori IA aeroplana tenere +STR_CONFIG_SETTING_AI_BUILDS_SHIPS :Vetare IA naves habere: {STRING} +STR_CONFIG_SETTING_AI_BUILDS_SHIPS_HELPTEXT :Electa, non licet lusori IA naves tenere + +STR_CONFIG_SETTING_AI_PROFILE :Ratio optionum solita: {STRING} +STR_CONFIG_SETTING_AI_PROFILE_HELPTEXT :Eligere quae ratio optionum adhibenda est ad fortuitam IA, sive valores initiales cum nova IA seu Ludi Scriptum legitur +STR_CONFIG_SETTING_AI_PROFILE_EASY :Facilis +STR_CONFIG_SETTING_AI_PROFILE_MEDIUM :Mediocris +STR_CONFIG_SETTING_AI_PROFILE_HARD :Difficilis + +STR_CONFIG_SETTING_AI_IN_MULTIPLAYER :Sinere IA in ludis cum pluribus lusoribus: {STRING} +STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Sinere lusores IA asesse in ludis cum pluribus lusoribus +STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :#opcodes antequam scripta suspensa sunt: {STRING} +STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Numerus maximus computationum scripti uno vice + +STR_CONFIG_SETTING_SERVINT_ISPERCENT :Intervalla ministrationis monstrantur centesimis partibus: {STRING} +STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Eligere si ministratio vehiculorum fiat aut quia satis sit tempus post ministrationem priorem, aut quia constantia vehiculi minuatur quamdam partem centesimam de constantia maxima +STR_CONFIG_SETTING_SERVINT_TRAINS :Intervallum ministrationis solitum traminibus: {STRING} +STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Eligere solitum intervallum ministrationis novis vehiculis ferriviariis, si non est proprium intervallum ministrationis vehiculo +STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}die{P 0 m s}/% +STR_CONFIG_SETTING_SERVINT_DISABLED :Neglectum +STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES :Intervallum ministrationis solitum vehiculis viariis: {STRING} +STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES_HELPTEXT :Eligere solitum intervallum ministrationis novis vehiculis viariis, si non est proprium intervallum ministrationis vehiculo +STR_CONFIG_SETTING_SERVINT_AIRCRAFT :Intervallum ministrationis solitum aeroplanis: {STRING} +STR_CONFIG_SETTING_SERVINT_AIRCRAFT_HELPTEXT :Eligere solitum intervallum ministrationis novis aeroplanis, si non est proprium intervallum ministrationis vehiculo +STR_CONFIG_SETTING_SERVINT_SHIPS :Intervallum ministrationis solitum navibus: {STRING} +STR_CONFIG_SETTING_SERVINT_SHIPS_HELPTEXT :Eligere solitum intervallum ministrationis novis navibus, si non est proprium intervallum ministrationis vehiculo +STR_CONFIG_SETTING_NOSERVICE :Neglegere ministrationem cum nullae sunt defectiones vehiculorum: {STRING} +STR_CONFIG_SETTING_NOSERVICE_HELPTEXT :Electa, vehicula non ministrantur defectionibus vetatis +STR_CONFIG_SETTING_WAGONSPEEDLIMITS :Annuere currus ferriviarios habere velocitates maximas: {STRING} +STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT :Electa, velocitates maximae curruum afficiunt velocitatem maximam traminis +STR_CONFIG_SETTING_DISABLE_ELRAILS :Neglegere ferrivias electricas: {STRING} +STR_CONFIG_SETTING_DISABLE_ELRAILS_HELPTEXT :Electa, tramina electrica non postulant electricam ferriviam, modo ferriviam solitam + +STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OWN :De adventu primi vehiculi stationi lusoris: {STRING} +STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OWN_HELPTEXT :Ostendere ephemeridem cum primum vehiculum adveniat stationi lusoris +STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OTHER :De adventu primi vehiculi stationi competitoris: {STRING} +STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OTHER_HELPTEXT :Ostendere ephemeridem cum primum vehiculum adveniat stationi competitoris +STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS :De accidentibus / calamitatibus: {STRING} +STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS_HELPTEXT :Ostendere ephemeridem cum accidentes calamitatesve fiant +STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION :De indicio societatis: {STRING} +STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION_HELPTEXT :Ostendere ephemeridem cum nova societas condiatur, sive cum societas in angustiis sit +STR_CONFIG_SETTING_NEWS_INDUSTRY_OPEN :De apertione industriae: {STRING} +STR_CONFIG_SETTING_NEWS_INDUSTRY_OPEN_HELPTEXT :Ostendere ephemeridem cum industria nova condiatur +STR_CONFIG_SETTING_NEWS_INDUSTRY_CLOSE :De industriis claudendis: {STRING} +STR_CONFIG_SETTING_NEWS_INDUSTRY_CLOSE_HELPTEXT :Ostendere ephemeridem cum industria mox claudatur +STR_CONFIG_SETTING_NEWS_ECONOMY_CHANGES :De mutationibus oeconomicis: {STRING} +STR_CONFIG_SETTING_NEWS_ECONOMY_CHANGES_HELPTEXT :Ostendere ephemeridem cum magna eventa oeconomica fiant +STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_COMPANY :De mutationibus productionis industriarum a societate lusoris attentae: {STRING} +STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_COMPANY_HELPTEXT :Ostendere ephemeridem cum productio industriarum a societate lusoris attentae mutet +STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_OTHER :De mutationibus productionis industriarum a societatibus competitorum attentae: {STRING} +STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_OTHER_HELPTEXT :Ostendere ephemeridem cum productio industriarum a societatibus competitorum attentae mutet +STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_UNSERVED :De mutationibus productionis aliarum industriarum: {STRING} +STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_UNSERVED_HELPTEXT :Ostendere ephemeridem cum productio industriarum a nulla societate attentae mutet +STR_CONFIG_SETTING_NEWS_ADVICE :De admonitione / indicio vehiculorum societatis lusoris: {STRING} +STR_CONFIG_SETTING_NEWS_ADVICE_HELPTEXT :Ostendere nuntium de vehiculis attendendis +STR_CONFIG_SETTING_NEWS_NEW_VEHICLES :De novis vehiculis: {STRING} +STR_CONFIG_SETTING_NEWS_NEW_VEHICLES_HELPTEXT :Ostendere ephemeridem cum novus vehiculi typus parabilis sit +STR_CONFIG_SETTING_NEWS_CHANGES_ACCEPTANCE :De mutationibus onerum acceptorum: {STRING} +STR_CONFIG_SETTING_NEWS_CHANGES_ACCEPTANCE_HELPTEXT :Ostendere nuntium cum statio onera accepta mutet +STR_CONFIG_SETTING_NEWS_SUBSIDIES :De subsidiis: {STRING} +STR_CONFIG_SETTING_NEWS_SUBSIDIES_HELPTEXT :Ostendere ephemeridem de eventis subsidiaribus +STR_CONFIG_SETTING_NEWS_GENERAL_INFORMATION :De indicio generale: {STRING} +STR_CONFIG_SETTING_NEWS_GENERAL_INFORMATION_HELPTEXT :Ostendere ephemeridem de eventis generalibus, e.g. de emptione monopolii vel inceptione reconstructionis viarii + +STR_CONFIG_SETTING_NEWS_MESSAGES_OFF :Neglecta +STR_CONFIG_SETTING_NEWS_MESSAGES_SUMMARY :Breviaria +STR_CONFIG_SETTING_NEWS_MESSAGES_FULL :Completa + +STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Ephemeris colorata apparet anno: {STRING} +STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Eligere annum in quo nuntia periodicorum colorata apparet. Antea, nuntia nigra albaque sunt +STR_CONFIG_SETTING_STARTING_YEAR :Annus initii: {STRING} +STR_CONFIG_SETTING_SMOOTH_ECONOMY :Sinere oeconomiam teretem esse (i.e. plures ac minores mutationes): {STRING} +STR_CONFIG_SETTING_SMOOTH_ECONOMY_HELPTEXT :Electa, productio industriarum saepius mutat, et minores per gradus. Sed haec electio nihil affert si industriae apparatae sunt a NewGRF +STR_CONFIG_SETTING_ALLOW_SHARES :Sinere mercari sortes societatum: {STRING} +STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT :Sinere mercari sortes a societatibus. Sortes societatum satis aetatis modo mercari licet +STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE :Centesimae partes lucri pendenda in translatione: {STRING} +STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :Centesimae lucri pars medietati data in systematibus transferendi, ut melius distribuatur lucrum vehiculorum +STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY :Trahens, ponere signalia: {STRING} +STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_HELPTEXT :Eligere spatium signalia struendi usque ad impedimentum proximum (i.e. aliud signale, compitum), si signalia ponuntur trahendo +STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_VALUE :{COMMA} quaque tegula +STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE :Trahens, continere spatium fixum inter signalia: {STRING} +STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT :Eligere modum signalia ponendi Ctrl+trahente. Neglecta, signalia ponuntur circa cuniculos pontesque ut non essent magna spatia sine signalibus. Electa, signalia ponuntur N quaque tegula, ut signalia in astariis parallelis faciliora sint directu +STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE :Struere signalia semaphorica automatice ante annum: {STRING} +STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT :Eligere annum in quo mutandum ad signalia electrica est. Antea, signalia semaphorica adhibenda sunt (quae idem munus habent, sed dissimilia sunt visu) +STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI :Annuere GUI signalium: {STRING} +STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI_HELPTEXT :Monstrare fenestram ad typos signalium struendos, in loco typum signalis mutando sine fenestra Ctrl+premendi +STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE :Solitus typus signalis struendus: {STRING} +STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE_HELPTEXT :Typus solitus signalis adhibendus +STR_CONFIG_SETTING_DEFAULT_SIGNAL_NORMAL :Signalia zonalia +STR_CONFIG_SETTING_DEFAULT_SIGNAL_PBS :Signalia itineris +STR_CONFIG_SETTING_DEFAULT_SIGNAL_PBSOWAY :Signalia itineris unius cursus +STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES :Mutare inter typus signalium: {STRING} +STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES_HELPTEXT :Eligere typos signalium mutandos cum premitur Ctrl pressa in signale structum +STR_CONFIG_SETTING_CYCLE_SIGNAL_NORMAL :Modo signalia zonalia +STR_CONFIG_SETTING_CYCLE_SIGNAL_PBS :Modo signalia itineris +STR_CONFIG_SETTING_CYCLE_SIGNAL_ALL :Omnes + +STR_CONFIG_SETTING_TOWN_LAYOUT :Dispositio viarum novis oppidis: {STRING} +STR_CONFIG_SETTING_TOWN_LAYOUT_HELPTEXT :Dispositio retis viarii oppidorum +STR_CONFIG_SETTING_TOWN_LAYOUT_DEFAULT :Originalis +STR_CONFIG_SETTING_TOWN_LAYOUT_BETTER_ROADS :Viae satius +STR_CONFIG_SETTING_TOWN_LAYOUT_2X2_GRID :Cancelli 2x2 +STR_CONFIG_SETTING_TOWN_LAYOUT_3X3_GRID :Cancelli 3x3 +STR_CONFIG_SETTING_TOWN_LAYOUT_RANDOM :Fortuita +STR_CONFIG_SETTING_ALLOW_TOWN_ROADS :Oppidis licet vias struere: {STRING} +STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT :Sinere oppida vias struere. Neglege ut auctoritates oppidorum prohibeantur ipsas struere vias +STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :Oppidis licet transitus ferriviarios struere: {STRING} +STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Electa, licet auctoritatibus oppidorum struere ferriviarios transitus +STR_CONFIG_SETTING_NOISE_LEVEL :Sinere oppida moderari aeroportus finibus soniti: {STRING} +STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Neglecta, modo licet duo esse aeroportus in quoque oppido. Electa, quot aeroportus licet esse in oppido finitur a sonito et distantia cuiusque aeroportus etiam a patientia soniti oppidi, quae afficitur numero incolarum oppidi +STR_CONFIG_SETTING_TOWN_FOUNDING :Lusoribus oppida condere: {STRING} +STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Electa, licet lusoribus condere oppida intra ludum +STR_CONFIG_SETTING_TOWN_FOUNDING_FORBIDDEN :Non licet +STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED :Licet +STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED_CUSTOM_LAYOUT :Licet, atque propria dispositio oppidi + +STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT :Positio arborum in ludo: {STRING} +STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_HELPTEXT :Quomodo arbores apparent intra ludum. Forsitan industriae afficiuntur quibus necesse sunt arbores, e.g. castra lignatorum +STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_NONE :Nulla {RED}(rumpit castra lignatorum) +STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_RAINFOREST :Modo in silvis plivualibus +STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_ALL :Ubique + +STR_CONFIG_SETTING_TOOLBAR_POS :Locus primariae arcae ferramentorum: {STRING} +STR_CONFIG_SETTING_TOOLBAR_POS_HELPTEXT :Locus horizontalis arcae ferramentorum primariae apud apicem fenestrae +STR_CONFIG_SETTING_STATUSBAR_POS :Locus serae status: {STRING} +STR_CONFIG_SETTING_STATUSBAR_POS_HELPTEXT :Locus horizontalis serae status apud infimam partem fenestrae +STR_CONFIG_SETTING_SNAP_RADIUS :Radius fenestrae adhaerendae: {STRING} +STR_CONFIG_SETTING_SNAP_RADIUS_HELPTEXT :Spatium minimum inter fenestras antequam automatice adhaesae sunt aliis fenestris +STR_CONFIG_SETTING_SNAP_RADIUS_VALUE :{COMMA} punct{P 0 um a} +STR_CONFIG_SETTING_SNAP_RADIUS_DISABLED :Neglectus +STR_CONFIG_SETTING_SOFT_LIMIT :Numerus fenestrarum non glutinosarum maximus: {STRING} +STR_CONFIG_SETTING_SOFT_LIMIT_HELPTEXT :Quot fenestrae non glutinosae licet apertae esse antequam veteres fenestrae clauduntur ut spatium novarum fenestrarum liberetur +STR_CONFIG_SETTING_SOFT_LIMIT_VALUE :{COMMA} +STR_CONFIG_SETTING_SOFT_LIMIT_DISABLED :Infinitus +STR_CONFIG_SETTING_ZOOM_MIN :Conspectus licet amplificari: {STRING} +STR_CONFIG_SETTING_ZOOM_MIN_HELPTEXT :Valor maximus ad conspectum amplificandum. Cave, desideria memoriae augetur valoribus huius electionis maioribus +STR_CONFIG_SETTING_ZOOM_MAX :Conspectus licet retrahi: {STRING} +STR_CONFIG_SETTING_ZOOM_MAX_HELPTEXT :Valor maximus ad conspectum retrahendum. Valores magni possunt ludum tardare +STR_CONFIG_SETTING_ZOOM_LVL_MIN :Quadruplex +STR_CONFIG_SETTING_ZOOM_LVL_IN_2X :Duplex +STR_CONFIG_SETTING_ZOOM_LVL_NORMAL :Numquam +STR_CONFIG_SETTING_ZOOM_LVL_OUT_2X :Duplex +STR_CONFIG_SETTING_ZOOM_LVL_OUT_4X :Quadruplex +STR_CONFIG_SETTING_ZOOM_LVL_OUT_8X :Octuplex +STR_CONFIG_SETTING_TOWN_GROWTH :Oppida crescunt: {STRING} +STR_CONFIG_SETTING_TOWN_GROWTH_HELPTEXT :Eligere celeritatem oppidorum crescendi +STR_CONFIG_SETTING_TOWN_GROWTH_NONE :Numquam +STR_CONFIG_SETTING_TOWN_GROWTH_SLOW :Lente +STR_CONFIG_SETTING_TOWN_GROWTH_NORMAL :Mediocriter +STR_CONFIG_SETTING_TOWN_GROWTH_FAST :Celeriter +STR_CONFIG_SETTING_TOWN_GROWTH_VERY_FAST :Valde celeriter +STR_CONFIG_SETTING_LARGER_TOWNS :Proportio oppidorum quae urbes fient: {STRING} +STR_CONFIG_SETTING_LARGER_TOWNS_HELPTEXT :Quot oppida ex toto fient urbes, maiores conditu et celerius crescentes +STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 ex {COMMA} +STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Nulla +STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Multiplicator magnitudinis initialis urbis: {STRING} +STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Quam maiores sunt urbes quam oppida in initio ludi + +STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Recensere formulam partitionis {STRING} quoque die +STR_CONFIG_SETTING_LINKGRAPH_INTERVAL_HELPTEXT :Tempus inter recensiones formulae partitionis. Quaeque recensio calculat rationes unius partis formulae. Ergo valor X huius electionis non facit ut cuncta formula recenseatur X quoque die; modo aliquot pars/partes recensebuntur. Valoribus minoribus, plus tempus CPU requiritur. Valoribus maioribus, plus tempus erit ad onerum partitionem incipiendam novis itineribus. +STR_CONFIG_SETTING_LINKGRAPH_TIME :{STRING}{NBSP}die{P 0:2 "" s} ad formulam partitionis recalculandam +STR_CONFIG_SETTING_LINKGRAPH_TIME_HELPTEXT :Tempus cuiusque recalculationis partis partitionis. Cum recalculatio incipitur, linea generatur quae agitur hos dies electos. Paucis diebus, magis probabilis est lineam non finiri cum debet esse finitam; tunc ludus intermittitur usque ad finitur ("segnitia"). Pluribus diebus, plus tempus requiritur ad partitionem mutandam cum itinera mutantur. +STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :manu +STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :asymmetrica +STR_CONFIG_SETTING_DISTRIBUTION_SYMMETRIC :symmetrica +STR_CONFIG_SETTING_DISTRIBUTION_PAX :Modus partitionis vectoribus: {STRING} +STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :Partitio "symmetrica" facit ut fere eadem copia vectorum mittatur a statione A ad stationem B quam a B ad A. Partitio "asymmetrica" facit ut quaelibet copia vectorum mittatur inter A et B. In partitione "manu" vectores non automatice partiuntur. +STR_CONFIG_SETTING_DISTRIBUTION_MAIL :Modus partitionis epistulis: {STRING} +STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :Partitio "symmetrica" facit ut fere eadem copia epistularum mittatur a statione A ad stationem B quam a B ad A. Partitio "asymmetrica" facit ut quaelibet copia epistularum mittatur inter A et B. In partitione "manu" epistulae non automatice partitur. +STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Modus partitionis classi oneris CATAPHRACTA: {STRING} +STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :Classis oneris CATAPHRACTA continet res pretiosas in terra temperata, adamantes in terra subtropica, aut aurum in terra subarctica; sed NewGRF possunt hoc mutare. Partitio "symmetrica" facit ut fere eadem copia oneris mittatur a statione A ad stationem B quam a B ad A. Partitio "asymmetrica" facit ut quaelibet copia oneris mittatur inter A et B. In partitione "manu" onera non automatice partiuntur. Admonetur eligere aut partitionem asymmetricam aut partitionem manu cum ludis in terra subarctica, nam argentariae non remittet aurum aurifodinis. In terris temperata sive subtropica potes eligere partitionem symmetricam nam argentariae adeo remittet res pretiosas originibus argentariis. +STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Modus partitionis aliis oneribus: {STRING} +STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :Partitio "asymmetrica" facit ut quaelibet copia onerum mittatur inter destinata et origines. In partitione "manu" onera non automatice partiuntur. +STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Accuratio partitionis: {STRING} +STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Valoribus maioribus, plus tempus CPU requiritur in calculando. Si nimis magna est, ludus forsitan cunctetur. At si nimis parva est, partitio non erit accurata, et onera fortasse non mittantur ad destinata idonea. +STR_CONFIG_SETTING_DEMAND_DISTANCE :Consecutio distantiae quaesitis: {STRING} +STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Si valor huius est plus quam 0, distantia inter originem cuiusdam oneris, stationem A, et destinatum B afficit copiam oneris missam ex A ad B. Si B multo procul ab A est, paucius onus mittetur. Valoribus maioribus, paucius onus mittetur stationibus longinquis ac plus onus mittetur stationibus propinquis. +STR_CONFIG_SETTING_DEMAND_SIZE :Copia oneris remittenda in partitione symmetrica: {STRING} +STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Si haec minor est quam 100%, partitio symmetrica magis agit sicut asymmetrica; pauciora onera remittentur si quaedam copia missa est ad stationem. Dum est 0%, partitio symmetrica agit velut asymmetrica. +STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Saturitas itinerum brevium antequam itinera magnae capacitatis utenda sunt: {STRING} +STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Frequenter sunt multa itinera inter duas stationes. Partitio onerum imprimis saturat iter brevissimum, deinde paenultime brevissimum, etc. Saturitas computatur aestimatione et capacitatis et usus. Cum omnia itinera saturata sunt, si tamen est quaesitum, superonerabit omnia itinera, ea magnae capacitatis praelata. Sed saepe algorithmus non capacitatem aestimat satis accurate. Hac electione potes optare ad quam partem centesimam itineri breviori oportet esse saturum antequam iter longius optatur. Uti valoribus minoribus quam 100% ut stationes non superonerentur si capacitates superaestimatae sunt. + +STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Unitates velocitatis: {STRING} +STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_HELPTEXT :Quandocumque velocitas monstratur, monstrabitur his unitatibus electis +STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_IMPERIAL :Anglicae (mph) +STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_METRIC :Metricae (km/h) +STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_SI :SI (m/s) + +STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER :Unitates potestatis vehiculorum: {STRING} +STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_HELPTEXT :Quandocumque potestas vehiculi monstratur, monstrabitur his unitatibus electis +STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_IMPERIAL :Anglicae (hp) +STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_METRIC :Metricae (hp) +STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_SI :SI (kW) + +STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT :Unitates ponderis: {STRING} +STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_HELPTEXT :Quandocumque pondus monstratur, monstrabitur his unitatibus electis +STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_IMPERIAL :Anglicae (short t/ton) +STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_METRIC :Metricae (t/tonne) +STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_SI :SI (kg) + +STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME :Unitates voluminis: {STRING} +STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_HELPTEXT :Quandocumque volumen monstratur, monstrabitur his unitatibus electis +STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_IMPERIAL :Anglicae (gal) +STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_METRIC :Metricae (l) +STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_SI :SI (m³) + +STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE :Unitates viris tractionis: {STRING} +STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_HELPTEXT :Quandocumque vis tractionis monstratur, monstrabitur his unitatibus electis +STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_IMPERIAL :Anglicae (lbf) +STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_METRIC :Metricae (kgf) +STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_SI :SI (kN) + +STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT :Unitates altitudinis: {STRING} +STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT :Quandocumque altitudo monstratur, monstrabitur his unitatibus electis +STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :Anglicae (ft) +STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :Metricae (m) +STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :SI (m) + +STR_CONFIG_SETTING_LOCALISATION :{ORANGE}Localizatio +STR_CONFIG_SETTING_GRAPHICS :{ORANGE}Res Graphicae +STR_CONFIG_SETTING_SOUND :{ORANGE}Soni +STR_CONFIG_SETTING_INTERFACE :{ORANGE}Interfacies +STR_CONFIG_SETTING_INTERFACE_GENERAL :{ORANGE}Res Generales +STR_CONFIG_SETTING_INTERFACE_VIEWPORTS :{ORANGE}Fenestrae Conspectus +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Constructio +STR_CONFIG_SETTING_ADVISORS :{ORANGE}Nuntia / Admonitio +STR_CONFIG_SETTING_COMPANY :{ORANGE}Societas +STR_CONFIG_SETTING_ACCOUNTING :{ORANGE}Ratiocinium +STR_CONFIG_SETTING_VEHICLES :{ORANGE}Vehicula +STR_CONFIG_SETTING_VEHICLES_PHYSICS :{ORANGE}Physica +STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Itinera +STR_CONFIG_SETTING_LIMITATIONS :{ORANGE}Fines +STR_CONFIG_SETTING_ACCIDENTS :{ORANGE}Calamitates / Accidentes +STR_CONFIG_SETTING_GENWORLD :{ORANGE}Generatio Mundi +STR_CONFIG_SETTING_ENVIRONMENT :{ORANGE}Circumiecta +STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :{ORANGE}Auctoritates +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Oppida +STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}Industriae +STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :{ORANGE}Partitio onerum +STR_CONFIG_SETTING_AI :{ORANGE}Competitores +STR_CONFIG_SETTING_AI_NPC :{ORANGE}Lusores computatrales + +STR_CONFIG_SETTING_PATHFINDER_OPF :Originale +STR_CONFIG_SETTING_PATHFINDER_NPF :NPF +STR_CONFIG_SETTING_PATHFINDER_YAPF_RECOMMENDED :YAPF {BLUE}(Commendatum) + +STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS :Inventrum itineris traminum: {STRING} +STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS_HELPTEXT :Inventrum itineris hamaxostichis adhibendum +STR_CONFIG_SETTING_PATHFINDER_FOR_ROAD_VEHICLES :Inventrum itineris vehiculorum viariorum: {STRING} +STR_CONFIG_SETTING_PATHFINDER_FOR_ROAD_VEHICLES_HELPTEXT :Inventrum itineris vehiculis viariis adhibendum +STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS :Inventrum itineris navium: {STRING} +STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS_HELPTEXT :Inventrum itineris navibus adhibendum +STR_CONFIG_SETTING_REVERSE_AT_SIGNALS :Reversio automatica apud signalia: {STRING} +STR_CONFIG_SETTING_REVERSE_AT_SIGNALS_HELPTEXT :Sinere tramina reverti apud signale, si illic valde morati sunt + +STR_CONFIG_SETTING_QUERY_CAPTION :{WHITE}Mutare valorem optionis + +# Config errors +STR_CONFIG_ERROR :{WHITE}Error in fasciculo configurationis... +STR_CONFIG_ERROR_ARRAY :{WHITE}... error in indice '{STRING}' +STR_CONFIG_ERROR_INVALID_VALUE :{WHITE}... valor irritus '{STRING}' spectans ad '{STRING}' +STR_CONFIG_ERROR_TRAILING_CHARACTERS :{WHITE}... littera postrema apud finem electionis '{STRING}' +STR_CONFIG_ERROR_DUPLICATE_GRFID :{WHITE}... neglectum NewGRF '{STRING}': agnoscamentum GRF duplicatum cum '{STRING}' +STR_CONFIG_ERROR_INVALID_GRF :{WHITE}... neglectum NewGRF irritum '{STRING}': {STRING} +STR_CONFIG_ERROR_INVALID_GRF_NOT_FOUND :non inventum +STR_CONFIG_ERROR_INVALID_GRF_UNSAFE :non salvus est usui fixo +STR_CONFIG_ERROR_INVALID_GRF_SYSTEM :systematis NewGRF +STR_CONFIG_ERROR_INVALID_GRF_INCOMPATIBLE :incompatibilis est huic OpenTTD editioni +STR_CONFIG_ERROR_INVALID_GRF_UNKNOWN :ignotum +STR_CONFIG_ERROR_INVALID_SAVEGAME_COMPRESSION_LEVEL :{WHITE}... magnitudo compressionis '{STRING}' irrita est +STR_CONFIG_ERROR_INVALID_SAVEGAME_COMPRESSION_ALGORITHM :{WHITE}... forma ludum servandi '{STRING}' parabilis non est. Revertens ad '{STRING}' +STR_CONFIG_ERROR_INVALID_BASE_GRAPHICS_NOT_FOUND :{WHITE}... neglectum Fundamentum Graphicum '{STRING}': non inventum +STR_CONFIG_ERROR_INVALID_BASE_SOUNDS_NOT_FOUND :{WHITE}... neglectum Fundamentum Sonicum '{STRING}': non inventum +STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... neglectum Fundamentum Musicum '{STRING}': non inventum +STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Memoria deest +STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Non potuit collocare {BYTES} promptuarii spiritus. Promptuarium spiritus minuitur ad {BYTES}. Haec minuit effectum OpenTTD. Conare removere graphicas 32bpp ut desideria memoriae minuatur + +# Intro window +STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} + +STR_INTRO_NEW_GAME :{BLACK}Ludus Novus +STR_INTRO_LOAD_GAME :{BLACK}Legere Ludum +STR_INTRO_PLAY_SCENARIO :{BLACK}Ludere Scaenarium +STR_INTRO_PLAY_HEIGHTMAP :{BLACK}Ludere Tabulam Altitudinum +STR_INTRO_SCENARIO_EDITOR :{BLACK}Scriptorium Scaenarii +STR_INTRO_MULTIPLAYER :{BLACK}Plurium Lusorum + +STR_INTRO_GAME_OPTIONS :{BLACK}Ludi Optiones +STR_INTRO_HIGHSCORE :{BLACK}Album Punctorum Supremorum +STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Electiones +STR_INTRO_NEWGRF_SETTINGS :{BLACK}NewGRF Optiones +STR_INTRO_ONLINE_CONTENT :{BLACK}Inspicere Inventarium Interretiale +STR_INTRO_SCRIPT_SETTINGS :{BLACK}IA/Ludi Scriptorum Optiones +STR_INTRO_QUIT :{BLACK}Exire + +STR_INTRO_TOOLTIP_NEW_GAME :{BLACK}Incipere novum ludum. Ctrl+Preme ut configuratio tabulae omittatur +STR_INTRO_TOOLTIP_LOAD_GAME :{BLACK}Legere ludum servatum +STR_INTRO_TOOLTIP_PLAY_HEIGHTMAP :{BLACK}Incipere novum ludum, tabula altitudinum adhibita +STR_INTRO_TOOLTIP_PLAY_SCENARIO :{BLACK}Incipere novum ludum, scaenario proprio adhibito +STR_INTRO_TOOLTIP_SCENARIO_EDITOR :{BLACK}Creare scaenarium proprium +STR_INTRO_TOOLTIP_MULTIPLAYER :{BLACK}Incipere ludum cum pluribus lusoribus + +STR_INTRO_TOOLTIP_TEMPERATE :{BLACK}Eligere hanc terram, nomine 'temperata' +STR_INTRO_TOOLTIP_SUB_ARCTIC_LANDSCAPE :{BLACK}Eligere hanc terram, nomine 'subarctica' +STR_INTRO_TOOLTIP_SUB_TROPICAL_LANDSCAPE :{BLACK}Eligere hanc terram, nomine 'subtropica' +STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Eligere hanc terram, nomine 'terra ludicrorum' + +STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Monstrare ludi optiones +STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Monstrare album punctorum supremorum +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Monstrare electiones +STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Monstrare optiones NewGRF +STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Inspicere inventarium Interretiale in quo res sicut NewGRF, scaenaria, musica, etc. sunt +STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Monstrare optiones IA/Ludi scriptorum +STR_INTRO_TOOLTIP_QUIT :{BLACK}Exire OpenTTD + +STR_INTRO_TRANSLATION :{BLACK}In hac interpretatione, {NUM} series desunt. Quaesimus, iuva OpenTTD meliorari et dic te velle interpretem esse. Vide readme.txt in quo plura sunt. + +# Quit window +STR_QUIT_CAPTION :{WHITE}Exire +STR_QUIT_ARE_YOU_SURE_YOU_WANT_TO_EXIT_OPENTTD :{YELLOW}Esne certus te velle exire OpenTTD et redire ad {STRING}? +STR_QUIT_YES :{BLACK}Ita +STR_QUIT_NO :{BLACK}Non + +# Supported OSes +STR_OSNAME_WINDOWS :Windows +STR_OSNAME_DOS :DOS +STR_OSNAME_UNIX :Unix +STR_OSNAME_OSX :OS{NBSP}X +STR_OSNAME_BEOS :BeOS +STR_OSNAME_HAIKU :Haiku +STR_OSNAME_MORPHOS :MorphOS +STR_OSNAME_AMIGAOS :AmigaOS +STR_OSNAME_OS2 :OS/2 +STR_OSNAME_SUNOS :SunOS + +# Abandon game +STR_ABANDON_GAME_CAPTION :{WHITE}Relinquere Ludum +STR_ABANDON_GAME_QUERY :{YELLOW}Esne certus te velle ludum relinquere? +STR_ABANDON_SCENARIO_QUERY :{YELLOW}Esne certus te velle scaenarium relinquere? + +# Cheat window +STR_CHEATS :{WHITE}Tricae +STR_CHEATS_TOOLTIP :{BLACK}Quadrum signi plenum indicat trica iam a te usa est +STR_CHEATS_WARNING :{BLACK}Cave! Competitores tuas falsurus es! Memento tantam infamiam memoria omnium in aeternum teneri! +STR_CHEAT_MONEY :{LTBLUE}Augere pecuniam {CURRENCY_LONG} +STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Ludens es in loco societatis: {ORANGE}{COMMA} +STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Magica machina aggerandi (removet industrias, obiecta immobilia): {ORANGE}{STRING} +STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}Sinere cuniculos sese transgredi: {ORANGE}{STRING} +STR_CHEAT_NO_JETCRASH :{LTBLUE}Magna aeroplana non corruent (frequenter) in aeroportibus parvis: {ORANGE}{STRING} +STR_CHEAT_EDIT_MAX_HL :{LTBLUE}Eligere altitudinem tabulae maximam: {ORANGE}{NUM} +STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Eligere altitudinem montium maximam in tabula +STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE :Terra temperata +STR_CHEAT_SWITCH_CLIMATE_SUB_ARCTIC_LANDSCAPE :Terra subarctica +STR_CHEAT_SWITCH_CLIMATE_SUB_TROPICAL_LANDSCAPE :Terra subtropica +STR_CHEAT_SWITCH_CLIMATE_TOYLAND_LANDSCAPE :Terra ludicrorum +STR_CHEAT_CHANGE_DATE :{LTBLUE}Mutare annum: {ORANGE}{DATE_SHORT} +STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Mutare annum currentem +STR_CHEAT_SETUP_PROD :{LTBLUE}Sinere mutare productiones industriarum: {ORANGE}{STRING} + +# Livery window +STR_LIVERY_CAPTION :{WHITE}Schema Coloris Novum + +STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Monstrare schemata coloris generalia +STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Monstrare schemata coloris traminum +STR_LIVERY_ROAD_VEHICLE_TOOLTIP :{BLACK}Monstrare schemata coloris vehiculorum viariorum +STR_LIVERY_SHIP_TOOLTIP :{BLACK}Monstrare schemata coloris navium +STR_LIVERY_AIRCRAFT_TOOLTIP :{BLACK}Monstrare schemata coloris aeroplanorum +STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Eligere colorem primarium schematis electi. Ctrl+Preme ut color omnibus schematibus sit primarius +STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Eligere colorem secundum schematis electi. Ctrl+Preme ut color omnibus schematibus sit secundus +STR_LIVERY_PANEL_TOOLTIP :{BLACK}Eligere schema mutandum, sive schemata plura (Ctrl pressa). Preme in quadrum ut usus schematis mutetur + +STR_LIVERY_DEFAULT :Schema Solitum +STR_LIVERY_STEAM :Hamaxa Vaporaria +STR_LIVERY_DIESEL :Hamaxa Diseliana +STR_LIVERY_ELECTRIC :Hamaxa Electrica +STR_LIVERY_MONORAIL :Hamaxa Monoorbitalis +STR_LIVERY_MAGLEV :Hamaxa Maglev +STR_LIVERY_DMU :DMU +STR_LIVERY_EMU :EMU +STR_LIVERY_PASSENGER_WAGON_STEAM :Currus Vectorius (Vaporaria) +STR_LIVERY_PASSENGER_WAGON_DIESEL :Currus Vectorius (Diseliana) +STR_LIVERY_PASSENGER_WAGON_ELECTRIC :Currus Vectorius (Electrica) +STR_LIVERY_PASSENGER_WAGON_MONORAIL :Currus Vectorius (Monoorbitalis) +STR_LIVERY_PASSENGER_WAGON_MAGLEV :Currus Vectorius (Maglev) +STR_LIVERY_FREIGHT_WAGON :Currus Onerarius +STR_LIVERY_BUS :Laophorium +STR_LIVERY_TRUCK :Autoplaustrum +STR_LIVERY_PASSENGER_SHIP :Navis Vectoria +STR_LIVERY_FREIGHT_SHIP :Navis Oneraria +STR_LIVERY_HELICOPTER :Helicopterum +STR_LIVERY_SMALL_PLANE :Aeroplanum Parvum +STR_LIVERY_LARGE_PLANE :Aeroplanum Magnum +STR_LIVERY_PASSENGER_TRAM :Transviaria Raeda Vectoria +STR_LIVERY_FREIGHT_TRAM :Transviaria Raeda Oneraria + +# Face selection window +STR_FACE_CAPTION :{WHITE}Electio Faciei +STR_FACE_CANCEL_TOOLTIP :{BLACK}Cancellare electionem novae faciei +STR_FACE_OK_TOOLTIP :{BLACK}Confirmare electionem novae faciei +STR_FACE_RANDOM :{BLACK}Commiscere + +STR_FACE_MALE_BUTTON :{BLACK}Masculina +STR_FACE_MALE_TOOLTIP :{BLACK}Eligere facies masculinas +STR_FACE_FEMALE_BUTTON :{BLACK}Feminea +STR_FACE_FEMALE_TOOLTIP :{BLACK}Eligere facies femineas +STR_FACE_NEW_FACE_BUTTON :{BLACK}Facies Nova +STR_FACE_NEW_FACE_TOOLTIP :{BLACK}Creare novam faciem fortuitam +STR_FACE_ADVANCED :{BLACK}Praecipua +STR_FACE_ADVANCED_TOOLTIP :{BLACK}Electio faciei praecipua +STR_FACE_SIMPLE :{BLACK}Simpliciter +STR_FACE_SIMPLE_TOOLTIP :{BLACK}Eligere faciem simpliciter +STR_FACE_LOAD :{BLACK}Legere +STR_FACE_LOAD_TOOLTIP :{BLACK}Legere faciem dilectam +STR_FACE_LOAD_DONE :{WHITE}Facies dilecta lecta est ex fasciculo OpenTTD configurationis +STR_FACE_FACECODE :{BLACK}Numerus faciei lusoris +STR_FACE_FACECODE_TOOLTIP :{BLACK}Spicere vel eligere numerum praesidis societatis faciei +STR_FACE_FACECODE_CAPTION :{WHITE}Spicere vel eligere numerum praesidis societatis faciei +STR_FACE_FACECODE_SET :{WHITE}Novus numerus faciei electus est +STR_FACE_FACECODE_ERR :{WHITE}Numerus faciei confirmatus non est - oportet esse numerus inter 0 et 4,294,967,295! +STR_FACE_SAVE :{BLACK}Servare +STR_FACE_SAVE_TOOLTIP :{BLACK}Servare faciem dilectam +STR_FACE_SAVE_DONE :{WHITE}Haec facies servabit ad dilectam tuam in fasciculo OpenTTD configurationis +STR_FACE_EUROPEAN :{BLACK}Europaea +STR_FACE_SELECT_EUROPEAN :{BLACK}Eligere facies Europaeas +STR_FACE_AFRICAN :{BLACK}Africana +STR_FACE_SELECT_AFRICAN :{BLACK}Eligere facies Africanas +STR_FACE_YES :Ita +STR_FACE_NO :Non +STR_FACE_MOUSTACHE_EARRING_TOOLTIP :{BLACK}Apponere mystacem vel inaurem +STR_FACE_HAIR :Capilli: +STR_FACE_HAIR_TOOLTIP :{BLACK}Mutare capillos +STR_FACE_EYEBROWS :Supercilia: +STR_FACE_EYEBROWS_TOOLTIP :{BLACK}Mutare supercilia +STR_FACE_EYECOLOUR :Color oculorum: +STR_FACE_EYECOLOUR_TOOLTIP :{BLACK}Mutare colorem oculorum +STR_FACE_GLASSES :Perspicilla: +STR_FACE_GLASSES_TOOLTIP :{BLACK}Apponere perspicilla +STR_FACE_GLASSES_TOOLTIP_2 :{BLACK}Mutare perspicilla +STR_FACE_NOSE :Nasus: +STR_FACE_NOSE_TOOLTIP :{BLACK}Mutare nasum +STR_FACE_LIPS :Labra: +STR_FACE_MOUSTACHE :Mystax: +STR_FACE_LIPS_MOUSTACHE_TOOLTIP :{BLACK}Mutare labra vel mystacem +STR_FACE_CHIN :Mentum: +STR_FACE_CHIN_TOOLTIP :{BLACK}Mutare mentum +STR_FACE_JACKET :Vestis: +STR_FACE_JACKET_TOOLTIP :{BLACK}Mutare vestem +STR_FACE_COLLAR :Collare: +STR_FACE_COLLAR_TOOLTIP :{BLACK}Mutare collare +STR_FACE_TIE :Focale: +STR_FACE_EARRING :Inauris: +STR_FACE_TIE_EARRING_TOOLTIP :{BLACK}Mutare focale vel inaurem + +# Network server list +STR_NETWORK_SERVER_LIST_CAPTION :{WHITE}Modus Plurium Lusorum +STR_NETWORK_SERVER_LIST_ADVERTISED :{BLACK}Ostensum +STR_NETWORK_SERVER_LIST_ADVERTISED_TOOLTIP :{BLACK}Eligere servatrum ostensum (interretis) aut non ostensum (LAN) +STR_NETWORK_SERVER_LIST_ADVERTISED_NO :Non +STR_NETWORK_SERVER_LIST_ADVERTISED_YES :Ita +STR_NETWORK_SERVER_LIST_PLAYER_NAME :{BLACK}Nomen lusoris: +STR_NETWORK_SERVER_LIST_ENTER_NAME_TOOLTIP :{BLACK}Hoc est nomen tuum aliis lusoribus visibile + +STR_NETWORK_SERVER_LIST_GAME_NAME :{BLACK}Nomen +STR_NETWORK_SERVER_LIST_GAME_NAME_TOOLTIP :{BLACK}Nomen ludi +STR_NETWORK_SERVER_LIST_GENERAL_ONLINE :{BLACK}{COMMA}/{COMMA} - {COMMA}/{COMMA} +STR_NETWORK_SERVER_LIST_CLIENTS_CAPTION :{BLACK}Clientes +STR_NETWORK_SERVER_LIST_CLIENTS_CAPTION_TOOLTIP :{BLACK}Clientes currentes / clientes max.{}Societates currentes / societates max. +STR_NETWORK_SERVER_LIST_MAP_SIZE_SHORT :{BLACK}{COMMA}x{COMMA} +STR_NETWORK_SERVER_LIST_MAP_SIZE_CAPTION :{BLACK}Magnitudo tabulae +STR_NETWORK_SERVER_LIST_MAP_SIZE_CAPTION_TOOLTIP :{BLACK}Magnitudo ludi tabulae{}Preme ut magnitudine separenur +STR_NETWORK_SERVER_LIST_DATE_CAPTION :{BLACK}Dies +STR_NETWORK_SERVER_LIST_DATE_CAPTION_TOOLTIP :{BLACK}Dies currens +STR_NETWORK_SERVER_LIST_YEARS_CAPTION :{BLACK}Anni +STR_NETWORK_SERVER_LIST_YEARS_CAPTION_TOOLTIP :{BLACK}Numerus ludi annorum +STR_NETWORK_SERVER_LIST_INFO_ICONS_TOOLTIP :{BLACK}Lingua, editio servatri, etc. + +STR_NETWORK_SERVER_LIST_CLICK_GAME_TO_SELECT :{BLACK}Eligere ludum ex indice +STR_NETWORK_SERVER_LIST_LAST_JOINED_SERVER :{BLACK}Servatrum prius iunctum: +STR_NETWORK_SERVER_LIST_CLICK_TO_SELECT_LAST :{BLACK}Eligere servatrum abs te prius adhibitum + +STR_NETWORK_SERVER_LIST_GAME_INFO :{SILVER}LUDI INDICIA +STR_NETWORK_SERVER_LIST_CLIENTS :{SILVER}Clientes: {WHITE}{COMMA} / {COMMA} - {COMMA} / {COMMA} +STR_NETWORK_SERVER_LIST_LANGUAGE :{SILVER}Lingua: {WHITE}{STRING} +STR_NETWORK_SERVER_LIST_LANDSCAPE :{SILVER}Terra: {WHITE}{STRING} +STR_NETWORK_SERVER_LIST_MAP_SIZE :{SILVER}Magnitudo tabulae: {WHITE}{COMMA}x{COMMA} +STR_NETWORK_SERVER_LIST_SERVER_VERSION :{SILVER}Editio servatri: {WHITE}{STRING} +STR_NETWORK_SERVER_LIST_SERVER_ADDRESS :{SILVER}Inscriptio servatri: {WHITE}{STRING} +STR_NETWORK_SERVER_LIST_START_DATE :{SILVER}Dies initii: {WHITE}{DATE_SHORT} +STR_NETWORK_SERVER_LIST_CURRENT_DATE :{SILVER}Dies currens: {WHITE}{DATE_SHORT} +STR_NETWORK_SERVER_LIST_PASSWORD :{SILVER}Tessera custoditum! +STR_NETWORK_SERVER_LIST_SERVER_OFFLINE :{SILVER}SERVATRUM CLAUSUM +STR_NETWORK_SERVER_LIST_SERVER_FULL :{SILVER}SERVATRUM PLENUM +STR_NETWORK_SERVER_LIST_VERSION_MISMATCH :{SILVER}EDITIO IMPAR +STR_NETWORK_SERVER_LIST_GRF_MISMATCH :{SILVER}NEWGRF IMPARIA + +STR_NETWORK_SERVER_LIST_JOIN_GAME :{BLACK}Ludum iungere +STR_NETWORK_SERVER_LIST_REFRESH :{BLACK}Servatrum instaurare +STR_NETWORK_SERVER_LIST_REFRESH_TOOLTIP :{BLACK}Iterum arcessere indicia servatri + +STR_NETWORK_SERVER_LIST_FIND_SERVER :{BLACK}Servatrum quaerere +STR_NETWORK_SERVER_LIST_FIND_SERVER_TOOLTIP :{BLACK}Quarere servatrum in rete +STR_NETWORK_SERVER_LIST_ADD_SERVER :{BLACK}Addere servatrum +STR_NETWORK_SERVER_LIST_ADD_SERVER_TOOLTIP :{BLACK}Addit servatrum indici quod semper inspicetur si ludus activus insit +STR_NETWORK_SERVER_LIST_START_SERVER :{BLACK}Servatrum incohare +STR_NETWORK_SERVER_LIST_START_SERVER_TOOLTIP :{BLACK}Servatrum tuum proprium incohare + +STR_NETWORK_SERVER_LIST_PLAYER_NAME_OSKTITLE :{BLACK}Nomen tuum inscribe +STR_NETWORK_SERVER_LIST_ENTER_IP :{BLACK}Inscribe inscriptionem IP servatri + +# Start new multiplayer server +STR_NETWORK_START_SERVER_CAPTION :{WHITE}Incipere novum ludum cum pluribus lusoribus + +STR_NETWORK_START_SERVER_NEW_GAME_NAME :{BLACK}Nomen ludi: +STR_NETWORK_START_SERVER_NEW_GAME_NAME_TOOLTIP :{BLACK}Hoc ludi nomen monstrabitur aliis lusoribus in ludorum indice +STR_NETWORK_START_SERVER_SET_PASSWORD :{BLACK}Elige tesseram +STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}Custodire tessera ludum tuum, si non vis publicos iungere + +STR_NETWORK_START_SERVER_UNADVERTISED :Non +STR_NETWORK_START_SERVER_ADVERTISED :Ita +STR_NETWORK_START_SERVER_CLIENTS_SELECT :{BLACK}{NUM} clien{P s tes} +STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Clientes maximi: +STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS_TOOLTIP :{BLACK}Eligere numerum maximum clientorum. Necesse non est omnes loci pleni esse +STR_NETWORK_START_SERVER_COMPANIES_SELECT :{BLACK}{NUM} societa{P s tes} +STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}Societates maximae: +STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES_TOOLTIP :{BLACK}Eligere numerum maximum societatum +STR_NETWORK_START_SERVER_SPECTATORS_SELECT :{BLACK}{NUM} spectator{P "" es} +STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS :{BLACK}Spectatores maximi: +STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS_TOOLTIP :{BLACK}Eligere numerum maximum spectatorum +STR_NETWORK_START_SERVER_LANGUAGE_SPOKEN :{BLACK}Lingua adhibita: +STR_NETWORK_START_SERVER_LANGUAGE_TOOLTIP :{BLACK}Lingua in servatro adhibita + +STR_NETWORK_START_SERVER_NEW_GAME_NAME_OSKTITLE :{BLACK}Inscribe nomen ludi retis + +# Network game languages +############ Leave those lines in this order!! +STR_NETWORK_LANG_ANY :Quaevis +STR_NETWORK_LANG_ENGLISH :Anglica +STR_NETWORK_LANG_GERMAN :Theodisca +STR_NETWORK_LANG_FRENCH :Francogallica +STR_NETWORK_LANG_BRAZILIAN :Brasilica +STR_NETWORK_LANG_BULGARIAN :Bulgarica +STR_NETWORK_LANG_CHINESE :Sinica +STR_NETWORK_LANG_CZECH :Cecha +STR_NETWORK_LANG_DANISH :Danica +STR_NETWORK_LANG_DUTCH :Batavica +STR_NETWORK_LANG_ESPERANTO :Esperantica +STR_NETWORK_LANG_FINNISH :Finnica +STR_NETWORK_LANG_HUNGARIAN :Hungarica +STR_NETWORK_LANG_ICELANDIC :Islandica +STR_NETWORK_LANG_ITALIAN :Italiana +STR_NETWORK_LANG_JAPANESE :Iaponica +STR_NETWORK_LANG_KOREAN :Coreana +STR_NETWORK_LANG_LITHUANIAN :Lithuanica +STR_NETWORK_LANG_NORWEGIAN :Norvegica +STR_NETWORK_LANG_POLISH :Polonica +STR_NETWORK_LANG_PORTUGUESE :Lusitana +STR_NETWORK_LANG_ROMANIAN :Romanica +STR_NETWORK_LANG_RUSSIAN :Russica +STR_NETWORK_LANG_SLOVAK :Slovaca +STR_NETWORK_LANG_SLOVENIAN :Slovena +STR_NETWORK_LANG_SPANISH :Hispanica +STR_NETWORK_LANG_SWEDISH :Suecica +STR_NETWORK_LANG_TURKISH :Turcica +STR_NETWORK_LANG_UKRAINIAN :Ucrainica +STR_NETWORK_LANG_AFRIKAANS :Africana +STR_NETWORK_LANG_CROATIAN :Croatica +STR_NETWORK_LANG_CATALAN :Catalana +STR_NETWORK_LANG_ESTONIAN :Estonica +STR_NETWORK_LANG_GALICIAN :Gallaica +STR_NETWORK_LANG_GREEK :Graeca +STR_NETWORK_LANG_LATVIAN :Lettonica +############ End of leave-in-this-order + +# Network game lobby +STR_NETWORK_GAME_LOBBY_CAPTION :{WHITE}Atrium Plurium Lusorum + +STR_NETWORK_GAME_LOBBY_PREPARE_TO_JOIN :{BLACK}Parans ad iungendum: {ORANGE}{STRING} +STR_NETWORK_GAME_LOBBY_COMPANY_LIST_TOOLTIP :{BLACK}Index societatum in hoc ludo. Potes iungere aut novam incipere si locus vacuus adest + +STR_NETWORK_GAME_LOBBY_COMPANY_INFO :{SILVER}INDICIA SOCIETATIS +STR_NETWORK_GAME_LOBBY_COMPANY_NAME :{SILVER}Nomen societatis: {WHITE}{STRING} +STR_NETWORK_GAME_LOBBY_INAUGURATION_YEAR :{SILVER}Initium: {WHITE}{NUM} +STR_NETWORK_GAME_LOBBY_VALUE :{SILVER}Aestimatio societatis: {WHITE}{CURRENCY_LONG} +STR_NETWORK_GAME_LOBBY_CURRENT_BALANCE :{SILVER}Pecunia currens: {WHITE}{CURRENCY_LONG} +STR_NETWORK_GAME_LOBBY_LAST_YEARS_INCOME :{SILVER}Reditus anni prioris: {WHITE}{CURRENCY_LONG} +STR_NETWORK_GAME_LOBBY_PERFORMANCE :{SILVER}Effectus: {WHITE}{NUM} + +STR_NETWORK_GAME_LOBBY_VEHICLES :{SILVER}Vehicula: {WHITE}{NUM} {TRAIN}, {NUM} {LORRY}, {NUM} {BUS}, {NUM} {SHIP}, {NUM} {PLANE} +STR_NETWORK_GAME_LOBBY_STATIONS :{SILVER}Stationes: {WHITE}{NUM} {TRAIN}, {NUM} {LORRY}, {NUM} {BUS}, {NUM} {SHIP}, {NUM} {PLANE} +STR_NETWORK_GAME_LOBBY_PLAYERS :{SILVER}Lusores: {WHITE}{STRING} + +STR_NETWORK_GAME_LOBBY_NEW_COMPANY :{BLACK}Societas Nova +STR_NETWORK_GAME_LOBBY_NEW_COMPANY_TOOLTIP :{BLACK}Creare societatem novam +STR_NETWORK_GAME_LOBBY_SPECTATE_GAME :{BLACK}Ludum spectare +STR_NETWORK_GAME_LOBBY_SPECTATE_GAME_TOOLTIP :{BLACK}Aspicere ludum sicut spectator +STR_NETWORK_GAME_LOBBY_JOIN_COMPANY :{BLACK}Societatem iungere +STR_NETWORK_GAME_LOBBY_JOIN_COMPANY_TOOLTIP :{BLACK}Administrare hanc societatem + +# Network connecting window +STR_NETWORK_CONNECTING_CAPTION :{WHITE}Coniungens... + +############ Leave those lines in this order!! +STR_NETWORK_CONNECTING_1 :{BLACK}(1/6) Coniungens... +STR_NETWORK_CONNECTING_2 :{BLACK}(2/6) Auctorans... +STR_NETWORK_CONNECTING_3 :{BLACK}(3/6) Manens... +STR_NETWORK_CONNECTING_4 :{BLACK}(4/6) Tabulam arcessens... +STR_NETWORK_CONNECTING_5 :{BLACK}(5/6) Data componens... +STR_NETWORK_CONNECTING_6 :{BLACK}(6/6) Nuntians... + +STR_NETWORK_CONNECTING_SPECIAL_1 :{BLACK}Lndicium ludi arcessens... +STR_NETWORK_CONNECTING_SPECIAL_2 :{BLACK}Indicium societatis arcessens... +############ End of leave-in-this-order +STR_NETWORK_CONNECTING_WAITING :{BLACK}{NUM} clien{P s tes} ante te +STR_NETWORK_CONNECTING_DOWNLOADING_1 :{BLACK}{BYTES} adhuc arcessita +STR_NETWORK_CONNECTING_DOWNLOADING_2 :{BLACK}{BYTES} / {BYTES} adhuc arcessita + +STR_NETWORK_CONNECTION_DISCONNECT :{BLACK}Disiungere + +STR_NETWORK_NEED_GAME_PASSWORD_CAPTION :{WHITE}Servatrum tutum est. Tesseram inscribe +STR_NETWORK_NEED_COMPANY_PASSWORD_CAPTION :{WHITE}Societas tuta est. Tesseram inscribe + +# Network company list added strings +STR_NETWORK_COMPANY_LIST_CLIENT_LIST :{WHITE}Index clientum +STR_NETWORK_COMPANY_LIST_SPECTATE :{WHITE}Spectare +STR_NETWORK_COMPANY_LIST_NEW_COMPANY :{WHITE}Societas Nova + +# Network client list +STR_NETWORK_CLIENTLIST_KICK :Dimittere +STR_NETWORK_CLIENTLIST_BAN :Expellere +STR_NETWORK_CLIENTLIST_GIVE_MONEY :Dare pecuniam +STR_NETWORK_CLIENTLIST_SPEAK_TO_ALL :Ad omnes loqui +STR_NETWORK_CLIENTLIST_SPEAK_TO_COMPANY :Ad societatem loqui +STR_NETWORK_CLIENTLIST_SPEAK_TO_CLIENT :Ad clientem loqui + +STR_NETWORK_SERVER :Servatrum +STR_NETWORK_CLIENT :Cliens +STR_NETWORK_SPECTATORS :Spectatores + +STR_NETWORK_GIVE_MONEY_CAPTION :{WHITE}Inscribe quantitatem pecuniae dandam +STR_NETWORK_TOOLBAR_LIST_SPECTATOR :{BLACK}Spectator + +# Network set password +STR_COMPANY_PASSWORD_CANCEL :{BLACK}Relinquere tesseram inscriptam +STR_COMPANY_PASSWORD_OK :{BLACK}Dare novam tesseram societati +STR_COMPANY_PASSWORD_CAPTION :{WHITE}Tessera societatis +STR_COMPANY_PASSWORD_MAKE_DEFAULT :{BLACK}Tessera societatis solita +STR_COMPANY_PASSWORD_MAKE_DEFAULT_TOOLTIP :{BLACK}Fac ut haec tessera societatis solita sit novis societatibus + +# Network company info join/password +STR_COMPANY_VIEW_JOIN :{BLACK}Iungere +STR_COMPANY_VIEW_JOIN_TOOLTIP :{BLACK}Iungere ludereque in hac societate +STR_COMPANY_VIEW_PASSWORD :{BLACK}Tessera +STR_COMPANY_VIEW_PASSWORD_TOOLTIP :{BLACK}Custodire tessera societatem tuam ut clientes inauctorati iungere non possint +STR_COMPANY_VIEW_SET_PASSWORD :{BLACK}Eligere tesseram societatis + +# Network chat +STR_NETWORK_CHAT_SEND :{BLACK}Mittere +STR_NETWORK_CHAT_COMPANY_CAPTION :[Manui] : +STR_NETWORK_CHAT_CLIENT_CAPTION :[Privatum] {STRING}: +STR_NETWORK_CHAT_ALL_CAPTION :[Omnibus] : + +STR_NETWORK_CHAT_COMPANY :[Manui] {STRING}: {WHITE}{STRING} +STR_NETWORK_CHAT_TO_COMPANY :[Manui] Ad {STRING}: {WHITE}{STRING} +STR_NETWORK_CHAT_CLIENT :[Privatum] {STRING}: {WHITE}{STRING} +STR_NETWORK_CHAT_TO_CLIENT :[Privatum] Ad {STRING}: {WHITE}{STRING} +STR_NETWORK_CHAT_ALL :[Omnibus] {STRING}: {WHITE}{STRING} +STR_NETWORK_CHAT_OSKTITLE :{BLACK}Inscribere nuntium ad retis colloquium + +# Network messages +STR_NETWORK_ERROR_NOTAVAILABLE :{WHITE}Nullae res retis inventae vel compilata sine ENABLE_NETWORK +STR_NETWORK_ERROR_NOSERVER :{WHITE}Nulli ludi in rete inventi +STR_NETWORK_ERROR_NOCONNECTION :{WHITE}Nulla responsa a servatro +STR_NETWORK_ERROR_NEWGRF_MISMATCH :{WHITE}Non potest iungere propter NewGRF imparia +STR_NETWORK_ERROR_DESYNC :{WHITE}Synchronizatio ludi retis defecit +STR_NETWORK_ERROR_LOSTCONNECTION :{WHITE}Connexus retis amissus +STR_NETWORK_ERROR_SAVEGAMEERROR :{WHITE}Non potest legere ludum servatum +STR_NETWORK_ERROR_SERVER_START :{WHITE}Servatrum non potest incipi +STR_NETWORK_ERROR_CLIENT_START :{WHITE}Non potest coniungere +STR_NETWORK_ERROR_TIMEOUT :{WHITE}Connexus #{NUM} defecit +STR_NETWORK_ERROR_SERVER_ERROR :{WHITE}Error protocolis adfuit atque connexus clausus est +STR_NETWORK_ERROR_WRONG_REVISION :{WHITE}Editio clientis impar est editioni servatri +STR_NETWORK_ERROR_WRONG_PASSWORD :{WHITE}Tessera impar +STR_NETWORK_ERROR_SERVER_FULL :{WHITE}Servatrum plenum est +STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}Expulsus servatro es +STR_NETWORK_ERROR_KICKED :{WHITE}Dimissus ex servatro es +STR_NETWORK_ERROR_CHEATER :{WHITE}Fallere non licet in hoc servatro +STR_NETWORK_ERROR_TOO_MANY_COMMANDS :{WHITE}Nimium iussa servatro mittebas +STR_NETWORK_ERROR_TIMEOUT_PASSWORD :{WHITE}Nimis lente eras in tesseram inscribendo +STR_NETWORK_ERROR_TIMEOUT_COMPUTER :{WHITE}Computatrum tuum nimis lentius quam servatrum est +STR_NETWORK_ERROR_TIMEOUT_MAP :{WHITE}Computatrum tuum nimis lente erat in tabulam geographicam arcessendo +STR_NETWORK_ERROR_TIMEOUT_JOIN :{WHITE}Computatrum tuum nimis lente erat in ad servatrum iungendo + +############ Leave those lines in this order!! +STR_NETWORK_ERROR_CLIENT_GENERAL :error generalis +STR_NETWORK_ERROR_CLIENT_DESYNC :error desync +STR_NETWORK_ERROR_CLIENT_SAVEGAME :non potuit legere tabulam +STR_NETWORK_ERROR_CLIENT_CONNECTION_LOST :connexus amissus +STR_NETWORK_ERROR_CLIENT_PROTOCOL_ERROR :error protocolli +STR_NETWORK_ERROR_CLIENT_NEWGRF_MISMATCH :NewGRF imparia +STR_NETWORK_ERROR_CLIENT_NOT_AUTHORIZED :inauctoratus +STR_NETWORK_ERROR_CLIENT_NOT_EXPECTED :fasciculus irritus vel ignotus +STR_NETWORK_ERROR_CLIENT_WRONG_REVISION :editio impar +STR_NETWORK_ERROR_CLIENT_NAME_IN_USE :nomen iam adhibitum +STR_NETWORK_ERROR_CLIENT_WRONG_PASSWORD :tessera impar +STR_NETWORK_ERROR_CLIENT_COMPANY_MISMATCH :agnoscamentum societatis impar in 'DoCommand' +STR_NETWORK_ERROR_CLIENT_KICKED :dimissus a servatro +STR_NETWORK_ERROR_CLIENT_CHEATER :conabatur trica uti +STR_NETWORK_ERROR_CLIENT_SERVER_FULL :servatrum plenum +STR_NETWORK_ERROR_CLIENT_TOO_MANY_COMMANDS :mittebat nimium iussa +STR_NETWORK_ERROR_CLIENT_TIMEOUT_PASSWORD :nulla tessera recipitur +STR_NETWORK_ERROR_CLIENT_TIMEOUT_COMPUTER :connexus nimis lentus +STR_NETWORK_ERROR_CLIENT_TIMEOUT_MAP :tabula geographica arcessebatur nimis lente +STR_NETWORK_ERROR_CLIENT_TIMEOUT_JOIN :tabula geographica componebatur nimis lente +############ End of leave-in-this-order + +STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Connexus forsitan amissus +STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}In {NUM} prior{P e ibus} secund{P o is} nulla data e servatro accipitur + +# Network related errors +STR_NETWORK_SERVER_MESSAGE :*** {1:STRING} +############ Leave those lines in this order!! +STR_NETWORK_SERVER_MESSAGE_GAME_PAUSED :Ludus intermissus ({STRING}) +STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_1 :Ludus adhuc intermissus ({STRING}) +STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_2 :Ludus adhuc intermissus ({STRING}, {STRING}) +STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_3 :Ludus adhuc intermissus ({STRING}, {STRING}, {STRING}) +STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_4 :Ludus adhuc intermissus ({STRING}, {STRING}, {STRING}, {STRING}) +STR_NETWORK_SERVER_MESSAGE_GAME_UNPAUSED :Ludus resumptus ({STRING}) +STR_NETWORK_SERVER_MESSAGE_GAME_REASON_NOT_ENOUGH_PLAYERS :numerus lusorum +STR_NETWORK_SERVER_MESSAGE_GAME_REASON_CONNECTING_CLIENTS :lusores coniungentes +STR_NETWORK_SERVER_MESSAGE_GAME_REASON_MANUAL :a lusore +STR_NETWORK_SERVER_MESSAGE_GAME_REASON_GAME_SCRIPT :a ludi scripto +############ End of leave-in-this-order +STR_NETWORK_MESSAGE_CLIENT_LEAVING :exiens +STR_NETWORK_MESSAGE_CLIENT_JOINED :*** {STRING} ludum iungit +STR_NETWORK_MESSAGE_CLIENT_JOINED_ID :*** {STRING} ludum iungit (Cliens #{2:NUM}) +STR_NETWORK_MESSAGE_CLIENT_COMPANY_JOIN :*** {STRING} iungit societatem #{2:NUM} +STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} spectatores iungit +STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} novam societatem incipit (#{2:NUM}) +STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} ludum disiungit ({2:STRING}) +STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} nomen suum mutat ad {STRING} +STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} tuae societati largitur {2:CURRENCY_LONG} +STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Largiris {1:STRING} {2:CURRENCY_LONG} +STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Servatrum iam clausum est +STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Servatrum resumit...{}Maneas... + +# Content downloading window +STR_CONTENT_TITLE :{WHITE}Arcessitus Rerum +STR_CONTENT_TYPE_CAPTION :{BLACK}Typus +STR_CONTENT_TYPE_CAPTION_TOOLTIP :{BLACK}Typus rei +STR_CONTENT_NAME_CAPTION :{BLACK}Nomen +STR_CONTENT_NAME_CAPTION_TOOLTIP :{BLACK}Nomen rei +STR_CONTENT_MATRIX_TOOLTIP :{BLACK}Preme in lineam ut indicia monstretur{}Preme in quadrum ut res eligatur ad arcessendum +STR_CONTENT_SELECT_ALL_CAPTION :{BLACK}Omnes eligere +STR_CONTENT_SELECT_ALL_CAPTION_TOOLTIP :{BLACK}Signare omnes res arcessendas esse +STR_CONTENT_SELECT_UPDATES_CAPTION :{BLACK}Eligere novas editiones +STR_CONTENT_SELECT_UPDATES_CAPTION_TOOLTIP :{BLACK}Signare omnes editiones noviores quam eas quas iam habes arcessendas esse +STR_CONTENT_UNSELECT_ALL_CAPTION :{BLACK}Nullas eligere +STR_CONTENT_UNSELECT_ALL_CAPTION_TOOLTIP :{BLACK}Signare nullam rem arcessendam esse +STR_CONTENT_SEARCH_EXTERNAL :{BLACK}Quaerere situs externos +STR_CONTENT_SEARCH_EXTERNAL_TOOLTIP :{BLACK}Quaerere res in aliis sitibus interretialibus non in inventario OpenTTD parabiles +STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER_CAPTION :{WHITE}OpenTTD exiens es! +STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER :{WHITE}Condiciones res arcessendi ex sitibus externis sunt variae.{}Necesse est tibi inspicere eos situs et quaerere institutionem quomodo res imponatur intra OpenTTD.{}Visne pergere? +STR_CONTENT_FILTER_TITLE :{BLACK}Colum nominis: +STR_CONTENT_OPEN_URL :{BLACK}Ire ad situm interretialem +STR_CONTENT_OPEN_URL_TOOLTIP :{BLACK}Ire ad situm huius rei +STR_CONTENT_DOWNLOAD_CAPTION :{BLACK}Arcessere +STR_CONTENT_DOWNLOAD_CAPTION_TOOLTIP :{BLACK}Incipere arcessere res electas +STR_CONTENT_TOTAL_DOWNLOAD_SIZE :{SILVER}Magnitudo cuncti arcessitus: {WHITE}{BYTES} +STR_CONTENT_DETAIL_TITLE :{SILVER}INDICIA REI +STR_CONTENT_DETAIL_SUBTITLE_UNSELECTED :{SILVER}Non optavisti hanc rem arcessendam esse +STR_CONTENT_DETAIL_SUBTITLE_SELECTED :{SILVER}Optavisti hanc rem arcessendam esse +STR_CONTENT_DETAIL_SUBTITLE_AUTOSELECTED :{SILVER}Hic ambactus optatus est arcessendus +STR_CONTENT_DETAIL_SUBTITLE_ALREADY_HERE :{SILVER}Iam hanc rem habes +STR_CONTENT_DETAIL_SUBTITLE_DOES_NOT_EXIST :{SILVER}Haec res ignota est ac non potest arcessi in OpenTTD +STR_CONTENT_DETAIL_UPDATE :{SILVER}H{G ic aec oc i ae aec} est nova editio veteris {STRING.gen} +STR_CONTENT_DETAIL_NAME :{SILVER}Nomen: {WHITE}{STRING} +STR_CONTENT_DETAIL_VERSION :{SILVER}Editio: {WHITE}{STRING} +STR_CONTENT_DETAIL_DESCRIPTION :{SILVER}Descriptio: {WHITE}{STRING} +STR_CONTENT_DETAIL_URL :{SILVER}URL: {WHITE}{STRING} +STR_CONTENT_DETAIL_TYPE :{SILVER}Typus: {WHITE}{STRING} +STR_CONTENT_DETAIL_FILESIZE :{SILVER}Magnitudo arcessus: {WHITE}{BYTES} +STR_CONTENT_DETAIL_SELECTED_BECAUSE_OF :{SILVER}Electa propter: {WHITE}{STRING} +STR_CONTENT_DETAIL_DEPENDENCIES :{SILVER}Ambacti: {WHITE}{STRING} +STR_CONTENT_DETAIL_TAGS :{SILVER}Notae: {WHITE}{STRING} +STR_CONTENT_NO_ZLIB :{WHITE}OpenTTD compilata est sine "zlib"... +STR_CONTENT_NO_ZLIB_SUB :{WHITE}... itaque non potest ullam rem e rete arcessere! + +# Order of these is important! +STR_CONTENT_TYPE_BASE_GRAPHICS :{G=n}Fundamentum Graphicum +STR_CONTENT_TYPE_BASE_GRAPHICS.gen :{G=n}Fundamenti Graphici +STR_CONTENT_TYPE_NEWGRF :{G=n}NewGRF +STR_CONTENT_TYPE_NEWGRF.gen :{G=n}NewGRF +STR_CONTENT_TYPE_AI :{G=f}IA +STR_CONTENT_TYPE_AI.gen :{G=f}IA +STR_CONTENT_TYPE_AI_LIBRARY :{G=f}Bibliotheca IA +STR_CONTENT_TYPE_AI_LIBRARY.gen :{G=f}Bibliothecae IA +STR_CONTENT_TYPE_SCENARIO :{G=n}Scaenarium +STR_CONTENT_TYPE_SCENARIO.gen :{G=n}Scaenarii +STR_CONTENT_TYPE_HEIGHTMAP :{G=f}Tabula Altitudinum +STR_CONTENT_TYPE_HEIGHTMAP.gen :{G=f}Tabulae Altitudinum +STR_CONTENT_TYPE_BASE_SOUNDS :{G=n}Fundamentum Sonicum +STR_CONTENT_TYPE_BASE_SOUNDS.gen :{G=n}Fundamenti Sonici +STR_CONTENT_TYPE_BASE_MUSIC :{G=n}Fundamentum Musicum +STR_CONTENT_TYPE_BASE_MUSIC.gen :{G=n}Fundamenti Musici +STR_CONTENT_TYPE_GAME_SCRIPT :{G=n}Ludi Scriptum +STR_CONTENT_TYPE_GAME_SCRIPT.gen :{G=n}Ludi Scripti +STR_CONTENT_TYPE_GS_LIBRARY :{G=f}Bibliotheca Ludi Scriptorum +STR_CONTENT_TYPE_GS_LIBRARY.gen :{G=f}Bibliothecae Ludi Scriptorum + +# Content downloading progress window +STR_CONTENT_DOWNLOAD_TITLE :{WHITE}Res arcessens... +STR_CONTENT_DOWNLOAD_INITIALISE :{WHITE}Fasciculos requirens... +STR_CONTENT_DOWNLOAD_FILE :{WHITE}Arcessens {STRING} ({NUM} ex {NUM}) +STR_CONTENT_DOWNLOAD_COMPLETE :{WHITE}Transmissio completa +STR_CONTENT_DOWNLOAD_PROGRESS_SIZE :{WHITE}{BYTES} ex {BYTES} arcessita ({NUM} %) + +# Content downloading error messages +STR_CONTENT_ERROR_COULD_NOT_CONNECT :{WHITE}Non poterat iungere ad rerum servatrum... +STR_CONTENT_ERROR_COULD_NOT_DOWNLOAD :{WHITE}Transmissio defecit... +STR_CONTENT_ERROR_COULD_NOT_DOWNLOAD_CONNECTION_LOST :{WHITE}... connexus amissus +STR_CONTENT_ERROR_COULD_NOT_DOWNLOAD_FILE_NOT_WRITABLE :{WHITE}... fasciculus non scriptabilis +STR_CONTENT_ERROR_COULD_NOT_EXTRACT :{WHITE}Non poterat fasciculum arcessitum decomprimere + +STR_MISSING_GRAPHICS_SET_CAPTION :{WHITE}Graphica absenta +STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD graphica requirit sed nulla inventa sunt. Permittisne OpenTTD arcessere et imponere haec graphica? +STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Ita, arcessere graphica +STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}Non, OpenTTD exire + +# Transparency settings window +STR_TRANSPARENCY_CAPTION :{WHITE}Optiones Perluciditatis +STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Mutare perluciditatem signorum. Ctrl+Preme ut figatur (non mutabitur globulo perluciditatem mutandi presso) +STR_TRANSPARENT_TREES_TOOLTIP :{BLACK}Mutare perluciditatem arborum. Ctrl+Preme ut figatur (non mutabitur globulo perluciditatem mutandi presso) +STR_TRANSPARENT_HOUSES_TOOLTIP :{BLACK}Mutare perluciditatem aedificiorum. Ctrl+Preme ut figatur (non mutabitur globulo perluciditatem mutandi presso) +STR_TRANSPARENT_INDUSTRIES_TOOLTIP :{BLACK}Mutare perluciditatem industriarum. Ctrl+Preme ut figatur (non mutabitur globulo perluciditatem mutandi presso) +STR_TRANSPARENT_BUILDINGS_TOOLTIP :{BLACK}Mutare perluciditatem structurarum sicut stationes, receptacula, et interloci. Ctrl+Preme ut figatur (non mutabitur globulo perluciditatem mutandi presso) +STR_TRANSPARENT_BRIDGES_TOOLTIP :{BLACK}Mutare perluciditatem pontium. Ctrl+Preme ut figatur (non mutabitur globulo perluciditatem mutandi presso) +STR_TRANSPARENT_STRUCTURES_TOOLTIP :{BLACK}Mutare perluciditatem ornamentorum sicut phari et emissoria. Ctrl+Preme ut figatur (non mutabitur globulo perluciditatem mutandi presso) +STR_TRANSPARENT_CATENARY_TOOLTIP :{BLACK}Mutare perluciditatem catenariae. Ctrl+Preme ut figatur (non mutabitur globulo perluciditatem mutandi presso) +STR_TRANSPARENT_LOADING_TOOLTIP :{BLACK}Mutare perluciditatem signorum onerandi. Ctrl+Preme ut figatur (non mutabitur globulo perluciditatem mutandi presso) +STR_TRANSPARENT_INVISIBLE_TOOLTIP :{BLACK}Facere ut res invisibles sint, non tantum perlucidae + +# Linkgraph legend window +STR_LINKGRAPH_LEGEND_CAPTION :{BLACK}Formula Graphica Onerum Cursus +STR_LINKGRAPH_LEGEND_ALL :{BLACK}Omnia +STR_LINKGRAPH_LEGEND_NONE :{BLACK}Nulla +STR_LINKGRAPH_LEGEND_SELECT_COMPANIES :{BLACK}Eligere societates monstrandas + +# Linkgraph legend window and linkgraph legend in smallmap +STR_LINKGRAPH_LEGEND_UNUSED :{TINY_FONT}{BLACK}non usus +STR_LINKGRAPH_LEGEND_SATURATED :{TINY_FONT}{BLACK}satur +STR_LINKGRAPH_LEGEND_OVERLOADED :{TINY_FONT}{BLACK}superoneratus + +# Base for station construction window(s) +STR_STATION_BUILD_COVERAGE_AREA_TITLE :{BLACK}Regio Acceptionis +STR_STATION_BUILD_COVERAGE_OFF :{BLACK}Celata +STR_STATION_BUILD_COVERAGE_ON :{BLACK}Ostensa +STR_STATION_BUILD_COVERAGE_AREA_OFF_TOOLTIP :{BLACK}Haud ostendere regionem acceptionis loci struendi +STR_STATION_BUILD_COVERAGE_AREA_ON_TOOLTIP :{BLACK}Ostendere regionem acceptionis loci struendi +STR_STATION_BUILD_ACCEPTS_CARGO :{BLACK}Accipiuntur: {GOLD}{CARGO_LIST} +STR_STATION_BUILD_SUPPLIES_CARGO :{BLACK}Produntur: {GOLD}{CARGO_LIST} + +# Join station window +STR_JOIN_STATION_CAPTION :{WHITE}Iungere stationem +STR_JOIN_STATION_CREATE_SPLITTED_STATION :{YELLOW}Struere discretam stationem + +STR_JOIN_WAYPOINT_CAPTION :{WHITE}Iungere interlocum +STR_JOIN_WAYPOINT_CREATE_SPLITTED_WAYPOINT :{YELLOW}Struere discretum interlocum + +# Rail construction toolbar +STR_RAIL_TOOLBAR_RAILROAD_CONSTRUCTION_CAPTION :Constructio Ferriviarum +STR_RAIL_TOOLBAR_ELRAIL_CONSTRUCTION_CAPTION :Constructio Electricarum Ferriviarum +STR_RAIL_TOOLBAR_MONORAIL_CONSTRUCTION_CAPTION :Constructio Monoorbitarum +STR_RAIL_TOOLBAR_MAGLEV_CONSTRUCTION_CAPTION :Constructio Maglev + +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Struere ferriviam. Ctrl mutat inter ferrivias struendas/removendas. Shift mutat inter constructionem et aestimationem monstrandam +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Struere ferriviam automatico modo. Ctrl mutat inter ferrivias struendas/removendas. Shift mutat inter constructionem et aestimationem monstrandam +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Struere receptaculum traminum (ad tramina ministranda ac emenda). Shift mutat inter constructionem et aestimationem monstrandam +STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Struere interlocum ferriviarium. Ctrl pressa, interloci iungendi essent. Shift mutat inter constructionem et aestimationem monstrandam +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Struere stationem ferriviariam. Ctrl pressa, stationes iungendae essent. Shift mutat inter constructionem et aestimationem monstrandam +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Struere signalia ferriviaria. Ctrl mutat inter semaphora et signalia electrica{}Constuctio trahendo struit signalia in lineam; Ctrl+trahendo signalia struit usque ad compitum signaleve secundum{}Ctrl+Preme ut fenestra signalium ostendatur celeturve. Shift mutat inter constructionem et aestimationem monstrandam +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Struere pontem ferriviarium. Shift mutat inter constructionem et aestimationem monstrandam +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Struere cuniculum ferriviarium. Shift mutat inter constructionem et aestimationem monstrandam +STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Mutare inter ferrivias, signalia, interlocos, et stationes struendas/removendas. Ctrl pressa, etiam astaria interlocorum stationumque removenda sunt. +STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL :{BLACK}Mutare typum astarii. Shift mutat inter constructionem et aestimationem monstrandam + +STR_RAIL_NAME_RAILROAD :Ferrivia +STR_RAIL_NAME_RAILROAD.gen :Ferriviarium +STR_RAIL_NAME_ELRAIL :Ferrivia electrica +STR_RAIL_NAME_ELRAIL.gen :Electricum Ferriviarium +STR_RAIL_NAME_MONORAIL :Monoorbita +STR_RAIL_NAME_MONORAIL.gen :Monoorbitarium +STR_RAIL_NAME_MAGLEV :Maglev +STR_RAIL_NAME_MAGLEV.gen :Maglev + +# Rail depot construction window +STR_BUILD_DEPOT_TRAIN_ORIENTATION_CAPTION :{WHITE}Directio Receptaculi Traminum +STR_BUILD_DEPOT_TRAIN_ORIENTATION_TOOLTIP :{BLACK}Eligere directionem receptaculi traminum + +# Rail waypoint construction window +STR_WAYPOINT_CAPTION :{WHITE}Interlocus +STR_WAYPOINT_GRAPHICS_TOOLTIP :{BLACK}Eligere typum interloci + +# Rail station construction window +STR_STATION_BUILD_RAIL_CAPTION :{WHITE}Electio Ferriviariae Stationis +STR_STATION_BUILD_ORIENTATION :{BLACK}Directio +STR_STATION_BUILD_RAILROAD_ORIENTATION_TOOLTIP :{BLACK}Eligere directionem ferriviae stationis +STR_STATION_BUILD_NUMBER_OF_TRACKS :{BLACK}Numerus suggestuum +STR_STATION_BUILD_NUMBER_OF_TRACKS_TOOLTIP :{BLACK}Eligere numerum suggestuum ferriviae stationis +STR_STATION_BUILD_PLATFORM_LENGTH :{BLACK}Longitudo suggestuum +STR_STATION_BUILD_PLATFORM_LENGTH_TOOLTIP :{BLACK}Eligere longitudinem ferriviae stationis +STR_STATION_BUILD_DRAG_DROP :{BLACK}Trahere Ponereque +STR_STATION_BUILD_DRAG_DROP_TOOLTIP :{BLACK}Struere stationem trahendo ponendoque + +STR_STATION_BUILD_STATION_CLASS_TOOLTIP :{BLACK}Eligere classem stationum monstrandam +STR_STATION_BUILD_STATION_TYPE_TOOLTIP :{BLACK}Eligere typum stationis struendum + +STR_STATION_CLASS_DFLT :Statio solita +STR_STATION_CLASS_WAYP :Interloci + +# Signal window +STR_BUILD_SIGNAL_CAPTION :{WHITE}Electio Signalium +STR_BUILD_SIGNAL_SEMAPHORE_NORM_TOOLTIP :{BLACK}Signale Zonale (semaphoricum){}Hoc est signale simplicissimum, tantum unum tramen licet inesse inter signalia zonalia +STR_BUILD_SIGNAL_SEMAPHORE_ENTRY_TOOLTIP :{BLACK}Signale Aditus (semaphoricum){}Viride est dum est signale viride exitus in astariis sequentibus. Alioquin rubrum est +STR_BUILD_SIGNAL_SEMAPHORE_EXIT_TOOLTIP :{BLACK}Signale Exitus (semaphoricum){}Agit sicut signale zonale sed necesse est signalibus compositis aditusque +STR_BUILD_SIGNAL_SEMAPHORE_COMBO_TOOLTIP :{BLACK}Signale Compositum (semaphoricum){}Signale compositum agit sicut et aditus et exitus signale. Igitur potes facere magnas "arbores" signalium +STR_BUILD_SIGNAL_SEMAPHORE_PBS_TOOLTIP :{BLACK}Signale Itineris (semaphoricum){}Signale itineris sinit plura tramina inire intra signalia eodem tempore, si tramen potest reservare iter ad destinatum tutum. Signalia itineris usitata possunt transiri a tergo +STR_BUILD_SIGNAL_SEMAPHORE_PBS_OWAY_TOOLTIP :{BLACK}Signale Itineris Unius Cursus (semaphoricum){}Signale itineris sinit plura tramina inire intra signalia eodem tempore, si tramen potest reservare iter ad destinatum tutum. Signalia itineris unius cursus non possunt transiri a tergo +STR_BUILD_SIGNAL_ELECTRIC_NORM_TOOLTIP :{BLACK}Signale Zonale (electricum){}Hoc est signale simplicissimum, tantum unum tramen licet inesse inter signalia zonalia +STR_BUILD_SIGNAL_ELECTRIC_ENTRY_TOOLTIP :{BLACK}Signale Aditus (electricum){}Viride est dum est signale viride exitus in astariis sequentibus. Alioquin rubrum est +STR_BUILD_SIGNAL_ELECTRIC_EXIT_TOOLTIP :{BLACK}Signale Exitus (electricum){}Agit sicut signale zonale sed necesse est signalibus compositis aditusque +STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP :{BLACK}Signale Compositum (electricum){}Signale compositum agit sicut et aditus et exitus signale. Igitur potes facere magnas "arbores" signalium +STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP :{BLACK}Signale Itineris (electricum){}Signale itineris sinit plura tramina inire intra signalia eodem tempore, si tramen potest reservare iter ad destinatum tutum. Signalia itineris usitata possunt transiri a tergo +STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP :{BLACK}Signale Itineris Unius Cursus (electricum){}Signale itineris sinit plura tramina inire intra signalia eodem tempore, si tramen potest reservare iter ad destinatum tutum. Signalia itineris unius cursus non possunt transiri a tergo +STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Mutare Signalia{}Electa, pressio in signale facit ut mutetur in novum typum electum. Ctrl+Preme ut signale mutetur inter semaphoricum et electricum. Shift mutat inter mutationem et aestimationem monstrandam +STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}Densitas signalia trahendi +STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Minuere densitatem signalia trahendi +STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP :{BLACK}Augere densitatem signalia trahendi + +# Bridge selection window +STR_SELECT_RAIL_BRIDGE_CAPTION :{WHITE}Eligere Pontem Ferriviarium +STR_SELECT_ROAD_BRIDGE_CAPTION :{WHITE}Eligere Pontem Viarium +STR_SELECT_BRIDGE_SELECTION_TOOLTIP :{BLACK}Electio pontium - preme in pontem delectum ut struatur +STR_SELECT_BRIDGE_INFO :{GOLD}{STRING},{} {VELOCITY} {WHITE}{CURRENCY_LONG} +STR_SELECT_BRIDGE_SCENEDIT_INFO :{GOLD}{STRING},{} {VELOCITY} +STR_BRIDGE_NAME_SUSPENSION_STEEL :Pendulus, Chalybeius +STR_BRIDGE_NAME_GIRDER_STEEL :Trabum, Chalybeius +STR_BRIDGE_NAME_CANTILEVER_STEEL :Prominens, Chalybeius +STR_BRIDGE_NAME_SUSPENSION_CONCRETE :Pendulus, Caementicius +STR_BRIDGE_NAME_WOODEN :Ligneus +STR_BRIDGE_NAME_CONCRETE :Caementicius +STR_BRIDGE_NAME_TUBULAR_STEEL :Tubulorum, Chalybeius +STR_BRIDGE_TUBULAR_SILICON :Tubulorum, Silicii + + +# Road construction toolbar +STR_ROAD_TOOLBAR_ROAD_CONSTRUCTION_CAPTION :{WHITE}Constructio Viarum +STR_ROAD_TOOLBAR_TRAM_CONSTRUCTION_CAPTION :{WHITE}Constructio Ferriviarum Stratarium +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_SECTION :{BLACK}Struere viam. Ctrl mutat inter vias struendas/removendas. Shift mutat inter constructionem et aestimationem monstrandam +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}Struere ferriviam stratariam. Ctrl mutat inter struendum/removendum. Shift mutat inter constructionem et aestimationem monstrandam +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}Struere partem viae automatico modo. Ctrl mutat inter vias struendas/removendas. Shift mutat inter constructionem et aestimationem monstrandam +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOTRAM :{BLACK}Struere ferriviam stratariam automatico modo. Ctrl mutat inter ferrivias struendas/removendas. Shift mutat inter constructionem et aestimationem monstrandam +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Struere receptaculum viarium (ad vehicula viaria ministranda ac emenda). Shift mutat inter constructionem et aestimationem monstrandam +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Struere receptaculum transviarium (ad raedas transviarias ministrandas ac emendas). Shift mutat inter constructionem et aestimationem monstrandam +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}Struere stationem laophoricam. Ctrl pressa, stationes iungendae essent. Shift mutat inter constructionem et aestimationem monstrandam +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_PASSENGER_TRAM_STATION :{BLACK}Struere stationem transviariam vectoriam. Ctrl pressa, stationes iungendae essent. Shift mutat inter constructionem et aestimationem monstrandam +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRUCK_LOADING_BAY :{BLACK}Struere stationem autoplaustricam. Ctrl pressa, stationes iungendae essent. Shift mutat inter constructionem et aestimationem monstrandam +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_CARGO_TRAM_STATION :{BLACK}Struere stationem transviariam onerariam. Ctrl pressa, stationes iungendae essent. Shift mutat inter constructionem et aestimationem monstrandam +STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_ONE_WAY_ROAD :{BLACK}Monodromus adhibendus/non adhibendus +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_BRIDGE :{BLACK}Struere pontem viarium. Shift mutat inter constructionem et aestimationem monstrandam +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_BRIDGE :{BLACK}Struere pontem transviarium. Shift mutat inter constructionem et aestimationem monstrandam +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_TUNNEL :{BLACK}Struere cuniculum viarium. Shift mutat inter constructionem et aestimationem monstrandam +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_TUNNEL :{BLACK}Struere cuniculum transviarium. Shift mutat inter constructionem et aestimationem monstrandam +STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_ROAD :{BLACK}Mutare inter vias struendas/removendas +STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Mutare inter ferrivias stratarias struendas/removendas + +# Road depot construction window +STR_BUILD_DEPOT_ROAD_ORIENTATION_CAPTION :{WHITE}Directio receptaculi viarii +STR_BUILD_DEPOT_ROAD_ORIENTATION_SELECT_TOOLTIP :{BLACK}Eligere directionem receptaculi viarii +STR_BUILD_DEPOT_TRAM_ORIENTATION_CAPTION :{WHITE}Directio receptaculi transviarii +STR_BUILD_DEPOT_TRAM_ORIENTATION_SELECT_TOOLTIP :{BLACK}Eligere directionem receptaculi transviarii + +# Road vehicle station construction window +STR_STATION_BUILD_BUS_ORIENTATION :{WHITE}Directio stationis laophoricae +STR_STATION_BUILD_BUS_ORIENTATION_TOOLTIP :{BLACK}Eligere directionem stationis laophoricae +STR_STATION_BUILD_TRUCK_ORIENTATION :{WHITE}Directio stationis autoplaustricae +STR_STATION_BUILD_TRUCK_ORIENTATION_TOOLTIP :{BLACK}Eligere directionem stationis autoplaustricae +STR_STATION_BUILD_PASSENGER_TRAM_ORIENTATION :{WHITE}Directio stationis transviariae vectoriae +STR_STATION_BUILD_PASSENGER_TRAM_ORIENTATION_TOOLTIP :{BLACK}Eligere directionem stationis transviariae vectoriae +STR_STATION_BUILD_CARGO_TRAM_ORIENTATION :{WHITE}Directio stationis transviariae onerariae +STR_STATION_BUILD_CARGO_TRAM_ORIENTATION_TOOLTIP :{BLACK}Eligere directionem stationis transviariae onerariae + +# Waterways toolbar (last two for SE only) +STR_WATERWAYS_TOOLBAR_CAPTION :{WHITE}Constructio Viarum Aquarium +STR_WATERWAYS_TOOLBAR_CAPTION_SE :{WHITE}Viae Aquariae +STR_WATERWAYS_TOOLBAR_BUILD_CANALS_TOOLTIP :{BLACK}Struere canales. Shift mutat inter constructionem et aestimationem monstrandam +STR_WATERWAYS_TOOLBAR_BUILD_LOCKS_TOOLTIP :{BLACK}Struere cataracta. Shift mutat inter constructionem et aestimationem monstrandam +STR_WATERWAYS_TOOLBAR_BUILD_DEPOT_TOOLTIP :{BLACK}Struere receptaculum navium (ad naves emendas ac ministrandas). Shift mutat inter constructionem et aestimationem monstrandam +STR_WATERWAYS_TOOLBAR_BUILD_DOCK_TOOLTIP :{BLACK}Struere navale. Ctrl pressa, stationes iungendae essent. Shift mutat inter constructionem et aestimationem monstrandam +STR_WATERWAYS_TOOLBAR_BUOY_TOOLTIP :{BLACK}Ponere signum monitorium quod interlocus potest esse. Shift mutat inter constructionem et aestimationem monstrandam +STR_WATERWAYS_TOOLBAR_BUILD_AQUEDUCT_TOOLTIP :{BLACK}Struere aquae ductum. Shift mutat inter constructionem et aestimationem monstrandam +STR_WATERWAYS_TOOLBAR_CREATE_LAKE_TOOLTIP :{BLACK}Delineare aquae spatium.{}Ponere canalem. Si Ctrl premitur in libra maris, facit ut circumiectum inundetur +STR_WATERWAYS_TOOLBAR_CREATE_RIVER_TOOLTIP :{BLACK}Ponere fluvios + +# Ship depot construction window +STR_DEPOT_BUILD_SHIP_CAPTION :{WHITE}Directio receptaculi navium +STR_DEPOT_BUILD_SHIP_ORIENTATION_TOOLTIP :{BLACK}Eligere directionem receptaculi navium + +# Dock construction window +STR_STATION_BUILD_DOCK_CAPTION :{WHITE}Navale + +# Airport toolbar +STR_TOOLBAR_AIRCRAFT_CAPTION :{WHITE}Aeroportus +STR_TOOLBAR_AIRCRAFT_BUILD_AIRPORT_TOOLTIP :{BLACK}Struere aeroportum. Ctrl pressa, stationes iungendae essent. Shift mutat inter constructionem et aestimationem monstrandam + +# Airport construction window +STR_STATION_BUILD_AIRPORT_CAPTION :{WHITE}Electio aeroportuum +STR_STATION_BUILD_AIRPORT_TOOLTIP :{BLACK}Eligere typum aeroportus +STR_STATION_BUILD_AIRPORT_CLASS_LABEL :{BLACK}Typus aeroportus +STR_STATION_BUILD_AIRPORT_LAYOUT_NAME :{BLACK}Dispositio {NUM} + +STR_AIRPORT_SMALL :Parvus +STR_AIRPORT_CITY :Urbanus +STR_AIRPORT_METRO :Metropolitanus +STR_AIRPORT_INTERNATIONAL :Internationalis +STR_AIRPORT_COMMUTER :Suburbanus +STR_AIRPORT_INTERCONTINENTAL :Intercontinentalis +STR_AIRPORT_HELIPORT :Helicopterarium +STR_AIRPORT_HELIDEPOT :Heliportus +STR_AIRPORT_HELISTATION :Helistatio + +STR_AIRPORT_CLASS_SMALL :Aeroportus parvi +STR_AIRPORT_CLASS_LARGE :Aeroportus magni +STR_AIRPORT_CLASS_HUB :Aeroportus amplissimi +STR_AIRPORT_CLASS_HELIPORTS :Heliportus + +STR_STATION_BUILD_NOISE :{BLACK}Sonitus factus: {GOLD}{COMMA} + +# Landscaping toolbar +STR_LANDSCAPING_TOOLBAR :{WHITE}Plasmatio Terrae +STR_LANDSCAPING_TOOLTIP_LOWER_A_CORNER_OF_LAND :{BLACK}Inclinare angulum terrae. Dum trahitur, primus angulus electus inclinatur deinde area electa levigatur ad altitudinem primi anguli inclinati. Ctrl diagonaliter eligit. Shift mutat inter plasmationem et aestimationem monstrandam +STR_LANDSCAPING_TOOLTIP_RAISE_A_CORNER_OF_LAND :{BLACK}Tollere angulum terrae. Dum trahitur, primus angulus electus tollitur deinde area electa levigatur ad altitudinem primi anguli sublati. Ctrl diagonaliter eligit. Shift mutat inter plasmationem et aestimationem monstrandam +STR_LANDSCAPING_LEVEL_LAND_TOOLTIP :{BLACK}Levigare terram ad altitudinem primi anguli electi. Ctrl diagonaliter eligit. Shift mutat inter plasmationem et aestimationem monstrandam +STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Emere terram utendam. Shift mutat inter constructionem et aestimationem monstrandam + +# Object construction window +STR_OBJECT_BUILD_CAPTION :{WHITE}Electio ornamentorum +STR_OBJECT_BUILD_TOOLTIP :{BLACK}Eligere ornamentum struendum. Shift mutat inter constructionem et aestimationem monstrandam +STR_OBJECT_BUILD_CLASS_TOOLTIP :{BLACK}Eligere classem ornamenti struendi +STR_OBJECT_BUILD_PREVIEW_TOOLTIP :{BLACK}Praevisum ornamenti +STR_OBJECT_BUILD_SIZE :{BLACK}Magnitudo: {GOLD}{NUM} x {NUM} tegulae + +STR_OBJECT_CLASS_LTHS :Phari +STR_OBJECT_CLASS_TRNS :Emissoria + +# Tree planting window (last two for SE only) +STR_PLANT_TREE_CAPTION :{WHITE}Arbores +STR_PLANT_TREE_TOOLTIP :{BLACK}Eligere arborem serendam. Si tegula iam arborem habet, plures arbores fortuitas addentur (forsitan non idem typus arboris) +STR_TREES_RANDOM_TYPE :{BLACK}Arbor fortuita +STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Ponere atbores fortuitas. Shift mutat inter constructionem et aestimationem monstrandam +STR_TREES_RANDOM_TREES_BUTTON :{BLACK}Arbores fortuitae +STR_TREES_RANDOM_TREES_TOOLTIP :{BLACK}Serere arbores fortuitas per terram + +# Land generation window (SE) +STR_TERRAFORM_TOOLBAR_LAND_GENERATION_CAPTION :{WHITE}Plasmatio Terrae +STR_TERRAFORM_TOOLTIP_PLACE_ROCKY_AREAS_ON_LANDSCAPE :{BLACK}Ponere locos saxosos in terra +STR_TERRAFORM_TOOLTIP_DEFINE_DESERT_AREA :{BLACK}Definire spatium desertum.{}Ctrl pressa, desertum removeatur +STR_TERRAFORM_TOOLTIP_INCREASE_SIZE_OF_LAND_AREA :{BLACK}Augere spatium terrae inclinandae/tollendae +STR_TERRAFORM_TOOLTIP_DECREASE_SIZE_OF_LAND_AREA :{BLACK}Minuere spatium terrae inclinandae/tollendae +STR_TERRAFORM_TOOLTIP_GENERATE_RANDOM_LAND :{BLACK}Creare terram forte +STR_TERRAFORM_SE_NEW_WORLD :{BLACK}Novum scaenarium creare +STR_TERRAFORM_RESET_LANDSCAPE :{BLACK}Reponere terram +STR_TERRAFORM_RESET_LANDSCAPE_TOOLTIP :{BLACK}Removere omnes societatis possessiones + +STR_QUERY_RESET_LANDSCAPE_CAPTION :{WHITE}Reponere terram +STR_RESET_LANDSCAPE_CONFIRMATION_TEXT :{WHITE}Esne certus te velle omnes societatis possessiones removere? + +# Town generation window (SE) +STR_FOUND_TOWN_CAPTION :{WHITE}Conditus Oppidorum +STR_FOUND_TOWN_NEW_TOWN_BUTTON :{BLACK}Novum Oppidum +STR_FOUND_TOWN_NEW_TOWN_TOOLTIP :{BLACK}Condere novum oppidum. Shift mutat inter constructionem et aestimationem monstrandam +STR_FOUND_TOWN_RANDOM_TOWN_BUTTON :{BLACK}Oppidum Fortuitum +STR_FOUND_TOWN_RANDOM_TOWN_TOOLTIP :{BLACK}Condere oppidum in loco fortuito +STR_FOUND_TOWN_MANY_RANDOM_TOWNS :{BLACK}Plura Oppida Fortuita +STR_FOUND_TOWN_RANDOM_TOWNS_TOOLTIP :{BLACK}Condere oppida fortuita per tabulam + +STR_FOUND_TOWN_NAME_TITLE :{YELLOW}Nomen Oppidi: +STR_FOUND_TOWN_NAME_EDITOR_TITLE :{BLACK}Inscribe nomen oppidi +STR_FOUND_TOWN_NAME_EDITOR_HELP :{BLACK}Preme ut oppidi nomen inscribas +STR_FOUND_TOWN_NAME_RANDOM_BUTTON :{BLACK}Nomen fortuitum +STR_FOUND_TOWN_NAME_RANDOM_TOOLTIP :{BLACK}Creare novum nomen fortuitum + +STR_FOUND_TOWN_INITIAL_SIZE_TITLE :{YELLOW}Magnitudo oppidi: +STR_FOUND_TOWN_INITIAL_SIZE_SMALL_BUTTON :{BLACK}Parva +STR_FOUND_TOWN_INITIAL_SIZE_MEDIUM_BUTTON :{BLACK}Mediocris +STR_FOUND_TOWN_INITIAL_SIZE_LARGE_BUTTON :{BLACK}Magna +STR_FOUND_TOWN_SIZE_RANDOM :{BLACK}Fortuita +STR_FOUND_TOWN_INITIAL_SIZE_TOOLTIP :{BLACK}Eligere magnitudinem oppidi +STR_FOUND_TOWN_CITY :{BLACK}Urbs +STR_FOUND_TOWN_CITY_TOOLTIP :{BLACK}Urbes crescunt oppidis celerius{}Etiam maiores sunt cum conduntur + +STR_FOUND_TOWN_ROAD_LAYOUT :{YELLOW}Dispositio viarum oppidi: +STR_FOUND_TOWN_SELECT_TOWN_ROAD_LAYOUT :{BLACK}Eligere dispositionem viarum huic oppido adhibendam +STR_FOUND_TOWN_SELECT_LAYOUT_ORIGINAL :{BLACK}Originalis +STR_FOUND_TOWN_SELECT_LAYOUT_BETTER_ROADS :{BLACK}Viae satius +STR_FOUND_TOWN_SELECT_LAYOUT_2X2_GRID :{BLACK}Cancelli 2x2 +STR_FOUND_TOWN_SELECT_LAYOUT_3X3_GRID :{BLACK}Cancelli 3x3 +STR_FOUND_TOWN_SELECT_LAYOUT_RANDOM :{BLACK}Fortuita + +# Fund new industry window +STR_FUND_INDUSTRY_CAPTION :{WHITE}Condere novam industriam +STR_FUND_INDUSTRY_SELECTION_TOOLTIP :{BLACK}Eligere industriam ex indice +STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES :Plures industrae fortuitae +STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES_TOOLTIP :{BLACK}Serere industrias fortuitas per tabulam +STR_FUND_INDUSTRY_INDUSTRY_BUILD_COST :{BLACK}Pretium: {YELLOW}{CURRENCY_LONG} +STR_FUND_INDUSTRY_PROSPECT_NEW_INDUSTRY :{BLACK}Prospicere +STR_FUND_INDUSTRY_BUILD_NEW_INDUSTRY :{BLACK}Struere +STR_FUND_INDUSTRY_FUND_NEW_INDUSTRY :{BLACK}Condere + +# Industry cargoes window +STR_INDUSTRY_CARGOES_INDUSTRY_CAPTION :{WHITE}Catena industrialis {STRING.gen} +STR_INDUSTRY_CARGOES_CARGO_CAPTION :{WHITE}Catena industrialis {STRING.gen} +STR_INDUSTRY_CARGOES_PRODUCERS :{WHITE}Industriae producentes +STR_INDUSTRY_CARGOES_CUSTOMERS :{WHITE}Industriae accipientes +STR_INDUSTRY_CARGOES_HOUSES :{WHITE}Aedificia Oppidorum +STR_INDUSTRY_CARGOES_INDUSTRY_TOOLTIP :{BLACK}Preme in industriam ut monstrentur praebitores emptoresque eius +STR_INDUSTRY_CARGOES_CARGO_TOOLTIP :{BLACK}{STRING}{}Preme in onus ut monstrentur praebitores emptoresque eius +STR_INDUSTRY_DISPLAY_CHAIN :{BLACK}Ostendere catenam +STR_INDUSTRY_DISPLAY_CHAIN_TOOLTIP :{BLACK}Ostendere onera, praebitores, ac emptores huius industriae +STR_INDUSTRY_CARGOES_NOTIFY_SMALLMAP :{BLACK}Connectere ad tabulam parvam +STR_INDUSTRY_CARGOES_NOTIFY_SMALLMAP_TOOLTIP :{BLACK}Etiam monstrare industrias aptas in parva tabula +STR_INDUSTRY_CARGOES_SELECT_CARGO :{BLACK}Onus eligere +STR_INDUSTRY_CARGOES_SELECT_CARGO_TOOLTIP :{BLACK}Eligere onus monstrandum +STR_INDUSTRY_CARGOES_SELECT_INDUSTRY :{BLACK}Industriam eligere +STR_INDUSTRY_CARGOES_SELECT_INDUSTRY_TOOLTIP :{BLACK}Eligere industriam monstrandam + +# Land area window +STR_LAND_AREA_INFORMATION_CAPTION :{WHITE}Indicia Terrae Regionis +STR_LAND_AREA_INFORMATION_COST_TO_CLEAR_N_A :{BLACK}Pretium vacuefaciendi: {LTBLUE}N/A +STR_LAND_AREA_INFORMATION_COST_TO_CLEAR :{BLACK}Pretium vacuefaciendi: {RED}{CURRENCY_LONG} +STR_LAND_AREA_INFORMATION_REVENUE_WHEN_CLEARED :{BLACK}Reditus vacuefaciendi: {LTBLUE}{CURRENCY_LONG} +STR_LAND_AREA_INFORMATION_OWNER_N_A :N/A +STR_LAND_AREA_INFORMATION_OWNER :{BLACK}Possessor: {LTBLUE}{STRING} +STR_LAND_AREA_INFORMATION_ROAD_OWNER :{BLACK}Possessor viae: {LTBLUE}{STRING} +STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Possessor ferriviae stratariae: {LTBLUE}{STRING} +STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Possessor ferriviae: {LTBLUE}{STRING} +STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Auctoritas vicinalis: {LTBLUE}{STRING} +STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Nulla +STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Coordinatae: {LTBLUE}{NUM} x {NUM} x {NUM} ({STRING}) +STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Dies struendi: {LTBLUE}{DATE_LONG} +STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Classis stationis: {LTBLUE}{STRING} +STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Typus stationis: {LTBLUE}{STRING} +STR_LAND_AREA_INFORMATION_AIRPORT_CLASS :{BLACK}Typus aeroportus: {LTBLUE}{STRING} +STR_LAND_AREA_INFORMATION_AIRPORT_NAME :{BLACK}Nomen aeroportus: {LTBLUE}{STRING} +STR_LAND_AREA_INFORMATION_AIRPORTTILE_NAME :{BLACK}Nomen tegulae aeroportus: {LTBLUE}{STRING} +STR_LAND_AREA_INFORMATION_NEWGRF_NAME :{BLACK}NewGRF: {LTBLUE}{STRING} +STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Onera accepta: {LTBLUE} +STR_LAND_AREA_INFORMATION_CARGO_EIGHTS :({COMMA}/8 {STRING}) +STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Velocitas maxima ferriviae: {LTBLUE}{VELOCITY} +STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}Velocitas maxima viae: {LTBLUE}{VELOCITY} + +# Description of land area of different tiles +STR_LAI_CLEAR_DESCRIPTION_ROCKS :Saxa +STR_LAI_CLEAR_DESCRIPTION_ROUGH_LAND :Terra Aspera +STR_LAI_CLEAR_DESCRIPTION_BARE_LAND :Terra Nuda +STR_LAI_CLEAR_DESCRIPTION_GRASS :Herba +STR_LAI_CLEAR_DESCRIPTION_FIELDS :Agri +STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND :Terra Nivea +STR_LAI_CLEAR_DESCRIPTION_DESERT :Deserta + +STR_LAI_RAIL_DESCRIPTION_TRACK :Astarium {STRING.gen} +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :Astarium {STRING.gen} cum signalibus zonalibus +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :Astarium {STRING.gen} cum signalibus aditus +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :Astarium {STRING.gen} cum signalibus exitus +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :Astarium {STRING.gen} cum signalibus compositis +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :Astarium {STRING.gen} cum signalibus itineris +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :Astarium {STRING.gen} cum signalibus itineris unius cursus +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :Astarium {STRING.gen} cum signalibus zonalibus et aditus +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :Astarium {STRING.gen} cum signalibus zonalibus et exitus +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :Astarium {STRING.gen} cum signalibus zonalibus et compositis +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :Astarium {STRING.gen} cum signalibus zonalibus et itineris +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :Astarium {STRING.gen} cum signalibus zonalibus et itineris unius cursus +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :Astarium {STRING.gen} cum signalibus aditus et exitus +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :Astarium {STRING.gen} cum signalibus aditus et compositis +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :Astarium {STRING.gen} cum signalibus aditus et itineris +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :Astarium {STRING.gen} cum signalibus aditus et itineris unius cursus +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :Astarium {STRING.gen} cum signalibus exitus et compositis +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :Astarium {STRING.gen} cum signalibus exitus et itineris +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :Astarium {STRING.gen} cum signalibus exitus et itineris unius cursus +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :Astarium {STRING.gen} cum signalibus compositis et itineris +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :Astarium {STRING.gen} cum signalibus compositis et itineris unius cursus +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :Astarium {STRING.gen} cum signalibus itineris et unius cursus itineris +STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :Receptaculum {STRING.gen} + +STR_LAI_ROAD_DESCRIPTION_ROAD :Via +STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Via cum lampadibus +STR_LAI_ROAD_DESCRIPTION_TREE_LINED_ROAD :Via arborata +STR_LAI_ROAD_DESCRIPTION_ROAD_VEHICLE_DEPOT :Receptaculum viarium +STR_LAI_ROAD_DESCRIPTION_ROAD_RAIL_LEVEL_CROSSING :Transitus ferriviarius +STR_LAI_ROAD_DESCRIPTION_TRAMWAY :Ferrivia strataria + +# Houses come directly from their building names +STR_LAI_TOWN_INDUSTRY_DESCRIPTION_UNDER_CONSTRUCTION :{STRING} (adhuc construitur) + +STR_LAI_TREE_NAME_TREES :Arbores +STR_LAI_TREE_NAME_RAINFOREST :Silva pluvialis +STR_LAI_TREE_NAME_CACTUS_PLANTS :Cacti + +STR_LAI_STATION_DESCRIPTION_RAILROAD_STATION :Statio ferriviaria +STR_LAI_STATION_DESCRIPTION_AIRCRAFT_HANGAR :Tugurium +STR_LAI_STATION_DESCRIPTION_AIRPORT :Aeroportus +STR_LAI_STATION_DESCRIPTION_TRUCK_LOADING_AREA :Statio autoplaustrica +STR_LAI_STATION_DESCRIPTION_BUS_STATION :Statio laophorica +STR_LAI_STATION_DESCRIPTION_SHIP_DOCK :Navale +STR_LAI_STATION_DESCRIPTION_BUOY :Signum monitorium +STR_LAI_STATION_DESCRIPTION_WAYPOINT :Interlocus + +STR_LAI_WATER_DESCRIPTION_WATER :Aqua +STR_LAI_WATER_DESCRIPTION_CANAL :Canalis +STR_LAI_WATER_DESCRIPTION_LOCK :Cataracta +STR_LAI_WATER_DESCRIPTION_RIVER :Flumen +STR_LAI_WATER_DESCRIPTION_COAST_OR_RIVERBANK :Littus vel ripa +STR_LAI_WATER_DESCRIPTION_SHIP_DEPOT :Receptaculum Navium + +# Industries come directly from their industry names + +STR_LAI_TUNNEL_DESCRIPTION_RAILROAD :Ferriviae cuniculus +STR_LAI_TUNNEL_DESCRIPTION_ROAD :Viae cuniculus + +STR_LAI_BRIDGE_DESCRIPTION_RAIL_SUSPENSION_STEEL :Pons ferriviarius pendulus chalybeius +STR_LAI_BRIDGE_DESCRIPTION_RAIL_GIRDER_STEEL :Pons ferriviarius trabum chalybeius +STR_LAI_BRIDGE_DESCRIPTION_RAIL_CANTILEVER_STEEL :Pons ferriviarius prominens chalybeius +STR_LAI_BRIDGE_DESCRIPTION_RAIL_SUSPENSION_CONCRETE :Pons ferriviarius pendulus caementicius ferratus +STR_LAI_BRIDGE_DESCRIPTION_RAIL_WOODEN :Pons ferriviarius ligneus +STR_LAI_BRIDGE_DESCRIPTION_RAIL_CONCRETE :Pons ferriviarius caementicius +STR_LAI_BRIDGE_DESCRIPTION_RAIL_TUBULAR_STEEL :Pons ferriviarius tubulorum + +STR_LAI_BRIDGE_DESCRIPTION_ROAD_SUSPENSION_STEEL :Pons viarius pendulus chalybeius +STR_LAI_BRIDGE_DESCRIPTION_ROAD_GIRDER_STEEL :Pons viarius trabibus chalybeius +STR_LAI_BRIDGE_DESCRIPTION_ROAD_CANTILEVER_STEEL :Pons viarius prominens chalybeius +STR_LAI_BRIDGE_DESCRIPTION_ROAD_SUSPENSION_CONCRETE :Pons viarius pendulus caementicius ferratus +STR_LAI_BRIDGE_DESCRIPTION_ROAD_WOODEN :Pons viarius ligneus +STR_LAI_BRIDGE_DESCRIPTION_ROAD_CONCRETE :Pons viarius caementicius +STR_LAI_BRIDGE_DESCRIPTION_ROAD_TUBULAR_STEEL :Pons viarius tubulorum + +STR_LAI_BRIDGE_DESCRIPTION_AQUEDUCT :Aquae ductus + +STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER :Emissorium +STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE :Pharus +STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS :Sedes primaria societatis +STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Terra societatis + +# About OpenTTD window +STR_ABOUT_OPENTTD :{WHITE}De OpenTTD +STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Privilegium impressorium originale {COPYRIGHT} MCMXCV Chris Sawyer, Omnia proprietatis iura reservantur +STR_ABOUT_VERSION :{BLACK}OpenTTD editio {REV} +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} MMII-MMXV Manus OpenTTD + +# Save/load game/scenario +STR_SAVELOAD_SAVE_CAPTION :{WHITE}Servare Ludum +STR_SAVELOAD_LOAD_CAPTION :{WHITE}Legere Ludum +STR_SAVELOAD_SAVE_SCENARIO :{WHITE}Servare Scaenarium +STR_SAVELOAD_LOAD_SCENARIO :{WHITE}Legere Scaenarium +STR_SAVELOAD_LOAD_HEIGHTMAP :{WHITE}Legere tabulam altitudinum +STR_SAVELOAD_SAVE_HEIGHTMAP :{WHITE}Servare tabulam altitudinum +STR_SAVELOAD_HOME_BUTTON :{BLACK}Preme ut salias ad currens directorium solitum servandi/legendi +STR_SAVELOAD_BYTES_FREE :{BLACK}{BYTES} reliqua +STR_SAVELOAD_LIST_TOOLTIP :{BLACK}Index discorum, directoriorum, et ludorum servatorum +STR_SAVELOAD_EDITBOX_TOOLTIP :{BLACK}Nomen electum ludo servato +STR_SAVELOAD_DELETE_BUTTON :{BLACK}Delere +STR_SAVELOAD_DELETE_TOOLTIP :{BLACK}Delere ludum electum +STR_SAVELOAD_SAVE_BUTTON :{BLACK}Servare +STR_SAVELOAD_SAVE_TOOLTIP :{BLACK}Servare ludum currentem nomine electo +STR_SAVELOAD_LOAD_BUTTON :{BLACK}Legere +STR_SAVELOAD_LOAD_TOOLTIP :{BLACK}Legere ludum electum +STR_SAVELOAD_LOAD_HEIGHTMAP_TOOLTIP :{BLACK}Legere tabulam altitudinum electam +STR_SAVELOAD_DETAIL_CAPTION :{BLACK}Ludi indicia +STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}Nulla indicia parabilia +STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING} +STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}NewGRF: {WHITE}{STRING} + +STR_SAVELOAD_OSKTITLE :{BLACK}Inscribe nomen ludi + +# World generation +STR_MAPGEN_WORLD_GENERATION_CAPTION :{WHITE}Creatio Orbis Terrarum +STR_MAPGEN_MAPSIZE :{BLACK}Tabulae magnitudo: +STR_MAPGEN_MAPSIZE_TOOLTIP :{BLACK}Eligere magnitudinem tegularum tabulae geographicae. Tegulae parabiles fere minores erunt +STR_MAPGEN_BY :{BLACK}* +STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Numerus oppidorum: +STR_MAPGEN_DATE :{BLACK}Dies: +STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Numerus industriarum: +STR_MAPGEN_MAX_HEIGHTLEVEL :{BLACK}Altitudo tabulae maxima: +STR_MAPGEN_MAX_HEIGHTLEVEL_UP :{BLACK}Augere maximam altitudinem montium in tabula unum gradum +STR_MAPGEN_MAX_HEIGHTLEVEL_DOWN :{BLACK}Minuere maximam altitudinem montium in tabula unum gradum +STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}Altitudo nivis lineae: +STR_MAPGEN_SNOW_LINE_UP :{BLACK}Tollere altitudinem lineae nivis +STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}Inclinere altitudinem lineae nivis +STR_MAPGEN_LAND_GENERATOR :{BLACK}Generatrum terrae: +STR_MAPGEN_TREE_PLACER :{BLACK}Algorithmus arbores ponendi: +STR_MAPGEN_TERRAIN_TYPE :{BLACK}Typus terrae: +STR_MAPGEN_QUANTITY_OF_SEA_LAKES :{BLACK}Magnitudo maris: +STR_MAPGEN_QUANTITY_OF_RIVERS :{BLACK}Numerus fluviorum: +STR_MAPGEN_SMOOTHNESS :{BLACK}Lenitas: +STR_MAPGEN_VARIETY :{BLACK}Partitio Varietatis: +STR_MAPGEN_GENERATE :{WHITE}Creare + +# Strings for map borders at game generation +STR_MAPGEN_BORDER_TYPE :{BLACK}Fines tabulae: +STR_MAPGEN_NORTHWEST :{BLACK}Corus +STR_MAPGEN_NORTHEAST :{BLACK}Eurus +STR_MAPGEN_SOUTHEAST :{BLACK}Aquilo +STR_MAPGEN_SOUTHWEST :{BLACK}Africus +STR_MAPGEN_BORDER_FREEFORM :{BLACK}Quilibet +STR_MAPGEN_BORDER_WATER :{BLACK}Aqua +STR_MAPGEN_BORDER_RANDOM :{BLACK}Fortuiti +STR_MAPGEN_BORDER_RANDOMIZE :{BLACK}Fortuiti +STR_MAPGEN_BORDER_MANUAL :{BLACK}Manu + +STR_MAPGEN_HEIGHTMAP_ROTATION :{BLACK}Circuitus tabulae altitudinum: +STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Nomen tabulae altitudinum: +STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Magnitudo: +STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} + +STR_MAPGEN_MAX_HEIGHTLEVEL_QUERY_CAPT :{WHITE}Mutare altitudinem tabulae maximam +STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}Mutare altitudinem lineae nivis +STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Mutare annum initii + +# SE Map generation +STR_SE_MAPGEN_CAPTION :{WHITE}Typus Scaenarii +STR_SE_MAPGEN_FLAT_WORLD :{WHITE}Terra plana +STR_SE_MAPGEN_FLAT_WORLD_TOOLTIP :{BLACK}Creare terram planam +STR_SE_MAPGEN_RANDOM_LAND :{WHITE}Terrae fortuitae +STR_SE_MAPGEN_FLAT_WORLD_HEIGHT :{BLACK}Altitudo terrae planae: +STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_DOWN :{BLACK}Inclinere altitudinem terram planam +STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_UP :{BLACK}Tollere altitudinem terram planam + +STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_QUERY_CAPT :{WHITE}Mutare altitudinem planae terrae + +# Map generation progress +STR_GENERATION_WORLD :{WHITE}Mundum Plasmans... +STR_GENERATION_ABORT :{BLACK}Desinere +STR_GENERATION_ABORT_CAPTION :{WHITE}Desinere Creationem Mundi +STR_GENERATION_ABORT_MESSAGE :{YELLOW}Esne certus te velle desinere creationem? +STR_GENERATION_PROGRESS :{WHITE}{NUM}% factum +STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} +STR_GENERATION_WORLD_GENERATION :{BLACK}Creatio orbis terrarum +STR_GENERATION_RIVER_GENERATION :{BLACK}Creatio fluminum +STR_GENERATION_TREE_GENERATION :{BLACK}Creatio arborum +STR_GENERATION_OBJECT_GENERATION :{BLACK}Creatio ornamentorum +STR_GENERATION_CLEARING_TILES :{BLACK}Creatio terrarum saxosarum asperarumque +STR_GENERATION_SETTINGUP_GAME :{BLACK}Ludum instruens +STR_GENERATION_PREPARING_TILELOOP :{BLACK}Tegularum cursum exsequens +STR_GENERATION_PREPARING_SCRIPT :{BLACK}Scriptum exsequens +STR_GENERATION_PREPARING_GAME :{BLACK}Ludum parans + +# NewGRF settings +STR_NEWGRF_SETTINGS_CAPTION :{WHITE}Optiones NewGRF +STR_NEWGRF_SETTINGS_INFO_TITLE :{WHITE}Indicia NewGRF descripta +STR_NEWGRF_SETTINGS_ACTIVE_LIST :{WHITE}Fasciculi NewGRF activi +STR_NEWGRF_SETTINGS_INACTIVE_LIST :{WHITE}Fasciculi NewGRF inactivi +STR_NEWGRF_SETTINGS_SELECT_PRESET :{ORANGE}Eligere rationem: +STR_NEWGRF_FILTER_TITLE :{ORANGE}Series colans: +STR_NEWGRF_SETTINGS_PRESET_LIST_TOOLTIP :{BLACK}Legere rationem electam +STR_NEWGRF_SETTINGS_PRESET_SAVE :{BLACK}Servare rationem +STR_NEWGRF_SETTINGS_PRESET_SAVE_TOOLTIP :{BLACK}Servare hanc indicem rationi +STR_NEWGRF_SETTINGS_PRESET_SAVE_QUERY :{BLACK}Inscribere nomen rationis +STR_NEWGRF_SETTINGS_PRESET_DELETE :{BLACK}Delere rationem +STR_NEWGRF_SETTINGS_PRESET_DELETE_TOOLTIP :{BLACK}Delere rationem electam +STR_NEWGRF_SETTINGS_ADD :{BLACK}Addere +STR_NEWGRF_SETTINGS_ADD_FILE_TOOLTIP :{BLACK}Addere fasciculum NewGRF electum configurationi tuae +STR_NEWGRF_SETTINGS_RESCAN_FILES :{BLACK}Iterum quaerere fasciculos +STR_NEWGRF_SETTINGS_RESCAN_FILES_TOOLTIP :{BLACK}Recensere indicem fasciculorum NewGRF +STR_NEWGRF_SETTINGS_REMOVE :{BLACK}Removere +STR_NEWGRF_SETTINGS_REMOVE_TOOLTIP :{BLACK}Removere fasciculum NewGRF electum ex indice +STR_NEWGRF_SETTINGS_MOVEUP :{BLACK}Sursum Movere +STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP :{BLACK}Movere fasciculum NewGRF electum sursum in indice +STR_NEWGRF_SETTINGS_MOVEDOWN :{BLACK}Deosrum Movere +STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP :{BLACK}Movere fasciculum NewGRF electum deorsum in indice +STR_NEWGRF_SETTINGS_UPGRADE :{BLACK}Imponere novas editiones +STR_NEWGRF_SETTINGS_UPGRADE_TOOLTIP :{BLACK}Imponere eos fasciculos NewGRF qui novior sunt +STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}Index fasciculorum NewGRF qui sunt impositi + +STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}Eligere parametra +STR_NEWGRF_SETTINGS_SHOW_PARAMETERS :{BLACK}Monstrare parametra +STR_NEWGRF_SETTINGS_TOGGLE_PALETTE :{BLACK}Mutare coloris tabulam +STR_NEWGRF_SETTINGS_TOGGLE_PALETTE_TOOLTIP :{BLACK}Mutare coloris tabulam huius NewGRF.{}Utere cum colores huius NewGRF videntur esse rosei +STR_NEWGRF_SETTINGS_APPLY_CHANGES :{BLACK}Confirmare mutationes + +STR_NEWGRF_SETTINGS_FIND_MISSING_CONTENT_BUTTON :{BLACK}Quaere res absentes in interrete +STR_NEWGRF_SETTINGS_FIND_MISSING_CONTENT_TOOLTIP :{BLACK}Inspicere si res absentes in inventario Interretiale sunt + +STR_NEWGRF_SETTINGS_FILENAME :{BLACK}Nomen fasciculi: {SILVER}{STRING} +STR_NEWGRF_SETTINGS_GRF_ID :{BLACK}Agnoscamentum GRF: {SILVER}{STRING} +STR_NEWGRF_SETTINGS_VERSION :{BLACK}Editio: {SILVER}{NUM} +STR_NEWGRF_SETTINGS_MIN_VERSION :{BLACK}Editio congrua minima: {SILVER}{NUM} +STR_NEWGRF_SETTINGS_MD5SUM :{BLACK}MD5sum: {SILVER}{STRING} +STR_NEWGRF_SETTINGS_PALETTE :{BLACK}Coloris tabula: {SILVER}{STRING} +STR_NEWGRF_SETTINGS_PARAMETER :{BLACK}Parametra: {SILVER}{STRING} + +STR_NEWGRF_SETTINGS_NO_INFO :{BLACK}Nulla indicia parabilia +STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Par fasciculus non inventus +STR_NEWGRF_SETTINGS_DISABLED :{RED}Neglectum +STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Incompatibilis est huic OpenTTD editioni + +# NewGRF save preset window +STR_SAVE_PRESET_CAPTION :{WHITE}Servare rationem +STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK}Index rationum. Unam elige ut transcribatur nomini infero +STR_SAVE_PRESET_TITLE :{BLACK}Inscribe nomen rationis +STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}Nomen electum rationis conservandum +STR_SAVE_PRESET_CANCEL :{BLACK}Cancellare +STR_SAVE_PRESET_CANCEL_TOOLTIP :{BLACK}Non mutare rationem +STR_SAVE_PRESET_SAVE :{BLACK}Servare +STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}Rationem conservare huic nomini + +# NewGRF parameters window +STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Mutare parametra NewGRF +STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Claudere +STR_NEWGRF_PARAMETERS_RESET :{BLACK}Redire +STR_NEWGRF_PARAMETERS_RESET_TOOLTIP :{BLACK}Facere ut quodque parametrum solito reversum sit +STR_NEWGRF_PARAMETERS_DEFAULT_NAME :Parametrum {NUM} +STR_NEWGRF_PARAMETERS_SETTING :{STRING}: {ORANGE}{STRING} +STR_NEWGRF_PARAMETERS_NUM_PARAM :{LTBLUE}Numerus parametrorum: {ORANGE}{NUM} + +# NewGRF inspect window +STR_NEWGRF_INSPECT_CAPTION :{WHITE}Inspicere - {STRING} +STR_NEWGRF_INSPECT_PARENT_BUTTON :{BLACK}Parens +STR_NEWGRF_INSPECT_PARENT_TOOLTIP :{BLACK}Inspicere obiectum parentis + +STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT :{STRING} ad {HEX} +STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_OBJECT :Obiectum +STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_RAIL_TYPE :Typus ferriviae + +STR_NEWGRF_INSPECT_QUERY_CAPTION :{WHITE}NewGRF var 60+x parametrum (sedecimale) + +# Sprite aligner window +STR_SPRITE_ALIGNER_CAPTION :{WHITE}Dirigens spiritum {COMMA} ({STRING}) +STR_SPRITE_ALIGNER_NEXT_BUTTON :{BLACK}Spiritum secundum +STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Procedere ad spiritum naturalem secundum et, termino contacto, ad primum revertere +STR_SPRITE_ALIGNER_GOTO_BUTTON :{BLACK}Ire ad spiritum +STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}Ire ad spiritum electum. Si spiritus non naturalis sit, procedere ad secundum spiritum naturalem +STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Spiritum priorem +STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Ire ad spiritum naturalem priorem et, termino contacto, ad ultimum revertere +STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Imago spiritus electi. Directio neglegitur cum hic spiritus pingitur +STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Movere spiritum mutatione X et Y incrementa +STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Reponere relativas +STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Reponere positiones relativas +STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}Positio X: {NUM}, Positio Y: {NUM} (Absolutae) +STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}Positio X: {NUM}, Positio Y: {NUM} (Relativae) +STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Eligere spiritum +STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Eligere spiritum e scrinio + +STR_SPRITE_ALIGNER_GOTO_CAPTION :{WHITE}Ire ad spiritum + +# NewGRF (self) generated warnings/errors +STR_NEWGRF_ERROR_MSG_INFO :{SILVER}{STRING} +STR_NEWGRF_ERROR_MSG_WARNING :{RED}Cautio: {SILVER}{STRING} +STR_NEWGRF_ERROR_MSG_ERROR :{RED}Error: {SILVER}{STRING} +STR_NEWGRF_ERROR_MSG_FATAL :{RED}Error Fatalis: {SILVER}{STRING} +STR_NEWGRF_ERROR_FATAL_POPUP :{WHITE}Error NewGRF fatalis: {}{STRING} +STR_NEWGRF_ERROR_VERSION_NUMBER :{1:STRING} non operat apud editionem TTDPatch ab OpenTTD dicta +STR_NEWGRF_ERROR_DOS_OR_WINDOWS :{1:STRING} spectat ad editionem {STRING} TTD +STR_NEWGRF_ERROR_UNSET_SWITCH :{1:STRING} spectat ad {STRING} +STR_NEWGRF_ERROR_INVALID_PARAMETER :Parametrum irritum {1:STRING}: parametrum {STRING} ({NUM}) +STR_NEWGRF_ERROR_LOAD_BEFORE :Necesse est {1:STRING} legere ante {STRING} +STR_NEWGRF_ERROR_LOAD_AFTER :Necesse est {1:STRING} legere post {STRING} +STR_NEWGRF_ERROR_OTTD_VERSION_NUMBER :{1:STRING} poscit editionem OpenTTD {STRING} sive maiorem +STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE :fasciculum GRF cui designatus est transferre +STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :Nimis NewGRF lecta sunt +STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :Lectio {1:STRING} ut NewGRF fixum cum {STRING} potest desynchronizare +STR_NEWGRF_ERROR_UNEXPECTED_SPRITE :Spiritus repens (spiritus {3:NUM}) +STR_NEWGRF_ERROR_UNKNOWN_PROPERTY :Obiectum Actionis 0 ignotum {4:HEX} (spiritus {3:NUM}) +STR_NEWGRF_ERROR_INVALID_ID :Conatus agnoscamento irrito uti (spiritus {3:NUM}) +STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} spiritum corruptum habet. Omnes spiritus corrupti monstrabuntur forma rubro puncto interrogativo - ? +STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Continet plures Actiones 8 (spiritus {3:NUM}) +STR_NEWGRF_ERROR_READ_BOUNDS :Lectio post terminum pseudospiritus (spiritus {3:NUM}) +STR_NEWGRF_ERROR_MISSING_SPRITES :{WHITE}Fundamento graphico adhibito deest nonulli spiritus.{}Utinam arcessas novam editionem +STR_NEWGRF_ERROR_MISSING_SPRITES_UNSTABLE :{WHITE}Fundamento graphico adhibito deest nonulli spiritus.{}Utinam arcessas novam editionem.{}Quoniam ludis {YELLOW}editionem OpenTTD adhuc in explicando{WHITE}, fortasse etiam tibi necesse est {YELLOW}editio fundamenti graphici OpenTTD in explicando{WHITE} +STR_NEWGRF_ERROR_GRM_FAILED :Opes GRF desideratae non parabiles (spiritus {3:NUM}) +STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING} neglectus est a {2:STRING} +STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Irrita/ignota dispositio spiritus (spiritus {3:NUM}) + +# NewGRF related 'general' warnings +STR_NEWGRF_POPUP_CAUTION_CAPTION :{WHITE}Maxime Cavendum Est! +STR_NEWGRF_CONFIRMATION_TEXT :{YELLOW}Ludum euntem mutaturus es. Igitur, ludum corruatur sive OpenTTD frangatur. Noli queri de mendis harum rerum.{}Esne valde certus te pergere velle? + +STR_NEWGRF_DUPLICATE_GRFID :{WHITE}Addere fasciculum non licet nam adest agnoscamentum GRF duplicatum +STR_NEWGRF_COMPATIBLE_LOADED :{ORANGE}Fasciculus congruus lectus (nam fasciculus idem non inventum fuit) +STR_NEWGRF_TOO_MANY_NEWGRFS :{WHITE}Addere fasciculum non licet; nimis NewGRF adsunt + +STR_NEWGRF_COMPATIBLE_LOAD_WARNING :{WHITE}Fasciculi congrui lecti in loco fasciculorum absentorum +STR_NEWGRF_DISABLED_WARNING :{WHITE}Fasciculi absentes remoti sunt +STR_NEWGRF_UNPAUSE_WARNING_TITLE :{YELLOW}Fasciculi GRF absunt +STR_NEWGRF_UNPAUSE_WARNING :{WHITE}OpenTTD forsitan corruatur resumendo. Noli queri de ruinis sequentibus.{}Esne valde certus te ludum resumere velle? + +# NewGRF status +STR_NEWGRF_LIST_NONE :Nulli +STR_NEWGRF_LIST_ALL_FOUND :Omnes fasciculi adsunt +STR_NEWGRF_LIST_COMPATIBLE :{YELLOW}Fasciculi congrui inventi +STR_NEWGRF_LIST_MISSING :{RED}Fasciculi absunt + +# NewGRF 'it's broken' warnings +STR_NEWGRF_BROKEN :{WHITE}NewGRF '{0:STRING}' probabiliter faciet ut ludus desynchronizetur corruaturve +STR_NEWGRF_BROKEN_POWERED_WAGON :{WHITE}Nam mutavit potestatem currus '{1:ENGINE}' extra receptaculum +STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Nam mutavit longitudinem vehiculi '{1:ENGINE}' extra receptaculum +STR_NEWGRF_BROKEN_CAPACITY :{WHITE}Nam mutavit capacitatem vehiculi '{1:ENGINE}' extra aut receptaculum aut reficiendum +STR_BROKEN_VEHICLE_LENGTH :{WHITE}Tramen '{VEHICLE}' a '{COMPANY}' posessum longitudinem irritam habet. Probabiliter accidit quod menda sunt in NewGRF. Ludus desynchronizet vel corruat + +STR_NEWGRF_BUGGY :{WHITE}NewGRF '{0:STRING}' affert indicium mendosum +STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}Indicium oneris/reficiendi '{1:ENGINE}' post constructionem differt eo quod est in indice emptionis. Ergo fortasse autoredemptio/automutatio non possit reficere +STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' facit ut versatur ad infinitum in revocatione productionis +STR_NEWGRF_BUGGY_UNKNOWN_CALLBACK_RESULT :{WHITE}Revocatio {1:HEX} reddidit conlationem ignotam irritamve {2:HEX} + +# 'User removed essential NewGRFs'-placeholders for stuff without specs +STR_NEWGRF_INVALID_CARGO : +STR_NEWGRF_INVALID_CARGO_ABBREV :?? +STR_NEWGRF_INVALID_CARGO_QUANTITY :{COMMA} +STR_NEWGRF_INVALID_ENGINE : +STR_NEWGRF_INVALID_INDUSTRYTYPE : + +# Placeholders for other invalid stuff, e.g. vehicles that have gone (Game Script). +STR_INVALID_VEHICLE : + +# NewGRF scanning window +STR_NEWGRF_SCAN_CAPTION :{WHITE}Fasciculos NewGRF inspiciens +STR_NEWGRF_SCAN_MESSAGE :{BLACK}Fasciculos NewGRF inspiciens. Fortasse diu erit si multi fasciculi adsunt... +STR_NEWGRF_SCAN_STATUS :{BLACK}{NUM} NewGRF inspecta ex fere {NUM} NewGRF +STR_NEWGRF_SCAN_ARCHIVES :Fasciculos compressos inspiciens + +# Sign list window +STR_SIGN_LIST_CAPTION :{WHITE}Index Signorum - {COMMA} Sign{P um a} +STR_SIGN_LIST_MATCH_CASE :{BLACK}Sequi casum litterarum +STR_SIGN_LIST_MATCH_CASE_TOOLTIP :{BLACK}Mutare secutionem casus litterarum cum signa comparantur seriei colanti + +# Sign window +STR_EDIT_SIGN_CAPTION :{WHITE}Mutare signum +STR_EDIT_SIGN_NEXT_SIGN_TOOLTIP :{BLACK}Procedere signo secundo +STR_EDIT_SIGN_PREVIOUS_SIGN_TOOLTIP :{BLACK}Recedere signo priori + +STR_EDIT_SIGN_SIGN_OSKTITLE :{BLACK}Inscribe nomen signi + +# Town directory window +STR_TOWN_DIRECTORY_CAPTION :{WHITE}Oppida +STR_TOWN_DIRECTORY_NONE :{ORANGE}- Nulla - +STR_TOWN_DIRECTORY_TOWN :{ORANGE}{TOWN}{BLACK} ({COMMA}) +STR_TOWN_DIRECTORY_LIST_TOOLTIP :{BLACK}Nomina oppidorum - preme in nomen ut conspectus supra oppidum locetur. Ctrl+Preme ut novam fenestram conspectus supra oppidum aperiatur +STR_TOWN_POPULATION :{BLACK}Incolae mundi: {COMMA} + +# Town view window +STR_TOWN_VIEW_TOWN_CAPTION :{WHITE}{TOWN} +STR_TOWN_VIEW_CITY_CAPTION :{WHITE}{TOWN} (Urbs) +STR_TOWN_VIEW_POPULATION_HOUSES :{BLACK}Incolae: {ORANGE}{COMMA}{BLACK} Aedificia: {ORANGE}{COMMA} +STR_TOWN_VIEW_PASSENGERS_LAST_MONTH_MAX :{BLACK}Vectores mensis prioris: {ORANGE}{COMMA}{BLACK} max: {ORANGE}{COMMA} +STR_TOWN_VIEW_MAIL_LAST_MONTH_MAX :{BLACK}Epistulae mensis prioris: {ORANGE}{COMMA}{BLACK} max: {ORANGE}{COMMA} +STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH :{BLACK}Onera mandata ad oppidum crescendum: +STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_GENERAL :{ORANGE}{STRING}{RED} mandatur +STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING}{BLACK} hieme mandatur +STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} tradit{G 0 us a um i ae a} +STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (adhuc mandat{G 1 us a um i ae a}) +STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (tradit{G 1 us a um i ae a}) +STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Oppidum crescit {ORANGE}{COMMA}{BLACK} quoque die +STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Oppidum crescit {ORANGE}{COMMA}{BLACK} quoque die (stimulatus) +STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}Oppidum {RED}non{BLACK} crescit +STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Finis soniti in oppido: {ORANGE}{COMMA}{BLACK} max: {ORANGE}{COMMA} +STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Movere conspectum supra hoc oppidum. Ctrl+Preme ut nova fenestra conspectus aperiatur supra oppidum +STR_TOWN_VIEW_LOCAL_AUTHORITY_BUTTON :{BLACK}Auctoritas vicinalis +STR_TOWN_VIEW_LOCAL_AUTHORITY_TOOLTIP :{BLACK}Monstrare indicia auctoritatis vicinalis +STR_TOWN_VIEW_RENAME_TOOLTIP :{BLACK}Mutare nomen oppidi + +STR_TOWN_VIEW_EXPAND_BUTTON :{BLACK}Augere +STR_TOWN_VIEW_EXPAND_TOOLTIP :{BLACK}Augere oppidum +STR_TOWN_VIEW_DELETE_BUTTON :{BLACK}Delere +STR_TOWN_VIEW_DELETE_TOOLTIP :{BLACK}Delere omnino hoc oppidum + +STR_TOWN_VIEW_RENAME_TOWN_BUTTON :Renominare Oppidum + +# Town local authority window +STR_LOCAL_AUTHORITY_CAPTION :{WHITE}{TOWN} Auctoritas vicinalis +STR_LOCAL_AUTHORITY_COMPANY_RATINGS :{BLACK}Censiones societatum: +STR_LOCAL_AUTHORITY_COMPANY_RATING :{YELLOW}{COMPANY} {COMPANY_NUM}: {ORANGE}{STRING} +STR_LOCAL_AUTHORITY_ACTIONS_TITLE :{BLACK}Actiones parabiles: +STR_LOCAL_AUTHORITY_ACTIONS_TOOLTIP :{BLACK}Index rerum in hoc oppido adhibendarum - preme in rem ut indicia rei monstretur +STR_LOCAL_AUTHORITY_DO_IT_BUTTON :{BLACK}Facere +STR_LOCAL_AUTHORITY_DO_IT_TOOLTIP :{BLACK}Exsequi actionem electam ex indice + +STR_LOCAL_AUTHORITY_ACTION_SMALL_ADVERTISING_CAMPAIGN :Coepta praeconia parva +STR_LOCAL_AUTHORITY_ACTION_MEDIUM_ADVERTISING_CAMPAIGN :Coepta praeconia mediocria +STR_LOCAL_AUTHORITY_ACTION_LARGE_ADVERTISING_CAMPAIGN :Coepta praeconia magna +STR_LOCAL_AUTHORITY_ACTION_ROAD_RECONSTRUCTION :Condere reconstructionem viarum vicinalium +STR_LOCAL_AUTHORITY_ACTION_STATUE_OF_COMPANY :Struere effigiem praesidis societatis +STR_LOCAL_AUTHORITY_ACTION_NEW_BUILDINGS :Condere nova aedificia +STR_LOCAL_AUTHORITY_ACTION_EXCLUSIVE_TRANSPORT :Emere monopolium +STR_LOCAL_AUTHORITY_ACTION_BRIBE :Largiri auctoritatem vicinalem + +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}Incipere coepta praeconia parva, ut plures vectores oneraque alliciantur tuis muneribus.{}Pretium: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}Incipere coepta praeconia mediocria, ut plures vectores oneraque alliciantur tuis muneribus.{}Pretium: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW}Incipere coepta praeconia magna, ut plures vectores oneraque alliciantur tuis muneribus.{}Pretium: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}Condere reconstructionem retis viarum urbanarum. Reconstructio facit magnam turbam viariam in oppido 6 menses.{}Pretium: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}Struere effigiem praesidis tuae societatis in oppido.{}Pretium: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}Condere nova aedificia mercatoria in oppido.{}Pretium: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}Emere monopolium unius anni in oppido. Auctoritas oppidi licebit vectores oneraque solum ire ad stationes tuas.{}Pretium: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Largiri auctoritatem vicinalem ut tua censio augeatur, at difficultas adest: forsitan animadvertaris et graviter puniaris.{}Pretium: {CURRENCY_LONG} + +# Goal window +STR_GOALS_CAPTION :{WHITE}{COMPANY} Metae +STR_GOALS_SPECTATOR_CAPTION :{WHITE}Metae Globales +STR_GOALS_GLOBAL_TITLE :{BLACK}Metae globales: +STR_GOALS_TEXT :{ORANGE}{STRING} +STR_GOALS_NONE :{ORANGE}- Nullae - +STR_GOALS_SPECTATOR_NONE :{ORANGE}- Non applicabiles - +STR_GOALS_PROGRESS :{ORANGE}{STRING} +STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING} +STR_GOALS_COMPANY_TITLE :{BLACK}Metae Societatis: +STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Preme in metam ut conspectus moveatur supra industriam/oppidum/tegulam. Ctrl+Preme ut nova fenestra conspectus aperiatur supra industriam/oppidum/tegulam + +# Goal question window +STR_GOAL_QUESTION_CAPTION_QUESTION :Quaestio +STR_GOAL_QUESTION_CAPTION_INFORMATION :Indicia +STR_GOAL_QUESTION_CAPTION_WARNING :Cautio +STR_GOAL_QUESTION_CAPTION_ERROR :Error + +############ Start of Goal Question button list +STR_GOAL_QUESTION_BUTTON_CANCEL :Cancellare +STR_GOAL_QUESTION_BUTTON_OK :Ita +STR_GOAL_QUESTION_BUTTON_NO :Non +STR_GOAL_QUESTION_BUTTON_YES :Ita +STR_GOAL_QUESTION_BUTTON_DECLINE :Recusare +STR_GOAL_QUESTION_BUTTON_ACCEPT :Accipere +STR_GOAL_QUESTION_BUTTON_IGNORE :Neglegere +STR_GOAL_QUESTION_BUTTON_RETRY :Iterum conari +STR_GOAL_QUESTION_BUTTON_PREVIOUS :Priorem +STR_GOAL_QUESTION_BUTTON_NEXT :Secundam +STR_GOAL_QUESTION_BUTTON_STOP :Desinere +STR_GOAL_QUESTION_BUTTON_START :Incipere +STR_GOAL_QUESTION_BUTTON_GO :Incipiamus! +STR_GOAL_QUESTION_BUTTON_CONTINUE :Pergere +STR_GOAL_QUESTION_BUTTON_RESTART :Incipere denuo +STR_GOAL_QUESTION_BUTTON_POSTPONE :Procrastinare +STR_GOAL_QUESTION_BUTTON_SURRENDER :Dedere +STR_GOAL_QUESTION_BUTTON_CLOSE :Claudere +############ End of Goal Question button list + +# Subsidies window +STR_SUBSIDIES_CAPTION :{WHITE}Subsidia +STR_SUBSIDIES_OFFERED_TITLE :{BLACK}Subsidia portationis oblata: +STR_SUBSIDIES_OFFERED_FROM_TO :{ORANGE}{STRING} a {STRING.abl} ad {STRING.acc}{YELLOW} (ante {DATE_SHORT}) +STR_SUBSIDIES_NONE :{ORANGE}- Nulla - +STR_SUBSIDIES_SUBSIDISED_TITLE :{BLACK}Itinera iam subventa: +STR_SUBSIDIES_SUBSIDISED_FROM_TO :{ORANGE}{STRING} a {STRING} ad {STRING}{YELLOW} ({COMPANY}{YELLOW}, ad {DATE_SHORT}) +STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Preme in subsidium ut conspectus moveatur supra industriam/oppidum. Ctrl+Preme ut nova fenestra conspectus aperiatur supra industriam/oppidum + +# Story book window +STR_STORY_BOOK_CAPTION :{WHITE}{COMPANY} Librum Fabularum +STR_STORY_BOOK_SPECTATOR_CAPTION :{WHITE}Librum Fabularum Globalis +STR_STORY_BOOK_TITLE :{YELLOW}{STRING} +STR_STORY_BOOK_GENERIC_PAGE_ITEM :Pagina {NUM} +STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Salire ad quamdam paginam eligendo eam in hac indice +STR_STORY_BOOK_PREV_PAGE :{BLACK}Priorem +STR_STORY_BOOK_PREV_PAGE_TOOLTIP :{BLACK}Ire ad paginam priorem +STR_STORY_BOOK_NEXT_PAGE :{BLACK}Secundam +STR_STORY_BOOK_NEXT_PAGE_TOOLTIP :{BLACK}Ire ad paginam secundam +STR_STORY_BOOK_INVALID_GOAL_REF :{RED}Meta irrita + +# Station list window +STR_STATION_LIST_TOOLTIP :{BLACK}Nomina stationum - preme in nomen ut conspectus moveatur supra stationem. Ctrl+Preme ut nova fenestra conspectus aperiatur supra stationem +STR_STATION_LIST_USE_CTRL_TO_SELECT_MORE :{BLACK}Comprime Ctrl ut plures res eligantur +STR_STATION_LIST_CAPTION :{WHITE}{COMPANY} - {COMMA} Statio{P "" nes} +STR_STATION_LIST_STATION :{YELLOW}{STATION} {STATION_FEATURES} +STR_STATION_LIST_WAYPOINT :{YELLOW}{WAYPOINT} +STR_STATION_LIST_NONE :{YELLOW}- Nullae - +STR_STATION_LIST_SELECT_ALL_FACILITIES :{BLACK}Omnes eligere +STR_STATION_LIST_SELECT_ALL_TYPES :{BLACK}Omnes onerum typos eligere (etiam onera non in ulla statione) +STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}Nullum onus manens est + +# Station view window +STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} +STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} +STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} a {STATION}) +STR_STATION_VIEW_RESERVED :{YELLOW}({CARGO_SHORT} reservata ad onerandum) + +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_RATINGS_BUTTON :{BLACK}Censiones +STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Monstrare censiones stationum +STR_STATION_VIEW_SUPPLY_RATINGS_TITLE :{BLACK}Oblatum menstruum et censio vicinalis: +STR_STATION_VIEW_CARGO_SUPPLY_RATING :{WHITE}{STRING}: {YELLOW}{COMMA} / {STRING} ({COMMA}%) + +STR_STATION_VIEW_GROUP :{BLACK}Ordo +STR_STATION_VIEW_WAITING_STATION :Statione: Manentia +STR_STATION_VIEW_WAITING_AMOUNT :Copia: Manentia +STR_STATION_VIEW_PLANNED_STATION :Statione: Rata +STR_STATION_VIEW_PLANNED_AMOUNT :Copia: Rata +STR_STATION_VIEW_FROM :{YELLOW}{CARGO_SHORT} a {STATION} +STR_STATION_VIEW_VIA :{YELLOW}{CARGO_SHORT} per {STATION} +STR_STATION_VIEW_TO :{YELLOW}{CARGO_SHORT} ad {STATION} +STR_STATION_VIEW_FROM_ANY :{RED}{CARGO_SHORT} e statione ignota +STR_STATION_VIEW_TO_ANY :{RED}{CARGO_SHORT} ad aliquam stationem +STR_STATION_VIEW_VIA_ANY :{RED}{CARGO_SHORT} per aliquam stationem +STR_STATION_VIEW_FROM_HERE :{GREEN}{CARGO_SHORT} ex hac statione +STR_STATION_VIEW_VIA_HERE :{GREEN}{CARGO_SHORT} per hanc stationem +STR_STATION_VIEW_TO_HERE :{GREEN}{CARGO_SHORT} ad hanc stationem +STR_STATION_VIEW_NONSTOP :{YELLOW}{CARGO_SHORT} continue + +STR_STATION_VIEW_GROUP_S_V_D :Origo-Via-Destinatum +STR_STATION_VIEW_GROUP_S_D_V :Origo-Destinatum-Via +STR_STATION_VIEW_GROUP_V_S_D :Via-Origo-Destinatum +STR_STATION_VIEW_GROUP_V_D_S :Via-Destinatum-Origo +STR_STATION_VIEW_GROUP_D_S_V :Destinatum-Origo-Via +STR_STATION_VIEW_GROUP_D_V_S :Destinatum-Via-Origo + +############ range for rating starts +STR_CARGO_RATING_APPALLING :Pessima +STR_CARGO_RATING_VERY_POOR :Prava +STR_CARGO_RATING_POOR :Mala +STR_CARGO_RATING_MEDIOCRE :Mediocris +STR_CARGO_RATING_GOOD :Bona +STR_CARGO_RATING_VERY_GOOD :Proba +STR_CARGO_RATING_EXCELLENT :Praestans +STR_CARGO_RATING_OUTSTANDING :Optima +############ range for rating ends + +STR_STATION_VIEW_CENTER_TOOLTIP :{BLACK}Movere conspectum supra hanc stationem. Ctrl+Preme ut nova fenestra conspectus aperiatur supra stationem +STR_STATION_VIEW_RENAME_TOOLTIP :{BLACK}Mutare nomen stationis + +STR_STATION_VIEW_SCHEDULED_TRAINS_TOOLTIP :{BLACK}Monstrare omnia tramina quae hanc stationem in horario habent +STR_STATION_VIEW_SCHEDULED_ROAD_VEHICLES_TOOLTIP :{BLACK}Monstrare omnia vehicula viaria quae hanc stationem in horario habent +STR_STATION_VIEW_SCHEDULED_AIRCRAFT_TOOLTIP :{BLACK}Monstrare omnia aeroplana quae hanc stationem in horario habent +STR_STATION_VIEW_SCHEDULED_SHIPS_TOOLTIP :{BLACK}Monstrare omnes naves quae hanc stationem in horario habent + +STR_STATION_VIEW_RENAME_STATION_CAPTION :Renominare stationem + +STR_STATION_VIEW_CLOSE_AIRPORT :{BLACK}Claudere aeroportum +STR_STATION_VIEW_CLOSE_AIRPORT_TOOLTIP :{BLACK}Facere ut aeroplana non appellant in hoc aeroportu + +# Waypoint/buoy view window +STR_WAYPOINT_VIEW_CAPTION :{WHITE}{WAYPOINT} +STR_WAYPOINT_VIEW_CENTER_TOOLTIP :{BLACK}Movere conspectum supra hunc interlocum. ut nova fenestra conspectus aperiatur supra interlocum +STR_WAYPOINT_VIEW_CHANGE_WAYPOINT_NAME :{BLACK}Mutare nomen interloci +STR_BUOY_VIEW_CENTER_TOOLTIP :{BLACK}Movere conspectum supra hoc signum monitorium. ut nova fenestra conspectus aperiatur supra signum monitorium +STR_BUOY_VIEW_CHANGE_BUOY_NAME :{BLACK}Mutare nomen signi monitorii + +STR_EDIT_WAYPOINT_NAME :{WHITE}Recensere nomen interloci + +# Finances window +STR_FINANCES_CAPTION :{WHITE}{COMPANY} Res Fiscales {BLACK}{COMPANY_NUM} +STR_FINANCES_EXPENDITURE_INCOME_TITLE :{WHITE}Expensa/Reditus +STR_FINANCES_YEAR :{WHITE}{NUM} +STR_FINANCES_SECTION_CONSTRUCTION :{GOLD}Constructio +STR_FINANCES_SECTION_NEW_VEHICLES :{GOLD}Nova Vehicula +STR_FINANCES_SECTION_TRAIN_RUNNING_COSTS :{GOLD}Pretium Operandi Traminum +STR_FINANCES_SECTION_ROAD_VEHICLE_RUNNING_COSTS :{GOLD}Pretium Operandi Vehiculorum Viariorum +STR_FINANCES_SECTION_AIRCRAFT_RUNNING_COSTS :{GOLD}Pretium Operandi Aeroplanorum +STR_FINANCES_SECTION_SHIP_RUNNING_COSTS :{GOLD}Pretium Operandi Navium +STR_FINANCES_SECTION_PROPERTY_MAINTENANCE :{GOLD}Tuitio Possessionum +STR_FINANCES_SECTION_TRAIN_INCOME :{GOLD}Reditus Traminum +STR_FINANCES_SECTION_ROAD_VEHICLE_INCOME :{GOLD}Reditus Vehiculorum Viariorum +STR_FINANCES_SECTION_AIRCRAFT_INCOME :{GOLD}Reditus Aeroplanorum +STR_FINANCES_SECTION_SHIP_INCOME :{GOLD}Reditus Navium +STR_FINANCES_SECTION_LOAN_INTEREST :{GOLD}Faenus +STR_FINANCES_SECTION_OTHER :{GOLD}Aliarum Rerum +STR_FINANCES_NEGATIVE_INCOME :{BLACK}-{CURRENCY_LONG} +STR_FINANCES_POSITIVE_INCOME :{BLACK}+{CURRENCY_LONG} +STR_FINANCES_TOTAL_CAPTION :{WHITE}Summa: +STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}Pecunia +STR_FINANCES_LOAN_TITLE :{WHITE}Creditum +STR_FINANCES_MAX_LOAN :{WHITE}Creditum Maximum: {BLACK}{CURRENCY_LONG} +STR_FINANCES_TOTAL_CURRENCY :{BLACK}{CURRENCY_LONG} +STR_FINANCES_BORROW_BUTTON :{BLACK}Mutuari {CURRENCY_LONG} +STR_FINANCES_BORROW_TOOLTIP :{BLACK}Mutuari plurem pecuniam. Ctrl+Preme ut creditum mutuetur quam maxime possis +STR_FINANCES_REPAY_BUTTON :{BLACK}Solvere {CURRENCY_LONG} +STR_FINANCES_REPAY_TOOLTIP :{BLACK}Solvere partem crediti. Ctrl+Preme ut creditum solvatur quam maxime possis +STR_FINANCES_INFRASTRUCTURE_BUTTON :{BLACK}Infrastructura + +# Company view +STR_COMPANY_VIEW_CAPTION :{WHITE}{COMPANY} {BLACK}{COMPANY_NUM} +STR_COMPANY_VIEW_PRESIDENT_MANAGER_TITLE :{WHITE}{PRESIDENT_NAME}{}{GOLD}(Praeses) + +STR_COMPANY_VIEW_INAUGURATED_TITLE :{GOLD}Condita: {WHITE}{NUM} +STR_COMPANY_VIEW_COLOUR_SCHEME_TITLE :{GOLD}Schema Coloris: +STR_COMPANY_VIEW_VEHICLES_TITLE :{GOLD}Vehicula: +STR_COMPANY_VIEW_TRAINS :{WHITE}{COMMA} tram{P en ina} +STR_COMPANY_VIEW_ROAD_VEHICLES :{WHITE}{COMMA} vehicul{P um a} viari{P um a} +STR_COMPANY_VIEW_AIRCRAFT :{WHITE}{COMMA} aeroplan{P um a} +STR_COMPANY_VIEW_SHIPS :{WHITE}{COMMA} nav{P is es} +STR_COMPANY_VIEW_VEHICLES_NONE :{WHITE}Nulla +STR_COMPANY_VIEW_COMPANY_VALUE :{GOLD}Aestimatio societatis: {WHITE}{CURRENCY_LONG} +STR_COMPANY_VIEW_SHARES_OWNED_BY :{WHITE}({COMMA}% posessa a {COMPANY}) +STR_COMPANY_VIEW_INFRASTRUCTURE :{GOLD}Infrastructura: +STR_COMPANY_VIEW_INFRASTRUCTURE_RAIL :{WHITE}{COMMA} par{P s tes} ferriviae +STR_COMPANY_VIEW_INFRASTRUCTURE_ROAD :{WHITE}{COMMA} par{P s tes} viae +STR_COMPANY_VIEW_INFRASTRUCTURE_WATER :{WHITE}{COMMA} tegula{P "" e} aquaria{P "" e} +STR_COMPANY_VIEW_INFRASTRUCTURE_STATION :{WHITE}{COMMA} tegula{P "" e} stationum +STR_COMPANY_VIEW_INFRASTRUCTURE_AIRPORT :{WHITE}{COMMA} aeroportus +STR_COMPANY_VIEW_INFRASTRUCTURE_NONE :{WHITE}Nulla + +STR_COMPANY_VIEW_BUILD_HQ_BUTTON :{BLACK}Struere sedem +STR_COMPANY_VIEW_BUILD_HQ_TOOLTIP :{BLACK}Struere primariam sedem societatis +STR_COMPANY_VIEW_VIEW_HQ_BUTTON :{BLACK}Videre sedem +STR_COMPANY_VIEW_VIEW_HQ_TOOLTIP :{BLACK}Videre primariam sedem societatis +STR_COMPANY_VIEW_RELOCATE_HQ :{BLACK}Movere sedem +STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS :{BLACK}Movere primariam sedem societatis aliquo pretio 1% aestimationis valoris societatis. Shift+Preme ut pretium monstretur sine sedem movendo +STR_COMPANY_VIEW_INFRASTRUCTURE_BUTTON :{BLACK}Indicia +STR_COMPANY_VIEW_INFRASTRUCTURE_TOOLTIP :{BLACK}Videre indicia descripta infrastructurae + +STR_COMPANY_VIEW_NEW_FACE_BUTTON :{BLACK}Facies Nova +STR_COMPANY_VIEW_NEW_FACE_TOOLTIP :{BLACK}Eligere novam faciem praesidis +STR_COMPANY_VIEW_COLOUR_SCHEME_BUTTON :{BLACK}Schema Coloris +STR_COMPANY_VIEW_COLOUR_SCHEME_TOOLTIP :{BLACK}Mutare schema coloris societatis +STR_COMPANY_VIEW_COMPANY_NAME_BUTTON :{BLACK}Nomen Societatis +STR_COMPANY_VIEW_COMPANY_NAME_TOOLTIP :{BLACK}Mutare nomen societatis +STR_COMPANY_VIEW_PRESIDENT_NAME_BUTTON :{BLACK}Nomen Praesidis +STR_COMPANY_VIEW_PRESIDENT_NAME_TOOLTIP :{BLACK}Mutare nomen praesidis + +STR_COMPANY_VIEW_BUY_SHARE_BUTTON :{BLACK}Quadrantem sortium huius societatis emere +STR_COMPANY_VIEW_SELL_SHARE_BUTTON :{BLACK}Quadrantem sortium huius societatis vendere +STR_COMPANY_VIEW_BUY_SHARE_TOOLTIP :{BLACK}Quadrantem sortium huius societatis emere. Shift+Preme ut pretium monstretur sine emptione +STR_COMPANY_VIEW_SELL_SHARE_TOOLTIP :{BLACK}Quadrantem sortium huius societatis vendere. Shift+Preme ut pretium monstretur sine emptione + +STR_COMPANY_VIEW_COMPANY_NAME_QUERY_CAPTION :Nomen Societatis +STR_COMPANY_VIEW_PRESIDENT_S_NAME_QUERY_CAPTION :Nomen Praesidis + +STR_BUY_COMPANY_MESSAGE :{WHITE}Quaerimus aliam societatem emere nostram societatem.{}{}Visne emere {COMPANY} pretio {CURRENCY_LONG}? + +# Company infrastructure window +STR_COMPANY_INFRASTRUCTURE_VIEW_CAPTION :{WHITE}Infrastructura quam {COMPANY} habet +STR_COMPANY_INFRASTRUCTURE_VIEW_RAIL_SECT :{GOLD}Partes ferriviariae: +STR_COMPANY_INFRASTRUCTURE_VIEW_SIGNALS :{WHITE}Signalia +STR_COMPANY_INFRASTRUCTURE_VIEW_ROAD_SECT :{GOLD}Partes viariae: +STR_COMPANY_INFRASTRUCTURE_VIEW_ROAD :{WHITE}Viariae +STR_COMPANY_INFRASTRUCTURE_VIEW_TRAMWAY :{WHITE}Ferriviae stratariae +STR_COMPANY_INFRASTRUCTURE_VIEW_WATER_SECT :{GOLD}Tegulae aquariae: +STR_COMPANY_INFRASTRUCTURE_VIEW_CANALS :{WHITE}Canales +STR_COMPANY_INFRASTRUCTURE_VIEW_STATION_SECT :{GOLD}Stationes: +STR_COMPANY_INFRASTRUCTURE_VIEW_STATIONS :{WHITE}Tegulae stationum +STR_COMPANY_INFRASTRUCTURE_VIEW_AIRPORTS :{WHITE}Aeroportus +STR_COMPANY_INFRASTRUCTURE_VIEW_TOTAL :{WHITE}{CURRENCY_LONG} per annum + +# Industry directory +STR_INDUSTRY_DIRECTORY_CAPTION :{WHITE}Industriae +STR_INDUSTRY_DIRECTORY_NONE :{ORANGE}- Nullae - +STR_INDUSTRY_DIRECTORY_ITEM :{ORANGE}{INDUSTRY}{BLACK} ({CARGO_LONG}{STRING}){YELLOW} ({COMMA}% translat{G 1 us a um i ae a}) +STR_INDUSTRY_DIRECTORY_ITEM_TWO :{ORANGE}{INDUSTRY}{BLACK} ({CARGO_LONG}{STRING}/{CARGO_LONG}{STRING}){YELLOW} ({COMMA}%/{COMMA}% translat{G 3 us a um i ae a}) +STR_INDUSTRY_DIRECTORY_ITEM_NOPROD :{ORANGE}{INDUSTRY} +STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Nomina industriarum - preme in nomen ut conspectus moveatur supra industriam. Ctrl+Preme ut nova fenestra conspectus aperiatur supra industriam + +# Industry view +STR_INDUSTRY_VIEW_CAPTION :{WHITE}{INDUSTRY} +STR_INDUSTRY_VIEW_PRODUCTION_LAST_MONTH_TITLE :{BLACK}Productio mensis prioris: +STR_INDUSTRY_VIEW_TRANSPORTED :{YELLOW}{CARGO_LONG}{STRING}{BLACK} ({COMMA}% translat{G 0 us a um i ae a}) +STR_INDUSTRY_VIEW_LOCATION_TOOLTIP :{BLACK}Movere conspectum supra hanc industriam. Ctrl+Preme ut nova fenestra conspectus aperiatur supra industriam +STR_INDUSTRY_VIEW_PRODUCTION_LEVEL :{BLACK}Quantitas productionis: {YELLOW}{COMMA}% +STR_INDUSTRY_VIEW_INDUSTRY_ANNOUNCED_CLOSURE :{YELLOW}Haec industria mox claudetur! + +############ range for requires starts +STR_INDUSTRY_VIEW_REQUIRES_CARGO :{BLACK}Postulat: {YELLOW}{STRING.acc}{STRING} +STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO :{BLACK}Postulat: {YELLOW}{STRING.acc}{STRING}, {STRING.acc}{STRING} +STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Postulat: {YELLOW}{STRING.acc}{STRING}, {STRING.acc}{STRING}, {STRING.acc}{STRING} +############ range for requires ends + +############ range for produces starts +STR_INDUSTRY_VIEW_WAITING_FOR_PROCESSING :{BLACK}Onera utenda manentia: +STR_INDUSTRY_VIEW_WAITING_STOCKPILE_CARGO :{YELLOW}{CARGO_LONG}{STRING}{BLACK} +STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Efficit: {YELLOW}{STRING.acc}{STRING} +STR_INDUSTRY_VIEW_PRODUCES_CARGO_CARGO :{BLACK}Efficit: {YELLOW}{STRING.acc}{STRING}, {STRING.acc}{STRING} +############ range for produces ends + +STR_CONFIG_GAME_PRODUCTION :{WHITE}Mutare productionem (per octo multiplicatur, ad 2040) +STR_CONFIG_GAME_PRODUCTION_LEVEL :{WHITE}Mutare productionem (centesima, ad 800%) + +# Vehicle lists +STR_VEHICLE_LIST_TRAIN_CAPTION :{WHITE}{STRING} - {COMMA} Tram{P en ina} +STR_VEHICLE_LIST_ROAD_VEHICLE_CAPTION :{WHITE}{STRING} - {COMMA} Vehicul{P um a} Viari{P um a} +STR_VEHICLE_LIST_SHIP_CAPTION :{WHITE}{STRING} - {COMMA} Nav{P is es} +STR_VEHICLE_LIST_AIRCRAFT_CAPTION :{WHITE}{STRING} - {COMMA} Aeroplan{P um a} + +STR_VEHICLE_LIST_TRAIN_LIST_TOOLTIP :{BLACK}Tramina - preme in tramen ut indicia monstretur +STR_VEHICLE_LIST_ROAD_VEHICLE_TOOLTIP :{BLACK}Vehicula viaria - preme in vehiculum ut indicia monstretur +STR_VEHICLE_LIST_SHIP_TOOLTIP :{BLACK}Naves - preme in navem ut indicia monstretur +STR_VEHICLE_LIST_AIRCRAFT_TOOLTIP :{BLACK}Aeroplana - preme in aeroplanum ut indicia monstretur + +STR_VEHICLE_LIST_PROFIT_THIS_YEAR_LAST_YEAR :{TINY_FONT}{BLACK}Lucrum huius anni: {CURRENCY_LONG} (anni prioris: {CURRENCY_LONG}) + +STR_VEHICLE_LIST_AVAILABLE_TRAINS :Hamaxostichi Parabiles +STR_VEHICLE_LIST_AVAILABLE_ROAD_VEHICLES :Vehicula Viaria Parabilia +STR_VEHICLE_LIST_AVAILABLE_SHIPS :Naves Parabiles +STR_VEHICLE_LIST_AVAILABLE_AIRCRAFT :Aeroplana Parabilia +STR_VEHICLE_LIST_AVAILABLE_ENGINES_TOOLTIP :{BLACK}Videre indicem qui ad vehicula parabilia huius typi spectat + +STR_VEHICLE_LIST_MANAGE_LIST :{BLACK}Recensere indicem +STR_VEHICLE_LIST_MANAGE_LIST_TOOLTIP :{BLACK}Mittere iussa ad omnia vehicula huius indicis +STR_VEHICLE_LIST_REPLACE_VEHICLES :Mutare vehicula +STR_VEHICLE_LIST_SEND_FOR_SERVICING :Ministranda Dimmitere + +STR_VEHICLE_LIST_SEND_TRAIN_TO_DEPOT :Dimittere ad Receptaculum +STR_VEHICLE_LIST_SEND_ROAD_VEHICLE_TO_DEPOT :Dimittere ad Receptaculum +STR_VEHICLE_LIST_SEND_SHIP_TO_DEPOT :Dimittere ad Receptaculum +STR_VEHICLE_LIST_SEND_AIRCRAFT_TO_HANGAR :Dimittere ad Tugurium + +STR_VEHICLE_LIST_MASS_STOP_LIST_TOOLTIP :{BLACK}Preme ut omnia vehicula huius indicis sistantur +STR_VEHICLE_LIST_MASS_START_LIST_TOOLTIP :{BLACK}Preme ut omnia vehicula huius indicis incohentur + +STR_VEHICLE_LIST_SHARED_ORDERS_LIST_CAPTION :{WHITE}Iussa communia {COMMA} vehicul{P i orum} + +# Group window +STR_GROUP_ALL_TRAINS :Omnia tramina +STR_GROUP_ALL_ROAD_VEHICLES :Omnia vehicula viaria +STR_GROUP_ALL_SHIPS :Omnes naves +STR_GROUP_ALL_AIRCRAFTS :Omnia aeroplana + +STR_GROUP_DEFAULT_TRAINS :Tramina sine grege +STR_GROUP_DEFAULT_ROAD_VEHICLES :Vehicula viaria sine grege +STR_GROUP_DEFAULT_SHIPS :Naves sine grege +STR_GROUP_DEFAULT_AIRCRAFTS :Aeroplana sine grege + +STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Greges - preme in gregem ut index vehiculorum huius gregis ostendeatur. Trahe poneque greges ut ordinentur. +STR_GROUP_CREATE_TOOLTIP :{BLACK}Preme ut grex creatur +STR_GROUP_DELETE_TOOLTIP :{BLACK}Delere gregem electam +STR_GROUP_RENAME_TOOLTIP :{BLACK}Renominare gregem electam +STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Preme ut vehicula huius gregis custodiantur contra autocommutationem globalem + +STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Gregem Delere +STR_GROUP_DELETE_QUERY_TEXT :{WHITE}Esne certus te velle delere hanc gregem eiusque descendentes? + +STR_GROUP_ADD_SHARED_VEHICLE :Addere vehicula communia +STR_GROUP_REMOVE_ALL_VEHICLES :Removere omnia vehicula + +STR_GROUP_RENAME_CAPTION :{BLACK}Renominare gregem + +# Build vehicle window +STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Vehicula Ferriviaria Nova +STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Vehicula Ferriviaria Electrica Nova +STR_BUY_VEHICLE_TRAIN_MONORAIL_CAPTION :Vehicula Monoorbitalia Nova +STR_BUY_VEHICLE_TRAIN_MAGLEV_CAPTION :Vehicula Maglev Nova + +STR_BUY_VEHICLE_TRAIN_ALL_CAPTION :Vehicula Ferriviaria Nova +STR_BUY_VEHICLE_ROAD_VEHICLE_CAPTION :Vehicula Viaria Nova +STR_BUY_VEHICLE_SHIP_CAPTION :Naves Novae +STR_BUY_VEHICLE_AIRCRAFT_CAPTION :Aeroplana Nova + +STR_PURCHASE_INFO_COST_WEIGHT :{BLACK}Pretium: {GOLD}{CURRENCY_LONG}{BLACK} Pondus: {GOLD}{WEIGHT_SHORT} +STR_PURCHASE_INFO_SPEED_POWER :{BLACK}Velocitas: {GOLD}{VELOCITY}{BLACK} Potestas: {GOLD}{POWER} +STR_PURCHASE_INFO_SPEED :{BLACK}Velocitas: {GOLD}{VELOCITY} +STR_PURCHASE_INFO_SPEED_OCEAN :{BLACK}Velocitas in mare: {GOLD}{VELOCITY} +STR_PURCHASE_INFO_SPEED_CANAL :{BLACK}Velocitas in canale flumineve: {GOLD}{VELOCITY} +STR_PURCHASE_INFO_RUNNINGCOST :{BLACK}Pretium Operandi: {GOLD}{CURRENCY_LONG} per annum +STR_PURCHASE_INFO_CAPACITY :{BLACK}Capacitas: {GOLD}{CARGO_LONG} {STRING} +STR_PURCHASE_INFO_REFITTABLE :(refectabilis) +STR_PURCHASE_INFO_DESIGNED_LIFE :{BLACK}Productum: {GOLD}{NUM}{BLACK} Aetas: {GOLD}{COMMA} ann{P us i} +STR_PURCHASE_INFO_RELIABILITY :{BLACK}Constantia Maxima: {GOLD}{COMMA}% +STR_PURCHASE_INFO_COST :{BLACK}Pretium: {GOLD}{CURRENCY_LONG} +STR_PURCHASE_INFO_WEIGHT_CWEIGHT :{BLACK}Pondus: {GOLD}{WEIGHT_SHORT} ({WEIGHT_SHORT}) +STR_PURCHASE_INFO_COST_SPEED :{BLACK}Pretium: {GOLD}{CURRENCY_LONG}{BLACK} Velocitas: {GOLD}{VELOCITY} +STR_PURCHASE_INFO_AIRCRAFT_CAPACITY :{BLACK}Capacitas: {GOLD}{CARGO_LONG}, {CARGO_LONG} +STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Currus Potentiati: {GOLD}+{POWER}{BLACK} Pondus: {GOLD}+{WEIGHT_SHORT} +STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Refectabilis: {GOLD}{STRING.dat} +STR_PURCHASE_INFO_ALL_TYPES :Omnibus onerum typis +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_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 +STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Index electionis navium. Preme in navem ut plura indicia monstrentur. Ctrl+Preme ut typus navis celetur +STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Index electionis aeroplanorum. Preme in aeroplanum ut plura indicia monstrentur. Ctrl+Preme ut typus aeroplani celetur + +STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}Emere Vehiculum +STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Emere Vehiculum +STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_BUTTON :{BLACK}Emere Navem +STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_BUTTON :{BLACK}Emere Aeroplanum + +STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Emere vehiculum ferriviarium electum. Shift+Preme ut pretium monstretur sine emptione +STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Emere vehiculum viarium electum. Shift+Preme ut pretium monstretur sine emptione +STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Emere navem electam. Shift+Preme ut pretium monstretur sine emptione +STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Emere aeroplanum electum. Shift+Preme ut pretium monstretur sine emptione + +STR_BUY_VEHICLE_TRAIN_RENAME_BUTTON :{BLACK}Renominare +STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_BUTTON :{BLACK}Renominare +STR_BUY_VEHICLE_SHIP_RENAME_BUTTON :{BLACK}Renominare +STR_BUY_VEHICLE_AIRCRAFT_RENAME_BUTTON :{BLACK}Renominare + +STR_BUY_VEHICLE_TRAIN_RENAME_TOOLTIP :{BLACK}Renominare typum ferriviarii vehiculi +STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Renominare typum viarii vehiculi +STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Renominare typum navis +STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Renominare typum aeroplani + +STR_BUY_VEHICLE_TRAIN_HIDE_TOGGLE_BUTTON :{BLACK}Celare +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_TOGGLE_BUTTON :{BLACK}Celare +STR_BUY_VEHICLE_SHIP_HIDE_TOGGLE_BUTTON :{BLACK}Celare +STR_BUY_VEHICLE_AIRCRAFT_HIDE_TOGGLE_BUTTON :{BLACK}Celare + +STR_BUY_VEHICLE_TRAIN_SHOW_TOGGLE_BUTTON :{BLACK}Monstrare +STR_BUY_VEHICLE_ROAD_VEHICLE_SHOW_TOGGLE_BUTTON :{BLACK}Monstrare +STR_BUY_VEHICLE_SHIP_SHOW_TOGGLE_BUTTON :{BLACK}Monstrare +STR_BUY_VEHICLE_AIRCRAFT_SHOW_TOGGLE_BUTTON :{BLACK}Monstrare + +STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Monstrare/celare typum vehiculi ferriviarii +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Monstrare/celare typum vehiculi viarii +STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Monstrare/celare typum navis +STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Monstrare/celare typum aeroplani + +STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}Renominare typum ferriviarii vehiculi +STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}Renominare typum viarii vehiculi +STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}Renominare typum navis +STR_QUERY_RENAME_AIRCRAFT_TYPE_CAPTION :{WHITE}Renominare typum aeroplani + +# Depot window +STR_DEPOT_CAPTION :{WHITE}{DEPOT} + +STR_DEPOT_RENAME_TOOLTIP :{BLACK}Mutare nomen receptaculi +STR_DEPOT_RENAME_DEPOT_CAPTION :Renominare receptaculum + +STR_DEPOT_NO_ENGINE :{BLACK}- +STR_DEPOT_VEHICLE_TOOLTIP :{BLACK}{ENGINE}{STRING} +STR_DEPOT_VEHICLE_TOOLTIP_CHAIN :{BLACK}{NUM} vehicul{P um a}{STRING} +STR_DEPOT_VEHICLE_TOOLTIP_CARGO :{}{CARGO_LONG} ({CARGO_SHORT}) + +STR_DEPOT_TRAIN_LIST_TOOLTIP :{BLACK}Tramina - sinistro trahe vehiculum ut addatur/removeatur tramini, dextrum preme ut indicium monstretur. Ctrl pressa, cuncta catena vehiculorum sequens additur/removetur/indicium eius monstratur +STR_DEPOT_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Vehicula - dextrum preme in vehiculum ut indicium monstretur +STR_DEPOT_SHIP_LIST_TOOLTIP :{BLACK}Naves - dextrum preme in navem ut indicium monstretur +STR_DEPOT_AIRCRAFT_LIST_TOOLTIP :{BLACK}Aeroplana - dextrum preme in aeroplanum ut indicium monstretur + +STR_DEPOT_TRAIN_SELL_TOOLTIP :{BLACK}Huc trahe vehiculum ut vendatur +STR_DEPOT_ROAD_VEHICLE_SELL_TOOLTIP :{BLACK}Huc trahe vehiculum ut vendatur +STR_DEPOT_SHIP_SELL_TOOLTIP :{BLACK}Huc trahe navem ut vendatur +STR_DEPOT_AIRCRAFT_SELL_TOOLTIP :{BLACK}Huc trahe aeroplanum ut vendatur + +STR_DEPOT_DRAG_WHOLE_TRAIN_TO_SELL_TOOLTIP :{BLACK}Huc trahe hamaxam ut cunctum tramen vendatur + +STR_DEPOT_SELL_ALL_BUTTON_TRAIN_TOOLTIP :{BLACK}Vendere omnia tramina in receptaculo +STR_DEPOT_SELL_ALL_BUTTON_ROAD_VEHICLE_TOOLTIP :{BLACK}Vendere omnia vehicula in receptaculo +STR_DEPOT_SELL_ALL_BUTTON_SHIP_TOOLTIP :{BLACK}Vendere omnes naves in receptaculo +STR_DEPOT_SELL_ALL_BUTTON_AIRCRAFT_TOOLTIP :{BLACK}Vendere omnia aeroplana in tugurio + +STR_DEPOT_AUTOREPLACE_TRAIN_TOOLTIP :{BLACK}Automutare omnia tramina in receptaculo +STR_DEPOT_AUTOREPLACE_ROAD_VEHICLE_TOOLTIP :{BLACK}Automutare omnia vehicula viaria in receptaculo +STR_DEPOT_AUTOREPLACE_SHIP_TOOLTIP :{BLACK}Automutare omnes naves in receptaculo +STR_DEPOT_AUTOREPLACE_AIRCRAFT_TOOLTIP :{BLACK}Automutare omnia aeroplana in tugurio + +STR_DEPOT_TRAIN_NEW_VEHICLES_BUTTON :{BLACK}Nova Vehicula +STR_DEPOT_ROAD_VEHICLE_NEW_VEHICLES_BUTTON :{BLACK}Nova Vehicula +STR_DEPOT_SHIP_NEW_VEHICLES_BUTTON :{BLACK}Novae Naves +STR_DEPOT_AIRCRAFT_NEW_VEHICLES_BUTTON :{BLACK}Nova Aeroplana + +STR_DEPOT_TRAIN_NEW_VEHICLES_TOOLTIP :{BLACK}Emere novam partem traminis +STR_DEPOT_ROAD_VEHICLE_NEW_VEHICLES_TOOLTIP :{BLACK}Emere novum vehiculum viarium +STR_DEPOT_SHIP_NEW_VEHICLES_TOOLTIP :{BLACK}Emere novam navem +STR_DEPOT_AIRCRAFT_NEW_VEHICLES_TOOLTIP :{BLACK}Emere novum aeroplanum + +STR_DEPOT_CLONE_TRAIN :{BLACK}Duplicare Tramen +STR_DEPOT_CLONE_ROAD_VEHICLE :{BLACK}Duplicare Vehiculum +STR_DEPOT_CLONE_SHIP :{BLACK}Duplicare Navem +STR_DEPOT_CLONE_AIRCRAFT :{BLACK}Duplicare Aeroplanum + +STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Emet exemplar hamaxostichi electi et omnes currus eius. Preme hunc globulum deinde in hamaxostichum vel intra vel extra receptaculum. Ctrl+Preme ut iussa communicentur. Shift+Preme ut pretium monstretur sine emptione +STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Emet exemplar vehiculi viarii electi. Preme hunc globulum deinde in vehiculum viarium vel intra vel extra receptaculum. Ctrl+Preme ut iussa communicentur. Shift+Preme ut pretium monstretur sine emptione +STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Emet exemplar navis electae. Preme hunc globulum deinde in navem vel intra vel extra receptaculum. Ctrl+Preme ut iussa communicentur. Shift+Preme ut pretium monstretur sine emptione +STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Emet exemplar aeroplani electi. Preme hunc globulum deinde in aeroplanum vel intra vel extra receptaculum. Ctrl+Preme ut iussa communicentur. Shift+Preme ut pretium monstretur sine emptione + +STR_DEPOT_TRAIN_LOCATION_TOOLTIP :{BLACK}Movere conspectum supra hoc receptaculum ferriviarium. Ctrl+Preme ut nova fenestra conspectus aperiatur supra receptaculum ferriviarium +STR_DEPOT_ROAD_VEHICLE_LOCATION_TOOLTIP :{BLACK}Movere conspectum supra hoc receptaculum viarium. Ctrl+Preme ut nova fenestra conspectus aperiatur supra receptaculum viarium +STR_DEPOT_SHIP_LOCATION_TOOLTIP :{BLACK}Movere conspectum supra hoc receptaculum navium. Ctrl+Preme ut nova fenestra conspectus aperiatur supra receptaculum navium +STR_DEPOT_AIRCRAFT_LOCATION_TOOLTIP :{BLACK}Movere conspectum supra hoc tugurium. Ctrl+Preme ut nova fenestra conspectus aperiatur supra tugurium + +STR_DEPOT_VEHICLE_ORDER_LIST_TRAIN_TOOLTIP :{BLACK}Ostendere indicem omnium traminum quae habent hoc receptaculum in iussis eorum +STR_DEPOT_VEHICLE_ORDER_LIST_ROAD_VEHICLE_TOOLTIP :{BLACK}Ostendere indicem omnium vehiculorum viariorum qui habent hoc receptaculum in iussis eorum +STR_DEPOT_VEHICLE_ORDER_LIST_SHIP_TOOLTIP :{BLACK}Ostendere indicem omnium navium qui habent hoc receptaculum in iussis earum +STR_DEPOT_VEHICLE_ORDER_LIST_AIRCRAFT_TOOLTIP :{BLACK}Ostendere indicem omnium aeroplanorum qui habent hoc receptaculum in iussis eorum + +STR_DEPOT_MASS_STOP_DEPOT_TRAIN_TOOLTIP :{BLACK}Preme ut omnia tramina in hoc receptaculo sistantur +STR_DEPOT_MASS_STOP_DEPOT_ROAD_VEHICLE_TOOLTIP :{BLACK}Preme ut omnia vehicula in hoc receptaculo sistantur +STR_DEPOT_MASS_STOP_DEPOT_SHIP_TOOLTIP :{BLACK}Preme ut omnes naves in hoc receptaculo sistantur +STR_DEPOT_MASS_STOP_HANGAR_TOOLTIP :{BLACK}Preme ut omnia aeroplana in hoc tugurio sistantur + +STR_DEPOT_MASS_START_DEPOT_TRAIN_TOOLTIP :{BLACK}Preme ut omnia tramina in hoc receptaculo incohentur +STR_DEPOT_MASS_START_DEPOT_ROAD_VEHICLE_TOOLTIP :{BLACK}Preme ut omnia vehicula in hoc receptaculo incohentur +STR_DEPOT_MASS_START_DEPOT_SHIP_TOOLTIP :{BLACK}Preme ut omnes naves in hoc receptaculo incohentur +STR_DEPOT_MASS_START_HANGAR_TOOLTIP :{BLACK}Preme ut omnia aeroplana in hoc tugurio incohentur + +STR_DEPOT_SELL_CONFIRMATION_TEXT :{YELLOW}Omnia vehicula in receptaculo venditurus es. Esne certus? + +# Engine preview window +STR_ENGINE_PREVIEW_CAPTION :{WHITE}Nuntium a fabricatore vehiculorum +STR_ENGINE_PREVIEW_MESSAGE :{GOLD}Nuper fabricamus nov{G um am um os as a} {STRING} - visne uti hoc vehiculo unum annum, ut videamus quomodo operatur antequam omnibus venum damus? +STR_ENGINE_PREVIEW_RAILROAD_LOCOMOTIVE :{G=f}hamaxam +STR_ENGINE_PREVIEW_ROAD_VEHICLE :{G=n}vehiculum viarium +STR_ENGINE_PREVIEW_AIRCRAFT :{G=n}aeroplanum +STR_ENGINE_PREVIEW_SHIP :{G=f}navem +STR_ENGINE_PREVIEW_MONORAIL_LOCOMOTIVE :{G=f}hamaxam monoorbitalem +STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :{G=f}hamaxam maglev + +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 + +# Autoreplace window +STR_REPLACE_VEHICLES_WHITE :{WHITE}Mutare {STRING} - {STRING} +STR_REPLACE_VEHICLE_TRAIN :Tramen +STR_REPLACE_VEHICLE_ROAD_VEHICLE :Vehiculum Viarium +STR_REPLACE_VEHICLE_SHIP :Navem +STR_REPLACE_VEHICLE_AIRCRAFT :Aeroplanum + +STR_REPLACE_VEHICLE_VEHICLES_IN_USE :{YELLOW}Vehicula possessa +STR_REPLACE_VEHICLE_VEHICLES_IN_USE_TOOLTIP :{BLACK}Columna cum vehiculis quae possides +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES :{YELLOW}Vehicula parabilia +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES_TOOLTIP :{BLACK}Columna cum vehiculis parabilibus ad mutandum + +STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Eligere typum mutandum +STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Eligere novum typum in loco typi sinistri utendum + +STR_REPLACE_VEHICLES_START :{BLACK}Mutationem Vehiculorum Incipere +STR_REPLACE_VEHICLES_NOW :Omnia vehicula statim mutare +STR_REPLACE_VEHICLES_WHEN_OLD :Vehicula vetera solum mutare +STR_REPLACE_HELP_START_BUTTON :{BLACK}Preme ut vehiculum sinistrum electum incipiat commutari vehiculo dextro electo +STR_REPLACE_NOT_REPLACING :{BLACK}Non mutandum est +STR_REPLACE_NOT_REPLACING_VEHICLE_SELECTED :{BLACK}Nullum vehiculum electum +STR_REPLACE_REPLACING_WHEN_OLD :{ENGINE} cum vetus +STR_REPLACE_VEHICLES_STOP :{BLACK}Consistere mutationem vehiculorum +STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Preme ut mutatio vehiculi sinistri consistatur + +STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}Mutatio: {ORANGE}{STRING} +STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Mutare inter mutationem hamaxarum curruumque +STR_REPLACE_ENGINES :Hamaxarum +STR_REPLACE_WAGONS :Curruum + +STR_REPLACE_HELP_RAILTYPE :{BLACK}Eligere typum astarii cui est hamaxas commutandas +STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Haec monstrat novum vehiculum desideratum, si adest +STR_REPLACE_RAIL_VEHICLES :Vehicula Ferriviaria +STR_REPLACE_ELRAIL_VEHICLES :Vehicula Ferriviaria Electrica +STR_REPLACE_MONORAIL_VEHICLES :Vehicula Monoorbitalia +STR_REPLACE_MAGLEV_VEHICLES :Vehicula Maglev + +STR_REPLACE_REMOVE_WAGON :{BLACK}Ablatio curruum: {ORANGE}{STRING} +STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Facere ut automutatio longitudinem traminis contineat ablatione curruum (primo primorum), si tramen longius fiat mutatione hamaxae + +# Vehicle view +STR_VEHICLE_VIEW_CAPTION :{WHITE}{VEHICLE} + +STR_VEHICLE_VIEW_TRAIN_LOCATION_TOOLTIP :{BLACK}Movere conspectum supra hoc tramen. Ctrl+Preme ut conspectus tramen sequatur +STR_VEHICLE_VIEW_ROAD_VEHICLE_LOCATION_TOOLTIP :{BLACK}Movere conspectum supra hoc vehiculum. Ctrl+Preme ut conspectus vechiculum sequatur +STR_VEHICLE_VIEW_SHIP_LOCATION_TOOLTIP :{BLACK}Movere conspectum supra hanc navem. Ctrl+Preme ut conspectus navem sequatur +STR_VEHICLE_VIEW_AIRCRAFT_LOCATION_TOOLTIP :{BLACK}Movere conspectum supra hoc aeroplanum. Ctrl+Preme ut conspectus aeroplanum sequatur + +STR_VEHICLE_VIEW_TRAIN_SEND_TO_DEPOT_TOOLTIP :{BLACK}Mittere tramen ad receptaculum. Ctrl+Preme ut modo ministretur +STR_VEHICLE_VIEW_ROAD_VEHICLE_SEND_TO_DEPOT_TOOLTIP :{BLACK}Mittere vehiculum ad receptaculum. Ctrl+Preme ut modo ministretur +STR_VEHICLE_VIEW_SHIP_SEND_TO_DEPOT_TOOLTIP :{BLACK}Mittere navem ad receptaculum. Ctrl+Preme ut modo ministretur +STR_VEHICLE_VIEW_AIRCRAFT_SEND_TO_DEPOT_TOOLTIP :{BLACK}Mittere aeroplanum ad tugurium. Ctrl+Preme ut modo ministretur + +STR_VEHICLE_VIEW_CLONE_TRAIN_INFO :{BLACK}Emet exemplar hamaxostichi electi et omnes currus eius. Ctrl+Preme ut iussa communicentur. Shift+Preme ut pretium monstretur sine emptione +STR_VEHICLE_VIEW_CLONE_ROAD_VEHICLE_INFO :{BLACK}Emet exemplar vehiculi viarii electi. Ctrl+Preme ut iussa communicentur. Shift+Preme ut pretium monstretur sine emptione +STR_VEHICLE_VIEW_CLONE_SHIP_INFO :{BLACK}Emet exemplar navis electae. Ctrl+Preme ut iussa communicentur. Shift+Preme ut pretium monstretur sine emptione +STR_VEHICLE_VIEW_CLONE_AIRCRAFT_INFO :{BLACK}Emet exemplar aeroplani electi. Ctrl+Preme ut iussa communicentur. Shift+Preme ut pretium monstretur sine emptione + +STR_VEHICLE_VIEW_TRAIN_IGNORE_SIGNAL_TOOLTIP :{BLACK}Impellere tramen post signale sine mora, etsi signale rubrum est + +STR_VEHICLE_VIEW_TRAIN_REFIT_TOOLTIP :{BLACK}Reficere tramen alio generi oneris +STR_VEHICLE_VIEW_ROAD_VEHICLE_REFIT_TOOLTIP :{BLACK}Reficere vehiculum alii typo oneri +STR_VEHICLE_VIEW_SHIP_REFIT_TOOLTIP :{BLACK}Reficere navem alii typo oneri +STR_VEHICLE_VIEW_AIRCRAFT_REFIT_TOOLTIP :{BLACK}Reficere aeroplanum alii typo oneri + +STR_VEHICLE_VIEW_TRAIN_REVERSE_TOOLTIP :{BLACK}Cursum traminis reflectere +STR_VEHICLE_VIEW_ROAD_VEHICLE_REVERSE_TOOLTIP :{BLACK}Fac ut vehiculum revertatur + +STR_VEHICLE_VIEW_TRAIN_ORDERS_TOOLTIP :{BLACK}Monstrare iussa hamaxostichi. Ctrl+Preme ut horarius hamaxostichi monstretur +STR_VEHICLE_VIEW_ROAD_VEHICLE_ORDERS_TOOLTIP :{BLACK}Monstrare iussa vehiculi. Ctrl+Preme ut horarius vehiculi monstretur +STR_VEHICLE_VIEW_SHIP_ORDERS_TOOLTIP :{BLACK}Monstrare iussa navis. Ctrl+Preme ut horarius navis monstretur +STR_VEHICLE_VIEW_AIRCRAFT_ORDERS_TOOLTIP :{BLACK}Monstrare iussa aeroplani. Ctrl+Preme ut horarius aeroplani monstretur + +STR_VEHICLE_VIEW_TRAIN_SHOW_DETAILS_TOOLTIP :{BLACK}Monstrare indicia traminis +STR_VEHICLE_VIEW_ROAD_VEHICLE_SHOW_DETAILS_TOOLTIP :{BLACK}Monstrare indicia vehiculi +STR_VEHICLE_VIEW_SHIP_SHOW_DETAILS_TOOLTIP :{BLACK}Monstrare indicia navis +STR_VEHICLE_VIEW_AIRCRAFT_SHOW_DETAILS_TOOLTIP :{BLACK}Monstrare indicia aeroplani + +STR_VEHICLE_VIEW_TRAIN_STATE_START_STOP_TOOLTIP :{BLACK}Actio traminis currens - preme ut tramen sistatur/incohatur. Ctrl+Preme ut conspectus movetur ad destinatum +STR_VEHICLE_VIEW_ROAD_VEHICLE_STATE_START_STOP_TOOLTIP :{BLACK}Actio vehiculi currens - preme ut vehiculum sistatur/incohatur. Ctrl+Preme ut conspectus movetur ad destinatum +STR_VEHICLE_VIEW_SHIP_STATE_START_STOP_TOOLTIP :{BLACK}Actio navis currens - preme ut navis sistatur/incohatur. Ctrl+Preme ut conspectus movetur ad destinatum +STR_VEHICLE_VIEW_AIRCRAFT_STATE_START_STOP_TOOLTIP :{BLACK}Actio aeroplani currens - preme ut aeroplanum sistatur/incohatur. Ctrl+Preme ut conspectus movetur ad destinatum + +# Messages in the start stop button in the vehicle view +STR_VEHICLE_STATUS_LOADING_UNLOADING :{LTBLUE}Onerans / Exonerans +STR_VEHICLE_STATUS_LEAVING :{LTBLUE}Exiens +STR_VEHICLE_STATUS_CRASHED :{RED}Destructum! +STR_VEHICLE_STATUS_BROKEN_DOWN :{RED}Defectum +STR_VEHICLE_STATUS_STOPPED :{RED}Constitum +STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}Sistens, {VELOCITY} +STR_VEHICLE_STATUS_TRAIN_NO_POWER :{RED}Sine potestate +STR_VEHICLE_STATUS_TRAIN_STUCK :{ORANGE}Cursum apertum exspectans +STR_VEHICLE_STATUS_AIRCRAFT_TOO_FAR :{ORANGE}Destinatum nimis procul + +STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}Navigans ad {STATION}, {VELOCITY} +STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}Sine iussis, {VELOCITY} +STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}Navigans ad {WAYPOINT}, {VELOCITY} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}Navigans ad {DEPOT}, {VELOCITY} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}Iens ministrandum ad {DEPOT}, {VELOCITY} + +# Vehicle stopped/started animations +STR_VEHICLE_COMMAND_STOPPED_SMALL :{TINY_FONT}{RED}Constitum +STR_VEHICLE_COMMAND_STOPPED :{RED}Constitum +STR_VEHICLE_COMMAND_STARTED_SMALL :{TINY_FONT}{GREEN}Incohatum +STR_VEHICLE_COMMAND_STARTED :{GREEN}Incohatum + +# Vehicle details +STR_VEHICLE_DETAILS_CAPTION :{WHITE}{VEHICLE} (Indicia) +STR_VEHICLE_NAME_BUTTON :{BLACK}Nominare + +STR_VEHICLE_DETAILS_TRAIN_RENAME :{BLACK}Nominare tramen +STR_VEHICLE_DETAILS_ROAD_VEHICLE_RENAME :{BLACK}Nominare vehiculum +STR_VEHICLE_DETAILS_SHIP_RENAME :{BLACK}Nominare navem +STR_VEHICLE_DETAILS_AIRCRAFT_RENAME :{BLACK}Nominare aeroplanum + +STR_VEHICLE_INFO_AGE_RUNNING_COST_YR :{BLACK}Aetas: {LTBLUE}{STRING}{BLACK} Pretium operandi: {LTBLUE}{CURRENCY_LONG} per annum +# The next two need to stay in this order +STR_VEHICLE_INFO_AGE :{COMMA} ann{P us i} ({COMMA}) +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_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} + +STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Lucrum huius anni: {LTBLUE}{CURRENCY_LONG} (anni prioris: {CURRENCY_LONG}) +STR_VEHICLE_INFO_RELIABILITY_BREAKDOWNS :{BLACK}Constantia: {LTBLUE}{COMMA}% {BLACK}Defecta post ministrationem priorem: {LTBLUE}{COMMA} + +STR_VEHICLE_INFO_BUILT_VALUE :{LTBLUE}{ENGINE} {BLACK}Factum: {LTBLUE}{NUM}{BLACK} Aestimatio: {LTBLUE}{CURRENCY_LONG} +STR_VEHICLE_INFO_NO_CAPACITY :{BLACK}Capacitas: {LTBLUE}Nulla{STRING} +STR_VEHICLE_INFO_CAPACITY :{BLACK}Capacitas: {LTBLUE}{CARGO_LONG}{3:STRING} +STR_VEHICLE_INFO_CAPACITY_MULT :{BLACK}Capacitas: {LTBLUE}{CARGO_LONG}{3:STRING} (x{4:NUM}) +STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Capacitas: {LTBLUE}{CARGO_LONG}, {CARGO_LONG}{STRING} + +STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Credita transferendi: {LTBLUE}{CURRENCY_LONG} + +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Intervallum ministrationis: {LTBLUE}{COMMA}{NBSP}dies{BLACK} Ministratio prior: {LTBLUE}{DATE_LONG} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Intervallum ministrationis: {LTBLUE}{COMMA}%{BLACK} Ministratio prior: {LTBLUE}{DATE_LONG} +STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Augere intervallum ministrationis 10. Ctrl+Preme ut augeatur 5 +STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Minuere intervallum ministrationis 10. Ctrl+Preme ut minuatur 5 + +STR_SERVICE_INTERVAL_DROPDOWN_TOOLTIP :{BLACK}Eligere genus intervalli ministrationis +STR_VEHICLE_DETAILS_DEFAULT :Solitus +STR_VEHICLE_DETAILS_DAYS :Diebus +STR_VEHICLE_DETAILS_PERCENT :Per centum + +STR_QUERY_RENAME_TRAIN_CAPTION :{WHITE}Nominare tramen +STR_QUERY_RENAME_ROAD_VEHICLE_CAPTION :{WHITE}Nominare vehiculum +STR_QUERY_RENAME_SHIP_CAPTION :{WHITE}Nominare navem +STR_QUERY_RENAME_AIRCRAFT_CAPTION :{WHITE}Nominare aeroplanum + +# Extra buttons for train details windows +STR_VEHICLE_DETAILS_TRAIN_ENGINE_BUILT_AND_VALUE :{LTBLUE}{ENGINE}{BLACK} Factum: {LTBLUE}{NUM}{BLACK} Aestimatio: {LTBLUE}{CURRENCY_LONG} +STR_VEHICLE_DETAILS_TRAIN_WAGON_VALUE :{LTBLUE}{ENGINE}{BLACK} Aestimatio: {LTBLUE}{CURRENCY_LONG} + +STR_VEHICLE_DETAILS_TRAIN_TOTAL_CAPACITY_TEXT :{BLACK}Tota capacitas huius traminis: +STR_VEHICLE_DETAILS_TRAIN_TOTAL_CAPACITY :{LTBLUE}- {CARGO_LONG} ({CARGO_SHORT}) +STR_VEHICLE_DETAILS_TRAIN_TOTAL_CAPACITY_MULT :{LTBLUE}- {CARGO_LONG} ({CARGO_SHORT}) (x{NUM}) + +STR_VEHICLE_DETAILS_CARGO_EMPTY :{LTBLUE}Vacuum +STR_VEHICLE_DETAILS_CARGO_FROM :{LTBLUE}{CARGO_LONG} a {STATION} +STR_VEHICLE_DETAILS_CARGO_FROM_MULT :{LTBLUE}{CARGO_LONG} a {STATION} (x{NUM}) + +STR_VEHICLE_DETAIL_TAB_CARGO :{BLACK}Onus +STR_VEHICLE_DETAILS_TRAIN_CARGO_TOOLTIP :{BLACK}Monstrare indicia oneris portatum +STR_VEHICLE_DETAIL_TAB_INFORMATION :{BLACK}Indicia +STR_VEHICLE_DETAILS_TRAIN_INFORMATION_TOOLTIP :{BLACK}Monstrare indicia vehiculorum traminis +STR_VEHICLE_DETAIL_TAB_CAPACITIES :{BLACK}Capacitates +STR_VEHICLE_DETAILS_TRAIN_CAPACITIES_TOOLTIP :{BLACK}Monstrare capacitates cuiusque vehiculi +STR_VEHICLE_DETAIL_TAB_TOTAL_CARGO :{BLACK}Tota Onera +STR_VEHICLE_DETAILS_TRAIN_TOTAL_CARGO_TOOLTIP :{BLACK}Monstrare totam capacitatem hamaxostichi, per oneris typum + +STR_VEHICLE_DETAILS_TRAIN_ARTICULATED_RV_CAPACITY :{BLACK}Capacitas: {LTBLUE} + +# Vehicle refit +STR_REFIT_CAPTION :{WHITE}{VEHICLE} (Reficere) +STR_REFIT_TITLE :{GOLD}Eligere typum oneris portandum: +STR_REFIT_NEW_CAPACITY_COST_OF_REFIT :{BLACK}Capacitas nova: {GOLD}{CARGO_LONG}{}{BLACK}Pretium reficiendi: {RED}{CURRENCY_LONG} +STR_REFIT_NEW_CAPACITY_INCOME_FROM_REFIT :{BLACK}Capacitas nova: {GOLD}{CARGO_LONG}{}{BLACK}Reditus reficiendi: {GREEN}{CURRENCY_LONG} +STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT :{BLACK}Capacitas nova: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Pretium reficiendi: {RED}{CURRENCY_LONG} +STR_REFIT_NEW_CAPACITY_INCOME_FROM_AIRCRAFT_REFIT :{BLACK}Capacitas nova: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Reditus reficiendi: {GREEN}{CURRENCY_LONG} +STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}Eligere vehicula reficienda. Multa vehicula eligantur murem trahendo. Preme in locum vacuum ut cuncta eligatur. Ctrl+Preme ut vehiculum ac omnia sequentia eligantur + +STR_REFIT_TRAIN_LIST_TOOLTIP :{BLACK}Eligere oneris typum hamaxosticho transportandum +STR_REFIT_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Eligere oneris typum vehiculo transportandum +STR_REFIT_SHIP_LIST_TOOLTIP :{BLACK}Eligere oneris typum navi transportandum +STR_REFIT_AIRCRAFT_LIST_TOOLTIP :{BLACK}Eligere oneris typum aeroplano transportandum + +STR_REFIT_TRAIN_REFIT_BUTTON :{BLACK}Reficere tramen +STR_REFIT_ROAD_VEHICLE_REFIT_BUTTON :{BLACK}Reficere vehiculum viarium +STR_REFIT_SHIP_REFIT_BUTTON :{BLACK}Reficere navem +STR_REFIT_AIRCRAFT_REFIT_BUTTON :{BLACK}Reficere aeroplanum + +STR_REFIT_TRAIN_REFIT_TOOLTIP :{BLACK}Reficere tramen generi oneris electo +STR_REFIT_ROAD_VEHICLE_REFIT_TOOLTIP :{BLACK}Reficere vehiculum viarium typo oneris electo +STR_REFIT_SHIP_REFIT_TOOLTIP :{BLACK}Reficere navem typo oneris electo +STR_REFIT_AIRCRAFT_REFIT_TOOLTIP :{BLACK}Reficere aeroplanum typo oneris electo + +# Order view +STR_ORDERS_CAPTION :{WHITE}{VEHICLE} (Iussa) +STR_ORDERS_TIMETABLE_VIEW :{BLACK}Horarius +STR_ORDERS_TIMETABLE_VIEW_TOOLTIP :{BLACK}Mutare ad horarium + +STR_ORDERS_LIST_TOOLTIP :{BLACK}Index iussorum - preme in iussum ut eligatur. Ctrl+Preme vagatur ad destinatum +STR_ORDER_INDEX :{COMMA}:{NBSP} +STR_ORDER_TEXT :{STRING} {STRING} {STRING} + +STR_ORDERS_END_OF_ORDERS :- - Finis Iussorum - - +STR_ORDERS_END_OF_SHARED_ORDERS :- - Finis Iussorum Communium - - + +# Order bottom buttons +STR_ORDER_NON_STOP :{BLACK}Continue +STR_ORDER_GO_TO :I ad +STR_ORDER_GO_NON_STOP_TO :I continue ad +STR_ORDER_GO_VIA :I per +STR_ORDER_GO_NON_STOP_VIA :I continue per +STR_ORDER_TOOLTIP_NON_STOP :{BLACK}Eligere si electum iussum continuum sit + +STR_ORDER_TOGGLE_FULL_LOAD :{BLACK}Plene quidquam onerare +STR_ORDER_DROP_LOAD_IF_POSSIBLE :Onerare si parabile est +STR_ORDER_DROP_FULL_LOAD_ALL :Plene omnia onera onerare +STR_ORDER_DROP_FULL_LOAD_ANY :Plene quidquam onerare +STR_ORDER_DROP_NO_LOADING :Non onerare +STR_ORDER_TOOLTIP_FULL_LOAD :{BLACK}Mutare modum onerandi iusso electo + +STR_ORDER_TOGGLE_UNLOAD :{BLACK}Omnia exonerare +STR_ORDER_DROP_UNLOAD_IF_ACCEPTED :Exonerare si accipitur +STR_ORDER_DROP_UNLOAD :Plene quidquam onerare +STR_ORDER_DROP_TRANSFER :Transfer +STR_ORDER_DROP_NO_UNLOADING :Non exonerare +STR_ORDER_TOOLTIP_UNLOAD :{BLACK}Mutare modum exonerandi iusso electo + +STR_ORDER_REFIT :{BLACK}Reficere +STR_ORDER_REFIT_TOOLTIP :{BLACK}Eligere onus cui reficiendum est in hoc iusso. Ctrl+Preme ut iussum reficiendi removeatur +STR_ORDER_REFIT_AUTO :{BLACK}Reficere in statione +STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Eligere onus cui reficiendum est in hoc iusso. Ctrl+Preme ut iussum reficiendi removeatur. Vehicula possunt refici in stationibus tantum si NewGRF sinit +STR_ORDER_DROP_REFIT_AUTO :Oneri fixo +STR_ORDER_DROP_REFIT_AUTO_ANY :Oneri parabili + +STR_ORDER_SERVICE :{BLACK}Ministratio +STR_ORDER_DROP_GO_ALWAYS_DEPOT :Ire semper +STR_ORDER_DROP_SERVICE_DEPOT :Ministrari si necesse est +STR_ORDER_DROP_HALT_DEPOT :Consiste +STR_ORDER_SERVICE_TOOLTIP :{BLACK}Transilire huic iusso nisi necesse est ministrari + +STR_ORDER_CONDITIONAL_VARIABLE_TOOLTIP :{BLACK}Indicia vehiculi ad quae spectat ordines conditionales + +# Conditional order variables, must follow order of OrderConditionVariable enum +STR_ORDER_CONDITIONAL_LOAD_PERCENTAGE :portio oneris +STR_ORDER_CONDITIONAL_RELIABILITY :constantia +STR_ORDER_CONDITIONAL_MAX_SPEED :velocitas maxima +STR_ORDER_CONDITIONAL_AGE :aetas (annorum) +STR_ORDER_CONDITIONAL_REQUIRES_SERVICE :ministrandum +STR_ORDER_CONDITIONAL_UNCONDITIONALLY :semper +STR_ORDER_CONDITIONAL_REMAINING_LIFETIME :aetas reliqua (anni) + +STR_ORDER_CONDITIONAL_COMPARATOR_TOOLTIP :{BLACK}Quomodo valores electi componuntur indicio vehiculi +STR_ORDER_CONDITIONAL_COMPARATOR_EQUALS :aequalis est +STR_ORDER_CONDITIONAL_COMPARATOR_NOT_EQUALS :non aequalis est +STR_ORDER_CONDITIONAL_COMPARATOR_LESS_THAN :minor est quam +STR_ORDER_CONDITIONAL_COMPARATOR_LESS_EQUALS :aequalis minorve est quam +STR_ORDER_CONDITIONAL_COMPARATOR_MORE_THAN :maior est quam +STR_ORDER_CONDITIONAL_COMPARATOR_MORE_EQUALS :aequalis maiorve est quam +STR_ORDER_CONDITIONAL_COMPARATOR_IS_TRUE :est +STR_ORDER_CONDITIONAL_COMPARATOR_IS_FALSE :non est + +STR_ORDER_CONDITIONAL_VALUE_TOOLTIP :{BLACK}Valor componendum indicio vehiculi +STR_ORDER_CONDITIONAL_VALUE_CAPT :{WHITE}Inscribe valorem componendum + +STR_ORDERS_SKIP_BUTTON :{BLACK}Salire +STR_ORDERS_SKIP_TOOLTIP :{BLACK}Transilire iusso currenti, et incipere secundum. Ctrl+Preme ut transiliat ad iussum electum + +STR_ORDERS_DELETE_BUTTON :{BLACK}Delere +STR_ORDERS_DELETE_TOOLTIP :{BLACK}Delere iussum electum +STR_ORDERS_DELETE_ALL_TOOLTIP :{BLACK}Delere omnia iussa +STR_ORDERS_STOP_SHARING_BUTTON :{BLACK}Desinere communicationem +STR_ORDERS_STOP_SHARING_TOOLTIP :{BLACK}Desinere iussa communicare. Ctrl+Preme ut etiam omnia iussa huius vehiculi deleantur + +STR_ORDERS_GO_TO_BUTTON :{BLACK}I ad +STR_ORDER_GO_TO_NEAREST_DEPOT :I ad proximum receptaculum +STR_ORDER_GO_TO_NEAREST_HANGAR :I ad proximum tugurium +STR_ORDER_CONDITIONAL :Iussum conditionale +STR_ORDER_SHARE :Iussa communicare +STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Inserere novum iussum ante iussum electum, aut ad finem indicis. Ctrl pressa, iussa stationum sunt 'plene quidquam onerare', iussa interlocorum 'continue', et iussa receptaculorum 'ministrare'. 'Iussa communicare' sive Ctrl facit ut iussa communicentur inter hoc ac electum vehiculum. Pressio in aliud vehiculum transcribit iussa ex illo vehiculo. Si adest iussum receptaculi, vehiculum non automatice ministratur + +STR_ORDERS_VEH_WITH_SHARED_ORDERS_LIST_TOOLTIP :{BLACK}Monstrare omnia vehicula quae hunc horarium communicant + +# String parts to build the order string +STR_ORDER_GO_TO_WAYPOINT :I per {WAYPOINT} +STR_ORDER_GO_NON_STOP_TO_WAYPOINT :I continue per {WAYPOINT} + +STR_ORDER_SERVICE_AT :Ministrare ad +STR_ORDER_SERVICE_NON_STOP_AT :Ministrare continue ad + +STR_ORDER_NEAREST_DEPOT :proxmimum +STR_ORDER_NEAREST_HANGAR :proxmimum tugurium +STR_ORDER_TRAIN_DEPOT :receptaculum traminum +STR_ORDER_ROAD_VEHICLE_DEPOT :receptaculum viarium +STR_ORDER_SHIP_DEPOT :receptaculum navium +STR_ORDER_GO_TO_NEAREST_DEPOT_FORMAT :{STRING} {STRING} {STRING} +STR_ORDER_GO_TO_DEPOT_FORMAT :{STRING} {DEPOT} + +STR_ORDER_REFIT_ORDER :(Reficere {STRING.dat}) +STR_ORDER_REFIT_STOP_ORDER :(Reficere {STRING.dat} consisteque) +STR_ORDER_STOP_ORDER :(Consiste) + +STR_ORDER_GO_TO_STATION :{STRING} {STATION} {STRING} + +STR_ORDER_IMPLICIT :(Implicitum) + +STR_ORDER_FULL_LOAD :(Plene onerare) +STR_ORDER_FULL_LOAD_ANY :(Plene quidquam onerare) +STR_ORDER_NO_LOAD :(Non onerare) +STR_ORDER_UNLOAD :(Exonerare et onerare) +STR_ORDER_UNLOAD_FULL_LOAD :(Exonerare et plene onerare) +STR_ORDER_UNLOAD_FULL_LOAD_ANY :(Exonerare et plene quidquam onerare) +STR_ORDER_UNLOAD_NO_LOAD :(Exonerare et exire vacue) +STR_ORDER_TRANSFER :(Transfer et onerare) +STR_ORDER_TRANSFER_FULL_LOAD :(Transfer et plene onerare) +STR_ORDER_TRANSFER_FULL_LOAD_ANY :(Transfer et plene quidquam onerare) +STR_ORDER_TRANSFER_NO_LOAD :(Transfer et exi vacue) +STR_ORDER_NO_UNLOAD :(Non exonerare et onerare) +STR_ORDER_NO_UNLOAD_FULL_LOAD :(Non exonerare et plene onerare) +STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY :(Non exonerare et plene quidquam onerare) +STR_ORDER_NO_UNLOAD_NO_LOAD :(Non exonerare et non onerare) + +STR_ORDER_AUTO_REFIT :(Reficere {STRING.dat}) +STR_ORDER_FULL_LOAD_REFIT :(Reficere {STRING.dat} et plene onerare) +STR_ORDER_FULL_LOAD_ANY_REFIT :(Reficere {STRING.dat} et plene quidquam onerare) +STR_ORDER_UNLOAD_REFIT :(Exonerare, reficere {STRING.dat}, et onerare) +STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(Exonerare, reficere {STRING.dat}, et plene onerare) +STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(Exonerare, reficere {STRING.dat}, et plene quidquam onerare) +STR_ORDER_TRANSFER_REFIT :(Transfer, reficere {STRING.dat}, et onerare) +STR_ORDER_TRANSFER_FULL_LOAD_REFIT :(Transfer, reficere {STRING.dat}, et plene onerare) +STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :(Transfer, reficere {STRING.dat}, et plene quidquam onerare) +STR_ORDER_NO_UNLOAD_REFIT :(Non exonerare, reficere {STRING.dat}, et onerare) +STR_ORDER_NO_UNLOAD_FULL_LOAD_REFIT :(Non exonerare, reficere {STRING.dat}, et plene onerare) +STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY_REFIT :(Non exonerare, reficere {STRING.dat}, et plene quidquam onerare) + +STR_ORDER_AUTO_REFIT_ANY :oneri parabili + +STR_ORDER_STOP_LOCATION_NEAR_END :[citera] +STR_ORDER_STOP_LOCATION_MIDDLE :[medio] +STR_ORDER_STOP_LOCATION_FAR_END :[ultra] + +STR_ORDER_OUT_OF_RANGE :{RED} (Destinatum secundum extra distantiam volatus maximam est) + +STR_ORDER_CONDITIONAL_UNCONDITIONAL :Sali ad iussum {COMMA} +STR_ORDER_CONDITIONAL_NUM :Sali ad iussum {COMMA} cum {STRING} {STRING} {COMMA} +STR_ORDER_CONDITIONAL_TRUE_FALSE :Sali ad iussum {COMMA} cum {STRING} {STRING} + +STR_INVALID_ORDER :{RED} (Iussum Irritum) + +# Time table window +STR_TIMETABLE_TITLE :{WHITE}{VEHICLE} (Horarius) +STR_TIMETABLE_ORDER_VIEW :{BLACK}Iussa +STR_TIMETABLE_ORDER_VIEW_TOOLTIP :{BLACK}Mutare ad aspectum iussorum + +STR_TIMETABLE_TOOLTIP :{BLACK}Horarius - preme in iussum ut eligatur + +STR_TIMETABLE_NO_TRAVEL :(Non est navigandum) +STR_TIMETABLE_NOT_TIMETABLEABLE :Iter (horarius curatur a secundo fixo iusso) +STR_TIMETABLE_TRAVEL_NOT_TIMETABLED :Iter (sine horario) +STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Iter cum {2:VELOCITY} velocitas maxima (sine horario) +STR_TIMETABLE_TRAVEL_FOR :Iter {STRING} +STR_TIMETABLE_TRAVEL_FOR_SPEED :Iter {STRING} cum {VELOCITY} velocitas maxima +STR_TIMETABLE_TRAVEL_FOR_ESTIMATED :Iter ({STRING}, sine horario) +STR_TIMETABLE_TRAVEL_FOR_SPEED_ESTIMATED :Iter ({STRING}, sine horario) cum {VELOCITY} velocitas maxima +STR_TIMETABLE_STAY_FOR_ESTIMATED :(mora {STRING}, sine horario) +STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(iter {STRING}, sine horario) +STR_TIMETABLE_STAY_FOR :cum mora {STRING} +STR_TIMETABLE_AND_TRAVEL_FOR :cum itinere {STRING} +STR_TIMETABLE_DAYS :{COMMA}{NBSP}die{P i rum} +STR_TIMETABLE_DAYS.acc :{COMMA}{NBSP}die{P m s} +STR_TIMETABLE_TICKS :{COMMA}{NBSP}punct{P i orum} +STR_TIMETABLE_TICKS.acc :{COMMA}{NBSP}punct{P um a} + +STR_TIMETABLE_TOTAL_TIME :{BLACK}Hic horarius peragitur {STRING.acc} +STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}Hic horarius peragitur saltem {STRING.acc} (omnia non in horario) + +STR_TIMETABLE_STATUS_ON_TIME :{BLACK}Hoc vehiculum ad tempus est +STR_TIMETABLE_STATUS_LATE :{BLACK}Hoc vehiculum est {STRING.acc} tardum +STR_TIMETABLE_STATUS_EARLY :{BLACK}Hoc vehiculum est {STRING.acc} citum +STR_TIMETABLE_STATUS_NOT_STARTED :{BLACK}Hic horarius adhuc non incipitur +STR_TIMETABLE_STATUS_START_AT :{BLACK}Hic horarius incipietur {STRING} + +STR_TIMETABLE_STARTING_DATE :{BLACK}Dies Initii +STR_TIMETABLE_STARTING_DATE_TOOLTIP :{BLACK}Elige diem ad initium huius horarii. Ctrl+Preme ut dies initialis huius horarii eligatur ac aequaliter partiuntur omnia vehicula quae hoc iussum communicant secundum ordinem eorum, si iussa tota in horariis sunt + +STR_TIMETABLE_CHANGE_TIME :{BLACK}Mutare Tempus +STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Mutare durationem iussi electi + +STR_TIMETABLE_CLEAR_TIME :{BLACK}Delere Tempus +STR_TIMETABLE_CLEAR_TIME_TOOLTIP :{BLACK}Delere durationem iussi electi + +STR_TIMETABLE_CHANGE_SPEED :{BLACK}Mutare Velocitatem Maximam +STR_TIMETABLE_CHANGE_SPEED_TOOLTIP :{BLACK}Mutare velocitatem itineris maximam iussi electi + +STR_TIMETABLE_CLEAR_SPEED :{BLACK}Delere Velocitatem Maximam +STR_TIMETABLE_CLEAR_SPEED_TOOLTIP :{BLACK}Delere elocitatem itineris maximam iussi electi + +STR_TIMETABLE_RESET_LATENESS :{BLACK}Reponere Numerationem Tarditatis +STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}Reponere numerationem tarditatis, igitur vehiculum ad tempus sit + +STR_TIMETABLE_AUTOFILL :{BLACK}Implere Automatice +STR_TIMETABLE_AUTOFILL_TOOLTIP :{BLACK}Implere horarium automatice valoribus itineris secundi (Ctrl+Preme ut conetur tempora morae tenere) + +STR_TIMETABLE_EXPECTED :{BLACK}Aestimata +STR_TIMETABLE_SCHEDULED :{BLACK}Secundum horarium +STR_TIMETABLE_EXPECTED_TOOLTIP :{BLACK}Mutare inter tempora quae aestimata sunt ac secundum horarium sunt + +STR_TIMETABLE_ARRIVAL_ABBREVIATION :A: +STR_TIMETABLE_DEPARTURE_ABBREVIATION :E: + + +# Date window (for timetable) +STR_DATE_CAPTION :{WHITE}Electio diei +STR_DATE_SET_DATE :{BLACK}Eligere diem +STR_DATE_SET_DATE_TOOLTIP :{BLACK}Adhibere diem ut initium horarii +STR_DATE_DAY_TOOLTIP :{BLACK}Elige diem +STR_DATE_MONTH_TOOLTIP :{BLACK}Elige mensem +STR_DATE_YEAR_TOOLTIP :{BLACK}Elige anum + + +# AI debug window +STR_AI_DEBUG :{WHITE}Emendatio IA/Ludi Scripti +STR_AI_DEBUG_NAME_AND_VERSION :{BLACK}{STRING} (e{NUM}) +STR_AI_DEBUG_NAME_TOOLTIP :{BLACK}Nomen scripti +STR_AI_DEBUG_SETTINGS :{BLACK}Optiones +STR_AI_DEBUG_SETTINGS_TOOLTIP :{BLACK}Mutare optiones scripti +STR_AI_DEBUG_RELOAD :{BLACK}Iterum legere IA +STR_AI_DEBUG_RELOAD_TOOLTIP :{BLACK}Occidere IA, iterum scriptum legere, et denuo incipere IA +STR_AI_DEBUG_BREAK_STR_ON_OFF_TOOLTIP :{BLACK}Sinere/vetare frangendum esse cum nuntium IA idem est quam series frangendi +STR_AI_DEBUG_BREAK_ON_LABEL :{BLACK}Frangere: +STR_AI_DEBUG_BREAK_STR_OSKTITLE :{BLACK}Frangere +STR_AI_DEBUG_BREAK_STR_TOOLTIP :{BLACK}Cum nuntium IA idem est huic seriei, ludus intermittitur +STR_AI_DEBUG_MATCH_CASE :{BLACK}Sequi casum litterarum +STR_AI_DEBUG_MATCH_CASE_TOOLTIP :{BLACK}Eligere si sit casus litterarum sequendus cum nuntia IA componuntur seriei frangendi +STR_AI_DEBUG_CONTINUE :{BLACK}Pergere +STR_AI_DEBUG_CONTINUE_TOOLTIP :{BLACK}Resumere ludum et IA pergere +STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Inspicere nuntia emendationis huius IA +STR_AI_GAME_SCRIPT :{BLACK}Ludi Scriptum +STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Inspicere nuntia Ludi Scripti + +STR_ERROR_AI_NO_AI_FOUND :Nulla IA idonea reperta est.{}Haec IA substituta est et nihil agit.{}Potes arcessere nonullas IA in Inventario Interretale +STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Unum currens scriptum corruit. Si potes, admone scriptori de hoc cum imagine fenestrae Emendationis IA/Ludi Scripti +STR_ERROR_AI_DEBUG_SERVER_ONLY :{YELLOW}Fenestra Emendationis IA/Ludi Scripti tantum servatro licet uti + +# AI configuration window +STR_AI_CONFIG_CAPTION :{WHITE}Configuratio IA/Ludi Scriptum +STR_AI_CONFIG_GAMELIST_TOOLTIP :{BLACK}Ludi Scriptum quod imponet ludo proximo +STR_AI_CONFIG_AILIST_TOOLTIP :{BLACK}IA quae imponet ludo proximo +STR_AI_CONFIG_HUMAN_PLAYER :Lusor humanus +STR_AI_CONFIG_RANDOM_AI :IA Fortuita +STR_AI_CONFIG_NONE :(nullum) + +STR_AI_CONFIG_MOVE_UP :{BLACK}Sursum Movere +STR_AI_CONFIG_MOVE_UP_TOOLTIP :{BLACK}Movere IA electam sursum in indice +STR_AI_CONFIG_MOVE_DOWN :{BLACK}Deorsum Movere +STR_AI_CONFIG_MOVE_DOWN_TOOLTIP :{BLACK}Movere IA electam sursum in indice + +STR_AI_CONFIG_GAMESCRIPT :{SILVER}Ludi Scriptum +STR_AI_CONFIG_AI :{SILVER}AI + +STR_AI_CONFIG_CHANGE :{BLACK}Eligere {STRING} +STR_AI_CONFIG_CHANGE_NONE : +STR_AI_CONFIG_CHANGE_AI :IA +STR_AI_CONFIG_CHANGE_GAMESCRIPT :Scriptum +STR_AI_CONFIG_CHANGE_TOOLTIP :{BLACK}Legere aliud ludi scriptum +STR_AI_CONFIG_CONFIGURE :{BLACK}Parametra +STR_AI_CONFIG_CONFIGURE_TOOLTIP :{BLACK}Recensere parametra Scripti + +# Available AIs window +STR_AI_LIST_CAPTION :{WHITE}Parabilia {STRING} +STR_AI_LIST_CAPTION_AI :IA +STR_AI_LIST_CAPTION_GAMESCRIPT :Ludi Scripta +STR_AI_LIST_TOOLTIP :{BLACK}Preme ut scriptum eligatur + +STR_AI_LIST_AUTHOR :{LTBLUE}Scriptor: {ORANGE}{STRING} +STR_AI_LIST_VERSION :{LTBLUE}Editio: {ORANGE}{NUM} +STR_AI_LIST_URL :{LTBLUE}URL: {ORANGE}{STRING} + +STR_AI_LIST_ACCEPT :{BLACK}Accipere +STR_AI_LIST_ACCEPT_TOOLTIP :{BLACK}Eligere scriptum +STR_AI_LIST_CANCEL :{BLACK}Cancellare +STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}Non scriptum mutare + +# AI Parameters +STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} Parametra +STR_AI_SETTINGS_CAPTION_AI :IA +STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Ludi Scripti +STR_AI_SETTINGS_CLOSE :{BLACK}Claudere +STR_AI_SETTINGS_RESET :{BLACK}Revertere +STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING} +STR_AI_SETTINGS_START_DELAY :Quot dies post IA priorem haec IA incipiet (plus minusve): {ORANGE}{STRING} + + +# Textfile window +STR_TEXTFILE_README_CAPTION :{WHITE}{STRING} - {STRING} LegeMe +STR_TEXTFILE_CHANGELOG_CAPTION :{WHITE}{STRING} - {STRING} Index Mutationum +STR_TEXTFILE_LICENCE_CAPTION :{WHITE}{STRING} - {STRING} Licentia +STR_TEXTFILE_WRAP_TEXT :{WHITE}Verba volvere +STR_TEXTFILE_WRAP_TEXT_TOOLTIP :{BLACK}Volvere verba fenestrae ut omnia intra adsunt sine vagando +STR_TEXTFILE_VIEW_README :{BLACK}Inspicere LegeMe +STR_TEXTFILE_VIEW_CHANGELOG :{BLACK}Index Mutationum +STR_TEXTFILE_VIEW_LICENCE :{BLACK}Licentia + + +# Vehicle loading indicators +STR_PERCENT_UP_SMALL :{TINY_FONT}{WHITE}{NUM}%{UP_ARROW} +STR_PERCENT_UP :{WHITE}{NUM}%{UP_ARROW} +STR_PERCENT_DOWN_SMALL :{TINY_FONT}{WHITE}{NUM}%{DOWN_ARROW} +STR_PERCENT_DOWN :{WHITE}{NUM}%{DOWN_ARROW} +STR_PERCENT_UP_DOWN_SMALL :{TINY_FONT}{WHITE}{NUM}%{UP_ARROW}{DOWN_ARROW} +STR_PERCENT_UP_DOWN :{WHITE}{NUM}%{UP_ARROW}{DOWN_ARROW} +STR_PERCENT_NONE_SMALL :{TINY_FONT}{WHITE}{NUM}% +STR_PERCENT_NONE :{WHITE}{NUM}% + +# Income 'floats' +STR_INCOME_FLOAT_COST_SMALL :{TINY_FONT}{RED}Expensum: {CURRENCY_LONG} +STR_INCOME_FLOAT_COST :{RED}Expensum: {CURRENCY_LONG} +STR_INCOME_FLOAT_INCOME_SMALL :{TINY_FONT}{GREEN}Reditus: {CURRENCY_LONG} +STR_INCOME_FLOAT_INCOME :{GREEN}Reditus: {CURRENCY_LONG} +STR_FEEDER_TINY :{TINY_FONT}{YELLOW}Translatio: {CURRENCY_LONG} +STR_FEEDER :{YELLOW}Translatio: {CURRENCY_LONG} +STR_FEEDER_INCOME_TINY :{TINY_FONT}{YELLOW}Translatio: {CURRENCY_LONG}{WHITE} / {GREEN}Reditus: {CURRENCY_LONG} +STR_FEEDER_INCOME :{YELLOW}Translatio: {CURRENCY_LONG}{WHITE} / {GREEN}Reditus: {CURRENCY_LONG} +STR_FEEDER_COST_TINY :{TINY_FONT}{YELLOW}Translatio: {CURRENCY_LONG}{WHITE} / {RED}Expensum: {CURRENCY_LONG} +STR_FEEDER_COST :{YELLOW}Translatio: {CURRENCY_LONG}{WHITE} / {RED}Expensum: {CURRENCY_LONG} +STR_MESSAGE_ESTIMATED_COST :{WHITE}Pretium Aestimatum: {CURRENCY_LONG} +STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Reditus Aestimatus: {CURRENCY_LONG} + +# Saveload messages +STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Adhuc in servando,{}maneas usque ad terminum! +STR_ERROR_AUTOSAVE_FAILED :{WHITE}Autoservare defecit +STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Non poterat discum legere +STR_ERROR_GAME_SAVE_FAILED :{WHITE}Servare Ludum Defecit{}{STRING} +STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Non poterat fasciculum delere +STR_ERROR_GAME_LOAD_FAILED :{WHITE}Legere Ludum Defecit{}{STRING} +STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Mendum internum: {STRING} +STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Ludus corruptus - {STRING} +STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Ludus servatus est in editione noviore +STR_GAME_SAVELOAD_ERROR_FILE_NOT_READABLE :Fasciculus non legibilis est +STR_GAME_SAVELOAD_ERROR_FILE_NOT_WRITEABLE :Fasciculus non scriptabilis est +STR_GAME_SAVELOAD_ERROR_DATA_INTEGRITY_CHECK_FAILED :Integreitatem datorum collegere defecit +STR_GAME_SAVELOAD_NOT_AVAILABLE : +STR_WARNING_LOADGAME_REMOVED_TRAMS :{WHITE}Ludus servatus est in editione sine transviariis raedis. Omnes transviariae raedae remotae sunt + +# Map generation messages +STR_ERROR_COULD_NOT_CREATE_TOWN :{WHITE}Creatio tabulae constita...{}... nulli loci oppidis idonei +STR_ERROR_NO_TOWN_IN_SCENARIO :{WHITE}... nullum adest oppidum in hoc scaenario + +STR_ERROR_PNGMAP :{WHITE}Non potest legere ex PNG... +STR_ERROR_PNGMAP_FILE_NOT_FOUND :{WHITE}... fasciculus non inventus +STR_ERROR_PNGMAP_IMAGE_TYPE :{WHITE}... non poterat convertere typum imaginis. 8 vel 24-bit PNG necesse est +STR_ERROR_PNGMAP_MISC :{WHITE}... aliquid defecit (fortasse fasciculus corruptus) + +STR_ERROR_BMPMAP :{WHITE}Non potest legere ex BMP... +STR_ERROR_BMPMAP_IMAGE_TYPE :{WHITE}... non poterat convertere typum imaginis + +STR_ERROR_HEIGHTMAP_TOO_LARGE :{WHITE}... imago nimis magna + +STR_WARNING_HEIGHTMAP_SCALE_CAPTION :{WHITE}Admonitio magnitudinis +STR_WARNING_HEIGHTMAP_SCALE_MESSAGE :{YELLOW}Non bene censetur nimis mutare magnitudinem tabulae. Visne pergere? + +# Soundset messages +STR_WARNING_FALLBACK_SOUNDSET :{WHITE}Modo fundamentum sonicum substitutum repertum est. Si vis sonos audire, impone verum fundamentum sonicum ex inventario interretiale + +# Screenshot related messages +STR_WARNING_SCREENSHOT_SIZE_CAPTION :{WHITE}Imago conspectus ingens +STR_WARNING_SCREENSHOT_SIZE_MESSAGE :{YELLOW}Imago conspectus resolutionem {COMMA} x {COMMA} habebit. Forsitan diu erit in imaginem faciendo. Visne pergere? + +STR_MESSAGE_SCREENSHOT_SUCCESSFULLY :{WHITE}Imago servata est nomine '{STRING}' +STR_ERROR_SCREENSHOT_FAILED :{WHITE}Creatio imaginis defecit! + +# Error message titles +STR_ERROR_MESSAGE_CAPTION :{YELLOW}Nuntium +STR_ERROR_MESSAGE_CAPTION_OTHER_COMPANY :{YELLOW}{STRING} affert nuntium + +# Generic construction errors +STR_ERROR_OFF_EDGE_OF_MAP :{WHITE}Extra tabulam est +STR_ERROR_TOO_CLOSE_TO_EDGE_OF_MAP :{WHITE}Nimis propinquus est fini tabulae +STR_ERROR_NOT_ENOUGH_CASH_REQUIRES_CURRENCY :{WHITE}Pecunia deest - {CURRENCY_LONG} poscitur +STR_ERROR_FLAT_LAND_REQUIRED :{WHITE}Terra plana necesse est +STR_ERROR_LAND_SLOPED_IN_WRONG_DIRECTION :{WHITE}Terra prave acclivis est +STR_ERROR_CAN_T_DO_THIS :{WHITE}Non licet... +STR_ERROR_BUILDING_MUST_BE_DEMOLISHED :{WHITE}Aedificum oportet destructum esse +STR_ERROR_CAN_T_CLEAR_THIS_AREA :{WHITE}Non licet locum vacuefacere... +STR_ERROR_SITE_UNSUITABLE :{WHITE}... situs non idoneus +STR_ERROR_ALREADY_BUILT :{WHITE}... iam structum +STR_ERROR_OWNED_BY :{WHITE}... possessus a {STRING} +STR_ERROR_AREA_IS_OWNED_BY_ANOTHER :{WHITE}... situs ab alia societate possessus +STR_ERROR_TERRAFORM_LIMIT_REACHED :{WHITE}... finis plasmationis contingitur +STR_ERROR_CLEARING_LIMIT_REACHED :{WHITE}... finis tegulas vacuefaciendi contingitur +STR_ERROR_TREE_PLANT_LIMIT_REACHED :{WHITE}... finis arbores serendi contingitur +STR_ERROR_NAME_MUST_BE_UNIQUE :{WHITE}Oportet nomen unicum esse +STR_ERROR_GENERIC_OBJECT_IN_THE_WAY :{WHITE}{1:STRING} obstat +STR_ERROR_NOT_ALLOWED_WHILE_PAUSED :{WHITE}Non licet ludo intermisso + +# Local authority errors +STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS :{WHITE}{TOWN} auctoritas vicinalis vetat +STR_ERROR_LOCAL_AUTHORITY_REFUSES_AIRPORT :{WHITE}{TOWN} auctoritas vicinalis alium aeroportum in hoc oppido struere vetat +STR_ERROR_LOCAL_AUTHORITY_REFUSES_NOISE :{WHITE}{TOWN} auctoritas vicinalis alium aeroportum struere vetat soniti causa +STR_ERROR_BRIBE_FAILED :{WHITE}Largitio tua animadversa est ab inquisitore regionale! + +# Levelling errors +STR_ERROR_CAN_T_RAISE_LAND_HERE :{WHITE}Non licet hanc terram tollere... +STR_ERROR_CAN_T_LOWER_LAND_HERE :{WHITE}Non licet hanc terram inclinere... +STR_ERROR_CAN_T_LEVEL_LAND_HERE :{WHITE}Non licet hanc terram levigare... +STR_ERROR_EXCAVATION_WOULD_DAMAGE :{WHITE}Cuniculus fractus esset +STR_ERROR_ALREADY_AT_SEA_LEVEL :{WHITE}... iam ad maris aequor est +STR_ERROR_TOO_HIGH :{WHITE}... nimis alta est +STR_ERROR_ALREADY_LEVELLED :{WHITE}... iam plana est +STR_ERROR_BRIDGE_TOO_HIGH_AFTER_LOWER_LAND :{WHITE}Postea pons supernus nimis altus sit. + +# Company related errors +STR_ERROR_CAN_T_CHANGE_COMPANY_NAME :{WHITE}Non licet societatem renominare... +STR_ERROR_CAN_T_CHANGE_PRESIDENT :{WHITE}Non licet praesidem renominare... + +STR_ERROR_MAXIMUM_PERMITTED_LOAN :{WHITE}... creditum maximum est {CURRENCY_LONG} +STR_ERROR_CAN_T_BORROW_ANY_MORE_MONEY :{WHITE}Non licet plurem pecuniae mutuari... +STR_ERROR_LOAN_ALREADY_REPAYED :{WHITE}... non est creditum solvendum +STR_ERROR_CURRENCY_REQUIRED :{WHITE}... {CURRENCY_LONG} poscitur +STR_ERROR_CAN_T_REPAY_LOAN :{WHITE}Non licet creditum reddere... +STR_ERROR_INSUFFICIENT_FUNDS :{WHITE}Non licet pecuniam mutuam largiri... +STR_ERROR_CAN_T_BUY_COMPANY :{WHITE}Non licet societatem emere... +STR_ERROR_CAN_T_BUILD_COMPANY_HEADQUARTERS :{WHITE}Non licet sedem societatis struere... +STR_ERROR_CAN_T_BUY_25_SHARE_IN_THIS :{WHITE}Non licet quadrantem sortium huius societatis emere... +STR_ERROR_CAN_T_SELL_25_SHARE_IN :{WHITE}Non licet quadrantem sortium huius societatis vendere... +STR_ERROR_PROTECTED :{WHITE}Nondum licet sortes societatis mercari... + +# Town related errors +STR_ERROR_CAN_T_GENERATE_TOWN :{WHITE}Non licet oppida condi +STR_ERROR_CAN_T_RENAME_TOWN :{WHITE}Non licet oppidum renominare... +STR_ERROR_CAN_T_FOUND_TOWN_HERE :{WHITE}Non licet oppidum condere hic... +STR_ERROR_CAN_T_EXPAND_TOWN :{WHITE}Non licet augere oppidum... +STR_ERROR_TOO_CLOSE_TO_EDGE_OF_MAP_SUB :{WHITE}... nimis prope finem tabulae +STR_ERROR_TOO_CLOSE_TO_ANOTHER_TOWN :{WHITE}... nimis prope aliud oppidum +STR_ERROR_TOO_MANY_TOWNS :{WHITE}... nimis oppida adsunt +STR_ERROR_NO_SPACE_FOR_TOWN :{WHITE}... plus spatium tabulae deest +STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}Oppidum non vias faciet. Potest sinere vias facere in Electionibus->Circumiecta->Oppida +STR_ERROR_ROAD_WORKS_IN_PROGRESS :{WHITE}Constructio viaria agitur +STR_ERROR_TOWN_CAN_T_DELETE :{WHITE}Non licet oppidum delere...{}Statio receptaculumve est oppido sive non licet tegulam oppidi removere +STR_ERROR_STATUE_NO_SUITABLE_PLACE :{WHITE}... non est locus effigiei idoneus in medio oppidi + +# Industry related errors +STR_ERROR_TOO_MANY_INDUSTRIES :{WHITE}... nimis industriae adsunt +STR_ERROR_CAN_T_GENERATE_INDUSTRIES :{WHITE}Non licet industrias condere... +STR_ERROR_CAN_T_BUILD_HERE :{WHITE}Non licet {STRING.acc} hic strui... +STR_ERROR_CAN_T_CONSTRUCT_THIS_INDUSTRY :{WHITE}Non licet industriam huius typi hic struere... +STR_ERROR_INDUSTRY_TOO_CLOSE :{WHITE}... nimis prope aliam industriam +STR_ERROR_MUST_FOUND_TOWN_FIRST :{WHITE}... oportet oppidum conditum esse +STR_ERROR_ONLY_ONE_ALLOWED_PER_TOWN :{WHITE}... modo semel per oppidum licet strui +STR_ERROR_CAN_ONLY_BE_BUILT_IN_TOWNS_WITH_POPULATION_OF_1200 :{WHITE}... modo in oppidis quae plures quam 1200 incolas habent licet strui +STR_ERROR_CAN_ONLY_BE_BUILT_IN_RAINFOREST :{WHITE}... modo in silvis pluvialibus licet strui +STR_ERROR_CAN_ONLY_BE_BUILT_IN_DESERT :{WHITE}... modo in desertis licet strui +STR_ERROR_CAN_ONLY_BE_BUILT_IN_TOWNS :{WHITE}... modo in oppidis licet strui (in locis aedificiorum) +STR_ERROR_CAN_ONLY_BE_BUILT_NEAR_TOWN_CENTER :{WHITE}... modo apud media oppidorum licet strui +STR_ERROR_CAN_ONLY_BE_BUILT_IN_LOW_AREAS :{WHITE}... modo in locis humilibus licet strui +STR_ERROR_CAN_ONLY_BE_POSITIONED :{WHITE}... modo apud fines tabulae licet strui +STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... modo licet silvas struere supra lineam nivis +STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... modo supra lineam nivis licet strui +STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... modo infra lineam nivis licet strui + +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}Nulli loci idonei erat ad industrias '{STRING}' construendas +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Muta parametra tabulam generandi ut melior tabula habeas + +# Station construction related errors +STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Non licet stationem ferriviariam hic struere... +STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}Non licet stationem laophoricam hic struere... +STR_ERROR_CAN_T_BUILD_TRUCK_STATION :{WHITE}Non licet stationem autoplaustricam hic struere... +STR_ERROR_CAN_T_BUILD_PASSENGER_TRAM_STATION :{WHITE}Non licet stationem transviariam vectoriam hic struere... +STR_ERROR_CAN_T_BUILD_CARGO_TRAM_STATION :{WHITE}Non licet stationem transviariam onerariam hic struere... +STR_ERROR_CAN_T_BUILD_DOCK_HERE :{WHITE}Non licet navale hic struere... +STR_ERROR_CAN_T_BUILD_AIRPORT_HERE :{WHITE}Non licet aeroportum hic struere... + +STR_ERROR_ADJOINS_MORE_THAN_ONE_EXISTING :{WHITE}Apposita est pluribus stationibus +STR_ERROR_STATION_TOO_SPREAD_OUT :{WHITE}... statio nimis strata +STR_ERROR_TOO_MANY_STATIONS_LOADING :{WHITE}Nimis stationes adsunt +STR_ERROR_TOO_MANY_STATION_SPECS :{WHITE}Nimis partes stationum ferriviariarum adsunt +STR_ERROR_TOO_MANY_BUS_STOPS :{WHITE}Nimis stationes laophoricae adsunt +STR_ERROR_TOO_MANY_TRUCK_STOPS :{WHITE}Nimis stationes autoplaustricae adsunt +STR_ERROR_TOO_CLOSE_TO_ANOTHER_STATION :{WHITE}Nimis prope aliam stationem +STR_ERROR_TOO_CLOSE_TO_ANOTHER_DOCK :{WHITE}Nimis prope aliud navale +STR_ERROR_TOO_CLOSE_TO_ANOTHER_AIRPORT :{WHITE}Nimis prope alium aeroportum +STR_ERROR_CAN_T_RENAME_STATION :{WHITE}Non licet stationem renominare... +STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... via oppido est +STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... viae directio non convenit +STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... stationi perviae non licet esse curva +STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... stationi perviae non licet compita habere + +# Station destruction related errors +STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Non licet partem stationis removere... +STR_ERROR_MUST_REMOVE_RAILWAY_STATION_FIRST :{WHITE}Stationem ferriviariam removere necesse est +STR_ERROR_CAN_T_REMOVE_BUS_STATION :{WHITE}Non licet stationem laophoricam removere... +STR_ERROR_CAN_T_REMOVE_TRUCK_STATION :{WHITE}Non licet stationem autoplaustricam removere... +STR_ERROR_CAN_T_REMOVE_PASSENGER_TRAM_STATION :{WHITE}Non licet stationem transviariam vectoria removere... +STR_ERROR_CAN_T_REMOVE_CARGO_TRAM_STATION :{WHITE}Non licet stationem transviariam oneraria removere... +STR_ERROR_MUST_REMOVE_ROAD_STOP_FIRST :{WHITE}Stationem viariam removere necesse est +STR_ERROR_THERE_IS_NO_STATION :{WHITE}... non est statio + +STR_ERROR_MUST_DEMOLISH_RAILROAD :{WHITE}Necesse est stationem ferriviariam destruere +STR_ERROR_MUST_DEMOLISH_BUS_STATION_FIRST :{WHITE}Necesse est stationem laophoricam destruere +STR_ERROR_MUST_DEMOLISH_TRUCK_STATION_FIRST :{WHITE}Necesse est stationem autoplaustricam destruere +STR_ERROR_MUST_DEMOLISH_PASSENGER_TRAM_STATION_FIRST :{WHITE}Necesse est stationem transviariam vectoria destruere +STR_ERROR_MUST_DEMOLISH_CARGO_TRAM_STATION_FIRST :{WHITE}Necesse est stationem transviariam oneraria destruere +STR_ERROR_MUST_DEMOLISH_DOCK_FIRST :{WHITE}Necesse est navale destruere +STR_ERROR_MUST_DEMOLISH_AIRPORT_FIRST :{WHITE}Necesse est aeroportum destruere + +# Waypoint related errors +STR_ERROR_WAYPOINT_ADJOINS_MORE_THAN_ONE_EXISTING :{WHITE}Appositus est pluribus quam uni interlocis +STR_ERROR_TOO_CLOSE_TO_ANOTHER_WAYPOINT :{WHITE}Nimis prope alium interlocum + +STR_ERROR_CAN_T_BUILD_TRAIN_WAYPOINT :{WHITE}Non licet interlocum ferriviarium hic struere... +STR_ERROR_CAN_T_POSITION_BUOY_HERE :{WHITE}Non licet signum monitorium huc ponere... +STR_ERROR_CAN_T_CHANGE_WAYPOINT_NAME :{WHITE}Non licet interlocum renominare... + +STR_ERROR_CAN_T_REMOVE_TRAIN_WAYPOINT :{WHITE}Non licet interlocum removere... +STR_ERROR_MUST_REMOVE_RAILWAYPOINT_FIRST :{WHITE}Necesse est interlocum ferriviarium removere +STR_ERROR_BUOY_IN_THE_WAY :{WHITE}... signum monitorium obstat +STR_ERROR_BUOY_IS_IN_USE :{WHITE}... signum monitorium ab alia societate usum + +# Depot related errors +STR_ERROR_CAN_T_BUILD_TRAIN_DEPOT :{WHITE}Non licet receptaculum traminum hic struere... +STR_ERROR_CAN_T_BUILD_ROAD_DEPOT :{WHITE}Non licet receptaculum viarium hic struere... +STR_ERROR_CAN_T_BUILD_TRAM_DEPOT :{WHITE}Non licet receptaculum transviarium hic struere... +STR_ERROR_CAN_T_BUILD_SHIP_DEPOT :{WHITE}Non licet receptaculum navium hic struere... + +STR_ERROR_CAN_T_RENAME_DEPOT :{WHITE}Non licet receptaculum renominare... + +STR_ERROR_TRAIN_MUST_BE_STOPPED_INSIDE_DEPOT :{WHITE}... oportet constitum esse in receptaculo +STR_ERROR_ROAD_VEHICLE_MUST_BE_STOPPED_INSIDE_DEPOT :{WHITE}... oportet constitum esse in receptaculo +STR_ERROR_SHIP_MUST_BE_STOPPED_INSIDE_DEPOT :{WHITE}... oportet constitam esse in receptaculo +STR_ERROR_AIRCRAFT_MUST_BE_STOPPED_INSIDE_HANGAR :{WHITE}... oportet constitum esse in tugurio + +STR_ERROR_TRAINS_CAN_ONLY_BE_ALTERED_INSIDE_A_DEPOT :{WHITE}Commutare tramen licet modo dum manet in receptaculo +STR_ERROR_TRAIN_TOO_LONG :{WHITE}Tramen nimis longum +STR_ERROR_CAN_T_REVERSE_DIRECTION_RAIL_VEHICLE :{WHITE}Non licet vehiculum reflectere... +STR_ERROR_CAN_T_REVERSE_DIRECTION_RAIL_VEHICLE_MULTIPLE_UNITS :{WHITE}... constat ex pluribus unitatibus +STR_ERROR_INCOMPATIBLE_RAIL_TYPES :Typi ferriviarum impares + +STR_ERROR_CAN_T_MOVE_VEHICLE :{WHITE}Non licet vehiculum movere... +STR_ERROR_REAR_ENGINE_FOLLOW_FRONT :{WHITE}Hamaxa postrema semper hamaxam primam comitat +STR_ERROR_UNABLE_TO_FIND_ROUTE_TO :{WHITE}Non potest iter ad receptaculum invenire +STR_ERROR_UNABLE_TO_FIND_LOCAL_DEPOT :{WHITE}Non potest receptaculum invenire + +STR_ERROR_DEPOT_WRONG_DEPOT_TYPE :Typus receptaculi impar + +# Autoreplace related errors +STR_ERROR_TRAIN_TOO_LONG_AFTER_REPLACEMENT :{WHITE}{VEHICLE} nimis long(G us a um) est post commutationem +STR_ERROR_AUTOREPLACE_NOTHING_TO_DO :{WHITE}Nullae regulae automutandi/autoredimendi +STR_ERROR_AUTOREPLACE_MONEY_LIMIT :(finis pecuniae) + +# Rail construction errors +STR_ERROR_IMPOSSIBLE_TRACK_COMBINATION :{WHITE}Compositio astariorum impossibilis +STR_ERROR_MUST_REMOVE_SIGNALS_FIRST :{WHITE}Necesse est signalia delere +STR_ERROR_NO_SUITABLE_RAILROAD_TRACK :{WHITE}Nulla astaria idonea +STR_ERROR_MUST_REMOVE_RAILROAD_TRACK :{WHITE}Necesse est ferriviam removere +STR_ERROR_CROSSING_ON_ONEWAY_ROAD :{WHITE}Via est monodromus vel obstructa +STR_ERROR_CROSSING_DISALLOWED :{WHITE}Non licet huic typo ferriviae habere transitus +STR_ERROR_CAN_T_BUILD_SIGNALS_HERE :{WHITE}Non licet signalia hic struere... +STR_ERROR_CAN_T_BUILD_RAILROAD_TRACK :{WHITE}Non licet ferriviam hic struere... +STR_ERROR_CAN_T_REMOVE_RAILROAD_TRACK :{WHITE}Non licet ferriviam removere hic... +STR_ERROR_CAN_T_REMOVE_SIGNALS_FROM :{WHITE}Non licet signalia removere hic... +STR_ERROR_SIGNAL_CAN_T_CONVERT_SIGNALS_HERE :{WHITE}Non licet signalia convertere hic... +STR_ERROR_THERE_IS_NO_RAILROAD_TRACK :{WHITE}... nulla adest ferrivia +STR_ERROR_THERE_ARE_NO_SIGNALS :{WHITE}... nulla adsunt signalia + +STR_ERROR_CAN_T_CONVERT_RAIL :{WHITE}Non licet typum ferriviae convertere hic... + +# Road construction errors +STR_ERROR_MUST_REMOVE_ROAD_FIRST :{WHITE}Necesse est viam removere +STR_ERROR_ONEWAY_ROADS_CAN_T_HAVE_JUNCTION :{WHITE}... monodromis non licet compita habere +STR_ERROR_CAN_T_BUILD_ROAD_HERE :{WHITE}Non licet viam hic struere... +STR_ERROR_CAN_T_BUILD_TRAMWAY_HERE :{WHITE}Non licet ferriviam stratariam hic struere... +STR_ERROR_CAN_T_REMOVE_ROAD_FROM :{WHITE}Non licet viam removere hic... +STR_ERROR_CAN_T_REMOVE_TRAMWAY_FROM :{WHITE}Non licet ferriviam stratariam removere hic... +STR_ERROR_THERE_IS_NO_ROAD :{WHITE}... nullae adsunt viae +STR_ERROR_THERE_IS_NO_TRAMWAY :{WHITE}... nullae adsunt ferriviae stratariae + +# Waterway construction errors +STR_ERROR_CAN_T_BUILD_CANALS :{WHITE}Non licet canales hic struere... +STR_ERROR_CAN_T_BUILD_LOCKS :{WHITE}Non licet cataractas hic struere... +STR_ERROR_CAN_T_PLACE_RIVERS :{WHITE}Non licet fluvios hic ponere... +STR_ERROR_MUST_BE_BUILT_ON_WATER :{WHITE}... oportet supra mare situm esse +STR_ERROR_CAN_T_BUILD_ON_WATER :{WHITE}... non licet in aqua struere +STR_ERROR_CAN_T_BUILD_ON_SEA :{WHITE}... non licet in alto struere +STR_ERROR_CAN_T_BUILD_ON_CANAL :{WHITE}... non licet in canale struere +STR_ERROR_CAN_T_BUILD_ON_RIVER :{WHITE}... non licet in flucio struere +STR_ERROR_MUST_DEMOLISH_CANAL_FIRST :{WHITE}Necesse est canalem removere +STR_ERROR_CAN_T_BUILD_AQUEDUCT_HERE :{WHITE}Non licet aquae ductum hic struere... + +# Tree related errors +STR_ERROR_TREE_ALREADY_HERE :{WHITE}... arbor iam adest +STR_ERROR_TREE_WRONG_TERRAIN_FOR_TREE_TYPE :{WHITE}... terra non convenit huic arboris typo +STR_ERROR_CAN_T_PLANT_TREE_HERE :{WHITE}Non licet hic arbores serere... + +# Bridge related errors +STR_ERROR_CAN_T_BUILD_BRIDGE_HERE :{WHITE}Non licet pontem hic struere... +STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Necesse est pontem destruere +STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}Non licet initium et terminum in eodem loco esse +STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}Non sunt eadem altitudo capitibus pontis +STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}Pons nimis humilis est huic terrae +STR_ERROR_BRIDGE_TOO_HIGH_FOR_TERRAIN :{WHITE}Pons nimis altus est huic terrae +STR_ERROR_START_AND_END_MUST_BE_IN :{WHITE}Necesse est initium et terminum in linea esse +STR_ERROR_ENDS_OF_BRIDGE_MUST_BOTH :{WHITE}... fines pontis oportet ambos in terra esse +STR_ERROR_BRIDGE_TOO_LONG :{WHITE}... pons nimis longus +STR_ERROR_BRIDGE_THROUGH_MAP_BORDER :{WHITE}Pons extra tabulam finiatur + +# Tunnel related errors +STR_ERROR_CAN_T_BUILD_TUNNEL_HERE :{WHITE}Non licet cuniculus hic strui... +STR_ERROR_SITE_UNSUITABLE_FOR_TUNNEL :{WHITE}Situs non idoneus ad cuniculi portam +STR_ERROR_MUST_DEMOLISH_TUNNEL_FIRST :{WHITE}Necesse est cuniculum destruere +STR_ERROR_ANOTHER_TUNNEL_IN_THE_WAY :{WHITE}Alius cuniculus obstat +STR_ERROR_TUNNEL_THROUGH_MAP_BORDER :{WHITE}Cuniculus extra tabulam finiatur +STR_ERROR_UNABLE_TO_EXCAVATE_LAND :{WHITE}Non licet terram cuniculi finis plasmare +STR_ERROR_TUNNEL_TOO_LONG :{WHITE}... cuniculus nimis longus + +# Object related errors +STR_ERROR_TOO_MANY_OBJECTS :{WHITE}... nimis ornamenta adsunt +STR_ERROR_CAN_T_BUILD_OBJECT :{WHITE}Non licet ornamentum struere... +STR_ERROR_OBJECT_IN_THE_WAY :{WHITE}Ornamentum obstat +STR_ERROR_COMPANY_HEADQUARTERS_IN :{WHITE}... sedes societatis obstat +STR_ERROR_CAN_T_PURCHASE_THIS_LAND :{WHITE}Non licet hanc terram emere... +STR_ERROR_YOU_ALREADY_OWN_IT :{WHITE}... nam posessor iam es! + +# Group related errors +STR_ERROR_GROUP_CAN_T_CREATE :{WHITE}Non licet gregem creare... +STR_ERROR_GROUP_CAN_T_DELETE :{WHITE}Non licet gregem delere... +STR_ERROR_GROUP_CAN_T_RENAME :{WHITE}Non licet gregem renominare... +STR_ERROR_GROUP_CAN_T_SET_PARENT :{WHITE}Non licet gregem parentem eligere... +STR_ERROR_GROUP_CAN_T_REMOVE_ALL_VEHICLES :{WHITE}Non licet omnia vehicula e grege removere... +STR_ERROR_GROUP_CAN_T_ADD_VEHICLE :{WHITE}Non licet vehiculum huic gregi addere... +STR_ERROR_GROUP_CAN_T_ADD_SHARED_VEHICLE :{WHITE}Non licet vehicula communia gregi addere... + +# Generic vehicle errors +STR_ERROR_TRAIN_IN_THE_WAY :{WHITE}Tramen obstat +STR_ERROR_ROAD_VEHICLE_IN_THE_WAY :{WHITE}Vehiculum viarium obstat +STR_ERROR_SHIP_IN_THE_WAY :{WHITE}Navis obstat +STR_ERROR_AIRCRAFT_IN_THE_WAY :{WHITE}Aeroplanum obstat + +STR_ERROR_CAN_T_REFIT_TRAIN :{WHITE}Non licet tramen reficere... +STR_ERROR_CAN_T_REFIT_ROAD_VEHICLE :{WHITE}Non licet vehiculum reficere... +STR_ERROR_CAN_T_REFIT_SHIP :{WHITE}Non licet navem reficere... +STR_ERROR_CAN_T_REFIT_AIRCRAFT :{WHITE}Non licet aeroplanum reficere... + +STR_ERROR_CAN_T_RENAME_TRAIN :{WHITE}Non licet tramen nominare... +STR_ERROR_CAN_T_RENAME_ROAD_VEHICLE :{WHITE}Non licet vehiculum nominare... +STR_ERROR_CAN_T_RENAME_SHIP :{WHITE}Non licet navem nominare... +STR_ERROR_CAN_T_RENAME_AIRCRAFT :{WHITE}Non licet aeroplanum nominare... + +STR_ERROR_CAN_T_STOP_START_TRAIN :{WHITE}Non licet tramen sistere incohareve... +STR_ERROR_CAN_T_STOP_START_ROAD_VEHICLE :{WHITE}Non licet vehiculum viarium sistere incohareve... +STR_ERROR_CAN_T_STOP_START_SHIP :{WHITE}Non licet navem sistere incohareve... +STR_ERROR_CAN_T_STOP_START_AIRCRAFT :{WHITE}Non licet aeroplanum sistere incohareve... + +STR_ERROR_CAN_T_SEND_TRAIN_TO_DEPOT :{WHITE}Non licet mittere tramen ad receptaculum... +STR_ERROR_CAN_T_SEND_ROAD_VEHICLE_TO_DEPOT :{WHITE}Non licet mittere vehiculum ad receptaculum... +STR_ERROR_CAN_T_SEND_SHIP_TO_DEPOT :{WHITE}Non licet mittere navem d receptaculum... +STR_ERROR_CAN_T_SEND_AIRCRAFT_TO_HANGAR :{WHITE}Non licet mittere aeroplanum ad tugurium... + +STR_ERROR_CAN_T_BUY_TRAIN :{WHITE}Non licet emere vehiculum ferriviarium... +STR_ERROR_CAN_T_BUY_ROAD_VEHICLE :{WHITE}Non licet emere vehiculum viarium... +STR_ERROR_CAN_T_BUY_SHIP :{WHITE}Non licet emere navem... +STR_ERROR_CAN_T_BUY_AIRCRAFT :{WHITE}Non licet emere aeroplanum... + +STR_ERROR_CAN_T_RENAME_TRAIN_TYPE :{WHITE}Non licet renominare traminis typum... +STR_ERROR_CAN_T_RENAME_ROAD_VEHICLE_TYPE :{WHITE}Non licet renominare vehiculi viarii typum... +STR_ERROR_CAN_T_RENAME_SHIP_TYPE :{WHITE}Non licet renominare navis typum... +STR_ERROR_CAN_T_RENAME_AIRCRAFT_TYPE :{WHITE}Non licet renominare aeroplani typum.. + +STR_ERROR_CAN_T_SELL_TRAIN :{WHITE}Non licet vendere vehiculum ferriviarium... +STR_ERROR_CAN_T_SELL_ROAD_VEHICLE :{WHITE}Non licet vendere vehiculum viarium... +STR_ERROR_CAN_T_SELL_SHIP :{WHITE}Non licet vendere navem... +STR_ERROR_CAN_T_SELL_AIRCRAFT :{WHITE}Non licet vendere aeroplanum... + +STR_ERROR_RAIL_VEHICLE_NOT_AVAILABLE :{WHITE}Vehiculum non parabile est +STR_ERROR_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}Vehiculum non parabile est +STR_ERROR_SHIP_NOT_AVAILABLE :{WHITE}Navis non parabilis est +STR_ERROR_AIRCRAFT_NOT_AVAILABLE :{WHITE}Aeroplanum non parabile est + +STR_ERROR_TOO_MANY_VEHICLES_IN_GAME :{WHITE}Nimis vehicula adsunt in ludo +STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Non licet intervallum ministrationis mutare... + +STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... vehiculum est destructum! + +STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Nulla vehicula omnino parabilia erunt +STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Muta configurationem NewGRF tuam +STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Nulla vehicula adhuc parabilia sunt +STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}Incipe ludum post {DATE_SHORT} sive eligere idoneum NewGRF quod vehicula antiqua parat + +# Specific vehicle errors +STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}Non licet tramen impellere post signale... +STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}Non licet tramini cursum reflectere... +STR_ERROR_TRAIN_START_NO_POWER :Nulla potestas hamaxosticho est + +STR_ERROR_CAN_T_MAKE_ROAD_VEHICLE_TURN :{WHITE}Non licet vehiculo viario cursum reflectere... + +STR_ERROR_AIRCRAFT_IS_IN_FLIGHT :{WHITE}Aeroplanum adhuc volat + +# Order related errors +STR_ERROR_NO_MORE_SPACE_FOR_ORDERS :{WHITE}Non est spatium iussorum +STR_ERROR_TOO_MANY_ORDERS :{WHITE}Nimium iussa +STR_ERROR_CAN_T_INSERT_NEW_ORDER :{WHITE}Non licet novum iussum addere... +STR_ERROR_CAN_T_DELETE_THIS_ORDER :{WHITE}Non licet hoc iussum delere... +STR_ERROR_CAN_T_MODIFY_THIS_ORDER :{WHITE}Non licet hoc iussum mutare... +STR_ERROR_CAN_T_MOVE_THIS_ORDER :{WHITE}Non licet hoc iussum movere... +STR_ERROR_CAN_T_SKIP_ORDER :{WHITE}Non licet transilire iussum currens... +STR_ERROR_CAN_T_SKIP_TO_ORDER :{WHITE}Non licet salire ad iussum electum... +STR_ERROR_CAN_T_COPY_SHARE_ORDER :{WHITE}... vehiculum non potest ire ad omnes stationes +STR_ERROR_CAN_T_ADD_ORDER :{WHITE}... vehiculum non potest ire ad illam stationem +STR_ERROR_CAN_T_ADD_ORDER_SHARED :{WHITE}... vehiculum quod hoc iussum communicat non potest ire ad illam stationem + +STR_ERROR_CAN_T_SHARE_ORDER_LIST :{WHITE}Non licet iussa communicare... +STR_ERROR_CAN_T_STOP_SHARING_ORDER_LIST :{WHITE}Non licet desinere communicationem iussorum... +STR_ERROR_CAN_T_COPY_ORDER_LIST :{WHITE}Non licet iussa transcribere... +STR_ERROR_TOO_FAR_FROM_PREVIOUS_DESTINATION :{WHITE}... nimis procul a destinato priore +STR_ERROR_AIRCRAFT_NOT_ENOUGH_RANGE :{WHITE}... aeroplano non est satis distantia volatus + +# Timetable related errors +STR_ERROR_CAN_T_TIMETABLE_VEHICLE :{WHITE}Non licet vehiculo dare horarium... +STR_ERROR_TIMETABLE_ONLY_WAIT_AT_STATIONS :{WHITE}Vehicula modo in stationibus possunt manere +STR_ERROR_TIMETABLE_NOT_STOPPING_HERE :{WHITE}Vehiculum non consistit huic stationi + +# Sign related errors +STR_ERROR_TOO_MANY_SIGNS :{WHITE}... nimis signa adsunt +STR_ERROR_CAN_T_PLACE_SIGN_HERE :{WHITE}Non licet signum ponere... +STR_ERROR_CAN_T_CHANGE_SIGN_NAME :{WHITE}Non licet signum renominare... +STR_ERROR_CAN_T_DELETE_SIGN :{WHITE}Non licet signum delere... + +# Translatable comment for OpenTTD's desktop shortcut +STR_DESKTOP_SHORTCUT_COMMENT :Ludus computatralis simulatorius cuius fundamentum est Transport Tycoon Deluxe + +# Translatable descriptions in media/baseset/*.ob* files +STR_BASEGRAPHICS_DOS_DESCRIPTION :Graphica ex editione originale Transport Tycoon Deluxe DOS. +STR_BASEGRAPHICS_DOS_DE_DESCRIPTION :Graphica ex editione originale Transport Tycoon Deluxe DOS (Germanica). +STR_BASEGRAPHICS_WIN_DESCRIPTION :Graphica ex editione originale Transport Tycoon Deluxe Windows. +STR_BASESOUNDS_DOS_DESCRIPTION :Soni ex editione originale Transport Tycoon Deluxe DOS. +STR_BASESOUNDS_WIN_DESCRIPTION :Soni ex editione originale Transport Tycoon Deluxe Windows. +STR_BASESOUNDS_NONE_DESCRIPTION :Sarcina sonorum sine ullis sonis. +STR_BASEMUSIC_WIN_DESCRIPTION :Musica ex editione originale Transport Tycoon Deluxe Windows. +STR_BASEMUSIC_NONE_DESCRIPTION :Sarcina musicae sine ulla musica. + +##id 0x2000 +# Town building names +STR_TOWN_BUILDING_NAME_TALL_OFFICE_BLOCK_1 :Altum multizonium officinarum +STR_TOWN_BUILDING_NAME_OFFICE_BLOCK_1 :Multizonium officinarum +STR_TOWN_BUILDING_NAME_SMALL_BLOCK_OF_FLATS_1 :Parva Insula +STR_TOWN_BUILDING_NAME_CHURCH_1 :Ecclesia +STR_TOWN_BUILDING_NAME_LARGE_OFFICE_BLOCK_1 :Magnum multizonium officinarum +STR_TOWN_BUILDING_NAME_TOWN_HOUSES_1 :Domus urbanae +STR_TOWN_BUILDING_NAME_HOTEL_1 :Deversorium +STR_TOWN_BUILDING_NAME_STATUE_1 :Effigies +STR_TOWN_BUILDING_NAME_FOUNTAIN_1 :Fons +STR_TOWN_BUILDING_NAME_PARK_1 :Hortus +STR_TOWN_BUILDING_NAME_OFFICE_BLOCK_2 :Multizonium officinarum +STR_TOWN_BUILDING_NAME_SHOPS_AND_OFFICES_1 :Tabernae et officinae +STR_TOWN_BUILDING_NAME_MODERN_OFFICE_BUILDING_1 :Modernum multizonium officinarum +STR_TOWN_BUILDING_NAME_WAREHOUSE_1 :Horreum +STR_TOWN_BUILDING_NAME_OFFICE_BLOCK_3 :Multizonium officinarum +STR_TOWN_BUILDING_NAME_STADIUM_1 :Stadium +STR_TOWN_BUILDING_NAME_OLD_HOUSES_1 :Domus Antiquae +STR_TOWN_BUILDING_NAME_COTTAGES_1 :Domunculae +STR_TOWN_BUILDING_NAME_HOUSES_1 :Domus +STR_TOWN_BUILDING_NAME_FLATS_1 :Insula +STR_TOWN_BUILDING_NAME_TALL_OFFICE_BLOCK_2 :Altum multizonium officinarum +STR_TOWN_BUILDING_NAME_SHOPS_AND_OFFICES_2 :Tabernae et officinae +STR_TOWN_BUILDING_NAME_SHOPS_AND_OFFICES_3 :Tabernae et officinae +STR_TOWN_BUILDING_NAME_THEATER_1 :Theatrum +STR_TOWN_BUILDING_NAME_STADIUM_2 :Stadium +STR_TOWN_BUILDING_NAME_OFFICES_1 :Officinae +STR_TOWN_BUILDING_NAME_HOUSES_2 :Domus +STR_TOWN_BUILDING_NAME_CINEMA_1 :Cinemateum +STR_TOWN_BUILDING_NAME_SHOPPING_MALL_1 :Emporium +STR_TOWN_BUILDING_NAME_IGLOO_1 :Iglu +STR_TOWN_BUILDING_NAME_TEPEES_1 :Tipi +STR_TOWN_BUILDING_NAME_TEAPOT_HOUSE_1 :Domus Urceolaris +STR_TOWN_BUILDING_NAME_PIGGY_BANK_1 :Argentaria Porcellina + +##id 0x4800 +# industry names +STR_INDUSTRY_NAME_COAL_MINE :{G=f}Carbonifodina +STR_INDUSTRY_NAME_COAL_MINE.gen :{G=f}carbonifodinae +STR_INDUSTRY_NAME_COAL_MINE.acc :{G=f}Carbonifodinam +STR_INDUSTRY_NAME_COAL_MINE.abl :{G=f}Carbonifodina +STR_INDUSTRY_NAME_POWER_STATION :{G=f}Electrificina +STR_INDUSTRY_NAME_POWER_STATION.gen :{G=f}electrificinae +STR_INDUSTRY_NAME_POWER_STATION.acc :{G=f}Electrificinam +STR_INDUSTRY_NAME_POWER_STATION.abl :{G=f}Electrificina +STR_INDUSTRY_NAME_SAWMILL :{G=f}Serraria +STR_INDUSTRY_NAME_SAWMILL.gen :{G=f}serrariae +STR_INDUSTRY_NAME_SAWMILL.acc :{G=f}Serrariam +STR_INDUSTRY_NAME_SAWMILL.abl :{G=f}Serraria +STR_INDUSTRY_NAME_FOREST :{G=f}Silva +STR_INDUSTRY_NAME_FOREST.gen :{G=f}silvae +STR_INDUSTRY_NAME_FOREST.acc :{G=f}Silvam +STR_INDUSTRY_NAME_FOREST.abl :{G=f}Silva +STR_INDUSTRY_NAME_OIL_REFINERY :{G=n}Ergasterium Petrolearium +STR_INDUSTRY_NAME_OIL_REFINERY.gen :{G=n}ergasterii petrolearii +STR_INDUSTRY_NAME_OIL_REFINERY.acc :{G=n}Ergasterium Petrolearium +STR_INDUSTRY_NAME_OIL_REFINERY.abl :{G=n}Ergasterio Petroleario +STR_INDUSTRY_NAME_OIL_RIG :{G=m}Suggestus Petrolearius +STR_INDUSTRY_NAME_OIL_RIG.gen :{G=m}suggestus petrolearii +STR_INDUSTRY_NAME_OIL_RIG.acc :{G=m}Suggestum Petrolearium +STR_INDUSTRY_NAME_OIL_RIG.abl :{G=m}Suggestu Petroleario +STR_INDUSTRY_NAME_FACTORY :{G=f}Fabrica +STR_INDUSTRY_NAME_FACTORY.gen :{G=f}fabricae +STR_INDUSTRY_NAME_FACTORY.acc :{G=f}Fabricam +STR_INDUSTRY_NAME_FACTORY.abl :{G=f}Fabrica +STR_INDUSTRY_NAME_PRINTING_WORKS :{G=n}Impressorium +STR_INDUSTRY_NAME_PRINTING_WORKS.gen :{G=n}impressorii +STR_INDUSTRY_NAME_PRINTING_WORKS.acc :{G=n}Impressorium +STR_INDUSTRY_NAME_PRINTING_WORKS.abl :{G=n}Impressorio +STR_INDUSTRY_NAME_STEEL_MILL :{G=f}Fabrica Chalybeia +STR_INDUSTRY_NAME_STEEL_MILL.gen :{G=f}fabricae chalybeiae +STR_INDUSTRY_NAME_STEEL_MILL.acc :{G=f}Fabricam Chalybeiam +STR_INDUSTRY_NAME_STEEL_MILL.abl :{G=f}Fabrica Chalybeia +STR_INDUSTRY_NAME_FARM :{G=m}Fundus +STR_INDUSTRY_NAME_FARM.gen :{G=m}fundi +STR_INDUSTRY_NAME_FARM.acc :{G=m}Fundum +STR_INDUSTRY_NAME_FARM.abl :{G=m}Fundo +STR_INDUSTRY_NAME_COPPER_ORE_MINE :{G=f}Aerifodina +STR_INDUSTRY_NAME_COPPER_ORE_MINE.gen :{G=f}aerifodinae +STR_INDUSTRY_NAME_COPPER_ORE_MINE.acc :{G=f}Aerifodinam +STR_INDUSTRY_NAME_COPPER_ORE_MINE.abl :{G=f}Aerifodina +STR_INDUSTRY_NAME_OIL_WELLS :{G=mp}Putei Petrolearii +STR_INDUSTRY_NAME_OIL_WELLS.gen :{G=mp}puteorum petroleariorum +STR_INDUSTRY_NAME_OIL_WELLS.acc :{G=mp}Puteos Petrolearios +STR_INDUSTRY_NAME_OIL_WELLS.abl :{G=mp}Puteis Petroleariis +STR_INDUSTRY_NAME_BANK :{G=f}Argentaria +STR_INDUSTRY_NAME_BANK.gen :{G=f}argentariae +STR_INDUSTRY_NAME_BANK.acc :{G=f}Argentariam +STR_INDUSTRY_NAME_BANK.abl :{G=f}Argentaria +STR_INDUSTRY_NAME_FOOD_PROCESSING_PLANT :{G=f}Fabrica Cibaria +STR_INDUSTRY_NAME_FOOD_PROCESSING_PLANT.gen :{G=f}fabricae cibariae +STR_INDUSTRY_NAME_FOOD_PROCESSING_PLANT.acc :{G=f}Fabricam Cibariam +STR_INDUSTRY_NAME_FOOD_PROCESSING_PLANT.abl :{G=f}Fabrica Cibaria +STR_INDUSTRY_NAME_PAPER_MILL :{G=f}Fabrica Chartaria +STR_INDUSTRY_NAME_PAPER_MILL.gen :{G=f}fabricae chartariae +STR_INDUSTRY_NAME_PAPER_MILL.acc :{G=f}Fabricam Chartariam +STR_INDUSTRY_NAME_PAPER_MILL.abl :{G=f}Fabrica Chartaria +STR_INDUSTRY_NAME_GOLD_MINE :{G=f}Aurifodina +STR_INDUSTRY_NAME_GOLD_MINE.gen :{G=f}aurifodinae +STR_INDUSTRY_NAME_GOLD_MINE.acc :{G=f}Aurifodinam +STR_INDUSTRY_NAME_GOLD_MINE.abl :{G=f}Aurifodina +STR_INDUSTRY_NAME_BANK_TROPIC_ARCTIC :{G=f}Argentaria +STR_INDUSTRY_NAME_BANK_TROPIC_ARCTIC.gen :{G=f}argentariae +STR_INDUSTRY_NAME_BANK_TROPIC_ARCTIC.acc :{G=f}Argentariam +STR_INDUSTRY_NAME_BANK_TROPIC_ARCTIC.abl :{G=f}Argentaria +STR_INDUSTRY_NAME_DIAMOND_MINE :{G=f}Adamantifodina +STR_INDUSTRY_NAME_DIAMOND_MINE.gen :{G=f}adamantifodinae +STR_INDUSTRY_NAME_DIAMOND_MINE.acc :{G=f}Adamantifodinam +STR_INDUSTRY_NAME_DIAMOND_MINE.abl :{G=f}Adamantifodina +STR_INDUSTRY_NAME_IRON_ORE_MINE :{G=f}Ferrifodina +STR_INDUSTRY_NAME_IRON_ORE_MINE.gen :{G=f}ferrifodinae +STR_INDUSTRY_NAME_IRON_ORE_MINE.acc :{G=f}Ferrifodinam +STR_INDUSTRY_NAME_IRON_ORE_MINE.abl :{G=f}Ferrifodina +STR_INDUSTRY_NAME_FRUIT_PLANTATION :{G=n}Arbustum Fructuarium +STR_INDUSTRY_NAME_FRUIT_PLANTATION.gen :{G=n}arbusti fructuarii +STR_INDUSTRY_NAME_FRUIT_PLANTATION.acc :{G=n}Arbustum Fructuarium +STR_INDUSTRY_NAME_FRUIT_PLANTATION.abl :{G=n}Arbusto Fructuario +STR_INDUSTRY_NAME_RUBBER_PLANTATION :{G=n}Arbustum Gummosum +STR_INDUSTRY_NAME_RUBBER_PLANTATION.gen :{G=n}arbusti gummosi +STR_INDUSTRY_NAME_RUBBER_PLANTATION.acc :{G=n}Arbustum Gummosum +STR_INDUSTRY_NAME_RUBBER_PLANTATION.abl :{G=n}Arbusto Gummoso +STR_INDUSTRY_NAME_WATER_SUPPLY :{G=m}Fons Aquae +STR_INDUSTRY_NAME_WATER_SUPPLY.gen :{G=m}fontis aquae +STR_INDUSTRY_NAME_WATER_SUPPLY.acc :{G=m}Fontem Aquae +STR_INDUSTRY_NAME_WATER_SUPPLY.abl :{G=m}Fonte Aquae +STR_INDUSTRY_NAME_WATER_TOWER :{G=f}Turris Aquaria +STR_INDUSTRY_NAME_WATER_TOWER.gen :{G=f}turris aquariae +STR_INDUSTRY_NAME_WATER_TOWER.acc :{G=f}Turrim Aquariam +STR_INDUSTRY_NAME_WATER_TOWER.abl :{G=f}Turri Aquaria +STR_INDUSTRY_NAME_FACTORY_2 :{G=f}Fabrica +STR_INDUSTRY_NAME_FACTORY_2.gen :{G=f}fabricae +STR_INDUSTRY_NAME_FACTORY_2.acc :{G=f}Fabricam +STR_INDUSTRY_NAME_FACTORY_2.abl :{G=f}Fabrica +STR_INDUSTRY_NAME_FARM_2 :{G=m}Fundus +STR_INDUSTRY_NAME_FARM_2.gen :{G=m}fundi +STR_INDUSTRY_NAME_FARM_2.acc :{G=m}Fundum +STR_INDUSTRY_NAME_FARM_2.abl :{G=m}Fundo +STR_INDUSTRY_NAME_LUMBER_MILL :{G=np}Castra Lignatorum +STR_INDUSTRY_NAME_LUMBER_MILL.gen :{G=np}castrorum lignatorum +STR_INDUSTRY_NAME_LUMBER_MILL.acc :{G=np}Castra Lignatorum +STR_INDUSTRY_NAME_LUMBER_MILL.abl :{G=np}Castris Lignatorum +STR_INDUSTRY_NAME_COTTON_CANDY_FOREST :{G=f}Silva Saccari Xylini +STR_INDUSTRY_NAME_COTTON_CANDY_FOREST.gen :{G=f}silvae saccari xylini +STR_INDUSTRY_NAME_COTTON_CANDY_FOREST.acc :{G=f}Silvam Saccari Xylini +STR_INDUSTRY_NAME_COTTON_CANDY_FOREST.abl :{G=f}Silva Saccari Xylini +STR_INDUSTRY_NAME_CANDY_FACTORY :{G=f}Fabrica Bellarica +STR_INDUSTRY_NAME_CANDY_FACTORY.gen :{G=f}fabricae bellaricae +STR_INDUSTRY_NAME_CANDY_FACTORY.acc :{G=f}Fabricam Bellaricam +STR_INDUSTRY_NAME_CANDY_FACTORY.abl :{G=f}Fabrica Bellarica +STR_INDUSTRY_NAME_BATTERY_FARM :{G=m}Fundus Pilarum Electricarum +STR_INDUSTRY_NAME_BATTERY_FARM.gen :{G=m}fundi pilarum electricarum +STR_INDUSTRY_NAME_BATTERY_FARM.acc :{G=m}Fundum Pilarum Electricarum +STR_INDUSTRY_NAME_BATTERY_FARM.abl :{G=m}Fundo Pilarum Electricarum +STR_INDUSTRY_NAME_COLA_WELLS :{G=mp}Putei Colae +STR_INDUSTRY_NAME_COLA_WELLS.gen :{G=mp}puteorum colae +STR_INDUSTRY_NAME_COLA_WELLS.acc :{G=mp}Puteos Colae +STR_INDUSTRY_NAME_COLA_WELLS.abl :{G=mp}Puteis Colae +STR_INDUSTRY_NAME_TOY_SHOP :{G=f}Taberna Ludicrorum +STR_INDUSTRY_NAME_TOY_SHOP.gen :{G=f}tabernae ludicrorum +STR_INDUSTRY_NAME_TOY_SHOP.acc :{G=f}Tabernam Ludicrorum +STR_INDUSTRY_NAME_TOY_SHOP.abl :{G=f}Taberna Ludicrorum +STR_INDUSTRY_NAME_TOY_FACTORY :{G=f}Fabrica Ludicrorum +STR_INDUSTRY_NAME_TOY_FACTORY.gen :{G=f}fabricae ludicrorum +STR_INDUSTRY_NAME_TOY_FACTORY.acc :{G=f}Fabricam Ludicrorum +STR_INDUSTRY_NAME_TOY_FACTORY.abl :{G=f}Fabrica Ludicrorum +STR_INDUSTRY_NAME_PLASTIC_FOUNTAINS :{G=mp}Fontes Plasticae +STR_INDUSTRY_NAME_PLASTIC_FOUNTAINS.gen :{G=mp}fontium plasticae +STR_INDUSTRY_NAME_PLASTIC_FOUNTAINS.acc :{G=mp}Fontes Plasticae +STR_INDUSTRY_NAME_PLASTIC_FOUNTAINS.abl :{G=mp}Fontibus Plasticae +STR_INDUSTRY_NAME_FIZZY_DRINK_FACTORY :{G=f}Fabrica Potionum Carbonatarum +STR_INDUSTRY_NAME_FIZZY_DRINK_FACTORY.gen :{G=f}fabricae potionum carbonatarum +STR_INDUSTRY_NAME_FIZZY_DRINK_FACTORY.acc :{G=f}Fabricam Potionum Carbonatarum +STR_INDUSTRY_NAME_FIZZY_DRINK_FACTORY.abl :{G=f}Fabrica Potionum Carbonatarum +STR_INDUSTRY_NAME_BUBBLE_GENERATOR :{G=n}Generatrum Bullarum +STR_INDUSTRY_NAME_BUBBLE_GENERATOR.gen :{G=n}generatri bullarum +STR_INDUSTRY_NAME_BUBBLE_GENERATOR.acc :{G=n}Generatrum Bullarum +STR_INDUSTRY_NAME_BUBBLE_GENERATOR.abl :{G=n}Generatro Bullarum +STR_INDUSTRY_NAME_TOFFEE_QUARRY :{G=fp}Lapicidinae Sacchari Tosti +STR_INDUSTRY_NAME_TOFFEE_QUARRY.gen :{G=fp}lapicidinarum sacchari tosti +STR_INDUSTRY_NAME_TOFFEE_QUARRY.acc :{G=fp}Lapicidinas Sacchari Tosti +STR_INDUSTRY_NAME_TOFFEE_QUARRY.abl :{G=fp}Lapicidinis Sacchari Tosti +STR_INDUSTRY_NAME_SUGAR_MINE :{G=f}Saccharifodina +STR_INDUSTRY_NAME_SUGAR_MINE.gen :{G=f}saccharifodinae +STR_INDUSTRY_NAME_SUGAR_MINE.acc :{G=f}Saccharifodinam +STR_INDUSTRY_NAME_SUGAR_MINE.abl :{G=f}Saccharifodina + +############ WARNING, using range 0x6000 for strings that are stored in the savegame +############ These strings may never get a new id, or savegames will break! +##id 0x6000 +STR_SV_EMPTY : +STR_SV_UNNAMED :Sine Nomine +STR_SV_TRAIN_NAME :Tramen {COMMA} +STR_SV_ROAD_VEHICLE_NAME :Vehiculum Viarium {COMMA} +STR_SV_SHIP_NAME :Navis {COMMA} +STR_SV_AIRCRAFT_NAME :Aeroplanum {COMMA} + +STR_SV_STNAME :{STRING} +STR_SV_STNAME_NORTH :{STRING} Borealis +STR_SV_STNAME_SOUTH :{STRING} Australis +STR_SV_STNAME_EAST :{STRING} Orientalis +STR_SV_STNAME_WEST :{STRING} Occidentalis +STR_SV_STNAME_CENTRAL :{STRING} Centralis +STR_SV_STNAME_TRANSFER :{STRING} Translatio +STR_SV_STNAME_HALT :{STRING} Mansio +STR_SV_STNAME_VALLEY :{STRING} Valles +STR_SV_STNAME_HEIGHTS :{STRING} Alta +STR_SV_STNAME_WOODS :{STRING} Nemus +STR_SV_STNAME_LAKESIDE :{STRING} Acta +STR_SV_STNAME_EXCHANGE :{STRING} Cambio +STR_SV_STNAME_AIRPORT :{STRING} Aeroportus +STR_SV_STNAME_OILFIELD :{STRING} Oilfield +STR_SV_STNAME_MINES :{STRING} Fodinae +STR_SV_STNAME_DOCKS :{STRING} Navalia +STR_SV_STNAME_BUOY :{STRING} +STR_SV_STNAME_WAYPOINT :{STRING} +##id 0x6020 +STR_SV_STNAME_ANNEXE :{STRING} Annexa +STR_SV_STNAME_SIDINGS :{STRING} Deverticulum +STR_SV_STNAME_BRANCH :{STRING} Ramus +STR_SV_STNAME_UPPER :{STRING} Supera +STR_SV_STNAME_LOWER :{STRING} Infera +STR_SV_STNAME_HELIPORT :{STRING} Heliportus +STR_SV_STNAME_FOREST :{STRING} Silva +STR_SV_STNAME_FALLBACK :{STRING} Statio #{NUM} +############ end of savegame specific region! + +##id 0x8000 +# Vehicle names +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_KIRBY_PAUL_TANK_STEAM :Kirby Paul Tank (Vaporaria) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_MJS_250_DIESEL :MJS 250 (Diseliana) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_PLODDYPHUT_CHOO_CHOO :Ploddyphut Choo-Choo +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_POWERNAUT_CHOO_CHOO :Powernaut Choo-Choo +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_MIGHTYMOVER_CHOO_CHOO :MightyMover Choo-Choo +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_PLODDYPHUT_DIESEL :Diseliana Ploddyphut +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_POWERNAUT_DIESEL :Diseliana Powernaut +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_WILLS_2_8_0_STEAM :Wills 2-8-0 (Vaporaria) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_CHANEY_JUBILEE_STEAM :Chaney 'Jubilee' (Vaporaria) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_GINZU_A4_STEAM :Ginzu 'A4' (Vaporaria) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_8P_STEAM :SH '8P' (Vaporaria) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_MANLEY_MOREL_DMU_DIESEL :Manley-Morel DMU (Diseliana) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_DASH_DIESEL :'Dash' (Diseliana) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_HENDRY_25_DIESEL :SH/Hendry '25' (Diseliana) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_UU_37_DIESEL :UU '37' (Diseliana) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_FLOSS_47_DIESEL :Floss '47' (Diseliana) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_CS_4000_DIESEL :CS 4000 (Diseliana) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_CS_2400_DIESEL :CS 2400 (Diseliana) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_CENTENNIAL_DIESEL :Centennial (Diseliana) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_KELLING_3100_DIESEL :Kelling 3100 (Diseliana) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_TURNER_TURBO_DIESEL :Turner Turbo (Diseliana) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_MJS_1000_DIESEL :MJS 1000 (Diseliana) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_125_DIESEL :SH '125' (Diseliana) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_30_ELECTRIC :SH '30' (Electrica) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_40_ELECTRIC :SH '40' (Electrica) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_T_I_M_ELECTRIC :'T.I.M.' (Electrica) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_ASIASTAR_ELECTRIC :'AsiaStar' (Electrica) +STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_PASSENGER_CAR :Currus Vectoralis +STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_MAIL_VAN :Currus Cursualis +STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_COAL_CAR :Plaustrum Carbonarium +STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_OIL_TANKER :Cisterna Petrolearia +STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_LIVESTOCK_VAN :Currus Pecuarius +STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_GOODS_VAN :Currus Mercium +STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_GRAIN_HOPPER :Plaustrum Triticium +STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_WOOD_TRUCK :Currus Ligni +STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_IRON_ORE_HOPPER :Plaustrum Ferrarium +STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_STEEL_TRUCK :Currus Chalybeius +STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_ARMORED_VAN :Currus Cataphractus +STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_FOOD_VAN :Currus Cibarius +STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_PAPER_TRUCK :Currus Chartarius +STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_COPPER_ORE_HOPPER :Plaustrum Aerarium +STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_WATER_TANKER :Cisterna Aquaria +STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_FRUIT_TRUCK :Plaustrum Fructus +STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_RUBBER_TRUCK :Plaustrum Gummis +STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_SUGAR_TRUCK :Plaustrum Sacchari +STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_COTTON_CANDY_HOPPER :Plaustrum Sacchari Xylini +STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_TOFFEE_HOPPER :Plaustrum Sacchari Tosti +STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_BUBBLE_VAN :Currus Bullarum +STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_COLA_TANKER :Cisterna Colae +STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_CANDY_VAN :Currus Bellaricus +STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_TOY_VAN :Currus Ludicralis +STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_BATTERY_TRUCK :Currus Pilarum Electricarum +STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_FIZZY_DRINK_TRUCK :Currus Potionum Carbonatarum +STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_PLASTIC_TRUCK :Currus Plasticarius +STR_VEHICLE_NAME_TRAIN_ENGINE_MONORAIL_X2001_ELECTRIC :'X2001' (Electrica) +STR_VEHICLE_NAME_TRAIN_ENGINE_MONORAIL_MILLENNIUM_Z1_ELECTRIC :'Millennium Z1' (Electrica) +STR_VEHICLE_NAME_TRAIN_ENGINE_MONORAIL_WIZZOWOW_Z99 :Wizzowow Z99 +STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_PASSENGER_CAR :Currus Vectoralis +STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_MAIL_VAN :Currus Cursualis +STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_COAL_CAR :Plaustrum Carbonarium +STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_OIL_TANKER :Cisterna Petrolearia +STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_LIVESTOCK_VAN :Currus Pecuarius +STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_GOODS_VAN :Currus Mercium +STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_GRAIN_HOPPER :Plaustrum Triticium +STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_WOOD_TRUCK :Currus Ligni +STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_IRON_ORE_HOPPER :Plaustrum Ferrarium +STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_STEEL_TRUCK :Currus Chalybeius +STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_ARMORED_VAN :Currus Cataphractus +STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_FOOD_VAN :Currus Cibarius +STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_PAPER_TRUCK :Currus Chartarius +STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_COPPER_ORE_HOPPER :Plaustrum Aerarium +STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_WATER_TANKER :Cisterna Aquaria +STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_FRUIT_TRUCK :Plaustrum Fructus +STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_RUBBER_TRUCK :Plaustrum Gummis +STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_SUGAR_TRUCK :Plaustrum Sacchari +STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_COTTON_CANDY_HOPPER :Plaustrum Sacchari Xylini +STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_TOFFEE_HOPPER :Plaustrum Sacchari Tosti +STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_BUBBLE_VAN :Currus Bullarum +STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_COLA_TANKER :Cisterna Colae +STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_CANDY_VAN :Currus Bellaricus +STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_TOY_VAN :Currus Ludicralis +STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_BATTERY_TRUCK :Currus Pilarum Electricarum +STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_FIZZY_DRINK_TRUCK :Currus Potionum Carbonatarum +STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_PLASTIC_TRUCK :Currus Plasticarius +STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV1_LEVIATHAN_ELECTRIC :Lev1 'Leviathan' (Electrica) +STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV2_CYCLOPS_ELECTRIC :Lev2 'Cyclops' (Electrica) +STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV3_PEGASUS_ELECTRIC :Lev3 'Pegasus' (Electrica) +STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV4_CHIMAERA_ELECTRIC :Lev4 'Chimaera' (Electrica) +STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_WIZZOWOW_ROCKETEER :Wizzowow Rocketeer +STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_PASSENGER_CAR :Currus Vectoralis +STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_MAIL_VAN :Currus Cursualis +STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_COAL_CAR :Plaustrum Carbonarium +STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_OIL_TANKER :Cisterna Petrolearia +STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_LIVESTOCK_VAN :Currus Pecuarius +STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_GOODS_VAN :Currus Mercium +STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_GRAIN_HOPPER :Plaustrum Triticium +STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_WOOD_TRUCK :Currus Ligni +STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_IRON_ORE_HOPPER :Plaustrum Ferrarium +STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_STEEL_TRUCK :Currus Chalybeius +STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_ARMORED_VAN :Currus Cataphractus +STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_FOOD_VAN :Currus Cibarius +STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_PAPER_TRUCK :Currus Chartarius +STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_COPPER_ORE_HOPPER :Plaustrum Aerarium +STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_WATER_TANKER :Cisterna Aquaria +STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_FRUIT_TRUCK :Plaustrum Fructus +STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_RUBBER_TRUCK :Plaustrum Gummis +STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_SUGAR_TRUCK :Plaustrum Sacchari +STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_COTTON_CANDY_HOPPER :Plaustrum Sacchari Xylini +STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_TOFFEE_HOPPER :Plaustrum Sacchari Tosti +STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_BUBBLE_VAN :Currus Bullarum +STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_COLA_TANKER :Cisterna Colae +STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_CANDY_VAN :Currus Bellaricus +STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_TOY_VAN :Currus Ludicralis +STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_BATTERY_TRUCK :Currus Pilarum Electricarum +STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_FIZZY_DRINK_TRUCK :Currus Potionum Carbonatarum +STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_PLASTIC_TRUCK :Currus Plasticarius +STR_VEHICLE_NAME_ROAD_VEHICLE_MPS_REGAL_BUS :Laophorium MPS Regal +STR_VEHICLE_NAME_ROAD_VEHICLE_HEREFORD_LEOPARD_BUS :Laophorium Hereford Leopard +STR_VEHICLE_NAME_ROAD_VEHICLE_FOSTER_BUS :Laophorium Foster +STR_VEHICLE_NAME_ROAD_VEHICLE_FOSTER_MKII_SUPERBUS :Superlaophorium Foster MkII +STR_VEHICLE_NAME_ROAD_VEHICLE_PLODDYPHUT_MKI_BUS :Laophorium Ploddyphut MkI +STR_VEHICLE_NAME_ROAD_VEHICLE_PLODDYPHUT_MKII_BUS :Laophorium Ploddyphut MkII +STR_VEHICLE_NAME_ROAD_VEHICLE_PLODDYPHUT_MKIII_BUS :Laophorium Ploddyphut MkIII +STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_COAL_TRUCK :Autoplaustrum Carbonarium Balogh +STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_COAL_TRUCK :Autoplaustrum Carbonarium Uhl +STR_VEHICLE_NAME_ROAD_VEHICLE_DW_COAL_TRUCK :Autoplaustrum Carbonarium DW +STR_VEHICLE_NAME_ROAD_VEHICLE_MPS_MAIL_TRUCK :Autoplaustrum Cursuale MPS +STR_VEHICLE_NAME_ROAD_VEHICLE_REYNARD_MAIL_TRUCK :Autoplaustrum Cursuale Reynard +STR_VEHICLE_NAME_ROAD_VEHICLE_PERRY_MAIL_TRUCK :Autoplaustrum Cursuale Perry +STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_MAIL_TRUCK :Autoplaustrum Cursuale MightyMover +STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_MAIL_TRUCK :Autoplaustrum Cursuale Powernaught +STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_MAIL_TRUCK :Autoplaustrum Cursuale Wizzowow +STR_VEHICLE_NAME_ROAD_VEHICLE_WITCOMBE_OIL_TANKER :Autoplaustrum Petrolearium Witcombe +STR_VEHICLE_NAME_ROAD_VEHICLE_FOSTER_OIL_TANKER :Autoplaustrum Petrolearium Foster +STR_VEHICLE_NAME_ROAD_VEHICLE_PERRY_OIL_TANKER :Autoplaustrum Petrolearium Perry +STR_VEHICLE_NAME_ROAD_VEHICLE_TALBOTT_LIVESTOCK_VAN :Autoplaustrum PecuariumTalbott +STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_LIVESTOCK_VAN :Autoplaustrum Pecuarium Uhl +STR_VEHICLE_NAME_ROAD_VEHICLE_FOSTER_LIVESTOCK_VAN :Autoplaustrum Pecuarium Foster +STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_GOODS_TRUCK :Autoplaustrum Mercium Balogh +STR_VEHICLE_NAME_ROAD_VEHICLE_CRAIGHEAD_GOODS_TRUCK :Autoplaustrum Mercium Craighead +STR_VEHICLE_NAME_ROAD_VEHICLE_GOSS_GOODS_TRUCK :Autoplaustrum Mercium Goss +STR_VEHICLE_NAME_ROAD_VEHICLE_HEREFORD_GRAIN_TRUCK :Autoplaustrum Triticium Hereford +STR_VEHICLE_NAME_ROAD_VEHICLE_THOMAS_GRAIN_TRUCK :Autoplaustrum Triticium Thomas +STR_VEHICLE_NAME_ROAD_VEHICLE_GOSS_GRAIN_TRUCK :Autoplaustrum Triticium Goss +STR_VEHICLE_NAME_ROAD_VEHICLE_WITCOMBE_WOOD_TRUCK :Autoplaustrum Caudicale Witcombe +STR_VEHICLE_NAME_ROAD_VEHICLE_FOSTER_WOOD_TRUCK :Autoplaustrum Caudicale Foster +STR_VEHICLE_NAME_ROAD_VEHICLE_MORELAND_WOOD_TRUCK :Autoplaustrum Caudicale Moreland +STR_VEHICLE_NAME_ROAD_VEHICLE_MPS_IRON_ORE_TRUCK :Autoplaustrum Ferrarium MPS +STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_IRON_ORE_TRUCK :Autoplaustrum Ferrarium Uhl +STR_VEHICLE_NAME_ROAD_VEHICLE_CHIPPY_IRON_ORE_TRUCK :Autoplaustrum Ferrarium Chippy +STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_STEEL_TRUCK :Autoplaustrum Chalybeium Balogh +STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_STEEL_TRUCK :Autoplaustrum Chalybeium Uhl +STR_VEHICLE_NAME_ROAD_VEHICLE_KELLING_STEEL_TRUCK :Autoplaustrum Chalybeium Kelling +STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_ARMORED_TRUCK :Autoplaustrum Cataphractum Balogh +STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_ARMORED_TRUCK :Autoplaustrum Cataphractum Uhl +STR_VEHICLE_NAME_ROAD_VEHICLE_FOSTER_ARMORED_TRUCK :Autoplaustrum Cataphractum Foster +STR_VEHICLE_NAME_ROAD_VEHICLE_FOSTER_FOOD_VAN :Autoplaustrum Cibarium Foster +STR_VEHICLE_NAME_ROAD_VEHICLE_PERRY_FOOD_VAN :Autoplaustrum Cibarium Perry +STR_VEHICLE_NAME_ROAD_VEHICLE_CHIPPY_FOOD_VAN :Autoplaustrum Cibarium Chippy +STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_PAPER_TRUCK :Autoplaustrum Chartarium Uhl +STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_PAPER_TRUCK :Autoplaustrum Chartarium Balogh +STR_VEHICLE_NAME_ROAD_VEHICLE_MPS_PAPER_TRUCK :Autoplaustrum Chartarium MPS +STR_VEHICLE_NAME_ROAD_VEHICLE_MPS_COPPER_ORE_TRUCK :Autoplaustrum Aerarium MPS +STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_COPPER_ORE_TRUCK :Autoplaustrum Aerarium Uhl +STR_VEHICLE_NAME_ROAD_VEHICLE_GOSS_COPPER_ORE_TRUCK :Autoplaustrum Aerarium Goss +STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_WATER_TANKER :Autoplaustrum Aquarium Uhl +STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_WATER_TANKER :Autoplaustrum Aquarium Balogh +STR_VEHICLE_NAME_ROAD_VEHICLE_MPS_WATER_TANKER :Autoplaustrum Aquarium MPS +STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_FRUIT_TRUCK :Autoplaustrum Fructus Balogh +STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_FRUIT_TRUCK :Autoplaustrum Fructus Uhl +STR_VEHICLE_NAME_ROAD_VEHICLE_KELLING_FRUIT_TRUCK :Autoplaustrum Fructus Kelling +STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_RUBBER_TRUCK :Autoplaustrum Gummis Balogh +STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_RUBBER_TRUCK :Autoplaustrum Gummis Uhl +STR_VEHICLE_NAME_ROAD_VEHICLE_RMT_RUBBER_TRUCK :Autoplaustrum Gummis RMT +STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_SUGAR_TRUCK :Autoplaustrum Sacchari MightyMover +STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_SUGAR_TRUCK :Autoplaustrum Sacchari Powernaught +STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_SUGAR_TRUCK :Autoplaustrum Sacchari Wizzowow +STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_COLA_TRUCK :Autoplaustrum Colae MightyMover +STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_COLA_TRUCK :Autoplaustrum Colae Powernaught +STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_COLA_TRUCK :Autoplaustrum Colae Wizzowow +STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_COTTON_CANDY :Autoplaustrum Sacchari Xylini MightyMover +STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_COTTON_CANDY :Autoplaustrum Sacchari Xylini Powernaught +STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_COTTON_CANDY_TRUCK :Autoplaustrum Sacchari Xylini Wizzowow +STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_TOFFEE_TRUCK :Autoplaustrum Sacchari Tosti MightyMover +STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_TOFFEE_TRUCK :Autoplaustrum Sacchari Tosti Powernaught +STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_TOFFEE_TRUCK :Autoplaustrum Sacchari Tosti Wizzowow +STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_TOY_VAN :Autoplaustrum Ludicrale MightyMover +STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_TOY_VAN :Autoplaustrum Ludicrale Powernaught +STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_TOY_VAN :Autoplaustrum Ludicrale Wizzowow +STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_CANDY_TRUCK :Autoplaustrum Bellaricum MightyMover +STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_CANDY_TRUCK :Autoplaustrum Bellaricum Powernaught +STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_CANDY_TRUCK :Autoplaustrum Bellaricum Wizzowow +STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_BATTERY_TRUCK :Autoplaustrum Pilarum Electricarum MightyMover +STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_BATTERY_TRUCK :Autoplaustrum Pilarum Electricarum Powernaught +STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_BATTERY_TRUCK :Autoplaustrum Pilarum Electricarum Wizzowow +STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_FIZZY_DRINK :Autoplaustrum Potionum Carbonatarum MightyMover +STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_FIZZY_DRINK :Autoplaustrum Potionum Carbonatarum Powernaught +STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_FIZZY_DRINK_TRUCK :Autoplaustrum Potionum Carbonatarum Wizzowow +STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_PLASTIC_TRUCK :Autoplaustrum Plasticarium MightyMover +STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_PLASTIC_TRUCK :Autoplaustrum Plasticarium Powernaught +STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_PLASTIC_TRUCK :Autoplaustrum Plasticarium Wizzowow +STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_BUBBLE_TRUCK :Autoplaustrum Bullarum MightyMover +STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_BUBBLE_TRUCK :Autoplaustrum Bullarum Powernaught +STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_BUBBLE_TRUCK :Autoplaustrum Bullarum Wizzowow +STR_VEHICLE_NAME_SHIP_MPS_OIL_TANKER :Navis Petrolearia MPS +STR_VEHICLE_NAME_SHIP_CS_INC_OIL_TANKER :Navis Petrolearia CS-Inc. +STR_VEHICLE_NAME_SHIP_MPS_PASSENGER_FERRY :Navis Vectoria MPS +STR_VEHICLE_NAME_SHIP_FFP_PASSENGER_FERRY :Navis Vectoria FFP +STR_VEHICLE_NAME_SHIP_BAKEWELL_300_HOVERCRAFT :Aeroscapha Bakewell 300 +STR_VEHICLE_NAME_SHIP_CHUGGER_CHUG_PASSENGER :Navis Vectoria Chugger-Chug +STR_VEHICLE_NAME_SHIP_SHIVERSHAKE_PASSENGER_FERRY :Navis Vectoria Shivershake +STR_VEHICLE_NAME_SHIP_YATE_CARGO_SHIP :Navis Oneraria Yate +STR_VEHICLE_NAME_SHIP_BAKEWELL_CARGO_SHIP :Navis Oneraria Bakewell +STR_VEHICLE_NAME_SHIP_MIGHTYMOVER_CARGO_SHIP :Navis Oneraria MightyMover +STR_VEHICLE_NAME_SHIP_POWERNAUT_CARGO_SHIP :Navis Oneraria Powernaut +STR_VEHICLE_NAME_AIRCRAFT_SAMPSON_U52 :Sampson U52 +STR_VEHICLE_NAME_AIRCRAFT_COLEMAN_COUNT :Coleman Count +STR_VEHICLE_NAME_AIRCRAFT_FFP_DART :FFP Dart +STR_VEHICLE_NAME_AIRCRAFT_YATE_HAUGAN :Yate Haugan +STR_VEHICLE_NAME_AIRCRAFT_BAKEWELL_COTSWALD_LB_3 :Bakewell Cotswald LB-3 +STR_VEHICLE_NAME_AIRCRAFT_BAKEWELL_LUCKETT_LB_8 :Bakewell Luckett LB-8 +STR_VEHICLE_NAME_AIRCRAFT_BAKEWELL_LUCKETT_LB_9 :Bakewell Luckett LB-9 +STR_VEHICLE_NAME_AIRCRAFT_BAKEWELL_LUCKETT_LB80 :Bakewell Luckett LB80 +STR_VEHICLE_NAME_AIRCRAFT_BAKEWELL_LUCKETT_LB_10 :Bakewell Luckett LB-10 +STR_VEHICLE_NAME_AIRCRAFT_BAKEWELL_LUCKETT_LB_11 :Bakewell Luckett LB-11 +STR_VEHICLE_NAME_AIRCRAFT_YATE_AEROSPACE_YAC_1_11 :Yate Aerospace YAC 1-11 +STR_VEHICLE_NAME_AIRCRAFT_DARWIN_100 :Darwin 100 +STR_VEHICLE_NAME_AIRCRAFT_DARWIN_200 :Darwin 200 +STR_VEHICLE_NAME_AIRCRAFT_DARWIN_300 :Darwin 300 +STR_VEHICLE_NAME_AIRCRAFT_DARWIN_400 :Darwin 400 +STR_VEHICLE_NAME_AIRCRAFT_DARWIN_500 :Darwin 500 +STR_VEHICLE_NAME_AIRCRAFT_DARWIN_600 :Darwin 600 +STR_VEHICLE_NAME_AIRCRAFT_GURU_GALAXY :Guru Galaxy +STR_VEHICLE_NAME_AIRCRAFT_AIRTAXI_A21 :Airtaxi A21 +STR_VEHICLE_NAME_AIRCRAFT_AIRTAXI_A31 :Airtaxi A31 +STR_VEHICLE_NAME_AIRCRAFT_AIRTAXI_A32 :Airtaxi A32 +STR_VEHICLE_NAME_AIRCRAFT_AIRTAXI_A33 :Airtaxi A33 +STR_VEHICLE_NAME_AIRCRAFT_YATE_AEROSPACE_YAE46 :Yate Aerospace YAe46 +STR_VEHICLE_NAME_AIRCRAFT_DINGER_100 :Dinger 100 +STR_VEHICLE_NAME_AIRCRAFT_AIRTAXI_A34_1000 :AirTaxi A34-1000 +STR_VEHICLE_NAME_AIRCRAFT_YATE_Z_SHUTTLE :Yate Z-Shuttle +STR_VEHICLE_NAME_AIRCRAFT_KELLING_K1 :Kelling K1 +STR_VEHICLE_NAME_AIRCRAFT_KELLING_K6 :Kelling K6 +STR_VEHICLE_NAME_AIRCRAFT_KELLING_K7 :Kelling K7 +STR_VEHICLE_NAME_AIRCRAFT_DARWIN_700 :Darwin 700 +STR_VEHICLE_NAME_AIRCRAFT_FFP_HYPERDART_2 :FFP Hyperdart 2 +STR_VEHICLE_NAME_AIRCRAFT_DINGER_200 :Dinger 200 +STR_VEHICLE_NAME_AIRCRAFT_DINGER_1000 :Dinger 1000 +STR_VEHICLE_NAME_AIRCRAFT_PLODDYPHUT_100 :Ploddyphut 100 +STR_VEHICLE_NAME_AIRCRAFT_PLODDYPHUT_500 :Ploddyphut 500 +STR_VEHICLE_NAME_AIRCRAFT_FLASHBANG_X1 :Flashbang X1 +STR_VEHICLE_NAME_AIRCRAFT_JUGGERPLANE_M1 :Juggerplane M1 +STR_VEHICLE_NAME_AIRCRAFT_FLASHBANG_WIZZER :Flashbang Wizzer +STR_VEHICLE_NAME_AIRCRAFT_TRICARIO_HELICOPTER :Helicopterum Tricario +STR_VEHICLE_NAME_AIRCRAFT_GURU_X2_HELICOPTER :Helicopterum Guru X2 +STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :Helicopterum Powernaut + +##id 0x8800 +# Formatting of some strings +STR_FORMAT_DATE_TINY :{STRING}-{STRING}-{NUM} +STR_FORMAT_DATE_SHORT :{STRING} {NUM} +STR_FORMAT_DATE_LONG :{STRING} {STRING} {NUM} +STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING} + +STR_FORMAT_BUOY_NAME :{TOWN} Signum Monitorium +STR_FORMAT_BUOY_NAME_SERIAL :{TOWN} Signum Monitorium #{COMMA} +STR_FORMAT_COMPANY_NUM :(Societas {COMMA}) +STR_FORMAT_GROUP_NAME :Grex {COMMA} +STR_FORMAT_INDUSTRY_NAME :{TOWN} {STRING} +STR_FORMAT_INDUSTRY_NAME.acc :{TOWN} {STRING.acc} +STR_FORMAT_INDUSTRY_NAME.abl :{TOWN} {STRING.abl} +STR_FORMAT_WAYPOINT_NAME :{TOWN} Interlocus +STR_FORMAT_WAYPOINT_NAME_SERIAL :{TOWN} Interlocus #{COMMA} + +STR_FORMAT_DEPOT_NAME_TRAIN :{TOWN} Receptaculum Traminum +STR_FORMAT_DEPOT_NAME_TRAIN_SERIAL :{TOWN} Receptaculum Traminum #{COMMA} +STR_FORMAT_DEPOT_NAME_ROAD_VEHICLE :{TOWN} Receptaculum Viarium +STR_FORMAT_DEPOT_NAME_ROAD_VEHICLE_SERIAL :{TOWN} Receptaculum Viarium #{COMMA} +STR_FORMAT_DEPOT_NAME_SHIP :{TOWN} Receptaculum Navium +STR_FORMAT_DEPOT_NAME_SHIP_SERIAL :{TOWN} Receptaculum Navium #{COMMA} +STR_FORMAT_DEPOT_NAME_AIRCRAFT :{STATION} Tugurium + +STR_UNKNOWN_STATION :statio ignota +STR_DEFAULT_SIGN_NAME :Signum +STR_COMPANY_SOMEONE :aliquis + +STR_SAVEGAME_NAME_DEFAULT :{COMPANY}, {STRING} +STR_SAVEGAME_NAME_SPECTATOR :Spectator, {1:STRING} + +# Viewport strings +STR_VIEWPORT_TOWN_POP :{WHITE}{TOWN} ({COMMA}) +STR_VIEWPORT_TOWN :{WHITE}{TOWN} +STR_VIEWPORT_TOWN_TINY_BLACK :{TINY_FONT}{BLACK}{TOWN} +STR_VIEWPORT_TOWN_TINY_WHITE :{TINY_FONT}{WHITE}{TOWN} + +STR_VIEWPORT_SIGN_SMALL_BLACK :{TINY_FONT}{BLACK}{SIGN} +STR_VIEWPORT_SIGN_SMALL_WHITE :{TINY_FONT}{WHITE}{SIGN} + +STR_VIEWPORT_STATION :{STATION} {STATION_FEATURES} +STR_VIEWPORT_STATION_TINY :{TINY_FONT}{STATION} + +STR_VIEWPORT_WAYPOINT :{WAYPOINT} +STR_VIEWPORT_WAYPOINT_TINY :{TINY_FONT}{WAYPOINT} + +# Simple strings to get specific types of data +STR_COMPANY_NAME :{COMPANY} +STR_COMPANY_NAME_COMPANY_NUM :{COMPANY} {COMPANY_NUM} +STR_DEPOT_NAME :{DEPOT} +STR_ENGINE_NAME :{ENGINE} +STR_HIDDEN_ENGINE_NAME :{ENGINE} (celatum) +STR_GROUP_NAME :{GROUP} +STR_INDUSTRY_NAME :{INDUSTRY} +STR_INDUSTRY_NAME.acc :{INDUSTRY.acc} +STR_INDUSTRY_NAME.abl :{INDUSTRY.abl} +STR_PRESIDENT_NAME :{PRESIDENT_NAME} +STR_SIGN_NAME :{SIGN} +STR_STATION_NAME :{STATION} +STR_TOWN_NAME :{TOWN} +STR_VEHICLE_NAME :{VEHICLE} +STR_WAYPOINT_NAME :{WAYPOINT} + +STR_JUST_CARGO :{CARGO_LONG} +STR_JUST_CHECKMARK :{CHECKMARK} +STR_JUST_COMMA :{COMMA} +STR_JUST_CURRENCY_SHORT :{CURRENCY_SHORT} +STR_JUST_CURRENCY_LONG :{CURRENCY_LONG} +STR_JUST_CARGO_LIST :{CARGO_LIST.dat} +STR_JUST_INT :{NUM} +STR_JUST_DATE_TINY :{DATE_TINY} +STR_JUST_DATE_SHORT :{DATE_SHORT} +STR_JUST_DATE_LONG :{DATE_LONG} +STR_JUST_DATE_ISO :{DATE_ISO} +STR_JUST_STRING :{STRING} +STR_JUST_STRING_STRING :{STRING}{STRING} +STR_JUST_RAW_STRING :{STRING} +STR_JUST_BIG_RAW_STRING :{BIG_FONT}{STRING} + +# Slightly 'raw' stringcodes with colour or size +STR_BLACK_COMMA :{BLACK}{COMMA} +STR_TINY_BLACK_COMA :{TINY_FONT}{BLACK}{COMMA} +STR_TINY_COMMA :{TINY_FONT}{COMMA} +STR_BLUE_COMMA :{BLUE}{COMMA} +STR_RED_COMMA :{RED}{COMMA} +STR_WHITE_COMMA :{WHITE}{COMMA} +STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} +STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} +STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} +STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} +STR_SHORT_DATE :{WHITE}{DATE_TINY} +STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} +STR_TINY_GROUP :{TINY_FONT}{GROUP} +STR_BLACK_INT :{BLACK}{NUM} +STR_ORANGE_INT :{ORANGE}{NUM} +STR_WHITE_SIGN :{WHITE}{SIGN} +STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} +STR_BLACK_STRING :{BLACK}{STRING} +STR_BLACK_RAW_STRING :{BLACK}{STRING} +STR_ORANGE_STRING :{ORANGE}{STRING} +STR_LTBLUE_STRING :{LTBLUE}{STRING} +STR_WHITE_STRING :{WHITE}{STRING} +STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} +STR_ORANGE_STRING1_LTBLUE :{ORANGE}{STRING}{LTBLUE} +STR_TINY_BLACK_HEIGHT :{TINY_FONT}{BLACK}{HEIGHT} +STR_TINY_BLACK_VEHICLE :{TINY_FONT}{BLACK}{VEHICLE} +STR_TINY_RIGHT_ARROW :{TINY_FONT}{RIGHT_ARROW} + +STR_BLACK_1 :{BLACK}1 +STR_BLACK_2 :{BLACK}2 +STR_BLACK_3 :{BLACK}3 +STR_BLACK_4 :{BLACK}4 +STR_BLACK_5 :{BLACK}5 +STR_BLACK_6 :{BLACK}6 +STR_BLACK_7 :{BLACK}7 + +STR_TRAIN :{BLACK}{TRAIN} +STR_BUS :{BLACK}{BUS} +STR_LORRY :{BLACK}{LORRY} +STR_PLANE :{BLACK}{PLANE} +STR_SHIP :{BLACK}{SHIP} + +STR_TOOLBAR_RAILTYPE_VELOCITY :{STRING} ({VELOCITY}) diff --git a/src/lang/latvian.txt b/src/lang/latvian.txt index 049ab1177e..0e7b5c6c3f 100644 --- a/src/lang/latvian.txt +++ b/src/lang/latvian.txt @@ -97,30 +97,30 @@ STR_CARGO_SINGULAR_FIZZY_DRINK :Limonāde # Quantity of cargo STR_QUANTITY_NOTHING : -STR_QUANTITY_PASSENGERS :{COMMA} pasažier{P is i u} +STR_QUANTITY_PASSENGERS :{COMMA}{NBSP}pasažier{P is i u} STR_QUANTITY_COAL :{WEIGHT_LONG} ogļu -STR_QUANTITY_MAIL :{COMMA} pasta mais{P s i u} +STR_QUANTITY_MAIL :{COMMA}{NBSP}pasta mais{P s i u} STR_QUANTITY_OIL :{VOLUME_LONG} naftas -STR_QUANTITY_LIVESTOCK :{COMMA} mājlop{P s i u} -STR_QUANTITY_GOODS :{COMMA} preču kast{P e es u} +STR_QUANTITY_LIVESTOCK :{COMMA}{NBSP}mājlop{P s i u} +STR_QUANTITY_GOODS :{COMMA}{NBSP}preču kast{P e es u} STR_QUANTITY_GRAIN :{WEIGHT_LONG} graudu STR_QUANTITY_WOOD :{WEIGHT_LONG} kokmateriālu STR_QUANTITY_IRON_ORE :{WEIGHT_LONG} dzelzsrūdas STR_QUANTITY_STEEL :{WEIGHT_LONG} tērauda -STR_QUANTITY_VALUABLES :{COMMA} mais{P s i u} ar vērtslietām +STR_QUANTITY_VALUABLES :{COMMA}{NBSP}mais{P s i u} ar vērtslietām STR_QUANTITY_COPPER_ORE :{WEIGHT_LONG} vara rūdas STR_QUANTITY_MAIZE :{WEIGHT_LONG} kukurūzas STR_QUANTITY_FRUIT :{WEIGHT_LONG} augļu -STR_QUANTITY_DIAMONDS :{COMMA} maisi ar dimantiem +STR_QUANTITY_DIAMONDS :{COMMA}{NBSP}mais{P s i u} ar dimantiem STR_QUANTITY_FOOD :{WEIGHT_LONG} pārtikas preču STR_QUANTITY_PAPER :{WEIGHT_LONG} papīra -STR_QUANTITY_GOLD :{COMMA} zelta mais{P s i u} +STR_QUANTITY_GOLD :{COMMA}{NBSP}zelta mais{P s i u} STR_QUANTITY_WATER :{VOLUME_LONG} ūdens STR_QUANTITY_WHEAT :{WEIGHT_LONG} kviešu STR_QUANTITY_RUBBER :{VOLUME_LONG} kaučuka STR_QUANTITY_SUGAR :{WEIGHT_LONG} cukura -STR_QUANTITY_TOYS :{COMMA} rotaļliet{P a as u} -STR_QUANTITY_SWEETS :{COMMA} saldumu mais{P s i u} +STR_QUANTITY_TOYS :{COMMA}{NBSP}rotaļliet{P a as u} +STR_QUANTITY_SWEETS :{COMMA}{NBSP}saldumu mais{P s i u} STR_QUANTITY_COLA :{VOLUME_LONG} kolas STR_QUANTITY_CANDYFLOSS :{WEIGHT_LONG} cukurvates STR_QUANTITY_BUBBLES :{COMMA} burbu{P lis ļi ļu} @@ -167,12 +167,12 @@ STR_ABBREV_NONE :{TINY_FONT}NAV STR_ABBREV_ALL :{TINY_FONT}VISI # 'Mode' of transport for cargoes -STR_PASSENGERS :{COMMA} pasažier{P is i u} -STR_BAGS :{COMMA} mais{P s i u} -STR_TONS :{COMMA} tonn{P a as u} -STR_LITERS :{COMMA} litr{P s i u} -STR_ITEMS :{COMMA} vienīb{P a as u} -STR_CRATES :{COMMA} kast{P e es u} +STR_PASSENGERS :{COMMA}{NBSP}pasažier{P is i u} +STR_BAGS :{COMMA}{NBSP}mais{P s i u} +STR_TONS :{COMMA}{NBSP}tonn{P a as u} +STR_LITERS :{COMMA}{NBSP}litr{P s i u} +STR_ITEMS :{COMMA}{NBSP}vienīb{P a as u} +STR_CRATES :{COMMA}{NBSP}kast{P e es u} # Colours, do not shuffle STR_COLOUR_DARK_BLUE :Tumši zila @@ -193,37 +193,37 @@ STR_COLOUR_GREY :Pelēka STR_COLOUR_WHITE :Balta # Units used in OpenTTD -STR_UNITS_VELOCITY_IMPERIAL :{COMMA} jūdzes stundā -STR_UNITS_VELOCITY_METRIC :{COMMA} km/h -STR_UNITS_VELOCITY_SI :{COMMA} m/s +STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}jūdzes stundā +STR_UNITS_VELOCITY_METRIC :{COMMA}{NBSP}km/h +STR_UNITS_VELOCITY_SI :{COMMA}{NBSP}m/s -STR_UNITS_POWER_IMPERIAL :{COMMA} ZS -STR_UNITS_POWER_METRIC :{COMMA} ZS -STR_UNITS_POWER_SI :{COMMA} kW +STR_UNITS_POWER_IMPERIAL :{COMMA}{NBSP}ZS +STR_UNITS_POWER_METRIC :{COMMA}{NBSP}ZS +STR_UNITS_POWER_SI :{COMMA}{NBSP}kW -STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA} t -STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA} t -STR_UNITS_WEIGHT_SHORT_SI :{COMMA} kg +STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_SI :{COMMA}{NBSP}kg -STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA} tonn{P a as u} -STR_UNITS_WEIGHT_LONG_METRIC :{COMMA} tonn{P a as u} -STR_UNITS_WEIGHT_LONG_SI :{COMMA} kg +STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA}{NBSP}tonn{P a as u} +STR_UNITS_WEIGHT_LONG_METRIC :{COMMA}{NBSP}tonn{P a as u} +STR_UNITS_WEIGHT_LONG_SI :{COMMA}{NBSP}kg -STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA} gal -STR_UNITS_VOLUME_SHORT_METRIC :{COMMA} l -STR_UNITS_VOLUME_SHORT_SI :{COMMA} m³ +STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}{NBSP}gal +STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}{NBSP}l +STR_UNITS_VOLUME_SHORT_SI :{COMMA}{NBSP}m³ -STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA} galon{P s i u} -STR_UNITS_VOLUME_LONG_METRIC :{COMMA} litr{P s i u} -STR_UNITS_VOLUME_LONG_SI :{COMMA} m³ +STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA}{NBSP}galon{P s i u} +STR_UNITS_VOLUME_LONG_METRIC :{COMMA}{NBSP}litr{P s i u} +STR_UNITS_VOLUME_LONG_SI :{COMMA}{NBSP}m³ -STR_UNITS_FORCE_IMPERIAL :{COMMA} lbf -STR_UNITS_FORCE_METRIC :{COMMA} kgf -STR_UNITS_FORCE_SI :{COMMA} kN +STR_UNITS_FORCE_IMPERIAL :{COMMA}{NBSP}lbf +STR_UNITS_FORCE_METRIC :{COMMA}{NBSP}kgf +STR_UNITS_FORCE_SI :{COMMA}{NBSP}kN -STR_UNITS_HEIGHT_IMPERIAL :{COMMA} pēdas -STR_UNITS_HEIGHT_METRIC :{COMMA} m -STR_UNITS_HEIGHT_SI :{COMMA} m +STR_UNITS_HEIGHT_IMPERIAL :{COMMA}{NBSP}pēdas +STR_UNITS_HEIGHT_METRIC :{COMMA}{NBSP}m +STR_UNITS_HEIGHT_SI :{COMMA}{NBSP}m # Common window strings STR_LIST_FILTER_TITLE :{BLACK}Filtra virkne: @@ -249,6 +249,17 @@ STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Ritjosla STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Ritjosla - ritina sarakstu pa kreisi/pa labi STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Nojaukt celtnes u.c. objektus no zemes platības. Ctrl iezīmē diagonālu laukumu. Shift pārslēdz nojaukšanu/izmaksu tāmes attēlošanu +# Show engines button +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}Parādīt paslēptos +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK}Parādīt paslēptos +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}Parādīt paslēptos +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}Parādīt paslēptos + +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}Ieslēdzot šo iestatījumu tiks parādīti arī paslēptie vilcieni +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE_TOOLTIP :{BLACK}Ieslēdzot šo iestatījumu tiks parādīti arī paslēptie autotransporta līdzekļi +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}Ieslēdzot šo iestatījumu tiks parādīti arī paslēptie kuģi +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Ieslēdzot šo iestatījumu tiks parādīti arī paslēptie lidaparāti + # Query window STR_BUTTON_DEFAULT :{BLACK}Noklusējums STR_BUTTON_CANCEL :{BLACK}Atcelt @@ -322,8 +333,8 @@ STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}Rādīt STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_ROAD_VEHICLES :{BLACK}Rādīt uzņēmuma autotransporta sarakstu. Ctrl+klikšķis pārslēdz grupu/transportlīdzekļu saraksta atvēršanu STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :{BLACK}Rādīt uzņēmuma kuģu sarakstu. Ctrl+klikšķis pārslēdz grupu/transportlīdzekļu saraksta atvēršanu STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_AIRCRAFT :{BLACK}Rādīt uzņēmuma lidaparātu sarakstu. Ctrl+klikšķis pārslēdz grupu/transportlīdzekļu saraksta atvēršanu -STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_IN :{BLACK}Tuvināt skatu -STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_OUT :{BLACK}Tālināt skatu +STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_IN :{BLACK}Pietuvināt skatu +STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_OUT :{BLACK}Attālināt skatu STR_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Būvēt sliežu ceļu STR_TOOLBAR_TOOLTIP_BUILD_ROADS :{BLACK}Būvēt ceļus STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}Būvēt kuģu piestātnes @@ -362,7 +373,7 @@ STR_SCENEDIT_FILE_MENU_QUIT :Iziet ############ range for settings menu starts STR_SETTINGS_MENU_GAME_OPTIONS :Spēles opcijas -STR_SETTINGS_MENU_CONFIG_SETTINGS :Papildu iestatījumi +STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Iestatījumi STR_SETTINGS_MENU_SCRIPT_SETTINGS :MI/spēles skriptu iestatījumi STR_SETTINGS_MENU_NEWGRF_SETTINGS :NewGRF iestatījumi STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Caurspīdības opcijas @@ -461,7 +472,7 @@ STR_ABOUT_MENU_SEPARATOR : STR_ABOUT_MENU_TOGGLE_CONSOLE :Atvērt/aizvērt konsoli STR_ABOUT_MENU_AI_DEBUG :MI/spēles skriptu atkļūdošana STR_ABOUT_MENU_SCREENSHOT :Ekrānuzņēmums -STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Pilnībā tuvināts ekrānuzņēmums +STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Pilnībā pietuvināts ekrānuzņēmums STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Noklusējuma mēroga ekrānuzņēmums STR_ABOUT_MENU_GIANT_SCREENSHOT :Visas kartes ekrānuzņēmums STR_ABOUT_MENU_ABOUT_OPENTTD :Par 'OpenTTD' @@ -470,7 +481,7 @@ STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Pārslēgt sais STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Pārslēgt netīru bloku krāsojumu ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window STR_ORDINAL_NUMBER_1ST :1. STR_ORDINAL_NUMBER_2ND :2. STR_ORDINAL_NUMBER_3RD :3. @@ -486,22 +497,40 @@ STR_ORDINAL_NUMBER_12TH :12. STR_ORDINAL_NUMBER_13TH :13. STR_ORDINAL_NUMBER_14TH :14. STR_ORDINAL_NUMBER_15TH :15. -STR_ORDINAL_NUMBER_16TH :16. -STR_ORDINAL_NUMBER_17TH :17. -STR_ORDINAL_NUMBER_18TH :18. -STR_ORDINAL_NUMBER_19TH :19. -STR_ORDINAL_NUMBER_20TH :20. -STR_ORDINAL_NUMBER_21ST :21. -STR_ORDINAL_NUMBER_22ND :22. -STR_ORDINAL_NUMBER_23RD :23. -STR_ORDINAL_NUMBER_24TH :24. -STR_ORDINAL_NUMBER_25TH :25. -STR_ORDINAL_NUMBER_26TH :26. -STR_ORDINAL_NUMBER_27TH :27. -STR_ORDINAL_NUMBER_28TH :28. -STR_ORDINAL_NUMBER_29TH :29. -STR_ORDINAL_NUMBER_30TH :30. -STR_ORDINAL_NUMBER_31ST :31. +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :1. +STR_DAY_NUMBER_2ND :2. +STR_DAY_NUMBER_3RD :3. +STR_DAY_NUMBER_4TH :4. +STR_DAY_NUMBER_5TH :5. +STR_DAY_NUMBER_6TH :6. +STR_DAY_NUMBER_7TH :7. +STR_DAY_NUMBER_8TH :8. +STR_DAY_NUMBER_9TH :9. +STR_DAY_NUMBER_10TH :10. +STR_DAY_NUMBER_11TH :11. +STR_DAY_NUMBER_12TH :12. +STR_DAY_NUMBER_13TH :13. +STR_DAY_NUMBER_14TH :14. +STR_DAY_NUMBER_15TH :15. +STR_DAY_NUMBER_16TH :16. +STR_DAY_NUMBER_17TH :17. +STR_DAY_NUMBER_18TH :18. +STR_DAY_NUMBER_19TH :19. +STR_DAY_NUMBER_20TH :20. +STR_DAY_NUMBER_21ST :21. +STR_DAY_NUMBER_22ND :22. +STR_DAY_NUMBER_23RD :23. +STR_DAY_NUMBER_24TH :24. +STR_DAY_NUMBER_25TH :25. +STR_DAY_NUMBER_26TH :26. +STR_DAY_NUMBER_27TH :27. +STR_DAY_NUMBER_28TH :28. +STR_DAY_NUMBER_29TH :29. +STR_DAY_NUMBER_30TH :30. +STR_DAY_NUMBER_31ST :31. ############ range for days ends ############ range for months starts @@ -680,6 +709,7 @@ STR_SMALLMAP_TYPE_OWNERS :īpašnieki STR_SMALLMAP_TOOLTIP_SHOW_LAND_CONTOURS_ON_MAP :{BLACK}Rādīt zemes kontūras uz kartes STR_SMALLMAP_TOOLTIP_SHOW_VEHICLES_ON_MAP :{BLACK}Rādīt transportlīdzekļus uz kartes STR_SMALLMAP_TOOLTIP_SHOW_INDUSTRIES_ON_MAP :{BLACK}Rādīt ražotnes uz kartes +STR_SMALLMAP_TOOLTIP_SHOW_LINK_STATS_ON_MAP :{BLACK}Rādīt kravas plūsmu uz kartes STR_SMALLMAP_TOOLTIP_SHOW_TRANSPORT_ROUTES_ON :{BLACK}Rādīt pārvadājumu maršrutus uz kartes STR_SMALLMAP_TOOLTIP_SHOW_VEGETATION_ON_MAP :{BLACK}Rādīt augu valsti uz kartes STR_SMALLMAP_TOOLTIP_SHOW_LAND_OWNERS_ON_MAP :{BLACK}Rādīt zemes īpašniekus uz kartes @@ -729,6 +759,7 @@ STR_SMALLMAP_TOOLTIP_ENABLE_ALL_INDUSTRIES :{BLACK}Rādīt STR_SMALLMAP_TOOLTIP_SHOW_HEIGHT :{BLACK}Pārslēgt augstumu kartes attēlošanu STR_SMALLMAP_TOOLTIP_DISABLE_ALL_COMPANIES :{BLACK}Nerādīt neviena uzņēmuma īpašumus uz kartes STR_SMALLMAP_TOOLTIP_ENABLE_ALL_COMPANIES :{BLACK}Rādīt visu uzņēmumu īpašumus uz kartes +STR_SMALLMAP_TOOLTIP_DISABLE_ALL_CARGOS :{BLACK}Nerādīt kravas uz kartes # Status bar messages STR_STATUSBAR_TOOLTIP_SHOW_LAST_NEWS :{BLACK}Rādīt pēdējo ziņojumu vai avīzes rakstu @@ -805,13 +836,11 @@ STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}{VEHICLE STR_NEWS_SHIP_IS_WAITING :{WHITE}{VEHICLE} gaida depo STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE} gaida aviācijas angārā -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE +# Order review system / warnings STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE} sarakstā ir pārāk maz rīkojumu STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE} ir nederīgs maršruts STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE} ir divi vienādi maršruti STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE} rīkojumā ir nederīga stacija -# end of order system STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} pamazām noveco STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} ir kļuvis ļoti vecs @@ -894,10 +923,6 @@ STR_GAME_OPTIONS_CURRENCY_GEL :Gruzijas lari ( STR_GAME_OPTIONS_CURRENCY_IRR :Irānas riāli (IRR) ############ end of currency region - -############ start of measuring units region -############ end of measuring units region - STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Autotransporta līdzekļi STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}Ceļa braucamās puses izvēle STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :Brauc pa kreiso pusi @@ -933,11 +958,13 @@ STR_GAME_OPTIONS_TOWN_NAME_CATALAN :Kataloņu STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Automātiskā saglabāšana STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Izvēlēties spēles automātiskās saglabāšanas starplaikus +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Izslēgta -STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :Katru mēnesi -STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :Katrus 3 mēnešus -STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :Katrus 6 mēnešus -STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :Katrus 12 mēnešus +STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :katru mēnesi +STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :katrus 3 mēnešus +STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :katrus 6 mēnešus +STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :katrus 12 mēnešus +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}Valoda STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Saskarnes valodas izvēle @@ -949,8 +976,12 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}Ekrāna STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Ekrāna izšķirtspējas izvēle STR_GAME_OPTIONS_RESOLUTION_OTHER :Cita -STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}Ekrānuzņēmumu formāts -STR_GAME_OPTIONS_SCREENSHOT_FORMAT_TOOLTIP :{BLACK}Ekrānuzņēmumu formāta izvēle +STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Lietotāja saskarnes lielums +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Lietotāja saskarnes elementu lieluma izvēle + +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Parasts +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Divkāršs +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Četrkāršs STR_GAME_OPTIONS_BASE_GRF :{BLACK}Pamata grafikas kopa STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Atlasīt lietošanai pamata grafikas kopu @@ -1032,7 +1063,7 @@ STR_RIVERS_MODERATE :Vidējs daudzum STR_RIVERS_LOT :Daudzas STR_DISASTER_NONE :Nav -STR_DISASTER_REDUCED :Samazināta +STR_DISASTER_REDUCED :samazināta STR_DISASTER_NORMAL :Parasta STR_SUBSIDY_X1_5 :x1.5 @@ -1044,6 +1075,7 @@ STR_TERRAIN_TYPE_VERY_FLAT :Ļoti līdzens STR_TERRAIN_TYPE_FLAT :Līdzens STR_TERRAIN_TYPE_HILLY :Paugurains STR_TERRAIN_TYPE_MOUNTAINOUS :Kalnains +STR_TERRAIN_TYPE_ALPINIST :Alpu STR_CITY_APPROVAL_PERMISSIVE :pieļaujoša STR_CITY_APPROVAL_TOLERANT :iecietīga @@ -1051,8 +1083,8 @@ STR_CITY_APPROVAL_HOSTILE :naidīga STR_WARNING_NO_SUITABLE_AI :{WHITE}Nav pieejami derīgi MI...{}Jūs varat lejuplādēt dažādus MI, izmantojot sistēmu 'Tiešsaistes saturs' -# Advanced settings window -STR_CONFIG_SETTING_CAPTION :{WHITE}Papildu iestatījumi +# Settings tree window +STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Iestatījumi STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Filtra virkne: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Izvērst visu STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Sakļaut visu @@ -1065,10 +1097,12 @@ STR_CONFIG_SETTING_TYPE_GAME_INGAME :spēles iestat STR_CONFIG_SETTING_TYPE_COMPANY_MENU :uzņēmuma iestatījums (tiek iekļauts saglabājumos, ietekmē tikai jaunās spēles) STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :uzņēmuma iestatījums (tiek iekļauts saglabājumā, ietekmē tikai pašreizējo uzņēmumu) +STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK}Kategorija: +STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}Veids: STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Ierobežo turpmāko sarakstu, rādot tikai izmainītos iestatījumus -STR_CONFIG_SETTING_RESTRICT_BASIC :Pamatiestatījumi -STR_CONFIG_SETTING_RESTRICT_ADVANCED :Papildu iestatījumi -STR_CONFIG_SETTING_RESTRICT_ALL :Lietpratēju iestatījumi / visi iestatījumi +STR_CONFIG_SETTING_RESTRICT_BASIC :Pamatiestatījumi (parādīt tikai svarīgākos iestatījumus) +STR_CONFIG_SETTING_RESTRICT_ADVANCED :Papildu iestatījumi (parādīt iestatījumu vairākumu) +STR_CONFIG_SETTING_RESTRICT_ALL :Lietpratēju iestatījumi (parādīt visus iestatījumus, tai skaitā arī nestandarta) STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :Iestatījumi ar atšķirīgu vērtību nekā noklusējuma STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :Iestatījumi ar atšķirīgu vērtību nekā jūsu jaunajai spēlei @@ -1079,6 +1113,7 @@ STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :Spēles iestat STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :Spēles iestatījumi (tiek iekļauti saglabājumā, ietekmē tikai pašreizējo spēli) STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :Uzņēmuma iestatījumi (tiek iekļauti saglabājumos, ietekmē tikai jaunās spēles) STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :Uzņēmuma iestatījumi (tiek iekļauti saglabājumā, ietekmē tikai pašreizējo uzņēmumu) +STR_CONFIG_SETTINGS_NONE :{WHITE}-Nav- STR_CONFIG_SETTING_OFF :izslēgts STR_CONFIG_SETTING_ON :ieslēgts @@ -1100,6 +1135,7 @@ STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Maksimālais s STR_CONFIG_SETTING_INTEREST_RATE :Procentu likme: {STRING} STR_CONFIG_SETTING_RUNNING_COSTS :Kārtējās izmaksas: {STRING} STR_CONFIG_SETTING_CONSTRUCTION_SPEED :Būvēšanas ātrums: {STRING} +STR_CONFIG_SETTING_CONSTRUCTION_SPEED_HELPTEXT :MI (mākslīgā intelekta) būvniecības darbību daudzuma ierobežošana STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS :Transportlīdzekļu bojāšanās: {STRING} STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER :Subsīdiju reizinātājs: {STRING} STR_CONFIG_SETTING_CONSTRUCTION_COSTS :Būvēšanas izmaksas: {STRING} @@ -1109,8 +1145,9 @@ STR_CONFIG_SETTING_TRAIN_REVERSING :Neatļaut vilci STR_CONFIG_SETTING_DISASTERS :Katastrofas: {STRING} STR_CONFIG_SETTING_CITY_APPROVAL :Pilsētu domju attieksme pret platības pārstrukturēšanu: {STRING} -STR_CONFIG_SETTING_BUILDONSLOPES :Atļaut būvēt nogāzēs un piekrastēs: {STRING} -STR_CONFIG_SETTING_BUILDONSLOPES_HELPTEXT :Ja ieslēgts, ceļus un stacijas var būvēt uz vairums nogāzēm. Ja izslēgts, tas ir atļauts tikai uz ceļu virzienam atbilstošām nogāzēm un tādēļ nav nepieciešami ieguldījumi +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :Maksimālais kartes augstums: {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :Uzstādīt maksimālo atļauto kalnu augstumu kartē +STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}Jūs nevarat izmantot šo maksimālo kartes augstumu. Vismaz viens kalns uz kartes ir augstāks. STR_CONFIG_SETTING_AUTOSLOPE :Atļaut ainavas veidošanu zem ekām, ceļiem, utt. (automāt. nogāzes): {STRING} STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Atļauj ainavas veidošanu zem ekām un ceļiem bez to nojaukšanas STR_CONFIG_SETTING_CATCHMENT :Atļaut realistiskākas, palielinātas apkalpojamās platības: {STRING} @@ -1135,16 +1172,12 @@ STR_CONFIG_SETTING_FORBID_90_DEG :Aizliegt vilcie STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90 grādu pagriezieni rodas, ja horizontālam sliežu ceļa posmam tieši seko vertikāls sliežu ceļa posms uz blakus esošā lauciņa. Tādējādi vilciens, šķērsojot lauciņu malas, veic 90 grādu pagriezienu, nevis parasto 45 grādu kā citām sliežu ceļu kombinācijām. Tas attiecas arī uz kuģu pagrieziena lenķiem STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Atļaut savienot stacijas, kas neatrodas tieši blakus: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Atļaut pievienot staciju daļas, tām nesaskaroties ar jau esošajām. Novietojot jaunās daļas, ir nepieciešams nospiest Ctrl+klikšķis -STR_CONFIG_SETTING_IMPROVEDLOAD :Lietot uzlabotu piekraušanas algoritmu: {STRING} -STR_CONFIG_SETTING_IMPROVEDLOAD_HELPTEXT :Ja ir ieslēgts, vairāki transportlīdzekļi gaida stacijā uz secīgu piekraušanu. Nākamā transportlīdzekļa piekraušana sākas tikai tad, kad ir pietiekami daudz kravas, lai pilnībā piepildītu pirmo transportlīdzekli -STR_CONFIG_SETTING_GRADUAL_LOADING :Transportlīdzekļus piekraut pakāpeniski: {STRING} -STR_CONFIG_SETTING_GRADUAL_LOADING_HELPTEXT :Transportlīdzekļi tiek piekrauti pakāpeniski, izmantojot tam raksturīgos ilgumus. Nevis piekrauj visu uzreiz ar fiksētu laiku, tikai atkarībā no kravas daudzuma STR_CONFIG_SETTING_INFLATION :Inflācija: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :Atļaut inflāciju ekonomikā, kur izmaksu celšanās nedaudz apsteidz ienākumus -STR_CONFIG_SETTING_SELECTGOODS :Nogādāt kravu stacijā tikai tad, ja ir pieprasījums: {STRING} -STR_CONFIG_SETTING_SELECTGOODS_HELPTEXT :Tikai nogādā kravu līdz stacijai, kas tika pieprasīts piekraujot transportlīdzekli. Tas novērš sliktus vērtējumus stacijā neapkalpotām kravām STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Maksimālais tiltu garums: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Būvējamo tiltu maksimālais garums +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :Maksimālais tiltu augstums: {STRING} +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :Būvējamo tiltu maksimālais augstums STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Maksimālais tuneļu garums: {STRING} STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :Būvējamo tuneļu maksimālais garums STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Izejvielu ražotņu manuālā būvniecības metode: {STRING} @@ -1170,8 +1203,6 @@ STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Vieta, kur vilc STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :sākumā STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :vidū STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :beigās -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING :Autotransporta līdzekļu rindošana (ar daudzuma efektiem): {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING_HELPTEXT :Autotransporta līdzekļiem likt gaidīt pirms aizņemtas pieturvietas, līdz tā tiek atbrīvota STR_CONFIG_SETTING_AUTOSCROLL :Bīdīt logu, kad peles kursors atrodas tā malā: {STRING} STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Ja iespējots, skatvieta sāk ritināties kad peles kursors ir pie loga malas STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :atspējots @@ -1202,10 +1233,6 @@ STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Atļaut caurbra STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Ļauj būvēt caurbraucamas pieturvietas uz pilsētai piederošiem ceļiem STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Atļaut caurbraucamas pieturvietas uz sāncenšu ceļiem: {STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Ļauj būvēt caurbraucamas pieturvietas uz citiem uzņēmumiem piederošiem ceļiem -STR_CONFIG_SETTING_ADJACENT_STATIONS :Atļaut būvēt vienu otrai piekļautas stacijas: {STRING} -STR_CONFIG_SETTING_ADJACENT_STATIONS_HELPTEXT :Ļauj atšķirīgas stacijas piekļaut vienu otrai -STR_CONFIG_SETTING_DYNAMIC_ENGINES :Atļaut vairākus NewGRF transportlīdzekļu komplektus: {STRING} -STR_CONFIG_SETTING_DYNAMIC_ENGINES_HELPTEXT :Saderības izvēle veciem NewGRF failiem. Neatspējojiet šo, izņemot ja jūs zinat ko darat! STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Šo iestatījumu nav iespējams mainīt, kad tur ir transportlīdzekļi STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Infrastruktūras uzturēšana: {STRING} @@ -1243,13 +1270,14 @@ STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Rāda pilsētu STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Diagrammu līniju platums: {STRING} STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Diagrammu līniju platums. Šauras līnijas ir precīzāk nolasāmas, platākas vieglāk saskatīt un atšķirt to krāsas +STR_CONFIG_SETTING_LANDSCAPE :Ainava: {STRING} STR_CONFIG_SETTING_LAND_GENERATOR :Zemes radītājs: {STRING} STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Sākotnējais STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Maksimālais attālums no kartes malas naftas pārstrādes rūpnīcām: {STRING} STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Naftas pārstrādes rūpnīcas ir būvējamas tikai kartes malu tuvumā, salu kartēm tas ir pie krasta STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Sniega līnijas augstums: {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Apvidus nelīdzenums (tikai TerraGenesis): {STRING} +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Apvidus nelīdzenums: {STRING} STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Ļoti gluda STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Gluda STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Nelīdzena @@ -1258,12 +1286,11 @@ STR_CONFIG_SETTING_TREE_PLACER :Koku izvietoša STR_CONFIG_SETTING_TREE_PLACER_NONE :Nav STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :Sākotnējais STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :Uzlabotais +STR_CONFIG_SETTING_ROAD_SIDE :Autotransporta līdzekļi: {STRING} STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Augstumu kartes pagriešana: {STRING} STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Pret pulksteņa rādītāja virzienu STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Pulksteņa rādītāja virzienā STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :Augstuma līmenis līdzenai scenārija kartei: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :Atļaut pārveidot lauciņus kas atrodas kartes malās : {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES_HELPTEXT :Ja izslēgts, kartes malās vienmēr būs okeāns STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}Viens vai vairāki lauciņi pie ziemeļu malas nav tukši STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}Vienam vai vairākiem lauciņiem kādā malā nav ūdens @@ -1310,17 +1337,14 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Izslēgta STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Kreisā klikšķa ritināšana: {STRING} +STR_CONFIG_SETTING_AUTOSAVE :Automātiskā saglabāšana: {STRING} + STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Lietot {STRING} datuma formātu saglabāto spēļu nosaukumos STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Datuma formāts spēļu saglabājuma failu nosaukumos STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :garu (31. Dec 2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :īsu (31-12-2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE :NewGRF noklusējuma palete, kuriem tā nav norādīta: {STRING} -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_HELPTEXT :Noklusējuma palete NewGRF failiem, ja nepieciešamā nav norādīta -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_DOS :noklusējuma (D) palete -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_WIN :mantota (W) palete - STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Automātiski pauzēt sākot jaunu spēli: {STRING} STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :Ja ir ieslēgts, sākot jaunu spēli, tā tiek automātiski pauzēta. Tas ļauj rūpīgāk izpētīt karti STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Pauzes režīmā atļaut: {STRING} @@ -1393,13 +1417,13 @@ STR_CONFIG_SETTING_AI_PROFILE_MEDIUM :vidējs STR_CONFIG_SETTING_AI_PROFILE_HARD :smags STR_CONFIG_SETTING_AI_IN_MULTIPLAYER :Atļaut MI vairākspēlētāju spēlēs: {STRING} -STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Atļaut MI nespēlētāju tēliem (datora vadītiem) piedalīties vairākspēlētāju spēlēs +STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Atļaut MI (mākslīgā intelekta) nespēlētāju tēliem (datora vadītiem) piedalīties vairākspēlētāju spēlēs STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :#darbību kodi, pirms skripti tiek apstādināti: {STRING} STR_CONFIG_SETTING_SERVINT_ISPERCENT :Apkopju starplaiki procentos: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS :Vilcienu apkopju noklusējuma starplaiks: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Izvēlēties jaunajiem sliežu transportlīdzekļiem apkopju noklusējuma starplaiku, ja tiem tas nav noteikts -STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA} dien{P 0 a as u}/% +STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}dien{P 0 a as u}/% STR_CONFIG_SETTING_SERVINT_DISABLED :izslēgts STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES :Autotransporta līdzekļu apkopju noklusējuma starplaiks: {STRING} STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES_HELPTEXT :Izvēlēties jauniem autotransporta līdzekļiem apkopju noklusējuma starplaiku, ja transportlīdzeklim tas nav noteikts @@ -1535,8 +1559,6 @@ STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 pret {COMMA} STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :neviena STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Lielpilsētu sākuma lieluma reizinātājs: {STRING} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Lielpilsētu vidējais lielums attiecībā pret parastām pilsētām spēles sākumā -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :Ceļu būves laikā novākt bezjēdzīgus ceļu elementus: {STRING} -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD_HELPTEXT :Finansētās ceļu rekonstrukcijas laikā noņem vairs neizmantojamos ceļu nobeiguma posmus STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :manuāli STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :asimetriska @@ -1557,13 +1579,13 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_METRIC :metriskās (ZS) STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_SI :SI, starptautiskās (kW) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT :Svara mērvienības: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_HELPTEXT :Vai lietotāja saskarnē rāda svaru, rādīt norādītajās mērvienībās +STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_HELPTEXT :Kad lietotāja saskarnē rāda svaru, uzrādīt to norādītajās mērvienībās STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_IMPERIAL :impērijas, britu (t/tonna) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_METRIC :metriskās (t/tonna) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_SI :SI, starptautiskās (kg) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME :Tilpuma mērvienības: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_HELPTEXT :Vai lietotāja saskarnē rāda tilpumu, rādīt norādītajās mērvienībās +STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_HELPTEXT :Kad lietotāja saskarnē rāda tilpumu, uzrādīt to norādītajās mērvienībās STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_IMPERIAL :impērijas, britu (galons) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_METRIC :metriskās (l) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_SI :SI, starptautiskās (m³) @@ -1571,38 +1593,40 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_SI.kas :SI, starptautis STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE :Vilces spēka mērvienības: {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE.kas :Vilces spēka mērvienības: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_HELPTEXT :Vai lietotāja saskarnē rāda vilcējspēku, rādīt norādītajās mērvienībās +STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_HELPTEXT :Kad lietotāja saskarnē rāda vilcējspēku, uzrādīt to norādītajās mērvienībās STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_IMPERIAL :impērijas, britu (mārciņa) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_METRIC :metriskās (spēka kilograms) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_SI :SI, starptautiskās (kN) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT :Augstuma mērvienības: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT :Vai lietotāja saskarnē rāda augstumu, rādīt norādītajās mērvienībās +STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT :Kad lietotāja saskarnē rāda augstumu, uzrādīt to norādītajās mērvienībās STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :impērijas, britu (pēda) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :metriskās (m) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :SI, starptautiskās (m) -STR_CONFIG_SETTING_GUI :{ORANGE}Saskarne STR_CONFIG_SETTING_LOCALISATION :{ORANGE}Lokalizēšana -STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}Būvniecība +STR_CONFIG_SETTING_GRAPHICS :{ORANGE}Grafika +STR_CONFIG_SETTING_SOUND :{ORANGE}Skaņa +STR_CONFIG_SETTING_INTERFACE :{ORANGE}Saskarne +STR_CONFIG_SETTING_INTERFACE_GENERAL :{ORANGE}Vispārīgi +STR_CONFIG_SETTING_INTERFACE_VIEWPORTS :{ORANGE}Skatvietas +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Būvniecība +STR_CONFIG_SETTING_ADVISORS :{ORANGE}Avīžu raksti / padomnieki +STR_CONFIG_SETTING_COMPANY :{ORANGE}Uzņēmums +STR_CONFIG_SETTING_ACCOUNTING :{ORANGE}Grāmatvedība STR_CONFIG_SETTING_VEHICLES :{ORANGE}Transportlīdzekļi -STR_CONFIG_SETTING_STATIONS :{ORANGE}Stacijas -STR_CONFIG_SETTING_ECONOMY :{ORANGE}Ekonomika -STR_CONFIG_SETTING_LINKGRAPH :{ORANGE}Kravu sadale -STR_CONFIG_SETTING_AI :{ORANGE}Sāncenši -STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}Ekrāna opcijas -STR_CONFIG_SETTING_INTERACTION :{ORANGE}Mijiedarbība -STR_CONFIG_SETTING_SOUND :{ORANGE}Skaņas efekti -STR_CONFIG_SETTING_NEWS :{ORANGE}Avīžu raksti un ziņojumi -STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}Signāli -STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE}Kravu pārvietošana -STR_CONFIG_SETTING_AI_NPC :{ORANGE}Nespēlētāju tēli (datora vadīti) -STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE}Automātiskā atjaunošana -STR_CONFIG_SETTING_VEHICLES_SERVICING :{ORANGE}Apkope +STR_CONFIG_SETTING_VEHICLES_PHYSICS :{ORANGE}Fizika STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Pārvietošanās -STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}Vilcieni -STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}Pilsētas -STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}Ražotnes +STR_CONFIG_SETTING_LIMITATIONS :{ORANGE}Ierobežojumi +STR_CONFIG_SETTING_ACCIDENTS :{ORANGE}Katastrofas / negadījumi +STR_CONFIG_SETTING_GENWORLD :{ORANGE}Pasaules radīšana +STR_CONFIG_SETTING_ENVIRONMENT :{ORANGE}Apkārtējā vide +STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :{ORANGE}Pašvaldības +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Pilsētas +STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}Ražotnes +STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :{ORANGE}Kravu sadale +STR_CONFIG_SETTING_AI :{ORANGE}Sāncenši +STR_CONFIG_SETTING_AI_NPC :{ORANGE}Nespēlētāju tēli (datora vadīti) STR_CONFIG_SETTING_PATHFINDER_OPF :Sākotnējais STR_CONFIG_SETTING_PATHFINDER_NPF :NPF @@ -1650,7 +1674,7 @@ STR_INTRO_MULTIPLAYER :{BLACK}Vairāks STR_INTRO_GAME_OPTIONS :{BLACK}Spēles opcijas STR_INTRO_HIGHSCORE :{BLACK}Sasniegumu tabula -STR_INTRO_ADVANCED_SETTINGS :{BLACK}Papildu iestatījumi +STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Iestatījumi STR_INTRO_NEWGRF_SETTINGS :{BLACK}NewGRF iestatījumi STR_INTRO_ONLINE_CONTENT :{BLACK}Pārbaudīt tiešsaistes saturu STR_INTRO_SCRIPT_SETTINGS :{BLACK}MI/spēles skriptu iestatījumi @@ -1670,7 +1694,7 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Izvēlē STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Rādīt spēles opcijas STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Rādīt sasniegumu tabulu -STR_INTRO_TOOLTIP_ADVANCED_SETTINGS :{BLACK}Rādīt papildu iestatījumus +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Displeja iestatījumi STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Rādīt NewGRF iestatījumus STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Pārbaudīt vai lejupielādei nav pieejams jauns un atjaunināts saturs STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Rādīt MI un spēles skriptu iestatījumus @@ -1710,6 +1734,8 @@ STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Spēlē STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Burvju buldozers (nojauc ražotnes, nepārvietojamus objektus): {ORANGE}{STRING} STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}Tuneļi drīkst krustoties: {ORANGE}{STRING} STR_CHEAT_NO_JETCRASH :{LTBLUE}Reaktīvās lidmašīnas mazajās lidostās neavarēs (bieži): {ORANGE}{STRING} +STR_CHEAT_EDIT_MAX_HL :{LTBLUE}Izmainīt maksimālo kartes augstumu: {ORANGE}{NUM} +STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Izmainīt kalnu maksimālo augstumu kartē STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE :Mērena klimata ainava STR_CHEAT_SWITCH_CLIMATE_SUB_ARCTIC_LANDSCAPE :Subarktikas klimata ainava STR_CHEAT_SWITCH_CLIMATE_SUB_TROPICAL_LANDSCAPE :Subtropu klimata ainava @@ -1758,6 +1784,7 @@ STR_LIVERY_FREIGHT_TRAM :Kravas tramvajs STR_FACE_CAPTION :{WHITE}Sejas izvēle STR_FACE_CANCEL_TOOLTIP :{BLACK}Pārtraukt jaunas sejas izvēli STR_FACE_OK_TOOLTIP :{BLACK}Apstiprināt izvēlēto seju +STR_FACE_RANDOM :{BLACK}Nejaušs STR_FACE_MALE_BUTTON :{BLACK}Vīrietis STR_FACE_MALE_TOOLTIP :{BLACK}Izvēlēties vīriešu sejas @@ -1877,13 +1904,13 @@ STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}Aizsarg STR_NETWORK_START_SERVER_UNADVERTISED :Nē STR_NETWORK_START_SERVER_ADVERTISED :Jā STR_NETWORK_START_SERVER_CLIENTS_SELECT :{BLACK}{NUM} spēlētāj{P s i u} -STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Maks. spēlētāju skaits: +STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Maksimālais spēlētāju skaits: STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS_TOOLTIP :{BLACK}Izvēlēties maksimālo spēlētāju skaitu. Ne visiem slotiem ir jābūt aizpildītiem STR_NETWORK_START_SERVER_COMPANIES_SELECT :{BLACK}{NUM} uzņēmum{P s i u} -STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}Maks. uzņēmumu skaits: +STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}Maksimālais uzņēmumu skaits: STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES_TOOLTIP :{BLACK}Ierobežo serveri noteiktam uzņēmumu skaitam STR_NETWORK_START_SERVER_SPECTATORS_SELECT :{BLACK}{NUM} novērotāj{P s i u} -STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS :{BLACK}Maks. novērotāju skaits: +STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS :{BLACK}Maksimālais novērotāju skaits: STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS_TOOLTIP :{BLACK}Ierobežo serveri noteiktam novērotāju skaitam STR_NETWORK_START_SERVER_LANGUAGE_SPOKEN :{BLACK}Valoda, kurā runā: STR_NETWORK_START_SERVER_LANGUAGE_TOOLTIP :{BLACK}Citi lietotāji zinās, kurā valodā tiek runāts uz servera @@ -1923,7 +1950,7 @@ STR_NETWORK_LANG_TURKISH :Turku STR_NETWORK_LANG_UKRAINIAN :Ukraiņu STR_NETWORK_LANG_AFRIKAANS :Āfrikāņu STR_NETWORK_LANG_CROATIAN :Horvātu -STR_NETWORK_LANG_CATALAN :Katalāņu +STR_NETWORK_LANG_CATALAN :Kataloņu STR_NETWORK_LANG_ESTONIAN :Igauņu STR_NETWORK_LANG_GALICIAN :Galisiešu STR_NETWORK_LANG_GREEK :Grieķu @@ -2219,7 +2246,7 @@ STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Būvēt STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Būvēt vilcienu depo (vilcienu pirkšanai un apkopei). Shift pārslēdz būvi/rādīt izmaksu tāmi STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Pārveidot sliedes par pieturas punktu. Ctrl iespējo pieturas punktu apvienošanu. Shift pārslēdz būvēšanu/izmaksu tāmes rādīšanu STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Būvēt dzelzceļa staciju. Ctrl iespējo staciju apvienošanu. Shift pārslēdz būve/rādīt izmaksu tāmi -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Būvēt dzelzceļa signālus. Ctrl pārslēdz semaforus/luksoforus{}Vilkšana uzbūvē signālus uz taisna sliežu posma. Ctrl uzbūvē signālus līdz nākamajam sazarojumam{}Ctrl+klikšķis pārslēdz signālu izvēles loga atvēršanu. Shift pārslēdz būve/rādīt izmaksu tāmi +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Būvēt dzelzceļa signālus. Ctrl pārslēdz semaforus/luksoforus{}Vilkšana uzbūvē signālus uz taisna sliežu posma. Ctrl uzbūvē signālus līdz nākamajam sazarojumam vai signālam{}Ctrl+Klikšķis pārslēdz signālu izvēles loga atvēršanu. Shift pārslēdz starp būvet/rādīt izmaksu tāmi STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Būvēt dzelzceļa tiltu. Shift pārslēdz būvēšanu/izmaksu tāmes rādīšanu STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Būvēt dzelzceļa tuneli. Shift pārslēdz būvēšanu/izmaksu tāmes rādīšanu STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Pārslēgties starp sliežu, signālierīču, pieturas punktu būvēšanu/noņemšanu. Aizturēt Ctrl, lai noņemtu arī sliedes no pieturas punktiem un stacijām @@ -2592,7 +2619,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-2014 OpenTTD darba grupa +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 OpenTTD darba grupa # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Saglabāt spēli @@ -2611,6 +2638,7 @@ STR_SAVELOAD_SAVE_BUTTON :{BLACK}Saglabā STR_SAVELOAD_SAVE_TOOLTIP :{BLACK}Saglabāt šo spēli izmantojot izvēlēto nosaukumu STR_SAVELOAD_LOAD_BUTTON :{BLACK}Ielādēt STR_SAVELOAD_LOAD_TOOLTIP :{BLACK}Ielādēt izvēlēto spēli +STR_SAVELOAD_LOAD_HEIGHTMAP_TOOLTIP :{BLACK}Ielādēt atlasīto augstumu karti STR_SAVELOAD_DETAIL_CAPTION :{BLACK}Spēles īpašības STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}Nav pieejamas informācijas STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING} @@ -2625,13 +2653,12 @@ STR_MAPGEN_BY :{BLACK}* STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Pilsētu daudzums: STR_MAPGEN_DATE :{BLACK}Datums: STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Ražotņu daudzums: +STR_MAPGEN_MAX_HEIGHTLEVEL :{BLACK}Maksimālais kartes augstums +STR_MAPGEN_MAX_HEIGHTLEVEL_UP :{BLACK}Palielināt kalnu maksimālo augstumu kartē par vienu vienību +STR_MAPGEN_MAX_HEIGHTLEVEL_DOWN :{BLACK}Samazināt kalnu maksimālu augstumu kartē par vienu vienību STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}Sniega līnijas augstums STR_MAPGEN_SNOW_LINE_UP :{BLACK}Paaugstināt sniega līnijas augstumu STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}Pazemināt sniega līnijas augstumu -STR_MAPGEN_RANDOM_SEED :{BLACK}Nejaušs sākums: -STR_MAPGEN_RANDOM_SEED_HELP :{BLACK}Klikšķināt, lai ievadītu nejaušu sākumu -STR_MAPGEN_RANDOM :{BLACK}Nejaušs -STR_MAPGEN_RANDOM_HELP :{BLACK}Mainīt apvidus radīšanā izmantoto nejaušo sākumu STR_MAPGEN_LAND_GENERATOR :{BLACK}Zemes radītājs: STR_MAPGEN_TREE_PLACER :{BLACK}Koku algoritms: STR_MAPGEN_TERRAIN_TYPE :{BLACK}Apvidus reljefs: @@ -2658,7 +2685,7 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Augstumu STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Lielums: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} -STR_MAPGEN_RANDOM_SEED_OSKTITLE :{BLACK}Ievadīt nejaušu sākumu +STR_MAPGEN_MAX_HEIGHTLEVEL_QUERY_CAPT :{WHITE}Mainīt kartes maksimālo augstumu STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}Mainīt sniega līnijas augstumu STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Mainīt sākuma gadu @@ -2737,6 +2764,13 @@ STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Nevar atra STR_NEWGRF_SETTINGS_DISABLED :{RED}Atspējots STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Nav savietojams ar šo OpenTTD versiju +# NewGRF save preset window +STR_SAVE_PRESET_CAPTION :{WHITE}Iepriekšiestatījuma saglabāšana +STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}Pašlaik izvēlētā iepriekšiestatījuma nosaukums saglabāšanai +STR_SAVE_PRESET_CANCEL :{BLACK}Atcelt +STR_SAVE_PRESET_CANCEL_TOOLTIP :{BLACK}Nemainīt iepriekšiestatījumu +STR_SAVE_PRESET_SAVE :{BLACK}Saglabāt + # NewGRF parameters window STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Mainīt NewGRF parametrus STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Aizvērt @@ -2767,7 +2801,6 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Iepriek STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Iet pie iepriekšējā parastā gariņa, izlaižot visus pseido/pārkrāsotos/fonta gariņus STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Atlasītā gariņa attēlojums. To attēlojot, izkārtojums netiek ievērots STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Pārvietot gariņu, lai mainītu X un Y vērtības -STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X garums: {NUM}, Y garums: {NUM} STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Paņemt gariņu STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Paņemt gariņu no jebkuras vietas ekrānā @@ -2880,8 +2913,8 @@ STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} piegādāts STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (joprojām pieprasīts) STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (piegādāts) -STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Pilsēta aug katr{P 0 u as u} {ORANGE}{COMMA}{BLACK} dien{P u as u} -STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Pilsēta aug katr{P 0 u as u} {ORANGE}{COMMA}{BLACK} dien{P u as u} (finansēta) +STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Pilsēta aug katr{P 0 u as u} {ORANGE}{COMMA}{BLACK}{NBSP}dien{P u as u} +STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Pilsēta aug katr{P 0 u as u} {ORANGE}{COMMA}{BLACK}{NBSP}dien{P u as u} (finansēta) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}Pilsēta {RED}neattīstās{BLACK} STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Trokšņu ierobežojums pilsētā: {ORANGE}{COMMA}{BLACK} maks.: {ORANGE}{COMMA} STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Centrēt galveno skatu uz pilsētu. Ctrl+klikšķis atvērs skatu uz pilsētu jaunā skatlaukā @@ -2941,7 +2974,7 @@ STR_GOAL_QUESTION_CAPTION_INFORMATION :Informācija STR_GOAL_QUESTION_CAPTION_WARNING :Brīdinājums STR_GOAL_QUESTION_CAPTION_ERROR :Kļūda -### Start of Goal Question button list +############ Start of Goal Question button list STR_GOAL_QUESTION_BUTTON_CANCEL :Atcelt STR_GOAL_QUESTION_BUTTON_OK :Labi STR_GOAL_QUESTION_BUTTON_NO :Nē @@ -2962,6 +2995,7 @@ STR_GOAL_QUESTION_BUTTON_RESTART :Pārstartēt STR_GOAL_QUESTION_BUTTON_POSTPONE :Atlikt STR_GOAL_QUESTION_BUTTON_SURRENDER :Padoties STR_GOAL_QUESTION_BUTTON_CLOSE :Aizvērt +############ End of Goal Question button list # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}Subsīdijas @@ -2996,7 +3030,6 @@ STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}Neviena # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} -STR_STATION_VIEW_WAITING_TITLE :{BLACK}Gaida: {WHITE}{STRING} STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} no {STATION}) @@ -3090,7 +3123,7 @@ STR_FINANCES_POSITIVE_INCOME :{BLACK}+{CURREN STR_FINANCES_TOTAL_CAPTION :{WHITE}Kopā: STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}Bankas bilance STR_FINANCES_LOAN_TITLE :{WHITE}Aizdevums -STR_FINANCES_MAX_LOAN :{WHITE}Pieejamais aizdevums: {BLACK}{CURRENCY_LONG} +STR_FINANCES_MAX_LOAN :{WHITE}Maksimālais aizdevums: {BLACK}{CURRENCY_LONG} STR_FINANCES_TOTAL_CURRENCY :{BLACK}{CURRENCY_LONG} STR_FINANCES_BORROW_BUTTON :{BLACK}Aizņemties {CURRENCY_LONG} STR_FINANCES_BORROW_TOOLTIP :{BLACK}Palielināt aizdevuma apmēru. Ctrl+klikšķis lai aizņemtos cik daudz vien iespējams @@ -3245,6 +3278,8 @@ STR_GROUP_DELETE_TOOLTIP :{BLACK}Dzēst i STR_GROUP_RENAME_TOOLTIP :{BLACK}Pārdēvēt izvēlēto grupu STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Klikšķināt, lai pasargātu šo grupu no vispārējās automātiskās aizstāšanas +STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Grupas dzēšana + STR_GROUP_ADD_SHARED_VEHICLE :Pievienot kopīgos transportlīdzekļus STR_GROUP_REMOVE_ALL_VEHICLES :Novākt visus transportlīdzekļus @@ -3307,6 +3342,21 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Pārdēv STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Pārdēvēt kuģa tipu STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Pārdēvēt lidaparāta tipu +STR_BUY_VEHICLE_TRAIN_HIDE_TOGGLE_BUTTON :{BLACK}Paslēpt +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_TOGGLE_BUTTON :{BLACK}Paslēpt +STR_BUY_VEHICLE_SHIP_HIDE_TOGGLE_BUTTON :{BLACK}Paslēpt +STR_BUY_VEHICLE_AIRCRAFT_HIDE_TOGGLE_BUTTON :{BLACK}Paslēpt + +STR_BUY_VEHICLE_TRAIN_SHOW_TOGGLE_BUTTON :{BLACK}Rādīt +STR_BUY_VEHICLE_ROAD_VEHICLE_SHOW_TOGGLE_BUTTON :{BLACK}Rādīt +STR_BUY_VEHICLE_SHIP_SHOW_TOGGLE_BUTTON :{BLACK}Rādīt +STR_BUY_VEHICLE_AIRCRAFT_SHOW_TOGGLE_BUTTON :{BLACK}Rādīt + +STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Pārslēgt starp rādīt/nerādīt vilciena tipu +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Pārslēgt starp rādīt/nerādīt autotransporta līdzekļu tipu +STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Pārslēgt starp rādīt/nerādīt kuģa tipu +STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Pārslēgt starp rādīt/nerādīt lidaparāta tipu + STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}Pārdēvēt vilciena vagona tipu STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}Pārdēvēt autotransporta līdzekļa tipu STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}Pārdēvēt kuģa tipu @@ -3360,7 +3410,7 @@ STR_DEPOT_CLONE_ROAD_VEHICLE :{BLACK}Klonēt STR_DEPOT_CLONE_SHIP :{BLACK}Klonēt kuģi STR_DEPOT_CLONE_AIRCRAFT :{BLACK}Klonēt lidaparātu -STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Tas nopirks vilciena kopiju ar visiem vagoniem. Spiediet šo pogu un pēc tam uz vilciena, kas atrodas depo vai ārpus tā. Ctrl+klikšķis, lai koplietotu rīkojumus. Shift+klikšķis rāda izmaksu novērtējumu, neveicot pirkumu +STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Nopirkt vilciena kopiju ar visiem vagoniem. Spiediet šo pogu, un pēc tam uz vilciena, kas atrodas depo vai ārpus tā. Ctrl+Klikšķis, lai koplietotu rīkojumus. Shift+Klikšķis rāda izmaksu novērtējumu, neveicot pirkumu STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Tas nopirks autotransporta kopiju. Spiediet uz pogas un pēc tam uz autotransporta, kas atrodas depo vai ārpus tā. Ctrl+klikšķis, lai koplietotu rīkojumus. Shift+klikšķis rāda izmaksu novērtējumu, neveicot pirkumu STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Tas nopirks kuģa kopiju. Spiediet šo pogu un pēc tam uz kuģa, kas atrodas depo vai ārpus tā. Ctrl+klikšķis, lai koplietotu rīkojumus. Shift+klikšķis rāda izmaksu novērtējumu, neveicot pirkumu STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Tas pirks lidaparāta kopiju. Spiediet uz pogas un pēc tam uz lidaparāta, kas atrodas angārā vai ārpus tā. Ctrl+klikšķis, lai koplietotu rīkojumus. Shift+klikšķis rāda izmaksu novērtējumu, neveicot pirkumu @@ -3411,6 +3461,9 @@ STR_REPLACE_VEHICLE_ROAD_VEHICLE :Autotransporta STR_REPLACE_VEHICLE_SHIP :Kuģis STR_REPLACE_VEHICLE_AIRCRAFT :Lidaparāts +STR_REPLACE_VEHICLE_VEHICLES_IN_USE :{YELLOW}Lietošanā esošie transportlīdzekļi +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES :{YELLOW}Pieejamie transportlīdzekļi + STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Izvēlēties lokomotīves veidu, kuru vēlaties mainīt STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Izvēlēties jaunu lokomotīves veidu, kuru vēlaties lietot kreisajā pusē atlasītās lokomotīves vietā @@ -3535,7 +3588,7 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Ietilpī STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Pārvadājumu ieņēmumi: {LTBLUE}{CURRENCY_LONG} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Apkopes starplaiks: {LTBLUE}{COMMA}dienas{BLACK} Pēdējā apkope: {LTBLUE}{DATE_LONG} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Apkopes starplaiks: {LTBLUE}{COMMA}{NBSP}dienas{BLACK} Pēdējā apkope: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Apkopes starplaiks: {LTBLUE}{COMMA}%{BLACK} Pēdējā apkope: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Palielināt apkopes starplaiku par 10. Ctrl+klikšķis palielina apkopes starplaiku par 5 STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Samazināt apkopes starplaiku par 10. Ctrl+klikšķis samazina apkopes starplaiku par 5 @@ -3767,8 +3820,8 @@ STR_TIMETABLE_TRAVEL_FOR :Braukt līdz {S STR_TIMETABLE_TRAVEL_FOR_SPEED :Braukt uz {STRING} ar ne vairāk kā {VELOCITY} STR_TIMETABLE_STAY_FOR :un palikt līdz {STRING} STR_TIMETABLE_AND_TRAVEL_FOR :un braukt līdz {STRING} -STR_TIMETABLE_DAYS :{COMMA} dien{P a as u} -STR_TIMETABLE_TICKS :{COMMA} tik{P s i u} +STR_TIMETABLE_DAYS :{COMMA}{NBSP}dien{P a as u} +STR_TIMETABLE_TICKS :{COMMA}{NBSP}tik{P s i u} STR_TIMETABLE_TOTAL_TIME :{BLACK}Šis saraksts aizņems {STRING}, lai pabeigtu STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}Šis saraksts aizņems vismaz {STRING} lai pabeigtu (nav viss pēc saraksta) @@ -4051,6 +4104,7 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... mež STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... var būvēt tikai sniegotajos apgabalos STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... var būvēt tikai bezsniega apgabalos + # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Šeit nevar būvēt dzelzceļa staciju... STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}Nevar būvēt autobusu pieturvietu... @@ -4187,6 +4241,7 @@ STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Vispirms STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}Nevar sākties un beigties tajā paša vietā STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}Tilta gali nav vienā līmenī STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}Tilts ir pārāk zems šim zemes apvidum +STR_ERROR_BRIDGE_TOO_HIGH_FOR_TERRAIN :{WHITE}Tilts ir pārāk augsts priekš šī vilciena. STR_ERROR_START_AND_END_MUST_BE_IN :{WHITE}Sākumam un beigām jābūt uz vienas līnijas STR_ERROR_ENDS_OF_BRIDGE_MUST_BOTH :{WHITE}... abiem tilta galiem jābūt uz zemes STR_ERROR_BRIDGE_TOO_LONG :{WHITE}... tilts ir pārāk garš @@ -4744,6 +4799,7 @@ STR_COMPANY_NAME :{COMPANY} STR_COMPANY_NAME_COMPANY_NUM :{COMPANY} {COMPANY_NUM} STR_DEPOT_NAME :{DEPOT} STR_ENGINE_NAME :{ENGINE} +STR_HIDDEN_ENGINE_NAME :{ENGINE} (paslēpts) STR_GROUP_NAME :{GROUP} STR_INDUSTRY_NAME :{INDUSTRY} STR_PRESIDENT_NAME :{PRESIDENT_NAME} @@ -4779,8 +4835,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -4791,9 +4845,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/lithuanian.txt b/src/lang/lithuanian.txt index 9082cd6265..53be9e6d5d 100644 --- a/src/lang/lithuanian.txt +++ b/src/lang/lithuanian.txt @@ -290,30 +290,30 @@ STR_CARGO_SINGULAR_FIZZY_DRINK.ko :gaiviųjų gėr # Quantity of cargo STR_QUANTITY_NOTHING : -STR_QUANTITY_PASSENGERS :{COMMA} keleiv{P is iai ių} +STR_QUANTITY_PASSENGERS :{COMMA}{NBSP} keleiv{P is iai ių} STR_QUANTITY_COAL :{WEIGHT_LONG} anglies -STR_QUANTITY_MAIL :{COMMA} pašto maiš{P as ai ų} +STR_QUANTITY_MAIL :{COMMA}{NBSP}pašto maiš{P as ai ų} STR_QUANTITY_OIL :{VOLUME_LONG} naftos -STR_QUANTITY_LIVESTOCK :{COMMA} galvij{P as ai ų} -STR_QUANTITY_GOODS :{COMMA} prekių dėž{P ė ės ių} +STR_QUANTITY_LIVESTOCK :{COMMA}{NBSP}galvij{P as ai ų} +STR_QUANTITY_GOODS :{COMMA}{NBSP}prekių dėž{P ė ės ių} STR_QUANTITY_GRAIN :{WEIGHT_LONG} grūdų STR_QUANTITY_WOOD :{WEIGHT_LONG} medienos STR_QUANTITY_IRON_ORE :{WEIGHT_LONG} geležies rūdos STR_QUANTITY_STEEL :{WEIGHT_LONG} plieno -STR_QUANTITY_VALUABLES :{COMMA} maiš{P as ai ų} brangenybių +STR_QUANTITY_VALUABLES :{COMMA}{NBSP}maiš{P as ai ų} brangenybių STR_QUANTITY_COPPER_ORE :{WEIGHT_LONG} vario rūdos STR_QUANTITY_MAIZE :{WEIGHT_LONG} kukurūzų STR_QUANTITY_FRUIT :{WEIGHT_LONG} vaisių -STR_QUANTITY_DIAMONDS :{COMMA} dėž{P ė ės ių} deimantų +STR_QUANTITY_DIAMONDS :{COMMA}{NBSP}dėž{P ė ės ių} deimantų STR_QUANTITY_FOOD :{WEIGHT_LONG} maisto STR_QUANTITY_PAPER :{WEIGHT_LONG} popieriaus -STR_QUANTITY_GOLD :{COMMA} aukso kapš{P as ai ų} +STR_QUANTITY_GOLD :{COMMA}{NBSP}aukso kapš{P as ai ų} STR_QUANTITY_WATER :{VOLUME_LONG} vandens STR_QUANTITY_WHEAT :{WEIGHT_LONG} kviečių STR_QUANTITY_RUBBER :{VOLUME_LONG} kaučiuko STR_QUANTITY_SUGAR :{WEIGHT_LONG} cukraus -STR_QUANTITY_TOYS :{COMMA} žaislų -STR_QUANTITY_SWEETS :{COMMA} saldumynų krepšel{P is iai ių} +STR_QUANTITY_TOYS :{COMMA}{NBSP}žaislų +STR_QUANTITY_SWEETS :{COMMA}{NBSP}saldumynų krepšel{P is iai ių} STR_QUANTITY_COLA :{VOLUME_LONG} kolos STR_QUANTITY_CANDYFLOSS :{WEIGHT_LONG} cukraus vatos STR_QUANTITY_BUBBLES :{COMMA} burbul{P as ai ų} @@ -360,12 +360,12 @@ STR_ABBREV_NONE :{TINY_FONT}- STR_ABBREV_ALL :{TINY_FONT}VISI # 'Mode' of transport for cargoes -STR_PASSENGERS :{COMMA} keleiv{P is iai ių} -STR_BAGS :{COMMA} maiš{P as ai ų} -STR_TONS :{COMMA} ton{P a os ų} -STR_LITERS :{COMMA} litr{P as ai ų} -STR_ITEMS :{COMMA} vienet{P as ai ų} -STR_CRATES :{COMMA} dėž{P ė ės ių} +STR_PASSENGERS :{COMMA}{NBSP}keleiv{P is iai ių} +STR_BAGS :{COMMA}{NBSP}maiš{P as ai ų} +STR_TONS :{COMMA}{NBSP}ton{P a os ų} +STR_LITERS :{COMMA}{NBSP}litr{P as ai ų} +STR_ITEMS :{COMMA}{NBSP}vienet{P as ai ų} +STR_CRATES :{COMMA}{NBSP}dėž{P ė ės ių} # Colours, do not shuffle STR_COLOUR_DARK_BLUE :Tamsiai mėlyna @@ -386,37 +386,37 @@ STR_COLOUR_GREY :Pilka STR_COLOUR_WHITE :Balta # Units used in OpenTTD -STR_UNITS_VELOCITY_IMPERIAL :{COMMA} mph -STR_UNITS_VELOCITY_METRIC :{COMMA} km/h -STR_UNITS_VELOCITY_SI :{COMMA} m/s +STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}mph +STR_UNITS_VELOCITY_METRIC :{COMMA}{NBSP}km/h +STR_UNITS_VELOCITY_SI :{COMMA}{NBSP}m/s -STR_UNITS_POWER_IMPERIAL :{COMMA}AG -STR_UNITS_POWER_METRIC :{COMMA}AG -STR_UNITS_POWER_SI :{COMMA}kW +STR_UNITS_POWER_IMPERIAL :{COMMA}{NBSP}AG +STR_UNITS_POWER_METRIC :{COMMA}{NBSP}AG +STR_UNITS_POWER_SI :{COMMA}{NBSP}kW -STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}t -STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}t -STR_UNITS_WEIGHT_SHORT_SI :{COMMA}kg +STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_SI :{COMMA}{NBSP}kg -STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA} ton{P a os ų} -STR_UNITS_WEIGHT_LONG_METRIC :{COMMA} ton{P a os ų} -STR_UNITS_WEIGHT_LONG_SI :{COMMA} kg +STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA}{NBSP}ton{P a os ų} +STR_UNITS_WEIGHT_LONG_METRIC :{COMMA}{NBSP}ton{P a os ų} +STR_UNITS_WEIGHT_LONG_SI :{COMMA}{NBSP}kg -STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}gal -STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}l -STR_UNITS_VOLUME_SHORT_SI :{COMMA}m³ +STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}{NBSP}gal +STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}{NBSP}l +STR_UNITS_VOLUME_SHORT_SI :{COMMA}{NBSP}m³ -STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA} galon{P as ai ų} -STR_UNITS_VOLUME_LONG_METRIC :{COMMA} litr{P as ai ų} -STR_UNITS_VOLUME_LONG_SI :{COMMA} m³ +STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA}{NBSP}galon{P as ai ų} +STR_UNITS_VOLUME_LONG_METRIC :{COMMA}{NBSP}litr{P as ai ų} +STR_UNITS_VOLUME_LONG_SI :{COMMA}{NBSP}m³ -STR_UNITS_FORCE_IMPERIAL :{COMMA} lbf -STR_UNITS_FORCE_METRIC :{COMMA} kgf -STR_UNITS_FORCE_SI :{COMMA} kN +STR_UNITS_FORCE_IMPERIAL :{COMMA}{NBSP}lbf +STR_UNITS_FORCE_METRIC :{COMMA}{NBSP}kgf +STR_UNITS_FORCE_SI :{COMMA}{NBSP}kN -STR_UNITS_HEIGHT_IMPERIAL :{COMMA} ft -STR_UNITS_HEIGHT_METRIC :{COMMA} m -STR_UNITS_HEIGHT_SI :{COMMA} m +STR_UNITS_HEIGHT_IMPERIAL :{COMMA}{NBSP}ft +STR_UNITS_HEIGHT_METRIC :{COMMA}{NBSP}m +STR_UNITS_HEIGHT_SI :{COMMA}{NBSP}m # Common window strings STR_LIST_FILTER_TITLE :{BLACK}Raktažodis: @@ -427,14 +427,14 @@ STR_TOOLTIP_GROUP_ORDER :{BLACK}Pasirink STR_TOOLTIP_SORT_ORDER :{BLACK}Rikiavimo tvarka (didėjančiai/mažėjančiai) STR_TOOLTIP_SORT_CRITERIA :{BLACK}Rikiavimo raktas STR_TOOLTIP_FILTER_CRITERIA :{BLACK}Filtravimo raktas -STR_BUTTON_SORT_BY :{BLACK}Rikiuoti +STR_BUTTON_SORT_BY :{BLACK}Rikiuoti pagal STR_BUTTON_LOCATION :{BLACK}Vieta STR_BUTTON_RENAME :{BLACK}Pervadinti STR_TOOLTIP_CLOSE_WINDOW :{BLACK}Užverti langą STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS :{BLACK}Lango antraštė — tempkite ją, jei norite perkelti langą į kitą ekrano vietą STR_TOOLTIP_SHADE :{BLACK}Sumažinti langą — rodyti tik lango antraštę -STR_TOOLTIP_DEBUG :{BLACK}Rodyti papildomą NewGRF derinimo informaciją +STR_TOOLTIP_DEBUG :{BLACK}Rodyti papildomą plėtinio derinimo informaciją STR_TOOLTIP_DEFSIZE :{BLACK}Pakeisti lango dydį į numatytąjį. Spragtelėjus laikant nuspautą Ctrl klavišą, dabartinis lango dydis bus išsaugotas kaip numatytasis STR_TOOLTIP_STICKY :{BLACK}Uždrausti komandai „Užverti visus langus“ užverti šį langą (komanda „Užverti visus langus“ iškviečiama „Delete“ klavišu) STR_TOOLTIP_RESIZE :{BLACK}Tempkite už šios vietos, jei norite pakeisti lango matmenis @@ -443,6 +443,17 @@ STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Stačioj STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Gulščioji slakjuostė — paslenka sąrašą kairėn ar dešinėn STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Nugriauti pastatus, bėgius ar kitus objektus pasirinktame žemės plote. Velkant laikant nuspaudus Ctrl klavišą, plotas bus žymimas įstrižai. Spragtelėjus laikant nuspaustą Shift klavišą, bus parodytos numatomos išlaidos +# Show engines button +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}Rodyti paslėptus +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK}Rodyti paslėptus +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}Rodyti paslėptus +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}Rodyti paslėptus + +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}Įjungus šį mygtuką, sąraše bus rodomos ir paslėptos transporto priemonės +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE_TOOLTIP :{BLACK}Įjungus šį mygtuką, sąraše bus rodomos ir paslėptos transporto priemonės +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}Įjungus šį mygtuką, sąraše bus rodomos ir paslėptos transporto priemonės +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Įjungus šį mygtuką, sąraše bus rodomos ir paslėptos transporto priemonės + # Query window STR_BUTTON_DEFAULT :{BLACK}Numatytas STR_BUTTON_CANCEL :{BLACK}Atšaukti @@ -454,51 +465,51 @@ STR_OSK_KEYBOARD_LAYOUT_CAPS :~!@#$%^&*()_+|Q # Measurement tooltip STR_MEASURE_LENGTH :{BLACK}Atstumas: {NUM} -STR_MEASURE_AREA :{BLACK}Sritis: {NUM} x {NUM} +STR_MEASURE_AREA :{BLACK}Plotas: {NUM} x {NUM} STR_MEASURE_LENGTH_HEIGHTDIFF :{BLACK}Atstumas: {NUM}{}Aukščių skirtumas: {HEIGHT} -STR_MEASURE_AREA_HEIGHTDIFF :{BLACK}Sritis: {NUM} x {NUM}{}Aukščių skirtumas: {HEIGHT} +STR_MEASURE_AREA_HEIGHTDIFF :{BLACK}Plotas: {NUM} x {NUM}{}Aukščių skirtumas: {HEIGHT} # These are used in buttons -STR_SORT_BY_CAPTION_NAME :{BLACK}Vardą +STR_SORT_BY_CAPTION_NAME :{BLACK}vardą STR_SORT_BY_CAPTION_DATE :{BLACK}Datą # These are used in dropdowns -STR_SORT_BY_NAME :Pavadinimą -STR_SORT_BY_PRODUCTION :Produkciją -STR_SORT_BY_TYPE :Tipą -STR_SORT_BY_TRANSPORTED :Pervežimus -STR_SORT_BY_NUMBER :Kiekį -STR_SORT_BY_PROFIT_LAST_YEAR :Pernai metų pelną -STR_SORT_BY_PROFIT_THIS_YEAR :Šių metų pelną -STR_SORT_BY_AGE :Amžių -STR_SORT_BY_RELIABILITY :Patikimumą -STR_SORT_BY_TOTAL_CAPACITY_PER_CARGOTYPE :Bendrą produkcijos pervežimą -STR_SORT_BY_MAX_SPEED :Maksimalų greitį -STR_SORT_BY_MODEL :Modelį -STR_SORT_BY_VALUE :Vertę +STR_SORT_BY_NAME :pavadinimą +STR_SORT_BY_PRODUCTION :produkciją +STR_SORT_BY_TYPE :tipą +STR_SORT_BY_TRANSPORTED :pervežimus +STR_SORT_BY_NUMBER :kiekį +STR_SORT_BY_PROFIT_LAST_YEAR :pernykštį pelną +STR_SORT_BY_PROFIT_THIS_YEAR :šiųmetį pelną +STR_SORT_BY_AGE :amžių +STR_SORT_BY_RELIABILITY :patikimumą +STR_SORT_BY_TOTAL_CAPACITY_PER_CARGOTYPE :bendrą talpą +STR_SORT_BY_MAX_SPEED :didžiausią greitį +STR_SORT_BY_MODEL :modelį +STR_SORT_BY_VALUE :vertę STR_SORT_BY_LENGTH :Ilgį -STR_SORT_BY_LIFE_TIME :Likusį naudojimo laiką -STR_SORT_BY_TIMETABLE_DELAY :Tvarkaraščio užtrukimą -STR_SORT_BY_FACILITY :Stoties tipą -STR_SORT_BY_WAITING_TOTAL :Visą laukiantį krovinį -STR_SORT_BY_WAITING_AVAILABLE :Prieinamą laukiantį krovinį -STR_SORT_BY_RATING_MAX :Didžiausias krovinio reitingas -STR_SORT_BY_RATING_MIN :Mažiausias krovinio reitingas -STR_SORT_BY_ENGINE_ID :VariklioID (numatytasis) -STR_SORT_BY_COST :Kainą -STR_SORT_BY_POWER :Galią -STR_SORT_BY_TRACTIVE_EFFORT :Traukos jėgą -STR_SORT_BY_INTRO_DATE :Atsiradimo datą -STR_SORT_BY_RUNNING_COST :Eksplotacijos išlaidas -STR_SORT_BY_POWER_VS_RUNNING_COST :Galią/Eksplotacijos išlaidas -STR_SORT_BY_CARGO_CAPACITY :Vagono talpą -STR_SORT_BY_RANGE :Atstumas -STR_SORT_BY_POPULATION :Populiaciją -STR_SORT_BY_RATING :Reitingas +STR_SORT_BY_LIFE_TIME :likusį naudojimo laiką +STR_SORT_BY_TIMETABLE_DELAY :tvarkaraščio vėlavimą +STR_SORT_BY_FACILITY :stoties tipą +STR_SORT_BY_WAITING_TOTAL :visą laukiantį krovinį +STR_SORT_BY_WAITING_AVAILABLE :prieinamą laukiantį krovinį +STR_SORT_BY_RATING_MAX :didžiausią krovinio reitingą +STR_SORT_BY_RATING_MIN :mažiausią krovinio reitingą +STR_SORT_BY_ENGINE_ID :variklio ID (numatytasis) +STR_SORT_BY_COST :kainą +STR_SORT_BY_POWER :galią +STR_SORT_BY_TRACTIVE_EFFORT :traukos jėgą +STR_SORT_BY_INTRO_DATE :atsiradimo datą +STR_SORT_BY_RUNNING_COST :eksploatacijos išlaidas +STR_SORT_BY_POWER_VS_RUNNING_COST :galią/eksplotacijos išlaidas +STR_SORT_BY_CARGO_CAPACITY :vagono talpą +STR_SORT_BY_RANGE :atstumą +STR_SORT_BY_POPULATION :populiaciją +STR_SORT_BY_RATING :reitingą # Tooltips for the main toolbar STR_TOOLBAR_TOOLTIP_PAUSE_GAME :{BLACK}Pristabdyti žaidimą -STR_TOOLBAR_TOOLTIP_FORWARD :{BLACK}Pagreitinti laiko tekmę +STR_TOOLBAR_TOOLTIP_FORWARD :{BLACK}Pagreitinti žaidimą STR_TOOLBAR_TOOLTIP_OPTIONS :{BLACK}Parinktys STR_TOOLBAR_TOOLTIP_SAVE_GAME_ABANDON_GAME :{BLACK}Išsaugoti/nutraukti žaidimą arba užverti programą STR_TOOLBAR_TOOLTIP_DISPLAY_MAP :{BLACK}Rodyti žemėlapį, papildomą peržiūros langą arba ženklų sąrašą @@ -555,20 +566,20 @@ STR_SCENEDIT_FILE_MENU_QUIT :Išeiti ############ range for SE file menu starts ############ range for settings menu starts -STR_SETTINGS_MENU_GAME_OPTIONS :Žaidimo nustatymai -STR_SETTINGS_MENU_CONFIG_SETTINGS :Sudėtingesni nustatymai -STR_SETTINGS_MENU_SCRIPT_SETTINGS :DI / Žaidimo nustatymai -STR_SETTINGS_MENU_NEWGRF_SETTINGS :Papild. grafikos nustatymai (NewGRF) -STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Permatomumo nustatymai -STR_SETTINGS_MENU_TOWN_NAMES_DISPLAYED :Rodyti miestų pavadinimus -STR_SETTINGS_MENU_STATION_NAMES_DISPLAYED :Rodyti stotelių pavadinimus -STR_SETTINGS_MENU_WAYPOINTS_DISPLAYED :Rodyti tarpines stoteles -STR_SETTINGS_MENU_SIGNS_DISPLAYED :Rodyti ženklus -STR_SETTINGS_MENU_SHOW_COMPETITOR_SIGNS :Rodomi konkurentų ženklai ir pavadinimai +STR_SETTINGS_MENU_GAME_OPTIONS :Pagrindinės nuostatos +STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Išplėstinės nuostatos +STR_SETTINGS_MENU_SCRIPT_SETTINGS :Dirbtinio intelekto nuostatos +STR_SETTINGS_MENU_NEWGRF_SETTINGS :Plėtinių nuostatos +STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Skaidrumo nuostatos +STR_SETTINGS_MENU_TOWN_NAMES_DISPLAYED :Miestų pavadinimai +STR_SETTINGS_MENU_STATION_NAMES_DISPLAYED :Stotelių pavadinimai +STR_SETTINGS_MENU_WAYPOINTS_DISPLAYED :Tarpinės stotelės +STR_SETTINGS_MENU_SIGNS_DISPLAYED :Ženklai +STR_SETTINGS_MENU_SHOW_COMPETITOR_SIGNS :Varžovų ženklai ir pavadinimai STR_SETTINGS_MENU_FULL_ANIMATION :Visa animacija STR_SETTINGS_MENU_FULL_DETAIL :Visos smulkmenos -STR_SETTINGS_MENU_TRANSPARENT_BUILDINGS :Permatomi pastatai -STR_SETTINGS_MENU_TRANSPARENT_SIGNS :Permatomi stočių ženklai +STR_SETTINGS_MENU_TRANSPARENT_BUILDINGS :Skaidrūs pastatai +STR_SETTINGS_MENU_TRANSPARENT_SIGNS :Skaidrūs ženklai ############ range ends here ############ range for file menu starts @@ -582,7 +593,7 @@ STR_FILE_MENU_EXIT :Išeiti # map menu STR_MAP_MENU_MAP_OF_WORLD :Žemėlapis STR_MAP_MENU_EXTRA_VIEW_PORT :Papildomas peržiūros langas -STR_MAP_MENU_LINGRAPH_LEGEND :Krovinių Tiekimo Legenda +STR_MAP_MENU_LINGRAPH_LEGEND :Krovinių srautų legenda STR_MAP_MENU_SIGN_LIST :Ženklų sąrašas ############ range for town menu starts @@ -660,12 +671,12 @@ STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Ekrano nuotrauk STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Nepriartintas ekrano vaizdas STR_ABOUT_MENU_GIANT_SCREENSHOT :Fotografuoti viso ekrano vaizdą STR_ABOUT_MENU_ABOUT_OPENTTD :Apie „OpenTTD“ -STR_ABOUT_MENU_SPRITE_ALIGNER :Animacinių objektų išdėstytuvas +STR_ABOUT_MENU_SPRITE_ALIGNER :Spruklių lygiuoklė STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Rodyti/slėpti apvadus STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Perjungti paveiktų blokų spalvinimą ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window STR_ORDINAL_NUMBER_1ST :1 STR_ORDINAL_NUMBER_2ND :2 STR_ORDINAL_NUMBER_3RD :3 @@ -681,22 +692,40 @@ STR_ORDINAL_NUMBER_12TH :12 STR_ORDINAL_NUMBER_13TH :13 STR_ORDINAL_NUMBER_14TH :14 STR_ORDINAL_NUMBER_15TH :15 -STR_ORDINAL_NUMBER_16TH :16 -STR_ORDINAL_NUMBER_17TH :17 -STR_ORDINAL_NUMBER_18TH :18 -STR_ORDINAL_NUMBER_19TH :19 -STR_ORDINAL_NUMBER_20TH :20 -STR_ORDINAL_NUMBER_21ST :21 -STR_ORDINAL_NUMBER_22ND :22 -STR_ORDINAL_NUMBER_23RD :23 -STR_ORDINAL_NUMBER_24TH :24 -STR_ORDINAL_NUMBER_25TH :25 -STR_ORDINAL_NUMBER_26TH :26 -STR_ORDINAL_NUMBER_27TH :27 -STR_ORDINAL_NUMBER_28TH :28 -STR_ORDINAL_NUMBER_29TH :29 -STR_ORDINAL_NUMBER_30TH :30 -STR_ORDINAL_NUMBER_31ST :31 +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :1 +STR_DAY_NUMBER_2ND :2 +STR_DAY_NUMBER_3RD :3 +STR_DAY_NUMBER_4TH :4 +STR_DAY_NUMBER_5TH :5 +STR_DAY_NUMBER_6TH :6 +STR_DAY_NUMBER_7TH :7 +STR_DAY_NUMBER_8TH :8 +STR_DAY_NUMBER_9TH :9 +STR_DAY_NUMBER_10TH :10 +STR_DAY_NUMBER_11TH :11 +STR_DAY_NUMBER_12TH :12 +STR_DAY_NUMBER_13TH :13 +STR_DAY_NUMBER_14TH :14 +STR_DAY_NUMBER_15TH :15 +STR_DAY_NUMBER_16TH :16 +STR_DAY_NUMBER_17TH :17 +STR_DAY_NUMBER_18TH :18 +STR_DAY_NUMBER_19TH :19 +STR_DAY_NUMBER_20TH :20 +STR_DAY_NUMBER_21ST :21 +STR_DAY_NUMBER_22ND :22 +STR_DAY_NUMBER_23RD :23 +STR_DAY_NUMBER_24TH :24 +STR_DAY_NUMBER_25TH :25 +STR_DAY_NUMBER_26TH :26 +STR_DAY_NUMBER_27TH :27 +STR_DAY_NUMBER_28TH :28 +STR_DAY_NUMBER_29TH :29 +STR_DAY_NUMBER_30TH :30 +STR_DAY_NUMBER_31ST :31 ############ range for days ends ############ range for months starts @@ -738,7 +767,7 @@ STR_GRAPH_Y_LABEL_NUMBER :{TINY_FONT}{COM STR_GRAPH_OPERATING_PROFIT_CAPTION :{WHITE}Įprastinės veiklos pelno diagrama STR_GRAPH_INCOME_CAPTION :{WHITE}Pajamų diagrama STR_GRAPH_CARGO_DELIVERED_CAPTION :{WHITE}Prekių vienetų pervežta -STR_GRAPH_COMPANY_PERFORMANCE_RATINGS_CAPTION :{WHITE}Kompanijos pajėgumo reitingas (maksimalus=1000) +STR_GRAPH_COMPANY_PERFORMANCE_RATINGS_CAPTION :{WHITE}Kompanijos pajėgumo reitingas (didžiausias=1000) STR_GRAPH_COMPANY_VALUES_CAPTION :{WHITE}Kompanijos vertė STR_GRAPH_CARGO_PAYMENT_RATES_CAPTION :{WHITE}Krovinių pervežimo tarifai @@ -864,25 +893,35 @@ STR_HIGHSCORE_COMPANY_ACHIEVES_STATUS :{BIG_FONT}{BLAC STR_HIGHSCORE_PRESIDENT_OF_COMPANY_ACHIEVES_STATUS :{BIG_FONT}{WHITE}{PRESIDENT_NAME} iš {COMPANY} pasiekė „{STRING}“ statusą! # Smallmap window -STR_SMALLMAP_CAPTION :{WHITE}Žemėlapis - {STRING} +STR_SMALLMAP_CAPTION :{WHITE}{STRING.ko} žemėlapis -STR_SMALLMAP_TYPE_CONTOURS :Kontūrai +STR_SMALLMAP_TYPE_CONTOURS :Izohipsės +STR_SMALLMAP_TYPE_CONTOURS.ko :Izohipsių STR_SMALLMAP_TYPE_VEHICLES :Transporto priemonės +STR_SMALLMAP_TYPE_VEHICLES.kas :Transporto priemonės +STR_SMALLMAP_TYPE_VEHICLES.ko :Transporto priemonių STR_SMALLMAP_TYPE_INDUSTRIES :Pramonės įmonės -STR_SMALLMAP_TYPE_ROUTEMAP :Krovinių Tiekimas -STR_SMALLMAP_TYPE_ROUTES :Keliai +STR_SMALLMAP_TYPE_INDUSTRIES.kas :Pramonės įmonės +STR_SMALLMAP_TYPE_INDUSTRIES.ko :Pramonės įmonių +STR_SMALLMAP_TYPE_ROUTEMAP :Krovinių srautai +STR_SMALLMAP_TYPE_ROUTEMAP.ko :Krovinių srautų +STR_SMALLMAP_TYPE_ROUTES :Transporto keliai +STR_SMALLMAP_TYPE_ROUTES.ko :Transporto kelių STR_SMALLMAP_TYPE_VEGETATION :Augalija -STR_SMALLMAP_TYPE_OWNERS :Savininkai -STR_SMALLMAP_TOOLTIP_SHOW_LAND_CONTOURS_ON_MAP :{BLACK}Rodyti žemės kontūrus žemėlapyje -STR_SMALLMAP_TOOLTIP_SHOW_VEHICLES_ON_MAP :{BLACK}Rodyti transporto priemones žemėlapyje -STR_SMALLMAP_TOOLTIP_SHOW_INDUSTRIES_ON_MAP :{BLACK}Rodyti gamyklas žemėlapyje -STR_SMALLMAP_TOOLTIP_SHOW_LINK_STATS_ON_MAP :{BLACK}Rodyti krovinių tiekimą žemėlapyje -STR_SMALLMAP_TOOLTIP_SHOW_TRANSPORT_ROUTES_ON :{BLACK}Rodyti transporto kelius žemėlapyje -STR_SMALLMAP_TOOLTIP_SHOW_VEGETATION_ON_MAP :{BLACK}Rodyti augmeniją žemėlapyje -STR_SMALLMAP_TOOLTIP_SHOW_LAND_OWNERS_ON_MAP :{BLACK}Rodyti žemės savininkus žemėlapyje -STR_SMALLMAP_TOOLTIP_INDUSTRY_SELECTION :{BLACK}Paspaudus ant gamyklos tipo bus perjungiamas to tipo gamyklų rodymas. Ctrl+Paspaudimas neberodys visų išskyrus pasirinktą. Ctrl+Paspaudimas dar kartą rodys visas. -STR_SMALLMAP_TOOLTIP_COMPANY_SELECTION :{BLACK}Paspaudus ant įmonės perjungs įmonės turto rodymą. Ctrl+Paspaudimas panaikins visas įmones išskyrus pasirinktą. Ctrl+Paspaudimas dar kartą sugrąžins visas įmones. -STR_SMALLMAP_TOOLTIP_CARGO_SELECTION :{BLACK}Spauskite ant krovinio, kad rodytų jo savybes. Ctrl+Click išjungia visus krovinius, išskyrus pasirinktus. Ctrl+Click pakartojus - įjungia juos +STR_SMALLMAP_TYPE_VEGETATION.kas :Augalija +STR_SMALLMAP_TYPE_VEGETATION.ko :Augalijos +STR_SMALLMAP_TYPE_OWNERS :Nuosavybė +STR_SMALLMAP_TYPE_OWNERS.ko :Nuosavybės +STR_SMALLMAP_TOOLTIP_SHOW_LAND_CONTOURS_ON_MAP :{BLACK}Rodyti izohipsių (vienodo aukščio linijų) žemėlapį +STR_SMALLMAP_TOOLTIP_SHOW_VEHICLES_ON_MAP :{BLACK}Rodyti transporto priemonių žemėlapį +STR_SMALLMAP_TOOLTIP_SHOW_INDUSTRIES_ON_MAP :{BLACK}Rodyti pramonės įmonių žemėlapį +STR_SMALLMAP_TOOLTIP_SHOW_LINK_STATS_ON_MAP :{BLACK}Rodyti krovinių srautų žemėlapį +STR_SMALLMAP_TOOLTIP_SHOW_TRANSPORT_ROUTES_ON :{BLACK}Rodyti transporto kelių žemėlapį +STR_SMALLMAP_TOOLTIP_SHOW_VEGETATION_ON_MAP :{BLACK}Rodyti augmenijos žemėlapį +STR_SMALLMAP_TOOLTIP_SHOW_LAND_OWNERS_ON_MAP :{BLACK}Rodyti nuosavybės žemėlapį +STR_SMALLMAP_TOOLTIP_INDUSTRY_SELECTION :{BLACK}Spragtelėjus bus įjungiamas arba išjungiamas pasirinkto tipo pramonės įmonės atvaizdavimas žemėlapyje. Spragtelėjus laikant nuspaustą Ctrl klavišą, bus atvaizduojamos/neatvaizduojamos visos kitos pramonės įmonės. +STR_SMALLMAP_TOOLTIP_COMPANY_SELECTION :{BLACK}Spragtelėjus bus įjungiamas arba išjungiamas pasirinktos kompanijos nuosavybės atvaizdavimas žemėlapyje. Spragtelėjus laikant nuspaustą Ctrl klavišą, bus atvaizduojama/neatvaizduojama visų kitų kompanijų nuosavybė. +STR_SMALLMAP_TOOLTIP_CARGO_SELECTION :{BLACK}Spragtelėjus bus įjungiamas arba išjungiamas pasirinkto krovinio srautų atvaizdavimas žemėlapyje. Spragtelėjus laikant nuspaustą Ctrl klavišą, bus atvaizduojami/neatvaizduojami visų kitų krovinių srautai. STR_SMALLMAP_LEGENDA_ROADS :{TINY_FONT}{BLACK}Keliai STR_SMALLMAP_LEGENDA_RAILROADS :{TINY_FONT}{BLACK}Geležinkeliai @@ -894,14 +933,14 @@ STR_SMALLMAP_LEGENDA_ROAD_VEHICLES :{TINY_FONT}{BLA STR_SMALLMAP_LEGENDA_SHIPS :{TINY_FONT}{BLACK}Laivai STR_SMALLMAP_LEGENDA_AIRCRAFT :{TINY_FONT}{BLACK}Lėktuvai STR_SMALLMAP_LEGENDA_TRANSPORT_ROUTES :{TINY_FONT}{BLACK}Keliai -STR_SMALLMAP_LEGENDA_FOREST :{TINY_FONT}{BLACK}Miškas -STR_SMALLMAP_LEGENDA_RAILROAD_STATION :{TINY_FONT}{BLACK}Geležinkelio stotis -STR_SMALLMAP_LEGENDA_TRUCK_LOADING_BAY :{TINY_FONT}{BLACK}Sunkvežimių pakrovimo aikštelė -STR_SMALLMAP_LEGENDA_BUS_STATION :{TINY_FONT}{BLACK}Autobusų stotis -STR_SMALLMAP_LEGENDA_AIRPORT_HELIPORT :{TINY_FONT}{BLACK}Oro uostas/Sraigtasparnių aikštelė -STR_SMALLMAP_LEGENDA_DOCK :{TINY_FONT}{BLACK}Prieplauka -STR_SMALLMAP_LEGENDA_ROUGH_LAND :{TINY_FONT}{BLACK}Kalnuotas kraštas -STR_SMALLMAP_LEGENDA_GRASS_LAND :{TINY_FONT}{BLACK}Ganykla +STR_SMALLMAP_LEGENDA_FOREST :{TINY_FONT}{BLACK}Miškai +STR_SMALLMAP_LEGENDA_RAILROAD_STATION :{TINY_FONT}{BLACK}Geležinkelio stotys +STR_SMALLMAP_LEGENDA_TRUCK_LOADING_BAY :{TINY_FONT}{BLACK}Sunkvežimių krovos aikštelės +STR_SMALLMAP_LEGENDA_BUS_STATION :{TINY_FONT}{BLACK}Autobusų stotys +STR_SMALLMAP_LEGENDA_AIRPORT_HELIPORT :{TINY_FONT}{BLACK}Oro uostai/sraigtasparnių aikštelės +STR_SMALLMAP_LEGENDA_DOCK :{TINY_FONT}{BLACK}Prieplaukos +STR_SMALLMAP_LEGENDA_ROUGH_LAND :{TINY_FONT}{BLACK}Kalnuoti kraštai +STR_SMALLMAP_LEGENDA_GRASS_LAND :{TINY_FONT}{BLACK}Ganyklos STR_SMALLMAP_LEGENDA_BARE_LAND :{TINY_FONT}{BLACK}Lygumos STR_SMALLMAP_LEGENDA_FIELDS :{TINY_FONT}{BLACK}Laukai STR_SMALLMAP_LEGENDA_TREES :{TINY_FONT}{BLACK}Medžiai @@ -910,25 +949,25 @@ STR_SMALLMAP_LEGENDA_WATER :{TINY_FONT}{BLA STR_SMALLMAP_LEGENDA_NO_OWNER :{TINY_FONT}{BLACK}Nėra savininko STR_SMALLMAP_LEGENDA_TOWNS :{TINY_FONT}{BLACK}Miestai STR_SMALLMAP_LEGENDA_INDUSTRIES :{TINY_FONT}{BLACK}Pramonės įmonės -STR_SMALLMAP_LEGENDA_DESERT :{TINY_FONT}{BLACK}Dykuma -STR_SMALLMAP_LEGENDA_SNOW :{TINY_FONT}{BLACK}Sniegas +STR_SMALLMAP_LEGENDA_DESERT :{TINY_FONT}{BLACK}Dykumos +STR_SMALLMAP_LEGENDA_SNOW :{TINY_FONT}{BLACK}Snieguoti kraštai STR_SMALLMAP_TOOLTIP_TOGGLE_TOWN_NAMES_ON_OFF :{BLACK}Rodyti/slėpti miestų pavadinimus žemėlapyje -STR_SMALLMAP_CENTER :{BLACK}Centruoti mažą žemėlapį į šitą vietą +STR_SMALLMAP_CENTER :{BLACK}Centruoti žemėlapį esamoje vietoje STR_SMALLMAP_INDUSTRY :{TINY_FONT}{STRING} ({NUM}) STR_SMALLMAP_LINKSTATS :{TINY_FONT}{STRING} STR_SMALLMAP_COMPANY :{TINY_FONT}{COMPANY} STR_SMALLMAP_TOWN :{TINY_FONT}{WHITE}{TOWN} -STR_SMALLMAP_DISABLE_ALL :{BLACK}Išjungti visas -STR_SMALLMAP_ENABLE_ALL :{BLACK}Įjungti visas -STR_SMALLMAP_SHOW_HEIGHT :{BLACK}Sniego aukštis -STR_SMALLMAP_TOOLTIP_DISABLE_ALL_INDUSTRIES :{BLACK}Žemėlapyje nerodyti industrijų -STR_SMALLMAP_TOOLTIP_ENABLE_ALL_INDUSTRIES :{BLACK}Žemėlapyje rodyti visas industrijas -STR_SMALLMAP_TOOLTIP_SHOW_HEIGHT :{BLACK}Rodyti arba slėpti heightmap -STR_SMALLMAP_TOOLTIP_DISABLE_ALL_COMPANIES :{BLACK}Nerodyti įmonės turto žemėlapyje -STR_SMALLMAP_TOOLTIP_ENABLE_ALL_COMPANIES :{BLACK}Rodyti visą įmonės turtą žemėlapyje -STR_SMALLMAP_TOOLTIP_DISABLE_ALL_CARGOS :{BLACK}Nerodyti krovinių žemėlapyje -STR_SMALLMAP_TOOLTIP_ENABLE_ALL_CARGOS :{BLACK}Rodyti visus krovinius žemėlapyje +STR_SMALLMAP_DISABLE_ALL :{BLACK}Nerodyti nieko +STR_SMALLMAP_ENABLE_ALL :{BLACK}Rodyti viską +STR_SMALLMAP_SHOW_HEIGHT :{BLACK}Rodyti izohipses +STR_SMALLMAP_TOOLTIP_DISABLE_ALL_INDUSTRIES :{BLACK}Nerodyti nei vienos pramonės įmonės +STR_SMALLMAP_TOOLTIP_ENABLE_ALL_INDUSTRIES :{BLACK}Rodyti visas pramonės įmones +STR_SMALLMAP_TOOLTIP_SHOW_HEIGHT :{BLACK}Rodyti/slėpti izohipses +STR_SMALLMAP_TOOLTIP_DISABLE_ALL_COMPANIES :{BLACK}Nerodyti nei vienos kompanijos nuosavybės +STR_SMALLMAP_TOOLTIP_ENABLE_ALL_COMPANIES :{BLACK}Rodyti visų kompanijų nuosavybę +STR_SMALLMAP_TOOLTIP_DISABLE_ALL_CARGOS :{BLACK}Nerodyti jokių krovinių srautų +STR_SMALLMAP_TOOLTIP_ENABLE_ALL_CARGOS :{BLACK}Rodyti visų krovinių srautus # Status bar messages STR_STATUSBAR_TOOLTIP_SHOW_LAST_NEWS :{BLACK}Parodyti paskutinę žinutę ar spaudos pranešimą @@ -1005,13 +1044,12 @@ STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}{VEHICLE STR_NEWS_SHIP_IS_WAITING :{WHITE}{VEHICLE} laukia doke STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE} laukia angare -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE +# Order review system / warnings STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE} turi per mažai užduočių tvarkaraštyje STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE} turi blogas užduotis STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE} turi pasikartojančias užduotis STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE} turi neteisingą stotelę užduotyse -# end of order system +STR_NEWS_PLANE_USES_TOO_SHORT_RUNWAY :{WHITE}{VEHICLE} turi į maršrutą įtrauktą oro uostą su per trumpu taku STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} paseno STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} labai paseno @@ -1053,7 +1091,7 @@ STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Įkelti STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW_TT :{BLACK}Įkelti esamą padėtį į pagrindinį langą # Game options window -STR_GAME_OPTIONS_CAPTION :{WHITE}Žaidimo nustatymai +STR_GAME_OPTIONS_CAPTION :{WHITE}Pagrindinės nuostatos STR_GAME_OPTIONS_CURRENCY_UNITS_FRAME :{BLACK}Valiuta STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Valiutos pasirinkimas @@ -1094,14 +1132,10 @@ STR_GAME_OPTIONS_CURRENCY_GEL :Gruzijos Laris STR_GAME_OPTIONS_CURRENCY_IRR :Irano Rialas (IRR) ############ end of currency region - -############ start of measuring units region -############ end of measuring units region - -STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Automobiliai +STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Automobilių eismas STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}Pasirinkite, kuria kelio puse važiuoja automobiliai -STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :Eismas kaire puse -STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_RIGHT :Eismas dešine puse +STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :Kaire puse +STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_RIGHT :Dešine puse STR_GAME_OPTIONS_TOWN_NAMES_FRAME :{BLACK}Miestų pavadinimai STR_GAME_OPTIONS_TOWN_NAMES_DROPDOWN_TOOLTIP :{BLACK}Pasirink miestų pavadinimų tipą @@ -1133,24 +1167,30 @@ STR_GAME_OPTIONS_TOWN_NAME_CATALAN :Katalonų STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Automatinis išsaugojimas STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Pasirink, kaip dažnai išsaugoti žaidimą +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Išjungta STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :Kiekvieną mėnesį STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :Kas 3 mėnesius STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :Kas 6 mėnesius STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :Kas 12 mėnesių +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}Kalba STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Pasirinkite aplinkos kalbą STR_GAME_OPTIONS_FULLSCREEN :{BLACK}Per visą ekraną -STR_GAME_OPTIONS_FULLSCREEN_TOOLTIP :{BLACK}Pažymėkite šį langelį, jeigu norite OpenTTD žaisti visu ekranu +STR_GAME_OPTIONS_FULLSCREEN_TOOLTIP :{BLACK}Pažymėkite šį langelį, jeigu norite OpenTTD žaisti visame ekrane STR_GAME_OPTIONS_RESOLUTION :{BLACK}Ekrano raiška STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Pasirinkite ekrano raišką STR_GAME_OPTIONS_RESOLUTION_OTHER :Kita -STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}Ekrano vaizdo kopijos tipas -STR_GAME_OPTIONS_SCREENSHOT_FORMAT_TOOLTIP :{BLACK}Pasirinkite ekrano vaizdo kopijos formatą +STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Sąsajos elementų dydis +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Pasirinkite vartotojo sąsajos elementų santykinį dydį + +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normalus +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Dvigubas +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Trigubas STR_GAME_OPTIONS_BASE_GRF :{BLACK}Bazinis grafikos rinkinys STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Pasirinkti naudojimui bazinę grafikos rinkinį @@ -1166,6 +1206,7 @@ STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Pasirink STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} sugadint{P a ų os} bylos STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Papildoma informacija apie bazinę muziką +STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Nepavyko gauti palaikomų ekrano raiškų sąrašo STR_ERROR_FULLSCREEN_FAILED :{WHITE}Viso ekrano nustatymas nepavyko # Custom currency window @@ -1194,11 +1235,11 @@ STR_CURRENCY_PREVIEW :{LTBLUE}Perži STR_CURRENCY_CUSTOM_CURRENCY_PREVIEW_TOOLTIP :{BLACK}10000 svarų (£) jūsų valiuta STR_CURRENCY_CHANGE_PARAMETER :{BLACK}Keisti pasirinktos valiutos nustatymus -STR_DIFFICULTY_LEVEL_SETTING_MAXIMUM_NO_COMPETITORS :{LTBLUE}Maksimalus priešininkų skaičius: {ORANGE}{COMMA} +STR_DIFFICULTY_LEVEL_SETTING_MAXIMUM_NO_COMPETITORS :{LTBLUE}Didžiausias priešininkų skaičius: {ORANGE}{COMMA} STR_NONE :Nėra STR_FUNDING_ONLY :Tik finansavimas -STR_MINIMAL :Minimalus +STR_MINIMAL :Mažiausias STR_NUM_VERY_LOW :Labai mažas STR_NUM_LOW :Žemas STR_NUM_NORMAL :Vidutinis @@ -1244,6 +1285,7 @@ STR_TERRAIN_TYPE_VERY_FLAT :Tik lygumos STR_TERRAIN_TYPE_FLAT :Lygumos STR_TERRAIN_TYPE_HILLY :Kalvos STR_TERRAIN_TYPE_MOUNTAINOUS :Kalnai +STR_TERRAIN_TYPE_ALPINIST :Statūs kalnai STR_CITY_APPROVAL_PERMISSIVE :Atlaidus STR_CITY_APPROVAL_TOLERANT :Tolerantiškas @@ -1251,8 +1293,8 @@ STR_CITY_APPROVAL_HOSTILE :Priešiškas STR_WARNING_NO_SUITABLE_AI :{WHITE}Nerasta tinkamų DI... {}Galite parsisiųsti keletą DI naudonat 'Turinio internete' sistemą -# Advanced settings window -STR_CONFIG_SETTING_CAPTION :{WHITE}Sudėtingesni nustatymai +# Settings tree window +STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Išplėstinės nuostatos STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Filtras: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Išskleisti viską STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Suskleisti viską @@ -1325,8 +1367,9 @@ STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Įgalinti atsit STR_CONFIG_SETTING_CITY_APPROVAL :Miestų gyventojų požiūris į triukšmą ir aplinkos darkymą: {STRING} STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Nustatyti miestų požiūrį į statybas, triukšmą ir kraštovaizdžio keitimą. Nuo to priklauso kompanijos reitingas bei leidimasstatyti įvairius objektus -STR_CONFIG_SETTING_BUILDONSLOPES :Leisti statybas pakrantėse ir ant šlaitų: {STRING} -STR_CONFIG_SETTING_BUILDONSLOPES_HELPTEXT :Leisti statyti bėgius, stoteles bei kitus objektus ant šlaitų. Priešingu atveju ant šlaito bus galima tiesti tik bėgius ir tik šlaito kryptimi +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :Didžiausias žemėlapio aukštis: {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :Didžiausias galimas kalnų žemėlapyje aukštis +STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}Negalima nustatyti tokio kalnų aukščio, nes žemėlapyje jau yra bent vienas aukštesnis kalnas STR_CONFIG_SETTING_AUTOSLOPE :Leisti keisti reljefą po pastatais, bėgiais, ir t.t.. (autoslope): {STRING} STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Leisti keisti reljefą po pastatais ir bėgiais, jų nepašalinant STR_CONFIG_SETTING_CATCHMENT :Aptarnaujamos teritorijos dydis priklauso nuo stotelė tipo: {STRING} @@ -1351,16 +1394,12 @@ STR_CONFIG_SETTING_FORBID_90_DEG :Drausti traukin STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90° posūkis susidaro, kai horizontalus bėgių elementas yra sujungiamas su gretimame langelyje esančiu vertikaliu elementu. Ši nuostata taip pat galioja ir laivams STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Leisti sujungti stoteles, kurios nėra šalia: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Leisti praplėsti stotelę naujomis krovos aikštelėmis jas statant ne šalia jau esančiųjų, bet tolėliau. Statant reikia laikyti nuspaustą Ctrl klavišą -STR_CONFIG_SETTING_IMPROVEDLOAD :Naudoti patobulintą krovimo algoritmą: {STRING} -STR_CONFIG_SETTING_IMPROVEDLOAD_HELPTEXT :Transporto priemonės, laukiančios stotelėje, bus aptarnaujamos paeiliui: tik prikrovus vieną transporto priemonę bus pradedama krauti kita transporto priemonė -STR_CONFIG_SETTING_GRADUAL_LOADING :Pakrauti transporto priemones palaipsniui: {STRING} -STR_CONFIG_SETTING_GRADUAL_LOADING_HELPTEXT :Transporto priemonę pakrauti, atsižvelgiant į įvairius krovos parametrus, palaipsniui, vietoj to, kad transporto priemonė būtų pakrauta vienu ypu, atsižvegiant tik į krovinio kiekį STR_CONFIG_SETTING_INFLATION :Infliacija: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :Įjungti/išjungti infliaciją (išlaidos augs truputį greičiau už atlygius) -STR_CONFIG_SETTING_SELECTGOODS :Pristatyti krovinį stotelei tiktai tuomet, kai yra poreikis: {STRING} -STR_CONFIG_SETTING_SELECTGOODS_HELPTEXT :Pramonės įmonės tieks stotelei tik tuos krovinius, kuriuos mėgins paimti į stotelę atvykstančios transporto priemonės. Tokiu būdu bus išvengta prastų stotelės krovos reitingų tiems kroviniams, kurių žaidėjas net neketino gabenti iš pasirinktos stotelės STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Didžiausias tilto ilgis: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Didžiausias galimas tilto ilgis +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :Didžiausias tilto aukštis: {STRING} +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :Didžiausias aukštis, kuriame dar galima statyti tiltus STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Didžiausias tunelio ilgis: {STRING} STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :Didžiausias galimas tunelio ilgis STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Pirminių pramonės įmonių statybos būdas: {STRING} @@ -1386,8 +1425,6 @@ STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Numatytoji trau STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :ties artimuoju kraštu STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :viduryje STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :ties tolimuoju kraštu -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING :Automobilių vilkstinė (su kvantavimo efektu): {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING_HELPTEXT :Jei kelyje pasitaikys kliūtis (ar tiesiog krovos aikštelė bus užimta), automobiliai nebandys grūstis, o stos į tvarkingą eilę STR_CONFIG_SETTING_AUTOSCROLL :Slinkti vaizdą pelei esant prie krašto: {STRING} STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Pelės žymikliui priartėjus prie pagrindinio ar papildomo peržiūros langų krašto, vaizdas jame gali būti slenkamas. STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Neslinkti @@ -1418,10 +1455,6 @@ STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Leisti pravaži STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Leidžia statyti pravažiuojamojo tipo stoteles miestams priklausiančiuose keliuose STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Leisti pravažiuojamąsias stoteles priešininko keliuose: {STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Leidžia statyti pravažiuojamojo tipo stoteles kitiems priešininkams priklausiančiuose keliuose -STR_CONFIG_SETTING_ADJACENT_STATIONS :Leisti statyti susiliečiančias stoteles: {STRING} -STR_CONFIG_SETTING_ADJACENT_STATIONS_HELPTEXT :Leisti skirtingas stoteles liestis viena su kita -STR_CONFIG_SETTING_DYNAMIC_ENGINES :Leisti kelis NewGRF transporto pr. rinkinius vienu metu: {STRING} -STR_CONFIG_SETTING_DYNAMIC_ENGINES_HELPTEXT :Suderinamumo pasirinktis seniems NewGRFs. Neišjunkite, nebent žinote, ką tiksliai darote! STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Neįmanoma pakeisti nuostatos kai yra tr. priemonių. STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Infrastruktūros priežiūra reikalauja išlaidų: {STRING} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Infrastruktūros (kelių, geležinkelių, stotelių, angarą ir kitų objektų) priežiūra kainuoja. Kaštai auga proporcingai kompanijos dydžiui, taigi didesnėms kompanijoms infrastruktūros priežiūra kainuos daugiau, nei mažesnėms @@ -1446,41 +1479,55 @@ STR_CONFIG_SETTING_AUTORENEW_MONTHS :Atnaujinti tran STR_CONFIG_SETTING_AUTORENEW_MONTHS_HELPTEXT :Atitinkamas gyvenimas, kai transporto priemonės turėtų būti atnaujinamos STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_BEFORE :{COMMA} mėnesi{P 0 u ais ų} mažesnis STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_AFTER :{COMMA} mėnesi{P 0 u ais ų} didesnis -STR_CONFIG_SETTING_AUTORENEW_MONEY :Minimali suma reikalinga automatiniam atnaujinimui: {STRING} -STR_CONFIG_SETTING_AUTORENEW_MONEY_HELPTEXT :Minimalus būtinas banko sąskaitos likutis automatiniam transporto priemonės atnaujinimui vykdyti +STR_CONFIG_SETTING_AUTORENEW_MONEY :Mažiausia suma, reikalinga automatiniam atnaujinimui: {STRING} +STR_CONFIG_SETTING_AUTORENEW_MONEY_HELPTEXT :Mažiausias būtinas banko sąskaitos likutis automatiniam transporto priemonės atnaujinimui vykdyti STR_CONFIG_SETTING_ERRMSG_DURATION :Klaidos pranešimo rodymo trukmė: {STRING} STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Klaidos pranešimų rodymo trukmė, po kurios pranešimas langas bus automatiškai užvertas. Atkreipkite dėmesį, kai kai kurie kritiniai pranešimai automatiškai nėra užveriami STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{COMMA} sekund{P ė ės žių} STR_CONFIG_SETTING_HOVER_DELAY :Rodyti paaiškinimus: {STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Delsos laikas prieš parodant paaiškinimą, kai pelės žymeklis yra užvedamas virš kurio nors vartotojo sąsajos elemento. Paaiškinimas taip pat gali būti susietas ir su dešiniuoju pelės klavišu -STR_CONFIG_SETTING_HOVER_DELAY_VALUE :atvedus žymeklį po {COMMA} sekund{P ės žių žių} +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Delsos laikas prieš parodant paaiškinimą, kai pelės žymeklis yra užvedamas virš kurio nors vartotojo sąsajos elemento. Paaiškinimas taip pat gali būti susietas ir su dešiniuoju pelės klavišu, jei delsos laikas nustatomas į 0 milisekundžių +STR_CONFIG_SETTING_HOVER_DELAY_VALUE :atvedus žymeklį po {COMMA} milisekund{P ės žių žių} STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :spragtelėjus dešinįjį pelės klavišą STR_CONFIG_SETTING_POPULATION_IN_LABEL :Rodyti miestų gyventojų skaičių šalia pavadinimo: {STRING} STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Rodyti miestų gyventojų skaičių žemėlapio pažymėtoje vietoje STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Grafikų linijų storis: {STRING} STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Grafikų linijų storis. Plonesnė linija yra tikslesnė, tačiau storesnę lengviau pastebėti bei atskirti jos spalvą -STR_CONFIG_SETTING_LAND_GENERATOR :Sausumos kūrimas: {STRING} -STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Standartinis +STR_CONFIG_SETTING_LANDSCAPE :Kraštovaizdis: {STRING} +STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Skirtingi kraštovaizdžio tipai pasižymi skirtingomis tiek gamtinėmis (medžių, kalvų, jūrų, upių kiekis), tiek pramoninėmis (pramonės įmonės, miestų augimo greitis, transporto priemonės) savybėmis +STR_CONFIG_SETTING_LAND_GENERATOR :Žemėlapio generatorius: {STRING} +STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :Originalus generatorius reikalauja bazinio grafinių failų rinkinio ir yra gana primityvus. TerraGenesis, and composes fixed landscape shapes. TerraGenesis žemėlapio generavimui naudoja Perlin'o triukšmą, beigi leidžia keisti daugiau įvairesnių parametrų. +STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :originalus STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis +STR_CONFIG_SETTING_TERRAIN_TYPE :Kraštovaizdžio stilius: {STRING} +STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(tik TerraGenesis) Žemės paviršiaus kalvotumas +STR_CONFIG_SETTING_INDUSTRY_DENSITY :Pramonės įmonių tankis: {STRING} +STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Pramonės įmonių kiekis sugeneruotame žemėlapyje STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Didžiausias naftos perdirbimo įmonės atstumas nuo žemėlapio kraštų: {STRING} STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Naftos perdirbimo gamyklos statomos tik žemėlapio pakraščiuose, netoli kranto STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Sniego linijos aukštis: {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Paviršiaus nelygumas (tik TerraGenesis) : {STRING} +STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Aukštis, virš kurio žemės paviršius padengiamas sniegu. Tai taip pat turi įtakos pramonės įmonių kūrimui ir mietų augimui. +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Paviršiaus lygumas (tik TerraGenesis) : {STRING} +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(tik TerraGenesis) Kuo lygesnis kraštovaizdis, tuo generuojamos kalvos bus žemesnės ir tuo jų bus mažiau. STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Labai lygus STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Lygus STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Kalnuotas STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Labai kalnuotas +STR_CONFIG_SETTING_VARIETY :Kraštovaizdžio įvairovė: {STRING} +STR_CONFIG_SETTING_VARIETY_HELPTEXT :(Tik TerraGenesis) Tame pačiame žemėlapyje gali būti tiek kalvotų, tiek lygių regionų. Kuo didesnė įvairovė, tuo daugiau skirtingų regionų bus sugeneruota. +STR_CONFIG_SETTING_RIVER_AMOUNT :Upių kiekis: {STRING} +STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Upių kiekis sugeneruotame kraštovaizdyje STR_CONFIG_SETTING_TREE_PLACER :Medžių sodinimo algoritmas: {STRING} +STR_CONFIG_SETTING_TREE_PLACER_HELPTEXT :Pasirinkite medžių sodinimo algoritmą. „Originalus“ paskirsto juos tolygiai, „Naujasis“ sodina grupėmis. STR_CONFIG_SETTING_TREE_PLACER_NONE :Jokio STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :Originalas STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :Naujasis +STR_CONFIG_SETTING_ROAD_SIDE :Automobilių eismas: {STRING} +STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :Eismo pusė STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Aukščių žemėlapio pasukimas: {STRING} STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Prieš laikrodžio rodyklę STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Pagal laikrodžio rodyklę STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :Aukštis skiriamas „lygiaus scenarijaus“ žemėlapiui: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :Leisti keisti reljefą žemėlapio kraštuose: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES_HELPTEXT :Jeigu išjungta, žemėlapio kraštai visada bus vandenynas STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}Vienas ar daugiau blokų šiauriniame krašte yra ne tušti STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}Viena ar daugiau plokštumų nėra ant vandens @@ -1531,17 +1578,15 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Išjungta STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Left-click scrolling: {STRING} STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :Slinkti žemėlapį velkant jį nuspaudus kairįjį pelės klavišą. Naudinga, jei žaidžiama kompiuteriuose su lietimui jautriais ekranais +STR_CONFIG_SETTING_AUTOSAVE :Automatinis saugojimas: {STRING} +STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Laiko tarpsnis tarp automatinių žaidimo išsaugojimų + STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Išsaugant žaidimą, pavadinimuose naudoti {STRING} datos formatą STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Datos formatas išsaugoto žaidimo failo pavadinime STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :ilgąjį (31 Gruo 2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :trumpąjį (31-12-2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE :Įprastinė paletė taikoma NewGRF, nenurodžius paletės: {STRING} -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_HELPTEXT :Numatytoji spalvų paletė tiems NewGRF objektams, kurie nenurodo, kokios konkrečiai paletės jiems reikia -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_DOS :Numatytoji (D) paletė -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_WIN :Pasenusi (W) paletė - STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Automatinė pauzė paleidžiant naują žaidimą: {STRING} STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :Pradėjus naują žaidimą, laiko tėkmė bus pristabdyta, taip suteikiant progą atidžiau išstudijuoti žemėlapį STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Kuomet pristabdytas, leisti: {STRING} @@ -1592,13 +1637,13 @@ STR_CONFIG_SETTING_SOUND_AMBIENT_HELPTEXT :Skleisti aplink STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING :Drausti infrastruktūros plėtimą kai nėra tam tinkamų transporto priemonių: {STRING} STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING_HELPTEXT :Kai įjungta, infrastruktūra yra galima, jeigu ten taip pat yra galimų automobilių. Tam kad užkirstų kelią, laiko ir pinigų švaistimo nereikalingai infrastruktūrai STR_CONFIG_SETTING_MAX_TRAINS :Didžiausias traukinių skaičius vienam žaidėjui: {STRING} -STR_CONFIG_SETTING_MAX_TRAINS_HELPTEXT :Maksimalus skaičius traukinių, kuriuos kompanija gali turėti +STR_CONFIG_SETTING_MAX_TRAINS_HELPTEXT :Didžiausias skaičius traukinių, kuriuos kompanija gali turėti STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :Didžiausias automobilių skaičius vienam žaidėjui: {STRING} -STR_CONFIG_SETTING_MAX_ROAD_VEHICLES_HELPTEXT :Maksimalus skaičius kelių transporto priemonių, kuriuos kompanija gali turėti +STR_CONFIG_SETTING_MAX_ROAD_VEHICLES_HELPTEXT :Didžiausias skaičius automobilių, kuriuos kompanija gali turėti STR_CONFIG_SETTING_MAX_AIRCRAFT :Didžiausias lėktuvų skaičius vienam žaidėjui: {STRING} -STR_CONFIG_SETTING_MAX_AIRCRAFT_HELPTEXT :Maksimalus skaičius lėktuvų, kuriuos kompanija gali turėti +STR_CONFIG_SETTING_MAX_AIRCRAFT_HELPTEXT :Didžiausias skaičius lėktuvų, kuriuos kompanija gali turėti STR_CONFIG_SETTING_MAX_SHIPS :Didžiausias laivų skaičius vienam žaidėjui: {STRING} -STR_CONFIG_SETTING_MAX_SHIPS_HELPTEXT :Maksimalus skaičius laivų, kuriuos kompanija gali turėti +STR_CONFIG_SETTING_MAX_SHIPS_HELPTEXT :Didžiausias skaičius laivų, kuriuos kompanija gali turėti STR_CONFIG_SETTING_AI_BUILDS_TRAINS :Uždrausti kompiuteriui traukinius: {STRING} STR_CONFIG_SETTING_AI_BUILDS_TRAINS_HELPTEXT :Įjungus šį nustatymą, statyti traukinius kompiuterio žaidėjui bus neįmanoma @@ -1618,13 +1663,13 @@ STR_CONFIG_SETTING_AI_PROFILE_HARD :Sunkus STR_CONFIG_SETTING_AI_IN_MULTIPLAYER :Leisti DI Interneto režime: {STRING} STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Leisti DI kompiuterio žaidėjus dalyvauti Interneto režime STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :#opkodai prieš skriptus yra nevykdomi: {STRING} -STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Maksimalus skaičius skaičiavimų žingsnių, kuriuos scenarijus vykdo viename ėjime +STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Didžiausias skaičius skaičiavimų žingsnių, kuriuos scenarijus vykdo viename ėjime STR_CONFIG_SETTING_SERVINT_ISPERCENT :Techninės apžiūros intervalas procentais: {STRING} STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Įjungus šią nuostatą, techninė apžiūra bus vykdoma vos tik patikimumas nukris iki tam tikros procentinės vertės. Priešingu atveju techninė apžiūra bus vykdoma kas nustatytą dienų skaičių STR_CONFIG_SETTING_SERVINT_TRAINS :Traukinių techninės apžiūros intervalas: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Numatytoji naujo traukinio techninės apžiūros intervalo reikšmė -STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA} dien{P a os ų}/% +STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}dien{P a os ų}/% STR_CONFIG_SETTING_SERVINT_DISABLED :Išjungta STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES :Automobilių techninės apžiūros intervalas: {STRING} STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES_HELPTEXT :Numatytoji naujo automobilio techninės apžiūros intervalo reikšmė @@ -1635,7 +1680,7 @@ STR_CONFIG_SETTING_SERVINT_SHIPS_HELPTEXT :Numatytoji nauj STR_CONFIG_SETTING_NOSERVICE :Atjungti techninę apžiūrą, jei gedimai nenaudojami: {STRING} STR_CONFIG_SETTING_NOSERVICE_HELPTEXT :Jeigu įjungta, tada automobiliams nebus atliekama techninė apžiūra, jeigu jie negalės sugesti STR_CONFIG_SETTING_WAGONSPEEDLIMITS :Aktyvinti vagonų greičio apribojimą: {STRING} -STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT :Įjungus šią nuostatą, vagonų maksimalus leistinas greitis įtakos maksimalų viso traukinio greitį +STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT :Įgalinus šią nuostatą, vagonų didžiausias leistinas greitis įtakos viso traukinio greitį STR_CONFIG_SETTING_DISABLE_ELRAILS :Uždrausti elektrinius bėgius: {STRING} STR_CONFIG_SETTING_DISABLE_ELRAILS_HELPTEXT :Įjungiant šį nustatymą išjungia elektrifikuotų bėgių reikalavimą padaryti elektrinius variklius veikti ant jų @@ -1678,7 +1723,7 @@ STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Spalvotos nauji STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Metai, kai laikraščių antraštės tampa spalvotos. Iki tol jos būna monochominės STR_CONFIG_SETTING_STARTING_YEAR :Žaidimo pradžia: {STRING} STR_CONFIG_SETTING_SMOOTH_ECONOMY :Tolygi ekonomika (daug, bet nežymių pokyčių): {STRING} -STR_CONFIG_SETTING_SMOOTH_ECONOMY_HELPTEXT :Jeigu įjungta, pramonės gamybos pajėgumas kis dažniau ir mažesniais žingsniais. Šis nustatymas dažniausiai neturi efekto, jeigu pramonės tipai yra numatyti NewGRF +STR_CONFIG_SETTING_SMOOTH_ECONOMY_HELPTEXT :Įgalinus nuostatą pramonės įmonių gamybos pajėgumai kis dažniau ir mažesniais žingsniais. Ši nuostata greičiausiai neturės jokios įtakos, jei pramonės įmonė yra aprašyta papildomame plėtinyjeipai yra numatyti NewGRF STR_CONFIG_SETTING_ALLOW_SHARES :Leisti pirkti kitų kompanijų akcijas: {STRING} STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT :Leisti pirkti bei parduoti kitų kompanijų akcijas. Akcijos yra platinamos tik įmonei sulaukus tam tikro amžiaus STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE :Grynojo pelno dalis, mokama tiekėjų sistemoms: {STRING} @@ -1716,7 +1761,7 @@ STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :Miestams leidž STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Įjungus šį nustatymą miestams bus galima statyti pervažas STR_CONFIG_SETTING_NOISE_LEVEL :Leisti miestams kontroliuoti oro uostų triukšmo lygį: {STRING} STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Išjungus šį nustatymą, gali būti tik du oro uostai kiekviename mieste. Įjungus šį nustatymą, oro uostų skaičius mieste yra ribojamas pagal miesto triukšmo lygio palankumo, kurį nurodo gyventojų skaičius, oro uosto dydis bei atstumas -STR_CONFIG_SETTING_TOWN_FOUNDING :Naujų miestų kurimas žaidime: {STRING} +STR_CONFIG_SETTING_TOWN_FOUNDING :Naujų miestų kūrimas žaidime: {STRING} STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Įjungiant šį nustatymą, žaidėjai gali įkurti naujus miestus žaidime STR_CONFIG_SETTING_TOWN_FOUNDING_FORBIDDEN :Uždrausta STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED :Leista @@ -1736,7 +1781,7 @@ STR_CONFIG_SETTING_SNAP_RADIUS :Langų traukos STR_CONFIG_SETTING_SNAP_RADIUS_HELPTEXT :Atstumas tarp langelių. Prieš tai pajudintas langelis automatiškai sulygiuojamas su šalia esančiu langeliu STR_CONFIG_SETTING_SNAP_RADIUS_VALUE :{COMMA} piksel{P 0 is iai ių} STR_CONFIG_SETTING_SNAP_RADIUS_DISABLED :Išjungta -STR_CONFIG_SETTING_SOFT_LIMIT :Didž. skaičius langų (nelipnių): {STRING} +STR_CONFIG_SETTING_SOFT_LIMIT :Didžiausias nelipnių langų skaičius: {STRING} STR_CONFIG_SETTING_SOFT_LIMIT_HELPTEXT :Skaičius nelipnių atidarytų langelių. Prieš tai seni atidaryti langeliai automatiškai užsidarys, kad paliktų daugiau vietos ekrane naujiems langeliams STR_CONFIG_SETTING_SOFT_LIMIT_VALUE :{COMMA} STR_CONFIG_SETTING_SOFT_LIMIT_DISABLED :Išjungta @@ -1763,12 +1808,10 @@ STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 iš {COMMA} STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Nenaudojamas STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Pradinis miestų dydžio daugiklis: {STRING} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Vidutinis miestų dydis santykiu su normaliais miestais žaidimo pradžioje -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :Panaikinti beprasmius kelio elementus kelių statybos metu: {STRING} -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD_HELPTEXT :Panaikinti aklavietes po finansuojamų kelių rekonstrukcijos -STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Pasiskirstymo grafą atnaujinti kas {STRING} dien{P 0:2 ą as ų} +STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Pasiskirstymo grafą atnaujinti kas {STRING}{NBSP}dien{P 0:2 ą as ų} STR_CONFIG_SETTING_LINKGRAPH_INTERVAL_HELPTEXT :Laiko trukmė tarp grafo mazgų perskaičiavimo operacijų. Kiekviena operacija perskaičiuoja tik vieną mazgą, o ne visą grafą; tad jei šioje nuostatoje nurodytą, kad, pavyzdžiui, grafas bus atnaujinamas kas 4-ias dienas, tai nereiškia, kad jis visas bus atnaujintas, o atnaujinti bus tik kai kurie mazgai. Kuo trumpesnė trukmė tarp perskaičiavimų, tuo daugiau grafo perskaičiavimas sueikvos procesoriaus išteklių, tačiau pats grafas geriau atspindės realią situaciją. Kita vertus, ilgesnė trukmė mažiau apkraus procesorių, tačiau gali tekti ilgėliau palaukti, kol nauji maršrutai bus įtraukti į grafą. -STR_CONFIG_SETTING_LINKGRAPH_TIME :Pasiskirstymo grafo perskaičiavimas užtruks {STRING} dien{P 0:2 ą as ų} +STR_CONFIG_SETTING_LINKGRAPH_TIME :Pasiskirstymo grafo perskaičiavimas užtruks {STRING}{NBSP}dien{P 0:2 ą as ų} STR_CONFIG_SETTING_LINKGRAPH_TIME_HELPTEXT :Laiko trukmė skirta pilnam krovinių paskirstymo grafui perskaičiuoti. Nustačius per mažą reikšmę, žaidimas gali trumpam pakibti, kol bus baigti skaičiavimai. Kita vertus, kuo ilgesnė ši trukmė, tuo vėliau į grafą bus įtraukti maršrutų pakeitimai. STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :originalus STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :asimetriškas @@ -1792,7 +1835,7 @@ STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :„Simetriškas STR_CONFIG_SETTING_DISTRIBUTION_MAIL :Pasiskirstymo režimas paštui: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :„Simetriškas“ reiškia, jog iš stoties A į stotį B bus išsiųsta apytiksliai tiek pat pašto maišų, kaip ir iš B į A. „Asimetriško“ režimo atveju, pašto srautai pirmyn ir atgal gali skirtis. „Originalus“ reiškia, kad pašto srautai nebus reguliuojami ir veiks kaip ir originaliame TTD žaidime. STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Pasiskirstymo režimas „šarvuotoms“ krovinių rūšims: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :„Šarvuotų“ krovinių rūšiai priskiriamos brangenybės (vidutinio klimato juostoje), deimantai (subtropinio klimato juostoje) ir auksas (subarktinio klimato juostoje). Įvairūs NewGRF papildiniai gali šitai pakeisti. „Simetriškas“ reiškia, jog iš stoties A į stotį B bus vežamas apytiksliai toks pat krovinių srautas, kaip ir iš B į A. „Asimetriško“ režimo atveju, srautai pirmyn ir atgal gali skirtis. „Originalus“ reiškia, kad srautai nebus reguliuojami ir veiks kaip ir originaliame TTD žaidime. Žaidžiant subarktinio klimato juostoje, rekomenduojama pasirinkti asimetrišką krovinių paskirstymo algoritmą, nes bankai, priėmę auksą, atgal nieko nesiųs. Kitose klimato juostose galima pasirinkti ir asimetrišką algoritmą, nes kroviniai gali keliauti į abi maršruto puses. +STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :„Šarvuotų“ krovinių rūšiai priskiriamos brangenybės (vidutinio klimato juostoje), deimantai (subtropinio klimato juostoje) ir auksas (subarktinio klimato juostoje), bet tai dar gali priklausyti ir nuo aktyvių plėtinių. „Simetriškas“ reiškia, jog iš stoties A į stotį B bus vežamas apytiksliai toks pat krovinių srautas, kaip ir iš B į A. „Asimetriško“ režimo atveju, srautai pirmyn ir atgal gali skirtis. „Originalus“ reiškia, kad srautai nebus reguliuojami ir veiks kaip ir originaliame TTD žaidime. Žaidžiant subarktinio klimato juostoje, rekomenduojama pasirinkti asimetrišką krovinių paskirstymo algoritmą, nes bankai, priėmę auksą, atgal nieko nesiųs. Kitose klimato juostose galima pasirinkti ir asimetrišką algoritmą, nes kroviniai gali keliauti į abi maršruto puses. STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Pasiskirstymo režimas kitoms krovinių rūšims: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :„Simetriškas“ reiškia, jog iš stoties A į stotį B bus vežamas apytiksliai toks pat krovinių srautas, kaip ir iš B į A. „Asimetriško“ režimo atveju, srautai pirmyn ir atgal gali skirtis. „Originalus“ reiškia, kad srautai nebus reguliuojami ir veiks kaip ir originaliame TTD žaidime. Rekomenduojama pasirinkti arba asimetrinį, arba originalų algoritmą. STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Pasiskirstymo tikslumas: {STRING} @@ -1840,27 +1883,29 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :imperiniai (ft) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :metriniai (m) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :SI (m) -STR_CONFIG_SETTING_GUI :{ORANGE}Vaizdas STR_CONFIG_SETTING_LOCALISATION :{ORANGE}Lokalizavimas -STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}Konstrukcijos -STR_CONFIG_SETTING_VEHICLES :{ORANGE}Tr. priemonės -STR_CONFIG_SETTING_STATIONS :{ORANGE}Stotelės -STR_CONFIG_SETTING_ECONOMY :{ORANGE}Ekonomika -STR_CONFIG_SETTING_LINKGRAPH :{ORANGE}Krovinių pasiskirstymas -STR_CONFIG_SETTING_AI :{ORANGE}Konkurentai -STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}Vaizdo nustatymai -STR_CONFIG_SETTING_INTERACTION :{ORANGE}Sąveika +STR_CONFIG_SETTING_GRAPHICS :{ORANGE}Grafika STR_CONFIG_SETTING_SOUND :{ORANGE}Garsai -STR_CONFIG_SETTING_NEWS :{ORANGE}Naujienos ir žinutės -STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}Signalai -STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE}Krovinų valdymas -STR_CONFIG_SETTING_AI_NPC :{ORANGE}Kompiuterio žaidėjai -STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE}Automatiškai atnaujinti -STR_CONFIG_SETTING_VEHICLES_SERVICING :{ORANGE}Techninė apžiūra +STR_CONFIG_SETTING_INTERFACE :{ORANGE}Vaizdas +STR_CONFIG_SETTING_INTERFACE_GENERAL :{ORANGE}Bendros nuostatos +STR_CONFIG_SETTING_INTERFACE_VIEWPORTS :{ORANGE}Papildomi peržiūros langai +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Konstrukcijos +STR_CONFIG_SETTING_ADVISORS :{ORANGE}Žinios ir patarėjai +STR_CONFIG_SETTING_COMPANY :{ORANGE}Kompanija +STR_CONFIG_SETTING_ACCOUNTING :{ORANGE}Apskaita +STR_CONFIG_SETTING_VEHICLES :{ORANGE}Transporto priemonės +STR_CONFIG_SETTING_VEHICLES_PHYSICS :{ORANGE}Fizika STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Maršrutas -STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}Traukiniai -STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}Miestai -STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}Gamyklos +STR_CONFIG_SETTING_LIMITATIONS :{ORANGE}Ribos +STR_CONFIG_SETTING_ACCIDENTS :{ORANGE}Katastrofos ir incidentai +STR_CONFIG_SETTING_GENWORLD :{ORANGE}Žemėlapio kūrimas +STR_CONFIG_SETTING_ENVIRONMENT :{ORANGE}Aplinka +STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :{ORANGE}Valdžia +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Miestai +STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}Gamyklos +STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :{ORANGE}Krovinių pasiskirstymas +STR_CONFIG_SETTING_AI :{ORANGE}Konkurentai +STR_CONFIG_SETTING_AI_NPC :{ORANGE}Kompiuterio žaidėjai STR_CONFIG_SETTING_PATHFINDER_OPF :Originalus STR_CONFIG_SETTING_PATHFINDER_NPF :NPF @@ -1882,11 +1927,11 @@ STR_CONFIG_ERROR :{WHITE}Klaida n STR_CONFIG_ERROR_ARRAY :{WHITE}... klaida masyve '{STRING}' STR_CONFIG_ERROR_INVALID_VALUE :{WHITE}... netinkama reikšmė '{STRING}' kintamąjam '{STRING}' STR_CONFIG_ERROR_TRAILING_CHARACTERS :{WHITE}... nustatymo eilutės gale netinkami simboliai '{STRING}' -STR_CONFIG_ERROR_DUPLICATE_GRFID :{WHITE}... ignoruojamas NewGRF '{STRING}': GRF ID dublikatas '{STRING}' -STR_CONFIG_ERROR_INVALID_GRF :{WHITE}... ignoruojamas klaidingas NewGRF '{STRING}': {STRING} +STR_CONFIG_ERROR_DUPLICATE_GRFID :{WHITE}... plėtinys '{STRING}' ignoruojamas: GRF ID dublikatas '{STRING}' +STR_CONFIG_ERROR_INVALID_GRF :{WHITE}... ignoruojamas klaidingas plėtinys '{STRING}': {STRING} STR_CONFIG_ERROR_INVALID_GRF_NOT_FOUND :nerastas STR_CONFIG_ERROR_INVALID_GRF_UNSAFE :nesaugus statiniam naudojimui -STR_CONFIG_ERROR_INVALID_GRF_SYSTEM :sisteminis NewGRF +STR_CONFIG_ERROR_INVALID_GRF_SYSTEM :sisteminis plėtinys STR_CONFIG_ERROR_INVALID_GRF_INCOMPATIBLE :nesuderinamas su šia OpenTTD versija STR_CONFIG_ERROR_INVALID_GRF_UNKNOWN :nežinomas STR_CONFIG_ERROR_INVALID_SAVEGAME_COMPRESSION_LEVEL :{WHITE}... netinkamas suspaudimo lygis '{STRING}' @@ -1900,40 +1945,40 @@ STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Nepavyko # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} -STR_INTRO_NEW_GAME :{BLACK}Naujas žaidimas +STR_INTRO_NEW_GAME :{BLACK}Pradėtį naują žaidimą STR_INTRO_LOAD_GAME :{BLACK}Įkelti žaidimą -STR_INTRO_PLAY_SCENARIO :{BLACK}Išbandyti scenarijų (žaisti) -STR_INTRO_PLAY_HEIGHTMAP :{BLACK}Žaisti papildomame žemėlapyje -STR_INTRO_SCENARIO_EDITOR :{BLACK}Scenarijaus redaktorius -STR_INTRO_MULTIPLAYER :{BLACK}Žaidimas tinkle +STR_INTRO_PLAY_SCENARIO :{BLACK}Žaisti scenarijų +STR_INTRO_PLAY_HEIGHTMAP :{BLACK}Žaisti teminį žemėlapį +STR_INTRO_SCENARIO_EDITOR :{BLACK}Redaguoti scenarijų +STR_INTRO_MULTIPLAYER :{BLACK}Žaisti tinkle -STR_INTRO_GAME_OPTIONS :{BLACK}Žaidimo nustatymai +STR_INTRO_GAME_OPTIONS :{BLACK}Pagrindinės nuostatos STR_INTRO_HIGHSCORE :{BLACK}Nugalėtojų lentelė -STR_INTRO_ADVANCED_SETTINGS :{BLACK}Sudėtingesni nustatymai -STR_INTRO_NEWGRF_SETTINGS :{BLACK}Papild. grafikos nustatymai -STR_INTRO_ONLINE_CONTENT :{BLACK}Patikrinti interneto turinį -STR_INTRO_SCRIPT_SETTINGS :{BLACK}DI / Žaidimo nustatymai +STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Išplėstinės nuostatos +STR_INTRO_NEWGRF_SETTINGS :{BLACK}Plėtiniai +STR_INTRO_ONLINE_CONTENT :{BLACK}Interneto turinys +STR_INTRO_SCRIPT_SETTINGS :{BLACK}Dirbtinio intelekto nuostatos STR_INTRO_QUIT :{BLACK}Išeiti -STR_INTRO_TOOLTIP_NEW_GAME :{BLACK}Pradėti naują žaidimą. Ctrl+Paspaudimas praleidžia žemėlapio nustatymus +STR_INTRO_TOOLTIP_NEW_GAME :{BLACK}Pradėti naują žaidimą. Spragtelėjus laikant nuspaustą Ctrl klavišą, naujas žemėlapis bus sugeneruotas nedelsiant ir nieko nebeklausiant STR_INTRO_TOOLTIP_LOAD_GAME :{BLACK}Įkelti išsaugotą žaidimą -STR_INTRO_TOOLTIP_PLAY_HEIGHTMAP :{BLACK}Pradėti žaidimą naudojant papildomą žemėlapį ir žemtvarką +STR_INTRO_TOOLTIP_PLAY_HEIGHTMAP :{BLACK}Pradėti žaidimą, sugeneruojant naują teminį žemėlapį STR_INTRO_TOOLTIP_PLAY_SCENARIO :{BLACK}Pradėti naują žaidimą pasirenkant scenarijų -STR_INTRO_TOOLTIP_SCENARIO_EDITOR :{BLACK}Sukurk savo žaidimo žemėlapį/scenarijų -STR_INTRO_TOOLTIP_MULTIPLAYER :{BLACK}Pradėti keletos žaidėjų žaidimą +STR_INTRO_TOOLTIP_SCENARIO_EDITOR :{BLACK}Paleisti scenarijaus redaktorių +STR_INTRO_TOOLTIP_MULTIPLAYER :{BLACK}Pradėti keleto žaidėjų žaidimą -STR_INTRO_TOOLTIP_TEMPERATE :{BLACK}Pasirink vidutinį klimato tipą -STR_INTRO_TOOLTIP_SUB_ARCTIC_LANDSCAPE :{BLACK}Pasirink sub-arktinį klimato tipą -STR_INTRO_TOOLTIP_SUB_TROPICAL_LANDSCAPE :{BLACK}Pasirink sub-tropinį klimato tipą -STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Pasirink žemėlapio tipą 'žaislų šalis' +STR_INTRO_TOOLTIP_TEMPERATE :{BLACK}Vidutinio klimato žemėlapis +STR_INTRO_TOOLTIP_SUB_ARCTIC_LANDSCAPE :{BLACK}Subarktinio klimato žemėlapis +STR_INTRO_TOOLTIP_SUB_TROPICAL_LANDSCAPE :{BLACK}Subtropinio klimato žemėlapis +STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Žaislinis žemėlapis -STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Rodyti žaidimo nustatymus +STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Rodyti pagrindines žaidimo nuostatas STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Rodyti nugalėtojų lentelę -STR_INTRO_TOOLTIP_ADVANCED_SETTINGS :{BLACK}Rodyti sudėtingesnius nustatymus -STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Atvaizduoti NewGRF nustatymus -STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Patikrinti dėl naujų ir atnaujintą turinį atsisiuntimui -STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Rodyti DI ir žaidimo nustatymus -STR_INTRO_TOOLTIP_QUIT :{BLACK}Išeiti iš 'OpenTTD' +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Rodyti išplėstines nuostatas +STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Rodyti parsisiųstus plėtinius ir jų nuostatas +STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Tikrinti, ar nėra naujų plėtinių arba atnaujinimų jau atsisiųstiems plėtiniams +STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Rodyti dirbtinio intelekto nuostatas +STR_INTRO_TOOLTIP_QUIT :{BLACK}Išeiti iš „OpenTTD“ žaidimo STR_INTRO_TRANSLATION :{BLACK}Šiam vertimui trūksta {NUM} eilu{P tės čių čių}. Padėkite išversti OpenTTD užsiregistruodami vertėju. Daugiau informacijos rasite faile readme.txt @@ -1969,6 +2014,8 @@ STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Žaidia STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Magiškas buldozeris (pašalina gamyklas ir nepajudinamus objektus): {ORANGE}{STRING} STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}Tuneliai gali susikirsti: {ORANGE}{STRING} STR_CHEAT_NO_JETCRASH :{LTBLUE}Reaktyviniai lėktuvai neduš (dažnai) mažuose oro uostuose: {ORANGE} {STRING} +STR_CHEAT_EDIT_MAX_HL :{LTBLUE}Didžiausias kalnų aukštis: {ORANGE}{NUM} +STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Keisti didžiausią leistiną kalnų aukštį STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE :Normalus klimatas STR_CHEAT_SWITCH_CLIMATE_SUB_ARCTIC_LANDSCAPE :Sub-arktinis klimatas STR_CHEAT_SWITCH_CLIMATE_SUB_TROPICAL_LANDSCAPE :Sub-tropinis klimatas @@ -2017,6 +2064,7 @@ STR_LIVERY_FREIGHT_TRAM :Krovininis tram STR_FACE_CAPTION :{WHITE}Veido pasirinkimas STR_FACE_CANCEL_TOOLTIP :{BLACK}Nutraukia veido pasirinkimą STR_FACE_OK_TOOLTIP :{BLACK}Užbaigia veido pasirinkimą +STR_FACE_RANDOM :{BLACK}Atsitiktinai STR_FACE_MALE_BUTTON :{BLACK}Vyras STR_FACE_MALE_TOOLTIP :{BLACK}Pasirink vyro veidą @@ -2083,7 +2131,7 @@ STR_NETWORK_SERVER_LIST_GAME_NAME :{BLACK}Vardas STR_NETWORK_SERVER_LIST_GAME_NAME_TOOLTIP :{BLACK}Žaidimo pavadinimas STR_NETWORK_SERVER_LIST_GENERAL_ONLINE :{BLACK}{COMMA}/{COMMA} - {COMMA}/{COMMA} STR_NETWORK_SERVER_LIST_CLIENTS_CAPTION :{BLACK}Žaidejai -STR_NETWORK_SERVER_LIST_CLIENTS_CAPTION_TOOLTIP :{BLACK}Žaidžia / maksimaliai žaidėjų +STR_NETWORK_SERVER_LIST_CLIENTS_CAPTION_TOOLTIP :{BLACK}Klientų tinkle / Didžiausias leistinas skaičius STR_NETWORK_SERVER_LIST_MAP_SIZE_SHORT :{BLACK}{COMMA}x{COMMA} STR_NETWORK_SERVER_LIST_MAP_SIZE_CAPTION :{BLACK}Žemėlapio dydis STR_NETWORK_SERVER_LIST_MAP_SIZE_CAPTION_TOOLTIP :{BLACK}Žaidimo žemėlapio dydis{}Pragtelėjus rušiuojama pagal dydį @@ -2110,7 +2158,7 @@ STR_NETWORK_SERVER_LIST_PASSWORD :{SILVER}Apsaugo STR_NETWORK_SERVER_LIST_SERVER_OFFLINE :{SILVER}SERVERIS IŠJUNGTAS STR_NETWORK_SERVER_LIST_SERVER_FULL :{SILVER}SERVERIS PILNAS STR_NETWORK_SERVER_LIST_VERSION_MISMATCH :{SILVER}VERSIJŲ NESUTAPIMAS -STR_NETWORK_SERVER_LIST_GRF_MISMATCH :{SILVER}PAPILD. GRAFIKOS NEATITIKIMAS +STR_NETWORK_SERVER_LIST_GRF_MISMATCH :{SILVER}NEATITINKA PLĖTINYS STR_NETWORK_SERVER_LIST_JOIN_GAME :{BLACK}Jungtis STR_NETWORK_SERVER_LIST_REFRESH :{BLACK}Atnaujinti serverį @@ -2137,8 +2185,8 @@ STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}Apsaugok STR_NETWORK_START_SERVER_UNADVERTISED :Ne STR_NETWORK_START_SERVER_ADVERTISED :Taip STR_NETWORK_START_SERVER_CLIENTS_SELECT :{BLACK}{NUM} klient{P as ai ų} -STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Maksimalus klientų skaičius: -STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS_TOOLTIP :{BLACK}Pasirinkite maksimalų klientų skaičių. Nebūtinai visos jungtys turi buti užpildytos +STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Didžiausias klientų skaičius: +STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS_TOOLTIP :{BLACK}Pasirinkite didžiausią klientų skaičių. Nebūtinai visos jungtys turi būti užpildytos STR_NETWORK_START_SERVER_COMPANIES_SELECT :{BLACK}{NUM} kompanij{P a os ų} STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}Daugiausia kompanijų: STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES_TOOLTIP :{BLACK}Riboti serverį iki tam tikro skaičiaus kompanijų @@ -2289,7 +2337,7 @@ STR_NETWORK_CHAT_OSKTITLE :{BLACK}Įveskit STR_NETWORK_ERROR_NOTAVAILABLE :{WHITE}Nerastas tinklo įrenginys arba sukompiliuota be ENABLE_NETWORK STR_NETWORK_ERROR_NOSERVER :{WHITE}Nerado nei vieno žaidimo tinkle STR_NETWORK_ERROR_NOCONNECTION :{WHITE}Serveris neatsakė į užklausą -STR_NETWORK_ERROR_NEWGRF_MISMATCH :{WHITE}Nepavyko prisijungti dėl Papild. grafikos neatitikimo +STR_NETWORK_ERROR_NEWGRF_MISMATCH :{WHITE}Nepavyko prisijungti dėl netinkamo plėtinio STR_NETWORK_ERROR_DESYNC :{WHITE}Žaidimo tinkle sinchronizacija nepavyko STR_NETWORK_ERROR_LOSTCONNECTION :{WHITE}Nutruko ryšys STR_NETWORK_ERROR_SAVEGAMEERROR :{WHITE}Negali atverti išsaugoto žaidimo @@ -2315,7 +2363,7 @@ STR_NETWORK_ERROR_CLIENT_DESYNC :sinchronizacijo STR_NETWORK_ERROR_CLIENT_SAVEGAME :negali užkrauti žemėlapio STR_NETWORK_ERROR_CLIENT_CONNECTION_LOST :prarastas ryšys STR_NETWORK_ERROR_CLIENT_PROTOCOL_ERROR :protokolo klaida -STR_NETWORK_ERROR_CLIENT_NEWGRF_MISMATCH :Papild. grafikos neatitikimas +STR_NETWORK_ERROR_CLIENT_NEWGRF_MISMATCH :Neatitinka plėtinys STR_NETWORK_ERROR_CLIENT_NOT_AUTHORIZED :Neautorizuota STR_NETWORK_ERROR_CLIENT_NOT_EXPECTED :gautas neteisingas arba nelauktas paketas STR_NETWORK_ERROR_CLIENT_WRONG_REVISION :bloga versija @@ -2406,11 +2454,11 @@ STR_CONTENT_NO_ZLIB_SUB :{WHITE}... atsi # Order of these is important! STR_CONTENT_TYPE_BASE_GRAPHICS :Bazinė grafika -STR_CONTENT_TYPE_NEWGRF :NewGRF +STR_CONTENT_TYPE_NEWGRF :Plėtiniai STR_CONTENT_TYPE_AI :AI STR_CONTENT_TYPE_AI_LIBRARY :DI biblioteka STR_CONTENT_TYPE_SCENARIO :Scenarijus -STR_CONTENT_TYPE_HEIGHTMAP :Aukščio žemėlapis +STR_CONTENT_TYPE_HEIGHTMAP :Teminis žemėlapis STR_CONTENT_TYPE_BASE_SOUNDS :Baziniai garsai STR_CONTENT_TYPE_BASE_MUSIC :Bazinė muzika STR_CONTENT_TYPE_GAME_SCRIPT :Žaidimo skriptas @@ -2436,27 +2484,27 @@ STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Taip, pa STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}Ne, išeiti iš OpenTTD # Transparency settings window -STR_TRANSPARENCY_CAPTION :{WHITE}Permatomumo nustatymai -STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Nustatyti stočių ženklų permatomumą. Ctrl+Click to užrakinti. -STR_TRANSPARENT_TREES_TOOLTIP :{BLACK}Nustatyti medžių permatomumą . Ctrl+Click to užrakinti. -STR_TRANSPARENT_HOUSES_TOOLTIP :{BLACK}Nustatyti namų permatomumą . Ctrl+Click užrakinti. -STR_TRANSPARENT_INDUSTRIES_TOOLTIP :{BLACK}Nustatyti pramoninių pastatų permatomumą . Ctrl+Click užrakinti -STR_TRANSPARENT_BUILDINGS_TOOLTIP :{BLACK}Perjungti statomų pastatų, tokių kaip stotys, garažai ir kontrolės punktai, permatomumą. Ctrl+Click užrakinti. -STR_TRANSPARENT_BRIDGES_TOOLTIP :{BLACK}Nustatyti tiltų permatomumą. Ctrl+Click užrakinti -STR_TRANSPARENT_STRUCTURES_TOOLTIP :{BLACK}Perjungti pastatų, tokių kaip švyturiai ir antenos, permatomumą.Ctrl+Click užrakinti -STR_TRANSPARENT_CATENARY_TOOLTIP :{BLACK}Perjungti laidų permatomumą . Ctrl+Click užrakinti. -STR_TRANSPARENT_LOADING_TOOLTIP :{BLACK}Perjungti krovimo indikatorių permatomumą. Ctrl+Click užrakinti -STR_TRANSPARENT_INVISIBLE_TOOLTIP :{BLACK}Nustatyti objektus nematomais vietoje permatomų +STR_TRANSPARENCY_CAPTION :{WHITE}Skaidrumo nuostatos +STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Perjungti ženklų skaidrumą. Spragtelėjus laikant nuspaustą Ctrl klavišą, nuostata bus užrakinta +STR_TRANSPARENT_TREES_TOOLTIP :{BLACK}Perjungti medžių skaidrumą. Spragtelėjus laikant nuspaustą Ctrl klavišą, nuostata bus užrakinta +STR_TRANSPARENT_HOUSES_TOOLTIP :{BLACK}Perjungti namų skaidrumą. Spragtelėjus laikant nuspaustą Ctrl klavišą, nuostata bus užrakinta +STR_TRANSPARENT_INDUSTRIES_TOOLTIP :{BLACK}Perjungti pramonės įmonių skaidrumą. Spragtelėjus laikant nuspaustą Ctrl klavišą, nuostata bus užrakinta +STR_TRANSPARENT_BUILDINGS_TOOLTIP :{BLACK}Perjungti stotelių, garažų ir panašių pastatų skaidrumą. Spragtelėjus laikant nuspaustą Ctrl klavišą, nuostata bus užrakinta +STR_TRANSPARENT_BRIDGES_TOOLTIP :{BLACK}Perjungti tiltų skaidrumą. Spragtelėjus laikant nuspaustą Ctrl klavišą, nuostata bus užrakinta +STR_TRANSPARENT_STRUCTURES_TOOLTIP :{BLACK}Perjungti švyturių, siųstuvų ir panašių statinių skaidrumą. Spragtelėjus laikant nuspaustą Ctrl klavišą, nuostata bus užrakinta +STR_TRANSPARENT_CATENARY_TOOLTIP :{BLACK}Perjungti laidų skaidrumą. Spragtelėjus laikant nuspaustą Ctrl klavišą, nuostata bus užrakinta +STR_TRANSPARENT_LOADING_TOOLTIP :{BLACK}Perjungti krovos indikatorių skaidrumą. Spragtelėjus laikant nuspaustą Ctrl klavišą, nuostata bus užrakinta +STR_TRANSPARENT_INVISIBLE_TOOLTIP :{BLACK}Pasirinkti tarp skaidrių ir nematomų objektų # Linkgraph legend window -STR_LINKGRAPH_LEGEND_CAPTION :{BLACK}Krovinių paskirstymas +STR_LINKGRAPH_LEGEND_CAPTION :{BLACK}Krovinių srautai STR_LINKGRAPH_LEGEND_ALL :{BLACK}Visi -STR_LINKGRAPH_LEGEND_NONE :{BLACK}Nieko -STR_LINKGRAPH_LEGEND_SELECT_COMPANIES :{BLACK}Pasirinkite vaizduojamas kompanijas +STR_LINKGRAPH_LEGEND_NONE :{BLACK}Joks +STR_LINKGRAPH_LEGEND_SELECT_COMPANIES :{BLACK}Pasirinkite kompanijas, kurių krovinių srautus norite matyti # Linkgraph legend window and linkgraph legend in smallmap -STR_LINKGRAPH_LEGEND_UNUSED :{TINY_FONT}{BLACK}nenaudotas -STR_LINKGRAPH_LEGEND_SATURATED :{TINY_FONT}{BLACK}prisotintas +STR_LINKGRAPH_LEGEND_UNUSED :{TINY_FONT}{BLACK}nenaudojamas +STR_LINKGRAPH_LEGEND_SATURATED :{TINY_FONT}{BLACK}optimalus STR_LINKGRAPH_LEGEND_OVERLOADED :{TINY_FONT}{BLACK}perkrautas # Base for station construction window(s) @@ -2519,7 +2567,7 @@ STR_STATION_BUILD_DRAG_DROP_TOOLTIP :{BLACK}Statyti STR_STATION_BUILD_STATION_CLASS_TOOLTIP :{BLACK}Pasirinkti stoties klasę rodymui STR_STATION_BUILD_STATION_TYPE_TOOLTIP :{BLACK}Pasirinkti stoties statymo tipą -STR_STATION_CLASS_DFLT :Numatytoji stotis +STR_STATION_CLASS_DFLT :Numatytoji stotelė STR_STATION_CLASS_WAYP :Keliarodžiai # Signal window @@ -2757,7 +2805,7 @@ STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Stotelė STR_LAND_AREA_INFORMATION_AIRPORT_CLASS :{BLACK}Oro uosto klasė: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_AIRPORT_NAME :{BLACK}Oro uosto pavadinimas: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_AIRPORTTILE_NAME :{BLACK}Oro uosto žemės plotelio pavadinimas: {LTBLUE}{STRING} -STR_LAND_AREA_INFORMATION_NEWGRF_NAME :{BLACK}NewGRF: {LTBLUE}{STRING} +STR_LAND_AREA_INFORMATION_NEWGRF_NAME :{BLACK}Plėtinys: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Krovinys priimtas: {LTBLUE} STR_LAND_AREA_INFORMATION_CARGO_EIGHTS :({COMMA}/8 {STRING}) STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Geležinkelių greičio limitas: {LTBLUE}{VELOCITY} @@ -2810,7 +2858,7 @@ STR_LAI_TREE_NAME_TREES :Medžiai STR_LAI_TREE_NAME_RAINFOREST :Atogrąžų miškas STR_LAI_TREE_NAME_CACTUS_PLANTS :Kaktusiniai augalai -STR_LAI_STATION_DESCRIPTION_RAILROAD_STATION :Geležinkelio stotis +STR_LAI_STATION_DESCRIPTION_RAILROAD_STATION :Geležinkelio stotelė STR_LAI_STATION_DESCRIPTION_AIRCRAFT_HANGAR :Lėktuvo angaras STR_LAI_STATION_DESCRIPTION_AIRPORT :Oro uostas STR_LAI_STATION_DESCRIPTION_TRUCK_LOADING_AREA :Sunkvežimių pakrovimo aikštelė @@ -2858,16 +2906,16 @@ 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-2014 OpenTTD komanda +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2015 OpenTTD komanda # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Išsaugoti žaidimą STR_SAVELOAD_LOAD_CAPTION :{WHITE}Įkelti žaidimą STR_SAVELOAD_SAVE_SCENARIO :{WHITE}Išsaugoti scenarijų STR_SAVELOAD_LOAD_SCENARIO :{WHITE}Įkelti scenarijų -STR_SAVELOAD_LOAD_HEIGHTMAP :{WHITE}Atverti aukščių žemėlapį -STR_SAVELOAD_SAVE_HEIGHTMAP :{WHITE}Išsaugoti aukščių žemėlapį -STR_SAVELOAD_HOME_BUTTON :{BLACK}Spausti čia perėjimui į numatytąją saugojimo/įkrovimo direktoriją +STR_SAVELOAD_LOAD_HEIGHTMAP :{WHITE}Įkelti teminį žemėlapį +STR_SAVELOAD_SAVE_HEIGHTMAP :{WHITE}Išsaugoti teminį žemėlapį +STR_SAVELOAD_HOME_BUTTON :{BLACK}Šokti į numatytąjį saugojimo/įkėlimo katalogą STR_SAVELOAD_BYTES_FREE :{BLACK}{BYTES} laisva STR_SAVELOAD_LIST_TOOLTIP :{BLACK}Diskų, katalogų ir išsaugotu žaidimų sąrašas STR_SAVELOAD_EDITBOX_TOOLTIP :{BLACK}Pasirinktas žaidimas @@ -2875,15 +2923,15 @@ STR_SAVELOAD_DELETE_BUTTON :{BLACK}Šalinti STR_SAVELOAD_DELETE_TOOLTIP :{BLACK}Ištrinti pasirinktą žaidimą STR_SAVELOAD_SAVE_BUTTON :{BLACK}Išsaugoti STR_SAVELOAD_SAVE_TOOLTIP :{BLACK}Išsaugoti žaidimą pasirinktu vardu -STR_SAVELOAD_LOAD_BUTTON :{BLACK}Užkrauti -STR_SAVELOAD_LOAD_TOOLTIP :{BLACK}Užkrauti pasirinktą žaidimą +STR_SAVELOAD_LOAD_BUTTON :{BLACK}Įkelti +STR_SAVELOAD_LOAD_TOOLTIP :{BLACK}Įkelti pasirinktą žaidimą STR_SAVELOAD_LOAD_HEIGHTMAP_TOOLTIP :{BLACK}Įkrauti pasirinktą žemėlapį STR_SAVELOAD_DETAIL_CAPTION :{BLACK}Žaidimo ypatybės STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}Nėra informacijos STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING} -STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}NewGRF: {WHITE}{STRING} +STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}Plėtiniai: {WHITE}{STRING} -STR_SAVELOAD_OSKTITLE :{BLACK}Įveskite Išsaugomo žaidimo vardą +STR_SAVELOAD_OSKTITLE :{BLACK}Įveskite išsaugomo žaidimo vardą # World generation STR_MAPGEN_WORLD_GENERATION_CAPTION :{WHITE}Pasaulio kūrimas @@ -2891,42 +2939,41 @@ STR_MAPGEN_MAPSIZE :{BLACK}Žemėla STR_MAPGEN_MAPSIZE_TOOLTIP :{BLACK}Pasirinkite žemėlapio dydį langeliais. Prieinamų langelių skaičius bus šiek tiek mažesnis. STR_MAPGEN_BY :{BLACK}* STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Miestų kiekis: -STR_MAPGEN_DATE :{BLACK}Data: -STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Industrijų kiekis: -STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}Sniego linija: +STR_MAPGEN_DATE :{BLACK}Pradžios data: +STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Pramonės įmonių kiekis: +STR_MAPGEN_MAX_HEIGHTLEVEL :{BLACK}Didžiausias leistinas aukštis: +STR_MAPGEN_MAX_HEIGHTLEVEL_UP :{BLACK}Padidinti didžiausią leistiną aukštį vienetu +STR_MAPGEN_MAX_HEIGHTLEVEL_DOWN :{BLACK}Sumažinti didžiausią leistiną aukštį vienetu +STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}Sniego linijos aukštis: STR_MAPGEN_SNOW_LINE_UP :{BLACK}Paaukštinti sniego liniją STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}Pažeminti sniego liniją -STR_MAPGEN_RANDOM_SEED :{BLACK}Atsitiktinė pradžia: -STR_MAPGEN_RANDOM_SEED_HELP :{BLACK}Paspauskite, jeigu norite įvesti atsitiktinę skaičių seką naudojamą pasaulio kūrimui -STR_MAPGEN_RANDOM :{BLACK}Atsitiktinai -STR_MAPGEN_RANDOM_HELP :{BLACK}Parenką naują atsitiktinę skaičių seką naudojamą pasaulio kūrimui -STR_MAPGEN_LAND_GENERATOR :{BLACK}Pasaulio kūrimas: +STR_MAPGEN_LAND_GENERATOR :{BLACK}Generavimo algoritmas: STR_MAPGEN_TREE_PLACER :{BLACK}Medžių algoritmas: STR_MAPGEN_TERRAIN_TYPE :{BLACK}Vietovės tipas: STR_MAPGEN_QUANTITY_OF_SEA_LAKES :{BLACK}Jūros lygis: -STR_MAPGEN_QUANTITY_OF_RIVERS :{BLACK}Upių: +STR_MAPGEN_QUANTITY_OF_RIVERS :{BLACK}Upių kiekis: STR_MAPGEN_SMOOTHNESS :{BLACK}Jautrumas: STR_MAPGEN_VARIETY :{BLACK}Įvairovės paskirstymas: STR_MAPGEN_GENERATE :{WHITE}Sukurti # Strings for map borders at game generation STR_MAPGEN_BORDER_TYPE :{BLACK}Žemėlapio kraštai: -STR_MAPGEN_NORTHWEST :{BLACK}Šiaurės-vakarai -STR_MAPGEN_NORTHEAST :{BLACK}Šiaurės-rytai +STR_MAPGEN_NORTHWEST :{BLACK}Šiaurės vakarai +STR_MAPGEN_NORTHEAST :{BLACK}Šiaurės rytai STR_MAPGEN_SOUTHEAST :{BLACK}Pietryčiai STR_MAPGEN_SOUTHWEST :{BLACK}Pietvakariai STR_MAPGEN_BORDER_FREEFORM :{BLACK}Laisva forma STR_MAPGEN_BORDER_WATER :{BLACK}Vanduo STR_MAPGEN_BORDER_RANDOM :{BLACK}Atsitiktinis -STR_MAPGEN_BORDER_RANDOMIZE :{BLACK}Atsitiktinai -STR_MAPGEN_BORDER_MANUAL :{BLACK}Pasirinktinai +STR_MAPGEN_BORDER_RANDOMIZE :{BLACK}Atsitiktiniai +STR_MAPGEN_BORDER_MANUAL :{BLACK}Pasirinktiniai -STR_MAPGEN_HEIGHTMAP_ROTATION :{BLACK}Zemelapio rotacija: -STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Žemėlapio vardas: +STR_MAPGEN_HEIGHTMAP_ROTATION :{BLACK}Žemėlapio pasukimas: +STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Žemėlapio pavadinimas: STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Dydis: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} -STR_MAPGEN_RANDOM_SEED_OSKTITLE :{BLACK}Įveskite atsitiktinį skaičių +STR_MAPGEN_MAX_HEIGHTLEVEL_QUERY_CAPT :{WHITE}Keisti didžiausią leistiną aukštį STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}Pakeisti sniego linijos aukštį STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Keisti pradžios metus @@ -2959,95 +3006,110 @@ STR_GENERATION_PREPARING_SCRIPT :{BLACK}Skriptas STR_GENERATION_PREPARING_GAME :{BLACK}Ruošiamas žaidimas # NewGRF settings -STR_NEWGRF_SETTINGS_CAPTION :{WHITE}Papild. grafikos nustatymai (NewGRF) -STR_NEWGRF_SETTINGS_INFO_TITLE :{WHITE}Išsami NewGRF informacija -STR_NEWGRF_SETTINGS_ACTIVE_LIST :{WHITE}Aktyvios NewGRF bylos -STR_NEWGRF_SETTINGS_INACTIVE_LIST :{WHITE}Neaktyvios NewGRF bylos -STR_NEWGRF_SETTINGS_SELECT_PRESET :{ORANGE}Pasirinkti nustatymus: -STR_NEWGRF_FILTER_TITLE :{ORANGE}Įrašo filtravimas: -STR_NEWGRF_SETTINGS_PRESET_LIST_TOOLTIP :{BLACK}Užkrauti parinktą nustatymą -STR_NEWGRF_SETTINGS_PRESET_SAVE :{BLACK}Išsaugoti nustatymą -STR_NEWGRF_SETTINGS_PRESET_SAVE_TOOLTIP :{BLACK}Išsaugoti esamą sąrašą kaip nuostatą -STR_NEWGRF_SETTINGS_PRESET_SAVE_QUERY :{BLACK}Įvesti vardą nuostatai -STR_NEWGRF_SETTINGS_PRESET_DELETE :{BLACK}Ištrinti nustatymus -STR_NEWGRF_SETTINGS_PRESET_DELETE_TOOLTIP :{BLACK}Ištrinti dabar pasirinktas nuostatas +STR_NEWGRF_SETTINGS_CAPTION :{WHITE}Plėtinių nuostatos +STR_NEWGRF_SETTINGS_INFO_TITLE :{WHITE}Išsami plėtinio informacija +STR_NEWGRF_SETTINGS_ACTIVE_LIST :{WHITE}Aktyvūs plėtiniai +STR_NEWGRF_SETTINGS_INACTIVE_LIST :{WHITE}Neaktyvūs plėtiniai +STR_NEWGRF_SETTINGS_SELECT_PRESET :{ORANGE}Rinkinys: +STR_NEWGRF_FILTER_TITLE :{ORANGE}Filtras: +STR_NEWGRF_SETTINGS_PRESET_LIST_TOOLTIP :{BLACK}Įkelti pasirinktą plėtinių rinkinį +STR_NEWGRF_SETTINGS_PRESET_SAVE :{BLACK}Išsaugoti rinkinį +STR_NEWGRF_SETTINGS_PRESET_SAVE_TOOLTIP :{BLACK}Išsaugoti esamą sąrašą kaip plėtinių rinkinį +STR_NEWGRF_SETTINGS_PRESET_SAVE_QUERY :{BLACK}Įvesti rinkinio pavadinimą +STR_NEWGRF_SETTINGS_PRESET_DELETE :{BLACK}Ištrinti rinkinį +STR_NEWGRF_SETTINGS_PRESET_DELETE_TOOLTIP :{BLACK}Ištrinti pasirinktą plėtinių rinkinį STR_NEWGRF_SETTINGS_ADD :{BLACK}Pridėti -STR_NEWGRF_SETTINGS_ADD_FILE_TOOLTIP :{BLACK}Įtraukti pažymėtus Papild. grafikos failus į jūsų nustatymus +STR_NEWGRF_SETTINGS_ADD_FILE_TOOLTIP :{BLACK}Įtraukti pasirinktą plėtinį į aktyvių plėtinių sąrašą STR_NEWGRF_SETTINGS_RESCAN_FILES :{BLACK}Nuskaityti dar kartą failus -STR_NEWGRF_SETTINGS_RESCAN_FILES_TOOLTIP :{BLACK}Atnaujinti prieinamų Papild. grafikos failų sąrašą +STR_NEWGRF_SETTINGS_RESCAN_FILES_TOOLTIP :{BLACK}Atnaujinti galimų plėtinių sąrašą STR_NEWGRF_SETTINGS_REMOVE :{BLACK}Pašalinti -STR_NEWGRF_SETTINGS_REMOVE_TOOLTIP :{BLACK}Pašalinti pažymėtą Papild. grafikos failą iš sąrašo +STR_NEWGRF_SETTINGS_REMOVE_TOOLTIP :{BLACK}Pašalinti pasirinktą plėtinį iš sąrašo STR_NEWGRF_SETTINGS_MOVEUP :{BLACK}Aukštyn -STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP :{BLACK}Perkelti pažymėtus Papild. grafikos failus sąraše aukštyn +STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP :{BLACK}Paslinkti pasirinktą plėtinį sąrašu aukštyn STR_NEWGRF_SETTINGS_MOVEDOWN :{BLACK}Žemyn -STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP :{BLACK}Perkelti pažymėtus Papild. grafikos failus sąraše žemyn -STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}Įdiegtų papild. grafikos failų sąrašas. +STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP :{BLACK}Paslinkti pasirinktą plėtinį sąrašu žemyn +STR_NEWGRF_SETTINGS_UPGRADE :{BLACK}Atnaujinti +STR_NEWGRF_SETTINGS_UPGRADE_TOOLTIP :{BLACK}Atnaujinti plėtinius, jei yra įdiegta naujesnė versija +STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}Aktyvių plėtinių sąrašas -STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}Nustatyti parametrus -STR_NEWGRF_SETTINGS_SHOW_PARAMETERS :{BLACK}Rodyti parametrus -STR_NEWGRF_SETTINGS_TOGGLE_PALETTE :{BLACK}Kaitalioti paletę -STR_NEWGRF_SETTINGS_TOGGLE_PALETTE_TOOLTIP :{BLACK}Kaitalioja parinkto NewGRF paletę.{}Darykite jei pajungta grafika nuspalvinta rožine spalva -STR_NEWGRF_SETTINGS_APPLY_CHANGES :{BLACK}Pritaikyti pakeitimus +STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}Plėtinio nuostatos +STR_NEWGRF_SETTINGS_SHOW_PARAMETERS :{BLACK}Rodyti nuostatas +STR_NEWGRF_SETTINGS_TOGGLE_PALETTE :{BLACK}Perjungti spalvų paletę +STR_NEWGRF_SETTINGS_TOGGLE_PALETTE_TOOLTIP :{BLACK}Perjunkite spalvų paletę, jei pasirinkto plėtinio objektai žaidime yra nuspalvinti rožine spalva +STR_NEWGRF_SETTINGS_APPLY_CHANGES :{BLACK}Taikyti pokyčius STR_NEWGRF_SETTINGS_FIND_MISSING_CONTENT_BUTTON :{BLACK}Rasti ieškomą turinį tinkle STR_NEWGRF_SETTINGS_FIND_MISSING_CONTENT_TOOLTIP :{BLACK}Patikrinti ar trūkstamas turinys gali būti rastas internete -STR_NEWGRF_SETTINGS_FILENAME :{BLACK}Failo vardas: {SILVER}{STRING} +STR_NEWGRF_SETTINGS_FILENAME :{BLACK}Failo pavadinimas: {SILVER}{STRING} STR_NEWGRF_SETTINGS_GRF_ID :{BLACK}GRF ID: {SILVER}{STRING} STR_NEWGRF_SETTINGS_VERSION :{BLACK}Versija: {SILVER}{NUM} STR_NEWGRF_SETTINGS_MIN_VERSION :{BLACK}Anksčiausia suderinama versija: {SILVER}{NUM} -STR_NEWGRF_SETTINGS_MD5SUM :{BLACK}MD5suma: {SILVER}{STRING} +STR_NEWGRF_SETTINGS_MD5SUM :{BLACK}MD5 suma: {SILVER}{STRING} STR_NEWGRF_SETTINGS_PALETTE :{BLACK}Paletė: {SILVER}{STRING} -STR_NEWGRF_SETTINGS_PARAMETER :{BLACK}Parametrai: {SILVER}{STRING} +STR_NEWGRF_SETTINGS_PARAMETER :{BLACK}Nuostatos: {SILVER}{STRING} STR_NEWGRF_SETTINGS_NO_INFO :{BLACK}Informacijos nėra STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Atitinkamas failas nerastas STR_NEWGRF_SETTINGS_DISABLED :{RED}Išjungta STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Nesuderinamas su šia OpenTTD versija +# NewGRF save preset window +STR_SAVE_PRESET_CAPTION :{WHITE}Išsaugoti rinkinį +STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK}Visų rinkinių sąrašas +STR_SAVE_PRESET_TITLE :{BLACK}Įveskite rinkinio pavadinimą +STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}Šiuo metu pasirinktas rinkinio pavadinimas +STR_SAVE_PRESET_CANCEL :{BLACK}Atšaukti +STR_SAVE_PRESET_CANCEL_TOOLTIP :{BLACK}Nieko nedaryti ir grįžti atgal +STR_SAVE_PRESET_SAVE :{BLACK}Išsaugoti +STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}Išsaugoti rinkinį pasiriktu pavadinimu + # NewGRF parameters window -STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Pakeisti NewGRF parametrus -STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Uždaryti +STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Plėtinio nuostatos +STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Užverti STR_NEWGRF_PARAMETERS_RESET :{BLACK}Atstatyti -STR_NEWGRF_PARAMETERS_RESET_TOOLTIP :{BLACK}Nustayti pradines reikšmes visiems parametrams -STR_NEWGRF_PARAMETERS_DEFAULT_NAME :Parametras {NUM} +STR_NEWGRF_PARAMETERS_RESET_TOOLTIP :{BLACK}Atstatyti pradines reikšmes visoms nuostatoms +STR_NEWGRF_PARAMETERS_DEFAULT_NAME :Nuostata {NUM} STR_NEWGRF_PARAMETERS_SETTING :{STRING}: {ORANGE}{STRING} -STR_NEWGRF_PARAMETERS_NUM_PARAM :{LTBLUE}Parametrų skaičius: {ORANGE}{NUM} +STR_NEWGRF_PARAMETERS_NUM_PARAM :{LTBLUE}Nuostatų skaičius: {ORANGE}{NUM} # NewGRF inspect window STR_NEWGRF_INSPECT_CAPTION :{WHITE}Apžiūrėti - {STRING} -STR_NEWGRF_INSPECT_PARENT_BUTTON :{BLACK}Tėvas -STR_NEWGRF_INSPECT_PARENT_TOOLTIP :{BLACK}Apžiūrėti objektą iš tėvo apimties +STR_NEWGRF_INSPECT_PARENT_BUTTON :{BLACK}Viršobjektis +STR_NEWGRF_INSPECT_PARENT_TOOLTIP :{BLACK}Apžiūrėti objektą iš viršobjekčio srities STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT :{STRING} ties {HEX} STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_OBJECT :Objektas -STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_RAIL_TYPE :Geležinkėlio tipas +STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_RAIL_TYPE :Bėgio tipas -STR_NEWGRF_INSPECT_QUERY_CAPTION :{WHITE}NewGRF kintamojo 60+x parametras (šešioliktainėje sist.) +STR_NEWGRF_INSPECT_QUERY_CAPTION :{WHITE}Plėtinio kintamojo 60+x parametras (šešioliktainėje sistemoje) # Sprite aligner window -STR_SPRITE_ALIGNER_CAPTION :{WHITE}Išdėstymo animacinis objektas {COMMA} ({STRING}) -STR_SPRITE_ALIGNER_NEXT_BUTTON :{BLACK}Kitas animacinis objektas -STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Pereiti prie kito animacinio objekto praleidžiant visus pseudo/spalvinimo/šriftų objektus peršokant į pradžią pabaigoje -STR_SPRITE_ALIGNER_GOTO_BUTTON :{BLACK}Pereiti prie animacinio objekto -STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}Pereiti prie nurodyto animacinio objekto. Jeigu objektas nėra įprastas animacinis objektas, pereiti prie kito įprasto -STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Buvęs animacinis objektas -STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Pereiti prie buvusio animacinio objekto praleidžiant visus pseudo/spalvinimo/šriftų objektus peršokant į pabaigą pradžioje -STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Atvaizdavimas dabartinio pasirinkto sprite. Suderinamumas yra ignoruojamas, rengiant šį sprite -STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Perkelti sprite aplink, keičiant X ir Y atsvaras -STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X atsvara: {NUM}, Y atsvara: {NUM} -STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Pasirinkti sprite -STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Pasirinkite sprite iš bet kurios vietos ekrane +STR_SPRITE_ALIGNER_CAPTION :{WHITE}Lygiuojamas spruklys {COMMA} ({STRING}) +STR_SPRITE_ALIGNER_NEXT_BUTTON :{BLACK}Tolesnis spruklys +STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Įkelti tolesnį spruklį +STR_SPRITE_ALIGNER_GOTO_BUTTON :{BLACK}Nurodyti spruklį +STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}Įkelti nurodytą spruklį. Jei nurodytas spruklys nėa normalus, įkelti tolesnį normalų +STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Ankstesnis spruklys +STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Įkelti ankstesnį spruklį +STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Pasirinkto spruklio atvaizdas, nekreipiant dėmesio į lygiavimą +STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Paslinkti spruklį, keičiant X ir Y poslinkius +STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Atkurti +STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Atkurti numatytuosius santykinius poslinkius +STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}X poslinkis: {NUM}, Y poslinkis: {NUM} (Absoliutus) +STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}X poslinkis: {NUM}, Y poslinkis: {NUM} (Santykinis) +STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Pasirinkti spruklį +STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Pasirinkti spruklį iš bet kurios vietos ekrane -STR_SPRITE_ALIGNER_GOTO_CAPTION :{WHITE}Eiti į sprite +STR_SPRITE_ALIGNER_GOTO_CAPTION :{WHITE}Įkelti spruklį # NewGRF (self) generated warnings/errors STR_NEWGRF_ERROR_MSG_INFO :{SILVER}{STRING} STR_NEWGRF_ERROR_MSG_WARNING :{RED}Įspėjimas: {SILVER}{STRING} STR_NEWGRF_ERROR_MSG_ERROR :{RED}Klaida: {SILVER}{STRING} -STR_NEWGRF_ERROR_MSG_FATAL :{RED}Fatalinė klaida: {SILVER}{STRING} -STR_NEWGRF_ERROR_FATAL_POPUP :{WHITE}Ištiko nepataisoma NewGRF klaida: {}{STRING} -STR_NEWGRF_ERROR_VERSION_NUMBER :{1:STRING} neveiks su TTDPatch versija nurodyta pagal OpenTTD. +STR_NEWGRF_ERROR_MSG_FATAL :{RED}Lemtingoji klaida: {SILVER}{STRING} +STR_NEWGRF_ERROR_FATAL_POPUP :{WHITE}Įvyko lemtingoji plėtinio klaida: {}{STRING} +STR_NEWGRF_ERROR_VERSION_NUMBER :{1:STRING} neveiks su TTDPatch versija nurodyta pagal OpenTTD STR_NEWGRF_ERROR_DOS_OR_WINDOWS :{1:STRING} skirtas {STRING} TTD versijai. STR_NEWGRF_ERROR_UNSET_SWITCH :{1:STRING} yra pritaikytas naudojimui su {STRING} STR_NEWGRF_ERROR_INVALID_PARAMETER :Neteisingas parametras {1:STRING}: parametras {STRING} ({NUM}) @@ -3055,9 +3117,9 @@ STR_NEWGRF_ERROR_LOAD_BEFORE :{1:STRING} turi STR_NEWGRF_ERROR_LOAD_AFTER :{1:STRING} turi būti įkeltas po {STRING} STR_NEWGRF_ERROR_OTTD_VERSION_NUMBER :{1:STRING} reikalauja OpenTTD versijos {STRING} arba naujesnės STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE :GRF failas, kurį turėjo išversti -STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :Įkelta per daug NewGRF -STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :Įkėlimas {1:STRING} kaip statinio NewGRF su {STRING} gali sukelti desinchronizacijas -STR_NEWGRF_ERROR_UNEXPECTED_SPRITE :Netikėtas spruklys (spruklys {3:NUM}) +STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :Įkelta per daug plėtinių +STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :Plėtinio {1:STRING} įkėlimas su {STRING} gali išderinti žaidimą +STR_NEWGRF_ERROR_UNEXPECTED_SPRITE :Netikėtas spruklys ({3:NUM}) STR_NEWGRF_ERROR_UNKNOWN_PROPERTY :Nežinoma veiksmo 0 savybė {4:HEX} (spruklys {3:NUM}) STR_NEWGRF_ERROR_INVALID_ID :Bandymas panaudoti neteisingą ID (spruklys {3:NUM}) STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} turi sugadintą spruklį. Visi sugadinti sprukliai bus rodomi kaip raudoni klaustukai (?) @@ -3066,7 +3128,7 @@ STR_NEWGRF_ERROR_READ_BOUNDS :Skaitymas už p STR_NEWGRF_ERROR_MISSING_SPRITES :{WHITE}Šiuo metu naudojamam grafikos rinkiniui trūksta keleto spruklių.{}Atnaujinkite pagrindinį grafikos rinkinį STR_NEWGRF_ERROR_MISSING_SPRITES_UNSTABLE :{WHITE}Šiuo metu naudojamam pagrindinės grafikos rinkiniui trūsta keleto spruklių. {}Atnaujinkite pagrindinės grafikos rinkinį. {} Kadangi žaidžiate {YELLOW} negalutinę, vis dar kuriamą OpenTTD versiją, {WHITE}, jums, ko gero, reikėtų įdiegti atitinkamą{YELLOW}naujausią, negalutinį pagrindinės grafikos rinkinį.{WHITE} STR_NEWGRF_ERROR_GRM_FAILED :Pageidautas GRF resursas yra neprieinamas (spruklys {3:NUM}) -STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING} buvo išjungta: {STRING} +STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING} buvo išjungtas {2:STRING} STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Neteisingas/nežinomas spruklio išdėstymo formatas (spruklys {3:NUM}) # NewGRF related 'general' warnings @@ -3075,28 +3137,28 @@ STR_NEWGRF_CONFIRMATION_TEXT :{YELLOW}Jūs no STR_NEWGRF_DUPLICATE_GRFID :{WHITE}Negalima pridėti failo: pasikartojantis GRF ID STR_NEWGRF_COMPATIBLE_LOADED :{ORANGE}Atitinkamas failas nerastas (panaudotas suderinamas grafikos failas) -STR_NEWGRF_TOO_MANY_NEWGRFS :{WHITE}Neįmanoma pridėti failo: pasiektas NewGRF failų limitas +STR_NEWGRF_TOO_MANY_NEWGRFS :{WHITE}Neįmanoma pridėti failo: pasiektas plėtinių failų limitas STR_NEWGRF_COMPATIBLE_LOAD_WARNING :{WHITE}Suderinami grafikos failai panaudoti vietoj trūkstamų STR_NEWGRF_DISABLED_WARNING :{WHITE}Trūkstami grafikos failai nenaudojami STR_NEWGRF_UNPAUSE_WARNING_TITLE :{YELLOW}Trūksta GRF failų -STR_NEWGRF_UNPAUSE_WARNING :{WHITE}Paleidimas gali užlaužti OpenTTD. Neraportuokite šios rūšies gedimų!{}Ar norite paleisti toliau? +STR_NEWGRF_UNPAUSE_WARNING :{WHITE}Paleidimas gali išderinti ar užstrigdinti OpenTTD. Nepildykite klaidų pranešimų dėl šių problemų.{}Ar norite paleisti žaidimą? # NewGRF status -STR_NEWGRF_LIST_NONE :Niekas -STR_NEWGRF_LIST_ALL_FOUND :Visos bylos rastos -STR_NEWGRF_LIST_COMPATIBLE :{YELLOW}Rastos tinkamos bylos -STR_NEWGRF_LIST_MISSING :{RED}Trūkstamos bylos +STR_NEWGRF_LIST_NONE :Nėra +STR_NEWGRF_LIST_ALL_FOUND :Visi failai rasti +STR_NEWGRF_LIST_COMPATIBLE :{YELLOW}Rasti suderinami failai +STR_NEWGRF_LIST_MISSING :{RED}Trūkstami failai # NewGRF 'it's broken' warnings -STR_NEWGRF_BROKEN :{WHITE}NewGRF elgesys '{0:STRING}' gali desinchronizuoti ir/arba nutraukti žaidimą -STR_NEWGRF_BROKEN_POWERED_WAGON :{WHITE}Tai pakeitė varomo vagono būseną '{1:ENGINE}' kai ji nėra depe. -STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Tai pakeitė transporto priemonės '{1:ENGINE}' ilgį kai ji nėra depe -STR_NEWGRF_BROKEN_CAPACITY :{WHITE}Transporto priemonės '{1:ENGINE}' talpa pasikeitė jai nesant depe -STR_BROKEN_VEHICLE_LENGTH :{WHITE}Traukinys '{VEHICLE}' priklausantis '{COMPANY}' yra netinkamo ilgio. Tai tikriausiai nutiko dėl netinkamo NewGRF. Žaidimas gali būti išsinchronizuotas arba išjungtas +STR_NEWGRF_BROKEN :{WHITE}Plėtinys '{0:STRING}' gali išderinti ar net nutraukti žaidimą. +STR_NEWGRF_BROKEN_POWERED_WAGON :{WHITE}Transporto priemonės '{1:ENGINE}' būsena pasikeitė jai nesant garaže/depe/angare +STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Transporto priemonės '{1:ENGINE}' ilgis pasikeitė jai nesant garaže/depe/angare +STR_NEWGRF_BROKEN_CAPACITY :{WHITE}Transporto priemonės '{1:ENGINE}' talpa pasikeitė jai nesant garaže/depe/angare +STR_BROKEN_VEHICLE_LENGTH :{WHITE}Traukinys '{VEHICLE}' priklausantis '{COMPANY}' yra netinkamo ilgio. Tai tikriausiai nutiko dėl netinkamo plėtinio. Žaidimas gali būti išderintas ar net išjungtas -STR_NEWGRF_BUGGY :{WHITE}NewGRF '{0:STRING}' teikia neteisingą informaciją -STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}'{1:ENGINE}' variklio krovinio/pertvarkymo informacija skiriasi nuo pirkinių sąrašo po pastatymo. Tai gali sukelti neteisingus automatiško atnaujinimo arba pertvarkymo rezultatus +STR_NEWGRF_BUGGY :{WHITE}Plėtinys '{0:STRING}' teikia neteisingą informaciją +STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}Transporto priemonės '{1:ENGINE}' talpa skiriasi nuo nurodytos galimų priemonių sąraše. Automatinis atnaujinimas gali tinkamai neveikti STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' sukėle begalinį ciklą produkcijos atgaliniame kvietime STR_NEWGRF_BUGGY_UNKNOWN_CALLBACK_RESULT :{WHITE}Kvietimas {1:HEX} grąžino nežinomą/klaidingą atsakymą {2:HEX} @@ -3104,17 +3166,17 @@ STR_NEWGRF_BUGGY_UNKNOWN_CALLBACK_RESULT :{WHITE}Kvietima STR_NEWGRF_INVALID_CARGO : STR_NEWGRF_INVALID_CARGO_ABBREV :?? STR_NEWGRF_INVALID_CARGO_QUANTITY :{COMMA} vnt. -STR_NEWGRF_INVALID_ENGINE : -STR_NEWGRF_INVALID_INDUSTRYTYPE : +STR_NEWGRF_INVALID_ENGINE : +STR_NEWGRF_INVALID_INDUSTRYTYPE : # Placeholders for other invalid stuff, e.g. vehicles that have gone (Game Script). STR_INVALID_VEHICLE : # NewGRF scanning window -STR_NEWGRF_SCAN_CAPTION :{WHITE}Tikrinami NewGRF -STR_NEWGRF_SCAN_MESSAGE :{BLACK}Nuskaitomi NewGRF. Tai gali užtrukti, priklausomai nuo kiekio... -STR_NEWGRF_SCAN_STATUS :{BLACK}Nuskaitomi {NUM} NewGRF{P "" "" ""} iš paskaičiuotų {NUM} NewGRF{P "" "" ""} -STR_NEWGRF_SCAN_ARCHIVES :Ieškoma archyvų +STR_NEWGRF_SCAN_CAPTION :{WHITE}Tikrinami plėtiniai +STR_NEWGRF_SCAN_MESSAGE :{BLACK}Nuskaitomi plėtiniai. Tai gali užtrukti, priklausomai nuo kiekio... +STR_NEWGRF_SCAN_STATUS :{BLACK}Nuskaityti {NUM} plėtin{P ys iai ių} iš {NUM} +STR_NEWGRF_SCAN_ARCHIVES :Ieškoma archyvuose # Sign list window STR_SIGN_LIST_CAPTION :{WHITE}Ženklų sąrašas - {COMMA} ženkl{P as ai ų} @@ -3130,9 +3192,9 @@ STR_EDIT_SIGN_SIGN_OSKTITLE :{BLACK}Įrašyk # Town directory window STR_TOWN_DIRECTORY_CAPTION :{WHITE}Miestai -STR_TOWN_DIRECTORY_NONE :{ORANGE}- Nieko - +STR_TOWN_DIRECTORY_NONE :{ORANGE}Nėra STR_TOWN_DIRECTORY_TOWN :{ORANGE}{TOWN}{BLACK} ({COMMA}) -STR_TOWN_DIRECTORY_LIST_TOOLTIP :{BLACK}Miestų pavadinimai - spragtelėjus ant vardo, miestas rodomas ekrano centre. Ctrl+Paspaudimas atidaro naują langą su miesto vaizdu +STR_TOWN_DIRECTORY_LIST_TOOLTIP :{BLACK}Spragtelėjus ant pavadinimo, miestas bus parodytas ekrano centre. Spragtelėjus laikant nuspaudus „Ctrl“ klavišą, bus atvertas papildomas peržiūros langas į pasirinktą miestą STR_TOWN_POPULATION :{BLACK}Pasaulio populiacija: {COMMA} # Town view window @@ -3147,8 +3209,8 @@ STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} pristatyta STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (vis dar reikia) STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (pristatyta) -STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Miestas auga kas {ORANGE}{COMMA}{BLACK} dien{P ą as ų} -STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Miestas auga kas {ORANGE}{COMMA}{BLACK} dien{P ą as ų} (paremtas) +STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Miestas auga kas {ORANGE}{COMMA}{BLACK}{NBSP}dien{P ą as ų} +STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Miestas auga kas {ORANGE}{COMMA}{BLACK}{NBSP}dien{P ą as ų} (paremtas) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}Miestas {RED}ne{BLACK}didėja STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Triukšmo limitas mieste: {ORANGE}{COMMA}{BLACK} daugiausia: {ORANGE}{COMMA} STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Rodyti miestą ekrano centre. Ctrl+Paspaudimas atidaro naują langą su miesto vaizdu @@ -3208,7 +3270,7 @@ STR_GOAL_QUESTION_CAPTION_INFORMATION :Informacija STR_GOAL_QUESTION_CAPTION_WARNING :Perspėjimas STR_GOAL_QUESTION_CAPTION_ERROR :Klaida -### Start of Goal Question button list +############ Start of Goal Question button list STR_GOAL_QUESTION_BUTTON_CANCEL :Atšaukti STR_GOAL_QUESTION_BUTTON_OK :Gerai STR_GOAL_QUESTION_BUTTON_NO :Ne @@ -3227,6 +3289,7 @@ STR_GOAL_QUESTION_BUTTON_RESTART :Pradėti iš na STR_GOAL_QUESTION_BUTTON_POSTPONE :Atidėti STR_GOAL_QUESTION_BUTTON_SURRENDER :Pasiduoti STR_GOAL_QUESTION_BUTTON_CLOSE :Uždaryti +############ End of Goal Question button list # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}Subsidijos @@ -3262,7 +3325,6 @@ STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}Jokių k # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} -STR_STATION_VIEW_WAITING_TITLE :{BLACK}Laukia: {WHITE}{STRING} STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} pakeliui iš „{STATION}“) STR_STATION_VIEW_RESERVED :{YELLOW}({CARGO_SHORT} rezervuota krovai) @@ -3316,10 +3378,10 @@ STR_CARGO_RATING_OUTSTANDING :Nuostabus STR_STATION_VIEW_CENTER_TOOLTIP :{BLACK}Centruoti stotį pagrindiniame ekrane. Ctrl+Click atidaro naują peržiūros langą su vaizdu į šią stotį STR_STATION_VIEW_RENAME_TOOLTIP :{BLACK}Pakeisti stoties pavadinimą -STR_STATION_VIEW_SCHEDULED_TRAINS_TOOLTIP :{BLACK}Rodyti visus traukinius, į kurių užduotis yra įtraukta ši stotis -STR_STATION_VIEW_SCHEDULED_ROAD_VEHICLES_TOOLTIP :{BLACK}Rodyti visus automobilius, į kurių užduotis yra įtraukta ši stotis -STR_STATION_VIEW_SCHEDULED_AIRCRAFT_TOOLTIP :{BLACK}Rodyti visus lėktuvus, į kurių užduotis yra įtraukta ši stotis -STR_STATION_VIEW_SCHEDULED_SHIPS_TOOLTIP :{BLACK}Rodyti visus laivus, į kurių užduotis yra įtraukta ši stotis +STR_STATION_VIEW_SCHEDULED_TRAINS_TOOLTIP :{BLACK}Rodyti visus traukinius, į kurių užduotis yra įtraukta ši stotelė +STR_STATION_VIEW_SCHEDULED_ROAD_VEHICLES_TOOLTIP :{BLACK}Rodyti visus automobilius, į kurių užduotis yra įtraukta ši stotelė +STR_STATION_VIEW_SCHEDULED_AIRCRAFT_TOOLTIP :{BLACK}Rodyti visus lėktuvus, į kurių užduotis yra įtraukta ši stotelė +STR_STATION_VIEW_SCHEDULED_SHIPS_TOOLTIP :{BLACK}Rodyti visus laivus, į kurių užduotis yra įtraukta ši stotelė STR_STATION_VIEW_RENAME_STATION_CAPTION :Pervardinti stotį @@ -3357,12 +3419,12 @@ STR_FINANCES_POSITIVE_INCOME :{BLACK}+{CURREN STR_FINANCES_TOTAL_CAPTION :{WHITE}Iš viso: STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}Sąskaitos balansas STR_FINANCES_LOAN_TITLE :{WHITE}Paskola -STR_FINANCES_MAX_LOAN :{WHITE}Maksimali paskola: {BLACK}{CURRENCY_LONG} +STR_FINANCES_MAX_LOAN :{WHITE}Didžiausia paskola: {BLACK}{CURRENCY_LONG} STR_FINANCES_TOTAL_CURRENCY :{BLACK}{CURRENCY_LONG} -STR_FINANCES_BORROW_BUTTON :{BLACK}Skolintis{CURRENCY_LONG} -STR_FINANCES_BORROW_TOOLTIP :{BLACK}Skolintis daugiau. Ctrl+Paspaudimas pasiskolina daugiausiai kiek galima -STR_FINANCES_REPAY_BUTTON :{BLACK}Gražinti{CURRENCY_LONG} -STR_FINANCES_REPAY_TOOLTIP :{BLACK}Grąžinti paskolos dalį. Ctrl+Paspaudimas grąžina daugiausiai kiek gali +STR_FINANCES_BORROW_BUTTON :{BLACK}Skolintis {CURRENCY_LONG} +STR_FINANCES_BORROW_TOOLTIP :{BLACK}Skolintis daugiau. Spragtelėjus laikant nuspaustą Ctrl klavišą, bus pasiskolinta didžiausia įmanoma suma +STR_FINANCES_REPAY_BUTTON :{BLACK}Grąžinti {CURRENCY_LONG} +STR_FINANCES_REPAY_TOOLTIP :{BLACK}Grąžinti paskolos dalį. Spragtelėjus laikant nuspaustą Ctrl klavišą, bus grąžinta didžiausia įmanoma suma STR_FINANCES_INFRASTRUCTURE_BUTTON :{BLACK}Infrastruktūra # Company view @@ -3512,21 +3574,24 @@ STR_GROUP_DELETE_TOOLTIP :{BLACK}Pašalin STR_GROUP_RENAME_TOOLTIP :{BLACK}Pervadinti pasirinktą grupę STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Paspauskite čia, kad apsaugoti grupę nuo bendro auto-pakeitimo +STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Pašalinti grupę +STR_GROUP_DELETE_QUERY_TEXT :{WHITE}Ar tikrai norite pašalinti šią grupę ir visus jos palikuonis? + STR_GROUP_ADD_SHARED_VEHICLE :Įkelti bendras transporto priemones STR_GROUP_REMOVE_ALL_VEHICLES :Iškelti visas transporto priemones STR_GROUP_RENAME_CAPTION :{BLACK}Pervadinti grupę # Build vehicle window -STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Nauji Traukiniai -STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Nauji Elektriniai Traukiniai -STR_BUY_VEHICLE_TRAIN_MONORAIL_CAPTION :Nauji Vienbegiai Traukiniai -STR_BUY_VEHICLE_TRAIN_MAGLEV_CAPTION :Nauji „Maglev“ traukiniai +STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Nauji lokomotyvai +STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Nauji elektriniai lokomotyvai +STR_BUY_VEHICLE_TRAIN_MONORAIL_CAPTION :Nauji vienbėgiai lokomotyvai +STR_BUY_VEHICLE_TRAIN_MAGLEV_CAPTION :Nauji „Maglev“ lokomotyvai -STR_BUY_VEHICLE_TRAIN_ALL_CAPTION :Traukiniai +STR_BUY_VEHICLE_TRAIN_ALL_CAPTION :Nauji lokomotyvai STR_BUY_VEHICLE_ROAD_VEHICLE_CAPTION :Nauji automobiliai STR_BUY_VEHICLE_SHIP_CAPTION :Nauji laivai -STR_BUY_VEHICLE_AIRCRAFT_CAPTION :Naujas lėktuvas +STR_BUY_VEHICLE_AIRCRAFT_CAPTION :Nauji lėktuvai STR_PURCHASE_INFO_COST_WEIGHT :{BLACK}Kaina: {GOLD}{CURRENCY_LONG}{BLACK} Svoris: {GOLD}{WEIGHT_SHORT} STR_PURCHASE_INFO_SPEED_POWER :{BLACK}Greitis: {GOLD}{VELOCITY}{BLACK} Galia: {GOLD}{POWER} @@ -3549,35 +3614,50 @@ STR_PURCHASE_INFO_ALL_BUT :visiems krovini STR_PURCHASE_INFO_MAX_TE :{BLACK}Didž. traukos jėga: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Nuotolis: {GOLD}{COMMA} langeliai -STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Transporto priemoniu pasirinkimo sarasas - paspausk ant priemones, kad gautum daugiau informacijos -STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Automobiliu pasirinkimo sarasas - paspausk ant automobilio jei nori detalesnes informacijos -STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Laivu sarasas - paspausk ant laivo, jei nori detalesnes informacijos -STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Lektuvu sarasas - paspausk ant lektuvo, jei nori daugiau informacijos +STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Lokomotyvų ir vagonų sąrašas. Spragtelėjus bus parodyta platesnė informacija. Spragtelėjus laikant nuspaustą Ctrl klavišą, lokomotyvas ar vagonas bus slepiamas/rodomas sąraše +STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Automobilių sąrašas. Spragtelėjus bus parodyta platesnė informacija. Spragtelėjus laikant nuspaustą Ctrl klavišą, automobilis bus slepiamas/rodomas sąraše +STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Laivų sąrašas. Spragtelėjus bus parodyta platesnė informacija. Spragtelėjus laikant nuspaustą Ctrl klavišą, laivas bus slepiamas/rodomas sąraše +STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Lėktuvų sąrašas. Spragtelėjus bus parodyta platesnė informacija. Spragtelėjus laikant nuspaustą Ctrl klavišą, lėktuvas bus slepiamas/rodomas sąraše -STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}Pirkti transporto priemonę -STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Pirkti transporto priemonę -STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_BUTTON :{BLACK}Pirkti Laivą -STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_BUTTON :{BLACK}Pirkti lėktuvą +STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}Pirkti +STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Pirkti +STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_BUTTON :{BLACK}Pirkti +STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_BUTTON :{BLACK}Pirkti -STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Pirkti pažymetą traukinį. Shift+Click parodys kainą neperkant -STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Įsigyti pažymetą transporto priemonę -STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Pirkti pažymetą laivą. Shift+Click parodys kainą neperkant -STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Pirkti pažymėtą lėktuvą. Shift+Click parodys kainą neperkant +STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Pirkti pažymėtą lokomotyvą ir/ar vagonus. Spragtelėjus laikant nuspaustą Shift klavišą, bus parodyta pirkinio kaina nieko realiai nenuperkant +STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Pirkti pažymėtą automobilį. Spragtelėjus laikant nuspaustą Shift klavišą, bus parodyta pirkinio kaina nieko realiai nenuperkant +STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Pirkti pažymėtą laivą. Spragtelėjus laikant nuspaustą Shift klavišą, bus parodyta pirkinio kaina nieko realiai nenuperkant +STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Pirkti pažymėtą lėktuvą. Spragtelėjus laikant nuspaustą Shift klavišą, bus parodyta pirkinio kaina nieko realiai nenuperkant STR_BUY_VEHICLE_TRAIN_RENAME_BUTTON :{BLACK}Pervardinti STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_BUTTON :{BLACK}Pervardinti STR_BUY_VEHICLE_SHIP_RENAME_BUTTON :{BLACK}Pervardinti STR_BUY_VEHICLE_AIRCRAFT_RENAME_BUTTON :{BLACK}Pervardinti -STR_BUY_VEHICLE_TRAIN_RENAME_TOOLTIP :{BLACK}Pervardinti traukinio tipa -STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Pervardinti automobiliu tipa -STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Pakeisti laivo tipa -STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Pakeisti lėktuvo vardą +STR_BUY_VEHICLE_TRAIN_RENAME_TOOLTIP :{BLACK}Pervardinti pažymėtą lokomotyvą ar vagoną +STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Pervardinti pažymėtą automobilį +STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Pervardinti pažymėtą laivą +STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Pervardinti pažymėtą lėktuvą -STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}Pervardinti traukinio tipa -STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}Pervardinti automobilių tipą -STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}Pakeisti laivo vardą -STR_QUERY_RENAME_AIRCRAFT_TYPE_CAPTION :{WHITE}Pakeisti lėktuvo vardą +STR_BUY_VEHICLE_TRAIN_HIDE_TOGGLE_BUTTON :{BLACK}Slėpti +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_TOGGLE_BUTTON :{BLACK}Slėpti +STR_BUY_VEHICLE_SHIP_HIDE_TOGGLE_BUTTON :{BLACK}Slėpti +STR_BUY_VEHICLE_AIRCRAFT_HIDE_TOGGLE_BUTTON :{BLACK}Slėpti + +STR_BUY_VEHICLE_TRAIN_SHOW_TOGGLE_BUTTON :{BLACK}Rodyti +STR_BUY_VEHICLE_ROAD_VEHICLE_SHOW_TOGGLE_BUTTON :{BLACK}Rodyti +STR_BUY_VEHICLE_SHIP_SHOW_TOGGLE_BUTTON :{BLACK}Rodyti +STR_BUY_VEHICLE_AIRCRAFT_SHOW_TOGGLE_BUTTON :{BLACK}Rodyti + +STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Slėpti arba rodyti pažymėtą lokomotyvą +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Slėpti arba rodyti pažymėtą automobilį +STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Slėpti arba rodyti pažymėtą laivą +STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Slėpti arba rodyti pažymėtą lėktuvą + +STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}Pervardinti lokomotyvą ar vagoną +STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}Pervardinti automobilį +STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}Pervardinti laivą +STR_QUERY_RENAME_AIRCRAFT_TYPE_CAPTION :{WHITE}Pervardinti lėktuvą # Depot window STR_DEPOT_CAPTION :{WHITE}{DEPOT} @@ -3716,6 +3796,11 @@ STR_REPLACE_VEHICLE_ROAD_VEHICLE.ka :Automobilį STR_REPLACE_VEHICLE_SHIP :Laivas STR_REPLACE_VEHICLE_AIRCRAFT :Lėktuvas +STR_REPLACE_VEHICLE_VEHICLES_IN_USE :{YELLOW}Naudojamos transporto priemonės +STR_REPLACE_VEHICLE_VEHICLES_IN_USE_TOOLTIP :BLACK}Stulpelis su informacija apie transporto priemones, kurias šiuo metu naudojate +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES :{YELLOW}Galimos transporto priemonės +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES_TOOLTIP :{BLACK}Stulpelis su informacija apie transporto priemones, kuriomis galite pakeisti jau turimas + STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Pasirink tr. priemonės tipą, kurią reikės keisti STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Pasirink tr. priemonės tipą, kuria bus keičiamos pasirinktos tr. priemonės @@ -3840,7 +3925,7 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Talpa: { STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Pervesti už tiekėjų sistemas: {LTBLUE}{CURRENCY_LONG} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Techninė apžiūra kas: {LTBLUE}{COMMA}dien{P ą as ų}{BLACK} Paskutinė apžiūra:{LTBLUE}{DATE_LONG} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Techninė apžiūra kas: {LTBLUE}{COMMA}{NBSP}dien{P ą as ų}{BLACK} Paskutinė apžiūra:{LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Siųsti techninei apžiūrai patikimumui nukritus iki: {LTBLUE}{COMMA}%{BLACK} Paskutinė apžiūra: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Padidinti techninės apžiūros intervalą 10 dienų (arba procentų). Spragtelėjus laikant nuspaustą Ctrl klavišą, intervalas bus padidintas 5 dienomis (arba procentais) STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Sumažinti techninės apžiūros intervalą 10 dienų (arba procentų). Spragtelėjus laikant nuspaustą Ctrl klavišą, intervalas bus sumažintas 5 dienomis (arba procentais) @@ -3850,9 +3935,9 @@ STR_VEHICLE_DETAILS_DEFAULT :Numatytasis STR_VEHICLE_DETAILS_DAYS :Dienos STR_VEHICLE_DETAILS_PERCENT :Procentai -STR_QUERY_RENAME_TRAIN_CAPTION :{WHITE}Pervadinti traukinį -STR_QUERY_RENAME_ROAD_VEHICLE_CAPTION :{WHITE}Pervadinti automobilį -STR_QUERY_RENAME_SHIP_CAPTION :{WHITE}Pervadinti laivą +STR_QUERY_RENAME_TRAIN_CAPTION :{WHITE}Pervardinti traukinį +STR_QUERY_RENAME_ROAD_VEHICLE_CAPTION :{WHITE}Pervardinti automobilį +STR_QUERY_RENAME_SHIP_CAPTION :{WHITE}Pervardinti laivą STR_QUERY_RENAME_AIRCRAFT_CAPTION :{WHITE}Pervardinti lėktuvą # Extra buttons for train details windows @@ -4082,16 +4167,20 @@ STR_TIMETABLE_TRAVEL_NOT_TIMETABLED :Kelionė (nėra STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Vykti ne didesniu, nei {2:VELOCITY} greičiu (kelionės trukmė nenustatyta) STR_TIMETABLE_TRAVEL_FOR :Keliauti {STRING.ka} STR_TIMETABLE_TRAVEL_FOR_SPEED :Vykti {STRING} ne didesniu, nei {VELOCITY} greičiu +STR_TIMETABLE_TRAVEL_FOR_ESTIMATED :Vykti ({STRING.ka}, neįtraukiant į tvarkaraštį) +STR_TIMETABLE_TRAVEL_FOR_SPEED_ESTIMATED :Vykti ({STRING.ka}, neįtraukiant į tvarkaraštį) ne greičiau, nei {VELOCITY} +STR_TIMETABLE_STAY_FOR_ESTIMATED :(stovėti {STRING.ka}, neįtraukti į tvarkaraštį) +STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(vykti {STRING.ka}, neįtraukiant į tvarkaraštį) STR_TIMETABLE_STAY_FOR :ir pasilikti {STRING.ka} STR_TIMETABLE_AND_TRAVEL_FOR :ir keliauti {STRING.ka} -STR_TIMETABLE_DAYS :{G=mot}{COMMA} dien{P a os ų} +STR_TIMETABLE_DAYS :{G=mot}{COMMA}{NBSP}dien{P a os ų} STR_TIMETABLE_DAYS.kas :{COMMA} dien{P a os ų} STR_TIMETABLE_DAYS.ko :{COMMA} dien{P os as ų} STR_TIMETABLE_DAYS.kam :{COMMA} dien{P ai oms ų} STR_TIMETABLE_DAYS.ka :{COMMA} dien{P ą as ų} STR_TIMETABLE_DAYS.kuo :{COMMA} dien{P a omis ų} STR_TIMETABLE_DAYS.kur :{COMMA} dien{P oje ose ų} -STR_TIMETABLE_TICKS :{COMMA} žym{P a os ų} +STR_TIMETABLE_TICKS :{COMMA}{NBSP}impuls{P as ai ų} STR_TIMETABLE_TOTAL_TIME :{BLACK}Maršruto trukmė yra {STRING} STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}Maršruto trukmė yra mažiausiai {STRING}, nes nustatytos ne visų užduočių trukmės @@ -4112,7 +4201,7 @@ STR_TIMETABLE_CLEAR_TIME :{BLACK}Trukmės STR_TIMETABLE_CLEAR_TIME_TOOLTIP :{BLACK}Atšaukti pažymėtos užduoties trukmės ribojimus STR_TIMETABLE_CHANGE_SPEED :{BLACK}Pakeisti greičio ribą -STR_TIMETABLE_CHANGE_SPEED_TOOLTIP :{BLACK}Pakeisti pažymėtos užduoties maksimalaus greičio ribą +STR_TIMETABLE_CHANGE_SPEED_TOOLTIP :{BLACK}Pakeisti pažymėtos užduoties didžiausio greičio ribą STR_TIMETABLE_CLEAR_SPEED :{BLACK}Greičio neriboti STR_TIMETABLE_CLEAR_SPEED_TOOLTIP :{BLACK}Neriboti pažymėtos užduoties greičio @@ -4148,7 +4237,7 @@ STR_AI_DEBUG_SETTINGS :{BLACK}Nustatym STR_AI_DEBUG_SETTINGS_TOOLTIP :{BLACK}Keisti skripto nustatymus STR_AI_DEBUG_RELOAD :{BLACK}Perkrauti AI STR_AI_DEBUG_RELOAD_TOOLTIP :{BLACK}Išbraukti DI, perkrauti skritpą, ir perkrauti DI -STR_AI_DEBUG_BREAK_STR_ON_OFF_TOOLTIP :{BLACK}Įjungti/išjungti laužymą, kai DI registro žinutė sutinka su lūžio žinute +STR_AI_DEBUG_BREAK_STR_ON_OFF_TOOLTIP :{BLACK}Įjungti/išjungti stabdymą, jei DI žurnalo žinutė sutampa su stabdos žinute STR_AI_DEBUG_BREAK_ON_LABEL :{BLACK}Lūžis ant: STR_AI_DEBUG_BREAK_STR_OSKTITLE :{BLACK}Lūžis ant STR_AI_DEBUG_BREAK_STR_TOOLTIP :{BLACK}Kai DI registro žinutė sutampa su šia eilute, žaidimas pristabdomas @@ -4278,8 +4367,8 @@ STR_ERROR_BMPMAP_IMAGE_TYPE :{WHITE}... nepa STR_ERROR_HEIGHTMAP_TOO_LARGE :{WHITE}... paveikslėlis yra per didelis -STR_WARNING_HEIGHTMAP_SCALE_CAPTION :{WHITE}Skales ispejimas -STR_WARNING_HEIGHTMAP_SCALE_MESSAGE :{YELLOW}Perdaryti pagrindini zemelapi per daug nerekomenduojama. Testi generavima? +STR_WARNING_HEIGHTMAP_SCALE_CAPTION :{WHITE}Mastelio įspėjimas +STR_WARNING_HEIGHTMAP_SCALE_MESSAGE :{YELLOW}Per daug keisti pradinio žemėlapio dydį nerekomenduojama. Tęsti generavimą? # Soundset messages STR_WARNING_FALLBACK_SOUNDSET :{WHITE}Rasta tik fiktyvi garsų biblioteka. Jeigu norite garsų žaidime, įdiekite garsų rinkinį naudojant parsisiuntimų sistemą. @@ -4329,6 +4418,7 @@ STR_ERROR_EXCAVATION_WOULD_DAMAGE :{WHITE}Kasinėj STR_ERROR_ALREADY_AT_SEA_LEVEL :{WHITE}Jau siekia jūros lygį STR_ERROR_TOO_HIGH :{WHITE}Per aukštai STR_ERROR_ALREADY_LEVELLED :{WHITE}... jau plokščia +STR_ERROR_BRIDGE_TOO_HIGH_AFTER_LOWER_LAND :{WHITE}Tiltas bus per aukštai. # Company related errors STR_ERROR_CAN_T_CHANGE_COMPANY_NAME :{WHITE}Kompanijos vardo pakeisti negalima... @@ -4337,7 +4427,7 @@ STR_ERROR_CAN_T_CHANGE_PRESIDENT :{WHITE}Direktor STR_ERROR_MAXIMUM_PERMITTED_LOAN :{WHITE}... daugiausia pasiskolinti galima {CURRENCY_LONG} STR_ERROR_CAN_T_BORROW_ANY_MORE_MONEY :{WHITE}Daugiau skolintis negalima... STR_ERROR_LOAN_ALREADY_REPAYED :{WHITE}... visa paskola gražinta -STR_ERROR_CURRENCY_REQUIRED :{WHITE}... {CURRENCY_LONG} reikia +STR_ERROR_CURRENCY_REQUIRED :{WHITE}...reikia turėti {CURRENCY_LONG} STR_ERROR_CAN_T_REPAY_LOAN :{WHITE}Skolos grąžinti negalima... STR_ERROR_INSUFFICIENT_FUNDS :{WHITE}Negalima dovanoti iš banko pasiskolintų pinigų... STR_ERROR_CAN_T_BUY_COMPANY :{WHITE}Neįmanoma pirkti kompanijos... @@ -4355,9 +4445,9 @@ STR_ERROR_TOO_CLOSE_TO_EDGE_OF_MAP_SUB :{WHITE}... per STR_ERROR_TOO_CLOSE_TO_ANOTHER_TOWN :{WHITE}... per arti kito miesto STR_ERROR_TOO_MANY_TOWNS :{WHITE}... per daug miestų STR_ERROR_NO_SPACE_FOR_TOWN :{WHITE}... daugiau nera vietos zemelapyje -STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}Miestas nestatys kelių. Jūs galite įjungti kelių statybą per Sudėtingesni nustatymai>Ekonomika>Miestai. +STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}Miestas nestatys kelių. Jūs galite įjungti kelių statybą per „Išplėstinės nuostatos>Aplinka>Miestai“. STR_ERROR_ROAD_WORKS_IN_PROGRESS :{WHITE}Vyksta kelio darbai -STR_ERROR_TOWN_CAN_T_DELETE :{WHITE}Negalima panaikinti šio miesto...{}Mieste yra stotis arba depas, arba miestui priklausantis vienas iš laukelių negali būti ištrintas. +STR_ERROR_TOWN_CAN_T_DELETE :{WHITE}Negalima panaikinti šio miesto...{}Mieste yra stotelė arba depas, arba miestui priklausantis vienas iš laukelių negali būti pašalintas STR_ERROR_STATUE_NO_SUITABLE_PLACE :{WHITE}... nėra tinkamos vietos statulai šio miesto centre # Industry related errors @@ -4379,6 +4469,9 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... miš STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... gali būti statoma tik aukščiau sniego linijos STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... gali būti statoma tik žemiau sniego linijos +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}Nėra tinkamos vietos '{STRING.kam}' pramonės įmonėms +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Pakeisti generavimo parametrus geresniam žemėlapiui sukurti + # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Geležinkelio stoties čia statyti negalima... STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}Čia autobusų stotelės statyti negalima... @@ -4389,7 +4482,7 @@ STR_ERROR_CAN_T_BUILD_DOCK_HERE :{WHITE}Neįmano STR_ERROR_CAN_T_BUILD_AIRPORT_HERE :{WHITE}Negalima cia statyti oro uosto... STR_ERROR_ADJOINS_MORE_THAN_ONE_EXISTING :{WHITE}Ribojasi su daugiau nei viena stotele/pakrovimo aikštele -STR_ERROR_STATION_TOO_SPREAD_OUT :{WHITE}... stotis per daug išsiplėtusi +STR_ERROR_STATION_TOO_SPREAD_OUT :{WHITE}... stotelė per daug išsiplėtusi STR_ERROR_TOO_MANY_STATIONS_LOADING :{WHITE}Per daug stotelių STR_ERROR_TOO_MANY_STATION_SPECS :{WHITE}Perdaug traukinių stoties dalių STR_ERROR_TOO_MANY_BUS_STOPS :{WHITE}Per daug autobusų stotelių @@ -4515,6 +4608,7 @@ STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Pirmiau STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}Negalima pradeti ir baigti tuo paciu metu STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}Tilto pirminės atramos turi būti tame pačiame aukštyje STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}Tiltas per žemas reljefui +STR_ERROR_BRIDGE_TOO_HIGH_FOR_TERRAIN :{WHITE}Tiltas per aukštas šiam kraštovaizdžiui. STR_ERROR_START_AND_END_MUST_BE_IN :{WHITE}Pradžia ir pabaiga turi būti vienoje linijoje STR_ERROR_ENDS_OF_BRIDGE_MUST_BOTH :{WHITE}... abu tilto galai turi būti ant žemės STR_ERROR_BRIDGE_TOO_LONG :{WHITE}... tiltas per ilgas @@ -4541,6 +4635,7 @@ STR_ERROR_YOU_ALREADY_OWN_IT :{WHITE}... jis STR_ERROR_GROUP_CAN_T_CREATE :{WHITE}Neįmanoma sukurti grupę... STR_ERROR_GROUP_CAN_T_DELETE :{WHITE}Neįmanoma ištrinti šią grupę... STR_ERROR_GROUP_CAN_T_RENAME :{WHITE}Neįmanoma pervadinti grupę... +STR_ERROR_GROUP_CAN_T_SET_PARENT :{WHITE}Nepavyksta nustatyti viršgrupės... STR_ERROR_GROUP_CAN_T_REMOVE_ALL_VEHICLES :{WHITE}Neįmanoma ištrinti visas tr. priemones iš šios grupės... STR_ERROR_GROUP_CAN_T_ADD_VEHICLE :{WHITE}Neįmanoma įtraukti tr. priemonę į šią grupę... STR_ERROR_GROUP_CAN_T_ADD_SHARED_VEHICLE :{WHITE}Negalima pridėti bendrų transporto priemonių į grupę... @@ -4597,9 +4692,9 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Aptarnav STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... automobilis sunaikintas STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Nebus įmanoma įsigyti jokių transporto priemonių -STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Pakeiskite NewGRF nuostatas +STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Pakeiskite plėtinių nuostatas STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Kol kas negalima įsigyti jokių transporto priemonių -STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}Pradėkite žaidimą vėliau, nei {DATE_SHORT}, arba įdiekite NewGRF papildinį, kuris leis įsigyti transporto priemonių šiame ankstyvame laikotarpyje +STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}Pradėkite žaidimą vėliau, nei {DATE_SHORT}, arba įdiekite plėtinių, kurie leistų įsigyti transporto priemonių šiame ankstyvame laikotarpyje # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}Neįmanoma priversti traukinio važiuoti nesaugiai... @@ -4619,7 +4714,7 @@ STR_ERROR_CAN_T_MODIFY_THIS_ORDER :{WHITE}Sios uzd STR_ERROR_CAN_T_MOVE_THIS_ORDER :{WHITE}Negalima perkelti šio užsakymo... STR_ERROR_CAN_T_SKIP_ORDER :{WHITE}Negalima praleisti šio užsakymo... STR_ERROR_CAN_T_SKIP_TO_ORDER :{WHITE}Negalima praleisti pažymėto užsakymo... -STR_ERROR_CAN_T_COPY_SHARE_ORDER :{WHITE}... transporto priemonė negali vykti į visas stotis +STR_ERROR_CAN_T_COPY_SHARE_ORDER :{WHITE}... transporto priemonė negali vykti į visas stoteles STR_ERROR_CAN_T_ADD_ORDER :{WHITE}... automobilis negali nukakti iki tos stotelės STR_ERROR_CAN_T_ADD_ORDER_SHARED :{WHITE}... automobilis dalinantis šį grafiką negali nukakti iki tos stotelės @@ -5030,33 +5125,33 @@ STR_SV_STNAME_FALLBACK :{STRING} Stotel ##id 0x8000 # Vehicle names -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_KIRBY_PAUL_TANK_STEAM :Kirby Paul Tank (Garai) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_MJS_250_DIESEL :MJS 250 (Dyzelis) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_KIRBY_PAUL_TANK_STEAM :Kirby Paul Tank (garinis) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_MJS_250_DIESEL :MJS 250 (dyzelinis) STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_PLODDYPHUT_CHOO_CHOO :Ploddyphut Choo-Choo STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_POWERNAUT_CHOO_CHOO :Powernaut Choo-Choo STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_MIGHTYMOVER_CHOO_CHOO :MightyMover Choo-Choo STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_PLODDYPHUT_DIESEL :Ploddyphut Dyzelis STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_POWERNAUT_DIESEL :Powernaut Dyzelis -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_WILLS_2_8_0_STEAM :Wills 2-8-0 (Garai) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_CHANEY_JUBILEE_STEAM :Chaney 'Jubilee' (Garai) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_GINZU_A4_STEAM :Ginzu 'A4' (Garai) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_8P_STEAM :SH '8P' (Garai) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_MANLEY_MOREL_DMU_DIESEL :Manley-Morel DMU (Dyzelis) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_DASH_DIESEL :'Dash' (Dyzelis) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_HENDRY_25_DIESEL :SH/Hendry '25' (Dyzelis) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_UU_37_DIESEL :UU '37' (Dyzelis) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_FLOSS_47_DIESEL :Floss '47' (Dyzelis) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_CS_4000_DIESEL :CS 4000 (Dyzelis) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_CS_2400_DIESEL :CS 2400 (Dyzelis) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_CENTENNIAL_DIESEL :Centennial (Dyzelis) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_KELLING_3100_DIESEL :Kelling 3100 (Dyzelis) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_TURNER_TURBO_DIESEL :Turner Turbo (Dyzelis) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_MJS_1000_DIESEL :MJS 1000 (Dyzelis) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_125_DIESEL :SH '125' (Dyzelis) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_30_ELECTRIC :SH '30' (Elektrinis) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_40_ELECTRIC :SH '40' (Elektrinis) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_T_I_M_ELECTRIC :'T.I.M.' (Elektrinis) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_ASIASTAR_ELECTRIC :'AsiaStar' (Elektrinis) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_WILLS_2_8_0_STEAM :Wills 2-8-0 (garinis) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_CHANEY_JUBILEE_STEAM :Chaney Jubilee (garinis) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_GINZU_A4_STEAM :Ginzu A4 (garinis) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_8P_STEAM :SH 8P (garinis) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_MANLEY_MOREL_DMU_DIESEL :Manley-Morel DMU (dyzelinis) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_DASH_DIESEL :Dash (dyzelinis) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_HENDRY_25_DIESEL :SH/Hendry 25 (dyzelinis) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_UU_37_DIESEL :UU 37 (dyzelinis) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_FLOSS_47_DIESEL :Floss 47 (dyzelinis) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_CS_4000_DIESEL :CS 4000 (dyzelinis) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_CS_2400_DIESEL :CS 2400 (dyzelinis) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_CENTENNIAL_DIESEL :Centennial (dyzelinis) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_KELLING_3100_DIESEL :Kelling 3100 (dyzelinis) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_TURNER_TURBO_DIESEL :Turner Turbo (dyzelinis) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_MJS_1000_DIESEL :MJS 1000 (dyzelinis) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_125_DIESEL :SH 125 (dyzelinis) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_30_ELECTRIC :SH 30 (elektrinis) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_40_ELECTRIC :SH 40 (elektrinis) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_T_I_M_ELECTRIC :T.I.M. (elektrinis) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_ASIASTAR_ELECTRIC :AsiaStar (elektrinis) STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_PASSENGER_CAR :Keleivinis vagonas STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_MAIL_VAN :Pašto vagonas STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_COAL_CAR :Anglies vagonas @@ -5084,8 +5179,8 @@ STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_TOY_VAN :Žaislų vagona STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_BATTERY_TRUCK :Baterijų vagonas STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_FIZZY_DRINK_TRUCK :Putojančių gėrimų vagonas STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_PLASTIC_TRUCK :Plastmasės vagonas -STR_VEHICLE_NAME_TRAIN_ENGINE_MONORAIL_X2001_ELECTRIC :'X2001' (Elektrinis) -STR_VEHICLE_NAME_TRAIN_ENGINE_MONORAIL_MILLENNIUM_Z1_ELECTRIC :'Millennium Z1' (Elektrinis) +STR_VEHICLE_NAME_TRAIN_ENGINE_MONORAIL_X2001_ELECTRIC :X2001 (elektrinis) +STR_VEHICLE_NAME_TRAIN_ENGINE_MONORAIL_MILLENNIUM_Z1_ELECTRIC :Millennium Z1 (elektrinis) STR_VEHICLE_NAME_TRAIN_ENGINE_MONORAIL_WIZZOWOW_Z99 :Wizzowow Z99 STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_PASSENGER_CAR :Keleivinis vagonas STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_MAIL_VAN :Pašto vagonas @@ -5114,10 +5209,10 @@ STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_TOY_VAN :Žaislų vagona STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_BATTERY_TRUCK :Baterijų vagonas STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_FIZZY_DRINK_TRUCK :Putojančių gėrimų vagonas STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_PLASTIC_TRUCK :Plastmasės vagonas -STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV1_LEVIATHAN_ELECTRIC :Lev1 'Leviathan' (Elektrinis) -STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV2_CYCLOPS_ELECTRIC :Lev2 'Cyclops' (Elektrinis) -STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV3_PEGASUS_ELECTRIC :Lev3 'Pegasus' (Elektrinis) -STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV4_CHIMAERA_ELECTRIC :Lev4 'Chimaera' (Elektrinis) +STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV1_LEVIATHAN_ELECTRIC :Lev1 Leviathan (elektrinis) +STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV2_CYCLOPS_ELECTRIC :Lev2 Cyclops (elektrinis) +STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV3_PEGASUS_ELECTRIC :Lev3 Pegasus (elektrinis) +STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV4_CHIMAERA_ELECTRIC :Lev4 Chimaera (elektrinis) STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_WIZZOWOW_ROCKETEER :Wizzowow Rocketeer STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_PASSENGER_CAR :Keleivinis vagonas STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_MAIL_VAN :Pašto vagonas @@ -5316,7 +5411,7 @@ STR_FORMAT_DEPOT_NAME_SHIP :{TOWN} Laivų d STR_FORMAT_DEPOT_NAME_SHIP_SERIAL :{TOWN} Laivų dokas #{COMMA} STR_FORMAT_DEPOT_NAME_AIRCRAFT :{STATION} Angaras -STR_UNKNOWN_STATION :Nežinoma stotis +STR_UNKNOWN_STATION :Nežinoma stotelė STR_DEFAULT_SIGN_NAME :Ženklas STR_COMPANY_SOMEONE :kažkas @@ -5343,6 +5438,7 @@ STR_COMPANY_NAME :{COMPANY} STR_COMPANY_NAME_COMPANY_NUM :{COMPANY} {COMPANY_NUM} STR_DEPOT_NAME :{DEPOT} STR_ENGINE_NAME :{ENGINE} +STR_HIDDEN_ENGINE_NAME :{ENGINE} (paslėptas) STR_GROUP_NAME :{GROUP} STR_INDUSTRY_NAME :{INDUSTRY} STR_PRESIDENT_NAME :{PRESIDENT_NAME} @@ -5378,8 +5474,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -5390,9 +5484,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/luxembourgish.txt b/src/lang/luxembourgish.txt index fda7f5a98c..3337f3a5b7 100644 --- a/src/lang/luxembourgish.txt +++ b/src/lang/luxembourgish.txt @@ -33,12 +33,12 @@ STR_CARGO_PLURAL_MAIL :Post STR_CARGO_PLURAL_OIL :Ueleg STR_CARGO_PLURAL_LIVESTOCK :Véi STR_CARGO_PLURAL_GOODS :Wueren -STR_CARGO_PLURAL_GRAIN :Kaar +STR_CARGO_PLURAL_GRAIN :Kar STR_CARGO_PLURAL_WOOD :Holz -STR_CARGO_PLURAL_IRON_ORE :Eisnenerz +STR_CARGO_PLURAL_IRON_ORE :Eisenäerz STR_CARGO_PLURAL_STEEL :Stol STR_CARGO_PLURAL_VALUABLES :Wäertsaachen -STR_CARGO_PLURAL_COPPER_ORE :Koffererz +STR_CARGO_PLURAL_COPPER_ORE :Kofferäerz STR_CARGO_PLURAL_MAIZE :Mais STR_CARGO_PLURAL_FRUIT :Friichten STR_CARGO_PLURAL_DIAMONDS :Diamanten @@ -54,7 +54,7 @@ STR_CARGO_PLURAL_CANDY :Séissegkeeten STR_CARGO_PLURAL_COLA :Cola STR_CARGO_PLURAL_COTTON_CANDY :Zockerwatt STR_CARGO_PLURAL_BUBBLES :Blosen -STR_CARGO_PLURAL_TOFFEE :Karmell +STR_CARGO_PLURAL_TOFFEE :Karamell STR_CARGO_PLURAL_BATTERIES :Batterien STR_CARGO_PLURAL_PLASTIC :Plastik STR_CARGO_PLURAL_FIZZY_DRINKS :Spruddel-Gedrénks @@ -67,12 +67,12 @@ STR_CARGO_SINGULAR_MAIL :Post STR_CARGO_SINGULAR_OIL :Ueleg STR_CARGO_SINGULAR_LIVESTOCK :Véi STR_CARGO_SINGULAR_GOODS :Wueren -STR_CARGO_SINGULAR_GRAIN :Kaar +STR_CARGO_SINGULAR_GRAIN :Kar STR_CARGO_SINGULAR_WOOD :Holz -STR_CARGO_SINGULAR_IRON_ORE :Eisenerz +STR_CARGO_SINGULAR_IRON_ORE :Eisenäerz STR_CARGO_SINGULAR_STEEL :Stol -STR_CARGO_SINGULAR_VALUABLES :Wertsaach -STR_CARGO_SINGULAR_COPPER_ORE :Koffererz +STR_CARGO_SINGULAR_VALUABLES :Wäertsaachen +STR_CARGO_SINGULAR_COPPER_ORE :Kofferäerz STR_CARGO_SINGULAR_MAIZE :Mais STR_CARGO_SINGULAR_FRUIT :Friichten STR_CARGO_SINGULAR_DIAMOND :Diamanten @@ -95,34 +95,34 @@ STR_CARGO_SINGULAR_FIZZY_DRINK :Spruddel-Gedré # Quantity of cargo STR_QUANTITY_NOTHING : -STR_QUANTITY_PASSENGERS :{COMMA} Passagéier +STR_QUANTITY_PASSENGERS :{COMMA}{NBSP}Passagéier STR_QUANTITY_COAL :{WEIGHT_LONG} Kuel -STR_QUANTITY_MAIL :{COMMA} Posts{P aak äck} +STR_QUANTITY_MAIL :{COMMA}{NBSP}Posts{P ak äck} STR_QUANTITY_OIL :{VOLUME_LONG} Ueleg -STR_QUANTITY_LIVESTOCK :{COMMA} Eenheet{P "" en} Véi -STR_QUANTITY_GOODS :{COMMA} Wuerekëscht{P "" en} -STR_QUANTITY_GRAIN :{WEIGHT_LONG} Kaar +STR_QUANTITY_LIVESTOCK :{COMMA}{NBSP}Eenheet{P "" e} Véi +STR_QUANTITY_GOODS :{COMMA}{NBSP}Wuerekëscht{P "" en} +STR_QUANTITY_GRAIN :{WEIGHT_LONG} Kar STR_QUANTITY_WOOD :{WEIGHT_LONG} Holz -STR_QUANTITY_IRON_ORE :{WEIGHT_LONG} Eisenerz +STR_QUANTITY_IRON_ORE :{WEIGHT_LONG} Eisenäerz STR_QUANTITY_STEEL :{WEIGHT_LONG} Stol -STR_QUANTITY_VALUABLES :{COMMA} S{P aak äck} mat Wäertsaachen -STR_QUANTITY_COPPER_ORE :{WEIGHT_LONG} Koffererz +STR_QUANTITY_VALUABLES :{COMMA}{NBSP}S{P ak äck} mat Wäertsaachen +STR_QUANTITY_COPPER_ORE :{WEIGHT_LONG} Kofferäerz STR_QUANTITY_MAIZE :{WEIGHT_LONG} Mais STR_QUANTITY_FRUIT :{WEIGHT_LONG} Friichten -STR_QUANTITY_DIAMONDS :{COMMA} S{P aak äck} mat Diamanten +STR_QUANTITY_DIAMONDS :{COMMA}{NBSP}S{P ak äck} mat Diamanten STR_QUANTITY_FOOD :{WEIGHT_LONG} Iesswueren STR_QUANTITY_PAPER :{WEIGHT_LONG} Pabeier -STR_QUANTITY_GOLD :{COMMA} S{P aak äck} mat Gold +STR_QUANTITY_GOLD :{COMMA}{NBSP}S{P ak äck} mat Gold STR_QUANTITY_WATER :{VOLUME_LONG} Waasser STR_QUANTITY_WHEAT :{WEIGHT_LONG} Weess STR_QUANTITY_RUBBER :{VOLUME_LONG} Kautschuck STR_QUANTITY_SUGAR :{WEIGHT_LONG} Zocker -STR_QUANTITY_TOYS :{COMMA} Spillsaach{P "" en} -STR_QUANTITY_SWEETS :{COMMA} S{P aak äck} mat Séissegkeeten +STR_QUANTITY_TOYS :{COMMA}{NBSP}Spillsaach{P "" en} +STR_QUANTITY_SWEETS :{COMMA}{NBSP}S{P ak äck} mat Séissegkeeten STR_QUANTITY_COLA :{VOLUME_LONG} Cola STR_QUANTITY_CANDYFLOSS :{WEIGHT_LONG} Zockerwatt STR_QUANTITY_BUBBLES :{COMMA} Blos{P "" en} -STR_QUANTITY_TOFFEE :{WEIGHT_LONG} Karmel +STR_QUANTITY_TOFFEE :{WEIGHT_LONG} Karamell STR_QUANTITY_BATTERIES :{COMMA} Batterie{P "" n} STR_QUANTITY_PLASTIC :{VOLUME_LONG} Plastik STR_QUANTITY_FIZZY_DRINKS :{COMMA} Spruddelgedrénks @@ -134,11 +134,11 @@ STR_ABBREV_PASSENGERS :{TINY_FONT}PS STR_ABBREV_COAL :{TINY_FONT}KU STR_ABBREV_MAIL :{TINY_FONT}PO STR_ABBREV_OIL :{TINY_FONT}UL -STR_ABBREV_LIVESTOCK :{TINY_FONT}LI +STR_ABBREV_LIVESTOCK :{TINY_FONT}VE STR_ABBREV_GOODS :{TINY_FONT}WU STR_ABBREV_GRAIN :{TINY_FONT}KA STR_ABBREV_WOOD :{TINY_FONT}HO -STR_ABBREV_IRON_ORE :{TINY_FONT}EE +STR_ABBREV_IRON_ORE :{TINY_FONT}EA STR_ABBREV_STEEL :{TINY_FONT}ST STR_ABBREV_VALUABLES :{TINY_FONT}WS STR_ABBREV_COPPER_ORE :{TINY_FONT}KE @@ -153,29 +153,29 @@ STR_ABBREV_WHEAT :{TINY_FONT}WE STR_ABBREV_RUBBER :{TINY_FONT}KT STR_ABBREV_SUGAR :{TINY_FONT}ZO STR_ABBREV_TOYS :{TINY_FONT}SP -STR_ABBREV_SWEETS :{TINY_FONT}SÉ +STR_ABBREV_SWEETS :{TINY_FONT}SE STR_ABBREV_COLA :{TINY_FONT}CO STR_ABBREV_CANDYFLOSS :{TINY_FONT}ZW STR_ABBREV_BUBBLES :{TINY_FONT}BL -STR_ABBREV_TOFFEE :{TINY_FONT}KR +STR_ABBREV_TOFFEE :{TINY_FONT}KA STR_ABBREV_BATTERIES :{TINY_FONT}BA STR_ABBREV_PLASTIC :{TINY_FONT}PL STR_ABBREV_FIZZY_DRINKS :{TINY_FONT}KG -STR_ABBREV_NONE :{TINY_FONT}NO +STR_ABBREV_NONE :{TINY_FONT}KG STR_ABBREV_ALL :{TINY_FONT}ALL # 'Mode' of transport for cargoes -STR_PASSENGERS :{COMMA} Passagéier -STR_BAGS :{COMMA} S{P aak äck} -STR_TONS :{COMMA} Tonn{P "" en} -STR_LITERS :{COMMA} Liter -STR_ITEMS :{COMMA} Objet{P "" en} -STR_CRATES :{COMMA} Këscht{P "" en} +STR_PASSENGERS :{COMMA}{NBSP}Passagéier +STR_BAGS :{COMMA}{NBSP}S{P ak äck} +STR_TONS :{COMMA}{NBSP}Tonn{P "" en} +STR_LITERS :{COMMA}{NBSP}Liter +STR_ITEMS :{COMMA}{NBSP}Eenheet{P "" en} +STR_CRATES :{COMMA}{NBSP}Këscht{P "" en} # Colours, do not shuffle STR_COLOUR_DARK_BLUE :Donkelblo STR_COLOUR_PALE_GREEN :Bleechgréng -STR_COLOUR_PINK :Donkelroud +STR_COLOUR_PINK :Pink STR_COLOUR_YELLOW :Giel STR_COLOUR_RED :Rout STR_COLOUR_LIGHT_BLUE :Hellblo @@ -183,52 +183,52 @@ STR_COLOUR_GREEN :Gréng STR_COLOUR_DARK_GREEN :Donkelgréng STR_COLOUR_BLUE :Blo STR_COLOUR_CREAM :Beige -STR_COLOUR_MAUVE :Donkelmoof -STR_COLOUR_PURPLE :Moof +STR_COLOUR_MAUVE :Mof +STR_COLOUR_PURPLE :Purpur STR_COLOUR_ORANGE :Orange STR_COLOUR_BROWN :Brong STR_COLOUR_GREY :Gro STR_COLOUR_WHITE :Wäiss # Units used in OpenTTD -STR_UNITS_VELOCITY_IMPERIAL :{COMMA} mph -STR_UNITS_VELOCITY_METRIC :{COMMA} km/h -STR_UNITS_VELOCITY_SI :{COMMA} m/s +STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}mph +STR_UNITS_VELOCITY_METRIC :{COMMA}{NBSP}km/h +STR_UNITS_VELOCITY_SI :{COMMA}{NBSP}m/s -STR_UNITS_POWER_IMPERIAL :{COMMA}bhp -STR_UNITS_POWER_METRIC :{COMMA}ps -STR_UNITS_POWER_SI :{COMMA}kW +STR_UNITS_POWER_IMPERIAL :{COMMA}{NBSP}bhp +STR_UNITS_POWER_METRIC :{COMMA}{NBSP}ps +STR_UNITS_POWER_SI :{COMMA}{NBSP}kW -STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}t -STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}t -STR_UNITS_WEIGHT_SHORT_SI :{COMMA}kg +STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_SI :{COMMA}{NBSP}kg -STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA} Tonn{P "" en} -STR_UNITS_WEIGHT_LONG_METRIC :{COMMA} Tonn{P "" en} -STR_UNITS_WEIGHT_LONG_SI :{COMMA} kg +STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA}{NBSP}Tonn{P "" en} +STR_UNITS_WEIGHT_LONG_METRIC :{COMMA}{NBSP}Tonn{P "" en} +STR_UNITS_WEIGHT_LONG_SI :{COMMA}{NBSP}kg -STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}gal -STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}l -STR_UNITS_VOLUME_SHORT_SI :{COMMA}m³ +STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}{NBSP}gal +STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}{NBSP}l +STR_UNITS_VOLUME_SHORT_SI :{COMMA}{NBSP}m³ -STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA} Galloun{P "" en} -STR_UNITS_VOLUME_LONG_METRIC :{COMMA} Liter{P "" ""} -STR_UNITS_VOLUME_LONG_SI :{COMMA} m³ +STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA}{NBSP}Galloun{P "" en} +STR_UNITS_VOLUME_LONG_METRIC :{COMMA}{NBSP}Liter{P "" ""} +STR_UNITS_VOLUME_LONG_SI :{COMMA}{NBSP}m³ -STR_UNITS_FORCE_IMPERIAL :{COMMA} lbf -STR_UNITS_FORCE_METRIC :{COMMA} kgf -STR_UNITS_FORCE_SI :{COMMA} kN +STR_UNITS_FORCE_IMPERIAL :{COMMA}{NBSP}lbf +STR_UNITS_FORCE_METRIC :{COMMA}{NBSP}kgf +STR_UNITS_FORCE_SI :{COMMA}{NBSP}kN -STR_UNITS_HEIGHT_IMPERIAL :{COMMA} ft -STR_UNITS_HEIGHT_METRIC :{COMMA} m -STR_UNITS_HEIGHT_SI :{COMMA} m +STR_UNITS_HEIGHT_IMPERIAL :{COMMA}{NBSP}ft +STR_UNITS_HEIGHT_METRIC :{COMMA}{NBSP}m +STR_UNITS_HEIGHT_SI :{COMMA}{NBSP}m # Common window strings -STR_LIST_FILTER_TITLE :{BLACK}Filter Wieder: -STR_LIST_FILTER_OSKTITLE :{BLACK}Filter string -STR_LIST_FILTER_TOOLTIP :{BLACK}Wuert fir d'Lëscht ze filtern +STR_LIST_FILTER_TITLE :{BLACK}Filter String: +STR_LIST_FILTER_OSKTITLE :{BLACK}Filter String +STR_LIST_FILTER_TOOLTIP :{BLACK}Filter d'Lëscht op e Wuert -STR_TOOLTIP_GROUP_ORDER :{BLACK}Wiel Gruppéierreihenfollëg +STR_TOOLTIP_GROUP_ORDER :{BLACK}Wiel Gruppéierreihefollëg STR_TOOLTIP_SORT_ORDER :{BLACK}Richtung fir ze sortéieren (ofsteigend/opsteigend) STR_TOOLTIP_SORT_CRITERIA :{BLACK}Argument fir ze sortéieren STR_TOOLTIP_FILTER_CRITERIA :{BLACK}Filterkritère wielen @@ -238,15 +238,26 @@ STR_BUTTON_RENAME :{BLACK}Ëmbenen STR_TOOLTIP_CLOSE_WINDOW :{BLACK}Fënster zoumaachen STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS :{BLACK}Fënstertitel - hei zéien fir d'Fënster ze bewegen -STR_TOOLTIP_SHADE :{BLACK}Shade Fenster - Weis nëmmen Titelbar +STR_TOOLTIP_SHADE :{BLACK}Fenster verklengeren - Weis nëmmen Titelbar STR_TOOLTIP_DEBUG :{BLACK}Weis NewGRF Debug Informatioun STR_TOOLTIP_DEFSIZE :{BLACK}Änner d'Fënster op d'Standardgréisst. Ctrl+Klick fir déi aktuell Gréisst als Standard ze späichern -STR_TOOLTIP_STICKY :{BLACK}Markéier dës Fënster fir net zougemeet ze ginn vun dem "All Fënsteren zoumaachen" Knäppchen. Ctrl+Klick speichert déi Actioun als Standard +STR_TOOLTIP_STICKY :{BLACK}Markéier dës Fënster fir net zougemeet ze ginn vun dem "All Fënsteren zoumaachen" Knäppchen. Ctrl+Klick späichert déi Actioun als Standard STR_TOOLTIP_RESIZE :{BLACK}Klicken an zéihen fir d'Fënstergréisst ze änneren STR_TOOLTIP_TOGGLE_LARGE_SMALL_WINDOW :{BLACK}Wiesselt grouss/kleng Fënstergréisst STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Scrollbar - scrollt d'Lëscht erop/erof STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Scrollbar - scrollt d'Lëscht no lénks/riets -STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Objekter op engem Stëck Land zerstéieren. Ctrl wielt d'Land diagonal. Shift wiesselt tëscht bauen/ongeféier Käschten uweisen +STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Objeten op engem Stëck Land zerstéieren. Ctrl wielt d'Land diagonal. Shift wiesselt tëscht bauen/ongeféier Käschten uweisen + +# Show engines button +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}Verstoppten uweisen +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK}Verstoppten uweisen +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}Verstoppten uweisen +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}Verstoppten uweisen + +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}Mat dësem Knäppchen ginn verstoppten Zich och ugewisen +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE_TOOLTIP :{BLACK}Mat dësem Knäppchen ginn verstoppte Gefierer och ugewisen +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}Mat dësem Knäppchen ginn verstoppte Schëffer och ugewisen +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Mat dësem Knäppchen ginn verstoppte Fliger och ugewisen # Query window STR_BUTTON_DEFAULT :{BLACK}Standard @@ -277,25 +288,25 @@ STR_SORT_BY_PROFIT_LAST_YEAR :Profit am lesch STR_SORT_BY_PROFIT_THIS_YEAR :Profit dëst Joer STR_SORT_BY_AGE :Alter STR_SORT_BY_RELIABILITY :Zouverlässegkeet -STR_SORT_BY_TOTAL_CAPACITY_PER_CARGOTYPE :Total Luedplaatz no Luedungstyp +STR_SORT_BY_TOTAL_CAPACITY_PER_CARGOTYPE :Total Kapazitéit pro Luedungstyp STR_SORT_BY_MAX_SPEED :Maximal Geschwindegkeet STR_SORT_BY_MODEL :Model STR_SORT_BY_VALUE :Wäert STR_SORT_BY_LENGTH :Längt STR_SORT_BY_LIFE_TIME :Reschtlaafzäit -STR_SORT_BY_TIMETABLE_DELAY :Zäitplang Verspéidung +STR_SORT_BY_TIMETABLE_DELAY :Zäitplangverspéidung STR_SORT_BY_FACILITY :Statiounstyp -STR_SORT_BY_WAITING_TOTAL :Gesamt wardend Güter -STR_SORT_BY_WAITING_AVAILABLE :Verfügbar wardend Güter -STR_SORT_BY_RATING_MAX :Héchsten Luedungsbewertung -STR_SORT_BY_RATING_MIN :Nidregsten Luedungsbewertung +STR_SORT_BY_WAITING_TOTAL :Gesamt waardend Gidder +STR_SORT_BY_WAITING_AVAILABLE :Verfügbar waardend Gidder +STR_SORT_BY_RATING_MAX :Héchste Luedungsbewäertung +STR_SORT_BY_RATING_MIN :Niddregst Luedungsbewäertung STR_SORT_BY_ENGINE_ID :ID (klassësch Sortéierung) STR_SORT_BY_COST :Käschten STR_SORT_BY_POWER :Kraaft STR_SORT_BY_TRACTIVE_EFFORT :Zéikraaft STR_SORT_BY_INTRO_DATE :Aféirungsdatum -STR_SORT_BY_RUNNING_COST :Betriebskäschten -STR_SORT_BY_POWER_VS_RUNNING_COST :Kraaft/Betriebskäschten +STR_SORT_BY_RUNNING_COST :Betribskäschten +STR_SORT_BY_POWER_VS_RUNNING_COST :Kraaft/Betribskäschten STR_SORT_BY_CARGO_CAPACITY :Luedungskapazitéit STR_SORT_BY_RANGE :Längt STR_SORT_BY_POPULATION :Bevölkerung @@ -303,30 +314,30 @@ STR_SORT_BY_RATING :Rating # Tooltips for the main toolbar STR_TOOLBAR_TOOLTIP_PAUSE_GAME :{BLACK}Spill pausen -STR_TOOLBAR_TOOLTIP_FORWARD :{BLACK}Spill schnell laafen loosen +STR_TOOLBAR_TOOLTIP_FORWARD :{BLACK}Spill schnell lafe loossen STR_TOOLBAR_TOOLTIP_OPTIONS :{BLACK}Optiounen STR_TOOLBAR_TOOLTIP_SAVE_GAME_ABANDON_GAME :{BLACK}Spill späicheren, Spill ophalen, Eraus STR_TOOLBAR_TOOLTIP_DISPLAY_MAP :{BLACK}Weis d'Kaart, extra Usiicht oder d'Lëscht vun den Zeeschen STR_TOOLBAR_TOOLTIP_DISPLAY_TOWN_DIRECTORY :{BLACK}Weis d'Stiedverzeeschnëss -STR_TOOLBAR_TOOLTIP_DISPLAY_SUBSIDIES :{BLACK}Subventiounen weisen -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_STATIONS :{BLACK}Weis d'Lëscht vun den Firmen hieren Statiounen -STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_FINANCES :{BLACK}Informatiounen zu den Firmenfinanzen -STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_GENERAL :{BLACK}Generel Firmeninformatioun +STR_TOOLBAR_TOOLTIP_DISPLAY_SUBSIDIES :{BLACK}Subventiounen uweisen +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_STATIONS :{BLACK}Weis d'Lëscht vun de Firmestatiounen +STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_FINANCES :{BLACK}Informatiounen zu de Firmefinanzen +STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_GENERAL :{BLACK}Generell Firmeninformatioun STR_TOOLBAR_TOOLTIP_DISPLAY_STORY_BOOK :{BLACK}Weis d'Storybuch STR_TOOLBAR_TOOLTIP_DISPLAY_GOALS_LIST :{BLACK}Weis d'Zillëscht STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}Weis Grafiken STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_LEAGUE :{BLACK}Weis d'Firmen-Ranglëscht -STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}Finanzéiert den Bau vun enger neier Industrie oder lëscht all d'Industrien op -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}Lëscht vun den Firmenzich. Ctrl+Klick wiesselt tescht Grupp/Zuch Lëscht -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_ROAD_VEHICLES :{BLACK}Lëscht vun den Storssengefierer vun der Firma. Ctrl+Klick wiesselt tëscht Gruppe/Stroossengefiererlescht -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :{BLACK}Lëscht vun den Firmenschëffer. Ctrl+Klick wiesselt tëscht Gruppen/Schëfflëscht. -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_AIRCRAFT :{BLACK}Lëscht vun den Firmenfligeren. Ctrl+Klick wiesselt tëscht Gruppen/Fligerlëscht. +STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}Finanzéiert de Bau vun enger neier Industrie oder lëscht all d'Industrien op +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}Lëscht vun de Firmenzich. Ctrl+Klick wiesselt tëscht Grupp/Zuch Lëscht +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_ROAD_VEHICLES :{BLACK}Lëscht vun de Stroossegefierer vun der Firma. Ctrl+Klick wiesselt tëscht Gruppe/Stroossegefiererlescht +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :{BLACK}Lëscht vun de Firmeschëffer. Ctrl+Klick wiesselt tëscht Gruppen/Schëfflëscht. +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_AIRCRAFT :{BLACK}Lëscht vun de Firmefligeren. Ctrl+Klick wiesselt tëscht Gruppen/Fligerlëscht. STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_IN :{BLACK}Vergréisser d'Sicht STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_OUT :{BLACK}Verklenger d'Sicht -STR_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Schinnen bauen -STR_TOOLBAR_TOOLTIP_BUILD_ROADS :{BLACK}Stroossen bauen -STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}Schëffhafen bauen -STR_TOOLBAR_TOOLTIP_BUILD_AIRPORTS :{BLACK}Fluchhafen bauen +STR_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Schinne bauen +STR_TOOLBAR_TOOLTIP_BUILD_ROADS :{BLACK}Stroosse bauen +STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}Schëffhafe bauen +STR_TOOLBAR_TOOLTIP_BUILD_AIRPORTS :{BLACK}Fluchhafe bauen STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}Landschafts-Toolbar opman fir Land ze erhéijen/senken, Beem planzen, etc. STR_TOOLBAR_TOOLTIP_SHOW_SOUND_MUSIC_WINDOW :{BLACK}Sound/Musik Fënster STR_TOOLBAR_TOOLTIP_SHOW_LAST_MESSAGE_NEWS :{BLACK}Weis déi lescht Meldung/Neiegkeet, oder d'Astellungen @@ -337,23 +348,23 @@ STR_TOOLBAR_TOOLTIP_SWITCH_TOOLBAR :{BLACK}Wiessel STR_SCENEDIT_TOOLBAR_TOOLTIP_SAVE_SCENARIO_LOAD_SCENARIO :{BLACK}Szenario späicheren, Szenario lueden, Eraus aus dem Szenarioeditor, Eraus STR_SCENEDIT_TOOLBAR_OPENTTD :{YELLOW}OpenTTD STR_SCENEDIT_TOOLBAR_SCENARIO_EDITOR :{YELLOW}Szenarien Editor -STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_BACKWARD :{BLACK}Änner den Startdatum 1 Joer nohannen -STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_FORWARD :{BLACK}Änner den Startdatum 1 Joer no viir -STR_SCENEDIT_TOOLBAR_TOOLTIP_SET_DATE :{BLACK}Klick fir d'Startjoër festzeleën +STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_BACKWARD :{BLACK}Änner de Startdatum 1 Joer nohannen +STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_FORWARD :{BLACK}Änner de Startdatum 1 Joer no vir +STR_SCENEDIT_TOOLBAR_TOOLTIP_SET_DATE :{BLACK}Klick fir d'Startjoer festzeleeën STR_SCENEDIT_TOOLBAR_TOOLTIP_DISPLAY_MAP_TOWN_DIRECTORY :{BLACK}Weis d'Kaart, Stiedverzeeschnëss STR_SCENEDIT_TOOLBAR_LANDSCAPE_GENERATION :{BLACK}Landschaftserstellung -STR_SCENEDIT_TOOLBAR_TOWN_GENERATION :{BLACK}Staderstellung +STR_SCENEDIT_TOOLBAR_TOWN_GENERATION :{BLACK}Stiederstellung STR_SCENEDIT_TOOLBAR_INDUSTRY_GENERATION :{BLACK}Industrieerstellung -STR_SCENEDIT_TOOLBAR_ROAD_CONSTRUCTION :{BLACK}Stroossenbau +STR_SCENEDIT_TOOLBAR_ROAD_CONSTRUCTION :{BLACK}Stroossebau STR_SCENEDIT_TOOLBAR_PLANT_TREES :{BLACK}Beem planzen. Shift wiesselt tëscht bauen/ongeféier Käschten uweisen STR_SCENEDIT_TOOLBAR_PLACE_SIGN :{BLACK}Schëld opstellen -STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Objekt plazéiren. Shift wiesselt tëscht bauen/ongeféier Käschten uweisen +STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Objet plazéiren. Shift wiesselt tëscht bauen/ongeféier Käschten uweisen ############ range for SE file menu starts STR_SCENEDIT_FILE_MENU_SAVE_SCENARIO :Szenario späicheren STR_SCENEDIT_FILE_MENU_LOAD_SCENARIO :Szenario lueden -STR_SCENEDIT_FILE_MENU_SAVE_HEIGHTMAP :Héichtenkaart späicheren -STR_SCENEDIT_FILE_MENU_LOAD_HEIGHTMAP :Lued Héichtenkaart +STR_SCENEDIT_FILE_MENU_SAVE_HEIGHTMAP :Héichtekaart späicheren +STR_SCENEDIT_FILE_MENU_LOAD_HEIGHTMAP :Lued Héichtekaart STR_SCENEDIT_FILE_MENU_QUIT_EDITOR :Eraus aus dem Editor STR_SCENEDIT_FILE_MENU_SEPARATOR : STR_SCENEDIT_FILE_MENU_QUIT :Eraus @@ -361,15 +372,15 @@ STR_SCENEDIT_FILE_MENU_QUIT :Eraus ############ range for settings menu starts STR_SETTINGS_MENU_GAME_OPTIONS :Spilloptiounen -STR_SETTINGS_MENU_CONFIG_SETTINGS :Erweidert Astellungen +STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Astellungen STR_SETTINGS_MENU_SCRIPT_SETTINGS :KI / Spill-Script Astellungen STR_SETTINGS_MENU_NEWGRF_SETTINGS :NewGRF Astellungen STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Transparenz Optiounen -STR_SETTINGS_MENU_TOWN_NAMES_DISPLAYED :Stiednimm ugewisen -STR_SETTINGS_MENU_STATION_NAMES_DISPLAYED :Statiounennimm ugewisen +STR_SETTINGS_MENU_TOWN_NAMES_DISPLAYED :Stiednimm uweisen +STR_SETTINGS_MENU_STATION_NAMES_DISPLAYED :Statiounsnimm uweisen STR_SETTINGS_MENU_WAYPOINTS_DISPLAYED :Weepunktnimm uweisen -STR_SETTINGS_MENU_SIGNS_DISPLAYED :Schëlder ugewisen -STR_SETTINGS_MENU_SHOW_COMPETITOR_SIGNS :Géignerschëlder an ugewisen Nimm +STR_SETTINGS_MENU_SIGNS_DISPLAYED :Schëlder uweisen +STR_SETTINGS_MENU_SHOW_COMPETITOR_SIGNS :Géignerschëlder an Nimm uweisen STR_SETTINGS_MENU_FULL_ANIMATION :Ganz Animatiounen STR_SETTINGS_MENU_FULL_DETAIL :Ganz Detailer STR_SETTINGS_MENU_TRANSPARENT_BUILDINGS :Transparent Gebaier @@ -391,7 +402,7 @@ STR_MAP_MENU_LINGRAPH_LEGEND :Cargo Flow Lege STR_MAP_MENU_SIGN_LIST :Schëlderlëscht ############ range for town menu starts -STR_TOWN_MENU_TOWN_DIRECTORY :Stiedverzeeschniss +STR_TOWN_MENU_TOWN_DIRECTORY :Stiedverzeeschnëss STR_TOWN_MENU_FOUND_TOWN :Stad grënnen ############ range ends here @@ -400,18 +411,18 @@ STR_SUBSIDIES_MENU_SUBSIDIES :Subventiounen ############ range ends here ############ range for graph menu starts -STR_GRAPH_MENU_OPERATING_PROFIT_GRAPH :Grafik: Operativen Gewënn +STR_GRAPH_MENU_OPERATING_PROFIT_GRAPH :Grafik: Operative Gewënn STR_GRAPH_MENU_INCOME_GRAPH :Grafik: Akommes STR_GRAPH_MENU_DELIVERED_CARGO_GRAPH :Grafik: Geliwwert Luedungen STR_GRAPH_MENU_PERFORMANCE_HISTORY_GRAPH :Grafik: Performance -STR_GRAPH_MENU_COMPANY_VALUE_GRAPH :Grafik: Betriebswert +STR_GRAPH_MENU_COMPANY_VALUE_GRAPH :Grafik: Betribswäert STR_GRAPH_MENU_CARGO_PAYMENT_RATES :Luedungs Bezuelraten ############ range ends here ############ range for company league menu starts -STR_GRAPH_MENU_COMPANY_LEAGUE_TABLE :Betriebsranglëscht -STR_GRAPH_MENU_DETAILED_PERFORMANCE_RATING :Detailéiert Performancebewertung -STR_GRAPH_MENU_HIGHSCORE :Beschtenlëscht +STR_GRAPH_MENU_COMPANY_LEAGUE_TABLE :Betribsranglëscht +STR_GRAPH_MENU_DETAILED_PERFORMANCE_RATING :Detailléiert Leeschtungsbewäertung +STR_GRAPH_MENU_HIGHSCORE :Beschtelëscht ############ range ends here ############ range for industry menu starts @@ -421,23 +432,23 @@ STR_INDUSTRY_MENU_FUND_NEW_INDUSTRY :Finanzéiert en ############ range ends here ############ range for railway construction menu starts -STR_RAIL_MENU_RAILROAD_CONSTRUCTION :Schinnenbau -STR_RAIL_MENU_ELRAIL_CONSTRUCTION :Elektrëschen Schinnenbau +STR_RAIL_MENU_RAILROAD_CONSTRUCTION :Schinnebau +STR_RAIL_MENU_ELRAIL_CONSTRUCTION :Elektrësche Schinnebau STR_RAIL_MENU_MONORAIL_CONSTRUCTION :Monorailbau STR_RAIL_MENU_MAGLEV_CONSTRUCTION :Magnéitbunnbau ############ range ends here ############ range for road construction menu starts -STR_ROAD_MENU_ROAD_CONSTRUCTION :Stroossenbau +STR_ROAD_MENU_ROAD_CONSTRUCTION :Stroossebau STR_ROAD_MENU_TRAM_CONSTRUCTION :Trambau ############ range ends here ############ range for waterways construction menu starts -STR_WATERWAYS_MENU_WATERWAYS_CONSTRUCTION :Waasserstroossen bauen +STR_WATERWAYS_MENU_WATERWAYS_CONSTRUCTION :Waasserstroosse bauen ############ range ends here ############ range for airport construction menu starts -STR_AIRCRAFT_MENU_AIRPORT_CONSTRUCTION :Fluchhafenbau +STR_AIRCRAFT_MENU_AIRPORT_CONSTRUCTION :Fluchhafebau ############ range ends here ############ range for landscaping menu starts @@ -461,16 +472,16 @@ STR_ABOUT_MENU_SEPARATOR : STR_ABOUT_MENU_TOGGLE_CONSOLE :Konsole un/aus STR_ABOUT_MENU_AI_DEBUG :KI / Spill-Script Debug STR_ABOUT_MENU_SCREENSHOT :Screenshot (Ctrl+S) -STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Voll ragezoomten Screenshot -STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Default Zoom Screenshot -STR_ABOUT_MENU_GIANT_SCREENSHOT :Screenshot vun der ganzer Kaart (Ctrl+G) +STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Voll eragezoomte Screenshot +STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Standard Zoom Screenshot +STR_ABOUT_MENU_GIANT_SCREENSHOT :Screenshot vun der ganzer Kaart STR_ABOUT_MENU_ABOUT_OPENTTD :Iwwert 'OpenTTD' STR_ABOUT_MENU_SPRITE_ALIGNER :Sprite Alignéirer STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Zeechen-Boxen un/aus STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Knaschteg blocks fierwen un/aus ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window STR_ORDINAL_NUMBER_1ST :1ten STR_ORDINAL_NUMBER_2ND :2ten STR_ORDINAL_NUMBER_3RD :3ten @@ -486,22 +497,40 @@ STR_ORDINAL_NUMBER_12TH :12ten STR_ORDINAL_NUMBER_13TH :13ten STR_ORDINAL_NUMBER_14TH :14ten STR_ORDINAL_NUMBER_15TH :15ten -STR_ORDINAL_NUMBER_16TH :16ten -STR_ORDINAL_NUMBER_17TH :17ten -STR_ORDINAL_NUMBER_18TH :18ten -STR_ORDINAL_NUMBER_19TH :19ten -STR_ORDINAL_NUMBER_20TH :20ten -STR_ORDINAL_NUMBER_21ST :21ten -STR_ORDINAL_NUMBER_22ND :22ten -STR_ORDINAL_NUMBER_23RD :23ten -STR_ORDINAL_NUMBER_24TH :24ten -STR_ORDINAL_NUMBER_25TH :25ten -STR_ORDINAL_NUMBER_26TH :26ten -STR_ORDINAL_NUMBER_27TH :27ten -STR_ORDINAL_NUMBER_28TH :28ten -STR_ORDINAL_NUMBER_29TH :29ten -STR_ORDINAL_NUMBER_30TH :30ten -STR_ORDINAL_NUMBER_31ST :31ten +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :1ten +STR_DAY_NUMBER_2ND :2ten +STR_DAY_NUMBER_3RD :3ten +STR_DAY_NUMBER_4TH :4ten +STR_DAY_NUMBER_5TH :5ten +STR_DAY_NUMBER_6TH :6ten +STR_DAY_NUMBER_7TH :7ten +STR_DAY_NUMBER_8TH :8ten +STR_DAY_NUMBER_9TH :9ten +STR_DAY_NUMBER_10TH :10ten +STR_DAY_NUMBER_11TH :11ten +STR_DAY_NUMBER_12TH :12ten +STR_DAY_NUMBER_13TH :13ten +STR_DAY_NUMBER_14TH :14ten +STR_DAY_NUMBER_15TH :15ten +STR_DAY_NUMBER_16TH :16ten +STR_DAY_NUMBER_17TH :17ten +STR_DAY_NUMBER_18TH :18ten +STR_DAY_NUMBER_19TH :19ten +STR_DAY_NUMBER_20TH :20ten +STR_DAY_NUMBER_21ST :21ten +STR_DAY_NUMBER_22ND :22ten +STR_DAY_NUMBER_23RD :23ten +STR_DAY_NUMBER_24TH :24ten +STR_DAY_NUMBER_25TH :25ten +STR_DAY_NUMBER_26TH :26ten +STR_DAY_NUMBER_27TH :27ten +STR_DAY_NUMBER_28TH :28ten +STR_DAY_NUMBER_29TH :29ten +STR_DAY_NUMBER_30TH :30ten +STR_DAY_NUMBER_31ST :31ten ############ range for days ends ############ range for months starts @@ -519,8 +548,8 @@ STR_MONTH_ABBREV_NOV :Nov STR_MONTH_ABBREV_DEC :Dez STR_MONTH_JAN :Januar -STR_MONTH_FEB :Febuar -STR_MONTH_MAR :März +STR_MONTH_FEB :Februar +STR_MONTH_MAR :Mäerz STR_MONTH_APR :Abrëll STR_MONTH_MAY :Mee STR_MONTH_JUN :Juni @@ -534,54 +563,54 @@ STR_MONTH_DEC :Dezember # Graph window STR_GRAPH_KEY_BUTTON :{BLACK}Legend -STR_GRAPH_KEY_TOOLTIP :{BLACK}Weist Legend vun der Grafik +STR_GRAPH_KEY_TOOLTIP :{BLACK}Weis d'Legend vun der Grafik STR_GRAPH_X_LABEL_MONTH :{TINY_FONT}{STRING}{} {STRING} STR_GRAPH_X_LABEL_MONTH_YEAR :{TINY_FONT}{STRING}{} {STRING}{}{NUM} STR_GRAPH_Y_LABEL :{TINY_FONT}{STRING} STR_GRAPH_Y_LABEL_NUMBER :{TINY_FONT}{COMMA} -STR_GRAPH_OPERATING_PROFIT_CAPTION :{WHITE}Grafik: Betriibsgewënn +STR_GRAPH_OPERATING_PROFIT_CAPTION :{WHITE}Grafik: Betribsgewënn STR_GRAPH_INCOME_CAPTION :{WHITE}Grafik: Akommes -STR_GRAPH_CARGO_DELIVERED_CAPTION :{WHITE}Eenheeten vun Luedung geliwwert -STR_GRAPH_COMPANY_PERFORMANCE_RATINGS_CAPTION :{WHITE}Firmen Preformancebewertung (max bewertung=1000) -STR_GRAPH_COMPANY_VALUES_CAPTION :{WHITE}Firmenwäert +STR_GRAPH_CARGO_DELIVERED_CAPTION :{WHITE}Eenheete vu Luedung geliwwert +STR_GRAPH_COMPANY_PERFORMANCE_RATINGS_CAPTION :{WHITE}Firmen Performancebewäertung (max Bewäertung=1000) +STR_GRAPH_COMPANY_VALUES_CAPTION :{WHITE}Firmewäert STR_GRAPH_CARGO_PAYMENT_RATES_CAPTION :{WHITE}Luedungs Bezuelraten -STR_GRAPH_CARGO_PAYMENT_RATES_X_LABEL :{TINY_FONT}{BLACK}Deeg am ëmmlaaf +STR_GRAPH_CARGO_PAYMENT_RATES_X_LABEL :{TINY_FONT}{BLACK}Deeg am Emlaf STR_GRAPH_CARGO_PAYMENT_RATES_TITLE :{TINY_FONT}{BLACK}Bezuelung fir Liwwerung vun 10 Eenheeten (oder 10.000 liter) Luedungen op Distanz vun 20 Felder STR_GRAPH_CARGO_ENABLE_ALL :{TINY_FONT}{BLACK}All wielen STR_GRAPH_CARGO_DISABLE_ALL :{TINY_FONT}{BLACK}All ofwielen STR_GRAPH_CARGO_TOOLTIP_ENABLE_ALL :{BLACK}All Wueren op der Wuerenwäertgrafik weisen STR_GRAPH_CARGO_TOOLTIP_DISABLE_ALL :{BLACK}Keng Wuer op der Wuerenwäertgrafik weisen -STR_GRAPH_CARGO_PAYMENT_TOGGLE_CARGO :{BLACK}Wieselt den Grafik fir den Luedungstyp un/aus +STR_GRAPH_CARGO_PAYMENT_TOGGLE_CARGO :{BLACK}Schalt d'Grafik fir de Luedungstyp un/aus STR_GRAPH_CARGO_PAYMENT_CARGO :{TINY_FONT}{BLACK}{STRING} STR_GRAPH_PERFORMANCE_DETAIL_TOOLTIP :{BLACK}Weis detailléiert performance Astellungen # Graph key window -STR_GRAPH_KEY_CAPTION :{WHITE}Legend vun den Firmengrafiken +STR_GRAPH_KEY_CAPTION :{WHITE}Legend vun de Firmegrafiken STR_GRAPH_KEY_COMPANY_SELECTION_TOOLTIP :{BLACK}Klick hei fir d'Firma an der Grafik an/aus zeschalten # Company league window -STR_COMPANY_LEAGUE_TABLE_CAPTION :{WHITE}Firmenliga Tabell +STR_COMPANY_LEAGUE_TABLE_CAPTION :{WHITE}Firmeliga Tabell STR_COMPANY_LEAGUE_COMPANY_NAME :{ORANGE}{COMPANY} {BLACK}{COMPANY_NUM} '{STRING}' STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_ENGINEER :Techniker STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_TRAFFIC_MANAGER :Verkéiersmanager STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_TRANSPORT_COORDINATOR :Transportkoordinator STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_ROUTE_SUPERVISOR :Stroossenopsiicht STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_DIRECTOR :Direkter -STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_CHIEF_EXECUTIVE :Firmenchef +STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_CHIEF_EXECUTIVE :Firmechef STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_CHAIRMAN :Virsëtzenden STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_PRESIDENT :President STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_TYCOON :Tycoon # Performance detail window -STR_PERFORMANCE_DETAIL :{WHITE}Detailéiert Leeschtungsbewertung +STR_PERFORMANCE_DETAIL :{WHITE}Detailléiert Leeschtungsbewäertung STR_PERFORMANCE_DETAIL_KEY :{BLACK}Detail STR_PERFORMANCE_DETAIL_AMOUNT_CURRENCY :{BLACK}({CURRENCY_SHORT}/{CURRENCY_SHORT}) STR_PERFORMANCE_DETAIL_AMOUNT_INT :{BLACK}({COMMA}/{COMMA}) STR_PERFORMANCE_DETAIL_PERCENT :{WHITE}{NUM}% -STR_PERFORMANCE_DETAIL_SELECT_COMPANY_TOOLTIP :{BLACK}Detailler fir des Firma uweisen +STR_PERFORMANCE_DETAIL_SELECT_COMPANY_TOOLTIP :{BLACK}Detailer fir des Firma uweisen ############ Those following lines need to be in this order!! STR_PERFORMANCE_DETAIL_VEHICLES :{BLACK}Gefierer: STR_PERFORMANCE_DETAIL_STATIONS :{BLACK}Statiounen: @@ -594,27 +623,27 @@ STR_PERFORMANCE_DETAIL_MONEY :{BLACK}Suen: STR_PERFORMANCE_DETAIL_LOAN :{BLACK}Kredit: STR_PERFORMANCE_DETAIL_TOTAL :{BLACK}Total: ############ End of order list -STR_PERFORMANCE_DETAIL_VEHICLES_TOOLTIP :{BLACK}Unzuel Gefierer déi lescht Joer Profit gemeet hunn; dëst betrëfft Stroossengefierer, Zich, Schëffer an Fligeren. -STR_PERFORMANCE_DETAIL_STATIONS_TOOLTIP :{BLACK}Unzuel un kierzlechservéiert Statiounsdeeler. All Deel vun enger Statioun (z.B. Gare, Busarret, Fluchhafen) gëtt gezielt,och wann déi als eng Statioun connectéiert sinn. -STR_PERFORMANCE_DETAIL_MIN_PROFIT_TOOLTIP :{BLACK}Profit vum Gefiert mam mannsten Akommes (vun allen Gefierter déi méi wéi 2 Joer aal sin) -STR_PERFORMANCE_DETAIL_MIN_INCOME_TOOLTIP :{BLACK}Betrag un Geld den am Mount mam mansten Profit gemeet gouf an den leschten 12 Quartaler -STR_PERFORMANCE_DETAIL_MAX_INCOME_TOOLTIP :{BLACK}Betrag un Geld den am Mount mam héchsten Profit gemeet gouf an den leschten 12 Quartaler -STR_PERFORMANCE_DETAIL_DELIVERED_TOOLTIP :{BLACK}Unzuel un Typen Wueren déi déi 4 lescht Quartaler geliwwert goufen -STR_PERFORMANCE_DETAIL_CARGO_TOOLTIP :{BLACK}Unzuel un Typen Wueren déi lescht Quartal geliwwert goufen -STR_PERFORMANCE_DETAIL_MONEY_TOOLTIP :{BLACK}Betrag un Suen den des Firma op der Bank huet -STR_PERFORMANCE_DETAIL_LOAN_TOOLTIP :{BLACK}Betrag un Geld den dës Firma geléint huet -STR_PERFORMANCE_DETAIL_TOTAL_TOOLTIP :{BLACK}Total Punkte vun méiglechen Punkten +STR_PERFORMANCE_DETAIL_VEHICLES_TOOLTIP :{BLACK}Unzuel Gefierer déi lescht Joer Profit gemeet hunn; dëst betrëfft Stroossegefierer, Zich, Schëffer a Fligeren. +STR_PERFORMANCE_DETAIL_STATIONS_TOOLTIP :{BLACK}Unzuel un kierzlech beliwwerte Statiounsdeeler. All Deel vun enger Statioun (z.B. Gare, Busarret, Fluchhafen) gëtt gezielt,och wann déi als eng Statioun verbonne sinn. +STR_PERFORMANCE_DETAIL_MIN_PROFIT_TOOLTIP :{BLACK}Profit vum Gefier mam mannsten Akommes (vun alle Gefierer déi méi wéi 2 Joer al sinn) +STR_PERFORMANCE_DETAIL_MIN_INCOME_TOOLTIP :{BLACK}Betrag u Geld den am Mount mam mansten Profit gemeet gouf an de leschten 12 Quartaler +STR_PERFORMANCE_DETAIL_MAX_INCOME_TOOLTIP :{BLACK}Betrag u Geld den am Mount mam héchsten Profit gemeet gouf an de leschten 12 Quartaler +STR_PERFORMANCE_DETAIL_DELIVERED_TOOLTIP :{BLACK}Unzuel un Type Wueren déi déi 4 lescht Quartaler geliwwert goufen +STR_PERFORMANCE_DETAIL_CARGO_TOOLTIP :{BLACK}Unzuel un Type Wueren déi lescht Quartal geliwwert goufen +STR_PERFORMANCE_DETAIL_MONEY_TOOLTIP :{BLACK}Betrag u Suen den des Firma op der Bank huet +STR_PERFORMANCE_DETAIL_LOAN_TOOLTIP :{BLACK}Betrag u Geld den des Firma geléint huet +STR_PERFORMANCE_DETAIL_TOTAL_TOOLTIP :{BLACK}Total Punkte vu méigleche Punkten # Music window STR_MUSIC_JAZZ_JUKEBOX_CAPTION :{WHITE}Jazz Jukebox STR_MUSIC_PLAYLIST_ALL :{TINY_FONT}{BLACK}All -STR_MUSIC_PLAYLIST_OLD_STYLE :{TINY_FONT}{BLACK}Aalen Style -STR_MUSIC_PLAYLIST_NEW_STYLE :{TINY_FONT}{BLACK}Neien Style +STR_MUSIC_PLAYLIST_OLD_STYLE :{TINY_FONT}{BLACK}Ale Stil +STR_MUSIC_PLAYLIST_NEW_STYLE :{TINY_FONT}{BLACK}Neie Stil STR_MUSIC_PLAYLIST_EZY_STREET :{TINY_FONT}{BLACK}Ezy Street STR_MUSIC_PLAYLIST_CUSTOM_1 :{TINY_FONT}{BLACK}Benotzerdéf. 1 STR_MUSIC_PLAYLIST_CUSTOM_2 :{TINY_FONT}{BLACK}Benotzerdéf. 2 -STR_MUSIC_MUSIC_VOLUME :{TINY_FONT}{BLACK}Musik Lautstärkt -STR_MUSIC_EFFECTS_VOLUME :{TINY_FONT}{BLACK}Lautstärkt vun den Effekter +STR_MUSIC_MUSIC_VOLUME :{TINY_FONT}{BLACK}Musikvolume +STR_MUSIC_EFFECTS_VOLUME :{TINY_FONT}{BLACK}Volume vun den Effekter STR_MUSIC_RULER_MIN :{TINY_FONT}{BLACK}MIN STR_MUSIC_RULER_MAX :{TINY_FONT}{BLACK}MAX STR_MUSIC_RULER_MARKER :{TINY_FONT}{BLACK}' @@ -630,31 +659,31 @@ STR_MUSIC_TOOLTIP_SKIP_TO_PREVIOUS_TRACK :{BLACK}Sprang o STR_MUSIC_TOOLTIP_SKIP_TO_NEXT_TRACK_IN_SELECTION :{BLACK}Sprang op dat nächst Stéck vun der Selektioun STR_MUSIC_TOOLTIP_STOP_PLAYING_MUSIC :{BLACK}Stop d'Musik STR_MUSIC_TOOLTIP_START_PLAYING_MUSIC :{BLACK}Start d'Musik -STR_MUSIC_TOOLTIP_DRAG_SLIDERS_TO_SET_MUSIC :{BLACK}Zéi den Regler fir d'Lautstärkt vun der Musik an den Effekter anzestellen -STR_MUSIC_TOOLTIP_SELECT_ALL_TRACKS_PROGRAM :{BLACK}Selectionéier 'all Lidder' Programm -STR_MUSIC_TOOLTIP_SELECT_OLD_STYLE_MUSIC :{BLACK}Selectionéier 'aalen Style' Programm -STR_MUSIC_TOOLTIP_SELECT_NEW_STYLE_MUSIC :{BLACK}Selectionéier 'neien Style' Programm -STR_MUSIC_TOOLTIP_SELECT_EZY_STREET_STYLE :{BLACK}Wielt 'Ezy Street Musik' Programm -STR_MUSIC_TOOLTIP_SELECT_CUSTOM_1_USER_DEFINED :{BLACK}Selectionéier 'Benotzerdéf. 1' Programm -STR_MUSIC_TOOLTIP_SELECT_CUSTOM_2_USER_DEFINED :{BLACK}Selectionéier 'Benotzerdéf. 2' Programm +STR_MUSIC_TOOLTIP_DRAG_SLIDERS_TO_SET_MUSIC :{BLACK}Zéi de Regler fir de Volume vun der Musik an den Effekter anzestellen +STR_MUSIC_TOOLTIP_SELECT_ALL_TRACKS_PROGRAM :{BLACK}Wielt den 'all Lidder' Programm +STR_MUSIC_TOOLTIP_SELECT_OLD_STYLE_MUSIC :{BLACK}Wielt den 'ale Stil' Musiksprogramm +STR_MUSIC_TOOLTIP_SELECT_NEW_STYLE_MUSIC :{BLACK}Wielt den 'neie Stil' Musiksprogramm +STR_MUSIC_TOOLTIP_SELECT_EZY_STREET_STYLE :{BLACK}Wielt den 'Ezy Street style music' Programm +STR_MUSIC_TOOLTIP_SELECT_CUSTOM_1_USER_DEFINED :{BLACK}Wielt den 'Benotzerdéf. 1' Programm +STR_MUSIC_TOOLTIP_SELECT_CUSTOM_2_USER_DEFINED :{BLACK}Wielt den 'Benotzerdéf. 2' Programm STR_MUSIC_TOOLTIP_TOGGLE_PROGRAM_SHUFFLE :{BLACK}Schalt den "shuffle" un/aus STR_MUSIC_TOOLTIP_SHOW_MUSIC_TRACK_SELECTION :{BLACK}Weis d'Fënster fir Musik ze wielen -STR_ERROR_NO_SONGS :{WHITE}E Music Set ouni Lidder gouf gewielt. Et wärten keng Lidder gespillt gin +STR_ERROR_NO_SONGS :{WHITE}E Music Set ouni Lidder gouf gewielt. Et wäerten keng Lidder gespillt ginn # Playlist window -STR_PLAYLIST_MUSIC_PROGRAM_SELECTION :{WHITE}Musikprogramm Selectioun +STR_PLAYLIST_MUSIC_PROGRAM_SELECTION :{WHITE}Musiksprogramm Auswiel STR_PLAYLIST_TRACK_NAME :{TINY_FONT}{LTBLUE}{ZEROFILL_NUM} "{STRING}" STR_PLAYLIST_TRACK_INDEX :{TINY_FONT}{BLACK}Lidder Index STR_PLAYLIST_PROGRAM :{TINY_FONT}{BLACK}Programm - '{STRING}' -STR_PLAYLIST_CLEAR :{TINY_FONT}{BLACK}Leschen -STR_PLAYLIST_TOOLTIP_CLEAR_CURRENT_PROGRAM_CUSTOM1 :{BLACK}Den gewielten Program reseten (nëmmen Benotzerdéf.1 oder Benotzerdéf.2) -STR_PLAYLIST_TOOLTIP_CLICK_TO_ADD_TRACK :{BLACK}Klick op d'Lidd fir et zum aktuellen Program dobäi zesetzen (nëmmen Benotzerdéf.1 oder Benotzerdéf.2) +STR_PLAYLIST_CLEAR :{TINY_FONT}{BLACK}Läschen +STR_PLAYLIST_TOOLTIP_CLEAR_CURRENT_PROGRAM_CUSTOM1 :{BLACK}De gewielte Program reseten (nëmmen Benotzerdéf.1 oder Benotzerdéf.2) +STR_PLAYLIST_TOOLTIP_CLICK_TO_ADD_TRACK :{BLACK}Klick op d'Lidd fir et zum aktuellen Program dobäi zesetzen (nëmme Benotzerdéf.1 oder Benotzerdéf.2) STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Klick op d'Lidd fir et vum aktuellen Programm ze läschen (Benotzerdefinéiert 1 an 2 nëmmen) # Highscore window -STR_HIGHSCORE_TOP_COMPANIES_WHO_REACHED :{BIG_FONT}{BLACK}Top Firmen dei {NUM} -STR_HIGHSCORE_TOP_COMPANIES_NETWORK_GAME :{BIG_FONT}{BLACK}Firmenligatabell an {NUM} +STR_HIGHSCORE_TOP_COMPANIES_WHO_REACHED :{BIG_FONT}{BLACK}Top Firmen déi {NUM} erreecht hunn +STR_HIGHSCORE_TOP_COMPANIES_NETWORK_GAME :{BIG_FONT}{BLACK}Firmeligatabell {NUM} STR_HIGHSCORE_POSITION :{BIG_FONT}{BLACK}{COMMA}. STR_HIGHSCORE_PERFORMANCE_TITLE_BUSINESSMAN :Kafmann STR_HIGHSCORE_PERFORMANCE_TITLE_ENTREPRENEUR :Entrepreneur @@ -665,8 +694,8 @@ STR_HIGHSCORE_PERFORMANCE_TITLE_MOGUL :Mogul STR_HIGHSCORE_PERFORMANCE_TITLE_TYCOON_OF_THE_CENTURY :Tycoon vum Jorhonnert STR_HIGHSCORE_NAME :{PRESIDENT_NAME}, {COMPANY} STR_HIGHSCORE_STATS :{BIG_FONT}'{STRING}' ({COMMA}) -STR_HIGHSCORE_COMPANY_ACHIEVES_STATUS :{BIG_FONT}{BLACK}{COMPANY} ereescht den Status '{STRING}'! -STR_HIGHSCORE_PRESIDENT_OF_COMPANY_ACHIEVES_STATUS :{BIG_FONT}{WHITE}{PRESIDENT_NAME} vun {COMPANY} ereescht den Status '{STRING}'! +STR_HIGHSCORE_COMPANY_ACHIEVES_STATUS :{BIG_FONT}{BLACK}{COMPANY} erreecht de Status '{STRING}'! +STR_HIGHSCORE_PRESIDENT_OF_COMPANY_ACHIEVES_STATUS :{BIG_FONT}{WHITE}{PRESIDENT_NAME} vun {COMPANY} erreecht de Status '{STRING}'! # Smallmap window STR_SMALLMAP_CAPTION :{WHITE}Kaart - {STRING} @@ -685,17 +714,17 @@ STR_SMALLMAP_TOOLTIP_SHOW_LINK_STATS_ON_MAP :{BLACK}Weis de STR_SMALLMAP_TOOLTIP_SHOW_TRANSPORT_ROUTES_ON :{BLACK}Weis d'Transportrouten op der Kaart STR_SMALLMAP_TOOLTIP_SHOW_VEGETATION_ON_MAP :{BLACK}Weis d'Vegetatioun op der Kaart STR_SMALLMAP_TOOLTIP_SHOW_LAND_OWNERS_ON_MAP :{BLACK}Weis d'Landbesëtzer op der Kaart -STR_SMALLMAP_TOOLTIP_INDUSTRY_SELECTION :{BLACK}Klick op en Industrietyp fir en unzeweisen. Ctrl+Klick weist just déi ugewielten Wuer. Ctrl+Klick nach emol fir all Wueren unzeweisen -STR_SMALLMAP_TOOLTIP_COMPANY_SELECTION :{BLACK}Klick op eng Forma fir den Besëtz unzeweisen. Ctrl+Klick weist just déi ugewielten aus. Ctrl+Klick nach emol fir all Firmen ze weisen -STR_SMALLMAP_TOOLTIP_CARGO_SELECTION :{BLACK}Klick op eng Wuer fir tëscht den Eegenschaften ze wiesselen. Ctrl+Klick wielt Alles of ausser déi gewielten Wuer. Ctrl+Klick nach emol fir erëm Alles unzeweisen +STR_SMALLMAP_TOOLTIP_INDUSTRY_SELECTION :{BLACK}Klick op en Industrietyp fir en unzeweisen. Ctrl+Klick weist just déi ugewielte Wuer. Ctrl+Klick nach emol fir all Wueren unzeweisen +STR_SMALLMAP_TOOLTIP_COMPANY_SELECTION :{BLACK}Klick op eng Firma fir de Besëtz unzeweisen. Ctrl+Klick weist just déi ugewielten aus. Ctrl+Klick nach emol fir all Firmen ze weisen +STR_SMALLMAP_TOOLTIP_CARGO_SELECTION :{BLACK}Klick op eng Wuer fir tëscht den Eegenschaften ze wiesselen. Ctrl+Klick wielt Alles of ausser déi gewielte Wuer. Ctrl+Klick nach emol fir erëm Alles unzeweisen STR_SMALLMAP_LEGENDA_ROADS :{TINY_FONT}{BLACK}Stroossen STR_SMALLMAP_LEGENDA_RAILROADS :{TINY_FONT}{BLACK}Schinnen STR_SMALLMAP_LEGENDA_STATIONS_AIRPORTS_DOCKS :{TINY_FONT}{BLACK}Statiounen/Fluchhafen/Hafen STR_SMALLMAP_LEGENDA_BUILDINGS_INDUSTRIES :{TINY_FONT}{BLACK}Gebaier/Industrien -STR_SMALLMAP_LEGENDA_VEHICLES :{TINY_FONT}{BLACK}Gefierter +STR_SMALLMAP_LEGENDA_VEHICLES :{TINY_FONT}{BLACK}Gefierer STR_SMALLMAP_LEGENDA_TRAINS :{TINY_FONT}{BLACK}Zich -STR_SMALLMAP_LEGENDA_ROAD_VEHICLES :{TINY_FONT}{BLACK}Stroosengefierer +STR_SMALLMAP_LEGENDA_ROAD_VEHICLES :{TINY_FONT}{BLACK}Stroossegefierer STR_SMALLMAP_LEGENDA_SHIPS :{TINY_FONT}{BLACK}Schëffer STR_SMALLMAP_LEGENDA_AIRCRAFT :{TINY_FONT}{BLACK}Fligeren STR_SMALLMAP_LEGENDA_TRANSPORT_ROUTES :{TINY_FONT}{BLACK}Transport Routen @@ -703,7 +732,7 @@ STR_SMALLMAP_LEGENDA_FOREST :{TINY_FONT}{BLA STR_SMALLMAP_LEGENDA_RAILROAD_STATION :{TINY_FONT}{BLACK}Gare STR_SMALLMAP_LEGENDA_TRUCK_LOADING_BAY :{TINY_FONT}{BLACK}Camionsluedeplaz STR_SMALLMAP_LEGENDA_BUS_STATION :{TINY_FONT}{BLACK}Busarrêt -STR_SMALLMAP_LEGENDA_AIRPORT_HELIPORT :{TINY_FONT}{BLACK}Fluchhafen/Helicopterlandeplaz +STR_SMALLMAP_LEGENDA_AIRPORT_HELIPORT :{TINY_FONT}{BLACK}Fluchhafen/Helikopterlandeplaz STR_SMALLMAP_LEGENDA_DOCK :{TINY_FONT}{BLACK}Hafen STR_SMALLMAP_LEGENDA_ROUGH_LAND :{TINY_FONT}{BLACK}Knubbelegt Land STR_SMALLMAP_LEGENDA_GRASS_LAND :{TINY_FONT}{BLACK}Grasland @@ -712,7 +741,7 @@ STR_SMALLMAP_LEGENDA_FIELDS :{TINY_FONT}{BLA STR_SMALLMAP_LEGENDA_TREES :{TINY_FONT}{BLACK}Beem STR_SMALLMAP_LEGENDA_ROCKS :{TINY_FONT}{BLACK}Fielsen STR_SMALLMAP_LEGENDA_WATER :{TINY_FONT}{BLACK}Waasser -STR_SMALLMAP_LEGENDA_NO_OWNER :{TINY_FONT}{BLACK}Keen Besëtzer +STR_SMALLMAP_LEGENDA_NO_OWNER :{TINY_FONT}{BLACK}Kee Besëtzer STR_SMALLMAP_LEGENDA_TOWNS :{TINY_FONT}{BLACK}Stied STR_SMALLMAP_LEGENDA_INDUSTRIES :{TINY_FONT}{BLACK}Industrien STR_SMALLMAP_LEGENDA_DESERT :{TINY_FONT}{BLACK}Wüst @@ -725,13 +754,13 @@ STR_SMALLMAP_LINKSTATS :{TINY_FONT}{STR STR_SMALLMAP_COMPANY :{TINY_FONT}{COMPANY} STR_SMALLMAP_TOWN :{TINY_FONT}{WHITE}{TOWN} STR_SMALLMAP_DISABLE_ALL :{BLACK}All ausschalten -STR_SMALLMAP_ENABLE_ALL :{BLACK}All unschalten +STR_SMALLMAP_ENABLE_ALL :{BLACK}All uschalten STR_SMALLMAP_SHOW_HEIGHT :{BLACK}D'Héicht uweisen STR_SMALLMAP_TOOLTIP_DISABLE_ALL_INDUSTRIES :{BLACK}Keng Industrien op der Kaart uweisen STR_SMALLMAP_TOOLTIP_ENABLE_ALL_INDUSTRIES :{BLACK}All Industrien op der Kaart uweisen STR_SMALLMAP_TOOLTIP_SHOW_HEIGHT :{BLACK}Wiessel d'Usiicht vun der Héichtenkaart -STR_SMALLMAP_TOOLTIP_DISABLE_ALL_COMPANIES :{BLACK}Weis keen Besëtz vun der Firma op der Kaart un -STR_SMALLMAP_TOOLTIP_ENABLE_ALL_COMPANIES :{BLACK}Weis den ganzen Besëtz vun der Firma op der Kaart un +STR_SMALLMAP_TOOLTIP_DISABLE_ALL_COMPANIES :{BLACK}Weis kee Besëtz vun der Firma op der Kaart un +STR_SMALLMAP_TOOLTIP_ENABLE_ALL_COMPANIES :{BLACK}Weis de ganze Besëtz vun der Firma op der Kaart un STR_SMALLMAP_TOOLTIP_DISABLE_ALL_CARGOS :{BLACK}Weis keng Wueren op der Kaart STR_SMALLMAP_TOOLTIP_ENABLE_ALL_CARGOS :{BLACK}Weis all Wueren op der Kaart @@ -739,70 +768,70 @@ STR_SMALLMAP_TOOLTIP_ENABLE_ALL_CARGOS :{BLACK}Weis all STR_STATUSBAR_TOOLTIP_SHOW_LAST_NEWS :{BLACK}Lescht Meldung oder News STR_STATUSBAR_COMPANY_NAME :{SILVER}- - {COMPANY} - - STR_STATUSBAR_PAUSED :{YELLOW}* * PAUSEIERT * * -STR_STATUSBAR_AUTOSAVE :{RED}AUTOSPÄICHER +STR_STATUSBAR_AUTOSAVE :{RED}AUTOSPÄICHEREN STR_STATUSBAR_SAVING_GAME :{RED}* * SPÄICHERT D'SPILL * * # News message history STR_MESSAGE_HISTORY :{WHITE}Meldungshistorie -STR_MESSAGE_HISTORY_TOOLTIP :{BLACK}Eng Lëscht vun den leschten Meldungen +STR_MESSAGE_HISTORY_TOOLTIP :{BLACK}Eng Lëscht vun de leschten Meldungen STR_MESSAGE_NEWS_FORMAT :{STRING} - {STRING} STR_NEWS_MESSAGE_CAPTION :{WHITE}Meldung STR_NEWS_CUSTOM_ITEM :{BIG_FONT}{BLACK}{STRING} -STR_NEWS_FIRST_TRAIN_ARRIVAL :{BIG_FONT}{BLACK}Bierger feieren . . .{}Éischten Zuch kënnt bei {STATION} un! -STR_NEWS_FIRST_BUS_ARRIVAL :{BIG_FONT}{BLACK}Bierger feieren . . .{}Éischten Bus kënnt bei {STATION} un! -STR_NEWS_FIRST_TRUCK_ARRIVAL :{BIG_FONT}{BLACK}Bierger feieren . . .{}Eischten Camion kënnt bei {STATION} un! -STR_NEWS_FIRST_PASSENGER_TRAM_ARRIVAL :{BIG_FONT}{BLACK}Bierger feieren . . .{}Eischten Tram kënnt bei {STATION} un! -STR_NEWS_FIRST_CARGO_TRAM_ARRIVAL :{BIG_FONT}{BLACK}Bierger feieren . . .{}Eischten Wueren-Tram kënnt bei {STATION} un! -STR_NEWS_FIRST_SHIP_ARRIVAL :{BIG_FONT}{BLACK}Bierger feieren . . .{}Éischt Schëff kënnt bei {STATION} un! -STR_NEWS_FIRST_AIRCRAFT_ARRIVAL :{BIG_FONT}{BLACK}Bierger feieren . . .{}Éischten Fliger kënnt bei {STATION} un! +STR_NEWS_FIRST_TRAIN_ARRIVAL :{BIG_FONT}{BLACK}Bierger feieren . . .{}Éischten Zuch kënnt zu {STATION} un! +STR_NEWS_FIRST_BUS_ARRIVAL :{BIG_FONT}{BLACK}Bierger feieren . . .{}Éischte Bus kënnt zu {STATION} un! +STR_NEWS_FIRST_TRUCK_ARRIVAL :{BIG_FONT}{BLACK}Bierger feieren . . .{}Eischte Camion kënnt zu {STATION} un! +STR_NEWS_FIRST_PASSENGER_TRAM_ARRIVAL :{BIG_FONT}{BLACK}Bierger feieren . . .{}Eischten Tram kënnt zu {STATION} un! +STR_NEWS_FIRST_CARGO_TRAM_ARRIVAL :{BIG_FONT}{BLACK}Bierger feieren . . .{}Eischte Wueren-Tram kënnt zu {STATION} un! +STR_NEWS_FIRST_SHIP_ARRIVAL :{BIG_FONT}{BLACK}Bierger feieren . . .{}Éischt Schëff kënnt zu {STATION} un! +STR_NEWS_FIRST_AIRCRAFT_ARRIVAL :{BIG_FONT}{BLACK}Bierger feieren . . .{}Éischte Fliger kënnt zu {STATION} un! -STR_NEWS_TRAIN_CRASH :{BIG_FONT}{BLACK}Zuchaccident!{}{COMMA} Leit stiewen an der Explosioun nom Accident -STR_NEWS_ROAD_VEHICLE_CRASH_DRIVER :{BIG_FONT}{BLACK}Stroossengefiert onfall!{}Fuerer stieft an der Explosioun no Onfall mam Zuch -STR_NEWS_ROAD_VEHICLE_CRASH :{BIG_FONT}{BLACK}Stroossengefiertaccident!{}{COMMA} Leit stiewen an der Explosioun no Onfall mam Zuch -STR_NEWS_AIRCRAFT_CRASH :{BIG_FONT}{BLACK}Fligeraccident!{}{COMMA} Leit stiewen an der Explosioun bei {STATION} -STR_NEWS_PLANE_CRASH_OUT_OF_FUEL :{BIG_FONT}{BLACK}Fligeraccident!{}Fliger hat keen Bensin méi, {COMMA} Leit stiewen an Explosioun! +STR_NEWS_TRAIN_CRASH :{BIG_FONT}{BLACK}Zuchakzident!{}{COMMA} Leit stiewen an der Explosioun nom Akzident +STR_NEWS_ROAD_VEHICLE_CRASH_DRIVER :{BIG_FONT}{BLACK}Stroossenakzident!{}Fuerer stierft an der Explosioun no Akzident mat Zuch +STR_NEWS_ROAD_VEHICLE_CRASH :{BIG_FONT}{BLACK}Stroossegefierakzident!{}{COMMA} Leit stiewen an der Explosioun no Akzident mam Zuch +STR_NEWS_AIRCRAFT_CRASH :{BIG_FONT}{BLACK}Fligerakzident!{}{COMMA} Leit stiewen an der Explosioun bei {STATION} +STR_NEWS_PLANE_CRASH_OUT_OF_FUEL :{BIG_FONT}{BLACK}Fligerakzident!{}Fliger hat kee Bensin méi, {COMMA} Leit stiewen an Explosioun! -STR_NEWS_DISASTER_ZEPPELIN :{BIG_FONT}{BLACK}Zeppelinkatastroph bei {STATION}! -STR_NEWS_DISASTER_SMALL_UFO :{BIG_FONT}{BLACK}Stroossengefiehr bei 'UFO'-Zesummenstouss zerstéiert ginn! +STR_NEWS_DISASTER_ZEPPELIN :{BIG_FONT}{BLACK}Zeppelinkatastroph zu {STATION}! +STR_NEWS_DISASTER_SMALL_UFO :{BIG_FONT}{BLACK}Stroossegefier bei 'UFO'-Zesummestouss zerstéiert! STR_NEWS_DISASTER_AIRPLANE_OIL_REFINERY :{BIG_FONT}{BLACK}Uelegraffinerie bei {TOWN} explodéiert! STR_NEWS_DISASTER_HELICOPTER_FACTORY :{BIG_FONT}{BLACK}Fabrik ass zu {TOWN} ënner verdächtegen Ëmmstänn zerstéiert ginn! STR_NEWS_DISASTER_BIG_UFO :{BIG_FONT}{BLACK}'UFO' bei {TOWN} geland! -STR_NEWS_DISASTER_COAL_MINE_SUBSIDENCE :{BIG_FONT}{BLACK}Kuelenstollenzesummenbroch hannerléisst eng Spuer vun Verwüstung bei {TOWN}! -STR_NEWS_DISASTER_FLOOD_VEHICLE :{BIG_FONT}{BLACK}Flut!{}Opmanst {COMMA} vermësst, wahrscheinlech doud noo grousser Flut! +STR_NEWS_DISASTER_COAL_MINE_SUBSIDENCE :{BIG_FONT}{BLACK}Kuelestollenzesummebroch hannerléisst eng Spuer vu Verwüstung bei {TOWN}! +STR_NEWS_DISASTER_FLOOD_VEHICLE :{BIG_FONT}{BLACK}Flut!{}Opmanst {COMMA} Leit vermësst, wahrscheinlech doud no grousser Flut! -STR_NEWS_COMPANY_IN_TROUBLE_TITLE :{BIG_FONT}{BLACK}Transportfirma huet Probleemer! +STR_NEWS_COMPANY_IN_TROUBLE_TITLE :{BIG_FONT}{BLACK}Transportfirma huet Problemer! STR_NEWS_COMPANY_IN_TROUBLE_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} gëtt verkaf oder Bankrott erklärt, wann sëch d'Performance net verbessert! -STR_NEWS_COMPANY_MERGER_TITLE :{BIG_FONT}{BLACK}Transportfirmen Fusioun! +STR_NEWS_COMPANY_MERGER_TITLE :{BIG_FONT}{BLACK}Transportfirme-Fusioun! STR_NEWS_COMPANY_MERGER_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} ass un {STRING} fir {CURRENCY_LONG} verkaf ginn! STR_NEWS_COMPANY_BANKRUPT_TITLE :{BIG_FONT}{BLACK}Bankrott! -STR_NEWS_COMPANY_BANKRUPT_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} ass zougemaach ginn, an all Reschtposten sinn verkaaf! +STR_NEWS_COMPANY_BANKRUPT_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} ass zougemaach ginn, an all Reschtposte si verkaf! STR_NEWS_COMPANY_LAUNCH_TITLE :{BIG_FONT}{BLACK}Nei Transportfirma gegrënnt! STR_NEWS_COMPANY_LAUNCH_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} baut bei {TOWN}! -STR_NEWS_MERGER_TAKEOVER_TITLE :{BIG_FONT}{BLACK}{STRING} ass vun {STRING} iwerholl ginn! +STR_NEWS_MERGER_TAKEOVER_TITLE :{BIG_FONT}{BLACK}{STRING} ass vun {STRING} iwwerholl ginn! STR_PRESIDENT_NAME_MANAGER :{BLACK}{PRESIDENT_NAME}{}(Manager) -STR_NEWS_NEW_TOWN :{BLACK}{BIG_FONT}{STRING} huet Contructioun vun der Stad {TOWN} gesponsort! +STR_NEWS_NEW_TOWN :{BLACK}{BIG_FONT}{STRING} huet Kontruktioun vun der Stad {TOWN} gesponsort! -STR_NEWS_INDUSTRY_CONSTRUCTION :{BIG_FONT}{BLACK}Nei {STRING} gëtt bei {TOWN} gebaut! -STR_NEWS_INDUSTRY_PLANTED :{BIG_FONT}{BLACK}Nei {STRING} gëtt bei {TOWN} geplantzt! +STR_NEWS_INDUSTRY_CONSTRUCTION :{BIG_FONT}{BLACK}{STRING} gëtt bei {TOWN} gebaut! +STR_NEWS_INDUSTRY_PLANTED :{BIG_FONT}{BLACK}{STRING} gëtt bei {TOWN} geplanzt! STR_NEWS_INDUSTRY_CLOSURE_GENERAL :{BIG_FONT}{BLACK}{STRING} gëtt glaich zougemaach! STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS :{BIG_FONT}{BLACK}Liwwerungsproblemer féieren dozou dass {STRING} gläich zougemach gëtt! -STR_NEWS_INDUSTRY_CLOSURE_LACK_OF_TREES :{BIG_FONT}{BLACK}Mangel un Beem féiert dozou dass {STRING} gläich zougemaach gëtt! +STR_NEWS_INDUSTRY_CLOSURE_LACK_OF_TREES :{BIG_FONT}{BLACK}Mangel u Beem féiert dozou dass {STRING} gläich zougemaach gëtt! -STR_NEWS_EURO_INTRODUCTION :{BIG_FONT}{BLACK}Europäesch Währungsunioun!{}{}Den Euro ass als nei Währung am Land angefouert ginn! +STR_NEWS_EURO_INTRODUCTION :{BIG_FONT}{BLACK}Europäesch Währungsunioun!{}{}Den Euro ass als nei Währung am Land agefouert ginn! STR_NEWS_BEGIN_OF_RECESSION :{BIG_FONT}{BLACK}Wirtschaftsréckgang!{}{}Finanzexperten rechnen mat schlëmmsten Abrëch! -STR_NEWS_END_OF_RECESSION :{BIG_FONT}{BLACK}Wirtschaftsflaut eriwwer!{}{}Verbesserung am Handel bréngt Hoffnung fir Industrien an d'Economie gëtt gestärkt! +STR_NEWS_END_OF_RECESSION :{BIG_FONT}{BLACK}Wirtschaftsflaut eriwwer!{}{}Verbesserung am Handel bréngt Hoffnung fir Industrien an d'Economie gëtt gestäerkt! STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL :{BIG_FONT}{BLACK}{INDUSTRY} erhéicht d'Produktioun! -STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_COAL :{BIG_FONT}{BLACK}Nei Kuelenflöz bei {INDUSTRY} font!{}Verdueblung vun der Produktioun erwart! -STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_OIL :{BIG_FONT}{BLACK}Nei Uelegreserven bei {INDUSTRY} font!{}Verdueblung vun der Produktioun erwart! -STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_FARM :{BIG_FONT}{BLACK}Verbessert Ofbaumethoden bei {INDUSTRY} erfont!{}Verdueblung vun der Produktioun erwart! +STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_COAL :{BIG_FONT}{BLACK}Nei Kuelenvirkommes bei {INDUSTRY} fonnt!{}Verdueblung vun der Produktioun erwaart! +STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_OIL :{BIG_FONT}{BLACK}Nei Uelegreserven bei {INDUSTRY} font!{}Verdueblung vun der Produktioun erwaart! +STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_FARM :{BIG_FONT}{BLACK}{INDUSTRY} huet verbessert Ofbaumethoden erfonnt!{}Verdueblung vun der Produktioun erwaard! STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_SMOOTH :{BIG_FONT}{BLACK}{STRING} Produktioun vun {INDUSTRY} geet ëm {COMMA}% erop! STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL :{BIG_FONT}{BLACK}{INDUSTRY} Produktioun geet ëm 50% erof -STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_FARM :{BIG_FONT}{BLACK}Insektenbefall bei {INDUSTRY}!{}Produktioun geet ëm 50% erof +STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_FARM :{BIG_FONT}{BLACK}Insektebefall mat héijem Schued zu {INDUSTRY}!{}Produktioun geet ëm 50% erof STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_SMOOTH :{BIG_FONT}{BLACK}{STRING} Produktioun vun {INDUSTRY} geet ëm {COMMA}% erof! STR_NEWS_TRAIN_IS_WAITING :{WHITE}{VEHICLE} waard am Schapp @@ -810,51 +839,50 @@ STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}{VEHICLE STR_NEWS_SHIP_IS_WAITING :{WHITE}{VEHICLE} waard am Schapp STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE} waard am Hangar -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE -STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE} huet ze wéinech Opträg am Plang +# Order review system / warnings +STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE} huet ze mann Opträg am Plang STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE} huet en eidelen Optrag STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE} huet duebel Opträg STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE} huet eng falsch Statioun an den Opträg -# end of order system +STR_NEWS_PLANE_USES_TOO_SHORT_RUNWAY :{WHITE}{VEHICLE} huet an séngen Opträg en Fluchhafen dem séng Landebunn ze kuerz ass -STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} gëtt aal -STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} gëtt ganz aal -STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD_AND :{WHITE}{VEHICLE} ass ganz aal, an sollt schnellstens ersaat ginn -STR_NEWS_TRAIN_IS_STUCK :{WHITE}{VEHICLE} kann den Wee fir weider ze fueren net fannen +STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} gëtt al +STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} gëtt ganz al +STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD_AND :{WHITE}{VEHICLE} ass ganz al, an sollt schnellstens ersaat ginn +STR_NEWS_TRAIN_IS_STUCK :{WHITE}{VEHICLE} kann de Wee fir weider ze fueren net fannen STR_NEWS_VEHICLE_IS_LOST :{WHITE}{VEHICLE} ass verluer STR_NEWS_VEHICLE_IS_UNPROFITABLE :{WHITE}Dëm {VEHICLE} säin Profit vum leschten Joer war {CURRENCY_LONG} STR_NEWS_AIRCRAFT_DEST_TOO_FAR :{WHITE}{VEHICLE} kann net op d'nächst Destinatioun kommen, se ass ze wäit ewech STR_NEWS_ORDER_REFIT_FAILED :{WHITE}{VEHICLE} huet gestoppt well eng Optragennerung net geklappt huet -STR_NEWS_VEHICLE_AUTORENEW_FAILED :{WHITE}Fehler beim Autoerneieren vun {VEHICLE}{}{STRING} +STR_NEWS_VEHICLE_AUTORENEW_FAILED :{WHITE}Fehler beim Autoerneieren vum {VEHICLE}{}{STRING} -STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE :{BIG_FONT}{BLACK}Nei {STRING} verfügbar! +STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE :{BIG_FONT}{BLACK}Neie {STRING} verfügbar! STR_NEWS_NEW_VEHICLE_TYPE :{BIG_FONT}{BLACK}{ENGINE} -STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE_WITH_TYPE :{BLACK}Nei {STRING} verfügbar! - {ENGINE} +STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE_WITH_TYPE :{BLACK}Neie/Neit {STRING} verfügbar! - {ENGINE} -STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO :{WHITE}{STATION} acceptéiert {STRING} net méi -STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO_OR_CARGO :{WHITE}{STATION} acceptéiert {STRING} oder {STRING} net méi -STR_NEWS_STATION_NOW_ACCEPTS_CARGO :{WHITE}{STATION} acceptéiert elo {STRING} -STR_NEWS_STATION_NOW_ACCEPTS_CARGO_AND_CARGO :{WHITE}{STATION} acceptéiert elo {STRING} an {STRING} +STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO :{WHITE}{STATION} akzeptéiert {STRING} net méi +STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO_OR_CARGO :{WHITE}{STATION} akzeptéiert {STRING} oder {STRING} net méi +STR_NEWS_STATION_NOW_ACCEPTS_CARGO :{WHITE}{STATION} akzeptéiert elo {STRING} +STR_NEWS_STATION_NOW_ACCEPTS_CARGO_AND_CARGO :{WHITE}{STATION} akzeptéiert elo {STRING} an {STRING} STR_NEWS_OFFER_OF_SUBSIDY_EXPIRED :{BIG_FONT}{BLACK}Subventioun ofgelaaf:{}{}{STRING} vun {STRING} op {STRING} gëtt net méi subventionéiert STR_NEWS_SUBSIDY_WITHDRAWN_SERVICE :{BIG_FONT}{BLACK}Subventioun entzunn:{}{}{STRING} Service vun {STRING} op {STRING} gëtt net méi subventionéiert STR_NEWS_SERVICE_SUBSIDY_OFFERED :{BIG_FONT}{BLACK}Subventioun offréiert:{}{}Eischten {STRING} Service vun {STRING} op {STRING} gëtt mat énger Subventioun vun 1 Joer belount.! -STR_NEWS_SERVICE_SUBSIDY_AWARDED_HALF :{BIG_FONT}{BLACK}Subventioun geet un {STRING}!{}{}{STRING} Service vun {STRING} op {STRING} gëtt nächst Joer mat 50% bezuelt! +STR_NEWS_SERVICE_SUBSIDY_AWARDED_HALF :{BIG_FONT}{BLACK}Subventioun geet un {STRING}!{}{}{STRING} Service vun {STRING} op {STRING} gëtt nächst Joer mat 50% Bonus bezuelt! STR_NEWS_SERVICE_SUBSIDY_AWARDED_DOUBLE :{BIG_FONT}{BLACK}Subventioun geet un {STRING}!{}{}{STRING} Service vun {STRING} op {STRING} gëtt nächst Joer duebel bezuelt! -STR_NEWS_SERVICE_SUBSIDY_AWARDED_TRIPLE :{BIG_FONT}{BLACK}Subventioun geet un {STRING}!{}{}{STRING} Service vun {STRING} op {STRING} gëtt nächst Joer draifach bezuelt! +STR_NEWS_SERVICE_SUBSIDY_AWARDED_TRIPLE :{BIG_FONT}{BLACK}Subventioun geet un {STRING}!{}{}{STRING} Service vun {STRING} op {STRING} gëtt nächst Joer dräifach bezuelt! STR_NEWS_SERVICE_SUBSIDY_AWARDED_QUADRUPLE :{BIG_FONT}{BLACK}Subventioun geet un {STRING}!{}{}{STRING} Service vun {STRING} op {STRING} gëtt nächst Joer mat 400% bezuelt! -STR_NEWS_ROAD_REBUILDING :{BIG_FONT}{BLACK}Trafficchaos an {TOWN}!{}{}Stroosenneibau deen vun {STRING} finanzéiert ginn ass bréngt 6 Méint Misère fir d'Autosfuerer! +STR_NEWS_ROAD_REBUILDING :{BIG_FONT}{BLACK}Trafficchaos an {TOWN}!{}{}Stroossenneibau deen vun {STRING} finanzéiert ginn ass bréngt 6 Méint Misère fir d'Autosfuerer! STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLACK}Transportmonopol! -STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}Lokal Authoritéit vun {TOWN} ënnerschreiwt Kontrakt mat {STRING} fir ee Joër laang exklusiv Transportrechter! +STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}D'Gemeng {TOWN} ënnerschreiwt Kontrakt mat {STRING} fir ee Joer laang exklusiv Transportrechter! # Extra view window -STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Unsicht {COMMA} +STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Usiicht {COMMA} STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Kopéiert op d'Usiicht -STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Kopéiert d'Plaz vun der globaler Usiicht op dës Usiicht -STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Vun der Unsiicht dransetzen +STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Kopéiert d'Plaz vun der globaler Usiicht op des Usiicht +STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Vun der Usiicht drasetzen STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW_TT :{BLACK}Setzt d'Plaz vun dëser Usiicht op déi global Usiicht # Game options window @@ -867,139 +895,142 @@ STR_GAME_OPTIONS_CURRENCY_GBP :Pond (£) STR_GAME_OPTIONS_CURRENCY_USD :Dollar ($) STR_GAME_OPTIONS_CURRENCY_EUR :Euro (€) STR_GAME_OPTIONS_CURRENCY_JPY :Yen (¥) -STR_GAME_OPTIONS_CURRENCY_ATS :Eisträichëschen Schilling (ATS) +STR_GAME_OPTIONS_CURRENCY_ATS :Eisträichesche Schilling (ATS) STR_GAME_OPTIONS_CURRENCY_BEF :Belsch Frang (BEF) STR_GAME_OPTIONS_CURRENCY_CHF :Schwäizer Frang (CHF) -STR_GAME_OPTIONS_CURRENCY_CZK :Tschechësch Kroun (CZK) -STR_GAME_OPTIONS_CURRENCY_DEM :Däitsch Mark (DEM) -STR_GAME_OPTIONS_CURRENCY_DKK :Dänësch Kroun (DKK) +STR_GAME_OPTIONS_CURRENCY_CZK :Tschechesch Kroun (CZK) +STR_GAME_OPTIONS_CURRENCY_DEM :Däitsch Mark (DM) +STR_GAME_OPTIONS_CURRENCY_DKK :Dänesch Kroun (DKK) STR_GAME_OPTIONS_CURRENCY_ESP :Peseten (ESP) -STR_GAME_OPTIONS_CURRENCY_FIM :Finnmark (FIM) -STR_GAME_OPTIONS_CURRENCY_FRF :Franséisch Frang (FRF) +STR_GAME_OPTIONS_CURRENCY_FIM :Finnesch Mark (FIM) +STR_GAME_OPTIONS_CURRENCY_FRF :Franséische Frang (FRF) STR_GAME_OPTIONS_CURRENCY_GRD :Griechësch Drachme (GRD) -STR_GAME_OPTIONS_CURRENCY_HUF :Ungarësch Forint (HUF) -STR_GAME_OPTIONS_CURRENCY_ISK :Isländësch Kroun (ISK) -STR_GAME_OPTIONS_CURRENCY_ITL :Italienësch Lire (ITL) -STR_GAME_OPTIONS_CURRENCY_NLG :Holländësch Gulden (NLG) -STR_GAME_OPTIONS_CURRENCY_NOK :Norwegësch Kroun (NOK) -STR_GAME_OPTIONS_CURRENCY_PLN :Polnësch Zloty (PLN) -STR_GAME_OPTIONS_CURRENCY_RON :Rumänësch Leu (RON) -STR_GAME_OPTIONS_CURRENCY_RUR :Russësch Rubl (RUR) -STR_GAME_OPTIONS_CURRENCY_SIT :Slowenëschen Tolar (SIT) -STR_GAME_OPTIONS_CURRENCY_SEK :Schwedësch Kroun (SEK) -STR_GAME_OPTIONS_CURRENCY_TRY :Türkësch Lire (TRY) -STR_GAME_OPTIONS_CURRENCY_SKK :Slovakësch Kroun (SKK) -STR_GAME_OPTIONS_CURRENCY_BRL :Brasilianësch Real (BRL) -STR_GAME_OPTIONS_CURRENCY_EEK :Estnësch Kroun (EEK) -STR_GAME_OPTIONS_CURRENCY_LTL :Lithauësch Litas (LTL) -STR_GAME_OPTIONS_CURRENCY_KRW :Südkoreanëschen Won (KRW) -STR_GAME_OPTIONS_CURRENCY_ZAR :Südafrikanësche Rand (ZAR) +STR_GAME_OPTIONS_CURRENCY_HUF :Ungaresche Forint (HUF) +STR_GAME_OPTIONS_CURRENCY_ISK :Isländesch Kroun (ISK) +STR_GAME_OPTIONS_CURRENCY_ITL :Italienesch Lire (ITL) +STR_GAME_OPTIONS_CURRENCY_NLG :Holländesche Gulden (NLG) +STR_GAME_OPTIONS_CURRENCY_NOK :Norwegesch Kroun (NOK) +STR_GAME_OPTIONS_CURRENCY_PLN :Polnesch Zloty (PLN) +STR_GAME_OPTIONS_CURRENCY_RON :Rumänesch Leu (RON) +STR_GAME_OPTIONS_CURRENCY_RUR :Russesche Rubel (RUR) +STR_GAME_OPTIONS_CURRENCY_SIT :Sloweneschen Tolar (SIT) +STR_GAME_OPTIONS_CURRENCY_SEK :Schwedesch Kroun (SEK) +STR_GAME_OPTIONS_CURRENCY_TRY :Türkesch Lire (TRY) +STR_GAME_OPTIONS_CURRENCY_SKK :Slovakesch Kroun (SKK) +STR_GAME_OPTIONS_CURRENCY_BRL :Brasilianesche Real (BRL) +STR_GAME_OPTIONS_CURRENCY_EEK :Estnesch Kroun (EEK) +STR_GAME_OPTIONS_CURRENCY_LTL :Litauesch Litas (LTL) +STR_GAME_OPTIONS_CURRENCY_KRW :Südkoreanesche Won (KRW) +STR_GAME_OPTIONS_CURRENCY_ZAR :Südafrikanesche Rand (ZAR) STR_GAME_OPTIONS_CURRENCY_CUSTOM :Eegen... -STR_GAME_OPTIONS_CURRENCY_GEL :Georgëschen Lari (GEL) -STR_GAME_OPTIONS_CURRENCY_IRR :Iranëschen Rial (IRR) +STR_GAME_OPTIONS_CURRENCY_GEL :Georgesche Lari (GEL) +STR_GAME_OPTIONS_CURRENCY_IRR :Iranësche Rial (IRR) ############ end of currency region - -############ start of measuring units region -############ end of measuring units region - -STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Stroossengefierer -STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}Wéi eng Stroossensäit sollen d'Gefierer fueren -STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :Lenks fueren +STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Stroossegefierer +STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}Wéi eng Stroossesäit sollen d'Gefierer fueren +STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :Lénks fueren STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_RIGHT :Riets fueren STR_GAME_OPTIONS_TOWN_NAMES_FRAME :{BLACK}Stiednimm -STR_GAME_OPTIONS_TOWN_NAMES_DROPDOWN_TOOLTIP :{BLACK}Stil vun den Stiednimm wielen +STR_GAME_OPTIONS_TOWN_NAMES_DROPDOWN_TOOLTIP :{BLACK}Stil vun de Stiednimm wielen ############ start of townname region -STR_GAME_OPTIONS_TOWN_NAME_ORIGINAL_ENGLISH :Englësch (Original) +STR_GAME_OPTIONS_TOWN_NAME_ORIGINAL_ENGLISH :Englesch (Original) STR_GAME_OPTIONS_TOWN_NAME_FRENCH :Franséisch STR_GAME_OPTIONS_TOWN_NAME_GERMAN :Däitsch -STR_GAME_OPTIONS_TOWN_NAME_ADDITIONAL_ENGLISH :Englësch (Erweidert) +STR_GAME_OPTIONS_TOWN_NAME_ADDITIONAL_ENGLISH :Englesch (Erweidert) STR_GAME_OPTIONS_TOWN_NAME_LATIN_AMERICAN :Lateinamerikanesch STR_GAME_OPTIONS_TOWN_NAME_SILLY :Blöd -STR_GAME_OPTIONS_TOWN_NAME_SWEDISH :Schwédesch -STR_GAME_OPTIONS_TOWN_NAME_DUTCH :Holländësch -STR_GAME_OPTIONS_TOWN_NAME_FINNISH :Finnësch -STR_GAME_OPTIONS_TOWN_NAME_POLISH :Polnësch -STR_GAME_OPTIONS_TOWN_NAME_SLOVAK :Slovakësch -STR_GAME_OPTIONS_TOWN_NAME_NORWEGIAN :Norwegësch -STR_GAME_OPTIONS_TOWN_NAME_HUNGARIAN :Ungarësch -STR_GAME_OPTIONS_TOWN_NAME_AUSTRIAN :Éisträichësch +STR_GAME_OPTIONS_TOWN_NAME_SWEDISH :Schwedesch +STR_GAME_OPTIONS_TOWN_NAME_DUTCH :Holländesch +STR_GAME_OPTIONS_TOWN_NAME_FINNISH :Finnesch +STR_GAME_OPTIONS_TOWN_NAME_POLISH :Polnesch +STR_GAME_OPTIONS_TOWN_NAME_SLOVAK :Slovakesch +STR_GAME_OPTIONS_TOWN_NAME_NORWEGIAN :Norwegesch +STR_GAME_OPTIONS_TOWN_NAME_HUNGARIAN :Ungaresch +STR_GAME_OPTIONS_TOWN_NAME_AUSTRIAN :Éisträichesch STR_GAME_OPTIONS_TOWN_NAME_ROMANIAN :Rumänesch -STR_GAME_OPTIONS_TOWN_NAME_CZECH :Tschechësch -STR_GAME_OPTIONS_TOWN_NAME_SWISS :Swäitzerësch -STR_GAME_OPTIONS_TOWN_NAME_DANISH :Dänësch -STR_GAME_OPTIONS_TOWN_NAME_TURKISH :Türkësch -STR_GAME_OPTIONS_TOWN_NAME_ITALIAN :Italienësch -STR_GAME_OPTIONS_TOWN_NAME_CATALAN :Katalanësch +STR_GAME_OPTIONS_TOWN_NAME_CZECH :Tschechesch +STR_GAME_OPTIONS_TOWN_NAME_SWISS :Schwäitzer +STR_GAME_OPTIONS_TOWN_NAME_DANISH :Dänesch +STR_GAME_OPTIONS_TOWN_NAME_TURKISH :Türkesch +STR_GAME_OPTIONS_TOWN_NAME_ITALIAN :Italienesch +STR_GAME_OPTIONS_TOWN_NAME_CATALAN :Katalanesch ############ end of townname region STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Autospäicheren STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Wiel den Intervall aus fir d'Autospäicherung +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Aus STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :All Mount STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :All 3 Méint STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :All 6 Méint STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :All 12 Méint +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}Sprooch -STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Wielt d'Interfacesprooch +STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Wielt d'Interfacesprooch aus STR_GAME_OPTIONS_FULLSCREEN :{BLACK}Vollbild STR_GAME_OPTIONS_FULLSCREEN_TOOLTIP :{BLACK}Klick dës Optioun un fir OpenTTD am Vollbild ze spillen STR_GAME_OPTIONS_RESOLUTION :{BLACK}Bildopléisung STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Wielt d'Bildopléisung -STR_GAME_OPTIONS_RESOLUTION_OTHER :Aaneres +STR_GAME_OPTIONS_RESOLUTION_OTHER :Aaner -STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}Screenshotformat -STR_GAME_OPTIONS_SCREENSHOT_FORMAT_TOOLTIP :{BLACK}Wielt de Screenshotformat deen benotzt sollt ginn +STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Interfacegréisst +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Wiel d'Gréisst déi fir den Interface soll benotzt ginn + +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normal +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Duebel +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Véierfach STR_GAME_OPTIONS_BASE_GRF :{BLACK}Basis Grafikset -STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Wielt den Basis Grafikset fir ze benotzen +STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Wielt de Basis Grafikset dee soll benotzt ginn STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} fehlend/korrupt Datei{P "" en} -STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Méi Infos iwwert den Basis Grafikset +STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Méi Infos iwwert de Basis Grafikset -STR_GAME_OPTIONS_BASE_SFX :{BLACK}Basis sounds set -STR_GAME_OPTIONS_BASE_SFX_TOOLTIP :{BLACK}Selectéiert Basis Sound Sets -STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Méi Informatiounen iwwer d'Basis Sound Set +STR_GAME_OPTIONS_BASE_SFX :{BLACK}Basis Soundset +STR_GAME_OPTIONS_BASE_SFX_TOOLTIP :{BLACK}Wiel de Basis Soundset dee soll benotzt ginn +STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Méi Informatiounen iwwer d'Basis Soundset -STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Basis Music Set -STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Selectéiert Basis Musik Set +STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Basis Musikset +STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Wiel de Basis Musikset dee soll benotzt ginn STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} korrupt Datei{P "" en} -STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Méi Informatiounen iwwer d'Basis Musik Set +STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Méi Informatiounen iwwer de Basis Musikset +STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Konnt keng Lëscht vun supportéierten Opléisunge fannen STR_ERROR_FULLSCREEN_FAILED :{WHITE}Fehler beim Vollbild # Custom currency window -STR_CURRENCY_WINDOW :{WHITE}Egen Währung +STR_CURRENCY_WINDOW :{WHITE}Eegen Währung STR_CURRENCY_EXCHANGE_RATE :{LTBLUE}Wiesselkuer: {ORANGE}{CURRENCY_LONG} = £ {COMMA} -STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Setz den Betrag Suen den fir 1 Pond (£) gebraucht gëtt erof -STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Setz den Betrag Suen den fir 1 Pond (£) gebraucht gëtt erop -STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Setzt den Wiesselcours fir deng Währung fir 1 Pond (£) +STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Setz de Betrag Suen dee fir 1 Pond (£) gebraucht gëtt erof +STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Setz de Betrag Suen dee fir 1 Pond (£) gebraucht gëtt erop +STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Setzt de Wiesselcours fir deng Währung fir 1 Pond (£) STR_CURRENCY_SEPARATOR :{LTBLUE}Komma-Stil: {ORANGE}{STRING} -STR_CURRENCY_SET_CUSTOM_CURRENCY_SEPARATOR_TOOLTIP :{BLACK}Setzt den Separateur fir deng Währung +STR_CURRENCY_SET_CUSTOM_CURRENCY_SEPARATOR_TOOLTIP :{BLACK}Setzt de Separateur fir deng Währung STR_CURRENCY_PREFIX :{LTBLUE}Prefix: {ORANGE}{STRING} -STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Setzt den Prefix fir deng Währung +STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Setzt de Prefix fir deng Währung STR_CURRENCY_SUFFIX :{LTBLUE}Suffix: {ORANGE}{STRING} -STR_CURRENCY_SET_CUSTOM_CURRENCY_SUFFIX_TOOLTIP :{BLACK}Setzt den Suffix fir deng Währung +STR_CURRENCY_SET_CUSTOM_CURRENCY_SUFFIX_TOOLTIP :{BLACK}Setzt de Suffix fir deng Währung -STR_CURRENCY_SWITCH_TO_EURO :{LTBLUE}Zum Euro wiesselen: {ORANGE}{NUM} +STR_CURRENCY_SWITCH_TO_EURO :{LTBLUE}Op Euro wiesselen ab: {ORANGE}{NUM} STR_CURRENCY_SWITCH_TO_EURO_NEVER :{LTBLUE}Zum Euro wiesselen: {ORANGE}nie STR_CURRENCY_SET_CUSTOM_CURRENCY_TO_EURO_TOOLTIP :{BLACK}Wielt d'Joer wou op den Euro gewiesselt gëtt STR_CURRENCY_DECREASE_CUSTOM_CURRENCY_TO_EURO_TOOLTIP :{BLACK}Wiessel éischter op den Euro STR_CURRENCY_INCREASE_CUSTOM_CURRENCY_TO_EURO_TOOLTIP :{BLACK}Wiessel méi spéit op den Euro STR_CURRENCY_PREVIEW :{LTBLUE}Prouf: {ORANGE}{CURRENCY_LONG} -STR_CURRENCY_CUSTOM_CURRENCY_PREVIEW_TOOLTIP :{BLACK}10000 Pond (£) an äerer Währung +STR_CURRENCY_CUSTOM_CURRENCY_PREVIEW_TOOLTIP :{BLACK}10000 Pond (£) an denger Währung STR_CURRENCY_CHANGE_PARAMETER :{BLACK}Änner Währungsparameter -STR_DIFFICULTY_LEVEL_SETTING_MAXIMUM_NO_COMPETITORS :{LTBLUE}Maximal Unzuel vun Géigner: {ORANGE}{COMMA} +STR_DIFFICULTY_LEVEL_SETTING_MAXIMUM_NO_COMPETITORS :{LTBLUE}Maximal Unzuel vu Géigner: {ORANGE}{COMMA} STR_NONE :Keng STR_FUNDING_ONLY :Nëmmen finanzéiren @@ -1008,7 +1039,7 @@ STR_NUM_VERY_LOW :Ganz niddreg STR_NUM_LOW :Wéineg STR_NUM_NORMAL :Normal STR_NUM_HIGH :Vill -STR_NUM_CUSTOM :Benotzerdefineiert +STR_NUM_CUSTOM :Benotzerdefinéiert STR_NUM_CUSTOM_NUMBER :Eegen ({NUM}) STR_VARIETY_NONE :Keng @@ -1024,10 +1055,10 @@ STR_AI_SPEED_MEDIUM :Mëttel STR_AI_SPEED_FAST :Séier STR_AI_SPEED_VERY_FAST :Ganz séier -STR_SEA_LEVEL_VERY_LOW :Ganz Wéineg -STR_SEA_LEVEL_LOW :Wéineg +STR_SEA_LEVEL_VERY_LOW :Ganz niddreg +STR_SEA_LEVEL_LOW :Niddreg STR_SEA_LEVEL_MEDIUM :Mëttel -STR_SEA_LEVEL_HIGH :Vill +STR_SEA_LEVEL_HIGH :Héich STR_SEA_LEVEL_CUSTOM :Eegen STR_SEA_LEVEL_CUSTOM_PERCENTAGE :Eegen ({NUM}%) @@ -1049,15 +1080,16 @@ STR_TERRAIN_TYPE_VERY_FLAT :Ganz Flaach STR_TERRAIN_TYPE_FLAT :Flaach STR_TERRAIN_TYPE_HILLY :Hiwwelech STR_TERRAIN_TYPE_MOUNTAINOUS :Bierger +STR_TERRAIN_TYPE_ALPINIST :Alpin -STR_CITY_APPROVAL_PERMISSIVE :Erlaabend +STR_CITY_APPROVAL_PERMISSIVE :Fräizügeg STR_CITY_APPROVAL_TOLERANT :Tolerant STR_CITY_APPROVAL_HOSTILE :Ofleenend -STR_WARNING_NO_SUITABLE_AI :{WHITE}Keng KI fonnt...{}KI kënnen iwwert den 'Online Content' system downgeload gin +STR_WARNING_NO_SUITABLE_AI :{WHITE}Keng KI fonnt...{}KI kënnen iwwert den 'Online Content' system downgeload ginn -# Advanced settings window -STR_CONFIG_SETTING_CAPTION :{WHITE}Erweidert Astellungen +# Settings tree window +STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Astellungen STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Filter-String: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Alles erweideren STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Alles reduzéiren @@ -1072,20 +1104,20 @@ STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :Firmenastellung STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK}Kategorie: STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}Typ: -STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Limitéiert d'Lëscht dass nëmmen geännert Astellungen gewisen ginn -STR_CONFIG_SETTING_RESTRICT_BASIC :Basic Astellungen -STR_CONFIG_SETTING_RESTRICT_ADVANCED :Erweidert Astellungen -STR_CONFIG_SETTING_RESTRICT_ALL :Expertenastellungen / All Astellungen -STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :Astellungen mat engem aneren Wäert wéi den Standardwäert +STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Limitéiert d'Lëscht mat virdefinéierten Filter +STR_CONFIG_SETTING_RESTRICT_BASIC :Basis (nëmmen wichteg Astellungen) +STR_CONFIG_SETTING_RESTRICT_ADVANCED :Erweidert (weist déi meescht Astellungen) +STR_CONFIG_SETTING_RESTRICT_ALL :Expertenastellungen (all Astellungen, och komescher) +STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :Astellungen mat engem aneren Wäert wéi de Standardwäert STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :Astellungen mat engem aneren Wäert wéi d'Neit-Spill-Astellungen STR_CONFIG_SETTING_TYPE_DROPDOWN_HELPTEXT :{BLACK}Beschränkt déi folgend Lëscht op bestëmmten Astellungstypen STR_CONFIG_SETTING_TYPE_DROPDOWN_ALL :All Astellungen STR_CONFIG_SETTING_TYPE_DROPDOWN_CLIENT :Clientastellung (net am Save gespäichert; betrëfft all Spiller) STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :Spillastellungen (am Save gespäichert; betrëfft just nei Spiller) -STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :Spillastellungen (am Save gespäichert; betrëfft just nei Spiller) +STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :Spillastellungen (am Save gespäichert; betrëfft just aktuellt Spill) STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :Firmenastellungen (am Save gespäichert; betrëfft just nei Spiller) -STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :Firmenastellung (am Save gespäichert; betrëfft just déi aktuell Firma) +STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :Firmenastellungen (am Save gespäichert; betrëfft just déi aktuell Firma) STR_CONFIG_SETTING_CATEGORY_HIDES :{BLACK}Weis all Sich-Resultater no der Astellung{}{SILVER}Kategorie {BLACK}bis {WHITE}{STRING} STR_CONFIG_SETTING_TYPE_HIDES :Weis all Sich-Resultater no der Astellung{}{SILVER}Typ {BLACK}bis {WHITE}All Astellungstypen STR_CONFIG_SETTING_CATEGORY_AND_TYPE_HIDES :{BLACK}Weis all Sich-Resultater no der Astellung{}{SILVER}Kategorie {BLACK}bis {WHITE}{STRING} {BLACK}an {SILVER}Typ {BLACK}bis {WHITE}All Astellungstypen @@ -1096,137 +1128,128 @@ STR_CONFIG_SETTING_ON :Un STR_CONFIG_SETTING_DISABLED :ausgeschalt STR_CONFIG_SETTING_COMPANIES_OFF :Aus -STR_CONFIG_SETTING_COMPANIES_OWN :Eegen Firma +STR_CONFIG_SETTING_COMPANIES_OWN :Eege Firma STR_CONFIG_SETTING_COMPANIES_ALL :All Firmen -STR_CONFIG_SETTING_NONE :Keen +STR_CONFIG_SETTING_NONE :Keng STR_CONFIG_SETTING_ORIGINAL :Original -STR_CONFIG_SETTING_REALISTIC :Realistësch +STR_CONFIG_SETTING_REALISTIC :Realistesch STR_CONFIG_SETTING_HORIZONTAL_POS_LEFT :Lénks STR_CONFIG_SETTING_HORIZONTAL_POS_CENTER :Zentréiert STR_CONFIG_SETTING_HORIZONTAL_POS_RIGHT :Riets STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Maximalen Ufanksloun: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Maximalwert den eng Firma kann léinen (ouni Inflatioun matzerechnen) +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Maximalwäert den eng Firma kann léinen (ouni Inflatioun matzerechnen) STR_CONFIG_SETTING_INTEREST_RATE :Zënssaz: {STRING} STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :Zënssaz; kontrolléiert och d'Inflatioun wann ugeschalt -STR_CONFIG_SETTING_RUNNING_COSTS :Betriebskäschten: {STRING} -STR_CONFIG_SETTING_RUNNING_COSTS_HELPTEXT :Fixéier den Niveau vun den Betriebskäschten vun Gefierer an Infrastruktur +STR_CONFIG_SETTING_RUNNING_COSTS :Betribskäschten: {STRING} +STR_CONFIG_SETTING_RUNNING_COSTS_HELPTEXT :Fixéier den Niveau vun de Betribskäschten vu Gefierer an Infrastruktur STR_CONFIG_SETTING_CONSTRUCTION_SPEED :Baugeschwindegkeet: {STRING} -STR_CONFIG_SETTING_CONSTRUCTION_SPEED_HELPTEXT :Limitéier d'Unzuel vun Bauaktiounen fir d'KI +STR_CONFIG_SETTING_CONSTRUCTION_SPEED_HELPTEXT :Limitéier d'Unzuel u Bauaktiounen fir d'KI STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS :Gefierpannen: {STRING} STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS_HELPTEXT :Kontrolléirt wéi oft Gefierer eng Pann hunn déi net ordentlech an der Revisioun waren -STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER :Subsidemultiplikator: {STRING} -STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER_HELPTEXT :Fixéiert wéivill fir subsidéiert Verbindungen bezuelet gëtt +STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER :Subventiounemultiplikator: {STRING} +STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER_HELPTEXT :Fixéiert wéivill fir subsidéiert Verbindunge bezuelt gëtt STR_CONFIG_SETTING_CONSTRUCTION_COSTS :Konstruktiounskäschten: {STRING} -STR_CONFIG_SETTING_CONSTRUCTION_COSTS_HELPTEXT :Bestëmm den Niveau vun Bau- an Kafkäschten +STR_CONFIG_SETTING_CONSTRUCTION_COSTS_HELPTEXT :Bestëmm den Niveau vu Bau- a Kafkäschten STR_CONFIG_SETTING_RECESSIONS :Rezessiounen: {STRING} STR_CONFIG_SETTING_RECESSIONS_HELPTEXT :Wann ugeschalt kann all puer Joer eng Rezessioun kommen. Während enger Rezessioun ass d'Produktioun däitlech méi niddreg (an klëmmt erëm op den alen Niveau no der Rezessioun) -STR_CONFIG_SETTING_TRAIN_REVERSING :Verbidden dass Zich an enger Statioun emdréinen: {STRING} -STR_CONFIG_SETTING_TRAIN_REVERSING_HELPTEXT :Wann ugeschalt kënnen Zich net an Net-Endstatiounen emdréinen, wann en méi kuerzen Wee op d'Destinatioun ass wann en emdréint +STR_CONFIG_SETTING_TRAIN_REVERSING :Den Zich verbidden an enger Statioun emzedréinen: {STRING} +STR_CONFIG_SETTING_TRAIN_REVERSING_HELPTEXT :Wann ugeschalt kënnen Zich net an Net-Terminusen emdréinen, och wann et en méi kuerzen Wee op d'Destinatioun gëtt wann en emdréint STR_CONFIG_SETTING_DISASTERS :Katastrophen: {STRING} -STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Stelle Katastrophen un oder aus déi eventuell Gefierer an Industrien blockéiren oder zerstéiren -STR_CONFIG_SETTING_CITY_APPROVAL :Dem Stadrot seng Astellung zum Embauen vun der Landschaft: {STRING} -STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Wielt aus, wéivill vun der Firma verursachten Kaméidi an Emweltschiedegung sech op d'Stadbewertung auswierkt an op weider Bauaktiounen +STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Stell Katastrophen un oder aus déi eventuell Gefierer an Industrien blockéiren oder zerstéiren +STR_CONFIG_SETTING_CITY_APPROVAL :Dem Stadrot seng Astellung géigeniwwer dem Embau vun der Landschaft: {STRING} +STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Wielt aus, wéivill vun der Firma verursachten Kaméidi an Emweltschiedegung sech op d'Stadbewäertung an op weider Bauaktiounen auswierkt -STR_CONFIG_SETTING_BUILDONSLOPES :Erlaabt d'Bauen op Küsten an op Ofhäng: {STRING} -STR_CONFIG_SETTING_BUILDONSLOPES_HELPTEXT :Wann ugeschalt, kënnen Schinnen an Statiounen op den meeschten Häng gebaut ginn. Wann ausgeschalt, kënnen se just an der Richtung vum Hang gebaut ginn an brauchen dann keen Fundament -STR_CONFIG_SETTING_AUTOSLOPE :Erlaabt Landforumung ënnert Gebaier, Stroossen, etc. (autoslope): {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :Maximal Kaartenhéicht: {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :Setzt déi maximal erlabten Héicht fir Bierger op dëser Kaart +STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}Du kanns d'maximal Kaartenhéischt net op dësen Wäert setzen. Op manst ee Bierg op der Kaart ass méi héich +STR_CONFIG_SETTING_AUTOSLOPE :Erlaabt Landformung ënnert Gebaier, Stroossen, etc.: {STRING} STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Erlaabt Terraintransformatioun ënnert Gebaier an Schinnen ouni dës ewechzehuelen -STR_CONFIG_SETTING_CATCHMENT :Erlaabt méi realistësch Staugréisstplazen: {STRING} -STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Statiounen an Fluchhäfen hunn verschidden grouss Opfanggebidder -STR_CONFIG_SETTING_EXTRADYNAMITE :Erlaabt d'Ewechhuelen vun méi Stroosen, Brécken, etc. vun der Stad: {STRING} +STR_CONFIG_SETTING_CATCHMENT :Erlaabt méi realistësch Einzugsberäicher: {STRING} +STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Statiounen a Fluchhäfen hunn verschidde grouss Einzugsberäicher +STR_CONFIG_SETTING_EXTRADYNAMITE :Erlaabt d'Ewechhuelen vu méi Stroossen, Brécken, etc. vun der Stad: {STRING} STR_CONFIG_SETTING_EXTRADYNAMITE_HELPTEXT :Mach et méi einfach fir Infrastruktur oder Gebaier ewechzehuelen déi enger Stad gehéiren STR_CONFIG_SETTING_TRAIN_LENGTH :Maximal Längt vun Zich: {STRING} STR_CONFIG_SETTING_TRAIN_LENGTH_HELPTEXT :Maximal Längt vun Zich fixéiren STR_CONFIG_SETTING_TILE_LENGTH :{COMMA} Feld{P 0 "" er} -STR_CONFIG_SETTING_SMOKE_AMOUNT :Unzuel vun Gefiererdamp/partikel: {STRING} -STR_CONFIG_SETTING_SMOKE_AMOUNT_HELPTEXT :Fixéiert wéivill Damp oder Funken vun Gefierer ausgestouss ginn +STR_CONFIG_SETTING_SMOKE_AMOUNT :Unzuel vu Gefierdamp/funken: {STRING} +STR_CONFIG_SETTING_SMOKE_AMOUNT_HELPTEXT :Fixéiert wéivill Damp oder Funken vu Gefierer ausgestouss gëtt STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL :Zuchbeschleunegung: {STRING} -STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL_HELPTEXT :Wielt de physësche Modell fir d'Zuchbeschleunegung. Den "Orginalmodell" bestroft Häng fir all Gefierer d'selwëscht. Den "realistëschen" bestroft Häng an Kéiren ofhängeg vun verschiddenen Eegenschaften, wéi Längt an Stärkt vum Gefiert -STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL :Stroossengefier Beschleunigungsmodell: {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL_HELPTEXT :Wielt de physësche Modell fir d'Stroossegefiertbeschleunegung. Den "Orginalmodell" bestroft Häng fir all Gefierer d'selwëscht. Den "realistëschen" bestroft Häng an Kéiren ofhängeg vun verschiddenen Eegenschaften, wéi Längt an Stärkt vum Gefiert +STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL_HELPTEXT :Wielt de physesche Modell fir d'Zuchbeschleunegung. Den "Orginalmodell" bestroft Häng fir all Gefierer d'selwecht. Den "realistëschen" bestroft Häng a Kéiren ofhängeg vu verschiddenen Eegenschaften, wéi Längt an Stäerkt vum Gefier +STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL :Stroossegefier Beschleunegungsmodell: {STRING} +STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL_HELPTEXT :Wielt de physesche Modell fir d'Stroossegefierbeschleunegung. Den "Orginalmodell" bestroft Häng fir all Gefierer d'selwecht. Den "realistëschen" bestroft Häng an Kéiren ofhängeg vu verschiddenen Eegenschaften, wéi Längt a Stäerkt vum Gefier STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS :Hangsteigung fir Zich: {STRING} -STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS_HELPTEXT :Steigung vun engem Hang fir Zich. Méi grouss Wäerter mëscht et méi schwéier den Hang ropzefueren +STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS_HELPTEXT :Steigung vun engem Hang fir Zich. Méi grouss Wäerter mécht et méi schwéier den Hang ropzefueren STR_CONFIG_SETTING_PERCENTAGE :{COMMA}% STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS :Hangsteigung fir Stroossegefierer: {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT :Steigung vun engem Hang fir Stroossegefierer. Méi grouss Werter mëscht et méi schwéier den Hang ropzefueren -STR_CONFIG_SETTING_FORBID_90_DEG :Verbidd Zich an Schëffer fir 90 Grad Kéieren ze maachen: {STRING} -STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90gradkéiren entstinn wann eng horizontal Spur direkt op eng vertikal trëfft, sou dass den Zuch misst ëm 90 Grad dréinen fir op dat nächst Stéck ze kommen, amplaz vun den üblechen 45 Grad. Dëst zielt och fir d'Weeër vun Schëffer +STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT :Steigung vun engem Hang fir Stroossegefierer. Méi grouss Wäerter mécht et méi schwéier den Hang ropzefueren +STR_CONFIG_SETTING_FORBID_90_DEG :Verbidd Zich an Schëffer fir 90°-Kéieren ze maachen: {STRING} +STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90°-Kéieren entsti wann eng horizontal Spur direkt op eng vertikal trëfft, sou dass den Zuch misst ëm 90 Grad dréinen fir op dat nächst Stéck ze kommen, amplaz vun den üblechen 45 Grad. Dëst zielt och fir d'Weeër vu Schëffer STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Erlaabt Statiounen zesummen ze setzen och wann se net direkt uneneen leien: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Erlaabt Statiounsdeeler un eng Statioun unzehenken ouni déi existéiernd Statioun ze beréiren. Ctr+Klick fir déi nei Deeler unzehenken -STR_CONFIG_SETTING_IMPROVEDLOAD :Benotz verbesserten Luedalgorithmus: {STRING} -STR_CONFIG_SETTING_IMPROVEDLOAD_HELPTEXT :Wann ugeschalt, ginn Gefierter déi op enger Statioun warden een nom aneren belueden. D'Belueden fänkt just un, wann genuch Wueren verfügbar sinn fir dat éischt Gefiert ganz ze belueden -STR_CONFIG_SETTING_GRADUAL_LOADING :Lued d'Gefierer schrëttweis: {STRING} -STR_CONFIG_SETTING_GRADUAL_LOADING_HELPTEXT :Gefierter ginn regelméisseg belueden während enger spezifëscher Dauer, amplaz alles beieneen ze lueden mat enger fixer Wardezäit déi vun der Unzuel Wueren ofhänkt STR_CONFIG_SETTING_INFLATION :Inflatioun: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :Erlab Inflatioun an der Economie, wou d'Käschten méi séier klammen wéi d'Bezuelungen -STR_CONFIG_SETTING_SELECTGOODS :Luedung nëmmen ofliwweren wann et gebraucht gëtt: {STRING} -STR_CONFIG_SETTING_SELECTGOODS_HELPTEXT :Liwwer nëmmen Wueren op eng Statioun déi ugefrot gouf vun engem ze beluedenen Gefiert. Dëst verhënnert schlecht Bewertungen fir Wueren déi net vun der Statioun ungeholl ginn STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Maximal Bréckelängt: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Maximal Längt déi eng Bréck dierf hunn +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :Maximal Bréckenhéicht: {STRING} +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :Maximalhéicht fir Brécken ze bauen STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Maximal Tunnellängt: {STRING} STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :Maximal Längt déi en Tunnel dierf hunn -STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Manuel Primär Industriebau Method: {STRING} -STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_HELPTEXT :Method fir eng primär Industrie ze finanzéiren. 'keng' heescht, dass een guer keng kann finanzéiren. 'fördern' bedeit, dass eng nei Industrie gebaut gëtt, op enger zoufällëger Plaz op der Kaart, mee kann och schief goën. 'wéi aner Industrien' bedeit, dass Quellenindustrien kënnen vun Firmen op enger gewënschter Plaz gebaut ginn wéi verschaffend Industrien +STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Manuell Primär Industriebau Method: {STRING} +STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_HELPTEXT :Method fir eng primär Industrie ze finanzéiren. 'keng' heescht, dass een guer keng kann finanzéiren. 'fördern' bedeit, dass eng nei Industrie gebaut gëtt, op enger zoufällëger Plaz op der Kaart, mee kann och schief goën. 'wéi aner Industrien' bedeit, dass Quellenindustrie kënne vu Firmen op enger gewënschter Plaz gebaut ginn wéi verschaffend Industrien STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NONE :Keng STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NORMAL :Wéi aaner Industrien STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_PROSPECTING :Förderung STR_CONFIG_SETTING_INDUSTRY_PLATFORM :Flaacht Land ronderëm Industrien: {STRING} -STR_CONFIG_SETTING_INDUSTRY_PLATFORM_HELPTEXT :Unzuel vun flaachen Felder ronderëm eng Industrie. Dëst garantéiert, dass eidel Felder ronderëm eng Industrie frai bleiwen fir Schinnen etc. ze bauen +STR_CONFIG_SETTING_INDUSTRY_PLATFORM_HELPTEXT :Unzuel vu flaache Felder ronderëm eng Industrie. Dëst garantéiert, dass eidel Felder ronderëm eng Industrie fräi bleiwen fir Schinnen etc. ze bauen STR_CONFIG_SETTING_MULTIPINDTOWN :Erlaabt méi der selwecht Industrien pro Stad: {STRING} STR_CONFIG_SETTING_MULTIPINDTOWN_HELPTEXT :Normalerweis well eng Stad net méi wéi eng Industrie vun all Typ. Mat dëser Astellung erlaabt d'Stad méi Industrien vun dem selwëschten Typ -STR_CONFIG_SETTING_SIGNALSIDE :Weis Signaler: {STRING} +STR_CONFIG_SETTING_SIGNALSIDE :Signaler uweisen: {STRING} STR_CONFIG_SETTING_SIGNALSIDE_HELPTEXT :Wielt opp wéienger Säit vun der Schinn d'Signaler plazéiert ginn STR_CONFIG_SETTING_SIGNALSIDE_LEFT :Lénks STR_CONFIG_SETTING_SIGNALSIDE_DRIVING_SIDE :Op der Fuerersäit STR_CONFIG_SETTING_SIGNALSIDE_RIGHT :Riets -STR_CONFIG_SETTING_SHOWFINANCES :Weis d'Finanzen um Ënn vum Joër: {STRING} +STR_CONFIG_SETTING_SHOWFINANCES :Weis de Bilan um Enn vum Joer: {STRING} STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT :Wann ugeschalt, gëtt eng Fënster um Enn vum Joer gewisen, déi eng einfach Iwwersicht iwwert d'Finanzen vun der Firma erlaabt -STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :Nei Opträg sinn 'non-stop' par defaut: {STRING} +STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :Nei Opträg sinn standardméisseg 'non-stop': {STRING} STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT :Normalerweis stoppt en Gefier op all Statioun op sengem Wee. Wann des Astellung ageschalt ass, bleift et op kenger Statioun stoen bis op seng final Statioun -STR_CONFIG_SETTING_STOP_LOCATION :Nei Zichuerder stoppen par defaut um {STRING} vun der Plate-Form -STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Plaz wou en Zuch par Defaut op enger Gare stoen bleift. 'No um Ufank' bedeit no beim Agangspunkt, 'an der Mëtt' bedeit an der Mëtt vun der Plattform, 'wäit Enn' bedeit wäit ewech vum Agangspunkt. Dëst gëllt fir Standardopträg, individuell Opträg kënnen explizit gesat ginn +STR_CONFIG_SETTING_STOP_LOCATION :Nei Zichuerder stoppen um {STRING} vun der Plattform +STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Plaz wou en Zuch standardméisseg op enger Gare stoe bleift. 'No um Ufank' bedeit no beim Agangspunkt, 'an der Mëtt' bedeit an der Mëtt vun der Plattform, 'wäit Enn' bedeit wäit ewech vum Agangspunkt. Dëst gëllt fir Standardopträg, individuell Opträg kënnen explizit gesat ginn STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :no um Enn STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :an der Mëtt STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :um Enn -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING :Stroossengefiererschlaang (mat Quanteneffekter): {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING_HELPTEXT :Looss Stroossgefierer am Ufank vun engem besaten Stroossestopp waarden, bis se eidel sinn. STR_CONFIG_SETTING_AUTOSCROLL :D'Fënster schwenken wann d'Maus um Rand ass: {STRING} STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Wann ugeschalt, scrollt d'Usiicht wann d'Maus no um Rand vun der Fënster ass STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Ausgeschalt STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT_FULLSCREEN :Haptusiicht, nëmmen Vollbild STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT :Haptusiicht STR_CONFIG_SETTING_AUTOSCROLL_EVERY_VIEWPORT :All Usiicht -STR_CONFIG_SETTING_BRIBE :Erlaabt Bestiechung vun den Gemengen: {STRING} +STR_CONFIG_SETTING_BRIBE :Erlaabt d'Gemengen ze bestiechen: {STRING} STR_CONFIG_SETTING_BRIBE_HELPTEXT :Erlaabt Firmen d'Stad ze bestiechen. Wann et opflitt, kann d'Firma während 6 Méint net mat der Stad agéiren STR_CONFIG_SETTING_ALLOW_EXCLUSIVE :Erlaabt exklusiv Transportrechter ze kafen: {STRING} STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT :Wann eng Firma exklusiv Transportrechter fir eng Stad keeft, kréien géignerësch Statiounen (Passagéier an Wueren) keng Wueren fir e ganzt Joer STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS :Gebaier finanzéiren erlaben: {STRING} -STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS_HELPTEXT :Erlaabt Firmen den Stied Geld ze ginn fir nei Haiser ze bauen +STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS_HELPTEXT :Erlaabt Firmen de Stied Geld ze ginn fir nei Haiser ze bauen STR_CONFIG_SETTING_ALLOW_FUND_ROAD :Erlab Stroossenrenovatiounen ze finanzéiren: {STRING} -STR_CONFIG_SETTING_ALLOW_FUND_ROAD_HELPTEXT :Erlaabt Firmen den Stied Geld ze ginn fir d'Stroossen ze renovéieren an sou den Stroosseverkéier ze sabotéieren -STR_CONFIG_SETTING_ALLOW_GIVE_MONEY :Erlaabt d'Schécken vun Suen un aner Firmen: {STRING} -STR_CONFIG_SETTING_ALLOW_GIVE_MONEY_HELPTEXT :Erlaabt den Transfert vun Geld tëschent Firmen am Multiplayermodus -STR_CONFIG_SETTING_FREIGHT_TRAINS :Gewiichtsmultiplizéirer fir Luedungen fir schwéier Zich: {STRING} -STR_CONFIG_SETTING_FREIGHT_TRAINS_HELPTEXT :Leet den Impakt fest den schwéier Fracht op Zich huet. En méi héijen Wäert bréngt d'Zich éischter un d'Schaffen, speziell bei Bierger +STR_CONFIG_SETTING_ALLOW_FUND_ROAD_HELPTEXT :Erlaabt Firmen de Stied Geld ze ginn fir d'Stroossen ze renovéieren an sou de Stroosseverkéier ze sabotéieren +STR_CONFIG_SETTING_ALLOW_GIVE_MONEY :Erlaabt d'Schécken vu Suen un aner Firmen: {STRING} +STR_CONFIG_SETTING_ALLOW_GIVE_MONEY_HELPTEXT :Erlaabt den Transfert vu Geld tëschent Firmen am Multiplayermodus +STR_CONFIG_SETTING_FREIGHT_TRAINS :Gewiichtsmultiplikator fir Luedunge fir schwéier Zich: {STRING} +STR_CONFIG_SETTING_FREIGHT_TRAINS_HELPTEXT :Leet den Impakt fest dee schwéier Fracht op Zich huet. En méi héije Wäert bréngt d'Zich éischter un d'Schaffen, speziell bei Bierger STR_CONFIG_SETTING_PLANE_SPEED :Fligergeschwindegkeetsfaktor: {STRING} -STR_CONFIG_SETTING_PLANE_SPEED_HELPTEXT :Leet d'relativ Geschwindegkeet vun Fligeren am Verglach mat aneren Gefierer fest, fir d'Akommen vum Transport vun Fligeren ze reduzéiren +STR_CONFIG_SETTING_PLANE_SPEED_HELPTEXT :Leet d'relativ Geschwindegkeet vu Fligeren am Verglach mat anere Gefierer fest, fir d'Akomme vum Transport vu Fligeren ze reduzéiren STR_CONFIG_SETTING_PLANE_SPEED_VALUE :1 / {COMMA} -STR_CONFIG_SETTING_PLANE_CRASHES :Unzuel Fligeraccidenter: {STRING} -STR_CONFIG_SETTING_PLANE_CRASHES_HELPTEXT :Leet d'Chance fir en Fligeraccident fest +STR_CONFIG_SETTING_PLANE_CRASHES :Unzuel Fligerakzidenter: {STRING} +STR_CONFIG_SETTING_PLANE_CRASHES_HELPTEXT :Leet d'Chance fir en Fligerakzident fest STR_CONFIG_SETTING_PLANE_CRASHES_NONE :Keng STR_CONFIG_SETTING_PLANE_CRASHES_REDUCED :Reduzéiert STR_CONFIG_SETTING_PLANE_CRASHES_NORMAL :Normal -STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Erlaabt d'Iwwerfueren vun Stopschëlder op Stroossen vun der Stad: {STRING} -STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Erlaabt d'Bauen vun säitlechen Busarrêten op Stroossen déi der Stad gehéieren -STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Erlaabt d'Iwwerfueren vun Stopschëlder op Stroossen vun der Konkurrenz: {STRING} -STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Erlaabt d'Bauen vun säitlechen Busarrêten op Stroossen déi enger anerer Firma gehéieren -STR_CONFIG_SETTING_ADJACENT_STATIONS :Erlaabt ugrenzent Statiounen: {STRING} -STR_CONFIG_SETTING_ADJACENT_STATIONS_HELPTEXT :Erlaabt verschiddenen Statiounen sech ze beréiren -STR_CONFIG_SETTING_DYNAMIC_ENGINES :E puer NewGRF-Päk aktivéiren: {STRING} -STR_CONFIG_SETTING_DYNAMIC_ENGINES_HELPTEXT :Kompabilitéitsoptioun fir al NewGRFen. Net ausschalten, et sief et weess een genau wat een mëscht +STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Erlaabt d'Iwwerfueren vu Stopschëlder op Stroossen vun der Stad: {STRING} +STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Erlaabt d'Bauen vu säitlechen Busarrêten op Stroossen déi der Stad gehéieren +STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Erlaabt d'Iwwerfueren vu Stopschëlder op Stroossen vun der Konkurrenz: {STRING} +STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Erlaabt d'Bauen vu säitlechen Busarrêten op Stroossen déi enger anerer Firma gehéieren STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Déi Astellung kann net geännert ginn wann et Gefierer gëtt STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Infrastrukturënnerhalt {STRING} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Wann ugeschalt, kaschten Infrastrukturen Ennerhaltskäschten. D'Käschten wuessen iwwerproportional zu der Netzwierkgréisst, an treffen sou grouss Firmen méi wéi klenger @@ -1236,16 +1259,16 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Wann ugeschalt, STR_CONFIG_SETTING_WARN_LOST_VEHICLE :Warnen wann en Gefier verluer ass: {STRING} STR_CONFIG_SETTING_WARN_LOST_VEHICLE_HELPTEXT :Messagen uweisen wann Gefierer keen Wee op hiert Ziel fannen -STR_CONFIG_SETTING_ORDER_REVIEW :Opträg vun den Gefierer nopréifen: {STRING} -STR_CONFIG_SETTING_ORDER_REVIEW_HELPTEXT :Wann ugeschalt, ginn d'Opträg vun Gefierer periodesch kontrolléiert, an e puer evident Fehler ginn mat enger Noriichtenmessage gemellt wann se fonnt ginn +STR_CONFIG_SETTING_ORDER_REVIEW :Opträg vun de Gefierer nopréifen: {STRING} +STR_CONFIG_SETTING_ORDER_REVIEW_HELPTEXT :Wann ugeschalt, ginn d'Opträg vu Gefierer periodesch kontrolléiert, an e puer evident Fehler ginn mat enger Noriichtenmessage gemellt wann se fonnt ginn STR_CONFIG_SETTING_ORDER_REVIEW_OFF :Nee STR_CONFIG_SETTING_ORDER_REVIEW_EXDEPOT :Jo, mee net déi gestoppten Gefierer STR_CONFIG_SETTING_ORDER_REVIEW_ON :Vun allen Gefierer -STR_CONFIG_SETTING_WARN_INCOME_LESS :Warnen wann en Gefiert en negativen Akommes huet: {STRING} +STR_CONFIG_SETTING_WARN_INCOME_LESS :Warnen wann en Gefier en negativt Akommes huet: {STRING} STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT :Wann ugeschalt, gëtt eng Noorichtenmessage gesent , wann en Gefier een Joer laang keen Profit gemeet huet STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Gefierer lafen nie of: {STRING} -STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Wann ugeschalt, bleiwen all Modeller vun Gefierer éiweg verfügbar -STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Gefiert automatesch ernéieren wann ët aal gët: {STRING} +STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Wann ugeschalt, bleiwen all Modeller vu Gefierer éiweg verfügbar +STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Gefier automatesch ernéieren wann et al gëtt: {STRING} STR_CONFIG_SETTING_AUTORENEW_VEHICLE_HELPTEXT :Wann ugeschalt, gëtt e Gefier wat un säin Lafzäitenn kënnt, automatesch ausgetosch STR_CONFIG_SETTING_AUTORENEW_MONTHS :Automatesch erneieren wann d'Gefier maximal {STRING} Joer al ass STR_CONFIG_SETTING_AUTORENEW_MONTHS_HELPTEXT :Relativen Alter wann en Gefier an Fro kennt fir auto-erneiert ze ginn @@ -1257,59 +1280,73 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :Dauer vun der F STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Zäit déi eng Feelermeldung an enger rouder Fënster ugewisen gëtt. E puer kritesch Meldungen ginn net zougemeet STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{COMMA} Sekonn{P 0 "" en} STR_CONFIG_SETTING_HOVER_DELAY :Weis Tooltips: {STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Verzögerung bis d'Tooltips ugewisen ginn, wann een mat der Maus iwwert en Element geet. Alternativ kënnen d'Tooltips och op d'riets Maustast geluet ginn -STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Fir {COMMA} Sekonn{P 0 "" en} dropbleiwen +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Verzögerung bis d'Tooltips ugewisen ginn, wann een mat der Maus iwwert en Element geet. Alternativ kënnen d'Tooltips och op d'riets Maustast geluet ginn wann dësen Wäert op 0 gesat gouf. +STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Fir {COMMA} Millisekonn{P 0 "" en} dropbleiwen STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Rietsklick -STR_CONFIG_SETTING_POPULATION_IN_LABEL :Weist Awunner am Numm vun der Stad: {STRING} -STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Weis d'Awunnerzuel vun Stied an deenen hirem Label un op der Kaart -STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Déckt vunn de Linnen vun den Graphen: {STRING} -STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Breed vun den Linnen an den Grafiken. Eng dënn Linn kann méi präzis gelies ginn, eng méi déck kann besser gesinn ginn an d'Faarwen sinn besser ze ënnerscheeden +STR_CONFIG_SETTING_POPULATION_IN_LABEL :Weis d'Awunnerzuel am Numm vun der Stad: {STRING} +STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Weis d'Awunnerzuel vu Stied an deenen hirem Label un op der Kaart +STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Déckt vun de Linnen vun de Grafiken: {STRING} +STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Breed vun de Linnen an de Grafiken. Eng dënn Linn kann méi präzis gelies ginn, eng méi déck kann besser gesinn ginn an d'Faarwen sinn besser ze ënnerscheeden +STR_CONFIG_SETTING_LANDSCAPE :Landschaft: {STRING} +STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Landschaften definéiren basis Spillszenarien mat verschiddenen Wueren an Stiedwuesstumviraussetzungen. NewGRF an Gamescripter erlaben méi fein Astellungen. STR_CONFIG_SETTING_LAND_GENERATOR :Landgenerator: {STRING} +STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :Den original Generator henkt vum basis Grafikset of, an erstellt fixéiert Landschaftstypen. TerraGenesis ass en op Perlin noise baséierten Generator mat méi feinen Astellungen. STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Original STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis +STR_CONFIG_SETTING_TERRAIN_TYPE :Terraintyp: {STRING} +STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(Nëmmen TerraGenesis) Hiwwelegkeet vun der Landschaft +STR_CONFIG_SETTING_INDUSTRY_DENSITY :Industriedicht: {STRING} +STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Definéiert wéivill Industrien generéiert sollen ginn an wéivill der während dem Spill sollen behalen ginn. STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Maximal Distanz vum Kaartenenn bis zu enger Uelegraffinerie: {STRING} STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Uelëgraffinerien ginn nëmmen um Rand gebaut, dat ass un der Küst fir Inselkaarten STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Schnéigrenz Héicht: {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Knubbelegkeet vum terrain (nëmmen TerraGenesis) : {STRING} +STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Kontrolléiert ab welcher Héicht de Schnéi ufenkt an der subarktëscher Landschaft. Schnéi affektéiert och Industriegeneratioun an de Wuesstum vu Stied. +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Knubbelegkeet vum Terrain (nëmmen TerraGenesis) : {STRING} +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(Nëmmen TerraGenesis) Wiel d'Heefegkeet vun Hiwwelen: Mëll Landschafter hunn manner, breed verdeelten Hiwwelen. Rau Landschaften hunn méi Bierger déi repetitiv ausgesinn kënnen. STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Ganz Flaach STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Flaach STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Fielseg STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Ganz Fielseg +STR_CONFIG_SETTING_VARIETY :Vielfaltverdeelung: {STRING} +STR_CONFIG_SETTING_VARIETY_HELPTEXT :(Nëmmen TerraGenesis) Kontrolléiert op d'Kaart flaach Stécker an och Bierger huet. Wëll dëst d'Kaart méi flaach mécht, sollen aner Astellungen op Bierger gesat ginn +STR_CONFIG_SETTING_RIVER_AMOUNT :Unzuel Flëss: {STRING} +STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Wiel wéivill Flëss generéiert ginn STR_CONFIG_SETTING_TREE_PLACER :Baamplanzalgorithmus: {STRING} +STR_CONFIG_SETTING_TREE_PLACER_HELPTEXT :Wiel d'Verdeelung vun de Beem op der Kaart: 'Orginal' setzt d'Beem uniform verspreet, 'Verbessert' setzt se an Gruppen STR_CONFIG_SETTING_TREE_PLACER_NONE :Keen STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :Original STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :Verbessert +STR_CONFIG_SETTING_ROAD_SIDE :Stroossegefierer: {STRING} +STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :Wiel d'Säit op där gefuer gëtt STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Héichtenkaartrotatioun: {STRING} STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Géint d'Auer STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Matt der Auer STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :Héichtenintervall den eng flaach Szenariokaart kritt: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :Erdëmformung vun Felder um Kaartenrand erlaaben: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES_HELPTEXT :Wann ausgeschalt, sinn d'Ränner ëmmer Ozean STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}Een oder méi Felder um nördlechsten Rand sinn net eidel STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}Een oder méi Felder op engem Eck sinn keen Waasser -STR_CONFIG_SETTING_STATION_SPREAD :Maximal Ausdehnung vun Statiounen: {STRING} +STR_CONFIG_SETTING_STATION_SPREAD :Maximal Ausdehnung vu Statiounen: {STRING} STR_CONFIG_SETTING_STATION_SPREAD_HELPTEXT :Maximal Distanz déi eenzel Statiounsdeeler dierfen auseneenleien. Méi héich Wäerter maachen d'Spill méi lues -STR_CONFIG_SETTING_SERVICEATHELIPAD :Automatesch Maintenance vun Helicopteren: {STRING} +STR_CONFIG_SETTING_SERVICEATHELIPAD :Automatesch Maintenance vun Helikopteren: {STRING} STR_CONFIG_SETTING_SERVICEATHELIPAD_HELPTEXT :Schéck Helikopter no all Landung an d'Revisioun, och wann keen Schapp um Fluchhafen ass -STR_CONFIG_SETTING_LINK_TERRAFORM_TOOLBAR :Landschaft-Toolbar op Zuch/Stroos/Schëff/Fluchhafen-Toolbar linken: {STRING} +STR_CONFIG_SETTING_LINK_TERRAFORM_TOOLBAR :Landschaft-Toolbar op Zuch/Strooss/Schëff/Fluchhafen-Toolbar linken: {STRING} STR_CONFIG_SETTING_LINK_TERRAFORM_TOOLBAR_HELPTEXT :Wann eng Toolbar fir Konstruktiounen opgemeet gëtt, gëtt och d'Toolbar fir d'Terrainverännerung opgemeet STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR :Landfaarf déi op der klénger Kaart benotzt get: {STRING} STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_HELPTEXT :Faarf vum Terrain vun der klenger Kaart STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_GREEN :Gréng STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :Donkelgréng -STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :Moof -STR_CONFIG_SETTING_REVERSE_SCROLLING :Deen aneren Wee scrollen: {STRING} +STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :Mof +STR_CONFIG_SETTING_REVERSE_SCROLLING :Deen anere Wee scrollen: {STRING} STR_CONFIG_SETTING_REVERSE_SCROLLING_HELPTEXT :Verhalen beim Scrollen vun der Kaart mat der rietser Maustast. Wann ausgeschalt, beweegt d'Maus d'Kamera. Wann ugeschalt, beweegt d'Maus d'Kaart -STR_CONFIG_SETTING_SMOOTH_SCROLLING :Feinen Scrolling: {STRING} +STR_CONFIG_SETTING_SMOOTH_SCROLLING :Feine Scrolling: {STRING} STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Kontrolléiert wéi d'Haptusiicht op eng bestëmmten Positioun scrollt, wann een op déi kléng Kaart klickt oder en Befehl fir ob en spezifescht Objet ze scrollen gëtt. Wann ugeschalt, gëtt bis dohin gescrollt, wann ausgeschalt, spréngt d'Vue op den Zielobjet -STR_CONFIG_SETTING_MEASURE_TOOLTIP :Weis en Mooss-Tooltip wann verschidden Bau-Tools benotzt ginn: {STRING} +STR_CONFIG_SETTING_MEASURE_TOOLTIP :Weis en Mooss-Tooltip wann verschidde Bau-Tools benotzt ginn: {STRING} STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT :Weis Felderdistanzen an Héichtenënnerscheed beim Zéien während dem Bauen un -STR_CONFIG_SETTING_LIVERIES :Weis Firmentracht: {STRING} -STR_CONFIG_SETTING_LIVERIES_HELPTEXT :Definéiert de Gebrauch vun gefierspezifesch Lackéiren fir Gefierer (am Géigensaz zu firmenspezifëschen Lackéiren) +STR_CONFIG_SETTING_LIVERIES :Weis Faarwen je no Gefiertyp: {STRING} +STR_CONFIG_SETTING_LIVERIES_HELPTEXT :Definéiert de Gebrauch vu gefierspezifesch Lackéirungen fir Gefierer (am Géigensaz zu firmenspezifëschen Lackéirungen) STR_CONFIG_SETTING_LIVERIES_NONE :Keng -STR_CONFIG_SETTING_LIVERIES_OWN :Eegen Firma +STR_CONFIG_SETTING_LIVERIES_OWN :Eege Firma STR_CONFIG_SETTING_LIVERIES_ALL :All Firmen STR_CONFIG_SETTING_PREFER_TEAMCHAT :Preferéier Teamchat mat : {STRING} STR_CONFIG_SETTING_PREFER_TEAMCHAT_HELPTEXT :Wiessel d'Firmen-intern Chat-Tast an Effentlechen-Chat op resp. @@ -1318,14 +1355,14 @@ STR_CONFIG_SETTING_SCROLLWHEEL_SCROLLING_HELPTEXT :Schalt d'Scroll STR_CONFIG_SETTING_SCROLLWHEEL_ZOOM :Kaart Zoomen STR_CONFIG_SETTING_SCROLLWHEEL_SCROLL :Kaart Scrollen STR_CONFIG_SETTING_SCROLLWHEEL_OFF :Aus -STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER :Map Scrollrad Geschw. : {STRING} -STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER_HELPTEXT :Kontrolléier d'Sensitivitéit vum Mausrad-scrollen +STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER :Geschw. vum Scrollrad op der Kaart : {STRING} +STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER_HELPTEXT :Kontrolléier d'Sensibilitéit vum scrollen mam Mausrad STR_CONFIG_SETTING_OSK_ACTIVATION :Onscreen-Tastatur: {STRING} STR_CONFIG_SETTING_OSK_ACTIVATION_HELPTEXT :Wiel d'Method fir d'Onscreentastatur unzeman fir Text an eng Textbox ze schreiwen andems just eng Maus benotzt gëtt. Dëst as geduet fir kleng Geräter ouni richteg Tastatur STR_CONFIG_SETTING_OSK_ACTIVATION_DISABLED :Ausgeschalt STR_CONFIG_SETTING_OSK_ACTIVATION_DOUBLE_CLICK :Duebelklick -STR_CONFIG_SETTING_OSK_ACTIVATION_SINGLE_CLICK_FOCUS :Een Klick (wann fokusséiert) -STR_CONFIG_SETTING_OSK_ACTIVATION_SINGLE_CLICK :Een Klick (direkt) +STR_CONFIG_SETTING_OSK_ACTIVATION_SINGLE_CLICK_FOCUS :Ee Klick (wann fokusséiert) +STR_CONFIG_SETTING_OSK_ACTIVATION_SINGLE_CLICK :Ee Klick (direkt) STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU :Rietsklickemulatioun: {STRING} STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_HELPTEXT :Wiel d'Method aus fir déi riets Maustast ze emuléiren @@ -1336,143 +1373,141 @@ 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_AUTOSAVE :Autospäicheren: {STRING} +STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Setz den Interval tëschend automateschen Späicherstänn + STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Benotz {STRING} Datumsformat fir Späichernimm STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Format vum Datum am Numm vum Späicherstand -STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :laang (31ten Dez 2008) -STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :kuerz (31-12-2008) +STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :laangen (31ten Dez 2008) +STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :kuerzen (31-12-2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE :Standard Palette fir NewGRFen déi keng spezifësch Palette hunn: {STRING} -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_HELPTEXT :Standardpalette fir NewGRFen déi net definéiert hunn wéi eng se brauchen -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_DOS :Standard (D) Palette -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_WIN :Aal (W) Palette - -STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Automatesch Pausen beim Start vun enger neier Partie: {STRING} +STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Paus d'Spill beim Start vun enger neier Partie: {STRING} STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :Wann ugeschalt, pauséiert d'Spill automatesch wann en neit Spill gestart gëtt, wat erlaabt d'Kaart besser ze studéieren -STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Wann Paus ass, erlab: {STRING} -STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_HELPTEXT :Wielt aus, wat kann gemeet wann d'Spill pauséiert gouf +STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Wa Paus ass, erlab: {STRING} +STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_HELPTEXT :Wielt aus, wat kann gemeet ginn wann d'Spill pauséiert gouf STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :Keng Aktiounen STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :All Net-Bauaktiounen STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :All ausser Landëmformungen STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_ACTIONS :All Aktiounen -STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Benotzt d'erweidert Gefiererlëscht: {STRING} +STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Benotz Gruppen an der Gefierlëscht: {STRING} STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Schalt d'erweidert Gefiererlëscht un fir Gefierer ze gruppéieren -STR_CONFIG_SETTING_LOADING_INDICATORS :Weist den Luedstatus un: {STRING} -STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Wielt aus, ob Luedindikatoren iwwert engem Gefier ugewisen ginn oder net, wann et belueden gëtt -STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Weis de Zäitplang an Intervallen amplaz vun Deeg: {STRING} +STR_CONFIG_SETTING_LOADING_INDICATORS :Weist de Luedstatus un: {STRING} +STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Wielt aus, ob Luedindikatoren iwwert engem Gefier ugewise ginn oder net, wann et beluede gëtt +STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Weis den Zäitplang an Ticken amplaz vun Deeg: {STRING} STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT :Weist d'Transportdauer an der Zäittafel als Gameticks un, amplaz an Deeg -STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE :Weis Arrivée an Départ am Zaitplang un: {STRING} +STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE :Weis Arrivée an Départ am Zäitplang un: {STRING} STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT :Weis d'geplangten Departen an Arrivéeën an der Zäittafel un -STR_CONFIG_SETTING_QUICKGOTO :Schnellkreatiounvun Gefieropträg: {STRING} +STR_CONFIG_SETTING_QUICKGOTO :Schnellkreatioun vu Gefieropträg: {STRING} STR_CONFIG_SETTING_QUICKGOTO_HELPTEXT :Wiel den 'géi op Zeiger' un, wann d'Optragsfënster opgemeet gëtt STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE :Standard Schinnentyp (no neiem Spill/geluedenem Spill): {STRING} -STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_HELPTEXT :Schinnentyp den gewielt gëtt nom starten oder lueden vun engem Spill. 'éischt verfügbar' wielt den eelsten Typ Schinnen, 'lescht verfügbar' wielt den neisten Typ Schinnen, an 'meescht gebraucht' wielt den Typ den grad am meeschten gebraucht gëtt -STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_FIRST :Ëischt verfügbar +STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_HELPTEXT :Schinnentyp de gewielt gëtt nom starten oder luede vun engem Spill. 'éischt verfügbar' wielt den eelsten Typ Schinnen, 'lescht verfügbar' wielt den neisten Typ Schinnen, an 'meescht gebraucht' wielt den Typ de grad am meeschten gebraucht gëtt +STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_FIRST :Eischt verfügbar STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_LAST :Läscht verfügbar STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_MOST_USED :Meescht benotzten -STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :Weis reservéiert Strecken: {STRING} +STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :Weis de reservéierte Wee op de Schinnen: {STRING} STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION_HELPTEXT :Fierf reservéiert Schinnen an enger anerer Faarf fir engem ze hëllefen wann Zich refuséieren fir an Wee-baséiert Bléck ze fueren STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Bau-Tools nom Gebrauch aktiv loossen: {STRING} STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Looss d'Bauoptiounen fir Brécken, Tunnelen etc. nom Gebrauch op STR_CONFIG_SETTING_EXPENSES_LAYOUT :Ausgaben vun der Firma an der Finanzfënster gruppéiren: {STRING} -STR_CONFIG_SETTING_EXPENSES_LAYOUT_HELPTEXT :Definéiert den Layout fir d'Firmenausgabenfënster +STR_CONFIG_SETTING_EXPENSES_LAYOUT_HELPTEXT :Definéiert de Layout fir d'Firmenausgabefënster STR_CONFIG_SETTING_SOUND_TICKER :Newsticker: {STRING} STR_CONFIG_SETTING_SOUND_TICKER_HELPTEXT :Spill Sound of fir resuméiert Neiegkeeten STR_CONFIG_SETTING_SOUND_NEWS :Zeitung: {STRING} STR_CONFIG_SETTING_SOUND_NEWS_HELPTEXT :Spill Soundeffekt of wann eng Zeitung rauskënnt STR_CONFIG_SETTING_SOUND_NEW_YEAR :Enn vum Joer: {STRING} -STR_CONFIG_SETTING_SOUND_NEW_YEAR_HELPTEXT :Spill Soundeffekt of um Enn vum Joer, wann d'Performance vund er Firma resuméiert am Verglach mam Viirjoer +STR_CONFIG_SETTING_SOUND_NEW_YEAR_HELPTEXT :Spill Soundeffekt of um Enn vum Joer, wann d'Performance vun der Firma resuméiert gëtt am Verglach mam Viirjoer STR_CONFIG_SETTING_SOUND_CONFIRM :Konstruktioun: {STRING} -STR_CONFIG_SETTING_SOUND_CONFIRM_HELPTEXT :Spill Soundeffekter of wann Konstruktiounen an aner Aktiounen ausgefouert goufen +STR_CONFIG_SETTING_SOUND_CONFIRM_HELPTEXT :Spill Soundeffekter of wa Konstruktiounen an aner Aktiounen ausgefouert goufen STR_CONFIG_SETTING_SOUND_CLICK :Kneppercherklicks: {STRING} -STR_CONFIG_SETTING_SOUND_CLICK_HELPTEXT :Beep beim Klicken vun Kneppercher -STR_CONFIG_SETTING_SOUND_DISASTER :Katastrophen/Accidenter: {STRING} -STR_CONFIG_SETTING_SOUND_DISASTER_HELPTEXT :Spill Soundeffekter vun Accidenter an Katastrophen of +STR_CONFIG_SETTING_SOUND_CLICK_HELPTEXT :Beep beim Klicken vu Kneppercher +STR_CONFIG_SETTING_SOUND_DISASTER :Katastrophen/Akzidenter: {STRING} +STR_CONFIG_SETTING_SOUND_DISASTER_HELPTEXT :Spill Soundeffekter vun Akzidenter a Katastrophen of STR_CONFIG_SETTING_SOUND_VEHICLE :Gefierer: {STRING} -STR_CONFIG_SETTING_SOUND_VEHICLE_HELPTEXT :Spill Soundeffekter vun Gefierer of +STR_CONFIG_SETTING_SOUND_VEHICLE_HELPTEXT :Spill Soundeffekter vu Gefierer of STR_CONFIG_SETTING_SOUND_AMBIENT :Ambiance: {STRING} STR_CONFIG_SETTING_SOUND_AMBIENT_HELPTEXT :Spillt Ambience Soundeffekter vun der Landschaft, Industrien an Stied of STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING :Gebai ausschalten wann keng passend Gefierer verfügbar sinn: {STRING} STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING_HELPTEXT :Wann ugeschalt, ass d'Infrastruktur just verfügbar, wann och Gefierer verfügbar sinn, fir dass keen Geld an keng Zäit verschwend gëtt, sënnlos Infrastrukturen ze bauen -STR_CONFIG_SETTING_MAX_TRAINS :Max Zich pro Firma: {STRING} +STR_CONFIG_SETTING_MAX_TRAINS :Maximum un Zich pro Firma: {STRING} STR_CONFIG_SETTING_MAX_TRAINS_HELPTEXT :Maximal Unzuel un Zich déi eng Firma kann hunn -STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :Max Stroossengefierer pro Firma: {STRING} -STR_CONFIG_SETTING_MAX_ROAD_VEHICLES_HELPTEXT :Maximal Unzuel un Gefierer déi eng Firma kann hunn -STR_CONFIG_SETTING_MAX_AIRCRAFT :Max Fligeren pro Firma: {STRING} -STR_CONFIG_SETTING_MAX_AIRCRAFT_HELPTEXT :Maximal Unzuel un Fligeren déi eng Firma kann hunn -STR_CONFIG_SETTING_MAX_SHIPS :Max Schëffer pro Firma: {STRING} -STR_CONFIG_SETTING_MAX_SHIPS_HELPTEXT :Maximal Unzuel un Schëffer déi eng Firma kann hunn +STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :Maximum un Stroossegefierer pro Firma: {STRING} +STR_CONFIG_SETTING_MAX_ROAD_VEHICLES_HELPTEXT :Maximal Unzuel u Gefierer déi eng Firma kann hunn +STR_CONFIG_SETTING_MAX_AIRCRAFT :Maximum un Fligeren pro Firma: {STRING} +STR_CONFIG_SETTING_MAX_AIRCRAFT_HELPTEXT :Maximal Unzuel u Fligeren déi eng Firma kann hunn +STR_CONFIG_SETTING_MAX_SHIPS :Maximum u Schëffer pro Firma: {STRING} +STR_CONFIG_SETTING_MAX_SHIPS_HELPTEXT :Maximal Unzuel u Schëffer déi eng Firma kann hunn -STR_CONFIG_SETTING_AI_BUILDS_TRAINS :Zich fir den Computer ausschalten: {STRING} -STR_CONFIG_SETTING_AI_BUILDS_TRAINS_HELPTEXT :Wann dës Astellung ugeschalt ass, kann en Computergéigner keng Zich bauen -STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES :Stroossengefierer fir den Computer ausschalten: {STRING} -STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES_HELPTEXT :Wann dës Astellung ugeschalt ass, kann en Computergéigner keng Gefierer bauen -STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT :Fligeren fir den Computer ausschalten: {STRING} -STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT_HELPTEXT :Wann dës Astellung ugeschalt ass, kann en Computergéigner keng Fligeren bauen -STR_CONFIG_SETTING_AI_BUILDS_SHIPS :Schëffer fir den Computer ausschalten: {STRING} -STR_CONFIG_SETTING_AI_BUILDS_SHIPS_HELPTEXT :Wann dës Astellung ugeschalt ass, kann en Computergéigner keng Schëffer bauen +STR_CONFIG_SETTING_AI_BUILDS_TRAINS :Zich fir de Computer ausschalten: {STRING} +STR_CONFIG_SETTING_AI_BUILDS_TRAINS_HELPTEXT :Wann des Astellung ugeschalt ass, kann e Computergéigner keng Zich bauen +STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES :Stroossegefierer fir de Computer ausschalten: {STRING} +STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES_HELPTEXT :Wann des Astellung ugeschalt ass, kann e Computergéigner keng Gefierer bauen +STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT :Fligeren fir de Computer ausschalten: {STRING} +STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT_HELPTEXT :Wann des Astellung ugeschalt ass, kann e Computergéigner keng Fligeren bauen +STR_CONFIG_SETTING_AI_BUILDS_SHIPS :Schëffer fir de Computer ausschalten: {STRING} +STR_CONFIG_SETTING_AI_BUILDS_SHIPS_HELPTEXT :Wann des Astellung ugeschalt ass, kann e Computergéigner keng Schëffer bauen STR_CONFIG_SETTING_AI_PROFILE :Standard Astellungsprofil: {STRING} -STR_CONFIG_SETTING_AI_PROFILE_HELPTEXT :Wielt aus wellechen Astellungsprofil benotzt gëtt fir d'zoufälleg KI oder fir Ufankswerter wann eng nei KI oder Spillscript ugeschalt gëtt +STR_CONFIG_SETTING_AI_PROFILE_HELPTEXT :Wielt aus wellechen Astellungsprofil benotzt gëtt fir d'zoufälleg KI oder fir Ufankswäerter wann eng nei KI oder Spillscript ugeschalt ginn STR_CONFIG_SETTING_AI_PROFILE_EASY :Einfach STR_CONFIG_SETTING_AI_PROFILE_MEDIUM :Normal STR_CONFIG_SETTING_AI_PROFILE_HARD :Schwéier STR_CONFIG_SETTING_AI_IN_MULTIPLAYER :Erlaabt KI am Multiplayer: {STRING} -STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Erlaabt Computergéigner an Multiplayer Spiller matzeman -STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :#opcodes befier den Script suspendéiert gëtt: {STRING} -STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Maximal Unzuel un Rechenschrëtt déi en Script kann an engem Tuer man +STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Erlaabt Computergéigner a Multiplayer Spiller matzeman +STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :#opcodes befier de Script suspendéiert gëtt: {STRING} +STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Maximal Unzuel u Rechenschrëtt déi e Script kann an engem Tuer man -STR_CONFIG_SETTING_SERVINT_ISPERCENT :Revisiounsintervallen an Prozenter: {STRING} -STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Wiel op eng Revisioun ausgeléist durch Zäit déi säit der leschter Revisioun vergangen ass oder well Zouverlessëgkeet en gewëssen Prozentsaz vun der maximaler Zouverlässëgkeet erofgaang ass +STR_CONFIG_SETTING_SERVINT_ISPERCENT :Revisiounsintervallen a Prozenter: {STRING} +STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Wiel op eng Revisioun ausgeléist gëtt durch Zäit déi säit der leschter Revisioun vergangen ass oder well Zouverlessëgkeet en gewëssen Prozentsaz vun der maximaler Zouverlässëgkeet erofgaang ass STR_CONFIG_SETTING_SERVINT_TRAINS :Standard Revisiounsintervall fir Zich: {STRING} -STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Definéiert den Standardrevisiounsintervall fir nei Zich, wann keen expliziten Revisiounsintervall uginn ass -STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA} D{P 0 ag eeg}/% +STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Definéiert de Standardrevisiounsintervall fir nei Zich, wann keen expliziten Revisiounsintervall uginn ass +STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}D{P 0 ag eeg}/% STR_CONFIG_SETTING_SERVINT_DISABLED :Ausgeschalt STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES :Standard Revisiounsintervall fir Gefierer: {STRING} -STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES_HELPTEXT :Definéiert den Standardrevisiounsintervall fir nei Gefierer, wann keen spezifëschen Revisiounsintervall uginn ass +STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES_HELPTEXT :Definéiert de Standardrevisiounsintervall fir nei Gefierer, wann keen spezifëschen Revisiounsintervall uginn ass STR_CONFIG_SETTING_SERVINT_AIRCRAFT :Standard Revisiounsintervall fir Fligeren: {STRING} -STR_CONFIG_SETTING_SERVINT_AIRCRAFT_HELPTEXT :Definéiert den Standardrevisiounsintervall fir nei Fligeren, wann keen expliziten Revisiounsintervall uginn ass +STR_CONFIG_SETTING_SERVINT_AIRCRAFT_HELPTEXT :Definéiert de Standardrevisiounsintervall fir nei Fligeren, wann keen expliziten Revisiounsintervall uginn ass STR_CONFIG_SETTING_SERVINT_SHIPS :Standard Revisiounsintervall fir Schëffer: {STRING} -STR_CONFIG_SETTING_SERVINT_SHIPS_HELPTEXT :Definéiert den Standardrevisiounsintervall fir nei Schëffer, wann keen expliziten Revisiounsintervall uginn ass +STR_CONFIG_SETTING_SERVINT_SHIPS_HELPTEXT :Definéiert de Standardrevisiounsintervall fir nei Schëffer, wann keen expliziten Revisiounsintervall uginn ass STR_CONFIG_SETTING_NOSERVICE :Revisiounen ausschalten wann Pannen op "Keng" gestallt sinn: {STRING} -STR_CONFIG_SETTING_NOSERVICE_HELPTEXT :Wann ugeschalt, ginn Gefierer net an d'Revisioun geschéckt, wann se keng Pann kënnen kréien +STR_CONFIG_SETTING_NOSERVICE_HELPTEXT :Wann ugeschalt, ginn Gefierer net an d'Revisioun geschéckt, wann se keng Pann kënne kréien STR_CONFIG_SETTING_WAGONSPEEDLIMITS :Geschwindegkeetsbegrenzungen fir Waggonen: {STRING} STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT :Wann ugeschalt, benotz och Geschwindegkeetslimitatiounen fir Waggonen fir d'maximal Geschwindegkeet vun engem Zuch ze definéiren -STR_CONFIG_SETTING_DISABLE_ELRAILS :Elecktreschschinnen ausschalten: {STRING} -STR_CONFIG_SETTING_DISABLE_ELRAILS_HELPTEXT :Wann dës Astellung ugeschalt ass, ginn keng elektresch Schinnen gebrauch fir mat elektreschen Zich ze fueren +STR_CONFIG_SETTING_DISABLE_ELRAILS :Elektreschschinnen ausschalten: {STRING} +STR_CONFIG_SETTING_DISABLE_ELRAILS_HELPTEXT :Wann dës Astellung ugeschalt ass, ginn keng elektresch Schinnen gebraucht fir mat elektreschen Zich ze fueren -STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OWN :Ukonft vum éischten Gefiert op enger Spillerstatioun: {STRING} +STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OWN :Ukonft vum éischte Gefier op enger Statioun vum Spiller: {STRING} STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OWN_HELPTEXT :Weis d'Zeitung wann dat éischt Gefier op enger eegener Statioun ukënnt -STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OTHER :Ukonft vum éischten Gefiert op enger Géigenspillerstatioun: {STRING} +STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OTHER :Ukonft vum éischten Gefier op enger Géigenspillerstatioun: {STRING} STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OTHER_HELPTEXT :Weis d'Zeitung wann dat éischt Gefier op enger géignerescher Statioun ukënnt -STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS :Accidenter / Katastrophen: {STRING} -STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS_HELPTEXT :Weis d'Zeitung wann Accidenter oder Katastrophen passéiren +STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS :Akzidenter / Katastrophen: {STRING} +STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS_HELPTEXT :Weis d'Zeitung wann Akzidenter oder Katastrophen passéiren STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION :Firmeninformatiounen: {STRING} -STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION_HELPTEXT :Weis d'Zeitung wann eng nei Firma opgeht, oder wann eng riskéiert Bankrott ze goen -STR_CONFIG_SETTING_NEWS_INDUSTRY_OPEN :Industrieeröffnung: {STRING} +STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION_HELPTEXT :Weis d'Zeitung wann eng nei Firma opgeet, oder wann ee riskéiert Bankrott ze goen +STR_CONFIG_SETTING_NEWS_INDUSTRY_OPEN :Grënnung vun enger Industrie: {STRING} STR_CONFIG_SETTING_NEWS_INDUSTRY_OPEN_HELPTEXT :Weis d'Zeitung wann eng nei Industrie opmécht STR_CONFIG_SETTING_NEWS_INDUSTRY_CLOSE :Industrie gëtt zougemaach: {STRING} -STR_CONFIG_SETTING_NEWS_INDUSTRY_CLOSE_HELPTEXT :Weis d'Zeitung wann eng Industrie zou mécht -STR_CONFIG_SETTING_NEWS_ECONOMY_CHANGES :Wirtschaftsännerungen: {STRING} -STR_CONFIG_SETTING_NEWS_ECONOMY_CHANGES_HELPTEXT :Weis d'Zeitung iwwert d'global Economie -STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_COMPANY :Produktiounswiessel vun der Industrie dei vun der Firma betreit gëtt: {STRING} -STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_COMPANY_HELPTEXT :Weis d'Zeitung wann d'Produktioun vun enger Industrie ännert, déi vun der Firma servéiert gëtt -STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_OTHER :Produktiounswiessel vun der Industrie dei vun der Konkurenz betreit gëtt: {STRING} -STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_OTHER_HELPTEXT :Weis d'Zeitung wann d'Produktioun vun enger Industrie ännert, déi vun engem Spiller servéiert gëtt -STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_UNSERVED :Aanern Industriellen Produktiounswiessel: {STRING} -STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_UNSERVED_HELPTEXT :Weis d'Zeitung wann d'Produktioun vun enger Industrie ännert, déi vun kengem Spiller servéiert gëtt -STR_CONFIG_SETTING_NEWS_ADVICE :Hinweis / Informatioun iwwert Firmengefierer: {STRING} -STR_CONFIG_SETTING_NEWS_ADVICE_HELPTEXT :Weis Messagen wann Gefierer Opmierksamkeet brauchen +STR_CONFIG_SETTING_NEWS_INDUSTRY_CLOSE_HELPTEXT :Weis d'Zeitung wann eng Industrie zoumécht +STR_CONFIG_SETTING_NEWS_ECONOMY_CHANGES :Wiertschaftsännerungen: {STRING} +STR_CONFIG_SETTING_NEWS_ECONOMY_CHANGES_HELPTEXT :Weis d'Zeitung iwwert d'global Wiertschaft +STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_COMPANY :Produktiounswiessel vun der Industrie dei vun der Firma beliwwert gëtt: {STRING} +STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_COMPANY_HELPTEXT :Weis d'Zeitung wann d'Produktioun vun enger Industrie ännert, déi vun der Firma beliwwert gëtt +STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_OTHER :Produktiounswiessel vun der Industrie dei vun der Konkurrenz beliwwert gëtt: {STRING} +STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_OTHER_HELPTEXT :Weis d'Zeitung wann d'Produktioun vun enger Industrie ännert, déi vun engem Spiller beliwwert gëtt +STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_UNSERVED :Aaneren industrielle Produktiounswiessel: {STRING} +STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_UNSERVED_HELPTEXT :Weis d'Zeitung wann d'Produktioun vun enger Industrie ännert, déi vu kengem Spiller beliwwert gëtt +STR_CONFIG_SETTING_NEWS_ADVICE :Hinweis / Informatioun iwwert Firmegefierer: {STRING} +STR_CONFIG_SETTING_NEWS_ADVICE_HELPTEXT :Weis Messagen wa Gefierer Opmierksamkeet brauchen STR_CONFIG_SETTING_NEWS_NEW_VEHICLES :Nei Gefierer: {STRING} STR_CONFIG_SETTING_NEWS_NEW_VEHICLES_HELPTEXT :Weis d'Zeitung wann en neit Gefier rauskënnt -STR_CONFIG_SETTING_NEWS_CHANGES_ACCEPTANCE :Ännerungen vun acceptéiert Luedungen: {STRING} -STR_CONFIG_SETTING_NEWS_CHANGES_ACCEPTANCE_HELPTEXT :Weis Messagen wann Statiounen Güter acceptéiren / net méi akzeptéiren +STR_CONFIG_SETTING_NEWS_CHANGES_ACCEPTANCE :Ännerung vun akzeptéierte Luedungen: {STRING} +STR_CONFIG_SETTING_NEWS_CHANGES_ACCEPTANCE_HELPTEXT :Weis Messagen wa Statiounen Gidder akzeptéiren / net méi akzeptéiren STR_CONFIG_SETTING_NEWS_SUBSIDIES :Subventiounen: {STRING} -STR_CONFIG_SETTING_NEWS_SUBSIDIES_HELPTEXT :Weis d'Zeitung an Relatioun mat Subsiden -STR_CONFIG_SETTING_NEWS_GENERAL_INFORMATION :Generel Informatiounen: {STRING} +STR_CONFIG_SETTING_NEWS_SUBSIDIES_HELPTEXT :Weis d'Zeitung a Relatioun mat Subventiounen +STR_CONFIG_SETTING_NEWS_GENERAL_INFORMATION :Generell Informatiounen: {STRING} STR_CONFIG_SETTING_NEWS_GENERAL_INFORMATION_HELPTEXT :Weis Zeitung iwwert generell Evenementer, wéi z.b de Kaf vun exklusiven Transportrechter oder Stroosserenovéierungen STR_CONFIG_SETTING_NEWS_MESSAGES_OFF :Aus @@ -1480,47 +1515,47 @@ STR_CONFIG_SETTING_NEWS_MESSAGES_SUMMARY :Resumé STR_CONFIG_SETTING_NEWS_MESSAGES_FULL :Ganz STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Faarweg News ab: {STRING} -STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Joer vun dem uns d'Zeitung farweg rauskënnt. Firun dësem Joer ass se schwarz/wäiss +STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Joer vun dem uns d'Zeitung farweg erauskënnt. Firun dësem Joer ass se schwarz/wäiss STR_CONFIG_SETTING_STARTING_YEAR :Startjoer: {STRING} -STR_CONFIG_SETTING_SMOOTH_ECONOMY :Gläichméisseg Economie aschalten (méi oft an kleg Wiessel): {STRING} +STR_CONFIG_SETTING_SMOOTH_ECONOMY :Gläichméisseg Wiertschaft aschalten (méi oft an kleng Wiessel): {STRING} STR_CONFIG_SETTING_SMOOTH_ECONOMY_HELPTEXT :Wann ugeschalt, ännert d'Industrieproduktioun méi oft, an méi kléngen Schrëtter. Dës Astellung huet keng Auswierkung op NewGRF-Industrien STR_CONFIG_SETTING_ALLOW_SHARES :Undeeler vun aaneren Firmen kafen: {STRING} -STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT :Wann ugeschalt, dierfen Aktien vun Firmen kaf an verkaf ginn. Aktien sinn just fir Firmen verfügbar, déi en gewëssen Alter erregt hunn -STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE :Prozentsaz vum Etappenrofit den am Feeder-System bezuelt gëtt: {STRING} -STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :Prozentsaz vum Akomms déi un d'Zwëschenetappen an engem Feeder-System ginn ginn, wat méi Kontroll iwwert d'Akommes erméiglegt -STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY :Wann gezunn gëtt, setz en Signal all: {STRING} -STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_HELPTEXT :Definéiert d'Distanz an däer Signaler gesat ginn, bis zum nächsten Obstakel (Signal, Kräizung), wann Signaler gezunn ginn +STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT :Wann ugeschalt, dierfen Aktien vu Firmen kaf an verkaf ginn. Aktien si just fir Firme verfügbar, déi en gewëssen Alter erreecht hunn +STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE :Prozentsaz vum Etappenprofit den am Feeder-System bezuelt gëtt: {STRING} +STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :Prozentsaz vum Akommes déi un d'Zwëschenetappen an engem Feeder-System gi ginn, wat méi Kontroll iwwert d'Akommes erméiglegt +STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY :Wa gezunn gëtt, setz en Signal all: {STRING} +STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_HELPTEXT :Definéiert d'Distanz an däer Signaler gesat ginn, bis zum nächsten Obstakel (Signal, Kräizung), wa Signaler gezu ginn STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_VALUE :{COMMA} Feld{P 0 "" er} STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE :Beim Zéien, behal eng fix Distanz tëscht Signaler: {STRING} -STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT :Wielt d'Verhalen vum Signalsetzen, wann mat Ctrl gezunn gëtt. Wann ausgeschalt, ginn Signaler firun laangen Streckenabschnitter wéi Brécken an Tunnelen gesat. Wann ugeschalt, ginn Signaler all N Felder gesat, fir en parallelt Setzen vun Signaler ze erméiglechen +STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT :Wielt d'Verhale vum Signalsetzen, wa mat Ctrl gezu gëtt. Wann ausgeschalt, gi Signaler firu laange Streckenabschnitter wéi Brécken an Tunnelen gesat. Wann ugeschalt, gi Signaler all N Felder gesat, fir e parallelt Setzen vu Signaler ze erméiglechen STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE :Automatesch Diksen bauen firun: {STRING} STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT :Definéiert d'Joer wou elektresch Signaler benotzt ginn. Firun dësem Joer ginn nët-elektresch Signaler benotzt (déi déi selwescht Funktioun hunn, an just anescht ausgesinn) -STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI :Signal GUI erlaaben: {STRING} -STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI_HELPTEXT :Weist eng Fënster an däer den Typ vun Signaler déi gebaut ginn gewielt kënnen ginn, amplaz ouni Fënster an durch Ctrl-klicken op d'Signaler +STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI :Signaler GUI uschalten: {STRING} +STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI_HELPTEXT :Weist eng Fënster an däer den Typ vu Signaler déi gebaut kënne ginn, amplaz ouni Fënster an durch Ctrl-klicken op d'Signaler STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE :Standard Signal-Typ: {STRING} -STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE_HELPTEXT :Standard Signaltyp den soll benotzt ginn +STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE_HELPTEXT :Standard Signaltyp dee soll benotzt ginn STR_CONFIG_SETTING_DEFAULT_SIGNAL_NORMAL :Blocksignaler STR_CONFIG_SETTING_DEFAULT_SIGNAL_PBS :Wee-Signaler STR_CONFIG_SETTING_DEFAULT_SIGNAL_PBSOWAY :Einbahn-Wee-Signaler STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES :Wiessel duerch Signal-Typen: {STRING} -STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES_HELPTEXT :Wielt Signaltypen déi durchgewielt ginn, wann een mat Ctrl op d'Signalbauen dréckt +STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES_HELPTEXT :Wielt Signaltypen déi durchgewielt ginn, wann ee mat Ctrl op e gebaute Signal dréckt STR_CONFIG_SETTING_CYCLE_SIGNAL_NORMAL :Nëmmen Blocksignaler STR_CONFIG_SETTING_CYCLE_SIGNAL_PBS :Nëmmen Wee-Signaler STR_CONFIG_SETTING_CYCLE_SIGNAL_ALL :Alleguerten -STR_CONFIG_SETTING_TOWN_LAYOUT :Stroossenlayout an neien Stied: {STRING} +STR_CONFIG_SETTING_TOWN_LAYOUT :Stroosselayout an neie Stied: {STRING} STR_CONFIG_SETTING_TOWN_LAYOUT_HELPTEXT :Layout fir d'Stroossennetz vun enger Stad STR_CONFIG_SETTING_TOWN_LAYOUT_DEFAULT :Original STR_CONFIG_SETTING_TOWN_LAYOUT_BETTER_ROADS :Besser Stroossen STR_CONFIG_SETTING_TOWN_LAYOUT_2X2_GRID :2x2 Gitter STR_CONFIG_SETTING_TOWN_LAYOUT_3X3_GRID :3x3 Gitter STR_CONFIG_SETTING_TOWN_LAYOUT_RANDOM :Zoufälleg -STR_CONFIG_SETTING_ALLOW_TOWN_ROADS :Stied därfen Stroossen bauen: {STRING} +STR_CONFIG_SETTING_ALLOW_TOWN_ROADS :Stied däerfen Stroossen bauen: {STRING} STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT :Erlaabt Stied Stroossen ze bauen fir ze wuessen. Ausschalten fir d'Stiedréid dorun ze hënneren fir Stroossen selwer ze bauen -STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :Stied dierfen héich Kräizungen bauen: {STRING} -STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Wann dës Astellung ugeschalt ass, kënnen Stied Strossen iwwert Schinnen bauen -STR_CONFIG_SETTING_NOISE_LEVEL :Erlaab stadkontrolléiert Kaméidisniveau fir Fluchhäfen: {STRING} -STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Wann dës Astellung ausgeschalt ass, kënnen zwee Fluchhäfen an all Stad gebaut ginn. Wann dës Astellung ugeschalt ass, henkt et vun der Fluchhafengréisst, Distanz, Kaméidisniveau of wéivill Fluchhäfen kënnen gebaut ginn +STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :Stied dierfen Barrièren bauen: {STRING} +STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Wann dës Astellung ugeschalt ass, kënnen Stied Stroossen iwwert Schinne bauen +STR_CONFIG_SETTING_NOISE_LEVEL :Erlab e stadkontrolléierte Kaméidisniveau fir Fluchhäfen: {STRING} +STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Wann dës Astellung ausgeschalt ass, kënnen zwee Fluchhäfen an all Stad gebaut ginn. Wann dës Astellung ugeschalt ass, henkt et vun der Fluchhafengréisst, Distanz, Kaméidisniveau of wéivill Fluchhäfen kënne gebaut ginn STR_CONFIG_SETTING_TOWN_FOUNDING :Stiedgrënnung am Spill: {STRING} STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Wann dës Astellung ugeschalt ass, kënnen Spiller nei Stied am Spill grënnen STR_CONFIG_SETTING_TOWN_FOUNDING_FORBIDDEN :Verbueden @@ -1528,20 +1563,20 @@ STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED :Erlaabt STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED_CUSTOM_LAYOUT :Erlaabt, custom Stad-Layout STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT :Bamplazéirung: {STRING} -STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_HELPTEXT :Kontrolléiert zoufälleg Optauchen vun Beem während dem Spill. Dëst kann Industrien beaflossen, déi op d'Wuessen vun Beem ugewisen sinn +STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_HELPTEXT :Kontrolléiert zoufälleg Optauche vu Beem während dem Spill. Dëst kann Industrie beaflossen, déi op d'Wuessen vu Beem ugewisen sinn STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_NONE :Keng{RED}(zerstéiert Bauholzfabrik) STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_RAINFOREST :Nëmmen am Reebësch STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_ALL :Iwwerall STR_CONFIG_SETTING_TOOLBAR_POS :Positioun vun der Haapt-Toolbar: {STRING} -STR_CONFIG_SETTING_TOOLBAR_POS_HELPTEXT :Horizontal Positioun vun der Hapt-Toolbar uewen um Schierm +STR_CONFIG_SETTING_TOOLBAR_POS_HELPTEXT :Horizontal Positioun vun der Haapt-Toolbar uewen um Schierm STR_CONFIG_SETTING_STATUSBAR_POS :Positioun vun der Statusbar: {STRING} STR_CONFIG_SETTING_STATUSBAR_POS_HELPTEXT :Horizontal Positioun vun der Statusbar ënnen um Schierm STR_CONFIG_SETTING_SNAP_RADIUS :Radius wou d'Fënsteren uschnapen: {STRING} STR_CONFIG_SETTING_SNAP_RADIUS_HELPTEXT :Distanz tëscht Fënsteren befier d'Fënsteren automatesch alignéiert ginn STR_CONFIG_SETTING_SNAP_RADIUS_VALUE :{COMMA} Pixel STR_CONFIG_SETTING_SNAP_RADIUS_DISABLED :Ausgeschalt -STR_CONFIG_SETTING_SOFT_LIMIT :Maximal Unzuel vun net-gepinnten Fënster: {STRING} +STR_CONFIG_SETTING_SOFT_LIMIT :Maximal Unzuel vun net-gepinnte Fënster: {STRING} STR_CONFIG_SETTING_SOFT_LIMIT_HELPTEXT :Unzuel un net-gepinnten openen Fënster befier al Fënsteren automatesch zougemaach ginn fir nei Plaz ze man fir nei Fënsteren STR_CONFIG_SETTING_SOFT_LIMIT_VALUE :{COMMA} STR_CONFIG_SETTING_SOFT_LIMIT_DISABLED :ausgeschalt @@ -1555,115 +1590,115 @@ STR_CONFIG_SETTING_ZOOM_LVL_NORMAL :Normal STR_CONFIG_SETTING_ZOOM_LVL_OUT_2X :2x STR_CONFIG_SETTING_ZOOM_LVL_OUT_4X :4x STR_CONFIG_SETTING_ZOOM_LVL_OUT_8X :8x -STR_CONFIG_SETTING_TOWN_GROWTH :Stad-Wuestum: {STRING} +STR_CONFIG_SETTING_TOWN_GROWTH :Geschw. vum Stad-Wuesstem: {STRING} STR_CONFIG_SETTING_TOWN_GROWTH_HELPTEXT :Geschwindegkeet mat däer Stied wuessen STR_CONFIG_SETTING_TOWN_GROWTH_NONE :Keen STR_CONFIG_SETTING_TOWN_GROWTH_SLOW :Lues STR_CONFIG_SETTING_TOWN_GROWTH_NORMAL :Normal STR_CONFIG_SETTING_TOWN_GROWTH_FAST :Schnell STR_CONFIG_SETTING_TOWN_GROWTH_VERY_FAST :Ganz schnell -STR_CONFIG_SETTING_LARGER_TOWNS :Proportioun vun Dierfer déi kënnen Stied ginn: {STRING} -STR_CONFIG_SETTING_LARGER_TOWNS_HELPTEXT :Unzuel un Dierfer déi eng Stad kënnen ginn, folglesch start en Duerf méi grouss an wiisst méi séier +STR_CONFIG_SETTING_LARGER_TOWNS :Proportioun vun Dierfer déi kënne Stied ginn: {STRING} +STR_CONFIG_SETTING_LARGER_TOWNS_HELPTEXT :Unzuel un Dierfer déi eng Stad kënne ginn, folglesch start en Duerf méi grouss an wiisst méi séier STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 zu {COMMA} STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Keng -STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Ufangs-Gréisst vun Stied mulitiplizéiren mat: {STRING} -STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Duerchschnëttsgréisst vun Stied an Proportioun zu normalen Dierfer um Spillstart -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :Beim Stroossebau absurd Stroossenelementer ofrappen: {STRING} -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD_HELPTEXT :Huel Sakgaassen ewech wann d'Stroossen renovéiert ginn +STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Ufangs-Gréisst vu Stied multiplizéiren mat: {STRING} +STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Duerchschnëttsgréisst vu Stied an Proportioun zu normalen Dierfer um Spillstart -STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Aktualiséier d'Distributiounsgrafik all {STRING} D{P 0:2 ag eeg} +STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Aktualiséier d'Distributiounsgrafik all {STRING}{NBSP}D{P 0:2 ag eeg} STR_CONFIG_SETTING_LINKGRAPH_INTERVAL_HELPTEXT :Zäit tëscht nofolgenden Neiberechnungen vun der Linkgrafik. All Neiberechnung rechent d'Pläng fir eng Komponent vun der Grafik. Dat heescht dass en Wert X fir dës Astellung net all X Deeg aktualiséiert gëtt. Nëmmen een Komponent gëtt aktualiséiert. Wat méi kuerz gesat, wat méi CPU Rechenzäit gebraucht gëtt. Wat se méi laang gesat gëtt, wat méi Zäit vergeet bis Wuerendistributioun op enger neier Route gestart gëtt. -STR_CONFIG_SETTING_LINKGRAPH_TIME :Benotz {STRING} D{P 0:2 ag eeg} fir d'Neiberechnung vum Distributiounsgraf -STR_CONFIG_SETTING_LINKGRAPH_TIME_HELPTEXT :Zäit déi gebraucht gëtt fir all Neiberechnung vun enger Linkgrafikkomponent. Wann eng Neiberechnung ufenkt, gëtt en Thread erstallt den fir dës Unzuel un Deeg leeft. Wann den Wert ze kleng ass, kann den Thread net an der gewënschter Zäit faerdeg ginn an et kënnt zu engem Lag. Wann den Wert méi héig gesat gëtt, brauch d'Distributioun méi lang fir erneiert ze ginn wann eng Streck ännert +STR_CONFIG_SETTING_LINKGRAPH_TIME :Benotz {STRING}{NBSP}D{P 0:2 ag eeg} fir d'Neiberechnung vum Distributiounsgraf +STR_CONFIG_SETTING_LINKGRAPH_TIME_HELPTEXT :Zäit déi gebraucht gëtt fir all Neiberechnung vun enger Linkgrafikkomponent. Wann eng Neiberechnung ufenkt, gëtt en Thread erstallt dee fir dës Unzuel un Deeg leeft. Wann de Wäert ze kleng ass, kann den Thread net an der gewënschter Zäit faerdeg ginn an et kënnt zu engem Lag. Wann de Wäert méi héich gesat gëtt, brauch d'Distributioun méi lang fir erneiert ze ginn wann eng Streck ännert STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :manuell -STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :asymmetrësch -STR_CONFIG_SETTING_DISTRIBUTION_SYMMETRIC :symmetrësch +STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :asymmetresch +STR_CONFIG_SETTING_DISTRIBUTION_SYMMETRIC :symmetresch STR_CONFIG_SETTING_DISTRIBUTION_PAX :Distributiounsmodus fir Passagéier: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"symmetrësch" heescht, dass ongeféier d'selwecht vill Passagéier vun A op B wéi vun B op A geschéckt ginn. "asymmetrësch" heescht, dass eng arbiträr Unzuel un Wueren an d'jeweileg Richtung geschéckt ginn. "manuell" heescht dass keng automatësch Distributioun stattfënnt fir Passagéier +STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"symmetresch" heescht, dass ongeféier d'selwecht vill Passagéier vun A op B wéi vu B op A geschéckt ginn. "asymmetresch" heescht, dass eng arbiträr Unzuel u Wueren an d'jeweileg Richtung geschéckt ginn. "manuell" heescht dass keng automatësch Distributioun stattfënnt fir Passagéier STR_CONFIG_SETTING_DISTRIBUTION_MAIL :Distributiounsmodus fir Post: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"symmetrësch" heescht, dass ongeféier d'selwecht vill vun A op B wéi vun B op A geschéckt ginn. "asymmetrësch" heescht, dass eng arbiträr Unzuel un Wueren an d'jeweileg Richtung geschéckt ginn. "manuell" heescht dass keng automatësch Distributioun stattfënnt fir Post +STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"symmetresch" heescht, dass ongeféier d'selwecht vill vun A op B wéi vu B op A geschéckt ginn. "asymmetresch" heescht, dass eng arbiträr Unzuel u Wueren an d'jeweileg Richtung geschéckt ginn. "manuell" heescht dass keng automatësch Distributioun stattfënnt fir Post STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Distributiounsmodus fir d'GEPANZERT Wuereklass: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :D'GEPANZERT Wuereklass huet Wertsaachen am geméissegte Klima, Diamanten am Sub-Tropenklima an Gold am sub-arktësche Klima. NewGRFen kënnen dat änneren. "symmetrësch" heescht, dass ongeféier d'selwecht vill vun A op B wéi vun B op A geschéckt ginn. "asymmetrësch" heescht, dass eng arbiträr Unzuel un Wueren an d'jeweileg Richtung geschéckt ginn. "manuell" heescht dass keng automatësch Distributioun stattfënnt. Et gëtt emfuelen dëst op asymmetrësch oder manuell ze loossen wann een sub-arktësch spillt, well Banken keen Gold zréck an d’Minen liwweren. Fir geméissegt Klima an sub-tropësch Klima kann eng Bank mat der anerer Wertsachen zréckschécken. +STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :D'GEPANZERT Wuereklass huet Wäertsaachen am geméissegte Klima, Diamanten am Sub-Tropenklima an Gold am sub-arktësche Klima. NewGRFen kënnen dat änneren. "Symmetrësch" heescht, dass ongeféier d'selwecht vill vun A op B wéi vu B op A geschéckt ginn. "asymmetrësch" heescht, dass eng arbiträr Unzuel u Wueren an d'jeweileg Richtung geschéckt ginn. "manuell" heescht dass keng automatësch Distributioun stattfënnt. Et gëtt emfuelen dëst op asymmetrësch oder manuell ze loossen wann ee sub-arktësch spillt, well Banken kee Gold zréck an d’Minen liwweren. Fir geméissegt Klima an sub-tropësch Klima kann eng Bank mat der anerer Wäertsachen zeréckschécken. STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Distributiounsmodus fir aner Wuerenklassen: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"asymmetrësch" heescht dass eng beléiweg Unzuel un Wueren an béid Richtungen verschéckt ginn. "manuell" heescht dass keng automatësch Distributioun stattfënnt. Meeschtens gëtt "asymmetrësch" oder manuell gewielt. +STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"asymmetresch" heescht dass eng beléiweg Unzuel un Wueren an béid Richtungen verschéckt ginn. "manuell" heescht dass keng automatësch Distributioun stattfënnt. Meeschtens gëtt "asymmetresch" oder manuell gewielt. STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Distributiounsgenauegkeet: {STRING} -STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Wat den Wert méi héig ass, wat méi CPU benotzt gëtt fir d'Linkgraphik ze zeechnen. Wann ze héig gesat, kann et zu Lags kommen. Ze niddreg gesat kann d'Distributioun ongenau ginn an d'Wueren net sou verdeelt ginn wéi geduet +STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Wat de Wäert méi héich ass, wat méi CPU benotzt gëtt fir d'Linkgrafik ze zeechnen. Wann ze héich gesat, kann et zu Lags kommen. Ze niddreg gesat kann d'Distributioun ongenau ginn an d'Wueren net sou verdeelt ginn wéi geduet STR_CONFIG_SETTING_DEMAND_DISTANCE :Afloss vun der Distanz op d'Nofro: {STRING} -STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Wann'sde en méi héigen Wert wéi 0 wiels, huet d'Differenz tëscht 2 Statiounen A an B en Afloss op wéivill Wueren geschéckt ginn. Wat B méi wait ewech vun A ass, wat manner Wueren geschéckt ginn. Wat den Wert méi héig gesat gëtt, wat manner Wueren op eng Statioun wait ewech an méi Wueren op eng Statioun méi no gescheckt ginn. -STR_CONFIG_SETTING_DEMAND_SIZE :Unzuel vun zréckgeschéckten Wueren fir den symmetrëschen Modus: {STRING} -STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Wann een dëst op manner wéi 100% setzt, gëtt déi symmetrësch Distributioun méi wéi eng asymmetrësch behandelt. Manner Wueren ginn zréckgeschéckt wann en bestëmmten Wert op eng Statioun geschéckt gouf. Bei 0% verhält sech d'symmetrësch Distributioun wéi eng asymmetrësch -STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Sättegung vun kuerzen Weeër befier grouss Weeër benotzt ginn: {STRING} -STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Oft gëtt et e puer Weeër tëscht zwou Statiounen. Cargodist sättegt fir d'éischt den kierzten, dann den zweetkierzten a.s.w. Sättegung gëtt bestemmt durch Kapazitéit an geplangten Notzung. Wann all Wee gesiedegt ass, an nach emmer eng Nofro do ass, ginn all d'Weeër iwwersiedegt, mat Präferenz déi mat grousser Kapazitéit. Gréissten Deel vun der Zäit rechent den Algorithmus d'Kapazitéit allerdéngs net richteg. Des Astellung erlabt engem en Prozentsaz ze bestëmmen fir den éischten Wee befier en zweeten Wee benotzt gëtt. Setz en enner 100% fir iwwerfëllten Statiounen ze vermeiden wann d'Kapazitéit iwwerschad gouf. +STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Wann's de en méi héije Wäert wéi 0 wiels, huet d'Differenz tëscht 2 Statiounen A an B en Afloss dorop wéivill Wueren geschéckt ginn. Wat B méi wäit ewech vun A ass, wat manner Wueren geschéckt ginn. Wat de Wäert méi héich gesat gëtt, wat manner Wueren op eng Statioun wait ewech an méi Wueren op eng Statioun méi no geschéckt ginn. +STR_CONFIG_SETTING_DEMAND_SIZE :Unzuel vun zeréckgeschéckte Wueren fir de symmetreschen Modus: {STRING} +STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Wann een dëst op manner wéi 100% setzt, gëtt déi symmetresch Distributioun méi wéi eng asymmetrësch behandelt. Manner Wueren ginn zeréckgeschéckt wann en bestëmmten Wäert op eng Statioun geschéckt gouf. Bei 0% verhält sech d'symmetresch Distributioun wéi eng asymmetresch +STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Sättegung vu kuerzen Weeër befier grouss Weeër benotzt ginn: {STRING} +STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Oft gëtt et e puer Weeër tëscht zwou Statiounen. Cargodist siedegt fir d'éischt de kierzten, dann den zweetkierzten a.s.w. Siedegung gëtt bestemmt durch Kapazitéit an geplangten Notzung. Wann all Wee gesiedegt ass, an nach emmer eng Nofro do ass, ginn all d'Weeër iwwersiedegt, mat Präferenz déi mat grousser Kapazitéit. Gréissten Deel vun der Zäit rechent den Algorithmus d'Kapazitéit allerdéngs net richteg. Des Astellung erlabt engem en Prozentsaz ze bestëmmen fir den éischten Wee befier en zweeten Wee benotzt gëtt. Setz en enner 100% fir iwwerfëllten Statiounen ze vermeide wann d'Kapazitéit iwwerschat gouf. STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Geschwindegkeetseenheeten: {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_HELPTEXT :Emmer wann eng Geschwindegkeet am Userinterface ugewisen gëtt, weis se an den ausgewielten Eenheeten un -STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_IMPERIAL :Britësch (mph) -STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_METRIC :Metrësch (km/h) +STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_IMPERIAL :Britesch (mph) +STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_METRIC :Metresch (km/h) STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_SI :SI (m/s) STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER :Kraafteenheeten: {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_HELPTEXT :Emmer wann d'Kraaft vun engem Gefier am Userinterface ugewisen gëtt, weis se an den ausgewielten Eenheeten un -STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_IMPERIAL :Britësch (PS) -STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_METRIC :Metrësch (PS) +STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_IMPERIAL :Britesch (PS) +STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_METRIC :Metresch (PS) STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_SI :SI (kW) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT :Gewichtseenheeten: {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_HELPTEXT :Emmer wann Gewiichter am Userinterface ugewisen ginn, weis se an den ausgewielten Eenheeten un -STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_IMPERIAL :Britësch (kuerz t/Tonn) -STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_METRIC :Metrësch (t/Tonn) +STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_IMPERIAL :Britesch (kuerz t/Tonn) +STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_METRIC :Metresch (t/Tonn) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_SI :SI (kg) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME :Volumeneenheeten: {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_HELPTEXT :Emmer wann Volumen am Userinterface ugewisen ginn, weis se an den ausgewielten Eenheeten un -STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_IMPERIAL :Britësch (gal) -STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_METRIC :Metrësch (l) +STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_IMPERIAL :Britesch (gal) +STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_METRIC :Metresch (l) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_SI :SI (m³) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE :Zuchkraaft Eenheeten: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_HELPTEXT :Emmer wann eng Zuchkraaft am Userinterface ugewisen gëtt weis se an den ugewielten Eenheeten un -STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_IMPERIAL :Britësch (lbf) -STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_METRIC :Metrësch (kgf) +STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_HELPTEXT :Emmer wann eng Zuchkraaft am Userinterface ugewisen gëtt, weis se an den ugewielten Eenheeten un +STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_IMPERIAL :Britesch (lbf) +STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_METRIC :Metresch (kgf) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_SI :SI (kN) -STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT :Héigteneenheeten: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT :Emmer wann Héigten am Userinterface ugewisen ginn, weis se an den ausgewielten Eenheeten un -STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :Britësch (ft) -STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :Metrësch (m) +STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT :Héichteneenheeten: {STRING} +STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT :Emmer wann Héichten am Userinterface ugewisen ginn, weis se an den ausgewielten Eenheeten un +STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :Britesch (ft) +STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :Metresch (m) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :SI (m) -STR_CONFIG_SETTING_GUI :{ORANGE}Interface STR_CONFIG_SETTING_LOCALISATION :{ORANGE}Lokaliséirung -STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}Konstruktioun -STR_CONFIG_SETTING_VEHICLES :{ORANGE}Gefierer -STR_CONFIG_SETTING_STATIONS :{ORANGE}Statiounen -STR_CONFIG_SETTING_ECONOMY :{ORANGE}Economie -STR_CONFIG_SETTING_LINKGRAPH :{ORANGE}Wuerendistributioun -STR_CONFIG_SETTING_AI :{ORANGE}Géigner -STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}Displayoptiounen -STR_CONFIG_SETTING_INTERACTION :{ORANGE}Interaktioun +STR_CONFIG_SETTING_GRAPHICS :{ORANGE}Grafik STR_CONFIG_SETTING_SOUND :{ORANGE}Soundeffekter -STR_CONFIG_SETTING_NEWS :{ORANGE}News an Messagen -STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}Signaler -STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE}Luedungshandhabung +STR_CONFIG_SETTING_INTERFACE :{ORANGE}Interface +STR_CONFIG_SETTING_INTERFACE_GENERAL :{ORANGE}Generell +STR_CONFIG_SETTING_INTERFACE_VIEWPORTS :{ORANGE}Usiicht +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Konstruktioun +STR_CONFIG_SETTING_ADVISORS :{ORANGE}News / Meldungen +STR_CONFIG_SETTING_COMPANY :{ORANGE}Firma +STR_CONFIG_SETTING_ACCOUNTING :{ORANGE}Compta +STR_CONFIG_SETTING_VEHICLES :{ORANGE}Gefierer +STR_CONFIG_SETTING_VEHICLES_PHYSICS :{ORANGE}Physik +STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Routeplangung +STR_CONFIG_SETTING_LIMITATIONS :{ORANGE}Limitatiounen +STR_CONFIG_SETTING_ACCIDENTS :{ORANGE}Katastrophen / Akzidenter +STR_CONFIG_SETTING_GENWORLD :{ORANGE}Welt Generatioun +STR_CONFIG_SETTING_ENVIRONMENT :{ORANGE}Emwelt +STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :{ORANGE}Autoritéiten +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Stied +STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}Industrien +STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :{ORANGE}Wuereverdeelung +STR_CONFIG_SETTING_AI :{ORANGE}Géigner STR_CONFIG_SETTING_AI_NPC :{ORANGE}Computerspiller -STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE}Autoerneieren -STR_CONFIG_SETTING_VEHICLES_SERVICING :{ORANGE}Revisiounen -STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Routenplangung -STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}Zich -STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}Stied -STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}Industrien STR_CONFIG_SETTING_PATHFINDER_OPF :Original STR_CONFIG_SETTING_PATHFINDER_NPF :NPF STR_CONFIG_SETTING_PATHFINDER_YAPF_RECOMMENDED :YAPF {BLUE}(recommandéiert) STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS :Pfadfinder fir Zich: {STRING} -STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS_HELPTEXT :Pfadfinder den fir Zich benotzt gëtt -STR_CONFIG_SETTING_PATHFINDER_FOR_ROAD_VEHICLES :Pfadfinder fir Stroossengefierer: {STRING} -STR_CONFIG_SETTING_PATHFINDER_FOR_ROAD_VEHICLES_HELPTEXT :Pfadfinder den fir Gefierer benotzt gëtt +STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS_HELPTEXT :Pfadfinder dee fir Zich benotzt gëtt +STR_CONFIG_SETTING_PATHFINDER_FOR_ROAD_VEHICLES :Pfadfinder fir Stroossegefierer: {STRING} +STR_CONFIG_SETTING_PATHFINDER_FOR_ROAD_VEHICLES_HELPTEXT :Pfadfinder dee fir Gefierer benotzt gëtt STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS :Pfadfinder fir Schëffer: {STRING} -STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS_HELPTEXT :Pfadfinder den fir Schëffer benotzt gëtt -STR_CONFIG_SETTING_REVERSE_AT_SIGNALS :Automatëscht Emdréinen bei Signaler: {STRING} +STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS_HELPTEXT :Pfadfinder dee fir Schëffer benotzt gëtt +STR_CONFIG_SETTING_REVERSE_AT_SIGNALS :Automatescht Emdréinen bei Signaler: {STRING} STR_CONFIG_SETTING_REVERSE_AT_SIGNALS_HELPTEXT :Erlab Zich bei engem Signal emzedréinen, wann se eng laang Zäit geward hunn STR_CONFIG_SETTING_QUERY_CAPTION :{WHITE}Astellung änneren @@ -1671,12 +1706,12 @@ STR_CONFIG_SETTING_QUERY_CAPTION :{WHITE}Astellun # Config errors STR_CONFIG_ERROR :{WHITE}Fehler mat der Konfiguratiounsdatei... STR_CONFIG_ERROR_ARRAY :{WHITE}... Fehler am Array '{STRING}' -STR_CONFIG_ERROR_INVALID_VALUE :{WHITE}... falschen Wäert '{STRING}' fir '{STRING}' +STR_CONFIG_ERROR_INVALID_VALUE :{WHITE}... falsche Wäert '{STRING}' fir '{STRING}' STR_CONFIG_ERROR_TRAILING_CHARACTERS :{WHITE}... Trailing-characters um Enn vun der Astellung '{STRING}' STR_CONFIG_ERROR_DUPLICATE_GRFID :{WHITE}... ignoréiren NewGRF '{STRING}': Duplikat-GRF ID wéi '{STRING}' STR_CONFIG_ERROR_INVALID_GRF :{WHITE}... ignoréiren ongültëgen NewGRF '{STRING}': {STRING} STR_CONFIG_ERROR_INVALID_GRF_NOT_FOUND :net fonnt -STR_CONFIG_ERROR_INVALID_GRF_UNSAFE :onsécher fir statëschen Gebrauch +STR_CONFIG_ERROR_INVALID_GRF_UNSAFE :onsécher fir statesche Gebrauch STR_CONFIG_ERROR_INVALID_GRF_SYSTEM :System NewGRF STR_CONFIG_ERROR_INVALID_GRF_INCOMPATIBLE :net mat dëser Versioun vun OpenTTD kompatibel STR_CONFIG_ERROR_INVALID_GRF_UNKNOWN :onbekannt @@ -1684,9 +1719,9 @@ STR_CONFIG_ERROR_INVALID_SAVEGAME_COMPRESSION_LEVEL :{WHITE}... Komp STR_CONFIG_ERROR_INVALID_SAVEGAME_COMPRESSION_ALGORITHM :{WHITE}... Spillstand format '{STRING}' gëtt et net. Revertéiren zu '{STRING}' STR_CONFIG_ERROR_INVALID_BASE_GRAPHICS_NOT_FOUND :{WHITE}... ignoréiren Basis Grafik Set '{STRING}': net fonnt STR_CONFIG_ERROR_INVALID_BASE_SOUNDS_NOT_FOUND :{WHITE}... ignoréiren Basis Sound Set '{STRING}': net fonnt -STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... ignoréiren Basis Music Set '{STRING}': net fonnt -STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Out of memory -STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Reservéirung vun {BYTES} Spritecache feel versot. De Spritecache gouf reduzéiert op {BYTES}. Dëst reduzéiert d'Performance vun OpenTTD. Fir Späicher ze spueren kann een probéiren 32bpp Grafiken auszeschalten an/oder Zoom-Eran Stufen +STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... ignoréiren Basis Musik Set '{STRING}': net fonnt +STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Net genuch Mémoire +STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Reservéirung vun {BYTES} Spritecache versot. De Spritecache gouf reduzéiert op {BYTES}. Dëst reduzéiert d'Performance vun OpenTTD. Fir Späicher ze spueren kann een probéiren 32bpp Grafiken auszeschalten an/oder Zoom-Eran Stufen # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -1694,43 +1729,43 @@ STR_INTRO_CAPTION :{WHITE}OpenTTD STR_INTRO_NEW_GAME :{BLACK}Neit Spill STR_INTRO_LOAD_GAME :{BLACK}Spill lueden STR_INTRO_PLAY_SCENARIO :{BLACK}Szenario spillen -STR_INTRO_PLAY_HEIGHTMAP :{BLACK}Héichtenkaart spillen +STR_INTRO_PLAY_HEIGHTMAP :{BLACK}Héichtekaart spillen STR_INTRO_SCENARIO_EDITOR :{BLACK}Szenarien Editor STR_INTRO_MULTIPLAYER :{BLACK}Multiplayer STR_INTRO_GAME_OPTIONS :{BLACK}Spilloptiounen -STR_INTRO_HIGHSCORE :{BLACK}Beschtenlëscht -STR_INTRO_ADVANCED_SETTINGS :{BLACK}Erweidert Astellungen +STR_INTRO_HIGHSCORE :{BLACK}Beschtelëscht +STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Astellungen STR_INTRO_NEWGRF_SETTINGS :{BLACK}NewGRF Astellungen STR_INTRO_ONLINE_CONTENT :{BLACK}Check Online Inhalt STR_INTRO_SCRIPT_SETTINGS :{BLACK}KI / Spill-Script Astellungen STR_INTRO_QUIT :{BLACK}Eraus -STR_INTRO_TOOLTIP_NEW_GAME :{BLACK}Start en neit Spill. Ctrl+Klick iwwersprengt Kaartenkonfiguratioun +STR_INTRO_TOOLTIP_NEW_GAME :{BLACK}Start en neit Spill. Ctrl+Klick iwwerspréngt Kaartenkonfiguratioun STR_INTRO_TOOLTIP_LOAD_GAME :{BLACK}Spill lueden -STR_INTRO_TOOLTIP_PLAY_HEIGHTMAP :{BLACK}Nei Partie starten, mat enger Héichtenkaart als Landschaft +STR_INTRO_TOOLTIP_PLAY_HEIGHTMAP :{BLACK}Nei Partie starten, mat enger Héichtekaart als Landschaft STR_INTRO_TOOLTIP_PLAY_SCENARIO :{BLACK}Start eng nei Partie, mat engem eegenen Szenario STR_INTRO_TOOLTIP_SCENARIO_EDITOR :{BLACK}Erstell eng eegen Spillwelt/Szenario STR_INTRO_TOOLTIP_MULTIPLAYER :{BLACK}Start en Multiplayer-Spill -STR_INTRO_TOOLTIP_TEMPERATE :{BLACK}Wielt den Landschaftsstil 'temperéiert' -STR_INTRO_TOOLTIP_SUB_ARCTIC_LANDSCAPE :{BLACK}Wielt den Landschaftsstil 'sub-arktësch' -STR_INTRO_TOOLTIP_SUB_TROPICAL_LANDSCAPE :{BLACK}Wielt den Landschaftsstil 'sub-tropësch' -STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Wielt den Landschaftsstil 'Spillsaachenland' +STR_INTRO_TOOLTIP_TEMPERATE :{BLACK}Wielt de Landschaftsstil 'temperéiert' +STR_INTRO_TOOLTIP_SUB_ARCTIC_LANDSCAPE :{BLACK}Wielt de Landschaftsstil 'sub-arktesch' +STR_INTRO_TOOLTIP_SUB_TROPICAL_LANDSCAPE :{BLACK}Wielt de Landschaftsstil 'sub-tropesch' +STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Wielt de Landschaftsstil 'Spillsaacheland' STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Spilloptiounen -STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Beschtenlëscht uweisen -STR_INTRO_TOOLTIP_ADVANCED_SETTINGS :{BLACK}Weist erweidert Astellungen +STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Beschtelëscht uweisen +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Displayastellungen STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}NewGRF Astellungen uweisen STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Check op neien Inhalt kann downgeload gin STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Weis KI an Spill-Script-Astellungen STR_INTRO_TOOLTIP_QUIT :{BLACK}Aus 'OpenTTD' eraus goen -STR_INTRO_TRANSLATION :{BLACK}Des Iwwersetzung huet {NUM} String{P "" s}. Hëlleft OpenTTD besser ze man andem der ierch als Iwwersetzer mellt!. Liest readme.txt fir d'Detailer. +STR_INTRO_TRANSLATION :{BLACK}Dës Iwwersetzung huet {NUM} String{P "" s}. Hëllef OpenTTD besser ze man andems du dech als Iwwersetzer mells! Lies readme.txt fir d'Detailer. # Quit window STR_QUIT_CAPTION :{WHITE}Eraus -STR_QUIT_ARE_YOU_SURE_YOU_WANT_TO_EXIT_OPENTTD :{YELLOW}Bass du sécher, dass du aus OpenTTD eraus wëlls , an an den {STRING} zréck? +STR_QUIT_ARE_YOU_SURE_YOU_WANT_TO_EXIT_OPENTTD :{YELLOW}Bass du sécher, dass du aus OpenTTD eraus wëlls, an an den {STRING} zeréck? STR_QUIT_YES :{BLACK}Jo STR_QUIT_NO :{BLACK}Nee @@ -1747,40 +1782,42 @@ STR_OSNAME_OS2 :OS/2 STR_OSNAME_SUNOS :SunOS # Abandon game -STR_ABANDON_GAME_CAPTION :{WHITE}Spill ophalen -STR_ABANDON_GAME_QUERY :{YELLOW}Bass du dir sécher dass du dës Partie ophalen wëlls? +STR_ABANDON_GAME_CAPTION :{WHITE}Spill ofbriechen +STR_ABANDON_GAME_QUERY :{YELLOW}Bass du sécher dass du des Partie ofbrieche wëlls? STR_ABANDON_SCENARIO_QUERY :{YELLOW}Sécher dass du aus dësem Szenario eraus wëlls ? # Cheat window -STR_CHEATS :{WHITE}Cheats +STR_CHEATS :{WHITE}Cheater STR_CHEATS_TOOLTIP :{BLACK}Checkboxen weisen un dass du den Cheat schon eng Kéier benotzt hues -STR_CHEATS_WARNING :{BLACK}Warnung! DU bass um Wee de Géigner ze verroden. Sou eng Ongnod gëtt bis an all Éiwegkeet behalen +STR_CHEATS_WARNING :{BLACK}Warnung! Du bass um Wee de Géigner ze verroden. Sou eng Ongnod gëtt bis an all Éiwegkeet behalen STR_CHEAT_MONEY :{LTBLUE}Suen ëm {CURRENCY_LONG} erhéijen -STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Als Firma spillen: {ORANGE}{COMMA} -STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Magëschen Bulldozer (Industrien ofrappen, onzerstéierbar Objekter): {ORANGE}{STRING} -STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}Tunnellen kënnen sech kräizen: {ORANGE}{STRING} -STR_CHEAT_NO_JETCRASH :{LTBLUE}Jet'en maachen net regelméisseg en Accident op klengen Fluchhäfen: {ORANGE} {STRING} +STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Als Firma {ORANGE}{COMMA} spillen +STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Magësche Bulldozer (Industrien ofrappen, onzerstéierbar Objeten): {ORANGE}{STRING} +STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}Tunnelle kënne sech kräizen: {ORANGE}{STRING} +STR_CHEAT_NO_JETCRASH :{LTBLUE}Jet'en maachen net regelméisseg en Akzident op klenge Fluchhäfen: {ORANGE} {STRING} +STR_CHEAT_EDIT_MAX_HL :{LTBLUE}Änner d'Maximalhéicht vu Bierger op der Kaart: {ORANGE}{NUM} +STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Änner d'Maximalhéicht vu Bierger op der Kaart STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE :Gemässegt Klima Landschaft -STR_CHEAT_SWITCH_CLIMATE_SUB_ARCTIC_LANDSCAPE :Sub-Arktësch Landschaft -STR_CHEAT_SWITCH_CLIMATE_SUB_TROPICAL_LANDSCAPE :Sub-Tropësch Landschaft -STR_CHEAT_SWITCH_CLIMATE_TOYLAND_LANDSCAPE :Spillland Landschaft +STR_CHEAT_SWITCH_CLIMATE_SUB_ARCTIC_LANDSCAPE :Sub-Arktesch Landschaft +STR_CHEAT_SWITCH_CLIMATE_SUB_TROPICAL_LANDSCAPE :Sub-Tropesch Landschaft +STR_CHEAT_SWITCH_CLIMATE_TOYLAND_LANDSCAPE :Spillsaacheland Landschaft STR_CHEAT_CHANGE_DATE :{LTBLUE}Datum wiesselen: {ORANGE} {DATE_SHORT} STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Wiessel d'aktuellt Joer -STR_CHEAT_SETUP_PROD :{LTBLUE}Erlaabt änneren vun den Produktiounswerter: {ORANGE}{STRING} +STR_CHEAT_SETUP_PROD :{LTBLUE}Erlaabt d'ännere vun de Produktiounswäerter: {ORANGE}{STRING} # Livery window -STR_LIVERY_CAPTION :{WHITE}Neien Faarfschema +STR_LIVERY_CAPTION :{WHITE}Neie Faarfschema STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Weis generell Faarfschemen STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Weis Zuch Faarfschemen -STR_LIVERY_ROAD_VEHICLE_TOOLTIP :{BLACK}Weis Stroossengefierer Faarfschemen +STR_LIVERY_ROAD_VEHICLE_TOOLTIP :{BLACK}Weis Stroossegefierer Faarfschemen STR_LIVERY_SHIP_TOOLTIP :{BLACK}Weis d'Schëff Faarfschemen STR_LIVERY_AIRCRAFT_TOOLTIP :{BLACK}Weis Fliger Faarfschemen -STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Wiel d'Primärfaarf fir den ausgewieltenen Schema. Ctrl+Klick wielt dës Faarf fir all Schema +STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Wiel d'Primärfaarf fir den ausgewieltene Schema. Ctrl+Klick wielt dës Faarf fir all Schema STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Wiel d'Sekundärfaarf fir den ausgewieltenen Schema. Ctrl+Klick wielt dës Faarf fir all Schema -STR_LIVERY_PANEL_TOOLTIP :{BLACK}Wiel en Faarfschema fir ze änneren, oder e puer Schemen mat CTRL+Klick. Klick op d'Këscht fir d'Schemanotzung ze wiesselen +STR_LIVERY_PANEL_TOOLTIP :{BLACK}Wiel en Faarfschema fir ze änneren, oder e puer Schemen mat Ctrl+Klick. Klick op d'Këscht fir d'Schemanotzung ze wiesselen -STR_LIVERY_DEFAULT :Standard Tracht +STR_LIVERY_DEFAULT :Standard Firmefaarwen STR_LIVERY_STEAM :Damplok STR_LIVERY_DIESEL :Diesellok STR_LIVERY_ELECTRIC :Elektrolok @@ -1790,24 +1827,25 @@ STR_LIVERY_DMU :DMU STR_LIVERY_EMU :EMU STR_LIVERY_PASSENGER_WAGON_STEAM :Passagéierwaggon (Damp) STR_LIVERY_PASSENGER_WAGON_DIESEL :Passagéierwaggon (Diesel) -STR_LIVERY_PASSENGER_WAGON_ELECTRIC :Passagéierwaggon (Elektrësch) +STR_LIVERY_PASSENGER_WAGON_ELECTRIC :Passagéierwaggon (Elektresch) STR_LIVERY_PASSENGER_WAGON_MONORAIL :Passagéierwaggon (Monorail) -STR_LIVERY_PASSENGER_WAGON_MAGLEV :Passagéierwaggon (Magnéitbahn) +STR_LIVERY_PASSENGER_WAGON_MAGLEV :Passagéierwaggon (Magnéitbunn) STR_LIVERY_FREIGHT_WAGON :Gidderwaggon STR_LIVERY_BUS :Bus STR_LIVERY_TRUCK :Camion STR_LIVERY_PASSENGER_SHIP :Passagéierfähr -STR_LIVERY_FREIGHT_SHIP :Wuerenschëff -STR_LIVERY_HELICOPTER :Helicopter -STR_LIVERY_SMALL_PLANE :Klengen Fliger -STR_LIVERY_LARGE_PLANE :Groussen Fliger +STR_LIVERY_FREIGHT_SHIP :Frachtschëff +STR_LIVERY_HELICOPTER :Helikopter +STR_LIVERY_SMALL_PLANE :Klenge Fliger +STR_LIVERY_LARGE_PLANE :Grousse Fliger STR_LIVERY_PASSENGER_TRAM :Passagéiertram STR_LIVERY_FREIGHT_TRAM :Wuerentram # Face selection window STR_FACE_CAPTION :{WHITE}Gesiichtsauswiel STR_FACE_CANCEL_TOOLTIP :{BLACK}Briech d'Auswiel vum Gesiicht of -STR_FACE_OK_TOOLTIP :{BLACK}Accépteier néit Gesiicht +STR_FACE_OK_TOOLTIP :{BLACK}Neit Gesiicht akzeptéieren +STR_FACE_RANDOM :{BLACK}Duercherneen wierfelen STR_FACE_MALE_BUTTON :{BLACK}Männlech STR_FACE_MALE_TOOLTIP :{BLACK}Wielt männlech Gesiichter @@ -1821,40 +1859,40 @@ STR_FACE_SIMPLE :{BLACK}Einfach STR_FACE_SIMPLE_TOOLTIP :{BLACK}Einfach Gesiichtsauswiel STR_FACE_LOAD :{BLACK}Lueden STR_FACE_LOAD_TOOLTIP :{BLACK}Favoriséiert Gesiicht lueden -STR_FACE_LOAD_DONE :{WHITE}Äert favoriséiert Gesiicht ass aus der OpenTTD configuratiouns Datei gelueden ginn. -STR_FACE_FACECODE :{BLACK}Gesiicht no. -STR_FACE_FACECODE_TOOLTIP :{BLACK}Kuckt an wielt d'Gesiichtsnummer vum Firmenpresident +STR_FACE_LOAD_DONE :{WHITE}Äert favoriséiert Gesiicht ass aus der OpenTTD Konfiguratiounsdatei geluede ginn. +STR_FACE_FACECODE :{BLACK}Gesiicht N°. +STR_FACE_FACECODE_TOOLTIP :{BLACK}Kuckt an wielt d'Gesiichtsnummer vum Firmepresident STR_FACE_FACECODE_CAPTION :{WHITE}Kuckt an wielt d'Gesiichtsnummer STR_FACE_FACECODE_SET :{WHITE}Nei Gesiichtsnummer ass agestallt ginn STR_FACE_FACECODE_ERR :{WHITE}Konnt d'Gesiichtsnummer net setzen - muss en numereschen Wäert tëscht 0 an 4,294,967,295 sinn! STR_FACE_SAVE :{BLACK}Späicheren STR_FACE_SAVE_TOOLTIP :{BLACK}Späichert favoriséiert Gesiicht -STR_FACE_SAVE_DONE :{WHITE}Dëst Gesiicht gëtt als Favoriséiert an der OpenTTD Configuratiounsdatei gespäichert. +STR_FACE_SAVE_DONE :{WHITE}Dëst Gesiicht gëtt als favoriséiert an der OpenTTD Konfiguratiounsdatei gespäichert. STR_FACE_EUROPEAN :{BLACK}Europäesch STR_FACE_SELECT_EUROPEAN :{BLACK}Wielt europäesch Gesiichter -STR_FACE_AFRICAN :{BLACK}Afrikanësch -STR_FACE_SELECT_AFRICAN :{BLACK}Wielt afrikanësch Gesiichter +STR_FACE_AFRICAN :{BLACK}Afrikanesch +STR_FACE_SELECT_AFRICAN :{BLACK}Wielt afrikanesch Gesiichter STR_FACE_YES :Jo STR_FACE_NO :Nee -STR_FACE_MOUSTACHE_EARRING_TOOLTIP :{BLACK}Schalt Schnautz oder Ouerréng an -STR_FACE_HAIR :Hoër: -STR_FACE_HAIR_TOOLTIP :{BLACK}Hoër änneren -STR_FACE_EYEBROWS :Aaenbraaen: -STR_FACE_EYEBROWS_TOOLTIP :{BLACK}Aaenbraaen Ouerréng -STR_FACE_EYECOLOUR :Aanfaarf: -STR_FACE_EYECOLOUR_TOOLTIP :{BLACK}Aanfaarf änneren +STR_FACE_MOUSTACHE_EARRING_TOOLTIP :{BLACK}Schalt Schnauz oder Ouerréng un +STR_FACE_HAIR :Hoer: +STR_FACE_HAIR_TOOLTIP :{BLACK}Hoer änneren +STR_FACE_EYEBROWS :Aperhoer: +STR_FACE_EYEBROWS_TOOLTIP :{BLACK}Apenhoer änneren +STR_FACE_EYECOLOUR :Aafaarf: +STR_FACE_EYECOLOUR_TOOLTIP :{BLACK}Aafaarf änneren STR_FACE_GLASSES :Brëll: -STR_FACE_GLASSES_TOOLTIP :{BLACK}Brëll anschalten +STR_FACE_GLASSES_TOOLTIP :{BLACK}Brëll aschalten STR_FACE_GLASSES_TOOLTIP_2 :{BLACK}Brëll änneren STR_FACE_NOSE :Nues: STR_FACE_NOSE_TOOLTIP :{BLACK}Nues änneren STR_FACE_LIPS :Lëpsen: -STR_FACE_MOUSTACHE :Schnautz: -STR_FACE_LIPS_MOUSTACHE_TOOLTIP :{BLACK}Lëpsen oder Schnautz änneren +STR_FACE_MOUSTACHE :Schnauz: +STR_FACE_LIPS_MOUSTACHE_TOOLTIP :{BLACK}Lëpsen oder Schnauz änneren STR_FACE_CHIN :Kënn: STR_FACE_CHIN_TOOLTIP :{BLACK}Kënn änneren -STR_FACE_JACKET :Mantel: -STR_FACE_JACKET_TOOLTIP :{BLACK}Mantel änneren +STR_FACE_JACKET :Paltong: +STR_FACE_JACKET_TOOLTIP :{BLACK}Paltong änneren STR_FACE_COLLAR :Halsband: STR_FACE_COLLAR_TOOLTIP :{BLACK}Halsband änneren STR_FACE_TIE :Krawatt: @@ -1868,7 +1906,7 @@ STR_NETWORK_SERVER_LIST_ADVERTISED_TOOLTIP :{BLACK}Wiel të STR_NETWORK_SERVER_LIST_ADVERTISED_NO :Nee STR_NETWORK_SERVER_LIST_ADVERTISED_YES :Jo STR_NETWORK_SERVER_LIST_PLAYER_NAME :{BLACK}Spillernumm: -STR_NETWORK_SERVER_LIST_ENTER_NAME_TOOLTIP :{BLACK}Daat ass den Numm mat deem iersch dei aaner Spiller Identifizéieren kënnen +STR_NETWORK_SERVER_LIST_ENTER_NAME_TOOLTIP :{BLACK}Daat ass den Numm mat deem iech déi aner Spiller Identifizéieren kënnen STR_NETWORK_SERVER_LIST_GAME_NAME :{BLACK}Numm STR_NETWORK_SERVER_LIST_GAME_NAME_TOOLTIP :{BLACK}Numm vum Spill @@ -1877,16 +1915,16 @@ STR_NETWORK_SERVER_LIST_CLIENTS_CAPTION :{BLACK}Spiller STR_NETWORK_SERVER_LIST_CLIENTS_CAPTION_TOOLTIP :{BLACK}Spiller online / max Spiller{}Firmen online / max Firmen STR_NETWORK_SERVER_LIST_MAP_SIZE_SHORT :{BLACK}{COMMA}x{COMMA} STR_NETWORK_SERVER_LIST_MAP_SIZE_CAPTION :{BLACK}Kaartegréisst -STR_NETWORK_SERVER_LIST_MAP_SIZE_CAPTION_TOOLTIP :{BLACK}Kaartegréisst vum Spill{}Klicken fir dono ze sortéieren +STR_NETWORK_SERVER_LIST_MAP_SIZE_CAPTION_TOOLTIP :{BLACK}Kaartegréisst vum Spill{}Klicken fir dorop ze sortéieren STR_NETWORK_SERVER_LIST_DATE_CAPTION :{BLACK}Datum STR_NETWORK_SERVER_LIST_DATE_CAPTION_TOOLTIP :{BLACK}Momentanen Datum STR_NETWORK_SERVER_LIST_YEARS_CAPTION :{BLACK}Joer -STR_NETWORK_SERVER_LIST_YEARS_CAPTION_TOOLTIP :{BLACK}Unzuel vun Joer wou{}daat Spill leeft +STR_NETWORK_SERVER_LIST_YEARS_CAPTION_TOOLTIP :{BLACK}Unzuel u Joer wou{}daat Spill leeft STR_NETWORK_SERVER_LIST_INFO_ICONS_TOOLTIP :{BLACK}Sprooch, Serverversioun, etc. STR_NETWORK_SERVER_LIST_CLICK_GAME_TO_SELECT :{BLACK}Klick op en Spill aus der Lëscht fir et auszewielen -STR_NETWORK_SERVER_LIST_LAST_JOINED_SERVER :{BLACK}Server deems du d'leschte Kéier bäigetrueden bass: -STR_NETWORK_SERVER_LIST_CLICK_TO_SELECT_LAST :{BLACK}Klick fir den Server ze wielen deens du d'leschte Kéier haas +STR_NETWORK_SERVER_LIST_LAST_JOINED_SERVER :{BLACK}Server deems du d'leschte Kéier bäigetruede bass: +STR_NETWORK_SERVER_LIST_CLICK_TO_SELECT_LAST :{BLACK}Klick fir de Server ze wielen deens du d'leschte Kéier haas STR_NETWORK_SERVER_LIST_GAME_INFO :{SILVER}SPILL INFO STR_NETWORK_SERVER_LIST_CLIENTS :{SILVER}Spiller: {WHITE}{COMMA} / {COMMA} - {COMMA} / {COMMA} @@ -1915,84 +1953,84 @@ STR_NETWORK_SERVER_LIST_START_SERVER :{BLACK}Server s STR_NETWORK_SERVER_LIST_START_SERVER_TOOLTIP :{BLACK}Eegenen Server starten STR_NETWORK_SERVER_LIST_PLAYER_NAME_OSKTITLE :{BLACK}Gëff däin Numm an -STR_NETWORK_SERVER_LIST_ENTER_IP :{BLACK}d'Address vum Host unginn +STR_NETWORK_SERVER_LIST_ENTER_IP :{BLACK}D'Address vum Host uginn # Start new multiplayer server STR_NETWORK_START_SERVER_CAPTION :{WHITE}Nei Multiplayerpartie starten STR_NETWORK_START_SERVER_NEW_GAME_NAME :{BLACK}Spillnumm: -STR_NETWORK_START_SERVER_NEW_GAME_NAME_TOOLTIP :{BLACK}Den Numm deen an der Lëscht vun den Spiller ugewissen gëtt +STR_NETWORK_START_SERVER_NEW_GAME_NAME_TOOLTIP :{BLACK}Den Numm deen an der Lëscht vun de Spiller ugewisen gëtt STR_NETWORK_START_SERVER_SET_PASSWORD :{BLACK}Passwuert setzen STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}En Passwuert fir d'Spill setzen, dass et net Public accessibel ass STR_NETWORK_START_SERVER_UNADVERTISED :Nee STR_NETWORK_START_SERVER_ADVERTISED :Jo STR_NETWORK_START_SERVER_CLIENTS_SELECT :{BLACK}{NUM} Spiller -STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Max Spiller: -STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS_TOOLTIP :{BLACK}Maximal Unzuel vun den Clients. Et muss net all Slot gefëllt sin. +STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Maximal Spiller: +STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS_TOOLTIP :{BLACK}Maximal Unzuel vun de Clients. Et muss net all Slot gefëllt sinn. STR_NETWORK_START_SERVER_COMPANIES_SELECT :{BLACK}{NUM} Firm{P a en} -STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}Max Firmen: -STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES_TOOLTIP :{BLACK}D'Unzuel vun den Firmen limitéieren +STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}Maximal Firmen: +STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES_TOOLTIP :{BLACK}D'Unzuel vun de Firme limitéieren STR_NETWORK_START_SERVER_SPECTATORS_SELECT :{BLACK}{NUM} Zuschauer -STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS :{BLACK}Max Zuschauer: +STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS :{BLACK}Maximal Zuschauer: STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS_TOOLTIP :{BLACK}D'Unzuel vun den Zuschauer limitéiren -STR_NETWORK_START_SERVER_LANGUAGE_SPOKEN :{BLACK}Geschwaaten Sprooch: -STR_NETWORK_START_SERVER_LANGUAGE_TOOLTIP :{BLACK}Aaner Leit gesinn wéi eng Sprooch um Server geschwaat gëtt +STR_NETWORK_START_SERVER_LANGUAGE_SPOKEN :{BLACK}Geschwate Sprooch: +STR_NETWORK_START_SERVER_LANGUAGE_TOOLTIP :{BLACK}Aner Leit gesinn wéieng Sprooch um Server geschwat gëtt STR_NETWORK_START_SERVER_NEW_GAME_NAME_OSKTITLE :{BLACK}Gëff en Numm fir d'Spill un # Network game languages ############ Leave those lines in this order!! STR_NETWORK_LANG_ANY :Egal -STR_NETWORK_LANG_ENGLISH :Englësch +STR_NETWORK_LANG_ENGLISH :Englesch STR_NETWORK_LANG_GERMAN :Däitsch STR_NETWORK_LANG_FRENCH :Franséisch -STR_NETWORK_LANG_BRAZILIAN :Brasilianësch -STR_NETWORK_LANG_BULGARIAN :Bulgarësch -STR_NETWORK_LANG_CHINESE :Chinesësch -STR_NETWORK_LANG_CZECH :Tscheschësch -STR_NETWORK_LANG_DANISH :Dänësch -STR_NETWORK_LANG_DUTCH :Holländësch +STR_NETWORK_LANG_BRAZILIAN :Brasilianesch +STR_NETWORK_LANG_BULGARIAN :Bulgaresch +STR_NETWORK_LANG_CHINESE :Chinesesch +STR_NETWORK_LANG_CZECH :Tschechesch +STR_NETWORK_LANG_DANISH :Dänesch +STR_NETWORK_LANG_DUTCH :Holländesch STR_NETWORK_LANG_ESPERANTO :Esperanto -STR_NETWORK_LANG_FINNISH :Finnësch -STR_NETWORK_LANG_HUNGARIAN :Ungarësch +STR_NETWORK_LANG_FINNISH :Finnesch +STR_NETWORK_LANG_HUNGARIAN :Ungaresch STR_NETWORK_LANG_ICELANDIC :Isländesch -STR_NETWORK_LANG_ITALIAN :Italienësch -STR_NETWORK_LANG_JAPANESE :Japanësch -STR_NETWORK_LANG_KOREAN :Koreanësch -STR_NETWORK_LANG_LITHUANIAN :Lithauësch -STR_NETWORK_LANG_NORWEGIAN :Norwegësch -STR_NETWORK_LANG_POLISH :Polnësch -STR_NETWORK_LANG_PORTUGUESE :Portugiesësch -STR_NETWORK_LANG_ROMANIAN :Rumänësch -STR_NETWORK_LANG_RUSSIAN :Russësch -STR_NETWORK_LANG_SLOVAK :Slovakësch -STR_NETWORK_LANG_SLOVENIAN :Slovenësch -STR_NETWORK_LANG_SPANISH :Spuenësch -STR_NETWORK_LANG_SWEDISH :Schwedësch -STR_NETWORK_LANG_TURKISH :Türkësch -STR_NETWORK_LANG_UKRAINIAN :Ukrainësch -STR_NETWORK_LANG_AFRIKAANS :Afrikanësch -STR_NETWORK_LANG_CROATIAN :Kroatësch -STR_NETWORK_LANG_CATALAN :Katalanësch -STR_NETWORK_LANG_ESTONIAN :Estnësch -STR_NETWORK_LANG_GALICIAN :Galicianësch -STR_NETWORK_LANG_GREEK :Grieschësch -STR_NETWORK_LANG_LATVIAN :Lettësch +STR_NETWORK_LANG_ITALIAN :Italienesch +STR_NETWORK_LANG_JAPANESE :Japanesch +STR_NETWORK_LANG_KOREAN :Koreanesch +STR_NETWORK_LANG_LITHUANIAN :Litauesch +STR_NETWORK_LANG_NORWEGIAN :Norwegesch +STR_NETWORK_LANG_POLISH :Polnesch +STR_NETWORK_LANG_PORTUGUESE :Portugiesesch +STR_NETWORK_LANG_ROMANIAN :Rumänesch +STR_NETWORK_LANG_RUSSIAN :Russesch +STR_NETWORK_LANG_SLOVAK :Slovakesch +STR_NETWORK_LANG_SLOVENIAN :Slovenesch +STR_NETWORK_LANG_SPANISH :Spuenesch +STR_NETWORK_LANG_SWEDISH :Schwedesch +STR_NETWORK_LANG_TURKISH :Türkesch +STR_NETWORK_LANG_UKRAINIAN :Ukrainesch +STR_NETWORK_LANG_AFRIKAANS :Afrikaans +STR_NETWORK_LANG_CROATIAN :Kroatesch +STR_NETWORK_LANG_CATALAN :Katalanesch +STR_NETWORK_LANG_ESTONIAN :Estnesch +STR_NETWORK_LANG_GALICIAN :Gälesch +STR_NETWORK_LANG_GREEK :Griechesch +STR_NETWORK_LANG_LATVIAN :Lettesch ############ End of leave-in-this-order # Network game lobby -STR_NETWORK_GAME_LOBBY_CAPTION :{WHITE}Multiplayer-Spill Empfang +STR_NETWORK_GAME_LOBBY_CAPTION :{WHITE}Multiplayer-Spill Lobby STR_NETWORK_GAME_LOBBY_PREPARE_TO_JOIN :{BLACK}Preparéiert fir bäizetrieden: {ORANGE}{STRING} -STR_NETWORK_GAME_LOBBY_COMPANY_LIST_TOOLTIP :{BLACK}Eng Lëscht vun den Firmen an dësem Spill. Du kanns enger bäitrieden oder eng nei opmaachen. +STR_NETWORK_GAME_LOBBY_COMPANY_LIST_TOOLTIP :{BLACK}Eng Lëscht vun de Firmen an dësem Spill. Du kanns enger bäitrieden oder eng nei opmaachen. STR_NETWORK_GAME_LOBBY_COMPANY_INFO :{SILVER}FIRMENINFO STR_NETWORK_GAME_LOBBY_COMPANY_NAME :{SILVER}Firmennumm: {WHITE}{STRING} STR_NETWORK_GAME_LOBBY_INAUGURATION_YEAR :{SILVER}Grënnung: {WHITE}{NUM} -STR_NETWORK_GAME_LOBBY_VALUE :{SILVER}Firmenwäert: {WHITE}{CURRENCY_LONG} +STR_NETWORK_GAME_LOBBY_VALUE :{SILVER}Firmewäert: {WHITE}{CURRENCY_LONG} STR_NETWORK_GAME_LOBBY_CURRENT_BALANCE :{SILVER}Kontostand: {WHITE}{CURRENCY_LONG} -STR_NETWORK_GAME_LOBBY_LAST_YEARS_INCOME :{SILVER}Akommes vum leschten Joer: {WHITE}{CURRENCY_LONG} +STR_NETWORK_GAME_LOBBY_LAST_YEARS_INCOME :{SILVER}Akommes vum leschte Joer: {WHITE}{CURRENCY_LONG} STR_NETWORK_GAME_LOBBY_PERFORMANCE :{SILVER}Performance: {WHITE}{NUM} STR_NETWORK_GAME_LOBBY_VEHICLES :{SILVER}Gefierer: {WHITE}{NUM} {TRAIN}, {NUM} {LORRY}, {NUM} {BUS}, {NUM} {SHIP}, {NUM} {PLANE} @@ -2002,9 +2040,9 @@ STR_NETWORK_GAME_LOBBY_PLAYERS :{SILVER}Spiller STR_NETWORK_GAME_LOBBY_NEW_COMPANY :{BLACK}Nei Firma STR_NETWORK_GAME_LOBBY_NEW_COMPANY_TOOLTIP :{BLACK}Nei Firma erstellen STR_NETWORK_GAME_LOBBY_SPECTATE_GAME :{BLACK}Dem Spill nokucken -STR_NETWORK_GAME_LOBBY_SPECTATE_GAME_TOOLTIP :{BLACK}D'Spill als Zuschauer verfolgen +STR_NETWORK_GAME_LOBBY_SPECTATE_GAME_TOOLTIP :{BLACK}Dem Spill als Zuschauer nokucken STR_NETWORK_GAME_LOBBY_JOIN_COMPANY :{BLACK}Firma bäitrieden -STR_NETWORK_GAME_LOBBY_JOIN_COMPANY_TOOLTIP :{BLACK}Déi Firma mat verwalten +STR_NETWORK_GAME_LOBBY_JOIN_COMPANY_TOOLTIP :{BLACK}Des Firma matverwalten # Network connecting window STR_NETWORK_CONNECTING_CAPTION :{WHITE}Connectioun... @@ -2015,19 +2053,19 @@ STR_NETWORK_CONNECTING_2 :{BLACK}(2/6) Au STR_NETWORK_CONNECTING_3 :{BLACK}(3/6) Waarden... STR_NETWORK_CONNECTING_4 :{BLACK}(4/6) Kaart eroflueden... STR_NETWORK_CONNECTING_5 :{BLACK}(5/6) Daten verarbëschten... -STR_NETWORK_CONNECTING_6 :{BLACK}(6/6) Registréiert... +STR_NETWORK_CONNECTING_6 :{BLACK}(6/6) Registréierung... STR_NETWORK_CONNECTING_SPECIAL_1 :{BLACK}Ruffen d'Spillinfo of.. STR_NETWORK_CONNECTING_SPECIAL_2 :{BLACK}Ruffen d'Firmeninfos of... ############ End of leave-in-this-order -STR_NETWORK_CONNECTING_WAITING :{BLACK}{NUM} Spiller firun ierch -STR_NETWORK_CONNECTING_DOWNLOADING_1 :{BLACK}{BYTES} souwait gedownload -STR_NETWORK_CONNECTING_DOWNLOADING_2 :{BLACK}{BYTES} / {BYTES} erofgeluden +STR_NETWORK_CONNECTING_WAITING :{BLACK}{NUM} Spiller firun dir +STR_NETWORK_CONNECTING_DOWNLOADING_1 :{BLACK}{BYTES} souwäit erofgelueden +STR_NETWORK_CONNECTING_DOWNLOADING_2 :{BLACK}{BYTES} / {BYTES} erofgelueden STR_NETWORK_CONNECTION_DISCONNECT :{BLACK}Verbindung trennen -STR_NETWORK_NEED_GAME_PASSWORD_CAPTION :{WHITE}Server ass geschützt. Passwuert anginn -STR_NETWORK_NEED_COMPANY_PASSWORD_CAPTION :{WHITE}Firma ass geschützt. Passwuert anginn +STR_NETWORK_NEED_GAME_PASSWORD_CAPTION :{WHITE}Server ass geschützt. Passwuert aginn +STR_NETWORK_NEED_COMPANY_PASSWORD_CAPTION :{WHITE}Firma ass geschützt. Passwuert aginn # Network company list added strings STR_NETWORK_COMPANY_LIST_CLIENT_LIST :{WHITE}Spillerlëscht @@ -2035,68 +2073,68 @@ STR_NETWORK_COMPANY_LIST_SPECTATE :{WHITE}Nokucken STR_NETWORK_COMPANY_LIST_NEW_COMPANY :{WHITE}Nei Firma # Network client list -STR_NETWORK_CLIENTLIST_KICK :Kick -STR_NETWORK_CLIENTLIST_BAN :Ban -STR_NETWORK_CLIENTLIST_GIVE_MONEY :Suen ginn -STR_NETWORK_CLIENTLIST_SPEAK_TO_ALL :Jidderengem soen -STR_NETWORK_CLIENTLIST_SPEAK_TO_COMPANY :Der Firma soen -STR_NETWORK_CLIENTLIST_SPEAK_TO_CLIENT :Privat Meldung +STR_NETWORK_CLIENTLIST_KICK :Kicken +STR_NETWORK_CLIENTLIST_BAN :Bannen +STR_NETWORK_CLIENTLIST_GIVE_MONEY :Sue ginn +STR_NETWORK_CLIENTLIST_SPEAK_TO_ALL :Mat alle schwetzen +STR_NETWORK_CLIENTLIST_SPEAK_TO_COMPANY :Mat der Firma schwetzen +STR_NETWORK_CLIENTLIST_SPEAK_TO_CLIENT :Privatmessage STR_NETWORK_SERVER :Server STR_NETWORK_CLIENT :Spiller STR_NETWORK_SPECTATORS :Zuschauer -STR_NETWORK_GIVE_MONEY_CAPTION :{WHITE}Gëff den Betrag un deenst du wëlls ginn +STR_NETWORK_GIVE_MONEY_CAPTION :{WHITE}Gëff de Betrag un deens du wëlls ginn STR_NETWORK_TOOLBAR_LIST_SPECTATOR :{BLACK}Zuschauer # Network set password STR_COMPANY_PASSWORD_CANCEL :{BLACK}Späicher d'Passwuert net STR_COMPANY_PASSWORD_OK :{BLACK}Benotz daat neit Passwuert fir d'Firma -STR_COMPANY_PASSWORD_CAPTION :{WHITE}Firmen-Passwuert -STR_COMPANY_PASSWORD_MAKE_DEFAULT :{BLACK}Standard Firmen-Passwuert -STR_COMPANY_PASSWORD_MAKE_DEFAULT_TOOLTIP :{BLACK}Benotzt dëst Passwuert als Standard fir néi Firmen +STR_COMPANY_PASSWORD_CAPTION :{WHITE}Firme-Passwuert +STR_COMPANY_PASSWORD_MAKE_DEFAULT :{BLACK}Standard Firme-Passwuert +STR_COMPANY_PASSWORD_MAKE_DEFAULT_TOOLTIP :{BLACK}Benotzt dëst Passwuert als Standard fir nei Firmen # Network company info join/password STR_COMPANY_VIEW_JOIN :{BLACK}Bäitrieden -STR_COMPANY_VIEW_JOIN_TOOLTIP :{BLACK}Bäitrieden an mat där Firma spillen +STR_COMPANY_VIEW_JOIN_TOOLTIP :{BLACK}Bäitrieden an mat deser Firma spillen STR_COMPANY_VIEW_PASSWORD :{BLACK}Passwuert STR_COMPANY_VIEW_PASSWORD_TOOLTIP :{BLACK}Setzt en Passwuert fir nëmmen authoriséiert Benotzer spillen ze loossen STR_COMPANY_VIEW_SET_PASSWORD :{BLACK}Setzt d'Firmen-Passwuert # Network chat -STR_NETWORK_CHAT_SEND :{BLACK}Schécken +STR_NETWORK_CHAT_SEND :{BLACK}Ofschécken STR_NETWORK_CHAT_COMPANY_CAPTION :[Team] : STR_NETWORK_CHAT_CLIENT_CAPTION :[Privat] {STRING}: STR_NETWORK_CHAT_ALL_CAPTION :[All] : STR_NETWORK_CHAT_COMPANY :[Team] {STRING}: {WHITE}{STRING} -STR_NETWORK_CHAT_TO_COMPANY :[Team] Zu {STRING}: {WHITE}{STRING} -STR_NETWORK_CHAT_CLIENT :[Private] {STRING}: {WHITE}{STRING} -STR_NETWORK_CHAT_TO_CLIENT :[Privat] Zu {STRING}: {WHITE}{STRING} +STR_NETWORK_CHAT_TO_COMPANY :[Team] Un: {STRING}: {WHITE}{STRING} +STR_NETWORK_CHAT_CLIENT :[Privat] {STRING}: {WHITE}{STRING} +STR_NETWORK_CHAT_TO_CLIENT :[Privat] Un: {STRING}: {WHITE}{STRING} STR_NETWORK_CHAT_ALL :[All] {STRING}: {WHITE}{STRING} STR_NETWORK_CHAT_OSKTITLE :{BLACK}Text fir Chat aginn # Network messages -STR_NETWORK_ERROR_NOTAVAILABLE :{WHITE}Keng Netzwierkgeräter font oder compiléiert ouni ENABLE_NETWORK -STR_NETWORK_ERROR_NOSERVER :{WHITE}Konnt kéng Netzwierkspiller fannen -STR_NETWORK_ERROR_NOCONNECTION :{WHITE}Den Server huet net op d'Ufro geäntwert -STR_NETWORK_ERROR_NEWGRF_MISMATCH :{WHITE}Konnt sech wéinst NewGRF ënnerscheed net connectéieren +STR_NETWORK_ERROR_NOTAVAILABLE :{WHITE}Keng Netzwierkgeräter fonnt oder compiléiert ouni ENABLE_NETWORK +STR_NETWORK_ERROR_NOSERVER :{WHITE}Konnt keng Netzwierkspiller fannen +STR_NETWORK_ERROR_NOCONNECTION :{WHITE}De Server huet net op d'Ufro geäntwert +STR_NETWORK_ERROR_NEWGRF_MISMATCH :{WHITE}Konnt sech wéinst ënnerscheedlechen NewGRF net connectéieren STR_NETWORK_ERROR_DESYNC :{WHITE}Netzwierksyncronisatiouns-Fehler STR_NETWORK_ERROR_LOSTCONNECTION :{WHITE}Netzwierkverbindung verluer -STR_NETWORK_ERROR_SAVEGAMEERROR :{WHITE}Konnt den Spillstand net lueden -STR_NETWORK_ERROR_SERVER_START :{WHITE}Konnt den Server net starten -STR_NETWORK_ERROR_CLIENT_START :{WHITE}Konnt sëch net connectéieren +STR_NETWORK_ERROR_SAVEGAMEERROR :{WHITE}Konnt de Spillstand net lueden +STR_NETWORK_ERROR_SERVER_START :{WHITE}Konnt de Server net starten +STR_NETWORK_ERROR_CLIENT_START :{WHITE}Konnt sech net connectéieren STR_NETWORK_ERROR_TIMEOUT :{WHITE}Connectioun #{NUM} ofgelaaf STR_NETWORK_ERROR_SERVER_ERROR :{WHITE}En Protokolfehler ass entstaanen an d'Connectioun ass getrennt ginn -STR_NETWORK_ERROR_WRONG_REVISION :{WHITE}D'Versioun vum Client stëmmt net mat där vum Server iwerëneen +STR_NETWORK_ERROR_WRONG_REVISION :{WHITE}D'Versioun vum Client stëmmt net mat däer vum Server iwwereneen STR_NETWORK_ERROR_WRONG_PASSWORD :{WHITE}Falscht Passwuert -STR_NETWORK_ERROR_SERVER_FULL :{WHITE}Den Server ass voll +STR_NETWORK_ERROR_SERVER_FULL :{WHITE}De Server ass voll STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}Du bass vun dësem Server gebannt STR_NETWORK_ERROR_KICKED :{WHITE}Du goufs aus dem Spill geheit STR_NETWORK_ERROR_CHEATER :{WHITE}Cheaten ass op dësem Server net erlaabt -STR_NETWORK_ERROR_TOO_MANY_COMMANDS :{WHITE}Du hues zevill Befehler un den Server geschéckt -STR_NETWORK_ERROR_TIMEOUT_PASSWORD :{WHITE}Du hues ze laang gebraucht fir en Passwuert anzeginn -STR_NETWORK_ERROR_TIMEOUT_COMPUTER :{WHITE}Dain Computer brauch ze laang fir bäizetrieden +STR_NETWORK_ERROR_TOO_MANY_COMMANDS :{WHITE}Du hues zevill Befehler un de Server geschéckt +STR_NETWORK_ERROR_TIMEOUT_PASSWORD :{WHITE}Du hues ze laang gebraucht fir e Passwuert anzeginn +STR_NETWORK_ERROR_TIMEOUT_COMPUTER :{WHITE}Däin Computer brauch ze laang fir bäizetrieden STR_NETWORK_ERROR_TIMEOUT_MAP :{WHITE}Du hues ze laang gebraucht fir d'Kaart rofzelueden STR_NETWORK_ERROR_TIMEOUT_JOIN :{WHITE}Du hues ze laang gebraucht fir dem Server bäizetrieden @@ -2136,40 +2174,40 @@ STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_3 :Spill nach ëmm STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_4 :Spill nach pauséiert ({STRING}, {STRING}, {STRING}, {STRING}) STR_NETWORK_SERVER_MESSAGE_GAME_UNPAUSED :Spill geet weider ({STRING}) STR_NETWORK_SERVER_MESSAGE_GAME_REASON_NOT_ENOUGH_PLAYERS :Unzuel Spiller -STR_NETWORK_SERVER_MESSAGE_GAME_REASON_CONNECTING_CLIENTS :Klienten verbannen +STR_NETWORK_SERVER_MESSAGE_GAME_REASON_CONNECTING_CLIENTS :Spiller verbannen STR_NETWORK_SERVER_MESSAGE_GAME_REASON_MANUAL :manuell STR_NETWORK_SERVER_MESSAGE_GAME_REASON_GAME_SCRIPT :Spill-Script ############ End of leave-in-this-order STR_NETWORK_MESSAGE_CLIENT_LEAVING :verloossen -STR_NETWORK_MESSAGE_CLIENT_JOINED :*** {STRING} ass dem Spill baigetrueden +STR_NETWORK_MESSAGE_CLIENT_JOINED :*** {STRING} ass dem Spill bäigetrueden STR_NETWORK_MESSAGE_CLIENT_JOINED_ID :*** {STRING} ass an d'Spill komm (Client #{2:NUM}) STR_NETWORK_MESSAGE_CLIENT_COMPANY_JOIN :*** {STRING} ass bei d'Firma #{2:NUM} gaangen STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} ass als Zuschauer do STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} huet eng nei Firma gegrënnt (#{2:NUM}) -STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} huet d'Spill verloos ({2:STRING}) +STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} huet d'Spill verlooss ({2:STRING}) STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} huet säin Numm op {STRING} gewiesselt STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} huet ärer Firma {2:CURRENCY_LONG} ginn STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Du hues dem {1:STRING} {2:CURRENCY_LONG} ginn -STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Den Server huet d'Sessioun zougemaach -STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Den Server gëtt nei gestart...{}Weg. waarden... +STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}De Server huet d'Sessioun zougemaach +STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}De Server gëtt nei gestart...{}W.e.g. waarden... # Content downloading window -STR_CONTENT_TITLE :{WHITE}Inhalt Download +STR_CONTENT_TITLE :{WHITE}Lueden Inhalt erof STR_CONTENT_TYPE_CAPTION :{BLACK}Typ STR_CONTENT_TYPE_CAPTION_TOOLTIP :{BLACK}Typ vum Inhalt STR_CONTENT_NAME_CAPTION :{BLACK}Numm STR_CONTENT_NAME_CAPTION_TOOLTIP :{BLACK}Numm vum Inhalt STR_CONTENT_MATRIX_TOOLTIP :{BLACK}Klick op eng Linn fir Detailer{}Klick Checkbox fir et downzeloaden -STR_CONTENT_SELECT_ALL_CAPTION :{BLACK}Wiel alles -STR_CONTENT_SELECT_ALL_CAPTION_TOOLTIP :{BLACK}Wiell all Inhalt fir den Download -STR_CONTENT_SELECT_UPDATES_CAPTION :{BLACK}Wiel Upgrades -STR_CONTENT_SELECT_UPDATES_CAPTION_TOOLTIP :{BLACK}Markéier all Inhalt,den en Upgrade fir existéirenden Inhalt ass, als Download +STR_CONTENT_SELECT_ALL_CAPTION :{BLACK}Alles uwielen +STR_CONTENT_SELECT_ALL_CAPTION_TOOLTIP :{BLACK}Wiel all Inhalt fir den Download +STR_CONTENT_SELECT_UPDATES_CAPTION :{BLACK}Upgrades uwielen +STR_CONTENT_SELECT_UPDATES_CAPTION_TOOLTIP :{BLACK}Markéier all Inhalt,den en Upgrade fir existéirenden Inhalt ass als Download STR_CONTENT_UNSELECT_ALL_CAPTION :{BLACK}Alles ofwielen STR_CONTENT_UNSELECT_ALL_CAPTION_TOOLTIP :{BLACK}Alles markéiren fir net downzeloaden STR_CONTENT_SEARCH_EXTERNAL :{BLACK}Extern Websäiten durchsichen STR_CONTENT_SEARCH_EXTERNAL_TOOLTIP :{BLACK}Sich Inhalter déi net op der OpenTTD Downloadwebsäit stin op aneren Websäiten STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER_CAPTION :{WHITE}Du verléiss OpenTTD! -STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER :{WHITE}Terms and conditions fir Inhalter vun externen Websäiten ze downloaden goufen geännert.{}Du muss op där Säit nokucken wéi een den Inhalt installéiert.{}Wellsde weiderman? +STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER :{WHITE}Terms and conditions fir Inhalter vun externe Websäiten ze downloade goufe geännert.{}Du muss op där Säit nokucken wéi een den Inhalt installéiert.{}Wellsde weiderman? STR_CONTENT_FILTER_TITLE :{BLACK}Tag-/Nummfilter: STR_CONTENT_OPEN_URL :{BLACK}Websäit besichen STR_CONTENT_OPEN_URL_TOOLTIP :{BLACK}Besicht d'Websäit vun dësem Inhalt @@ -2177,23 +2215,23 @@ STR_CONTENT_DOWNLOAD_CAPTION :{BLACK}Download STR_CONTENT_DOWNLOAD_CAPTION_TOOLTIP :{BLACK}Start den Download vum ausgewielten Inhalt STR_CONTENT_TOTAL_DOWNLOAD_SIZE :{SILVER}Total Downloadgréisst: {WHITE}{BYTES} STR_CONTENT_DETAIL_TITLE :{SILVER}INFO -STR_CONTENT_DETAIL_SUBTITLE_UNSELECTED :{SILVER}Dëst gouf net fir den Download gewielt -STR_CONTENT_DETAIL_SUBTITLE_SELECTED :{SILVER}Du hues dëst fir den Download gewielt -STR_CONTENT_DETAIL_SUBTITLE_AUTOSELECTED :{SILVER}Dës Ofhängegkeet gouf ausgewielt fir den download -STR_CONTENT_DETAIL_SUBTITLE_ALREADY_HERE :{SILVER}Du hues dëst schon -STR_CONTENT_DETAIL_SUBTITLE_DOES_NOT_EXIST :{SILVER}Dësen Inhalt ass net bekannt an kann net an OpenTTD downgeload gin -STR_CONTENT_DETAIL_UPDATE :{SILVER}Dëst ass en Austausch fir existent {STRING} +STR_CONTENT_DETAIL_SUBTITLE_UNSELECTED :{SILVER}Dest gouf net fir den Download gewielt +STR_CONTENT_DETAIL_SUBTITLE_SELECTED :{SILVER}Du hues dest fir den Download gewielt +STR_CONTENT_DETAIL_SUBTITLE_AUTOSELECTED :{SILVER}Des Ofhängegkeet gouf ausgewielt fir den Download +STR_CONTENT_DETAIL_SUBTITLE_ALREADY_HERE :{SILVER}Du hues dest schon +STR_CONTENT_DETAIL_SUBTITLE_DOES_NOT_EXIST :{SILVER}Dësen Inhalt ass net bekannt an kann net an OpenTTD downgeload ginn +STR_CONTENT_DETAIL_UPDATE :{SILVER}Dest ass en Austausch fir en existent/en {STRING} STR_CONTENT_DETAIL_NAME :{SILVER}Numm: {WHITE}{STRING} STR_CONTENT_DETAIL_VERSION :{SILVER}Versioun: {WHITE}{STRING} STR_CONTENT_DETAIL_DESCRIPTION :{SILVER}Beschreiwung: {WHITE}{STRING} STR_CONTENT_DETAIL_URL :{SILVER}URL: {WHITE}{STRING} STR_CONTENT_DETAIL_TYPE :{SILVER}Typ: {WHITE}{STRING} -STR_CONTENT_DETAIL_FILESIZE :{SILVER}Download Gréisst: {WHITE}{BYTES} +STR_CONTENT_DETAIL_FILESIZE :{SILVER}Downloadgréisst: {WHITE}{BYTES} STR_CONTENT_DETAIL_SELECTED_BECAUSE_OF :{SILVER}Ausgewielt wéinst: {WHITE}{STRING} STR_CONTENT_DETAIL_DEPENDENCIES :{SILVER}Ofhängegkeeten: {WHITE}{STRING} STR_CONTENT_DETAIL_TAGS :{SILVER}Tags: {WHITE}{STRING} -STR_CONTENT_NO_ZLIB :{WHITE}OpenTTD ass ouni "zlib" support compiléiert... -STR_CONTENT_NO_ZLIB_SUB :{WHITE}... Inhaltdownload ass net méiglech! +STR_CONTENT_NO_ZLIB :{WHITE}OpenTTD ass ouni "zlib" Support compiléiert... +STR_CONTENT_NO_ZLIB_SUB :{WHITE}... Inhalt eroflueden ass net méiglech! # Order of these is important! STR_CONTENT_TYPE_BASE_GRAPHICS :Standard Grafiken @@ -2201,28 +2239,28 @@ STR_CONTENT_TYPE_NEWGRF :NewGRF STR_CONTENT_TYPE_AI :KI STR_CONTENT_TYPE_AI_LIBRARY :KI Librairie STR_CONTENT_TYPE_SCENARIO :Szenario -STR_CONTENT_TYPE_HEIGHTMAP :Héischtenkaart +STR_CONTENT_TYPE_HEIGHTMAP :Héischtekaart STR_CONTENT_TYPE_BASE_SOUNDS :Basis Sounds STR_CONTENT_TYPE_BASE_MUSIC :Basis Musik STR_CONTENT_TYPE_GAME_SCRIPT :Spill-Script STR_CONTENT_TYPE_GS_LIBRARY :GS Librairie # Content downloading progress window -STR_CONTENT_DOWNLOAD_TITLE :{WHITE}Downloaden Inhalt... +STR_CONTENT_DOWNLOAD_TITLE :{WHITE}Lueden Inhalt erof... STR_CONTENT_DOWNLOAD_INITIALISE :{WHITE}Froen Daten un... -STR_CONTENT_DOWNLOAD_FILE :{WHITE}Grad um downloaden {STRING} ({NUM} vun {NUM}) +STR_CONTENT_DOWNLOAD_FILE :{WHITE}Lueden grad {STRING} erof. ({NUM} vun {NUM}) STR_CONTENT_DOWNLOAD_COMPLETE :{WHITE}Download fäerdeg STR_CONTENT_DOWNLOAD_PROGRESS_SIZE :{WHITE}{BYTES} vun {BYTES} downgeload ({NUM} %) # Content downloading error messages -STR_CONTENT_ERROR_COULD_NOT_CONNECT :{WHITE}Konnt net op den content server konnektéiren... -STR_CONTENT_ERROR_COULD_NOT_DOWNLOAD :{WHITE}Downloading mësslong... -STR_CONTENT_ERROR_COULD_NOT_DOWNLOAD_CONNECTION_LOST :{WHITE}... Konnektioun verluer +STR_CONTENT_ERROR_COULD_NOT_CONNECT :{WHITE}Konnt net op de Contentserver konnektéiren... +STR_CONTENT_ERROR_COULD_NOT_DOWNLOAD :{WHITE}Download mësslong... +STR_CONTENT_ERROR_COULD_NOT_DOWNLOAD_CONNECTION_LOST :{WHITE}... Connectioun verluer STR_CONTENT_ERROR_COULD_NOT_DOWNLOAD_FILE_NOT_WRITABLE :{WHITE}... Datei net beschreiwbar -STR_CONTENT_ERROR_COULD_NOT_EXTRACT :{WHITE}Konnt den downgeload net dekompriméiren +STR_CONTENT_ERROR_COULD_NOT_EXTRACT :{WHITE}Konnt d'erofgelueden Datei net dekompriméiren STR_MISSING_GRAPHICS_SET_CAPTION :{WHITE}Fehlend Grafiken -STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD brauch Grafiken fir ze funktionéiren, mee et konnten keng fond ginn. Wëllsde OpenTTD se downloaden an installéiren loossen ? +STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD brauch Grafiken fir ze funktionéiren, mee et konnten keng fonnt ginn. Wëllsde OpenTTD se downloaden an installéiren loossen ? STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Jo, download d'Grafiken STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}Nee, verlooss OpenTTD @@ -2232,10 +2270,10 @@ STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Wiesselt STR_TRANSPARENT_TREES_TOOLTIP :{BLACK}Wiesselt d'Transparenz fir d'Beem. Ctrl+Klick fir festzesetzen STR_TRANSPARENT_HOUSES_TOOLTIP :{BLACK}Wiesselt d'Transparenz fir d'Haiser. Ctrl+Klick fir festzesetzen STR_TRANSPARENT_INDUSTRIES_TOOLTIP :{BLACK}Wiesselt d'Transparenz fir d'Industrien. Ctrl+Klick fir festzesetzen -STR_TRANSPARENT_BUILDINGS_TOOLTIP :{BLACK}Wiesselt d'Transparenz fir d'Firmengebaier. Ctrl+Klick fir festzesetzen +STR_TRANSPARENT_BUILDINGS_TOOLTIP :{BLACK}Wiesselt d'Transparenz fir d'Firmegebaier. Ctrl+Klick fir festzesetzen STR_TRANSPARENT_BRIDGES_TOOLTIP :{BLACK}Wiesselt d'Transparenz fir d'Brécken. Ctrl+Klick fir festzesetzen -STR_TRANSPARENT_STRUCTURES_TOOLTIP :{BLACK}Wiesselt d'Transparenz fir d'Gebaier wei d'Liichttiirm oder Transmitter. Ctrl+Klick fir festzesetzen -STR_TRANSPARENT_CATENARY_TOOLTIP :{BLACK}Wiesselt d'Transparenz fir d'Iwerleitung. Ctrl+Klick fir festzesetzen +STR_TRANSPARENT_STRUCTURES_TOOLTIP :{BLACK}Wiesselt d'Transparenz fir d'Gebaier wéi d'Liichttierm oder Antennen. Ctrl+Klick fir festzesetzen +STR_TRANSPARENT_CATENARY_TOOLTIP :{BLACK}Wiesselt d'Transparenz fir d'Catenaire. Ctrl+Klick fir festzesetzen STR_TRANSPARENT_LOADING_TOOLTIP :{BLACK}Wiesselt d'Transparenz fir d'Luedungsindikatoren. Ctrl+Klick fir festzesetzen STR_TRANSPARENT_INVISIBLE_TOOLTIP :{BLACK}Setzt d'Objeten op onsichtbar amplaz transparent @@ -2243,7 +2281,7 @@ STR_TRANSPARENT_INVISIBLE_TOOLTIP :{BLACK}Setzt d' STR_LINKGRAPH_LEGEND_CAPTION :{BLACK}Cargo Flow Legend STR_LINKGRAPH_LEGEND_ALL :{BLACK}All STR_LINKGRAPH_LEGEND_NONE :{BLACK}Keng -STR_LINKGRAPH_LEGEND_SELECT_COMPANIES :{BLACK}Wiel d'Firmen aus déi ugewisen ginn +STR_LINKGRAPH_LEGEND_SELECT_COMPANIES :{BLACK}Wiel d'Firmen aus déi ugewise ginn # Linkgraph legend window and linkgraph legend in smallmap STR_LINKGRAPH_LEGEND_UNUSED :{TINY_FONT}{BLACK}onbenotzt @@ -2251,40 +2289,40 @@ STR_LINKGRAPH_LEGEND_SATURATED :{TINY_FONT}{BLA STR_LINKGRAPH_LEGEND_OVERLOADED :{TINY_FONT}{BLACK}iwwerlaascht # Base for station construction window(s) -STR_STATION_BUILD_COVERAGE_AREA_TITLE :{BLACK}Reechwäit +STR_STATION_BUILD_COVERAGE_AREA_TITLE :{BLACK}Reechwäit markéieren STR_STATION_BUILD_COVERAGE_OFF :{BLACK}Aus STR_STATION_BUILD_COVERAGE_ON :{BLACK}Un STR_STATION_BUILD_COVERAGE_AREA_OFF_TOOLTIP :{BLACK}Weis d'Reechwäit vun dem Gebäi net un STR_STATION_BUILD_COVERAGE_AREA_ON_TOOLTIP :{BLACK}Weis d'Reechwäit vun dem Gebäi un -STR_STATION_BUILD_ACCEPTS_CARGO :{BLACK}Acceptéiert: {GOLD}{CARGO_LIST} -STR_STATION_BUILD_SUPPLIES_CARGO :{BLACK}Liwwerung: {GOLD}{CARGO_LIST} +STR_STATION_BUILD_ACCEPTS_CARGO :{BLACK}Akzeptéiert: {GOLD}{CARGO_LIST} +STR_STATION_BUILD_SUPPLIES_CARGO :{BLACK}Liwwert: {GOLD}{CARGO_LIST} # Join station window -STR_JOIN_STATION_CAPTION :{WHITE}D'Gare verbannen -STR_JOIN_STATION_CREATE_SPLITTED_STATION :{YELLOW}Eng separéiert Gare bauen +STR_JOIN_STATION_CAPTION :{WHITE}Statioun verbannen +STR_JOIN_STATION_CREATE_SPLITTED_STATION :{YELLOW}Eng separat Statioun bauen STR_JOIN_WAYPOINT_CAPTION :{WHITE}Weepunkt verbannen -STR_JOIN_WAYPOINT_CREATE_SPLITTED_WAYPOINT :{YELLOW}Separaten Weepunkt bauen +STR_JOIN_WAYPOINT_CREATE_SPLITTED_WAYPOINT :{YELLOW}Separate Weepunkt bauen # Rail construction toolbar -STR_RAIL_TOOLBAR_RAILROAD_CONSTRUCTION_CAPTION :Schinnenbau -STR_RAIL_TOOLBAR_ELRAIL_CONSTRUCTION_CAPTION :Elektrëschen Schinnenbau +STR_RAIL_TOOLBAR_RAILROAD_CONSTRUCTION_CAPTION :Schinnebau +STR_RAIL_TOOLBAR_ELRAIL_CONSTRUCTION_CAPTION :Elektresche Schinnebau STR_RAIL_TOOLBAR_MONORAIL_CONSTRUCTION_CAPTION :Monorailbau -STR_RAIL_TOOLBAR_MAGLEV_CONSTRUCTION_CAPTION :Magnéitbahnbau +STR_RAIL_TOOLBAR_MAGLEV_CONSTRUCTION_CAPTION :Magnéitbunnbau -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Schinnen bauen. Ctrl wiesselt tëscht bauen/ofrappen. Shift wiesselt tëscht bauen/ongeféier Käschten uweisen -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Schinnen am automateschen Modus bauen. Ctrl wiesselt tëscht bauen/ofrappen. Shift wiesselt tëscht bauen/ongeféier Käschten uweisen +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Schinne bauen. Ctrl wiesselt tëscht bauen/ofrappen. Shift wiesselt tëscht bauen/ongeféier Käschten uweisen +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Schinnen am automatesche Modus bauen. Ctrl wiesselt tëscht bauen/ofrappen. Shift wiesselt tëscht bauen/ongeféier Käschten uweisen STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Zuchschapp bauen (fir Zich ze kafen an ze flécken). Shift wiesselt tëscht bauen/ongeféier Käschten uweisen STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Konvertéiert d'Schinnen zum Weepunkt. Ctrl aktivéiert Weepunkter ze verbannen. Shift wiesselt tëscht bauen/ongeféier Käschten uweisen STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Gare bauen. Ctrl aktivéiert fir d'Statioun unzebauen. Shift wiesselt tëscht bauen/ongeféier Käschten uweisen -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Zuchsignaler bauen. Ctrl wiesselt tëscht Diks/Luuten{}Zéien baut Signaler laanscht eng Zuchstreck. Ctrl baut Signaler bis déi nächst Weich{}Ctrl+Klick mécht Selectiounsfënster op.Shift wiesselt tëscht bauen/ongeféier Käschten uweisen +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Zuchsignaler bauen. Ctrl wiesselt tëscht Diks/Luuten{}Zéien baut Signaler laanscht eng Zuchstreck. Ctrl baut Signaler bis déi nächst Weich{}Ctrl+Klick mécht Auswielfënster op.Shift wiesselt tëscht bauen/ongeféier Käschten uweisen STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Zuchbréck bauen. Shift wiesselt tëscht bauen/ongeféier Käschten uweisen STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Zuchtunnel bauen. Shift wiesselt tëscht bauen/ongeféier Käschten uweisen -STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Wiesselt tëscht bauen/ofrappen vun Schinnen, Signaler an Statiounen. Ctrl unhalen rappt och Schinnen vun Weepunkter an Statiounen of -STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL :{BLACK}Konvertéiert den Typ vun Schinnen. Shift wiesselt tëscht bauen/ongeféier Käschten uweisen +STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Wiesselt tëscht bauen/ofrappe vu Schinnen, Signaler a Statiounen. Ctrl unhale rappt och Schinne vu Weepunkter a Statiounen of +STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL :{BLACK}Konvertéiert/upgrade den Typ vu Schinnen. Shift wiesselt tëscht bauen/ongeféier Käschten uweisen STR_RAIL_NAME_RAILROAD :Schinnen -STR_RAIL_NAME_ELRAIL :Elektrësch Schinnen +STR_RAIL_NAME_ELRAIL :Elektresch Schinnen STR_RAIL_NAME_MONORAIL :Monorail STR_RAIL_NAME_MAGLEV :Magnéitbunn @@ -2294,47 +2332,47 @@ STR_BUILD_DEPOT_TRAIN_ORIENTATION_TOOLTIP :{BLACK}Wielt d' # Rail waypoint construction window STR_WAYPOINT_CAPTION :{WHITE}Weepunkt -STR_WAYPOINT_GRAPHICS_TOOLTIP :{BLACK}Wielt den Weepunktyp +STR_WAYPOINT_GRAPHICS_TOOLTIP :{BLACK}Wielt de Weepunktyp # Rail station construction window -STR_STATION_BUILD_RAIL_CAPTION :{WHITE}Gare Selectioun +STR_STATION_BUILD_RAIL_CAPTION :{WHITE}Gare Auswiel STR_STATION_BUILD_ORIENTATION :{BLACK}Richtung -STR_STATION_BUILD_RAILROAD_ORIENTATION_TOOLTIP :{BLACK}Wielt Gare Richtung -STR_STATION_BUILD_NUMBER_OF_TRACKS :{BLACK}Unzuel vun Schinnen -STR_STATION_BUILD_NUMBER_OF_TRACKS_TOOLTIP :{BLACK}Wielt d'Unzuel vun den Gleisen fir d'Gare -STR_STATION_BUILD_PLATFORM_LENGTH :{BLACK}Platformlängt +STR_STATION_BUILD_RAILROAD_ORIENTATION_TOOLTIP :{BLACK}Wielt d'Richtung vun der Gare +STR_STATION_BUILD_NUMBER_OF_TRACKS :{BLACK}Unzuel vu Schinnen +STR_STATION_BUILD_NUMBER_OF_TRACKS_TOOLTIP :{BLACK}Wielt d'Unzuel vun de Gleisen fir d'Gare +STR_STATION_BUILD_PLATFORM_LENGTH :{BLACK}Plattformlängt STR_STATION_BUILD_PLATFORM_LENGTH_TOOLTIP :{BLACK}Wielt d'Längt vun der Gare STR_STATION_BUILD_DRAG_DROP :{BLACK}Drag & Drop STR_STATION_BUILD_DRAG_DROP_TOOLTIP :{BLACK}D'Statioun per drag & drop bauen -STR_STATION_BUILD_STATION_CLASS_TOOLTIP :{BLACK}Wielt eng Statiounsklass fir ze weisen -STR_STATION_BUILD_STATION_TYPE_TOOLTIP :{BLACK}Wielt den Statiounstyp fir ze bauen +STR_STATION_BUILD_STATION_CLASS_TOOLTIP :{BLACK}Wielt eng Statiounsklass déi ugewise gëtt +STR_STATION_BUILD_STATION_TYPE_TOOLTIP :{BLACK}Wielt den Typ vu Statioun dee gebaut gëtt STR_STATION_CLASS_DFLT :Standard Statioun STR_STATION_CLASS_WAYP :Weepunkten # Signal window STR_BUILD_SIGNAL_CAPTION :{WHITE}Signalauswiel -STR_BUILD_SIGNAL_SEMAPHORE_NORM_TOOLTIP :{BLACK}Block Signal (Diks){} Dëst ass em Basis-Signal, wat nëmmen engem Zuch zur selwechter Zait erlaabt an engem Block ze sinn -STR_BUILD_SIGNAL_SEMAPHORE_ENTRY_TOOLTIP :{BLACK}Agangs-Signal (Diks){}Gréng soulaang een oder méi gréng Ausgangs-Signaler op nächsten Streckenabschnitt sin. Anescht ass et roud. +STR_BUILD_SIGNAL_SEMAPHORE_NORM_TOOLTIP :{BLACK}Block Signal (Diks){} Dest ass e Basis-Signal, wat nëmmen engem Zuch zur selwechter Zait erlaabt an engem Block ze sinn +STR_BUILD_SIGNAL_SEMAPHORE_ENTRY_TOOLTIP :{BLACK}Agangs-Signal (Diks){}Gréng soulaang een oder méi gréng Ausgangs-Signaler op dem nächsten Streckenabschnitt sinn. Anescht ass et rout. STR_BUILD_SIGNAL_SEMAPHORE_EXIT_TOOLTIP :{BLACK}Ausgangs-Signal (Diks){}Verhält sech wéi en Block-Signal mee gëtt gebraucht fir déi korrekt Faarf ob Agangs- an Combo-Pre-Signaler ze setzen -STR_BUILD_SIGNAL_SEMAPHORE_COMBO_TOOLTIP :{BLACK}Combo-Signal (Diks){}En Combo-Signal agéiert wéi en Agangs- an wéi en Ausgangs-Signal. Dëst erlaabt engem vill "Beem" vun Pre-Signaler ze bauen -STR_BUILD_SIGNAL_SEMAPHORE_PBS_TOOLTIP :{BLACK}Wee-Signal (Diks){}E Wee-Signal erlaabt méi wéi engem Zuch an en Block ze fueren zur selweschter Zäit, wann den Zuch en Wee op en sécheren Stop-Punkt kann reservéiren. Standard Wee-Signaler kënne vun béiden Säiten duerchfuer ginn -STR_BUILD_SIGNAL_SEMAPHORE_PBS_OWAY_TOOLTIP :{BLACK}Einbahn-Wee-Signal (Diks){}E Wee-Signal erlaabt méi wéi engem Zuch an en Block ze fueren zur selweschter Zäit, wann den Zuch en Wee op en sécheren Stop-Punkt kann reservéiren. Einbahn-Wee-Signaler kënnen net den falschen Wee duerchfuer ginn -STR_BUILD_SIGNAL_ELECTRIC_NORM_TOOLTIP :{BLACK}Block Signal (electric){}Dëst ass en Basis-Signal, mat dem een een Zuch an engem selwechten Block zur selwechter Zäit erlaabt -STR_BUILD_SIGNAL_ELECTRIC_ENTRY_TOOLTIP :{BLACK}Agangs-Signal (electric){}Gréng soulaang een oder méi gréng Ausgangssignaler vum nächsten Streckenabschnitt kommen. Anescht ass et roud -STR_BUILD_SIGNAL_ELECTRIC_EXIT_TOOLTIP :{BLACK}Ausgangs-Signal (electric){}Verhält sech wéi en Block-Signal mee gëtt gebraucht fir déi korrekt Faarf vun den Agangs- an Combo Pre-Signaler ze setzen -STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP :{BLACK}Combo-Signal (electric){}D'Combo-Signal ass einfach en An- an Ausgangssignal. Dëst erlaabt grouss "Beem" Presignaler ze bauen -STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP :{BLACK}Wee-Signal (electric){}E Wee-Signal erlaabt méi wéi engem Zuch an en Block eranzefueren, wann den Zuch en Wee op en Stop-Punkt reservéiren kann. Standard Wee-Signaler kënnen vun béiden Säiten duerchfuer ginn -STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP :{BLACK}Einbahn-Wee-Signal (electric){}En Einbahn-Signal erlaabt méi wéi een Zuch zur selwechter Zäit an engem Block ze sin, wann den Zuch en Wee op en sécheren Stop-Punkt reservéiren kann. Einbahn-Signaler kënnen net vun der falscher Säit duerchfuer ginn -STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Signal konvertéiren{}Wann gewielt, gëtt en geklickten Signal an dat gewielten Signal konvertéiert, Ctrl+Klick wiesselt tëscht den Varianten. Shift weist ongeféier Konvertéirungskäschten -STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}Signaldensitéit -STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Setzt Signaldensitéit rof -STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP :{BLACK}Setzt Signaldensitéit rop +STR_BUILD_SIGNAL_SEMAPHORE_COMBO_TOOLTIP :{BLACK}Combo-Signal (Diks){}E Combo-Signal agéiert wéi en Agangs- a wéi en Ausgangs-Signal. Dest erlaabt engem vill "Beem" vu Pre-Signaler ze bauen +STR_BUILD_SIGNAL_SEMAPHORE_PBS_TOOLTIP :{BLACK}Wee-Signal (Diks){}E Wee-Signal erlaabt méi wéi engem Zuch an en Block ze fueren zur selweschter Zäit, wann den Zuch en Wee op en sécheren Stop-Punkt kann reservéiren. Standard Wee-Signaler kënne vu béide Säiten duerchfuer ginn +STR_BUILD_SIGNAL_SEMAPHORE_PBS_OWAY_TOOLTIP :{BLACK}Einbahn-Wee-Signal (Diks){}E Wee-Signal erlaabt méi wéi engem Zuch an en Block ze fueren zur selweschter Zäit, wann den Zuch en Wee op en sécheren Stop-Punkt kann reservéiren. Einbahn-Wee-Signaler kënnen net de falsche Wee duerchfuer ginn +STR_BUILD_SIGNAL_ELECTRIC_NORM_TOOLTIP :{BLACK}Block Signal (Elektresch){}Dest ass e Basis-Signal, mat dem een en Zuch an engem selwechten Block zur selwechter Zäit erlaabt +STR_BUILD_SIGNAL_ELECTRIC_ENTRY_TOOLTIP :{BLACK}Agangs-Signal (Elektresch){}Gréng soulaang een oder méi gréng Ausgangssignaler vum nächsten Streckenabschnitt kommen. Anescht ass et rout +STR_BUILD_SIGNAL_ELECTRIC_EXIT_TOOLTIP :{BLACK}Ausgangs-Signal (Elektresch){}Verhält sech wéi e Block-Signal mee gëtt gebraucht fir déi korrekt Faarf vun den Agangs- an Combo Pre-Signaler ze setzen +STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP :{BLACK}Combo-Signal (Elektresch){}D'Combo-Signal ass einfach en An- an Ausgangssignal. Dëst erlaabt grouss "Beem" Presignaler ze bauen +STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP :{BLACK}Wee-Signal (Elektresch){}E Wee-Signal erlaabt méi wéi engem Zuch an e Block eranzefueren, wann den Zuch e Wee op en Stop-Punkt reservéiren kann. Standard Wee-Signaler kënne vu béide Säiten duerchfuer ginn +STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP :{BLACK}Einbahn-Wee-Signal (Elektresch){}En Einbahn-Signal erlaabt méi wéi een Zuch zur selwechter Zäit an engem Block ze sin, wann den Zuch en Wee op en sécheren Stop-Punkt reservéiren kann. Einbahn-Signaler kënnen net vun der falscher Säit duerchfuer ginn +STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Signal konvertéiren{}Wann gewielt, gëtt en geklickten Signal an dat gewielten Signal konvertéiert, Ctrl+Klick wiesselt tëscht de Varianten. Shift weist ongeféier Konvertéirungskäschten +STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}Dicht vu Signaler beim Zéien +STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Setzt Signaldicht erof +STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP :{BLACK}Setzt Signaldicht erop # Bridge selection window -STR_SELECT_RAIL_BRIDGE_CAPTION :{WHITE}Wiel d'Schinnenbréck -STR_SELECT_ROAD_BRIDGE_CAPTION :{WHITE}Wielt d'Stroossenbréck +STR_SELECT_RAIL_BRIDGE_CAPTION :{WHITE}Zuchbréck auswielen +STR_SELECT_ROAD_BRIDGE_CAPTION :{WHITE}Stroossebréck auswielen STR_SELECT_BRIDGE_SELECTION_TOOLTIP :{BLACK}Bréckenauswiel - Wiel deng Bréck aus STR_SELECT_BRIDGE_INFO :{GOLD}{STRING},{} {VELOCITY} {WHITE}{CURRENCY_LONG} STR_SELECT_BRIDGE_SCENEDIT_INFO :{GOLD}{STRING},{} {VELOCITY} @@ -2342,82 +2380,82 @@ STR_BRIDGE_NAME_SUSPENSION_STEEL :Stolen Hängebr STR_BRIDGE_NAME_GIRDER_STEEL :Stoldréier Bréck STR_BRIDGE_NAME_CANTILEVER_STEEL :Fräidroend Stolbréck STR_BRIDGE_NAME_SUSPENSION_CONCRETE :Betons Hängebréck -STR_BRIDGE_NAME_WOODEN :Holzen Bréck +STR_BRIDGE_NAME_WOODEN :Holze Bréck STR_BRIDGE_NAME_CONCRETE :Betons Bréck STR_BRIDGE_NAME_TUBULAR_STEEL :Rouerstol Bréck STR_BRIDGE_TUBULAR_SILICON :Rouer, Silikon # Road construction toolbar -STR_ROAD_TOOLBAR_ROAD_CONSTRUCTION_CAPTION :{WHITE}Stroossenbau +STR_ROAD_TOOLBAR_ROAD_CONSTRUCTION_CAPTION :{WHITE}Stroossebau STR_ROAD_TOOLBAR_TRAM_CONSTRUCTION_CAPTION :{WHITE}Tramkonstruktioun -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_SECTION :{BLACK}Baut Stroossen.Ctrl+Klick wiësselt tëscht Stroossen bauen/ofrappen. Shift wiesselt tëscht bauen/ongeféier Käschten uweisen -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}Tramschinnen bauen. Ctrl+Klick wiësselt tëscht Tramschinnen bauen/ofrappen. Shift wiesselt tëscht bauen/ongeféier Käschten uweisen +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_SECTION :{BLACK}Baut Stroossen.Ctrl+Klick wiësselt tëscht Stroosse bauen/ofrappen. Shift wiesselt tëscht bauen/ongeféier Käschten uweisen +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}Tramschinne bauen. Ctrl+Klick wiësselt tëscht Tramschinne bauen/ofrappen. Shift wiesselt tëscht bauen/ongeféier Käschten uweisen STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}D'Strooss mat der Bau-Automatik bauen. Ctrl wiësselt tëscht Stroossen bauen/ofrappen. Shift wiesselt tëscht bauen/ongeféier Käschten uweisen -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOTRAM :{BLACK}Tramschinnen mam "Autotram" Modus bauen. Ctrl wiesselt tëscht Tramschinnen bauen/ofrappen. Shift wiesselt tëschtbauen/ongeféier Käschten uweisen +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOTRAM :{BLACK}Tramschinne mam "Autotram" Modus bauen. Ctrl wiesselt tëscht Tramschinne bauen/ofrappen. Shift wiesselt tëschtbauen/ongeféier Käschten uweisen STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Baut Stroossendepot (fir Gefierer ze kafen an ze flécken). Shift wiesselt tëscht bauen/ongeféier Käschten uweisen STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Tramschapp bauen (fir Gefierer ze kafen an d'Revisioun). Shift wiesselt tëscht bauen/ongeféier Käschten uweisen -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}Baut Busarrêt. Ctrl aktivéiert ubauen vun Statiounen. Shift wiesselt tëscht bauen/ongeféier Käschten uweisen -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_PASSENGER_TRAM_STATION :{BLACK}Passagéier-Tramstatioun bauen. Ctrl aktivéirt ubauen vun Statiounen. Shift wiesselt tëscht bauen/ongeféier Käschten uweisen -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRUCK_LOADING_BAY :{BLACK}Baut Camionsgare. Ctrl aktivéiert ubauen vun Statiounen. Shift wiesselt tëscht bauen/ongeféier Käschten uweisen -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_CARGO_TRAM_STATION :{BLACK}Wueren-Tramstatioun bauen. Ctrl aktivéiert ubauen vun Statiounen. Shift wiesselt tëscht bauen/ongeféier Käschten uweisen -STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_ONE_WAY_ROAD :{BLACK}Strooss an eng Richtung aktivéieren/déaktivéieren -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_BRIDGE :{BLACK}Baut Stroossenbréck. Shift wiesselt tëscht bauen/ongeféier Käschten uweisen +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}Baut Busarrêt. Ctrl aktivéiert ubaue vu Statiounen. Shift wiesselt tëscht bauen/ongeféier Käschten uweisen +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_PASSENGER_TRAM_STATION :{BLACK}Tramarrêt bauen. Ctrl aktivéiert ubaue vu Statiounen. Shift wiesselt tëscht bauen/ongeféier Käschten uweisen +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRUCK_LOADING_BAY :{BLACK}Baut Camionsgare. Ctrl aktivéiert ubaue vu Statiounen. Shift wiesselt tëscht bauen/ongeféier Käschten uweisen +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_CARGO_TRAM_STATION :{BLACK}Wueren-Tramstatioun bauen. Ctrl aktivéiert ubaue vu Statiounen. Shift wiesselt tëscht bauen/ongeféier Käschten uweisen +STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_ONE_WAY_ROAD :{BLACK}Einbahnstroossen aktivéieren/déaktivéieren +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_BRIDGE :{BLACK}Baut Stroossebréck. Shift wiesselt tëscht bauen/ongeféier Käschten uweisen STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_BRIDGE :{BLACK}Tramsbréck bauen. Shift wiesselt tëscht bauen/ongeféier Käschten uweisen -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_TUNNEL :{BLACK}Baut Stroosentunnel. Shift wiesselt tëscht bauen/ongeféier Käschten uweisen +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_TUNNEL :{BLACK}Baut Stroossentunnel. Shift wiesselt tëscht bauen/ongeféier Käschten uweisen STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_TUNNEL :{BLACK}Tramtunnel bauen. Shift wiesselt tëscht bauen/ongeféier Käschten uweisen -STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_ROAD :{BLACK}Wieselt bauen/ofrappen vun Stroossenkonstruktiounen -STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Wiesselt bauen/ofrappen vum Trambau +STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_ROAD :{BLACK}Wiesselt bauen/ofrappen vu Stroossekonstruktiounen +STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Wiesselt tëscht bauen/ofrappen beim Trambau # Road depot construction window -STR_BUILD_DEPOT_ROAD_ORIENTATION_CAPTION :{WHITE}Stroossendepot Richtung -STR_BUILD_DEPOT_ROAD_ORIENTATION_SELECT_TOOLTIP :{BLACK}Wielt Stroossendepot Richtung -STR_BUILD_DEPOT_TRAM_ORIENTATION_CAPTION :{WHITE}Richtung vum Tramschapp +STR_BUILD_DEPOT_ROAD_ORIENTATION_CAPTION :{WHITE}Ausriichtung vum Stroossendepot +STR_BUILD_DEPOT_ROAD_ORIENTATION_SELECT_TOOLTIP :{BLACK}Wielt d'Stroossendepot Ausriichtung +STR_BUILD_DEPOT_TRAM_ORIENTATION_CAPTION :{WHITE}Ausriichtung vum Tramschapp STR_BUILD_DEPOT_TRAM_ORIENTATION_SELECT_TOOLTIP :{BLACK}Tramschapp Ausriichtung wielen # Road vehicle station construction window -STR_STATION_BUILD_BUS_ORIENTATION :{WHITE}Busarrêt Richtung -STR_STATION_BUILD_BUS_ORIENTATION_TOOLTIP :{BLACK}Wielt Busarrêtsrichtung -STR_STATION_BUILD_TRUCK_ORIENTATION :{WHITE}Camionsgare Richtung -STR_STATION_BUILD_TRUCK_ORIENTATION_TOOLTIP :{BLACK}Wielt Camionsgare Richtung -STR_STATION_BUILD_PASSENGER_TRAM_ORIENTATION :{WHITE}Passagéier-Tramstatioun Richtung -STR_STATION_BUILD_PASSENGER_TRAM_ORIENTATION_TOOLTIP :{BLACK}Passagéier-Tramstatioun Richtung wielen -STR_STATION_BUILD_CARGO_TRAM_ORIENTATION :{WHITE}Wueren-Tramstatioun Richtung -STR_STATION_BUILD_CARGO_TRAM_ORIENTATION_TOOLTIP :{BLACK}Wueren-Tramstatioun Richtung wielen +STR_STATION_BUILD_BUS_ORIENTATION :{WHITE}Ausriichtung vum Busarrêt +STR_STATION_BUILD_BUS_ORIENTATION_TOOLTIP :{BLACK}Wielt Busarrêtsausriichtung +STR_STATION_BUILD_TRUCK_ORIENTATION :{WHITE}Ausriichtung vun der Camionsgare +STR_STATION_BUILD_TRUCK_ORIENTATION_TOOLTIP :{BLACK}Wielt d'Camionsgareausriichtung +STR_STATION_BUILD_PASSENGER_TRAM_ORIENTATION :{WHITE}Ausriichtung vun dem Passagéier-Tramsarrêt +STR_STATION_BUILD_PASSENGER_TRAM_ORIENTATION_TOOLTIP :{BLACK}Passagéier-Tramsarrêt Ausriichtung wielen +STR_STATION_BUILD_CARGO_TRAM_ORIENTATION :{WHITE}Ausriichtung vun der Wueren-Tramstatioun +STR_STATION_BUILD_CARGO_TRAM_ORIENTATION_TOOLTIP :{BLACK}Wueren-Tramstatioun Ausriichtung wielen # Waterways toolbar (last two for SE only) -STR_WATERWAYS_TOOLBAR_CAPTION :{WHITE}Waasserstroosen bauen -STR_WATERWAYS_TOOLBAR_CAPTION_SE :{WHITE}Waasserstroosen +STR_WATERWAYS_TOOLBAR_CAPTION :{WHITE}Waasserstroosse bauen +STR_WATERWAYS_TOOLBAR_CAPTION_SE :{WHITE}Waasserstroossen STR_WATERWAYS_TOOLBAR_BUILD_CANALS_TOOLTIP :{BLACK}Kanäl bauen. Shift wiesselt tëscht bauen/ongeféier Käschten uweisen -STR_WATERWAYS_TOOLBAR_BUILD_LOCKS_TOOLTIP :{BLACK}Schlass setzen. Shift wiesselt tëscht bauen/ongeféier Käschten uweisen -STR_WATERWAYS_TOOLBAR_BUILD_DEPOT_TOOLTIP :{BLACK}Schëffsschapp bauen (fir Schëffer ze bauen an ze warten). Shift wiesselt tëscht bauen/ongeféier Käschten uweisen -STR_WATERWAYS_TOOLBAR_BUILD_DOCK_TOOLTIP :{BLACK}Schëffdock bauen. Ctrl aktivéiert ubauen vun Statiounen. Shift wiesselt tëscht bauen/ongeféier Käschten uweisen +STR_WATERWAYS_TOOLBAR_BUILD_LOCKS_TOOLTIP :{BLACK}Schleise bauen. Shift wiesselt tëscht bauen/ongeféier Käschten uweisen +STR_WATERWAYS_TOOLBAR_BUILD_DEPOT_TOOLTIP :{BLACK}Schëffsschapp bauen (fir Schëffer ze bauen an ze reparéiren). Shift wiesselt tëscht bauen/ongeféier Käschten uweisen +STR_WATERWAYS_TOOLBAR_BUILD_DOCK_TOOLTIP :{BLACK}Schëffsquai bauen. Ctrl aktivéiert ubaue vu Statiounen. Shift wiesselt tëscht bauen/ongeféier Käschten uweisen STR_WATERWAYS_TOOLBAR_BUOY_TOOLTIP :{BLACK}Plazéiert eng Boje, déi als Weepunkt kann benotzt ginn. Shift wiesselt tëscht bauen/ongeféier Käschten uweisen STR_WATERWAYS_TOOLBAR_BUILD_AQUEDUCT_TOOLTIP :{BLACK}Aquadukt bauen. Shift wiesselt tëscht bauen/ongeféier Käschten uweisen -STR_WATERWAYS_TOOLBAR_CREATE_LAKE_TOOLTIP :{BLACK}Waasser definéieren.{}Mécht en Kanal. Mat CTRL gedréckt halen um Mieresspigel klicken, iwerflut d'Géigent +STR_WATERWAYS_TOOLBAR_CREATE_LAKE_TOOLTIP :{BLACK}Waasserareal definéieren.{}Mécht en Kanal. Mat Ctrl gedréckt halen um Mieresspigel klicken, iwwerflut d'Géigent STR_WATERWAYS_TOOLBAR_CREATE_RIVER_TOOLTIP :{BLACK}Plazéier Flëss # Ship depot construction window -STR_DEPOT_BUILD_SHIP_CAPTION :{WHITE}Schëffsschapp Richtung -STR_DEPOT_BUILD_SHIP_ORIENTATION_TOOLTIP :{BLACK}Wielt Richtung vum Schëffsschapp +STR_DEPOT_BUILD_SHIP_CAPTION :{WHITE}Schëffsschapp Ausriichtung +STR_DEPOT_BUILD_SHIP_ORIENTATION_TOOLTIP :{BLACK}Wielt d'Ausriichtung vum Schëffsschapp # Dock construction window STR_STATION_BUILD_DOCK_CAPTION :{WHITE}Hafen # Airport toolbar STR_TOOLBAR_AIRCRAFT_CAPTION :{WHITE}Fluchhäfen -STR_TOOLBAR_AIRCRAFT_BUILD_AIRPORT_TOOLTIP :{BLACK}Fluchhafen bauen. Ctrl aktivéiert ubauen vun Statiounen. Shift wiesselt tëscht bauen/ongeféier Käschten uweisen +STR_TOOLBAR_AIRCRAFT_BUILD_AIRPORT_TOOLTIP :{BLACK}Fluchhafe bauen. Ctrl aktivéiert ubaue vu Statiounen. Shift wiesselt tëscht bauen/ongeféier Käschten uweisen # Airport construction window -STR_STATION_BUILD_AIRPORT_CAPTION :{WHITE}Fluchhafen Selectioun +STR_STATION_BUILD_AIRPORT_CAPTION :{WHITE}Fluchhafen Auswiel STR_STATION_BUILD_AIRPORT_TOOLTIP :{BLACK}Wielt Gréisst/Typ vum Fluchhafen -STR_STATION_BUILD_AIRPORT_CLASS_LABEL :{BLACK}Fluchhafenklass +STR_STATION_BUILD_AIRPORT_CLASS_LABEL :{BLACK}Fluchhafeklass STR_STATION_BUILD_AIRPORT_LAYOUT_NAME :{BLACK}Layout {NUM} STR_AIRPORT_SMALL :Kleng STR_AIRPORT_CITY :City -STR_AIRPORT_METRO :Metropolitär Fluchhafen -STR_AIRPORT_INTERNATIONAL :Internationalen Fluchhafen +STR_AIRPORT_METRO :Metropole Fluchhafen +STR_AIRPORT_INTERNATIONAL :Internationale Fluchhafen STR_AIRPORT_COMMUTER :Pendler STR_AIRPORT_INTERCONTINENTAL :Interkontinental STR_AIRPORT_HELIPORT :Heliport @@ -2426,8 +2464,8 @@ STR_AIRPORT_HELISTATION :Helistatioun STR_AIRPORT_CLASS_SMALL :Kleng Fluchhäfen STR_AIRPORT_CLASS_LARGE :Grouss Fluchhäfen -STR_AIRPORT_CLASS_HUB :Fluchhafen Verdeeler -STR_AIRPORT_CLASS_HELIPORTS :Helicopter Fluchhafen +STR_AIRPORT_CLASS_HUB :Fluchhafeverdeeler +STR_AIRPORT_CLASS_HELIPORTS :Helikopter Fluchhafen STR_STATION_BUILD_NOISE :{BLACK}Kaméidi: {GOLD}{COMMA} @@ -2436,21 +2474,21 @@ STR_LANDSCAPING_TOOLBAR :{WHITE}Landscha STR_LANDSCAPING_TOOLTIP_LOWER_A_CORNER_OF_LAND :{BLACK}En Eck vum Land erofsetzen. Zéien setzt den éischten ugewielten Eck erof an planéiert d'ugewielten Land op déi nei Eckhéicht. Ctrl wielt d'Land diagonal. Shift wiesselt tëscht bauen/ongeféier Käschten uweisen STR_LANDSCAPING_TOOLTIP_RAISE_A_CORNER_OF_LAND :{BLACK}En Eck vum Land unhiewen. Zéien wielt den éischten Eck an planéiert d'ugewielten Land ob déi nei Eckhéicht. Ctrl wielt d'Land diagonal. Shift wiesselt tëscht bauen/ongeféier Käschten uweisen STR_LANDSCAPING_LEVEL_LAND_TOOLTIP :{BLACK}Land planéiren. Ctrl wielt d'Land diagonal aus. Shift wiesselt tëscht bauen/ongeféier Käschten uweisen -STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Kaaf Land fir zukünftëg Benotzung. Shift wiesselt tëscht bauen/ongeféier Käschten uweisen +STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Kaf Land fir zukünftëg Benotzung. Shift wiesselt tëscht bauen/ongeféier Käschten uweisen # Object construction window -STR_OBJECT_BUILD_CAPTION :{WHITE}Selektioun vum Objekt -STR_OBJECT_BUILD_TOOLTIP :{BLACK}Wiel d'Objekt dat gebaut gëtt. Shift wiesselt tescht bauen / ongeféier Käschten uweisen -STR_OBJECT_BUILD_CLASS_TOOLTIP :{BLACK}Wiel d'Klass vun dem Objet den sollt gebaut ginn -STR_OBJECT_BUILD_PREVIEW_TOOLTIP :{BLACK}Preview vum Objekt +STR_OBJECT_BUILD_CAPTION :{WHITE}Objetsauswiel +STR_OBJECT_BUILD_TOOLTIP :{BLACK}Wiel den Objet dee gebaut gëtt. Shift wiesselt tescht bauen / ongeféier Käschten uweisen +STR_OBJECT_BUILD_CLASS_TOOLTIP :{BLACK}Wiel d'Klass vun dem Objet dee sollt gebaut ginn +STR_OBJECT_BUILD_PREVIEW_TOOLTIP :{BLACK}Preview vum Objet STR_OBJECT_BUILD_SIZE :{BLACK}Gréisst: {GOLD}{NUM} x {NUM} Felder STR_OBJECT_CLASS_LTHS :Liichttierm -STR_OBJECT_CLASS_TRNS :Transmitter +STR_OBJECT_CLASS_TRNS :Antennen # Tree planting window (last two for SE only) STR_PLANT_TREE_CAPTION :{WHITE}Beem -STR_PLANT_TREE_TOOLTIP :{BLACK}Wielt den Baamtyp. Wann d'Feld schons en Baam huet, gin méi Beem vun verschiddenen Arten gesat +STR_PLANT_TREE_TOOLTIP :{BLACK}Wielt de Baamtyp. Wann d'Feld schons e Baam huet, ginn méi Beem vu verschiddenen Arten gesat STR_TREES_RANDOM_TYPE :{BLACK}Zoufälleg Beem STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Zoufälleg Beem planzen. Shift wiesselt tëscht bauen an ongeféier Käschten uweisen STR_TREES_RANDOM_TREES_BUTTON :{BLACK}Zoufälleg Beem @@ -2459,15 +2497,15 @@ STR_TREES_RANDOM_TREES_TOOLTIP :{BLACK}Beem zou # Land generation window (SE) STR_TERRAFORM_TOOLBAR_LAND_GENERATION_CAPTION :{WHITE}Landerstellung STR_TERRAFORM_TOOLTIP_PLACE_ROCKY_AREAS_ON_LANDSCAPE :{BLACK}Fielsen iwwert d'Landschaft setzen -STR_TERRAFORM_TOOLTIP_DEFINE_DESERT_AREA :{BLACK}Zone fir Wüst défineieren.{}CTRL unhaalen fir se ze leschen +STR_TERRAFORM_TOOLTIP_DEFINE_DESERT_AREA :{BLACK}Zone fir Wüst défineieren.{}CTRL unhalen fir se ze läschen STR_TERRAFORM_TOOLTIP_INCREASE_SIZE_OF_LAND_AREA :{BLACK}Vergréisser d'Zone fir d'Land unzehiewen/erofzesetzen STR_TERRAFORM_TOOLTIP_DECREASE_SIZE_OF_LAND_AREA :{BLACK}Verklenger d'Zone fir d'Land unzehiewen/erofzesetzen STR_TERRAFORM_TOOLTIP_GENERATE_RANDOM_LAND :{BLACK}Generéier en Zoufallsland -STR_TERRAFORM_SE_NEW_WORLD :{BLACK}Neien Szenario man -STR_TERRAFORM_RESET_LANDSCAPE :{BLACK}Setz d'Landschaft zréck +STR_TERRAFORM_SE_NEW_WORLD :{BLACK}Neie Szenario erstellen +STR_TERRAFORM_RESET_LANDSCAPE :{BLACK}Setz d'Landschaft zeréck STR_TERRAFORM_RESET_LANDSCAPE_TOOLTIP :{BLACK}Huel all Grondstécker vun der Firma ewech -STR_QUERY_RESET_LANDSCAPE_CAPTION :{WHITE}Setz d'Landschaft zréck +STR_QUERY_RESET_LANDSCAPE_CAPTION :{WHITE}Setz d'Landschaft zeréck STR_RESET_LANDSCAPE_CONFIRMATION_TEXT :{WHITE}Bass du sécher dass du all Grondstécker vun der Firma ewechhuelen wëlls? # Town generation window (SE) @@ -2494,8 +2532,8 @@ STR_FOUND_TOWN_INITIAL_SIZE_TOOLTIP :{BLACK}Wiel d'S STR_FOUND_TOWN_CITY :{BLACK}Stad STR_FOUND_TOWN_CITY_TOOLTIP :{BLACK}Stied wuessen méi schnell wéi Dierfer{}Ofhängeg vun den Astellungen, sinn se méi grouss am Ufank -STR_FOUND_TOWN_ROAD_LAYOUT :{YELLOW}Stad Stroossenlayout -STR_FOUND_TOWN_SELECT_TOWN_ROAD_LAYOUT :{BLACK}Stroosenlayout fir dës Stad wielen +STR_FOUND_TOWN_ROAD_LAYOUT :{YELLOW}Stroosselayout vun der Stad: +STR_FOUND_TOWN_SELECT_TOWN_ROAD_LAYOUT :{BLACK}Stroosselayout fir des Stad wielen STR_FOUND_TOWN_SELECT_LAYOUT_ORIGINAL :{BLACK}Original STR_FOUND_TOWN_SELECT_LAYOUT_BETTER_ROADS :{BLACK}Besser Stroossen STR_FOUND_TOWN_SELECT_LAYOUT_2X2_GRID :{BLACK}2x2 Gitter @@ -2503,12 +2541,12 @@ STR_FOUND_TOWN_SELECT_LAYOUT_3X3_GRID :{BLACK}3x3 Gitt STR_FOUND_TOWN_SELECT_LAYOUT_RANDOM :{BLACK}Zoufall # Fund new industry window -STR_FUND_INDUSTRY_CAPTION :{WHITE}Nei Industrie finanzéiert +STR_FUND_INDUSTRY_CAPTION :{WHITE}Nei Industrie finanzéieren STR_FUND_INDUSTRY_SELECTION_TOOLTIP :{BLACK}Wielt déi gewënschten Industrie op der Lëscht aus STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES :Vill zoufälleg Industrien STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES_TOOLTIP :{BLACK}D'Kaart mat villen zoufällegen Industrien fëllen STR_FUND_INDUSTRY_INDUSTRY_BUILD_COST :{BLACK}Käschten: {YELLOW}{CURRENCY_LONG} -STR_FUND_INDUSTRY_PROSPECT_NEW_INDUSTRY :{BLACK}Förder +STR_FUND_INDUSTRY_PROSPECT_NEW_INDUSTRY :{BLACK}Förderen STR_FUND_INDUSTRY_BUILD_NEW_INDUSTRY :{BLACK}Bauen STR_FUND_INDUSTRY_FUND_NEW_INDUSTRY :{BLACK}Grënnen @@ -2517,47 +2555,47 @@ STR_INDUSTRY_CARGOES_INDUSTRY_CAPTION :{WHITE}Industri STR_INDUSTRY_CARGOES_CARGO_CAPTION :{WHITE}Industrieketten fir {STRING} Wueren STR_INDUSTRY_CARGOES_PRODUCERS :{WHITE}Produzéirent Industrien STR_INDUSTRY_CARGOES_CUSTOMERS :{WHITE}Akzeptéirend Industrien -STR_INDUSTRY_CARGOES_HOUSES :{WHITE}Heiser +STR_INDUSTRY_CARGOES_HOUSES :{WHITE}Haiser STR_INDUSTRY_CARGOES_INDUSTRY_TOOLTIP :{BLACK}Klick op d'Industrie fir d'Liwweranten an Verbraucher ze gesinn STR_INDUSTRY_CARGOES_CARGO_TOOLTIP :{BLACK}{STRING}{}Klick op d'Wueren fir d'Liwweranten an Verbraucher ze gesinn -STR_INDUSTRY_DISPLAY_CHAIN :{BLACK}Weis "Ketten" +STR_INDUSTRY_DISPLAY_CHAIN :{BLACK}Wuereketten uweisen STR_INDUSTRY_DISPLAY_CHAIN_TOOLTIP :{BLACK}Weis Industrien un déi Wueren liwweren an akzeptéiren STR_INDUSTRY_CARGOES_NOTIFY_SMALLMAP :{BLACK}Link op déi kleng Kaart -STR_INDUSTRY_CARGOES_NOTIFY_SMALLMAP_TOOLTIP :{BLACK}Selektéiert déi ugewisen Industrien och op der klenger Kaart +STR_INDUSTRY_CARGOES_NOTIFY_SMALLMAP_TOOLTIP :{BLACK}Wiel déi ugewisen Industrien och op der klenger Kaart aus STR_INDUSTRY_CARGOES_SELECT_CARGO :{BLACK}Gidder wielen STR_INDUSTRY_CARGOES_SELECT_CARGO_TOOLTIP :{BLACK}Wiel d'Gidder déis du wëlls uweisen -STR_INDUSTRY_CARGOES_SELECT_INDUSTRY :{BLACK}Industrie wielen -STR_INDUSTRY_CARGOES_SELECT_INDUSTRY_TOOLTIP :{BLACK}Wiel d'Industrie déis du wëlls uweisen +STR_INDUSTRY_CARGOES_SELECT_INDUSTRY :{BLACK}Industrie auswielen +STR_INDUSTRY_CARGOES_SELECT_INDUSTRY_TOOLTIP :{BLACK}Wiel d'Industrie aus déis du wëlls uweisen # Land area window STR_LAND_AREA_INFORMATION_CAPTION :{WHITE}Land Informatiounen -STR_LAND_AREA_INFORMATION_COST_TO_CLEAR_N_A :{BLACK}Käschten fir ze raumen: {LTBLUE}N/A -STR_LAND_AREA_INFORMATION_COST_TO_CLEAR :{BLACK}Käschten fir ze raumen: {RED}{CURRENCY_LONG} +STR_LAND_AREA_INFORMATION_COST_TO_CLEAR_N_A :{BLACK}Käschte fir ze raumen: {LTBLUE}Keng +STR_LAND_AREA_INFORMATION_COST_TO_CLEAR :{BLACK}Käschte fir ze raumen: {RED}{CURRENCY_LONG} STR_LAND_AREA_INFORMATION_REVENUE_WHEN_CLEARED :{BLACK}Akommes wann ofgerappt: {LTBLUE}{CURRENCY_LONG} -STR_LAND_AREA_INFORMATION_OWNER_N_A :N/A +STR_LAND_AREA_INFORMATION_OWNER_N_A :Keen STR_LAND_AREA_INFORMATION_OWNER :{BLACK}Besëtzer: {LTBLUE}{STRING} -STR_LAND_AREA_INFORMATION_ROAD_OWNER :{BLACK}Stroossenbesëtzer: {LTBLUE}{STRING} -STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Trambunnbesëtzer: {LTBLUE}{STRING} -STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Schinnenbesëtzer: {LTBLUE}{STRING} -STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Lokal Autoritéit: {LTBLUE}{STRING} +STR_LAND_AREA_INFORMATION_ROAD_OWNER :{BLACK}Stroossebesëtzer: {LTBLUE}{STRING} +STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Tramschinnebesëtzer: {LTBLUE}{STRING} +STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Schinnebesëtzer: {LTBLUE}{STRING} +STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Gemeng: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Keng STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Koordinaten: {LTBLUE}{NUM} x {NUM} x {NUM} ({STRING}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Gebaut: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Statiounsklass: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Statiounstyp: {LTBLUE}{STRING} -STR_LAND_AREA_INFORMATION_AIRPORT_CLASS :{BLACK}Fluchhafenklass: {LTBLUE}{STRING} +STR_LAND_AREA_INFORMATION_AIRPORT_CLASS :{BLACK}Fluchhafeklass: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_AIRPORT_NAME :{BLACK}Fluchhafennumm: {LTBLUE}{STRING} -STR_LAND_AREA_INFORMATION_AIRPORTTILE_NAME :{BLACK}Fluchhafenfeldnumm: {LTBLUE}{STRING} +STR_LAND_AREA_INFORMATION_AIRPORTTILE_NAME :{BLACK}Fluchhafefeldnumm: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_NEWGRF_NAME :{BLACK}NewGRF: {LTBLUE}{STRING} -STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Akzeptéiert Luedung: {LTBLUE} +STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Akzeptéiert Wuer: {LTBLUE} STR_LAND_AREA_INFORMATION_CARGO_EIGHTS :({COMMA}/8 {STRING}) -STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Schinnen Geschw.-Limit: {LTBLUE}{VELOCITY} -STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}Strossen Geschw. Limitatioun: {LTBLUE}{VELOCITY} +STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Schinne-Geschw.-Limit: {LTBLUE}{VELOCITY} +STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}Stroosse-Geschw.-Limit: {LTBLUE}{VELOCITY} # Description of land area of different tiles STR_LAI_CLEAR_DESCRIPTION_ROCKS :Fielsen STR_LAI_CLEAR_DESCRIPTION_ROUGH_LAND :Knubbelegt Land -STR_LAI_CLEAR_DESCRIPTION_BARE_LAND :Blankt Land +STR_LAI_CLEAR_DESCRIPTION_BARE_LAND :Eidelt Land STR_LAI_CLEAR_DESCRIPTION_GRASS :Gras STR_LAI_CLEAR_DESCRIPTION_FIELDS :Felder STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND :Schnéibedeckt Land @@ -2566,22 +2604,22 @@ STR_LAI_CLEAR_DESCRIPTION_DESERT :Wüst STR_LAI_RAIL_DESCRIPTION_TRACK :{STRING} Schinn STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :{STRING} Schinn mat Blocksignaler STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :{STRING} Schinn mat Presignaler -STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :{STRING} Schinn mat End-Signaler +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :{STRING} Schinn mat Ausgangs-Signaler STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :{STRING} Schinn mat Kombo-Signaler STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :{STRING} Schinn mat Weesignaler STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :{STRING} Schinn mat Einbahnsignaler STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :{STRING} Schinn mat Block- an Presignaler -STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :{STRING} Schinn mat Block- an Endsignaler -STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :{STRING} Schinn mat Block- an Kombosignaler -STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :{STRING} Schinn mat Block- an Weesignaler -STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :{STRING} Schinn mat Block- an Einbahnsignaler -STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :{STRING} Schinn mat Pre- an Endsignaler -STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :{STRING} Schinn mat Pre- an Kombosignaler -STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :{STRING} Schinn mat Pre- an Weesignaler +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :{STRING} Schinn mat Block- an Ausgangssignaler +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :{STRING} Schinn mat Block- a Kombosignaler +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :{STRING} Schinn mat Block- a Weesignaler +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :{STRING} Schinn mat Block- a Einbahnsignaler +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :{STRING} Schinn mat Pre- an Ausgangssignaler +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :{STRING} Schinn mat Pre- a Kombosignaler +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :{STRING} Schinn mat Pre- a Weesignaler STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :{STRING} Schinn mat Pre- an Einbahnweesignaler -STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :{STRING} Schinn mat End- an Kombosignaler -STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :{STRING} Schinn mat End- an Weesignaler -STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :{STRING} Schinn mat End an Einbahnweesignaler +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :{STRING} Schinn mat Ausgangs- a Kombosignaler +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :{STRING} Schinn mat Ausgangs- a Weesignaler +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :{STRING} Schinn mat Ausgang- an Einbahnweesignaler STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :{STRING} Schinn mat Kombo- an Weesignaler STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :{STRING} Schinn mat Kombo- an Einbahnweesignaler STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :{STRING} Schinn mat Wee- and Einbahnweesignaler @@ -2591,14 +2629,14 @@ STR_LAI_ROAD_DESCRIPTION_ROAD :Strooss STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Strooss mat Luuchten STR_LAI_ROAD_DESCRIPTION_TREE_LINED_ROAD :Strooss mat Beem STR_LAI_ROAD_DESCRIPTION_ROAD_VEHICLE_DEPOT :Stroossendepot -STR_LAI_ROAD_DESCRIPTION_ROAD_RAIL_LEVEL_CROSSING :Zuch/Strooss Barrière +STR_LAI_ROAD_DESCRIPTION_ROAD_RAIL_LEVEL_CROSSING :Zuche/Stroosse-Barrière STR_LAI_ROAD_DESCRIPTION_TRAMWAY :Tram # Houses come directly from their building names STR_LAI_TOWN_INDUSTRY_DESCRIPTION_UNDER_CONSTRUCTION :{STRING} (gëtt gebaut) STR_LAI_TREE_NAME_TREES :Beem -STR_LAI_TREE_NAME_RAINFOREST :Regenwald +STR_LAI_TREE_NAME_RAINFOREST :Reebësch STR_LAI_TREE_NAME_CACTUS_PLANTS :Kaktus STR_LAI_STATION_DESCRIPTION_RAILROAD_STATION :Gare @@ -2612,7 +2650,7 @@ STR_LAI_STATION_DESCRIPTION_WAYPOINT :Weepunkt STR_LAI_WATER_DESCRIPTION_WATER :Waasser STR_LAI_WATER_DESCRIPTION_CANAL :Kanal -STR_LAI_WATER_DESCRIPTION_LOCK :Schlass +STR_LAI_WATER_DESCRIPTION_LOCK :Schleis STR_LAI_WATER_DESCRIPTION_RIVER :Floss STR_LAI_WATER_DESCRIPTION_COAST_OR_RIVERBANK :Küst oder Flossufer STR_LAI_WATER_DESCRIPTION_SHIP_DEPOT :Schëffsschapp @@ -2624,7 +2662,7 @@ STR_LAI_TUNNEL_DESCRIPTION_ROAD :Stroossentunnel STR_LAI_BRIDGE_DESCRIPTION_RAIL_SUSPENSION_STEEL :Stolen Zuchhängebréck STR_LAI_BRIDGE_DESCRIPTION_RAIL_GIRDER_STEEL :Stoldréier Zuchbréck -STR_LAI_BRIDGE_DESCRIPTION_RAIL_CANTILEVER_STEEL :Stolen fräidroend Zuchbréck +STR_LAI_BRIDGE_DESCRIPTION_RAIL_CANTILEVER_STEEL :Stole fräidroend Zuchbréck STR_LAI_BRIDGE_DESCRIPTION_RAIL_SUSPENSION_CONCRETE :Stolbeton Zuchhängebréck STR_LAI_BRIDGE_DESCRIPTION_RAIL_WOODEN :Holzen Zuchbréck STR_LAI_BRIDGE_DESCRIPTION_RAIL_CONCRETE :Betons Zuchbréck @@ -2634,13 +2672,13 @@ STR_LAI_BRIDGE_DESCRIPTION_ROAD_SUSPENSION_STEEL :Stolen Hängebr STR_LAI_BRIDGE_DESCRIPTION_ROAD_GIRDER_STEEL :Stoldréier Bréck STR_LAI_BRIDGE_DESCRIPTION_ROAD_CANTILEVER_STEEL :Fräidroend Stolbréck STR_LAI_BRIDGE_DESCRIPTION_ROAD_SUSPENSION_CONCRETE :Stolbetons Hängebréck -STR_LAI_BRIDGE_DESCRIPTION_ROAD_WOODEN :Holzen Bréck +STR_LAI_BRIDGE_DESCRIPTION_ROAD_WOODEN :Holze Bréck STR_LAI_BRIDGE_DESCRIPTION_ROAD_CONCRETE :Betons Bréck STR_LAI_BRIDGE_DESCRIPTION_ROAD_TUBULAR_STEEL :Rouerstol Brèck STR_LAI_BRIDGE_DESCRIPTION_AQUEDUCT :Aquadukt -STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER :Sender +STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER :Antenne STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE :Liichttuerm STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS :Firmen Haaptgebai STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Land am Firmenbesëtz @@ -2649,48 +2687,47 @@ 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-2014 D'OpenTTD team +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 D'OpenTTD team # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Spill späicheren STR_SAVELOAD_LOAD_CAPTION :{WHITE}Spill lueden STR_SAVELOAD_SAVE_SCENARIO :{WHITE}Szenario späicheren STR_SAVELOAD_LOAD_SCENARIO :{WHITE}Szenario lueden -STR_SAVELOAD_LOAD_HEIGHTMAP :{WHITE}Lued Héichtenkaart +STR_SAVELOAD_LOAD_HEIGHTMAP :{WHITE}Héichtekaart lueden STR_SAVELOAD_SAVE_HEIGHTMAP :{WHITE}Héichtenkaart späichern -STR_SAVELOAD_HOME_BUTTON :{BLACK}Klick hei fir op d'Standard Späicher-/Luedeverzeeschnis ze goen +STR_SAVELOAD_HOME_BUTTON :{BLACK}Klick hei fir op d'Standard Späicher-/Luedverzeeschnis ze goen STR_SAVELOAD_BYTES_FREE :{BLACK}{BYTES} fräi -STR_SAVELOAD_LIST_TOOLTIP :{BLACK}Lëscht vun den Laafwierker, Dossieren an Späicherstänn -STR_SAVELOAD_EDITBOX_TOOLTIP :{BLACK}Momentan gewielten Numm fir den Spillstand -STR_SAVELOAD_DELETE_BUTTON :{BLACK}Leschen -STR_SAVELOAD_DELETE_TOOLTIP :{BLACK}Lescht den momentan gewielten Spillstand +STR_SAVELOAD_LIST_TOOLTIP :{BLACK}Lëscht vun de Lafwierker, Dossieren a Späicherstänn +STR_SAVELOAD_EDITBOX_TOOLTIP :{BLACK}Momentan gewielten Numm fir de Spillstand +STR_SAVELOAD_DELETE_BUTTON :{BLACK}Läschen +STR_SAVELOAD_DELETE_TOOLTIP :{BLACK}Läscht de momentan gewielte Spillstand STR_SAVELOAD_SAVE_BUTTON :{BLACK}Späicheren STR_SAVELOAD_SAVE_TOOLTIP :{BLACK}Späichert dei aktuell Partie ënnert dem gewielten Numm STR_SAVELOAD_LOAD_BUTTON :{BLACK}Lueden STR_SAVELOAD_LOAD_TOOLTIP :{BLACK}Lued d'ugewielten Spill STR_SAVELOAD_LOAD_HEIGHTMAP_TOOLTIP :{BLACK}Ugewielten Héichtekaart lueden -STR_SAVELOAD_DETAIL_CAPTION :{BLACK}Spill Detailer +STR_SAVELOAD_DETAIL_CAPTION :{BLACK}Detailer vum Spill STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}Keng Informatioun do STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING} STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}NewGRF: {WHITE}{STRING} -STR_SAVELOAD_OSKTITLE :{BLACK}Gëff en Numm an fir den Spillstand +STR_SAVELOAD_OSKTITLE :{BLACK}Gëff dem Spillstand en Numm # World generation STR_MAPGEN_WORLD_GENERATION_CAPTION :{WHITE}Welt Generatioun -STR_MAPGEN_MAPSIZE :{BLACK}Kaartgréisst: -STR_MAPGEN_MAPSIZE_TOOLTIP :{BLACK}Wiel d'Gréisst vun der Kaart an Felder. D'Unzuel vun benotzbaren Felder wäert e bëssen méi kleng sinn +STR_MAPGEN_MAPSIZE :{BLACK}Kaartegréisst: +STR_MAPGEN_MAPSIZE_TOOLTIP :{BLACK}Wiel d'Gréisst vun der Kaart a Felder. D'Unzuel vu benotzbare Felder wäert e bësse méi kleng sinn STR_MAPGEN_BY :{BLACK}* STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Unz. Dierfer: STR_MAPGEN_DATE :{BLACK}Datum: STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Unz. Industrien: +STR_MAPGEN_MAX_HEIGHTLEVEL :{BLACK}Maximal Kaartenhéicht: +STR_MAPGEN_MAX_HEIGHTLEVEL_UP :{BLACK}Setzt d'Maximalhéicht vu Bierger op der Kaart em 1 erop +STR_MAPGEN_MAX_HEIGHTLEVEL_DOWN :{BLACK}Setzt d'Maximalhéicht vu Bierger op der Kaart em 1 erof STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}Weis d'Schnéilinnhéicht -STR_MAPGEN_SNOW_LINE_UP :{BLACK}Beweg Schnéilinnhéicht rop -STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}Beweg Schnéilinnhéicht rof -STR_MAPGEN_RANDOM_SEED :{BLACK}Zoufalls-Zuel: -STR_MAPGEN_RANDOM_SEED_HELP :{BLACK}Klick fir eng Zoufalls-Zuel anzegin -STR_MAPGEN_RANDOM :{BLACK}Duercherneen wierfelen -STR_MAPGEN_RANDOM_HELP :{BLACK}Zoufallszuel änneren fir den Terrain-Generator +STR_MAPGEN_SNOW_LINE_UP :{BLACK}Beweg Schnéilinnhéicht erop +STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}Beweg Schnéilinnhéicht erof STR_MAPGEN_LAND_GENERATOR :{BLACK}Landgenerator: STR_MAPGEN_TREE_PLACER :{BLACK}Baam Algorithmus: STR_MAPGEN_TERRAIN_TYPE :{BLACK}Terrain Typ: @@ -2712,76 +2749,78 @@ STR_MAPGEN_BORDER_RANDOM :{BLACK}Zoufäll STR_MAPGEN_BORDER_RANDOMIZE :{BLACK}Zoufall STR_MAPGEN_BORDER_MANUAL :{BLACK}Manuell -STR_MAPGEN_HEIGHTMAP_ROTATION :{BLACK}Héichtekaart rotatioun: -STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Héichtekaart Numm: +STR_MAPGEN_HEIGHTMAP_ROTATION :{BLACK}Héichtekaart-Rotatioun: +STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Héichtekaart-Numm: STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Gréisst: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} -STR_MAPGEN_RANDOM_SEED_OSKTITLE :{BLACK}Gëff eng zoufälleg Zuel an +STR_MAPGEN_MAX_HEIGHTLEVEL_QUERY_CAPT :{WHITE}Maximal Kaartenhéicht änneren STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}Ännert d'Schnéilinnhéicht STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Änner d'Startjoer # SE Map generation STR_SE_MAPGEN_CAPTION :{WHITE}Szenarientyp STR_SE_MAPGEN_FLAT_WORLD :{WHITE}Flaachland -STR_SE_MAPGEN_FLAT_WORLD_TOOLTIP :{BLACK}Generéier en flaacht Land +STR_SE_MAPGEN_FLAT_WORLD_TOOLTIP :{BLACK}Generéier e flaacht Land STR_SE_MAPGEN_RANDOM_LAND :{WHITE}Zoufallsland -STR_SE_MAPGEN_FLAT_WORLD_HEIGHT :{BLACK}Héicht vum flaachen Land: -STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_DOWN :{BLACK}Héicht vum flaachen land 1 rofsetzen -STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_UP :{BLACK}Héicht vum flaachen land 1 ropsetzen +STR_SE_MAPGEN_FLAT_WORLD_HEIGHT :{BLACK}Héicht vum flaache Land: +STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_DOWN :{BLACK}Héicht vum flaache Land 1 erofsetzen +STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_UP :{BLACK}Héicht vum flaache Land 1 eropsetzen -STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_QUERY_CAPT :{WHITE}Héicht vum flaachen Land änneren +STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_QUERY_CAPT :{WHITE}Héicht vum flaache Land änneren # Map generation progress STR_GENERATION_WORLD :{WHITE}Generéiren d'Welt... STR_GENERATION_ABORT :{BLACK}Ofbriechen -STR_GENERATION_ABORT_CAPTION :{WHITE}Welt Generatioun ofbriechen +STR_GENERATION_ABORT_CAPTION :{WHITE}Welt-Generatioun ofbriechen STR_GENERATION_ABORT_MESSAGE :{YELLOW}Wëlls du wierklech d'Generatioun ofbriechen? STR_GENERATION_PROGRESS :{WHITE}{NUM}% komplett STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} -STR_GENERATION_WORLD_GENERATION :{BLACK}Welt Generatioun -STR_GENERATION_RIVER_GENERATION :{BLACK}Generéiren vun Flëss +STR_GENERATION_WORLD_GENERATION :{BLACK}Welt-Generatioun +STR_GENERATION_RIVER_GENERATION :{BLACK}Generéiren vu Flëss STR_GENERATION_TREE_GENERATION :{BLACK}Baam Generatioun -STR_GENERATION_OBJECT_GENERATION :{BLACK}Unbewegbar Generatioun -STR_GENERATION_CLEARING_TILES :{BLACK}Generatioun vun knubblegen an stengegen Land +STR_GENERATION_OBJECT_GENERATION :{BLACK}Objets-Generatioun +STR_GENERATION_CLEARING_TILES :{BLACK}Generatioun vu knubbelegem a stengege Land STR_GENERATION_SETTINGUP_GAME :{BLACK}Spill gëtt opgestallt -STR_GENERATION_PREPARING_TILELOOP :{BLACK}Running tile-loop +STR_GENERATION_PREPARING_TILELOOP :{BLACK}Felder-Verdeelung STR_GENERATION_PREPARING_SCRIPT :{BLACK}Lafende Script -STR_GENERATION_PREPARING_GAME :{BLACK}Preparéiren Spill +STR_GENERATION_PREPARING_GAME :{BLACK}Preparéiren d'Spill # NewGRF settings STR_NEWGRF_SETTINGS_CAPTION :{WHITE}NewGRF Astellungen STR_NEWGRF_SETTINGS_INFO_TITLE :{WHITE}Detailléiert NewGRF Informatioun STR_NEWGRF_SETTINGS_ACTIVE_LIST :{WHITE}Aktiv NewGRF Dateien STR_NEWGRF_SETTINGS_INACTIVE_LIST :{WHITE}Inaktiv NewGRF Dateien -STR_NEWGRF_SETTINGS_SELECT_PRESET :{ORANGE}Wiel Preset: -STR_NEWGRF_FILTER_TITLE :{ORANGE}Filter string: -STR_NEWGRF_SETTINGS_PRESET_LIST_TOOLTIP :{BLACK}Selectéierten Preset lueden +STR_NEWGRF_SETTINGS_SELECT_PRESET :{ORANGE}Preset auswielen: +STR_NEWGRF_FILTER_TITLE :{ORANGE}String filteren: +STR_NEWGRF_SETTINGS_PRESET_LIST_TOOLTIP :{BLACK}Gewielte Preset lueden STR_NEWGRF_SETTINGS_PRESET_SAVE :{BLACK}Preset späichern STR_NEWGRF_SETTINGS_PRESET_SAVE_TOOLTIP :{BLACK}Aktuell Lëscht als Preset späichern -STR_NEWGRF_SETTINGS_PRESET_SAVE_QUERY :{BLACK}Presetnumm ugin -STR_NEWGRF_SETTINGS_PRESET_DELETE :{BLACK}Preset leschen -STR_NEWGRF_SETTINGS_PRESET_DELETE_TOOLTIP :{BLACK}Selectéierten Preset leschen +STR_NEWGRF_SETTINGS_PRESET_SAVE_QUERY :{BLACK}Presetnumm uginn +STR_NEWGRF_SETTINGS_PRESET_DELETE :{BLACK}Preset läschen +STR_NEWGRF_SETTINGS_PRESET_DELETE_TOOLTIP :{BLACK}Gewielte Preset läschen STR_NEWGRF_SETTINGS_ADD :{BLACK}Baifügen -STR_NEWGRF_SETTINGS_ADD_FILE_TOOLTIP :{BLACK}Selectionéiert NewGRF an der Config baisetzen +STR_NEWGRF_SETTINGS_ADD_FILE_TOOLTIP :{BLACK}Ausgewielte NewGRF an d'Config bäisetzen STR_NEWGRF_SETTINGS_RESCAN_FILES :{BLACK}Dateien nei scannen -STR_NEWGRF_SETTINGS_RESCAN_FILES_TOOLTIP :{BLACK}Update d'Lëscht vun verfügbaren NewGRF Dateien. +STR_NEWGRF_SETTINGS_RESCAN_FILES_TOOLTIP :{BLACK}Update d'Lëscht vu verfügbare NewGRF Dateien. STR_NEWGRF_SETTINGS_REMOVE :{BLACK}Wechhhuelen -STR_NEWGRF_SETTINGS_REMOVE_TOOLTIP :{BLACK}Selectéiert NewGRF aus der Lëscht huelen +STR_NEWGRF_SETTINGS_REMOVE_TOOLTIP :{BLACK}Ausgewielten NewGRF aus der Lëscht huelen STR_NEWGRF_SETTINGS_MOVEUP :{BLACK}Rop -STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP :{BLACK}Setzt d'NewGRF an der Lëscht erop +STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP :{BLACK}Setzt den NewGRF an der Lëscht erop STR_NEWGRF_SETTINGS_MOVEDOWN :{BLACK}Rof STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP :{BLACK}Setzt d'NewGRF an der Lëscht erof +STR_NEWGRF_SETTINGS_UPGRADE :{BLACK}Upgrade +STR_NEWGRF_SETTINGS_UPGRADE_TOOLTIP :{BLACK}Upgrade NewGRF Dateien fir déis du eng méi nei Versioun installéiert hues STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}Eng Lëscht vun NewGRF Dateien déi installéiert sinn. -STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}Set parameters -STR_NEWGRF_SETTINGS_SHOW_PARAMETERS :{BLACK}Weis d'Parameter +STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}Parameter setzen +STR_NEWGRF_SETTINGS_SHOW_PARAMETERS :{BLACK}Parameter uweisen STR_NEWGRF_SETTINGS_TOGGLE_PALETTE :{BLACK}Palette wiesselen -STR_NEWGRF_SETTINGS_TOGGLE_PALETTE_TOOLTIP :{BLACK}Wiessel Palette vun den selectéierten NewGRF.{} Maach dat wann d'Grafiken vun deser NewGRF rosa am Spill ausgesin +STR_NEWGRF_SETTINGS_TOGGLE_PALETTE_TOOLTIP :{BLACK}Wiessel d'Palette vun den ausgewielten NewGRF.{} Maach dat wann d'Grafiken vun deser NewGRF rosa am Spill ausgesinn STR_NEWGRF_SETTINGS_APPLY_CHANGES :{BLACK}Ännerungen unhuelen -STR_NEWGRF_SETTINGS_FIND_MISSING_CONTENT_BUTTON :{BLACK}Feelenden Inhalt online downloaden -STR_NEWGRF_SETTINGS_FIND_MISSING_CONTENT_TOOLTIP :{BLACK}Check op den Inahlt den feelt online kann fonnt gin +STR_NEWGRF_SETTINGS_FIND_MISSING_CONTENT_BUTTON :{BLACK}Fehlenden Inhalt online downloaden +STR_NEWGRF_SETTINGS_FIND_MISSING_CONTENT_TOOLTIP :{BLACK}Check op den Inhalt de fehlt online ka fonnt ginn STR_NEWGRF_SETTINGS_FILENAME :{BLACK}Dateinumm: {SILVER}{STRING} STR_NEWGRF_SETTINGS_GRF_ID :{BLACK}GRF ID: {SILVER}{STRING} @@ -2794,24 +2833,34 @@ STR_NEWGRF_SETTINGS_PARAMETER :{BLACK}Paramete STR_NEWGRF_SETTINGS_NO_INFO :{BLACK}Keng Info verfügbar STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Datei net fonnt. STR_NEWGRF_SETTINGS_DISABLED :{RED}Ausgeschalt -STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Onkompatibel mat dëser Versioun vun OpenTTD +STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Onkompatibel mat deser Versioun vun OpenTTD + +# NewGRF save preset window +STR_SAVE_PRESET_CAPTION :{WHITE}Preset späichern +STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK}Lëscht vu Presets, wiel een den op den Numm ënnendrënner kopéiert gëtt +STR_SAVE_PRESET_TITLE :{BLACK}Wiel en Numm fir de Preset +STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}Grad ausgewielten Numm fir de Preset dee gespäichert soll ginn +STR_SAVE_PRESET_CANCEL :{BLACK}Ofbriechen +STR_SAVE_PRESET_CANCEL_TOOLTIP :{BLACK}Den Preset net änneren +STR_SAVE_PRESET_SAVE :{BLACK}Späichern +STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}Späicher de Preset op dee grad ausgewielten Numm # NewGRF parameters window STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}NewGRF Parameter änneren -STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Zouman +STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Zoumaachen STR_NEWGRF_PARAMETERS_RESET :{BLACK}Reset -STR_NEWGRF_PARAMETERS_RESET_TOOLTIP :{BLACK}Setzt all Paramater op den Standard zréck +STR_NEWGRF_PARAMETERS_RESET_TOOLTIP :{BLACK}Setzt all Paramater op de Standard zréck STR_NEWGRF_PARAMETERS_DEFAULT_NAME :Parameter {NUM} STR_NEWGRF_PARAMETERS_SETTING :{STRING}: {ORANGE}{STRING} STR_NEWGRF_PARAMETERS_NUM_PARAM :{LTBLUE}Unzuel Parameter: {ORANGE}{NUM} # NewGRF inspect window -STR_NEWGRF_INSPECT_CAPTION :{WHITE}Inspzéier - {STRING} +STR_NEWGRF_INSPECT_CAPTION :{WHITE}Inspizéier - {STRING} STR_NEWGRF_INSPECT_PARENT_BUTTON :{BLACK}Parent STR_NEWGRF_INSPECT_PARENT_TOOLTIP :{BLACK}Inspizéier den Objet vun der "parent scope" STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT :{STRING} op {HEX} -STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_OBJECT :Objekt +STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_OBJECT :Objet STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_RAIL_TYPE :Schinnentyp STR_NEWGRF_INSPECT_QUERY_CAPTION :{WHITE}NewGRF Variabel 60+x Parameter (hexadezimal) @@ -2819,14 +2868,17 @@ STR_NEWGRF_INSPECT_QUERY_CAPTION :{WHITE}NewGRF V # Sprite aligner window STR_SPRITE_ALIGNER_CAPTION :{WHITE}Alignéiren d'Sprite {COMMA} ({STRING}) STR_SPRITE_ALIGNER_NEXT_BUTTON :{BLACK}Nächst Sprite -STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Géi weider op déi nächst normal Sprite, iwersprang all pseudo/recolour/font Sprite an emsprangen um Ufank +STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Géi weider op déi nächst normal Sprite, iwwersprang all pseudo/recolour/font Sprite an sprang un den Ufank no der leschter. STR_SPRITE_ALIGNER_GOTO_BUTTON :{BLACK}Géi op Sprite STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}Géi op d'Sprite. Wann d'Sprite keng normal Sprite ass, géi op déi nächst normal Sprite -STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Fiirescht Sprite -STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Géi weider op déi nächst normal Sprite, iwersprang all pseudo/recolour/font Sprite an emsprangen um Ufank +STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Viregt Sprite +STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Géi weider op déi nächst normal Sprite, iwwersprang all pseudo/recolour/font Sprite an sprang zréck op den Ufank no der leschter. STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Representatioun vun der grad gewielter Sprite. Den Alignement gëtt ignoréiert wann d'Sprite gezun gëtt STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Beweg Sprite, X an Y offsets enneren sech -STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X offset: {NUM}, Y offset: {NUM} +STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Relativ zerécksetzen +STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Momentan relativ Offsets zerécksetzen +STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}X-Offset: {NUM}, Y-Offset: {NUM} (Absolut) +STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}X-Offset: {NUM}, Y-Offset: {NUM} (Relativ) STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Wiel Sprite STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Wiel en Sprite egalwou um Schierm aus @@ -2835,20 +2887,20 @@ STR_SPRITE_ALIGNER_GOTO_CAPTION :{WHITE}Géi op # NewGRF (self) generated warnings/errors STR_NEWGRF_ERROR_MSG_INFO :{SILVER}{STRING} STR_NEWGRF_ERROR_MSG_WARNING :{RED}Warnung: {SILVER}{STRING} -STR_NEWGRF_ERROR_MSG_ERROR :{RED}Error: {SILVER}{STRING} +STR_NEWGRF_ERROR_MSG_ERROR :{RED}Fehler: {SILVER}{STRING} STR_NEWGRF_ERROR_MSG_FATAL :{RED}Fatal: {SILVER}{STRING} STR_NEWGRF_ERROR_FATAL_POPUP :{WHITE}E fatalen NewGRF Fehler ass geschitt: {}{STRING} -STR_NEWGRF_ERROR_VERSION_NUMBER :{1:STRING} wärt net mat der TTDPatch vun OpenTTD versioun funktionéiren +STR_NEWGRF_ERROR_VERSION_NUMBER :{1:STRING} wärt net mat der TTDPatch Versioun déi vun OpenTTD erkannt gouf funktionéiren STR_NEWGRF_ERROR_DOS_OR_WINDOWS :{1:STRING} ass fir {STRING} Versioun vun TTD -STR_NEWGRF_ERROR_UNSET_SWITCH :{1:STRING} ass designed fir mat {STRING} benotzt ze gin -STR_NEWGRF_ERROR_INVALID_PARAMETER :Invaliden Parameter fir {1:STRING}: Parameter {STRING} ({NUM}) -STR_NEWGRF_ERROR_LOAD_BEFORE :{1:STRING} muss firun {STRING} gelueden ginn -STR_NEWGRF_ERROR_LOAD_AFTER :{1:STRING} muss no {STRING} gelueden gin +STR_NEWGRF_ERROR_UNSET_SWITCH :{1:STRING} ass designed fir mat {STRING} benotzt ze ginn +STR_NEWGRF_ERROR_INVALID_PARAMETER :Invalide Parameter fir {1:STRING}: Parameter {STRING} ({NUM}) +STR_NEWGRF_ERROR_LOAD_BEFORE :{1:STRING} muss firun {STRING} geluede ginn +STR_NEWGRF_ERROR_LOAD_AFTER :{1:STRING} muss no {STRING} geluede ginn STR_NEWGRF_ERROR_OTTD_VERSION_NUMBER :{1:STRING} brauch OpenTTD Versioun {STRING} oder méi nei STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE :GRF Datei déi designed gouf fir ze iwwersetzen STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :Zevill NewGRFen gelueden. -STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :{1:STRING} als statësch NewGRF lueden mat {STRING} kann Desyncs efirrufen -STR_NEWGRF_ERROR_UNEXPECTED_SPRITE :Onerwarten Sprite (Sprite {3:NUM}) +STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :{1:STRING} als statesch NewGRF lueden mat {STRING} kann Desyncs verursaachen +STR_NEWGRF_ERROR_UNEXPECTED_SPRITE :Onerwaarte Sprite (Sprite {3:NUM}) STR_NEWGRF_ERROR_UNKNOWN_PROPERTY :Onbekannten Aktioun 0 property {4:HEX} (Sprite {3:NUM}) STR_NEWGRF_ERROR_INVALID_ID :Versicht invalid ID ze benotzen (Sprite {3:NUM}) STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} huet eng korrupt Sprite. All korrupt Sprites ginn als Fragezeichen (?) duergestallt @@ -2862,13 +2914,13 @@ STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Invalid/onbekan # NewGRF related 'general' warnings STR_NEWGRF_POPUP_CAUTION_CAPTION :{WHITE}Opgepasst! -STR_NEWGRF_CONFIRMATION_TEXT :{YELLOW}Du mëss Ännerungen an engem lafenden Spill. Dëst kann OpenTTD crashen.W.e.g dëst net als Bug melden.{}Bass du sécher? +STR_NEWGRF_CONFIRMATION_TEXT :{YELLOW}Du mëss Ännerungen an engem lafende Spill. Dest kann OpenTTD crashen.W.e.g dest net als Bug melden.{}Bass du sécher? STR_NEWGRF_DUPLICATE_GRFID :{WHITE}Kann Datei net bäisetzen: Duplikat GRF ID STR_NEWGRF_COMPATIBLE_LOADED :{ORANGE}Passend Datei net fonnt (kompatibel GRF gelued) -STR_NEWGRF_TOO_MANY_NEWGRFS :{WHITE}Kann Fichier net dobäisetzen : NewGRF Limite errecht +STR_NEWGRF_TOO_MANY_NEWGRFS :{WHITE}Kann Fichier net dobäisetzen : NewGRF Limite erreecht -STR_NEWGRF_COMPATIBLE_LOAD_WARNING :{WHITE}Kompatibel GRF(s) gelueden fir fehlend Dateien +STR_NEWGRF_COMPATIBLE_LOAD_WARNING :{WHITE}Kompatibel GRF(s) geluede fir fehlend Dateien STR_NEWGRF_DISABLED_WARNING :{WHITE}Fehlend GRF Datei(en) sinn ausgeschalt STR_NEWGRF_UNPAUSE_WARNING_TITLE :{YELLOW}Fehlend GRF Datei(en) STR_NEWGRF_UNPAUSE_WARNING :{WHITE}Entpausen kann OpenTTD crashen.{} Wellsde wierklech entpausen ? @@ -2882,34 +2934,34 @@ STR_NEWGRF_LIST_MISSING :{RED}Dateien fe # NewGRF 'it's broken' warnings STR_NEWGRF_BROKEN :{WHITE}Verhalen vun der NewGRF '{0:STRING}' kann Desyncs oder Crashen verursachen STR_NEWGRF_BROKEN_POWERED_WAGON :{WHITE}Ännert den Zoustand fir '{1:ENGINE}' wann net an engem Schapp -STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Ännnert d'Gefierlängt fir '{1:ENGINE}' wann net an engem Schapp +STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Ännert d'Gefierlängt fir '{1:ENGINE}' wann net an engem Schapp STR_NEWGRF_BROKEN_CAPACITY :{WHITE}Geännerte Gefierkapazitéit vun '{1:ENGINE}' wann net an engem Schapp oder amgaang emgebaut ze ginn STR_BROKEN_VEHICLE_LENGTH :{WHITE}Zuch'{VEHICLE}' vun der Firma '{COMPANY}' huet eng falsch Längt. Et kënnt wahrscheinlech wéinst den NewGRFs. Spill kann desyncroniséiren oder ofstierzen STR_NEWGRF_BUGGY :{WHITE}NewGRF '{0:STRING}' huet Fehlinformatiounen STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}Cargo/refit Informatioun fir '{1:ENGINE}' ass anescht wéi an der Kaflëscht no der Constructioun. Dëst kann en Autoerneirung/-ersetzen Fehler oprufen STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' huet eng Endlosschläif am Production callback verursaacht -STR_NEWGRF_BUGGY_UNKNOWN_CALLBACK_RESULT :{WHITE}Callback {1:HEX} returned unknown/invalid result {2:HEX} +STR_NEWGRF_BUGGY_UNKNOWN_CALLBACK_RESULT :{WHITE}Callback {1:HEX} huet en onbekannten/invalid Resultat {2:HEX} # 'User removed essential NewGRFs'-placeholders for stuff without specs STR_NEWGRF_INVALID_CARGO : STR_NEWGRF_INVALID_CARGO_ABBREV :?? STR_NEWGRF_INVALID_CARGO_QUANTITY :{COMMA} vun -STR_NEWGRF_INVALID_ENGINE : +STR_NEWGRF_INVALID_ENGINE : STR_NEWGRF_INVALID_INDUSTRYTYPE : # Placeholders for other invalid stuff, e.g. vehicles that have gone (Game Script). -STR_INVALID_VEHICLE : +STR_INVALID_VEHICLE : # NewGRF scanning window STR_NEWGRF_SCAN_CAPTION :{WHITE}Scannen NewGRFen -STR_NEWGRF_SCAN_MESSAGE :{BLACK}Scannen NewGRFen. Dëst kann eng Weil dauern, je no Emfang ... +STR_NEWGRF_SCAN_MESSAGE :{BLACK}Scannen NewGRFen. Dest kann eng Weil dauern... STR_NEWGRF_SCAN_STATUS :{BLACK}{NUM} NewGRF{P "" en} gescanned vun ongeféier {NUM} NewGRF{P "" en} STR_NEWGRF_SCAN_ARCHIVES :Archiver scannen # Sign list window STR_SIGN_LIST_CAPTION :{WHITE}Schëlderlëscht - {COMMA} Schëld{P "" er} -STR_SIGN_LIST_MATCH_CASE :{BLACK}Zoutreffenden Fall +STR_SIGN_LIST_MATCH_CASE :{BLACK}Passende Fall STR_SIGN_LIST_MATCH_CASE_TOOLTIP :{BLACK}Zoutreffend Fäll wiesselen wann Schëldernimm mam String-Filter verglach ginn # Sign window @@ -2930,67 +2982,67 @@ STR_TOWN_POPULATION :{BLACK}Weltbev STR_TOWN_VIEW_TOWN_CAPTION :{WHITE}{TOWN} STR_TOWN_VIEW_CITY_CAPTION :{WHITE}{TOWN} (Stad) STR_TOWN_VIEW_POPULATION_HOUSES :{BLACK}Awunner: {ORANGE}{COMMA}{BLACK} Haiser: {ORANGE}{COMMA} -STR_TOWN_VIEW_PASSENGERS_LAST_MONTH_MAX :{BLACK}Passagéier leschten Mount: {ORANGE}{COMMA}{BLACK} max: {ORANGE}{COMMA} -STR_TOWN_VIEW_MAIL_LAST_MONTH_MAX :{BLACK}Post leschten Mount: {ORANGE}{COMMA}{BLACK} max: {ORANGE}{COMMA} -STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH :{BLACK}Luedungen gebraucht fir Stadwuestum: +STR_TOWN_VIEW_PASSENGERS_LAST_MONTH_MAX :{BLACK}Passagéier leschte Mount: {ORANGE}{COMMA}{BLACK} max: {ORANGE}{COMMA} +STR_TOWN_VIEW_MAIL_LAST_MONTH_MAX :{BLACK}Post leschte Mount: {ORANGE}{COMMA}{BLACK} max: {ORANGE}{COMMA} +STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH :{BLACK}Gidder gebraucht fir Stadwuesstem: STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_GENERAL :{ORANGE}{STRING}{RED} gebraucht STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING}{BLACK} gebraucht am Wanter STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} geliwwert STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (nach gebraucht) STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (geliwwert) -STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Stat wiisst all {ORANGE}{COMMA}{BLACK} D{P aag eeg} -STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Stat wiisst all {ORANGE}{COMMA}{BLACK} D{P aag eeg} (finanzéiert) -STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}Stat wiisst{RED} net{BLACK} +STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Stad wiisst all {ORANGE}{COMMA}{BLACK}{NBSP}D{P ag eeg} +STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Stad wiisst all {ORANGE}{COMMA}{BLACK}{NBSP}D{P ag eeg} (finanzéiert) +STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}Stad wiisst{RED} net{BLACK} STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Kaméidislimit an der Stad: {ORANGE}{COMMA}{BLACK} max: {ORANGE}{COMMA} STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Zentréiert d'Usiicht op d'Stad. Ctrl+Klick erstellt eng nei Usiicht op d'Stad STR_TOWN_VIEW_LOCAL_AUTHORITY_BUTTON :{BLACK}Gemeng STR_TOWN_VIEW_LOCAL_AUTHORITY_TOOLTIP :{BLACK}Weist d'Informatiounen zu der Gemeng -STR_TOWN_VIEW_RENAME_TOOLTIP :{BLACK}Wiesselt den Stadnumm +STR_TOWN_VIEW_RENAME_TOOLTIP :{BLACK}Wiesselt de Stadnumm STR_TOWN_VIEW_EXPAND_BUTTON :{BLACK}Erweideren STR_TOWN_VIEW_EXPAND_TOOLTIP :{BLACK}Stad méi grouss maachen -STR_TOWN_VIEW_DELETE_BUTTON :{BLACK}Leschen -STR_TOWN_VIEW_DELETE_TOOLTIP :{BLACK}Dës Stad ganz leschen +STR_TOWN_VIEW_DELETE_BUTTON :{BLACK}Läschen +STR_TOWN_VIEW_DELETE_TOOLTIP :{BLACK}Des Stad ganz läschen STR_TOWN_VIEW_RENAME_TOWN_BUTTON :Stad ëmbenennen # Town local authority window -STR_LOCAL_AUTHORITY_CAPTION :{WHITE}{TOWN} Gemeng -STR_LOCAL_AUTHORITY_COMPANY_RATINGS :{BLACK}Transportfirmen Bewertung: +STR_LOCAL_AUTHORITY_CAPTION :{WHITE}Gemeng {TOWN} +STR_LOCAL_AUTHORITY_COMPANY_RATINGS :{BLACK}Transportfirme-Bewäertung: STR_LOCAL_AUTHORITY_COMPANY_RATING :{YELLOW}{COMPANY} {COMPANY_NUM}: {ORANGE}{STRING} -STR_LOCAL_AUTHORITY_ACTIONS_TITLE :{BLACK}Verfügbar Optiounen: -STR_LOCAL_AUTHORITY_ACTIONS_TOOLTIP :{BLACK}Lëscht vun Saachen déi an der Stad gemaach kënnen ginn - klick op eng Optioun fir méi Informatiounen -STR_LOCAL_AUTHORITY_DO_IT_BUTTON :{BLACK}Maach ët -STR_LOCAL_AUTHORITY_DO_IT_TOOLTIP :{BLACK}Féiert déi ungewielten Optioun aus +STR_LOCAL_AUTHORITY_ACTIONS_TITLE :{BLACK}Verfügbar Aktiounen: +STR_LOCAL_AUTHORITY_ACTIONS_TOOLTIP :{BLACK}Lëscht vu Saachen déi an der Stad gemaach kënne ginn - klick op eng Optioun fir méi Informatiounen +STR_LOCAL_AUTHORITY_DO_IT_BUTTON :{BLACK}Maach et +STR_LOCAL_AUTHORITY_DO_IT_TOOLTIP :{BLACK}Féiert déi gewielten Aktioun aus STR_LOCAL_AUTHORITY_ACTION_SMALL_ADVERTISING_CAMPAIGN :Kleng Marketingaktioun STR_LOCAL_AUTHORITY_ACTION_MEDIUM_ADVERTISING_CAMPAIGN :Mëttel Marketingsaktioun STR_LOCAL_AUTHORITY_ACTION_LARGE_ADVERTISING_CAMPAIGN :Grouss Marketingsaktioun -STR_LOCAL_AUTHORITY_ACTION_ROAD_RECONSTRUCTION :Strossenneibau finanzéieren +STR_LOCAL_AUTHORITY_ACTION_ROAD_RECONSTRUCTION :Stroossenneibau finanzéieren STR_LOCAL_AUTHORITY_ACTION_STATUE_OF_COMPANY :Statu vum Firmenbesëtzer bauen STR_LOCAL_AUTHORITY_ACTION_NEW_BUILDINGS :Nei Gebaier finanzéieren STR_LOCAL_AUTHORITY_ACTION_EXCLUSIVE_TRANSPORT :Exklusiv Transportrechter kafen STR_LOCAL_AUTHORITY_ACTION_BRIBE :D'Gemeng bestiechen -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}Eng kleng Marketingaktioun starten, fir méi Passagéier an Wueren ze gewannen.{} Käschten: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}Eng mëttel Marketingaktioun starten, fir méi Passagéier an Wueren ze gewannen.{} Käschten: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW}Eng grouss Marketingaktioun starten, fir méi Passagéier an Wueren ze gewannen.{} Käschten: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}Stroossenneibau an der Stad finanzéieren. Stéiert den Traffic op den Stroossen fir dei nächst 6 Méint.{} Käschten: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}Eng kleng Marketingaktioun starten, fir méi Passagéier a Wueren ze gewannen.{} Käschten: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}Eng mëttel Marketingaktioun starten, fir méi Passagéier a Wueren ze gewannen.{} Käschten: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW}Eng grouss Marketingaktioun starten, fir méi Passagéier a Wueren ze gewannen.{} Käschten: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}Stroossenneibau an der Stad finanzéieren. Stéiert den Traffic op de Stroossen fir déi nächst 6 Méint.{} Käschten: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}Eng Statu zur Éier vun der Firma bauen.{} Käschten: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}Den Bau vun neien Kommerzgebaier finanzéieren.{} Käschten: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}Kaft fir 1 Joer exklusiv Transportrechter an dëser Stad. D'Gemeng erlaabt den Transport vun Passagéier an Wueren nëmmen ärer Firma.{} Käschten: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}De Bau vun neie Kommerzgebaier finanzéieren.{} Käschten: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}Kaaft fir 1 Joer exklusiv Transportrechter an deser Stad. D'Gemeng erlaabt den Transport vu Passagéier a Wueren nëmmen äerer Firma.{} Käschten: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}D'Gemeng bestiechen fir d'Bewäertung ze erhéijen, mam Risiko fir eng grouss Bestrofung, falls der erwëscht gitt.{} Käschten: {CURRENCY_LONG} # Goal window STR_GOALS_CAPTION :{WHITE}{COMPANY} Ziler STR_GOALS_SPECTATOR_CAPTION :{WHITE}Global Ziler -STR_GOALS_GLOBAL_TITLE :{BLACK}Global Zieler: +STR_GOALS_GLOBAL_TITLE :{BLACK}Global Ziler: STR_GOALS_TEXT :{ORANGE}{STRING} STR_GOALS_NONE :{ORANGE}- Keng - STR_GOALS_SPECTATOR_NONE :{ORANGE}- Net uwendbar - STR_GOALS_PROGRESS :{ORANGE}{STRING} STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING} -STR_GOALS_COMPANY_TITLE :{BLACK}Firmenzieler: +STR_GOALS_COMPANY_TITLE :{BLACK}Firmenziler: STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Klick op Ziel fir d'Haptfënster op d'Industrie/Stad/Feld ze zentréiren. Ctrl+Klick mëcht eng nei Fënster op der Industrie/Stad/Feld-Positioun op # Goal question window @@ -2999,7 +3051,7 @@ STR_GOAL_QUESTION_CAPTION_INFORMATION :Informatioun STR_GOAL_QUESTION_CAPTION_WARNING :Warnung STR_GOAL_QUESTION_CAPTION_ERROR :Fehler -### Start of Goal Question button list +############ Start of Goal Question button list STR_GOAL_QUESTION_BUTTON_CANCEL :Ofbriechen STR_GOAL_QUESTION_BUTTON_OK :OK STR_GOAL_QUESTION_BUTTON_NO :Nee @@ -3008,25 +3060,26 @@ STR_GOAL_QUESTION_BUTTON_DECLINE :Ofleenen STR_GOAL_QUESTION_BUTTON_ACCEPT :Unhuelen STR_GOAL_QUESTION_BUTTON_IGNORE :Ignoréiren STR_GOAL_QUESTION_BUTTON_RETRY :Nach emol.. -STR_GOAL_QUESTION_BUTTON_PREVIOUS :Zréck +STR_GOAL_QUESTION_BUTTON_PREVIOUS :Zeréck STR_GOAL_QUESTION_BUTTON_NEXT :Nächst STR_GOAL_QUESTION_BUTTON_STOP :Stop STR_GOAL_QUESTION_BUTTON_START :Start STR_GOAL_QUESTION_BUTTON_GO :Lass STR_GOAL_QUESTION_BUTTON_CONTINUE :Weiderman STR_GOAL_QUESTION_BUTTON_RESTART :Nei man -STR_GOAL_QUESTION_BUTTON_POSTPONE :Ofwarden +STR_GOAL_QUESTION_BUTTON_POSTPONE :Ofwaarden STR_GOAL_QUESTION_BUTTON_SURRENDER :Opginn STR_GOAL_QUESTION_BUTTON_CLOSE :Zouman +############ End of Goal Question button list # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}Subventiounen -STR_SUBSIDIES_OFFERED_TITLE :{BLACK}Subventiounen fir den Service: -STR_SUBSIDIES_OFFERED_FROM_TO :{ORANGE}{STRING} vun {STRING} op {STRING}{YELLOW} (by {DATE_SHORT}) +STR_SUBSIDIES_OFFERED_TITLE :{BLACK}Subventiounen fir de Service: +STR_SUBSIDIES_OFFERED_FROM_TO :{ORANGE}{STRING} vun {STRING} op {STRING}{YELLOW} (bis {DATE_SHORT}) STR_SUBSIDIES_NONE :{ORANGE}- Keng - STR_SUBSIDIES_SUBSIDISED_TITLE :{BLACK}Servicer mat Subventiounen: STR_SUBSIDIES_SUBSIDISED_FROM_TO :{ORANGE}{STRING} vun {STRING} op {STRING}{YELLOW} ({COMPANY}{YELLOW}, bis {DATE_SHORT}) -STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Klick op den Service fir d'Usiicht op d'Industrie/Stad ze zentréieren. Ctrl+Klick erstellt eng nei Usiicht op d'Industrie/Stad +STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Klick op de Service fir d'Usiicht op d'Industrie/Stad ze zentréieren. Ctrl+Klick erstellt eng nei Usiicht op d'Industrie/Stad # Story book window STR_STORY_BOOK_CAPTION :{WHITE}{COMPANY} Storybuch @@ -3034,55 +3087,54 @@ STR_STORY_BOOK_SPECTATOR_CAPTION :{WHITE}Globalt STR_STORY_BOOK_TITLE :{YELLOW}{STRING} STR_STORY_BOOK_GENERIC_PAGE_ITEM :Säit {NUM} STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Géi op eng spezifësch Säit andems se aus der Dropdownlëscht ausgewielt gëtt -STR_STORY_BOOK_PREV_PAGE :{BLACK}Zréck +STR_STORY_BOOK_PREV_PAGE :{BLACK}Zeréck STR_STORY_BOOK_PREV_PAGE_TOOLTIP :{BLACK}Géi op d'Säit firdrun STR_STORY_BOOK_NEXT_PAGE :{BLACK}Nächst STR_STORY_BOOK_NEXT_PAGE_TOOLTIP :{BLACK}Géi op déi nächst Säit STR_STORY_BOOK_INVALID_GOAL_REF :{RED}Ongültëg Zil Referenz # Station list window -STR_STATION_LIST_TOOLTIP :{BLACK}Statiounennimm - klick op den Numm fir d'Siicht drop ze zentréieren. Ctrl+Klick erstellt eng nei Usiicht op d'Statioun -STR_STATION_LIST_USE_CTRL_TO_SELECT_MORE :{BLACK}Haalt Ctrl un fir méi wéi 1 Objekt auszewielen +STR_STATION_LIST_TOOLTIP :{BLACK}Statiounennimm - klick op den Numm fir d'Usiicht dorop ze zentréieren. Ctrl+Klick erstellt eng nei Usiicht op d'Statioun +STR_STATION_LIST_USE_CTRL_TO_SELECT_MORE :{BLACK}Hal Ctrl un fir méi wéi 1 Objet auszewielen STR_STATION_LIST_CAPTION :{WHITE}{COMPANY} - {COMMA} Statioun{P "" en} STR_STATION_LIST_STATION :{YELLOW}{STATION} {STATION_FEATURES} STR_STATION_LIST_WAYPOINT :{YELLOW}{WAYPOINT} STR_STATION_LIST_NONE :{YELLOW}- Näischt - -STR_STATION_LIST_SELECT_ALL_FACILITIES :{BLACK}Selectéier all d'Fabriken +STR_STATION_LIST_SELECT_ALL_FACILITIES :{BLACK}Wiel all d'Fabriken STR_STATION_LIST_SELECT_ALL_TYPES :{BLACK}Wielt all Luedungstyp (ouni Luedung déi waard) -STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}Kéng Luedung +STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}Keng Luedung # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} -STR_STATION_VIEW_WAITING_TITLE :{BLACK}Um waarden: {WHITE}{STRING} STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} ënnerwee vun {STATION}) STR_STATION_VIEW_RESERVED :{YELLOW}({CARGO_SHORT} reservéiert fir gelueden ze ginn) -STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Acceptéiert -STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Weis d'Lëscht vun den acceptéierten Wueren -STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Acceptéiert: {WHITE}{CARGO_LIST} +STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Akzeptéiert +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}Dës Statioun huet exklusiv Transportrechter an dëser Stad -STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} huet exklusiv Transportrechter an dëser Stad kaf. +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_RATINGS_BUTTON :{BLACK}Bewertungen -STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Weis d'Statiounsbewertungen -STR_STATION_VIEW_SUPPLY_RATINGS_TITLE :{BLACK}Lokal Bewertung an Liwwerung pro Mount +STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Bewäertungen +STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Weis d'Statiounsbewäertungen +STR_STATION_VIEW_SUPPLY_RATINGS_TITLE :{BLACK}Lokal Bewäertung an Liwwerung pro Mount STR_STATION_VIEW_CARGO_SUPPLY_RATING :{WHITE}{STRING}: {YELLOW}{COMMA} / {STRING} ({COMMA}%) STR_STATION_VIEW_GROUP :{BLACK}Gruppéier no -STR_STATION_VIEW_WAITING_STATION :Statioun: wardend -STR_STATION_VIEW_WAITING_AMOUNT :Unzuel: Wardend -STR_STATION_VIEW_PLANNED_STATION :Statioun: geplangt -STR_STATION_VIEW_PLANNED_AMOUNT :Unzuel: geplangt +STR_STATION_VIEW_WAITING_STATION :Statioun: Waardend +STR_STATION_VIEW_WAITING_AMOUNT :Unzuel: Waardend +STR_STATION_VIEW_PLANNED_STATION :Statioun: Geplangt +STR_STATION_VIEW_PLANNED_AMOUNT :Unzuel: Geplangt STR_STATION_VIEW_FROM :{YELLOW}{CARGO_SHORT} vun {STATION} STR_STATION_VIEW_VIA :{YELLOW}{CARGO_SHORT} via {STATION} STR_STATION_VIEW_TO :{YELLOW}{CARGO_SHORT} op {STATION} STR_STATION_VIEW_FROM_ANY :{RED}{CARGO_SHORT} vun iergendenger Statioun STR_STATION_VIEW_TO_ANY :{RED}{CARGO_SHORT} op iergendeng Statioun STR_STATION_VIEW_VIA_ANY :{RED}{CARGO_SHORT} via iergendeng Statioun -STR_STATION_VIEW_FROM_HERE :{GREEN}{CARGO_SHORT} vun dëser Statioun -STR_STATION_VIEW_VIA_HERE :{GREEN}{CARGO_SHORT} stoppt op dëser Statioun +STR_STATION_VIEW_FROM_HERE :{GREEN}{CARGO_SHORT} vun deser Statioun +STR_STATION_VIEW_VIA_HERE :{GREEN}{CARGO_SHORT} stoppt op deser Statioun STR_STATION_VIEW_TO_HERE :{GREEN}{CARGO_SHORT} op des Statioun STR_STATION_VIEW_NONSTOP :{YELLOW}{CARGO_SHORT} non-stop @@ -3107,19 +3159,19 @@ STR_CARGO_RATING_OUTSTANDING :Perfekt STR_STATION_VIEW_CENTER_TOOLTIP :{BLACK}Zentréiert d'Usiicht op d'Statioun. Ctrl+Klick erstellt eng nei Usiicht op d'Statioun STR_STATION_VIEW_RENAME_TOOLTIP :{BLACK}Den Numm vun der Statioun änneren -STR_STATION_VIEW_SCHEDULED_TRAINS_TOOLTIP :{BLACK}Weis all Zich déi des Statioun an hierem Zaitplang hun -STR_STATION_VIEW_SCHEDULED_ROAD_VEHICLES_TOOLTIP :{BLACK}Weis all Stroossengefierer déi des Statioun an hierem Zäitplang hunn -STR_STATION_VIEW_SCHEDULED_AIRCRAFT_TOOLTIP :{BLACK}Weis all Fliger den des Statioun an sengem Zaitplang huet -STR_STATION_VIEW_SCHEDULED_SHIPS_TOOLTIP :{BLACK}Weis all Schëffer déi des Statioun an hierem Zaitplang hun +STR_STATION_VIEW_SCHEDULED_TRAINS_TOOLTIP :{BLACK}Weis all Zich déi des Statioun an hierem Zäitplang hunn +STR_STATION_VIEW_SCHEDULED_ROAD_VEHICLES_TOOLTIP :{BLACK}Weis all Stroossegefierer déi des Statioun an hierem Zäitplang hunn +STR_STATION_VIEW_SCHEDULED_AIRCRAFT_TOOLTIP :{BLACK}Weis all Fliger déi des Statioun an hierem Zäitplang hunn +STR_STATION_VIEW_SCHEDULED_SHIPS_TOOLTIP :{BLACK}Weis all Schëffer déi des Statioun an hierem Zäitplang hunn STR_STATION_VIEW_RENAME_STATION_CAPTION :D'Gare ëmbenennen -STR_STATION_VIEW_CLOSE_AIRPORT :{BLACK}Fluchhafen zouman +STR_STATION_VIEW_CLOSE_AIRPORT :{BLACK}Fluchhafen zoumaachen STR_STATION_VIEW_CLOSE_AIRPORT_TOOLTIP :{BLACK}Hal de Fliger dovun of op dësem Fluchhafen ze landen # Waypoint/buoy view window STR_WAYPOINT_VIEW_CAPTION :{WHITE}{WAYPOINT} -STR_WAYPOINT_VIEW_CENTER_TOOLTIP :{BLACK}Zentréiert d'Usiicht op den Weepunkt. Ctrl+Klick erstellt eng nei Usiicht um Weepunkt +STR_WAYPOINT_VIEW_CENTER_TOOLTIP :{BLACK}Zentréiert d'Usiicht op de Weepunkt. Ctrl+Klick erstellt eng nei Usiicht um Weepunkt STR_WAYPOINT_VIEW_CHANGE_WAYPOINT_NAME :{BLACK}Weepunkt Numm änneren STR_BUOY_VIEW_CENTER_TOOLTIP :{BLACK}Zentréiert d'Usiicht op d'Boje. Ctrl+Klick erstellt eng nei Usiicht op der Boje STR_BUOY_VIEW_CHANGE_BUOY_NAME :{BLACK}Boje ëmbenennen @@ -3132,13 +3184,13 @@ STR_FINANCES_EXPENDITURE_INCOME_TITLE :{WHITE}Ausgaben STR_FINANCES_YEAR :{WHITE}{NUM} STR_FINANCES_SECTION_CONSTRUCTION :{GOLD}Konstruktioun STR_FINANCES_SECTION_NEW_VEHICLES :{GOLD}Nei Gefierer -STR_FINANCES_SECTION_TRAIN_RUNNING_COSTS :{GOLD}Zuch Betriebskäschten -STR_FINANCES_SECTION_ROAD_VEHICLE_RUNNING_COSTS :{GOLD}Stroossengefierer Betriebskäschten -STR_FINANCES_SECTION_AIRCRAFT_RUNNING_COSTS :{GOLD}Fliger Betriebskäschten -STR_FINANCES_SECTION_SHIP_RUNNING_COSTS :{GOLD}Schëff Betriebskäschten -STR_FINANCES_SECTION_PROPERTY_MAINTENANCE :{GOLD}Besëtz Ennerhalt +STR_FINANCES_SECTION_TRAIN_RUNNING_COSTS :{GOLD}Zuch Betribskäschten +STR_FINANCES_SECTION_ROAD_VEHICLE_RUNNING_COSTS :{GOLD}Stroossegefierer Betribskäschten +STR_FINANCES_SECTION_AIRCRAFT_RUNNING_COSTS :{GOLD}Fliger Betribskäschten +STR_FINANCES_SECTION_SHIP_RUNNING_COSTS :{GOLD}Schëff Betribskäschten +STR_FINANCES_SECTION_PROPERTY_MAINTENANCE :{GOLD}Ennerhaltskäschte vum Besëtz STR_FINANCES_SECTION_TRAIN_INCOME :{GOLD}Zuch Akommes -STR_FINANCES_SECTION_ROAD_VEHICLE_INCOME :{GOLD}Stroossengefierer Akommes +STR_FINANCES_SECTION_ROAD_VEHICLE_INCOME :{GOLD}Stroossegefierer Akommes STR_FINANCES_SECTION_AIRCRAFT_INCOME :{GOLD}Fliger Akommes STR_FINANCES_SECTION_SHIP_INCOME :{GOLD}Schëff Akommes STR_FINANCES_SECTION_LOAN_INTEREST :{GOLD}Zënssaz @@ -3148,27 +3200,27 @@ STR_FINANCES_POSITIVE_INCOME :{BLACK}+{CURREN STR_FINANCES_TOTAL_CAPTION :{WHITE}Total: STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}Kontostand STR_FINANCES_LOAN_TITLE :{WHITE}Kredit -STR_FINANCES_MAX_LOAN :{WHITE}Max Kredit: {BLACK}{CURRENCY_LONG} +STR_FINANCES_MAX_LOAN :{WHITE}Maximale Kredit: {BLACK}{CURRENCY_LONG} STR_FINANCES_TOTAL_CURRENCY :{BLACK}{CURRENCY_LONG} STR_FINANCES_BORROW_BUTTON :{BLACK}{CURRENCY_LONG} léinen -STR_FINANCES_BORROW_TOOLTIP :{BLACK}Erhéicht den Kredit. Ctrl+Klick léint den Maximum +STR_FINANCES_BORROW_TOOLTIP :{BLACK}Erhéicht de Kredit. Ctrl+Klick léint de Maximum STR_FINANCES_REPAY_BUTTON :{BLACK}{CURRENCY_LONG} zeréckbezuelen -STR_FINANCES_REPAY_TOOLTIP :{BLACK}Bezuelt en Deel vum Kredit zeréck. Ctrl+Klick bezillt sou vill wéi méglech zréck +STR_FINANCES_REPAY_TOOLTIP :{BLACK}Bezuelt en Deel vum Kredit zeréck. Ctrl+Klick bezillt sou vill wéi méiglech zeréck STR_FINANCES_INFRASTRUCTURE_BUTTON :{BLACK}Infrastruktur # Company view STR_COMPANY_VIEW_CAPTION :{WHITE}{COMPANY} {BLACK}{COMPANY_NUM} STR_COMPANY_VIEW_PRESIDENT_MANAGER_TITLE :{WHITE}{PRESIDENT_NAME}{}{GOLD}(Manager) -STR_COMPANY_VIEW_INAUGURATED_TITLE :{GOLD}Agefouert: {WHITE}{NUM} +STR_COMPANY_VIEW_INAUGURATED_TITLE :{GOLD}Gegrënnt: {WHITE}{NUM} STR_COMPANY_VIEW_COLOUR_SCHEME_TITLE :{GOLD}Faarfschema: STR_COMPANY_VIEW_VEHICLES_TITLE :{GOLD}Gefierer: STR_COMPANY_VIEW_TRAINS :{WHITE}{COMMA} Z{P uch ich} -STR_COMPANY_VIEW_ROAD_VEHICLES :{WHITE}{COMMA} Stroossengefier{P t ter} +STR_COMPANY_VIEW_ROAD_VEHICLES :{WHITE}{COMMA} Stroossegefier{P "" er} STR_COMPANY_VIEW_AIRCRAFT :{WHITE}{COMMA} Fliger STR_COMPANY_VIEW_SHIPS :{WHITE}{COMMA} Schëff{P "" er} STR_COMPANY_VIEW_VEHICLES_NONE :{WHITE}Keng -STR_COMPANY_VIEW_COMPANY_VALUE :{GOLD}Firmenwäert: {WHITE}{CURRENCY_LONG} +STR_COMPANY_VIEW_COMPANY_VALUE :{GOLD}Firmewäert: {WHITE}{CURRENCY_LONG} STR_COMPANY_VIEW_SHARES_OWNED_BY :{WHITE}({COMMA}% am Besëtz vun {COMPANY}) STR_COMPANY_VIEW_INFRASTRUCTURE :{GOLD}Infrastruktur: STR_COMPANY_VIEW_INFRASTRUCTURE_RAIL :{WHITE}{COMMA} Schinnendeel{P "" er} @@ -3180,37 +3232,37 @@ STR_COMPANY_VIEW_INFRASTRUCTURE_NONE :{WHITE}Keng STR_COMPANY_VIEW_BUILD_HQ_BUTTON :{BLACK}Haaptgebai bauen STR_COMPANY_VIEW_BUILD_HQ_TOOLTIP :{BLACK}Haaptgebai bauen -STR_COMPANY_VIEW_VIEW_HQ_BUTTON :{BLACK}Weist Haaptgebai -STR_COMPANY_VIEW_VIEW_HQ_TOOLTIP :{BLACK}Haaptgebai weisen +STR_COMPANY_VIEW_VIEW_HQ_BUTTON :{BLACK}Weis d'Haaptgebai +STR_COMPANY_VIEW_VIEW_HQ_TOOLTIP :{BLACK}Haaptgebai uweisen STR_COMPANY_VIEW_RELOCATE_HQ :{BLACK}Firmenhaaptgebai réckelen -STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS :{BLACK}Bau d'Firmenhaaptgebai op eng aaner Plaz.Käschten: 1% vun dem Firmenwäert. Shift+Klick weist ongeféier Käschten ouni ze réckelen +STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS :{BLACK}Bau d'Firmenhaaptgebai op eng aaner Plaz.Käschten: 1% vun dem Firmewäert. Shift+Klick weist ongeféier Käschten ouni ze réckelen STR_COMPANY_VIEW_INFRASTRUCTURE_BUTTON :{BLACK}Detailer STR_COMPANY_VIEW_INFRASTRUCTURE_TOOLTIP :{BLACK}Detailléiert Infrastrukturen uweisen STR_COMPANY_VIEW_NEW_FACE_BUTTON :{BLACK}Neit Gesiicht -STR_COMPANY_VIEW_NEW_FACE_TOOLTIP :{BLACK}Wielt en neit Gesiicht fir den Manager +STR_COMPANY_VIEW_NEW_FACE_TOOLTIP :{BLACK}Wielt en neit Gesiicht fir de Manager STR_COMPANY_VIEW_COLOUR_SCHEME_BUTTON :{BLACK}Faarfschema STR_COMPANY_VIEW_COLOUR_SCHEME_TOOLTIP :{BLACK}Ännert d'Firmengefiererfaarf STR_COMPANY_VIEW_COMPANY_NAME_BUTTON :{BLACK}Firmennumm -STR_COMPANY_VIEW_COMPANY_NAME_TOOLTIP :{BLACK}Ännert den Firmennumm +STR_COMPANY_VIEW_COMPANY_NAME_TOOLTIP :{BLACK}Ännert de Firmennumm STR_COMPANY_VIEW_PRESIDENT_NAME_BUTTON :{BLACK}Managernumm STR_COMPANY_VIEW_PRESIDENT_NAME_TOOLTIP :{BLACK}Ännert den Numm vum Manager -STR_COMPANY_VIEW_BUY_SHARE_BUTTON :{BLACK}Kaaft 25%Undeel vun der Firma +STR_COMPANY_VIEW_BUY_SHARE_BUTTON :{BLACK}Kaaft 25% Undeel vun der Firma STR_COMPANY_VIEW_SELL_SHARE_BUTTON :{BLACK}Verkaaft 25% Undeel vun der Firma -STR_COMPANY_VIEW_BUY_SHARE_TOOLTIP :{BLACK}Kaaft 25%Undeel vun dëser Firma. Shift+Klick weist ongeféier Käschten ouni Kaf vun Aktien -STR_COMPANY_VIEW_SELL_SHARE_TOOLTIP :{BLACK}Verkaaft 25% Undeel vun dëser Firma. Shift+Klick weist ongeféier Käschten ouni Verkaf vun Aktien +STR_COMPANY_VIEW_BUY_SHARE_TOOLTIP :{BLACK}Kaaft 25% Undeel vun deser Firma. Shift+Klick weist ongeféier Käschten ouni Kaf vun Aktien +STR_COMPANY_VIEW_SELL_SHARE_TOOLTIP :{BLACK}Verkaaft 25% Undeel vun deser Firma. Shift+Klick weist ongeféier Käschten ouni Verkaf vun Aktien STR_COMPANY_VIEW_COMPANY_NAME_QUERY_CAPTION :Firmennumm STR_COMPANY_VIEW_PRESIDENT_S_NAME_QUERY_CAPTION :Numm vum Manager -STR_BUY_COMPANY_MESSAGE :{WHITE}Mir sichen eng Transportfirma déi eis Firma iwerhuelen wëll.{}{}Wëlls du {COMPANY} fir {CURRENCY_LONG} kafen? +STR_BUY_COMPANY_MESSAGE :{WHITE}Mir sichen eng Transportfirma déi eis Firma iwwerhuelen wëll.{}{}Wëlls du {COMPANY} fir {CURRENCY_LONG} kafen? # Company infrastructure window STR_COMPANY_INFRASTRUCTURE_VIEW_CAPTION :{WHITE}Infrastruktur vun {COMPANY} -STR_COMPANY_INFRASTRUCTURE_VIEW_RAIL_SECT :{GOLD}Schinnenstécker: +STR_COMPANY_INFRASTRUCTURE_VIEW_RAIL_SECT :{GOLD}Schinnestécker: STR_COMPANY_INFRASTRUCTURE_VIEW_SIGNALS :{WHITE}Signaler -STR_COMPANY_INFRASTRUCTURE_VIEW_ROAD_SECT :{GOLD}Stroossenstécker: +STR_COMPANY_INFRASTRUCTURE_VIEW_ROAD_SECT :{GOLD}Stroossestécker: STR_COMPANY_INFRASTRUCTURE_VIEW_ROAD :{WHITE}Strooss STR_COMPANY_INFRASTRUCTURE_VIEW_TRAMWAY :{WHITE}Tram STR_COMPANY_INFRASTRUCTURE_VIEW_WATER_SECT :{GOLD}Waasserfelder: @@ -3230,11 +3282,11 @@ STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Industri # Industry view STR_INDUSTRY_VIEW_CAPTION :{WHITE}{INDUSTRY} -STR_INDUSTRY_VIEW_PRODUCTION_LAST_MONTH_TITLE :{BLACK}Produktioun läschten Mount: +STR_INDUSTRY_VIEW_PRODUCTION_LAST_MONTH_TITLE :{BLACK}Produktioun läschte Mount: STR_INDUSTRY_VIEW_TRANSPORTED :{YELLOW}{CARGO_LONG}{STRING}{BLACK} ({COMMA}% transportéiert) STR_INDUSTRY_VIEW_LOCATION_TOOLTIP :{BLACK}Zentréiert d'Siicht op d'Industrie. Ctrl+Klick erstellt eng nei Usiicht op d'Industrie STR_INDUSTRY_VIEW_PRODUCTION_LEVEL :{BLACK}Produktiounslevel: {YELLOW}{COMMA}% -STR_INDUSTRY_VIEW_INDUSTRY_ANNOUNCED_CLOSURE :{YELLOW}D'Industrie annoncéiert dass se zougemet gëtt +STR_INDUSTRY_VIEW_INDUSTRY_ANNOUNCED_CLOSURE :{YELLOW}D'Industrie annoncéiert dass se zougemaach gëtt ############ range for requires starts STR_INDUSTRY_VIEW_REQUIRES_CARGO :{BLACK}Brauch: {YELLOW}{STRING}{STRING} @@ -3243,25 +3295,25 @@ STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Brauch: ############ range for requires ends ############ range for produces starts -STR_INDUSTRY_VIEW_WAITING_FOR_PROCESSING :{BLACK}Luedungen dei nach verschafft mussen gin: +STR_INDUSTRY_VIEW_WAITING_FOR_PROCESSING :{BLACK}Luedunge déi nach verschafft musse ginn: STR_INDUSTRY_VIEW_WAITING_STOCKPILE_CARGO :{YELLOW}{CARGO_LONG}{STRING}{BLACK} STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Produzéiert: {YELLOW}{STRING}{STRING} STR_INDUSTRY_VIEW_PRODUCES_CARGO_CARGO :{BLACK}Produzéiert: {YELLOW}{STRING}{STRING}, {STRING}{STRING} ############ range for produces ends STR_CONFIG_GAME_PRODUCTION :{WHITE}D'Produktioun änneren (Multipel vun 8, bis op 2040) -STR_CONFIG_GAME_PRODUCTION_LEVEL :{WHITE}Änner den Produktiounslevel (Prozenter, bis zu 800%) +STR_CONFIG_GAME_PRODUCTION_LEVEL :{WHITE}Änner de Produktiounslevel (Prozenter, bis zu 800%) # Vehicle lists STR_VEHICLE_LIST_TRAIN_CAPTION :{WHITE}{STRING} - {COMMA} Z{P uch ich} -STR_VEHICLE_LIST_ROAD_VEHICLE_CAPTION :{WHITE}{STRING} - {COMMA} Gefier{P t er} +STR_VEHICLE_LIST_ROAD_VEHICLE_CAPTION :{WHITE}{STRING} - {COMMA} Gefier{P "" er} STR_VEHICLE_LIST_SHIP_CAPTION :{WHITE}{STRING} - {COMMA} Schëff{P "" er} STR_VEHICLE_LIST_AIRCRAFT_CAPTION :{WHITE}{STRING} - {COMMA} Fliger STR_VEHICLE_LIST_TRAIN_LIST_TOOLTIP :{BLACK}Zich - klick op den Zuch fir Informatiounen -STR_VEHICLE_LIST_ROAD_VEHICLE_TOOLTIP :{BLACK}Stroossengefierer - klick op en Gefier fir Informatiounen -STR_VEHICLE_LIST_SHIP_TOOLTIP :{BLACK}Schëffer - Klick op d'Schëff fir Informatiounen -STR_VEHICLE_LIST_AIRCRAFT_TOOLTIP :{BLACK}Fliger - Klick op den Fliger fir Informatiounen +STR_VEHICLE_LIST_ROAD_VEHICLE_TOOLTIP :{BLACK}Stroossegefierer - klick op e Gefier fir Informatiounen +STR_VEHICLE_LIST_SHIP_TOOLTIP :{BLACK}Schëffer - klick op d'Schëff fir Informatiounen +STR_VEHICLE_LIST_AIRCRAFT_TOOLTIP :{BLACK}Fliger - klick op de Fliger fir Informatiounen STR_VEHICLE_LIST_PROFIT_THIS_YEAR_LAST_YEAR :{TINY_FONT}{BLACK}Profit dëst Joer: {CURRENCY_LONG} (lescht Joer: {CURRENCY_LONG}) @@ -3269,43 +3321,45 @@ STR_VEHICLE_LIST_AVAILABLE_TRAINS :Verfügbar Zich STR_VEHICLE_LIST_AVAILABLE_ROAD_VEHICLES :Verfügbar Gefierer STR_VEHICLE_LIST_AVAILABLE_SHIPS :Verfügbar Schëffer STR_VEHICLE_LIST_AVAILABLE_AIRCRAFT :Verfügbar Fligern -STR_VEHICLE_LIST_AVAILABLE_ENGINES_TOOLTIP :{BLACK}Lëscht vun allen Maschinen fir dësen Typ weisen +STR_VEHICLE_LIST_AVAILABLE_ENGINES_TOOLTIP :{BLACK}Lëscht vun alle Maschinen fir dësen Typ weisen STR_VEHICLE_LIST_MANAGE_LIST :{BLACK}Verwaltungslëscht -STR_VEHICLE_LIST_MANAGE_LIST_TOOLTIP :{BLACK}Scheckt d'Instructiounen un all Gefierer an der Lëscht +STR_VEHICLE_LIST_MANAGE_LIST_TOOLTIP :{BLACK}Schéckt d'Instructiounen un all Gefierer an der Lëscht STR_VEHICLE_LIST_REPLACE_VEHICLES :Gefierer ersetzen STR_VEHICLE_LIST_SEND_FOR_SERVICING :An d'Revisioun schécken -STR_VEHICLE_LIST_SEND_TRAIN_TO_DEPOT :An den Schapp schécken +STR_VEHICLE_LIST_SEND_TRAIN_TO_DEPOT :An de Schapp schécken STR_VEHICLE_LIST_SEND_ROAD_VEHICLE_TO_DEPOT :An den Depot schécken -STR_VEHICLE_LIST_SEND_SHIP_TO_DEPOT :An den Schapp schécken +STR_VEHICLE_LIST_SEND_SHIP_TO_DEPOT :An de Schapp schécken STR_VEHICLE_LIST_SEND_AIRCRAFT_TO_HANGAR :An den Hangar schécken STR_VEHICLE_LIST_MASS_STOP_LIST_TOOLTIP :{BLACK}Klick fir all Gefierer an der Lëscht ze stoppen STR_VEHICLE_LIST_MASS_START_LIST_TOOLTIP :{BLACK}Klick fir all Gefirer an der Lëscht ze starten -STR_VEHICLE_LIST_SHARED_ORDERS_LIST_CAPTION :{WHITE}Gedeelten Opträg vun {COMMA} Gefier{P t er} +STR_VEHICLE_LIST_SHARED_ORDERS_LIST_CAPTION :{WHITE}Gedeelten Opträg vun {COMMA} Gefier{P "" er} # Group window STR_GROUP_ALL_TRAINS :All Zich -STR_GROUP_ALL_ROAD_VEHICLES :All Stroossengefierer +STR_GROUP_ALL_ROAD_VEHICLES :All Stroossegefierer STR_GROUP_ALL_SHIPS :All Schëffer STR_GROUP_ALL_AIRCRAFTS :All Fligeren STR_GROUP_DEFAULT_TRAINS :Ongruppéiert Zich -STR_GROUP_DEFAULT_ROAD_VEHICLES :Ongruppéiert Stroossengefierer +STR_GROUP_DEFAULT_ROAD_VEHICLES :Ongruppéiert Stroossegefierer STR_GROUP_DEFAULT_SHIPS :Ongruppéiert Schëffer STR_GROUP_DEFAULT_AIRCRAFTS :Ongruppéiert Fligeren -STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Gruppen - klick op eng Grupp fir d'Gefierer aus där Grupp ze gesinn +STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Gruppen - klick op eng Grupp fir d'Gefierer aus der Grupp ze gesinn. Per Drag and Drop d'Hierarchie änneren. STR_GROUP_CREATE_TOOLTIP :{BLACK}Klick fir eng Grupp ze maachen -STR_GROUP_DELETE_TOOLTIP :{BLACK}Déi ungewielten Grupp läschen -STR_GROUP_RENAME_TOOLTIP :{BLACK}Déi ungewielten Grupp ëmbenennen +STR_GROUP_DELETE_TOOLTIP :{BLACK}Déi ungewielte Grupp läschen +STR_GROUP_RENAME_TOOLTIP :{BLACK}Déi ungewielte Grupp ëmbenennen STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Klick fir déi Grupp vum globalen "Autoersetzen" auszeschléissen +STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Grupp läschen +STR_GROUP_DELETE_QUERY_TEXT :{WHITE}Bassde sécher, dass du des Grupp an all Ennergruppen läsche wëlls? -STR_GROUP_ADD_SHARED_VEHICLE :Gedeelten Gefierer bäisetzen -STR_GROUP_REMOVE_ALL_VEHICLES :All Gefierer wechhuelen +STR_GROUP_ADD_SHARED_VEHICLE :Gedeelte Gefierer bäisetzen +STR_GROUP_REMOVE_ALL_VEHICLES :All Gefierer ewechhuelen STR_GROUP_RENAME_CAPTION :{BLACK}Eng Grupp ëmbenennen @@ -3315,17 +3369,17 @@ STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Nei Elektrozich STR_BUY_VEHICLE_TRAIN_MONORAIL_CAPTION :Nei Monorailgefierer STR_BUY_VEHICLE_TRAIN_MAGLEV_CAPTION :Nei Magnéitbunngefierer -STR_BUY_VEHICLE_TRAIN_ALL_CAPTION :Zich -STR_BUY_VEHICLE_ROAD_VEHICLE_CAPTION :Nei Stroossengefierer +STR_BUY_VEHICLE_TRAIN_ALL_CAPTION :Nei Zich +STR_BUY_VEHICLE_ROAD_VEHICLE_CAPTION :Nei Stroossegefierer STR_BUY_VEHICLE_SHIP_CAPTION :Nei Schëffer -STR_BUY_VEHICLE_AIRCRAFT_CAPTION :Neien Fliger +STR_BUY_VEHICLE_AIRCRAFT_CAPTION :Neie Fliger STR_PURCHASE_INFO_COST_WEIGHT :{BLACK}Käschten: {GOLD}{CURRENCY_LONG}{BLACK} Gewiicht: {GOLD}{WEIGHT_SHORT} STR_PURCHASE_INFO_SPEED_POWER :{BLACK}Geschw.: {GOLD}{VELOCITY}{BLACK} Kraaft: {GOLD}{POWER} STR_PURCHASE_INFO_SPEED :{BLACK}Geschw.: {GOLD}{VELOCITY} STR_PURCHASE_INFO_SPEED_OCEAN :{BLACK}Geschwindegkeet um Ozean: {GOLD}{VELOCITY} STR_PURCHASE_INFO_SPEED_CANAL :{BLACK}Geschwindegkeet um Kanal/Floss: {GOLD}{VELOCITY} -STR_PURCHASE_INFO_RUNNINGCOST :{BLACK}Betriibskäschtent: {GOLD}{CURRENCY_LONG}/Jr +STR_PURCHASE_INFO_RUNNINGCOST :{BLACK}Betribskäschten: {GOLD}{CURRENCY_LONG}/Jr STR_PURCHASE_INFO_CAPACITY :{BLACK}Kapazitéit: {GOLD}{CARGO_LONG} {STRING} STR_PURCHASE_INFO_REFITTABLE :(ëmbaubar) STR_PURCHASE_INFO_DESIGNED_LIFE :{BLACK}Designt: {GOLD}{NUM}{BLACK} Liewenszäit: {GOLD}{COMMA} Joer @@ -3335,39 +3389,54 @@ STR_PURCHASE_INFO_WEIGHT_CWEIGHT :{BLACK}Gewiicht STR_PURCHASE_INFO_COST_SPEED :{BLACK}Käschten: {GOLD}{CURRENCY_LONG}{BLACK} Geschw.: {GOLD}{VELOCITY} STR_PURCHASE_INFO_AIRCRAFT_CAPACITY :{BLACK}Kapazitéit: {GOLD}{CARGO_LONG}, {CARGO_LONG} STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Ugedriwwen Waggonen: {GOLD}+{POWER}{BLACK} Gewiicht: {GOLD}+{WEIGHT_SHORT} -STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Embaubaur zu: {GOLD}{STRING} -STR_PURCHASE_INFO_ALL_TYPES :All Typ Wueren +STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Embaubar zu: {GOLD}{STRING} +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_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Zuchlëscht - klick op en Zuch fir Informatiounen -STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Stroossengefierlëscht - klick op en Gefier fir Informatiounen -STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Schëffslëscht - Klick op d'Schëff fir Informatiounen -STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Fligerlëscht - Klick op den Fliger fir Informatiounen +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 +STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Schëffslëscht - Klick op d'Schëff fir Informatiounen. Ctrl+Klick fir tëscht dem Verstoppen hin an hier ze sprangen +STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Fligerlëscht - Klick op de Fliger fir Informatiounen. Ctrl+Klick fir tëscht dem Verstoppen hin an hier ze sprangen -STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}Gefiert kafen -STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Gefiert kafen +STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}Gefier kafen +STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Gefier kafen STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_BUTTON :{BLACK}Schëff kafen STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_BUTTON :{BLACK}Fliger kafen STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Keeft den ungewielten Zuch. Shift+Klick weist ongeféier Käschten ouni Kaf -STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Keeft dat ugewielten Stroossengefiert. Shift+Klick weist ongeféier Käschten ouni Kaf -STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Keeft dat ugewielten Schëff. Shift+Klick weist ongeféier Käschten ouni Kaf -STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Keeft den ungewielten Fliger. Shift+Klick weist ongeféier Käschten ouni Kaf +STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Keeft dat ugewielte Stroossegefier. Shift+Klick weist ongeféier Käschten ouni Kaf +STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Keeft dat ugewielte Schëff. Shift+Klick weist ongeféier Käschten ouni Kaf +STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Keeft den ungewielte Fliger. Shift+Klick weist ongeféier Käschten ouni Kaf STR_BUY_VEHICLE_TRAIN_RENAME_BUTTON :{BLACK}Ëmbenennen STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_BUTTON :{BLACK}Ëmbenennen STR_BUY_VEHICLE_SHIP_RENAME_BUTTON :{BLACK}Ëmbenennen STR_BUY_VEHICLE_AIRCRAFT_RENAME_BUTTON :{BLACK}Ëmbenennen -STR_BUY_VEHICLE_TRAIN_RENAME_TOOLTIP :{BLACK}Gefierttyp ëmbenennen -STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Gefierttyp ëmbenennen +STR_BUY_VEHICLE_TRAIN_RENAME_TOOLTIP :{BLACK}Zuch ëmbenennen +STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Gefiertyp ëmbenennen STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Schëffstyp ëmbenennen STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Fligertyp ëmbenennen -STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}Zuchgefierttyp ëmbenennen -STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}Gefiertentyp ëmbenennen +STR_BUY_VEHICLE_TRAIN_HIDE_TOGGLE_BUTTON :{BLACK}Verstoppen +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_TOGGLE_BUTTON :{BLACK}Verstoppen +STR_BUY_VEHICLE_SHIP_HIDE_TOGGLE_BUTTON :{BLACK}Verstoppen +STR_BUY_VEHICLE_AIRCRAFT_HIDE_TOGGLE_BUTTON :{BLACK}Verstoppen + +STR_BUY_VEHICLE_TRAIN_SHOW_TOGGLE_BUTTON :{BLACK}Uweisen +STR_BUY_VEHICLE_ROAD_VEHICLE_SHOW_TOGGLE_BUTTON :{BLACK}Uweisen +STR_BUY_VEHICLE_SHIP_SHOW_TOGGLE_BUTTON :{BLACK}Uweisen +STR_BUY_VEHICLE_AIRCRAFT_SHOW_TOGGLE_BUTTON :{BLACK}Uweisen + +STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Emschalten tëscht uweise/verstoppe vun Zuchtypen +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Emschalten tëscht uweise/verstoppe vu Gefiertypen +STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Emschalten tëscht uweise/verstoppe vu Schëfftypen +STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Emschalten tëscht uweise/verstoppe vu Fligertypen + +STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}Zuchgefiertyp ëmbenennen +STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}Gefiertyp ëmbenennen STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}Schëffstyp ëmbenennen STR_QUERY_RENAME_AIRCRAFT_TYPE_CAPTION :{WHITE}Fligertyp ëmbenennen @@ -3379,23 +3448,23 @@ STR_DEPOT_RENAME_DEPOT_CAPTION :Schapp ëmbenen STR_DEPOT_NO_ENGINE :{BLACK}- STR_DEPOT_VEHICLE_TOOLTIP :{BLACK}{ENGINE}{STRING} -STR_DEPOT_VEHICLE_TOOLTIP_CHAIN :{BLACK}{NUM} Gefier{P t er}{STRING} +STR_DEPOT_VEHICLE_TOOLTIP_CHAIN :{BLACK}{NUM} Gefier{P "" er}{STRING} STR_DEPOT_VEHICLE_TOOLTIP_CARGO :{}{CARGO_LONG} ({CARGO_SHORT}) -STR_DEPOT_TRAIN_LIST_TOOLTIP :{BLACK}Zich - zidd d'Gefiert fir en unzehänken/wechzehuelen, Rietsklick fir Informatiounen. Ctrl unhalen dass béid Fonktiounen fir déi nächst Ketten gëllen +STR_DEPOT_TRAIN_LIST_TOOLTIP :{BLACK}Zich - zidd d'Gefier fir en unzehänken/wechzehuelen, Rietsklick fir Informatiounen. Ctrl unhalen dass béid Fonktiounen fir déi nächst Ketten gëllen STR_DEPOT_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Gefierer - Rietsklick op en Gefier fir Informatiounen STR_DEPOT_SHIP_LIST_TOOLTIP :{BLACK}Schëffer - Rietsklick op d'Schëff fir Informatiounen -STR_DEPOT_AIRCRAFT_LIST_TOOLTIP :{BLACK}Fliger - Rietsklick op den Fliger fir Informatiounen +STR_DEPOT_AIRCRAFT_LIST_TOOLTIP :{BLACK}Fliger - Rietsklick op de Fliger fir Informatiounen -STR_DEPOT_TRAIN_SELL_TOOLTIP :{BLACK}Zitt den Zuch heihin fir en ze verkafen -STR_DEPOT_ROAD_VEHICLE_SELL_TOOLTIP :{BLACK}Zitt d'Stroossengefier heihin fir et ze verkafen -STR_DEPOT_SHIP_SELL_TOOLTIP :{BLACK}Zitt Schëff heihin fir et ze verkafen -STR_DEPOT_AIRCRAFT_SELL_TOOLTIP :{BLACK}Zitt den Fliger heihin fir en ze verkafen +STR_DEPOT_TRAIN_SELL_TOOLTIP :{BLACK}Zéi den Zuch heihin fir en ze verkafen +STR_DEPOT_ROAD_VEHICLE_SELL_TOOLTIP :{BLACK}Zéi d'Stroossegefier heihin fir et ze verkafen +STR_DEPOT_SHIP_SELL_TOOLTIP :{BLACK}Zéi d'Schëff heihin fir et ze verkafen +STR_DEPOT_AIRCRAFT_SELL_TOOLTIP :{BLACK}Zéi de Fliger heihin fir en ze verkafen STR_DEPOT_DRAG_WHOLE_TRAIN_TO_SELL_TOOLTIP :{BLACK}Lokomotiv heihinner zéien fir de ganzen Zuch ze läschen STR_DEPOT_SELL_ALL_BUTTON_TRAIN_TOOLTIP :{BLACK}All Zich am Schapp verkafen -STR_DEPOT_SELL_ALL_BUTTON_ROAD_VEHICLE_TOOLTIP :{BLACK}All Gefiert am Depot verkafen +STR_DEPOT_SELL_ALL_BUTTON_ROAD_VEHICLE_TOOLTIP :{BLACK}All Gefier am Depot verkafen STR_DEPOT_SELL_ALL_BUTTON_SHIP_TOOLTIP :{BLACK}All Schëff am Schapp verkafen STR_DEPOT_SELL_ALL_BUTTON_AIRCRAFT_TOOLTIP :{BLACK}All Fliger am Hangar verkafen @@ -3404,29 +3473,29 @@ STR_DEPOT_AUTOREPLACE_ROAD_VEHICLE_TOOLTIP :{BLACK}All Gefi STR_DEPOT_AUTOREPLACE_SHIP_TOOLTIP :{BLACK}All Schëffer am Schapp automatesch ersetzen STR_DEPOT_AUTOREPLACE_AIRCRAFT_TOOLTIP :{BLACK}All Fliger am Hangar automatesch ersetzen -STR_DEPOT_TRAIN_NEW_VEHICLES_BUTTON :{BLACK}Nei Gefierer +STR_DEPOT_TRAIN_NEW_VEHICLES_BUTTON :{BLACK}Nei Zich STR_DEPOT_ROAD_VEHICLE_NEW_VEHICLES_BUTTON :{BLACK}Nei Gefierer STR_DEPOT_SHIP_NEW_VEHICLES_BUTTON :{BLACK}Nei Schëffer -STR_DEPOT_AIRCRAFT_NEW_VEHICLES_BUTTON :{BLACK}Neien Fliger +STR_DEPOT_AIRCRAFT_NEW_VEHICLES_BUTTON :{BLACK}Nei Fligeren -STR_DEPOT_TRAIN_NEW_VEHICLES_TOOLTIP :{BLACK}Keeft neien Zuch -STR_DEPOT_ROAD_VEHICLE_NEW_VEHICLES_TOOLTIP :{BLACK}Neit Stroossengefiert kafen +STR_DEPOT_TRAIN_NEW_VEHICLES_TOOLTIP :{BLACK}Kaf en neien Zuch +STR_DEPOT_ROAD_VEHICLE_NEW_VEHICLES_TOOLTIP :{BLACK}Neit Stroossegefier kafen STR_DEPOT_SHIP_NEW_VEHICLES_TOOLTIP :{BLACK}Neit Schëff kafen -STR_DEPOT_AIRCRAFT_NEW_VEHICLES_TOOLTIP :{BLACK}Neien Fliger kafen +STR_DEPOT_AIRCRAFT_NEW_VEHICLES_TOOLTIP :{BLACK}Neie Fliger kafen STR_DEPOT_CLONE_TRAIN :{BLACK}Zuch klonen -STR_DEPOT_CLONE_ROAD_VEHICLE :{BLACK}Gefiert klonen +STR_DEPOT_CLONE_ROAD_VEHICLE :{BLACK}Gefier klonen STR_DEPOT_CLONE_SHIP :{BLACK}Schëff klonen STR_DEPOT_CLONE_AIRCRAFT :{BLACK}Fliger klonen -STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Dëst baut eng Kopie vun engem Zuch mat all den Waggonen. Klick op dësen Knäppchen an dann op en Zuch am Schapp oder baussen. Ctrl+Klick fir Opträg ze deelen. Shift+Klick weist ongeféier Käschten ouni Kaf -STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Keeft eng Kopie vum Stroossengefier. Klick dësen Kneppchen an dann op en Stroossengefier am oder baussent dem Depot. Ctrl+Klick deelt och d'Opträg. Shift+Klick weist ongeféier Käschten ouni Kaf -STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Dëst baut eng Kopie vum Schëff. Klick op dësen Knäppchen an dann op en Schëff am Schapp oder baussen.Ctrl+Klick kopéiert och d'Opträg. Shift+Klick weist ongeféier Käschten ouni Kaf -STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Dëst baut eng Kopie vun engem Fliger. Klick op dësen Knäppchen, an dann op en Fliger am Hangar oder baussen. Ctrl+Klick fir Uerder ze deelen. Shift+Klick weist ongeféier Käschten ouni Kaf +STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Dest baut eng Kopie vun engem Zuch mat all de Waggonen. Klick op dese Knäppchen an dann op en Zuch am Schapp oder baussen. Ctrl+Klick fir Opträg ze deelen. Shift+Klick weist ongeféier Käschten ouni Kaf +STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Keeft eng Kopie vum Stroossegefier. Klick dese Kneppchen an dann op e Stroossegefier am oder baussent dem Depot. Ctrl+Klick deelt och d'Opträg. Shift+Klick weist ongeféier Käschten ouni Kaf +STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Dest baut eng Kopie vum Schëff. Klick op dese Knäppchen an dann op en Schëff am Schapp oder baussen.Ctrl+Klick kopéiert och d'Opträg. Shift+Klick weist ongeféier Käschten ouni Kaf +STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Dest baut eng Kopie vun engem Fliger. Klick op dese Knäppchen, an dann op en Fliger am Hangar oder baussen. Ctrl+Klick fir Uerder ze deelen. Shift+Klick weist ongeféier Käschten ouni Kaf -STR_DEPOT_TRAIN_LOCATION_TOOLTIP :{BLACK}Zentréiert d'Usiicht op den Schapp. Ctrl+Klick erstellt eng nei Usiicht op den Schapp +STR_DEPOT_TRAIN_LOCATION_TOOLTIP :{BLACK}Zentréiert d'Usiicht op de Schapp. Ctrl+Klick erstellt eng nei Usiicht op de Schapp STR_DEPOT_ROAD_VEHICLE_LOCATION_TOOLTIP :{BLACK}Zentréiert d'Usiicht op den Depot. Ctrl+Klick erstellt eng nei Usiicht op den Depot -STR_DEPOT_SHIP_LOCATION_TOOLTIP :{BLACK}Zentréiert d'Usiicht op den Schapp. Ctrl+Klick erstellt eng nei Usiicht op den Schapp +STR_DEPOT_SHIP_LOCATION_TOOLTIP :{BLACK}Zentréiert d'Usiicht op de Schapp. Ctrl+Klick erstellt eng nei Usiicht op de Schapp STR_DEPOT_AIRCRAFT_LOCATION_TOOLTIP :{BLACK}Zentréiert d'Usiicht op den Hangar. Ctrl+Klick erstellt eng nei Usiicht op den Hangar STR_DEPOT_VEHICLE_ORDER_LIST_TRAIN_TOOLTIP :{BLACK}Lëscht mat all Zich an dësem Schapp @@ -3447,31 +3516,36 @@ STR_DEPOT_MASS_START_HANGAR_TOOLTIP :{BLACK}Klick fi STR_DEPOT_SELL_CONFIRMATION_TEXT :{YELLOW}Du verkeefs grad all Gefierer am Schapp. Bass du sécher ? # Engine preview window -STR_ENGINE_PREVIEW_CAPTION :{WHITE}Meldung vum Gefiertenhiersteller -STR_ENGINE_PREVIEW_MESSAGE :{GOLD}Mir hunn elo en neien {STRING} gebaut - bass du dorun interesséiert dëst Gefiert 1 Joer exklusiv ze notzen, fir ze testen op et komplett maarträif ass? +STR_ENGINE_PREVIEW_CAPTION :{WHITE}Meldung vum Gefierkonstrukteur +STR_ENGINE_PREVIEW_MESSAGE :{GOLD}Mir hunn elo en neien {STRING} gebaut - bass du dorun interesséiert dëst Gefier 1 Joer exklusiv ze notzen, fir ze testen op et komplett maarträif ass? STR_ENGINE_PREVIEW_RAILROAD_LOCOMOTIVE :Lokomotiv -STR_ENGINE_PREVIEW_ROAD_VEHICLE :Stroossengefier +STR_ENGINE_PREVIEW_ROAD_VEHICLE :Stroossegefier STR_ENGINE_PREVIEW_AIRCRAFT :Fliger STR_ENGINE_PREVIEW_SHIP :Schëff STR_ENGINE_PREVIEW_MONORAIL_LOCOMOTIVE :Monorail Lokomotiv STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :Magnéitbunnlokomotiv -STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Käschten: {CURRENCY_LONG} Gewiicht: {WEIGHT_SHORT}{}Geschwindegkeet: {VELOCITY} Kraaft: {POWER}{}Betriibskäschten {CURRENCY_LONG}/joër{}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}{}Betriebskä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}{}Betriibskäschten {CURRENCY_LONG}/Joer -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}Käschten: {CURRENCY_LONG} Max. Geschwindegkeet: {VELOCITY}{}Kapazitéit: {CARGO_LONG}{}Betriibskäschten: {CURRENCY_LONG}/Joer +STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Käschten: {CURRENCY_LONG} Gewiicht: {WEIGHT_SHORT}{}Geschwindegkeet: {VELOCITY} Kraaft: {POWER}{}Betribskäschten {CURRENCY_LONG}/Joer{}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 # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Ersetz {STRING} - {STRING} STR_REPLACE_VEHICLE_TRAIN :Zuch -STR_REPLACE_VEHICLE_ROAD_VEHICLE :Stroossengefier +STR_REPLACE_VEHICLE_ROAD_VEHICLE :Stroossegefier STR_REPLACE_VEHICLE_SHIP :Schëff STR_REPLACE_VEHICLE_AIRCRAFT :Fliger -STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Wielt den Maschinentyp fir auszetauschen -STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Wielt den neien Typ den benotzt soll ginn amplaz vun der lénks gewielter Maschin +STR_REPLACE_VEHICLE_VEHICLES_IN_USE :{YELLOW}Gefierer am Gebrauch +STR_REPLACE_VEHICLE_VEHICLES_IN_USE_TOOLTIP :{BLACK}Kolonn mat Gefierer déis du hues +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES :{YELLOW}Verfügbar Gefierer +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES_TOOLTIP :{BLACK}Kolonn mat Gefierer déi prett fir ze ersetze sinn + +STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Wielt de Maschinentyp fir auszetauschen +STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Wielt den neien Typ de benotzt soll ginn amplaz vun der lénks gewielter Maschin STR_REPLACE_VEHICLES_START :{BLACK}Start Gefieraustosch STR_REPLACE_VEHICLES_NOW :All Gefier elo ersetzen @@ -3479,83 +3553,83 @@ STR_REPLACE_VEHICLES_WHEN_OLD :Nëmmen al Gefi STR_REPLACE_HELP_START_BUTTON :{BLACK}Drécken fir den Austosch vun der lénker mat der rietser Maschin unzefenken STR_REPLACE_NOT_REPLACING :{BLACK}Net ausgetosch: STR_REPLACE_NOT_REPLACING_VEHICLE_SELECTED :{BLACK}Keen gefier gewielt -STR_REPLACE_REPLACING_WHEN_OLD :{ENGINE} wann aal +STR_REPLACE_REPLACING_WHEN_OLD :{ENGINE} wann al STR_REPLACE_VEHICLES_STOP :{BLACK}Stop Gefieraustosch STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Drécken fir den Austosch ze stoppen STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}Tauschen aus: {ORANGE}{STRING} STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Wiessel tëscht Maschin- an Waggonaustosch-Fënster -STR_REPLACE_ENGINES :Motoren +STR_REPLACE_ENGINES :Lokomotiven STR_REPLACE_WAGONS :Waggonen -STR_REPLACE_HELP_RAILTYPE :{BLACK}Wielt den Schinnentyp fir den Maschinen ausgetosch ginn -STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Weist un wellech Maschin vun der lénks selectéierter Maschin ausgetosch soll ginn, wann et zoutrëfft +STR_REPLACE_HELP_RAILTYPE :{BLACK}Wielt de Schinnentyp fir déi Lokomotiven ausgetosch ginn +STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Weist un wellech Lokomotiv vun der lénks ugewielter Lokomotiv ausgetosch soll ginn, wann et zoutrëfft STR_REPLACE_RAIL_VEHICLES :Zich STR_REPLACE_ELRAIL_VEHICLES :Elektresch Zich STR_REPLACE_MONORAIL_VEHICLES :Monorail Gefierer STR_REPLACE_MAGLEV_VEHICLES :Magnéitbunn Gefierer STR_REPLACE_REMOVE_WAGON :{BLACK}Waggon raushuelen: {ORANGE}{STRING} -STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Mëscht dass d'automatescht Austauschen d'Längt vum Zuch behält, an dem en Waggonen (vun lénks un) wechhëllt, wann d'Lok den Zuch ze laang mëscht +STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Mécht dass d'automatescht Austauschen d'Längt vum Zuch behält, an dem e Waggonen (vu lénks un) wechhëllt, wann d'Lok den Zuch ze laang mécht # Vehicle view STR_VEHICLE_VIEW_CAPTION :{WHITE}{VEHICLE} STR_VEHICLE_VIEW_TRAIN_LOCATION_TOOLTIP :{BLACK}Zentréiert d'Usiicht op den Zuch. Ctrl+Klick follegt dem Zuch an der Haaptusiicht -STR_VEHICLE_VIEW_ROAD_VEHICLE_LOCATION_TOOLTIP :{BLACK}Zentréiert d'Usiicht op d'Gefiert. Ctrl+Klick follegt dem Gefiert an der Haaptusiicht +STR_VEHICLE_VIEW_ROAD_VEHICLE_LOCATION_TOOLTIP :{BLACK}Zentréiert d'Usiicht op d'Gefier. Ctrl+Klick follegt dem Gefier an der Haaptusiicht STR_VEHICLE_VIEW_SHIP_LOCATION_TOOLTIP :{BLACK}Zentréiert d'Usiicht op d'Schëff. Ctrl+Klick follegt dem Schëff an der Haaptusiicht -STR_VEHICLE_VIEW_AIRCRAFT_LOCATION_TOOLTIP :{BLACK}Zentréiert d'Usiicht op den Fliger. Ctrl+Klick follegt dem Fliger an der Haaptusiicht +STR_VEHICLE_VIEW_AIRCRAFT_LOCATION_TOOLTIP :{BLACK}Zentréiert d'Usiicht op de Fliger. Ctrl+Klick follegt dem Fliger an der Haaptusiicht -STR_VEHICLE_VIEW_TRAIN_SEND_TO_DEPOT_TOOLTIP :{BLACK}Schéckt den Zuch an den Schapp. Ctrl+Klick fir nëmmen Revisoun -STR_VEHICLE_VIEW_ROAD_VEHICLE_SEND_TO_DEPOT_TOOLTIP :{BLACK}Schéckt d'Gefiert an den Depot. CTRL+Klick fir nëmmen Revisoun -STR_VEHICLE_VIEW_SHIP_SEND_TO_DEPOT_TOOLTIP :{BLACK}Schéck d'Schëff an den Schapp. Ctrl+Klick fir nëmmen Revisoun -STR_VEHICLE_VIEW_AIRCRAFT_SEND_TO_DEPOT_TOOLTIP :{BLACK}Schéckt den Fliger an den Hangar. CTRL+Klick mëscht nëmmen Revisioun +STR_VEHICLE_VIEW_TRAIN_SEND_TO_DEPOT_TOOLTIP :{BLACK}Schéckt den Zuch an de Schapp. Ctrl+Klick fir nëmmen Revisioun +STR_VEHICLE_VIEW_ROAD_VEHICLE_SEND_TO_DEPOT_TOOLTIP :{BLACK}Schéckt d'Gefier an den Depot. Ctrl+Klick fir nëmmen Revisioun +STR_VEHICLE_VIEW_SHIP_SEND_TO_DEPOT_TOOLTIP :{BLACK}Schéckt d'Schëff an de Schapp. Ctrl+Klick fir nëmmen Revisioun +STR_VEHICLE_VIEW_AIRCRAFT_SEND_TO_DEPOT_TOOLTIP :{BLACK}Schéckt de Fliger an den Hangar. Ctrl+Klick mécht nëmmen eng Revisioun -STR_VEHICLE_VIEW_CLONE_TRAIN_INFO :{BLACK}Dëst baut eng Kopie vun engem Zuch mat all den Waggonen. Ctrl+Klick kopéiert och d'Opträg. Shift+Klick weist ongeféier Käschten ouni Kaf -STR_VEHICLE_VIEW_CLONE_ROAD_VEHICLE_INFO :{BLACK}Baut eng Kopie vum Stroossengefiert. Ctrl+Klick kopéiert och d'Opträg. Shift+Klick weist ongeféier Käschten ouni Kaf +STR_VEHICLE_VIEW_CLONE_TRAIN_INFO :{BLACK}Dëst baut eng Kopie vun engem Zuch mat all de Waggonen. Ctrl+Klick kopéiert och d'Opträg. Shift+Klick weist ongeféier Käschten ouni Kaf +STR_VEHICLE_VIEW_CLONE_ROAD_VEHICLE_INFO :{BLACK}Baut eng Kopie vum Stroossegefier. Ctrl+Klick kopéiert och d'Opträg. Shift+Klick weist ongeféier Käschten ouni Kaf STR_VEHICLE_VIEW_CLONE_SHIP_INFO :{BLACK}Dëst baut eng Kopie vum Schëff. Ctrl+Klick kopéiert och d'Opträg. Shift+Klick weist ongeféier Käschten ouni Kaf STR_VEHICLE_VIEW_CLONE_AIRCRAFT_INFO :{BLACK}Dëst baut eng Kopie vum Fliger. Ctrl+Klick kopéiert och d'Opträg. Shift+Klick weist ongeféier Käschten ouni Kaf -STR_VEHICLE_VIEW_TRAIN_IGNORE_SIGNAL_TOOLTIP :{BLACK}Forcéiert den Zuch durch d'Signal ze fueren +STR_VEHICLE_VIEW_TRAIN_IGNORE_SIGNAL_TOOLTIP :{BLACK}Zwéngt den Zuch durch d'Signal ze fueren STR_VEHICLE_VIEW_TRAIN_REFIT_TOOLTIP :{BLACK}Den Zuch upassen fir aaner Luedungen ze transportéieren -STR_VEHICLE_VIEW_ROAD_VEHICLE_REFIT_TOOLTIP :{BLACK}Stroossengefiert ëmbauen fir eng aner Wuer ze transportéiren -STR_VEHICLE_VIEW_SHIP_REFIT_TOOLTIP :{BLACK}Schëffslager ëmbauen fir aaner Luedungen ze transportéieren +STR_VEHICLE_VIEW_ROAD_VEHICLE_REFIT_TOOLTIP :{BLACK}Stroossegefier ëmbauen fir eng aner Wuer ze transportéiren +STR_VEHICLE_VIEW_SHIP_REFIT_TOOLTIP :{BLACK}Schëff ëmbauen fir aaner Luedungen ze transportéieren STR_VEHICLE_VIEW_AIRCRAFT_REFIT_TOOLTIP :{BLACK}Fliger ëmbauen fir aaner Wueren ze transportéieren STR_VEHICLE_VIEW_TRAIN_REVERSE_TOOLTIP :{BLACK}Richtung vum Zuch wiesselen -STR_VEHICLE_VIEW_ROAD_VEHICLE_REVERSE_TOOLTIP :{BLACK}Forcéiert d'Gefiert fir ze dréien +STR_VEHICLE_VIEW_ROAD_VEHICLE_REVERSE_TOOLTIP :{BLACK}Zwéngt d'Gefier ze dréinen STR_VEHICLE_VIEW_TRAIN_ORDERS_TOOLTIP :{BLACK}Weist d'Opträg vum Zuch. Ctrl+Klick weist den Zäitplang -STR_VEHICLE_VIEW_ROAD_VEHICLE_ORDERS_TOOLTIP :{BLACK}Weist d'Opträg vum Gefiert. Ctrl+Klick weist den Zäitplang +STR_VEHICLE_VIEW_ROAD_VEHICLE_ORDERS_TOOLTIP :{BLACK}Weist d'Opträg vum Gefier. Ctrl+Klick weist den Zäitplang STR_VEHICLE_VIEW_SHIP_ORDERS_TOOLTIP :{BLACK}Weist d'Opträg vum Schëff. Ctrl+Klick weist den Zäitplang STR_VEHICLE_VIEW_AIRCRAFT_ORDERS_TOOLTIP :{BLACK}Weist d'Opträg vum Fliger. Ctrl+Klick weist den Zäitplang STR_VEHICLE_VIEW_TRAIN_SHOW_DETAILS_TOOLTIP :{BLACK}Weist d'Detailer vum Zuch -STR_VEHICLE_VIEW_ROAD_VEHICLE_SHOW_DETAILS_TOOLTIP :{BLACK}Weist Stroosengefiert Detailer -STR_VEHICLE_VIEW_SHIP_SHOW_DETAILS_TOOLTIP :{BLACK}Weist Schëffdetailer +STR_VEHICLE_VIEW_ROAD_VEHICLE_SHOW_DETAILS_TOOLTIP :{BLACK}Weist Stroossegefier Detailer +STR_VEHICLE_VIEW_SHIP_SHOW_DETAILS_TOOLTIP :{BLACK}Weis Schëffsdetailer STR_VEHICLE_VIEW_AIRCRAFT_SHOW_DETAILS_TOOLTIP :{BLACK}Weist d'Fligerdetailer STR_VEHICLE_VIEW_TRAIN_STATE_START_STOP_TOOLTIP :{BLACK}Momentan Aktioun - klick hei fir den Zuch ze stoppen/starten. Ctrl+Klick fir op Destinatioun ze scrollen STR_VEHICLE_VIEW_ROAD_VEHICLE_STATE_START_STOP_TOOLTIP :{BLACK}Momentan Aktioun - klick hei fir d'Gefier ze stoppen/starten. Ctrl+Klick fir op Destinatioun ze scrollen STR_VEHICLE_VIEW_SHIP_STATE_START_STOP_TOOLTIP :{BLACK}Momentan Aktioun - Klick hei fir d'Schëff ze stoppen/starten. Ctrl+Klick fir op Destinatioun ze scrollen -STR_VEHICLE_VIEW_AIRCRAFT_STATE_START_STOP_TOOLTIP :{BLACK}Momentan Aktioun - Klick hei fir den Fliger ze stoppen/starten. Ctrl+Klick fir op Destinatioun ze scrollen +STR_VEHICLE_VIEW_AIRCRAFT_STATE_START_STOP_TOOLTIP :{BLACK}Momentan Aktioun - Klick hei fir de Fliger ze stoppen/starten. Ctrl+Klick fir op Destinatioun ze scrollen # Messages in the start stop button in the vehicle view STR_VEHICLE_STATUS_LOADING_UNLOADING :{LTBLUE}Lueden / Entlueden STR_VEHICLE_STATUS_LEAVING :{LTBLUE}Verloossen -STR_VEHICLE_STATUS_CRASHED :{RED}Accident! +STR_VEHICLE_STATUS_CRASHED :{RED}Akzident! STR_VEHICLE_STATUS_BROKEN_DOWN :{RED}Pann STR_VEHICLE_STATUS_STOPPED :{RED}Gestoppt -STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}Stopt, {VELOCITY} +STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}Stoppt, {VELOCITY} STR_VEHICLE_STATUS_TRAIN_NO_POWER :{RED}Keng Energie -STR_VEHICLE_STATUS_TRAIN_STUCK :{ORANGE}Ward op en fraien Wee +STR_VEHICLE_STATUS_TRAIN_STUCK :{ORANGE}Waard op en fräie Wee STR_VEHICLE_STATUS_AIRCRAFT_TOO_FAR :{ORANGE}Ze wäit op nächst Destinatioun -STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}Um Wee op {STATION}, {VELOCITY} +STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}Ennerwee op {STATION}, {VELOCITY} STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}Keng Opträg, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}Um Wee fir {WAYPOINT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}Um Wee an den {DEPOT}, {VELOCITY} +STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}Ennerwee op {WAYPOINT}, {VELOCITY} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}Ennerwee an den {DEPOT}, {VELOCITY} STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}Revisioun am {DEPOT}, {VELOCITY} # Vehicle stopped/started animations @@ -3565,15 +3639,15 @@ STR_VEHICLE_COMMAND_STARTED_SMALL :{TINY_FONT}{GRE STR_VEHICLE_COMMAND_STARTED :{GREEN}Gestart # Vehicle details -STR_VEHICLE_DETAILS_CAPTION :{WHITE}{VEHICLE} (Details) +STR_VEHICLE_DETAILS_CAPTION :{WHITE}{VEHICLE} (Detailer) STR_VEHICLE_NAME_BUTTON :{BLACK}Numm STR_VEHICLE_DETAILS_TRAIN_RENAME :{BLACK}Zuch benennen -STR_VEHICLE_DETAILS_ROAD_VEHICLE_RENAME :{BLACK}Stroossengefiert benennen +STR_VEHICLE_DETAILS_ROAD_VEHICLE_RENAME :{BLACK}Stroossegefier benennen STR_VEHICLE_DETAILS_SHIP_RENAME :{BLACK}Schëff benennen STR_VEHICLE_DETAILS_AIRCRAFT_RENAME :{BLACK}Fliger benennen -STR_VEHICLE_INFO_AGE_RUNNING_COST_YR :{BLACK}Alter: {LTBLUE}{STRING}{BLACK} Betriibskäschten: {LTBLUE}{CURRENCY_LONG}/Joer +STR_VEHICLE_INFO_AGE_RUNNING_COST_YR :{BLACK}Alter: {LTBLUE}{STRING}{BLACK} Betribskäschten: {LTBLUE}{CURRENCY_LONG}/Joer # The next two need to stay in this order STR_VEHICLE_INFO_AGE :{COMMA} Joer ({COMMA}) STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} Joer ({COMMA}) @@ -3586,34 +3660,34 @@ STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Gewiicht STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Profit dëst Joer: {LTBLUE}{CURRENCY_LONG} (lescht Joer: {CURRENCY_LONG}) STR_VEHICLE_INFO_RELIABILITY_BREAKDOWNS :{BLACK}Zouverlässegkeet: {LTBLUE}{COMMA}% {BLACK}Pannen säit leschter Revisioun: {LTBLUE}{COMMA} -STR_VEHICLE_INFO_BUILT_VALUE :{LTBLUE}{ENGINE} {BLACK}Gebaut: {LTBLUE}{NUM}{BLACK} Wert: {LTBLUE}{CURRENCY_LONG} +STR_VEHICLE_INFO_BUILT_VALUE :{LTBLUE}{ENGINE} {BLACK}Gebaut: {LTBLUE}{NUM}{BLACK} Wäert: {LTBLUE}{CURRENCY_LONG} STR_VEHICLE_INFO_NO_CAPACITY :{BLACK}Kapazitéit: {LTBLUE}Keng{STRING} STR_VEHICLE_INFO_CAPACITY :{BLACK}Kapazitéit: {LTBLUE}{CARGO_LONG}{3:STRING} STR_VEHICLE_INFO_CAPACITY_MULT :{BLACK}Kapazitéit: {LTBLUE}{CARGO_LONG}{3:STRING} (x{4:NUM}) STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Kapazitéit: {LTBLUE}{CARGO_LONG}, {CARGO_LONG}{STRING} -STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Transfer Suen: {LTBLUE}{CURRENCY_LONG} +STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Transferts-Suen: {LTBLUE}{CURRENCY_LONG} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Revisiounsintervall: {LTBLUE}{COMMA}Deeg{BLACK} Lescht Revisioun: {LTBLUE}{DATE_LONG} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Revisiounsintervall: {LTBLUE}{COMMA}{NBSP}Deeg{BLACK} Lescht Revisioun: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Revisiounsintervall: {LTBLUE}{COMMA}%{BLACK} Lescht Revisioun: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Revisiounsintervall em 10 erhéijen. Ctrl+Klick erhéicht Intervall em 5 STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Revisiounsintervall em 10 erofsetzen. Ctrl+Klick setzt den Intervall em 5 rof -STR_SERVICE_INTERVAL_DROPDOWN_TOOLTIP :{BLACK}Wiesselt den Revisiounsintervall +STR_SERVICE_INTERVAL_DROPDOWN_TOOLTIP :{BLACK}Wiesselt de Revisiounsintervall STR_VEHICLE_DETAILS_DEFAULT :Standard STR_VEHICLE_DETAILS_DAYS :Deeg STR_VEHICLE_DETAILS_PERCENT :Prozent STR_QUERY_RENAME_TRAIN_CAPTION :{WHITE}Zuch benennen -STR_QUERY_RENAME_ROAD_VEHICLE_CAPTION :{WHITE}Stroossengefiert benennen +STR_QUERY_RENAME_ROAD_VEHICLE_CAPTION :{WHITE}Stroossegefier benennen STR_QUERY_RENAME_SHIP_CAPTION :{WHITE}Schëff benennen STR_QUERY_RENAME_AIRCRAFT_CAPTION :{WHITE}Fliger benennen # Extra buttons for train details windows -STR_VEHICLE_DETAILS_TRAIN_ENGINE_BUILT_AND_VALUE :{LTBLUE}{ENGINE}{BLACK} Gebaut: {LTBLUE}{NUM}{BLACK} Wert: {LTBLUE}{CURRENCY_LONG} -STR_VEHICLE_DETAILS_TRAIN_WAGON_VALUE :{LTBLUE}{ENGINE}{BLACK} Wert: {LTBLUE}{CURRENCY_LONG} +STR_VEHICLE_DETAILS_TRAIN_ENGINE_BUILT_AND_VALUE :{LTBLUE}{ENGINE}{BLACK} Gebaut: {LTBLUE}{NUM}{BLACK} Wäert: {LTBLUE}{CURRENCY_LONG} +STR_VEHICLE_DETAILS_TRAIN_WAGON_VALUE :{LTBLUE}{ENGINE}{BLACK} Wäert: {LTBLUE}{CURRENCY_LONG} -STR_VEHICLE_DETAILS_TRAIN_TOTAL_CAPACITY_TEXT :{BLACK}Total Luedplaz fir dësen Zuch: +STR_VEHICLE_DETAILS_TRAIN_TOTAL_CAPACITY_TEXT :{BLACK}Total Kapazitéit fir dësen Zuch: STR_VEHICLE_DETAILS_TRAIN_TOTAL_CAPACITY :{LTBLUE}- {CARGO_LONG} ({CARGO_SHORT}) STR_VEHICLE_DETAILS_TRAIN_TOTAL_CAPACITY_MULT :{LTBLUE}- {CARGO_LONG} ({CARGO_SHORT}) (x{NUM}) @@ -3622,11 +3696,11 @@ STR_VEHICLE_DETAILS_CARGO_FROM :{LTBLUE}{CARGO_ STR_VEHICLE_DETAILS_CARGO_FROM_MULT :{LTBLUE}{CARGO_LONG} vun {STATION} (x{NUM}) STR_VEHICLE_DETAIL_TAB_CARGO :{BLACK}Luedung -STR_VEHICLE_DETAILS_TRAIN_CARGO_TOOLTIP :{BLACK}Weist d'Detailer vun der Luedung +STR_VEHICLE_DETAILS_TRAIN_CARGO_TOOLTIP :{BLACK}Weis d'Detailer vun der Luedung STR_VEHICLE_DETAIL_TAB_INFORMATION :{BLACK}Informatioun -STR_VEHICLE_DETAILS_TRAIN_INFORMATION_TOOLTIP :{BLACK}Weist d'Detailer vun den Waggonen +STR_VEHICLE_DETAILS_TRAIN_INFORMATION_TOOLTIP :{BLACK}Weist d'Detailer vun de Waggonen STR_VEHICLE_DETAIL_TAB_CAPACITIES :{BLACK}Kapazitéiten -STR_VEHICLE_DETAILS_TRAIN_CAPACITIES_TOOLTIP :{BLACK}Weist d'Kapazitéiten vun den Waggonen +STR_VEHICLE_DETAILS_TRAIN_CAPACITIES_TOOLTIP :{BLACK}Weist d'Kapazitéite vun de Waggonen STR_VEHICLE_DETAIL_TAB_TOTAL_CARGO :{BLACK}Total Luedung STR_VEHICLE_DETAILS_TRAIN_TOTAL_CARGO_TOOLTIP :{BLACK}Weist d'Total Kapazitéit vum Zuch, opgedeelt op d'Wuerentypen @@ -3634,34 +3708,34 @@ STR_VEHICLE_DETAILS_TRAIN_ARTICULATED_RV_CAPACITY :{BLACK}Kapazit # Vehicle refit STR_REFIT_CAPTION :{WHITE}{VEHICLE} (Refit) -STR_REFIT_TITLE :{GOLD}Wielt den Luedungstyp: +STR_REFIT_TITLE :{GOLD}Wielt de Luedungstyp: STR_REFIT_NEW_CAPACITY_COST_OF_REFIT :{BLACK}Nei Kapazitéit: {GOLD}{CARGO_LONG}{}{BLACK}Käschten fir ëmzebauen: {RED}{CURRENCY_LONG} STR_REFIT_NEW_CAPACITY_INCOME_FROM_REFIT :{BLACK}Nei Kapazitéit: {GOLD}{CARGO_LONG}{}{BLACK}Akommes vum Embau: {GREEN}{CURRENCY_LONG} STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT :{BLACK}Nei Kapazitéit: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Käschten fir den Embau: {RED}{CURRENCY_LONG} STR_REFIT_NEW_CAPACITY_INCOME_FROM_AIRCRAFT_REFIT :{BLACK}Nei Kapazitéit: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Akommes vum Embau: {GREEN}{CURRENCY_LONG} -STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}Wiel d'Gefierer fir den Embau. Mat der Maus zéien erlaabt den Embau vun méi Gefierer. Op eng eidel Plaz klicken wielt d'ganzt Gefiert. Ctrl+Klick wielt e Gefiert an de Rescht vun der Ketten +STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}Wiel d'Gefierer fir den Embau. Mat der Maus zéien erlaabt den Embau vu méi Gefierer. Op eng eidel Plaz klicken wielt d'ganzt Gefier. Ctrl+Klick wielt e Gefier an de Rescht vun der Ketten -STR_REFIT_TRAIN_LIST_TOOLTIP :{BLACK}Selectéiert d'Luedung déi transportéiert soll ginn -STR_REFIT_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Wielt den Typ vun Wueren fir Stroossengefiert -STR_REFIT_SHIP_LIST_TOOLTIP :{BLACK}Selèctéiert den Luedungstyp fir d'Schëff -STR_REFIT_AIRCRAFT_LIST_TOOLTIP :{BLACK}Wielt den Luedungstyp aus +STR_REFIT_TRAIN_LIST_TOOLTIP :{BLACK}Wielt d'Wuer déi transportéiert soll ginn +STR_REFIT_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Wielt den Typ vu Wueren fir d'Stroossegefier +STR_REFIT_SHIP_LIST_TOOLTIP :{BLACK}Wielt de Wuerentyp fir d'Schëff +STR_REFIT_AIRCRAFT_LIST_TOOLTIP :{BLACK}Wielt de Wuerentyp aus -STR_REFIT_TRAIN_REFIT_BUTTON :{BLACK}Zuch upassen -STR_REFIT_ROAD_VEHICLE_REFIT_BUTTON :{BLACK}Stroossengefiert ëmbauen +STR_REFIT_TRAIN_REFIT_BUTTON :{BLACK}Zuch ëmbauen +STR_REFIT_ROAD_VEHICLE_REFIT_BUTTON :{BLACK}Stroossegefier ëmbauen STR_REFIT_SHIP_REFIT_BUTTON :{BLACK}Schëff ëmbauen STR_REFIT_AIRCRAFT_REFIT_BUTTON :{BLACK}Fliger ëmbauen -STR_REFIT_TRAIN_REFIT_TOOLTIP :{BLACK}Passt den Zuch un fir den ugewielten Luedungstyp -STR_REFIT_ROAD_VEHICLE_REFIT_TOOLTIP :{BLACK}Stroosengefiert embauen fir gewielten Wuer ze transportéiren -STR_REFIT_SHIP_REFIT_TOOLTIP :{BLACK}Schëff op dei ugewielten Luedung ëmbauen -STR_REFIT_AIRCRAFT_REFIT_TOOLTIP :{BLACK}Baut den Fliger fir den ugewieltenen Luedungstyp ëm +STR_REFIT_TRAIN_REFIT_TOOLTIP :{BLACK}Passt den Zuch un den ugewielten Luedungstyp un +STR_REFIT_ROAD_VEHICLE_REFIT_TOOLTIP :{BLACK}Stroossegefier ëmbauen fir déi gewielte Wuer ze transportéiren +STR_REFIT_SHIP_REFIT_TOOLTIP :{BLACK}Schëff fir déi ugewielte Wuer ëmbauen +STR_REFIT_AIRCRAFT_REFIT_TOOLTIP :{BLACK}Baut de Fliger fir den ugewieltenen Luedungstyp ëm # Order view STR_ORDERS_CAPTION :{WHITE}{VEHICLE} (Opträg) STR_ORDERS_TIMETABLE_VIEW :{BLACK}Zäitplang STR_ORDERS_TIMETABLE_VIEW_TOOLTIP :{BLACK}Wiesselt op d'Zäitplangunzeig -STR_ORDERS_LIST_TOOLTIP :{BLACK}Optragslëscht - Klick op en Optrag fir en ze selectéieren. Ctrl+Klick scrollt op d'Optragdestinatioun +STR_ORDERS_LIST_TOOLTIP :{BLACK}Optragslëscht - Klick op en Optrag fir en ze wielen. Ctrl+Klick scrollt op d'Optragdestinatioun STR_ORDER_INDEX :{COMMA}:{NBSP} STR_ORDER_TEXT :{STRING} {STRING} {STRING} @@ -3676,24 +3750,24 @@ STR_ORDER_GO_VIA :Géi via STR_ORDER_GO_NON_STOP_VIA :Géi non-stop iwwert STR_ORDER_TOOLTIP_NON_STOP :{BLACK}Wiesselt d'Stoppen vun dem ungewielten Optrag -STR_ORDER_TOGGLE_FULL_LOAD :{BLACK}Voll lueden mat der Wuer -STR_ORDER_DROP_LOAD_IF_POSSIBLE :Lueden wann méiglech -STR_ORDER_DROP_FULL_LOAD_ALL :Alles voll lueden -STR_ORDER_DROP_FULL_LOAD_ANY :Voll lueden mat der Wuer +STR_ORDER_TOGGLE_FULL_LOAD :{BLACK}Voll luede mat all Wuer +STR_ORDER_DROP_LOAD_IF_POSSIBLE :Luede wa méiglech +STR_ORDER_DROP_FULL_LOAD_ALL :Mat Allem voll lueden +STR_ORDER_DROP_FULL_LOAD_ANY :Voll lueden mat all Wuer STR_ORDER_DROP_NO_LOADING :Net belueden -STR_ORDER_TOOLTIP_FULL_LOAD :{BLACK}Wiesselt Lueden vun dem ungewielten Optrag +STR_ORDER_TOOLTIP_FULL_LOAD :{BLACK}Wiesselt d'Luedverhale vun dem ungewielten Optrag STR_ORDER_TOGGLE_UNLOAD :{BLACK}Alles entlueden -STR_ORDER_DROP_UNLOAD_IF_ACCEPTED :Entlueden wann acceptéiert +STR_ORDER_DROP_UNLOAD_IF_ACCEPTED :Entluede wann akzeptéiert STR_ORDER_DROP_UNLOAD :Alles entlueden STR_ORDER_DROP_TRANSFER :Transferéieren STR_ORDER_DROP_NO_UNLOADING :Net entlueden -STR_ORDER_TOOLTIP_UNLOAD :{BLACK}Wiesselt Entlueden vun dem ungewielten Optrag +STR_ORDER_TOOLTIP_UNLOAD :{BLACK}Wiesselt d'Entluedverhale vun dem ungewielten Optrag STR_ORDER_REFIT :{BLACK}Ëmbauen -STR_ORDER_REFIT_TOOLTIP :{BLACK}Wielt wéi een Luedungstyp du wëlls. Ctrl+Klick fir den Ëmbau ze leschen -STR_ORDER_REFIT_AUTO :{BLACK}Auto-Erneiern -STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Wiel wellëch Wuerentypen sollen auto-ersat ginn an dësem Ueder. Ctrl+Klick fir all Auto-Erneierungen wechzehuelen. Auto-Erneiern geht just wann d'Gefiert ët erlaabt +STR_ORDER_REFIT_TOOLTIP :{BLACK}Wielt an wéi een Luedungstyp sollt emgebaut ginn. Ctrl+Klick fir den Ëmbau ze läschen +STR_ORDER_REFIT_AUTO :{BLACK}Embauen an der Statioun +STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Wiel wellëch Wuerentypen sollen auto-ersat ginn an dësem Optrag. Ctrl+Klick fir all Auto-Erneierungen wechzehuelen. Auto-Erneiern geht just wann d'Gefier ët erlaabt STR_ORDER_DROP_REFIT_AUTO :Festgelueten Wuer STR_ORDER_DROP_REFIT_AUTO_ANY :Verfügbar Wueren @@ -3703,7 +3777,7 @@ STR_ORDER_DROP_SERVICE_DEPOT :Revisioun falls STR_ORDER_DROP_HALT_DEPOT :Stop STR_ORDER_SERVICE_TOOLTIP :{BLACK}Iwwersprang dësen Optrag wann keng Revisioun néideg ass -STR_ORDER_CONDITIONAL_VARIABLE_TOOLTIP :{BLACK}Gefiertsdaten als Basis fir den Optragssprong +STR_ORDER_CONDITIONAL_VARIABLE_TOOLTIP :{BLACK}Gefierdaten als Basis fir den Optragssprong # Conditional order variables, must follow order of OrderConditionVariable enum STR_ORDER_CONDITIONAL_LOAD_PERCENTAGE :Prozent gelueden @@ -3714,54 +3788,54 @@ STR_ORDER_CONDITIONAL_REQUIRES_SERVICE :Brauch eng Revi STR_ORDER_CONDITIONAL_UNCONDITIONALLY :Ëmmer STR_ORDER_CONDITIONAL_REMAINING_LIFETIME :Reschtlaafzäit (Joer) -STR_ORDER_CONDITIONAL_COMPARATOR_TOOLTIP :{BLACK}Wéi Gefiertsdaten verglach sollen ginn +STR_ORDER_CONDITIONAL_COMPARATOR_TOOLTIP :{BLACK}Wéi Gefierdaten verglach solle ginn STR_ORDER_CONDITIONAL_COMPARATOR_EQUALS :ass gläich STR_ORDER_CONDITIONAL_COMPARATOR_NOT_EQUALS :ass net gläich STR_ORDER_CONDITIONAL_COMPARATOR_LESS_THAN :ass manner wéi STR_ORDER_CONDITIONAL_COMPARATOR_LESS_EQUALS :ass manner oder gläich wéi STR_ORDER_CONDITIONAL_COMPARATOR_MORE_THAN :ass méi wéi STR_ORDER_CONDITIONAL_COMPARATOR_MORE_EQUALS :ass méi oder gläich wéi -STR_ORDER_CONDITIONAL_COMPARATOR_IS_TRUE :ass wouer(true) -STR_ORDER_CONDITIONAL_COMPARATOR_IS_FALSE :ass falsch(false) +STR_ORDER_CONDITIONAL_COMPARATOR_IS_TRUE :ass richteg (true) +STR_ORDER_CONDITIONAL_COMPARATOR_IS_FALSE :ass falsch (false) -STR_ORDER_CONDITIONAL_VALUE_TOOLTIP :{BLACK}Den Wäert deen mat den Gefiertsdaten verglach gëtt -STR_ORDER_CONDITIONAL_VALUE_CAPT :{WHITE}Wäert anginn fir ze vergläichen +STR_ORDER_CONDITIONAL_VALUE_TOOLTIP :{BLACK}De Wäert dee mat de Gefierdaten verglach gëtt +STR_ORDER_CONDITIONAL_VALUE_CAPT :{WHITE}Wäert aginn fir ze vergläichen -STR_ORDERS_SKIP_BUTTON :{BLACK}Iwersprangen -STR_ORDERS_SKIP_TOOLTIP :{BLACK}Iwersprang den momentanen Optrag. CTRL+Klick iwerspréngt op den ungewieltenen Optrag +STR_ORDERS_SKIP_BUTTON :{BLACK}Iwwersprangen +STR_ORDERS_SKIP_TOOLTIP :{BLACK}Iwwersprang de momentanen Optrag. CTRL+Klick iwwerspréngt op den ungewieltenen Optrag -STR_ORDERS_DELETE_BUTTON :{BLACK}Leschen -STR_ORDERS_DELETE_TOOLTIP :{BLACK}Lescht den ungewieltenen Optrag -STR_ORDERS_DELETE_ALL_TOOLTIP :{BLACK}All Opträg leschen -STR_ORDERS_STOP_SHARING_BUTTON :{BLACK}Deelen stoppen -STR_ORDERS_STOP_SHARING_TOOLTIP :{BLACK}Stop d'Deelen vun der Optragslëscht. Ctrl+Klick lescht ausserdem all Opträg vun dësem Gefiert +STR_ORDERS_DELETE_BUTTON :{BLACK}Läschen +STR_ORDERS_DELETE_TOOLTIP :{BLACK}Läscht den ungewielten Optrag +STR_ORDERS_DELETE_ALL_TOOLTIP :{BLACK}All Opträg läschen +STR_ORDERS_STOP_SHARING_BUTTON :{BLACK}D'Deele stoppen +STR_ORDERS_STOP_SHARING_TOOLTIP :{BLACK}Stop d'Deele vun der Optragslëscht. Ctrl+Klick lescht ausserdem all Opträg vun dësem Gefier STR_ORDERS_GO_TO_BUTTON :{BLACK}Géi op -STR_ORDER_GO_TO_NEAREST_DEPOT :Géi an den noosten Schapp -STR_ORDER_GO_TO_NEAREST_HANGAR :Géi bei den noosten Hangar +STR_ORDER_GO_TO_NEAREST_DEPOT :Géi an den nooste Schapp +STR_ORDER_GO_TO_NEAREST_HANGAR :Géi an den noosten Hangar STR_ORDER_CONDITIONAL :Bedéngten Optragssprong STR_ORDER_SHARE :Opträg deelen -STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Setzt en neien Optrag firun den ungewielten Optrag, oder un d'Enn vun der Lëscht. Ctrl setzt Statioun Opträg op voll lueden, Weepunkter op 'non-stop', an Schapp Opträg 'Revisioun'. Op en Gefiert klicken, kopéiert d'Opträg vun dem Gefiert +STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Setzt en neien Optrag firun den ungewielten Optrag, oder un d'Enn vun der Lëscht. Ctrl setzt Statioun Opträg op voll lueden, Weepunkter op 'non-stop', an Schapp Opträg 'Revisioun'. Op en Gefier klicken, kopéiert d'Opträg vun dem Gefier STR_ORDERS_VEH_WITH_SHARED_ORDERS_LIST_TOOLTIP :{BLACK}Weis all Gefierer déi dësen Plang deelen # String parts to build the order string STR_ORDER_GO_TO_WAYPOINT :Iwwert {WAYPOINT} -STR_ORDER_GO_NON_STOP_TO_WAYPOINT :Géi non-stop via{WAYPOINT} +STR_ORDER_GO_NON_STOP_TO_WAYPOINT :Géi non-stop via {WAYPOINT} -STR_ORDER_SERVICE_AT :Revisioun bei -STR_ORDER_SERVICE_NON_STOP_AT :Revisioun non-stop bei +STR_ORDER_SERVICE_AT :Revisioun am/an +STR_ORDER_SERVICE_NON_STOP_AT :Revisioun non-stop am/an STR_ORDER_NEAREST_DEPOT :den noosten STR_ORDER_NEAREST_HANGAR :den noosten Hangar STR_ORDER_TRAIN_DEPOT :Zuchschapp -STR_ORDER_ROAD_VEHICLE_DEPOT :Stroossengefierer-Depot +STR_ORDER_ROAD_VEHICLE_DEPOT :Stroossegefier-Depot STR_ORDER_SHIP_DEPOT :Schëffsschapp STR_ORDER_GO_TO_NEAREST_DEPOT_FORMAT :{STRING} {STRING} {STRING} STR_ORDER_GO_TO_DEPOT_FORMAT :{STRING} {DEPOT} STR_ORDER_REFIT_ORDER :(Ëmbau op {STRING}) -STR_ORDER_REFIT_STOP_ORDER :(Ëmbau op {STRING} an stopen) +STR_ORDER_REFIT_STOP_ORDER :(Ëmbau op {STRING} an stoppen) STR_ORDER_STOP_ORDER :(Stop) STR_ORDER_GO_TO_STATION :{STRING} {STATION} {STRING} @@ -3780,34 +3854,34 @@ STR_ORDER_TRANSFER_FULL_LOAD :(Transferéiere STR_ORDER_TRANSFER_FULL_LOAD_ANY :(Transferéieren an mat all Wuer voll lueden) STR_ORDER_TRANSFER_NO_LOAD :(Transferéieren an eidel loosen) STR_ORDER_NO_UNLOAD :(Net entlueden an Wueren lueden) -STR_ORDER_NO_UNLOAD_FULL_LOAD :(Net entlueden an op voll Beluedung warden) -STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY :(Net entlueden an op iergendeng voll Beluedung warden) +STR_ORDER_NO_UNLOAD_FULL_LOAD :(Net entlueden an op voll Beluedung waarden) +STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY :(Net entlueden an op iergendeng voll Beluedung waarden) STR_ORDER_NO_UNLOAD_NO_LOAD :(Keen Ent- an Belueden) -STR_ORDER_AUTO_REFIT :(Auto-Embauen zu {STRING}) -STR_ORDER_FULL_LOAD_REFIT :(Vollueden mat Auto-Embauen zu {STRING}) -STR_ORDER_FULL_LOAD_ANY_REFIT :(Vollueden mat all Wueren mat Auto-Embauen zu {STRING}) -STR_ORDER_UNLOAD_REFIT :(Entlueden an Wueren lueden mat Auto-Embauen zu {STRING}) -STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(Entlueden an op voll Luedung warden mat Auto-Embauen zu {STRING}) -STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(Entlueden an warden op iergendeng Volluedung mat Auto-Embauen zu {STRING}) +STR_ORDER_AUTO_REFIT :(Embauen op {STRING}) +STR_ORDER_FULL_LOAD_REFIT :(Voll lueden mat Embauen op {STRING}) +STR_ORDER_FULL_LOAD_ANY_REFIT :(Voll lueden mat all Wueren mat Embauen op {STRING}) +STR_ORDER_UNLOAD_REFIT :(Entlueden an Wueren lueden mat Embauen op {STRING}) +STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(Entlueden an op voll Luedung waarden mat Embauen op {STRING}) +STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(Entlueden an waard op iergendeng Volluedung mat Embauen op {STRING}) STR_ORDER_TRANSFER_REFIT :(Transfer an lued Wueren mat Auto-Embauen zu {STRING}) -STR_ORDER_TRANSFER_FULL_LOAD_REFIT :(Transfer an ward op Vollueden mat Auto-Embauen zu {STRING}) -STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :(Transfer an ward op iergendeng Volluedung mat Auto-Embauen zu {STRING}) -STR_ORDER_NO_UNLOAD_REFIT :(Keen Entlueden an huel Wueren mat Auto-Embauen zu {STRING}) -STR_ORDER_NO_UNLOAD_FULL_LOAD_REFIT :(Keen Entlueden an ward op Vollueden mat Auto-Embauen zu {STRING}) -STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY_REFIT :(Keen Entlueden an ward op iergendend Volluedung mat Auto-Embauen zu {STRING}) +STR_ORDER_TRANSFER_FULL_LOAD_REFIT :(Transfer an waard op Vollueden mat Auto-Embauen op {STRING}) +STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :(Transfer an waard op iergendeng Volluedung mat Auto-Embauen op {STRING}) +STR_ORDER_NO_UNLOAD_REFIT :(Keen Entlueden an huel Wueren mat Auto-Embauen op {STRING}) +STR_ORDER_NO_UNLOAD_FULL_LOAD_REFIT :(Keen Entlueden an waard op Vollueden mat Auto-Embauen op {STRING}) +STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY_REFIT :(Keen Entlueden an waard op iergendend Volluedung mat Auto-Embauen op {STRING}) STR_ORDER_AUTO_REFIT_ANY :verfügbar Wueren -STR_ORDER_STOP_LOCATION_NEAR_END :[noot Enn] +STR_ORDER_STOP_LOCATION_NEAR_END :[noosten Enn] STR_ORDER_STOP_LOCATION_MIDDLE :[Mëtt] STR_ORDER_STOP_LOCATION_FAR_END :[wäit Enn] STR_ORDER_OUT_OF_RANGE :{RED} (Nächst Destinatioun ass ze wäit fort) -STR_ORDER_CONDITIONAL_UNCONDITIONAL :Sprang op Optrag {COMMA} -STR_ORDER_CONDITIONAL_NUM :Sprang op Optrag {COMMA} wann {STRING} {STRING} {COMMA} -STR_ORDER_CONDITIONAL_TRUE_FALSE :Sprang op Optrag {COMMA} wann {STRING} {STRING} +STR_ORDER_CONDITIONAL_UNCONDITIONAL :Sprang zum Optrag {COMMA} +STR_ORDER_CONDITIONAL_NUM :Sprang zum Optrag {COMMA} wann {STRING} {STRING} {COMMA} +STR_ORDER_CONDITIONAL_TRUE_FALSE :Sprang zum Optrag {COMMA} wann {STRING} {STRING} STR_INVALID_ORDER :{RED} (ongültegen Optrag) @@ -3819,45 +3893,49 @@ STR_TIMETABLE_ORDER_VIEW_TOOLTIP :{BLACK}Wiesselt STR_TIMETABLE_TOOLTIP :{BLACK}Zäitplang - klick op en Optrag fir en ze wielen STR_TIMETABLE_NO_TRAVEL :Net ënnerwee -STR_TIMETABLE_NOT_TIMETABLEABLE :Rees(automatesch; Zaitplang durch manuell Opträg) +STR_TIMETABLE_NOT_TIMETABLEABLE :Rees (automatesch; Zäitplang durch manuell Opträg) STR_TIMETABLE_TRAVEL_NOT_TIMETABLED :Ënnerwee (ouni Zäitplang) -STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Fiert maximal {2:VELOCITY} (ouni Stonneplang) -STR_TIMETABLE_TRAVEL_FOR :Ënnerwee fir {STRING} -STR_TIMETABLE_TRAVEL_FOR_SPEED :Fiert fir {STRING} mat maximal {VELOCITY} +STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Fuer maximal {2:VELOCITY} (ouni Zäitplang) +STR_TIMETABLE_TRAVEL_FOR :Ënnerwee während {STRING} +STR_TIMETABLE_TRAVEL_FOR_SPEED :Fiert während {STRING} mat maximal {VELOCITY} +STR_TIMETABLE_TRAVEL_FOR_ESTIMATED :Fuer (während {STRING}, ouni Zäitplang) +STR_TIMETABLE_TRAVEL_FOR_SPEED_ESTIMATED :Fuer (während {STRING}, ouni Zäitplang) mat maximal {VELOCITY} +STR_TIMETABLE_STAY_FOR_ESTIMATED :(bleif während {STRING}, ouni Zäitplang) +STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(fuer während {STRING}, ouni Zäitplang) STR_TIMETABLE_STAY_FOR :an bleif fir {STRING} -STR_TIMETABLE_AND_TRAVEL_FOR :an ënnerwee op {STRING} -STR_TIMETABLE_DAYS :{COMMA} D{P ag eeg} -STR_TIMETABLE_TICKS :{COMMA} Intervall{P "" en} +STR_TIMETABLE_AND_TRAVEL_FOR :an ënnerwee während {STRING} +STR_TIMETABLE_DAYS :{COMMA}{NBSP}D{P ag eeg} +STR_TIMETABLE_TICKS :{COMMA}{NBSP}Tick{P "" en} -STR_TIMETABLE_TOTAL_TIME :{BLACK}Dësen Zäitplang brauch {STRING} fir faërdeg ze gin +STR_TIMETABLE_TOTAL_TIME :{BLACK}Dësen Zäitplang brauch {STRING} fir faërdeg ze ginn STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}Dësen Zäitplang brauch op manst {STRING} (net all geplangt) -STR_TIMETABLE_STATUS_ON_TIME :{BLACK}D'Gefiert ass mat Zäit -STR_TIMETABLE_STATUS_LATE :{BLACK}D'Gefiert ass grad {STRING} ze spéit -STR_TIMETABLE_STATUS_EARLY :{BLACK}D'Gefiert ass grad {STRING} ze fréi +STR_TIMETABLE_STATUS_ON_TIME :{BLACK}D'Gefier ass mat Zäit +STR_TIMETABLE_STATUS_LATE :{BLACK}D'Gefier ass grad {STRING} ze spéit +STR_TIMETABLE_STATUS_EARLY :{BLACK}D'Gefier ass grad {STRING} ze fréi STR_TIMETABLE_STATUS_NOT_STARTED :{BLACK}Dësen Zäitplang gouf nach net gestart STR_TIMETABLE_STATUS_START_AT :{BLACK}Dësen Zäitplang start um {STRING} STR_TIMETABLE_STARTING_DATE :{BLACK}Start Datum -STR_TIMETABLE_STARTING_DATE_TOOLTIP :{BLACK}Wiel en Datum als Startpunkt fir dësen Zäitplang. Ctrl+Klick setzt den Startpunkt vun dësem Zäitplang an verdeelt et en gläichméisseg op all Gefierer déi dësen Ueder hunn, wann den Ueder komplett mat engem Zäitplang versinn ass +STR_TIMETABLE_STARTING_DATE_TOOLTIP :{BLACK}Wiel en Datum als Startpunkt fir dësen Zäitplang. Ctrl+Klick setzt de Startpunkt vun dësem Zäitplang an verdeelt et en gläichméisseg op all Gefierer déi dësen Optrag hunn, wann den Optrag komplett mat engem Zäitplang versinn ass STR_TIMETABLE_CHANGE_TIME :{BLACK}Zäit wiesselen -STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Änner Zäit déi den ugewielten Optrag brauchen soll +STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Änner Zäit déi den ugewielten Optrag brauche soll STR_TIMETABLE_CLEAR_TIME :{BLACK}Zäit läschen -STR_TIMETABLE_CLEAR_TIME_TOOLTIP :{BLACK}Lesch Zäit fir den gewielten Optrag +STR_TIMETABLE_CLEAR_TIME_TOOLTIP :{BLACK}Läsch Zäit fir de gewielten Optrag STR_TIMETABLE_CHANGE_SPEED :{BLACK}Änner de Geschwindegkeetslimit -STR_TIMETABLE_CHANGE_SPEED_TOOLTIP :{BLACK}Änner d'maximal Reesgeschwindëgkeet fir den gewielten Optrag +STR_TIMETABLE_CHANGE_SPEED_TOOLTIP :{BLACK}Änner d'maximal Reesgeschwindëgkeet fir de gewielten Optrag -STR_TIMETABLE_CLEAR_SPEED :{BLACK}Geschwindegkeetslimit leschen -STR_TIMETABLE_CLEAR_SPEED_TOOLTIP :{BLACK}Maximal Reesgeschwindegkeet vum gewielten Optrag leschen +STR_TIMETABLE_CLEAR_SPEED :{BLACK}Geschwindegkeetslimit läschen +STR_TIMETABLE_CLEAR_SPEED_TOOLTIP :{BLACK}Maximal Reesgeschwindegkeet vum gewielten Optrag läschen STR_TIMETABLE_RESET_LATENESS :{BLACK}Verspeidungszieler zerécksetzen -STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}Setzt den Verspéidungszieler zréck, sou dass d'Gefiert mat Zäit ukënnt +STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}Setzt de Verspéidungszieler zréck, sou dass d'Gefier mat Zäit ukënnt STR_TIMETABLE_AUTOFILL :{BLACK}Autofëllen -STR_TIMETABLE_AUTOFILL_TOOLTIP :{BLACK}Fëll den Zäitplang automatesch mat den Wäerter vum nächsten Trajet (Ctrl+Klick fir Wardzäiten probéiren bäizehalen) +STR_TIMETABLE_AUTOFILL_TOOLTIP :{BLACK}Fëll den Zäitplang automatesch mat de Wäerter vum nächsten Trajet (Ctrl+Klick fir Wardzäiten probéiren bäizehalen) STR_TIMETABLE_EXPECTED :{BLACK}Erwaard STR_TIMETABLE_SCHEDULED :{BLACK}Geplangt @@ -3870,7 +3948,7 @@ STR_TIMETABLE_DEPARTURE_ABBREVIATION :D: # Date window (for timetable) STR_DATE_CAPTION :{WHITE}Datum setzen STR_DATE_SET_DATE :{BLACK}Datum setzen -STR_DATE_SET_DATE_TOOLTIP :{BLACK}Den gewielten Datum als Startdatum fir den Zäitplang benotzen +STR_DATE_SET_DATE_TOOLTIP :{BLACK}De gewielten Datum als Startdatum fir den Zäitplang benotzen STR_DATE_DAY_TOOLTIP :{BLACK}Dag wielen STR_DATE_MONTH_TOOLTIP :{BLACK}Mount wielen STR_DATE_YEAR_TOOLTIP :{BLACK}Joer wielen @@ -3888,35 +3966,35 @@ STR_AI_DEBUG_BREAK_STR_ON_OFF_TOOLTIP :{BLACK}Erlab/Ve STR_AI_DEBUG_BREAK_ON_LABEL :{BLACK}Break un/op: STR_AI_DEBUG_BREAK_STR_OSKTITLE :{BLACK}Break un STR_AI_DEBUG_BREAK_STR_TOOLTIP :{BLACK}Wann en KI Log message zum String passt, pauséiert d'Spill -STR_AI_DEBUG_MATCH_CASE :{BLACK}Passenden Fall -STR_AI_DEBUG_MATCH_CASE_TOOLTIP :{BLACK}Wiessel tëscht passenden Fäll beim vergläichen vun KI Log Messagen mam Break-String +STR_AI_DEBUG_MATCH_CASE :{BLACK}Passende Fall +STR_AI_DEBUG_MATCH_CASE_TOOLTIP :{BLACK}Wiessel tëscht passende Fäll beim vergläichen vu KI Log Messagen mam Break-String STR_AI_DEBUG_CONTINUE :{BLACK}Weider STR_AI_DEBUG_CONTINUE_TOOLTIP :{BLACK}Entpaus an fuer weider mat der KI STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Debug-output fir dës KI uweisen STR_AI_GAME_SCRIPT :{BLACK}Spill-Script -STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Check den Spill-Scipt-Log +STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Check de Spill-Scipt-Log -STR_ERROR_AI_NO_AI_FOUND :Keng passend KI fonnt fir ze lueden.{}Dës KI ass en Dummy an wäert näischt maachen.{}KI'en kënnen iwwert den 'Online Content' System downgeload gin. -STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}En Script ass ofgestierzt. W.e.g mellt des dem Autor mat engem Screenshot vun der KI/Spill-Script Debugfënster +STR_ERROR_AI_NO_AI_FOUND :Keng passend KI fonnt fir ze lueden.{}Dës KI ass en Dummy an wäert näischt maachen.{}KI'en kënnen iwwert den 'Online Content' System downgeload ginn. +STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}En Script ass ofgestierzt. W.e.g mellt dës dem Autor mat engem Screenshot vun der KI/Spill-Script Debugfënster STR_ERROR_AI_DEBUG_SERVER_ONLY :{YELLOW}KI / Spill-Script Debugfënster ass nëmmen fir Serveren verfügbar # AI configuration window STR_AI_CONFIG_CAPTION :{WHITE}KI /Spill-Script Konfiguratioun -STR_AI_CONFIG_GAMELIST_TOOLTIP :{BLACK}D'Spill-Script dat am nächsten Spill gelueden gëtt -STR_AI_CONFIG_AILIST_TOOLTIP :{BLACK}D'KIën déi am nächsten Spill gelueden ginn -STR_AI_CONFIG_HUMAN_PLAYER :Mënschlechen Spiller +STR_AI_CONFIG_GAMELIST_TOOLTIP :{BLACK}D'Spill-Script dat am nächsten Spill geluede gëtt +STR_AI_CONFIG_AILIST_TOOLTIP :{BLACK}D'KIën déi am nächsten Spill geluede ginn +STR_AI_CONFIG_HUMAN_PLAYER :Mënschleche Spiller STR_AI_CONFIG_RANDOM_AI :Zoufälleg KI STR_AI_CONFIG_NONE :(keng) STR_AI_CONFIG_MOVE_UP :{BLACK}No uewen setzen -STR_AI_CONFIG_MOVE_UP_TOOLTIP :{BLACK}Gewielten KI an der Lëscht no uewen setzen +STR_AI_CONFIG_MOVE_UP_TOOLTIP :{BLACK}Gewielte KI an der Lëscht no uewen setzen STR_AI_CONFIG_MOVE_DOWN :{BLACK}Erof setzen -STR_AI_CONFIG_MOVE_DOWN_TOOLTIP :{BLACK}Gewielten KI an der Lëscht no ënnen setzen +STR_AI_CONFIG_MOVE_DOWN_TOOLTIP :{BLACK}Gewielte KI an der Lëscht no ënne setzen STR_AI_CONFIG_GAMESCRIPT :{SILVER}Spill-Script STR_AI_CONFIG_AI :{SILVER}KIën -STR_AI_CONFIG_CHANGE :{BLACK}Selectéier {STRING} +STR_AI_CONFIG_CHANGE :{BLACK}Wiel {STRING} aus STR_AI_CONFIG_CHANGE_NONE : STR_AI_CONFIG_CHANGE_AI :KI STR_AI_CONFIG_CHANGE_GAMESCRIPT :Spill-Script @@ -3934,8 +4012,8 @@ STR_AI_LIST_AUTHOR :{LTBLUE}Autor: STR_AI_LIST_VERSION :{LTBLUE}Versioun: {ORANGE}{NUM} STR_AI_LIST_URL :{LTBLUE}URL: {ORANGE}{STRING} -STR_AI_LIST_ACCEPT :{BLACK}Acceptéiert -STR_AI_LIST_ACCEPT_TOOLTIP :{BLACK}Selectéiert ungewielte Script +STR_AI_LIST_ACCEPT :{BLACK}Akzeptéiert +STR_AI_LIST_ACCEPT_TOOLTIP :{BLACK}Wiel de markéierten Script STR_AI_LIST_CANCEL :{BLACK}Ofbriechen STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}Script net änneren @@ -3946,7 +4024,7 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Spill-Script STR_AI_SETTINGS_CLOSE :{BLACK}Zoumaachen STR_AI_SETTINGS_RESET :{BLACK}Reset STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING} -STR_AI_SETTINGS_START_DELAY :Unzuel vun Deeg wou dës KI gestart gëtt no der leschter: {ORANGE}{STRING} +STR_AI_SETTINGS_START_DELAY :Unzuel un Deeg wou des KI gestart gëtt no der leschter: {ORANGE}{STRING} # Textfile window @@ -3975,54 +4053,54 @@ STR_INCOME_FLOAT_COST_SMALL :{TINY_FONT}{RED STR_INCOME_FLOAT_COST :{RED}Käschten: {CURRENCY_LONG} STR_INCOME_FLOAT_INCOME_SMALL :{TINY_FONT}{GREEN}Akommes: {CURRENCY_LONG} STR_INCOME_FLOAT_INCOME :{GREEN}Akommes: {CURRENCY_LONG} -STR_FEEDER_TINY :{TINY_FONT}{YELLOW}Transfer: {CURRENCY_LONG} -STR_FEEDER :{YELLOW}Transfer: {CURRENCY_LONG} -STR_FEEDER_INCOME_TINY :{TINY_FONT}{YELLOW}Transfer: {CURRENCY_LONG}{WHITE} / {GREEN}Akommes: {CURRENCY_LONG} -STR_FEEDER_INCOME :{YELLOW}Transfer: {CURRENCY_LONG}{WHITE} / {GREEN}Akommes: {CURRENCY_LONG} -STR_FEEDER_COST_TINY :{TINY_FONT}{YELLOW}Transfer: {CURRENCY_LONG}{WHITE} / {RED}Käschten: {CURRENCY_LONG} -STR_FEEDER_COST :{YELLOW}Transfer: {CURRENCY_LONG}{WHITE} / {RED}Käschten: {CURRENCY_LONG} -STR_MESSAGE_ESTIMATED_COST :{WHITE}Geschätzten Käschten: {CURRENCY_LONG} -STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Geschätzten Akommen: {CURRENCY_LONG} +STR_FEEDER_TINY :{TINY_FONT}{YELLOW}Transfert: {CURRENCY_LONG} +STR_FEEDER :{YELLOW}Transfert: {CURRENCY_LONG} +STR_FEEDER_INCOME_TINY :{TINY_FONT}{YELLOW}Transfert: {CURRENCY_LONG}{WHITE} / {GREEN}Akommes: {CURRENCY_LONG} +STR_FEEDER_INCOME :{YELLOW}Transfert: {CURRENCY_LONG}{WHITE} / {GREEN}Akommes: {CURRENCY_LONG} +STR_FEEDER_COST_TINY :{TINY_FONT}{YELLOW}Transfert: {CURRENCY_LONG}{WHITE} / {RED}Käschten: {CURRENCY_LONG} +STR_FEEDER_COST :{YELLOW}Transfert: {CURRENCY_LONG}{WHITE} / {RED}Käschten: {CURRENCY_LONG} +STR_MESSAGE_ESTIMATED_COST :{WHITE}Geschätzte Käschten: {CURRENCY_LONG} +STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Geschätzten Akommes: {CURRENCY_LONG} # Saveload messages -STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Nach umgaangen ze späicheren. {} Weg. waarden bis daat faerdeg ass! +STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Nach amgaangen ze späicheren. {} W.e.g. waarde bis daat fäerdeg ass! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Fehler beim Autospäicheren STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Kann net um Laafwierk liesen STR_ERROR_GAME_SAVE_FAILED :{WHITE}Fehler beim Späicheren{}{STRING} -STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Kann d'Datei net leschen +STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Kann d'Datei net läschen STR_ERROR_GAME_LOAD_FAILED :{WHITE}Fehler beim Lueden{}{STRING} -STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Internen Fehler: {STRING} +STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Interne Fehler: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Futtissen Spillstand - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Spillstand ass mat enger méi neier Versioun gemaach STR_GAME_SAVELOAD_ERROR_FILE_NOT_READABLE :Datei net liesbar STR_GAME_SAVELOAD_ERROR_FILE_NOT_WRITEABLE :Datei net beschreiwbar STR_GAME_SAVELOAD_ERROR_DATA_INTEGRITY_CHECK_FAILED :Datenintegritéitfehler -STR_GAME_SAVELOAD_NOT_AVAILABLE : +STR_GAME_SAVELOAD_NOT_AVAILABLE : STR_WARNING_LOADGAME_REMOVED_TRAMS :{WHITE}Spill gouf an enger Versioun ouni Tram support gesaved. All Tram gouf wechgeholl # Map generation messages STR_ERROR_COULD_NOT_CREATE_TOWN :{WHITE}Kaartenerstellung ofgebrach...{}... keng passend Stadplazen -STR_ERROR_NO_TOWN_IN_SCENARIO :{WHITE}... et ass keen Duerf an dësem Szenario +STR_ERROR_NO_TOWN_IN_SCENARIO :{WHITE}... et ass keng Stad an dësem Szenario STR_ERROR_PNGMAP :{WHITE}Kann d'Landschaft net vum PNG lueden... STR_ERROR_PNGMAP_FILE_NOT_FOUND :{WHITE}... Datei net fonnt -STR_ERROR_PNGMAP_IMAGE_TYPE :{WHITE}... konnt den Bildtyp net konvertéieren. 8 oder 24-bit PNG Bild benéidegt. +STR_ERROR_PNGMAP_IMAGE_TYPE :{WHITE}... konnt de Bildtyp net konvertéieren. Brauch en 8 oder 24-bit PNG Bild. STR_ERROR_PNGMAP_MISC :{WHITE}... eppes ass schief gaangen (warscheinlech eng korrupt Datei) STR_ERROR_BMPMAP :{WHITE}Kann d'Landschaft net aus der BMP lueden... -STR_ERROR_BMPMAP_IMAGE_TYPE :{WHITE}... konnt den Bildtyp net konvertéieren +STR_ERROR_BMPMAP_IMAGE_TYPE :{WHITE}... konnt de Bildtyp net konvertéieren STR_ERROR_HEIGHTMAP_TOO_LARGE :{WHITE}... Bild ass ze grouss STR_WARNING_HEIGHTMAP_SCALE_CAPTION :{WHITE}Scaléirungswarnung -STR_WARNING_HEIGHTMAP_SCALE_MESSAGE :{YELLOW}Quellenkaart zevill an der Gréisst änneren ass net ugeroden. Weiderman ? +STR_WARNING_HEIGHTMAP_SCALE_MESSAGE :{YELLOW}Quellekaart zevill an der Gréisst änneren ass net ugeroden. Weiderman ? # Soundset messages -STR_WARNING_FALLBACK_SOUNDSET :{WHITE}Et gouf nëmmen en Ersatzsoundset fonnt. Wann Sounds erwënscht sin, kënnen se iwwer den Downloadsystem installéiert ginn. +STR_WARNING_FALLBACK_SOUNDSET :{WHITE}Et gouf nëmmen en Ersatzsoundset fonnt. Wann Sounds erwënscht sinn, kënnen se iwwer den Downloadsystem installéiert ginn. # Screenshot related messages STR_WARNING_SCREENSHOT_SIZE_CAPTION :{WHITE}Riesenscreenshot -STR_WARNING_SCREENSHOT_SIZE_MESSAGE :{YELLOW}Den Screenshot wäert eng Opléisung vun{COMMA} x {COMMA} Pixel hunn. Et kann e bëssen dauern bis en gemet ass. Wëllsde weiderman? +STR_WARNING_SCREENSHOT_SIZE_MESSAGE :{YELLOW}De Screenshot wäert eng Opléisung vun {COMMA} x {COMMA} Pixel hunn. Et kann e bëssen dauere bis en gemet ass. Wëllsde weiderman? STR_MESSAGE_SCREENSHOT_SUCCESSFULLY :{WHITE}Screenshot gespäichert als '{STRING}' STR_ERROR_SCREENSHOT_FAILED :{WHITE}Screenshotfehler! @@ -4034,27 +4112,27 @@ STR_ERROR_MESSAGE_CAPTION_OTHER_COMPANY :{YELLOW}Matdeel # Generic construction errors STR_ERROR_OFF_EDGE_OF_MAP :{WHITE}Ausserhalb vun der Kaart STR_ERROR_TOO_CLOSE_TO_EDGE_OF_MAP :{WHITE}Ze noo um Rand vun der Kaart -STR_ERROR_NOT_ENOUGH_CASH_REQUIRES_CURRENCY :{WHITE}Net genuch Geld - dës Aktioun kascht {CURRENCY_LONG} +STR_ERROR_NOT_ENOUGH_CASH_REQUIRES_CURRENCY :{WHITE}Net genuch Geld - des Aktioun kascht {CURRENCY_LONG} STR_ERROR_FLAT_LAND_REQUIRED :{WHITE}D'Land muss flaach sinn -STR_ERROR_LAND_SLOPED_IN_WRONG_DIRECTION :{WHITE}Land ass an dei falsch Richtung geneigt +STR_ERROR_LAND_SLOPED_IN_WRONG_DIRECTION :{WHITE}Land ass an déi falsch Richtung geneigt STR_ERROR_CAN_T_DO_THIS :{WHITE}Kann dat net maachen... STR_ERROR_BUILDING_MUST_BE_DEMOLISHED :{WHITE}Gebai muss fir d'éischt ofgerapt ginn -STR_ERROR_CAN_T_CLEAR_THIS_AREA :{WHITE}Kann dei Plaz net frai maachen... +STR_ERROR_CAN_T_CLEAR_THIS_AREA :{WHITE}Kann des Plaz net raumen... STR_ERROR_SITE_UNSUITABLE :{WHITE}... Plaz net gëeegent -STR_ERROR_ALREADY_BUILT :{WHITE}... schon gebaut +STR_ERROR_ALREADY_BUILT :{WHITE}... scho gebaut STR_ERROR_OWNED_BY :{WHITE}... am Besëtz vun {STRING} STR_ERROR_AREA_IS_OWNED_BY_ANOTHER :{WHITE}... d'Plaz ass am Besëtz vun enger aanerer Firma -STR_ERROR_TERRAFORM_LIMIT_REACHED :{WHITE}... Limit fir d'Emformen vun Land erreescht -STR_ERROR_CLEARING_LIMIT_REACHED :{WHITE}... Limit fir d'Läschen vun Felder erreescht -STR_ERROR_TREE_PLANT_LIMIT_REACHED :{WHITE}... Limit fir Beem ze planzen erreescht -STR_ERROR_NAME_MUST_BE_UNIQUE :{WHITE}Numm muss eenzegartëg sinn +STR_ERROR_TERRAFORM_LIMIT_REACHED :{WHITE}... Limit fir d'Emformen vu Land erreecht +STR_ERROR_CLEARING_LIMIT_REACHED :{WHITE}... Limit fir d'Raume vu Felder erreecht +STR_ERROR_TREE_PLANT_LIMIT_REACHED :{WHITE}... Limit fir Beem ze planzen erreecht +STR_ERROR_NAME_MUST_BE_UNIQUE :{WHITE}Numm muss eenzegarteg sinn STR_ERROR_GENERIC_OBJECT_IN_THE_WAY :{WHITE}{1:STRING} am Wee STR_ERROR_NOT_ALLOWED_WHILE_PAUSED :{WHITE}Net erlaabt an der Paus # Local authority errors -STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS :{WHITE}{TOWN} d'Gemeng wëll dat net erlaaben -STR_ERROR_LOCAL_AUTHORITY_REFUSES_AIRPORT :{WHITE}{TOWN} d'Gemeng erlaabt keen weideren Fluchhafen an der Stad -STR_ERROR_LOCAL_AUTHORITY_REFUSES_NOISE :{WHITE}{TOWN}er Gemeng refüséiert den Bau fir den Fluchhafen wéinst Kaméidi +STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS :{WHITE}D'Gemeng {TOWN} wëll dat net erlaben +STR_ERROR_LOCAL_AUTHORITY_REFUSES_AIRPORT :{WHITE}D'Gemeng {TOWN} erlaabt keen weidere Fluchhafen an der Stad +STR_ERROR_LOCAL_AUTHORITY_REFUSES_NOISE :{WHITE}D'Gemeng {TOWN} refuséiert de Bau vum Fluchhafen wéinst Kaméidi STR_ERROR_BRIBE_FAILED :{WHITE}D'Bestiechung as enger regionaler Ennersichung opgefall # Levelling errors @@ -4064,74 +4142,78 @@ STR_ERROR_CAN_T_LEVEL_LAND_HERE :{WHITE}Kann d'L STR_ERROR_EXCAVATION_WOULD_DAMAGE :{WHITE}Verdéiwung géif den Tunnel beschiedegen STR_ERROR_ALREADY_AT_SEA_LEVEL :{WHITE}... schon op Mieresspigel STR_ERROR_TOO_HIGH :{WHITE}... ze héich -STR_ERROR_ALREADY_LEVELLED :{WHITE}... schon flaach +STR_ERROR_ALREADY_LEVELLED :{WHITE}... scho flaach +STR_ERROR_BRIDGE_TOO_HIGH_AFTER_LOWER_LAND :{WHITE}Dono wier d'Bréck ze héich fir dësen Terrain. # Company related errors -STR_ERROR_CAN_T_CHANGE_COMPANY_NAME :{WHITE}Kann den Firmennumm net änneren... +STR_ERROR_CAN_T_CHANGE_COMPANY_NAME :{WHITE}Kann de Firmennumm net änneren... STR_ERROR_CAN_T_CHANGE_PRESIDENT :{WHITE}Kann den Numm vum Manager net änneren... -STR_ERROR_MAXIMUM_PERMITTED_LOAN :{WHITE}... Maximalen Kredit ass {CURRENCY_LONG} +STR_ERROR_MAXIMUM_PERMITTED_LOAN :{WHITE}... maximale Kredit ass {CURRENCY_LONG} STR_ERROR_CAN_T_BORROW_ANY_MORE_MONEY :{WHITE}Kann net méi Geld léinen... STR_ERROR_LOAN_ALREADY_REPAYED :{WHITE}... keen Kredit zeréckzebezuelen STR_ERROR_CURRENCY_REQUIRED :{WHITE}... et ginn {CURRENCY_LONG} gebraucht -STR_ERROR_CAN_T_REPAY_LOAN :{WHITE}Kann den Kredit net zeréckbezuelen... +STR_ERROR_CAN_T_REPAY_LOAN :{WHITE}Kann de Kredit net zeréckbezuelen... STR_ERROR_INSUFFICIENT_FUNDS :{WHITE}Kann keng Suen ginn déi vun der Bank geléint sinn... STR_ERROR_CAN_T_BUY_COMPANY :{WHITE}Kann d'Firma net kafen... STR_ERROR_CAN_T_BUILD_COMPANY_HEADQUARTERS :{WHITE}Kann d'Firmenhaaptgebai net bauen... -STR_ERROR_CAN_T_BUY_25_SHARE_IN_THIS :{WHITE}Kann keng 25% Undeel vun dëser Firma kafen... -STR_ERROR_CAN_T_SELL_25_SHARE_IN :{WHITE}Kann kéng 25% Undeel vun dëser Firma verkafen... -STR_ERROR_PROTECTED :{WHITE}Dës Firma ass nach net aal genuch fir Undeeler ze handelen... +STR_ERROR_CAN_T_BUY_25_SHARE_IN_THIS :{WHITE}Kann keng 25% Undeeler vun dëser Firma kafen... +STR_ERROR_CAN_T_SELL_25_SHARE_IN :{WHITE}Kann keng 25% Undeeler vun dëser Firma verkafen... +STR_ERROR_PROTECTED :{WHITE}Des Firma ass nach net al genuch fir Undeeler ze handelen... # Town related errors -STR_ERROR_CAN_T_GENERATE_TOWN :{WHITE}Kann keng Stiedt bauen -STR_ERROR_CAN_T_RENAME_TOWN :{WHITE}Kann d'Stad net ëmbënennen... +STR_ERROR_CAN_T_GENERATE_TOWN :{WHITE}Ka keng Stied bauen +STR_ERROR_CAN_T_RENAME_TOWN :{WHITE}Kann d'Stad net ëmbenennen... STR_ERROR_CAN_T_FOUND_TOWN_HERE :{WHITE}Kann d'Stad hei net bauen... -STR_ERROR_CAN_T_EXPAND_TOWN :{WHITE}Kann d'Stad net vergréissern... +STR_ERROR_CAN_T_EXPAND_TOWN :{WHITE}Kann d'Stad net vergréisseren... STR_ERROR_TOO_CLOSE_TO_EDGE_OF_MAP_SUB :{WHITE}... ze noo um Enn vun der Kaart -STR_ERROR_TOO_CLOSE_TO_ANOTHER_TOWN :{WHITE}... ze no un enger anerer Stad +STR_ERROR_TOO_CLOSE_TO_ANOTHER_TOWN :{WHITE}... ze noo un enger anerer Stad STR_ERROR_TOO_MANY_TOWNS :{WHITE}... ze vill Stied STR_ERROR_NO_SPACE_FOR_TOWN :{WHITE}... et ass keng Plaz méi op der Kaart -STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}Stied bauen keng Stroossen. Du kanns den Bau iwwert Erweidert Astellungen->Economie->Stied anschalten -STR_ERROR_ROAD_WORKS_IN_PROGRESS :{WHITE}Stroossenarbeschten umgaangen -STR_ERROR_TOWN_CAN_T_DELETE :{WHITE}Kann des Stad net leschen...{}Eng Statioun oder Schapp huet den Numm vun dëser Stad oder en Stéck dat der Stad gehéiert kann net ewechgeholl ginn -STR_ERROR_STATUE_NO_SUITABLE_PLACE :{WHITE}... et gëtt keng Gëeegent Plaz fir eng Statue am Stadzentrum +STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}Stied bauen keng Stroossen. Du kanns de Bau iwwert Astellungen->Economie->Stied aschalten +STR_ERROR_ROAD_WORKS_IN_PROGRESS :{WHITE}Stroossenarbeschten amgaangen +STR_ERROR_TOWN_CAN_T_DELETE :{WHITE}Kann des Stad net läschen...{}Eng Statioun oder Schapp huet den Numm vun dëser Stad oder en Stéck dat der Stad gehéiert kann net ewechgeholl ginn +STR_ERROR_STATUE_NO_SUITABLE_PLACE :{WHITE}... et gëtt keng gëeegent Plaz fir eng Statu am Stadzentrum # Industry related errors STR_ERROR_TOO_MANY_INDUSTRIES :{WHITE}... zevill Industrien STR_ERROR_CAN_T_GENERATE_INDUSTRIES :{WHITE}Kann keng Industrien bauen... STR_ERROR_CAN_T_BUILD_HERE :{WHITE}Kann {STRING} net hei bauen... STR_ERROR_CAN_T_CONSTRUCT_THIS_INDUSTRY :{WHITE}Kann deen Industrietyp hei net bauen... -STR_ERROR_INDUSTRY_TOO_CLOSE :{WHITE}... ze Noo bei enger aanerer Fabrik +STR_ERROR_INDUSTRY_TOO_CLOSE :{WHITE}... ze noo bei enger anerer Fabrik STR_ERROR_MUST_FOUND_TOWN_FIRST :{WHITE}... muss fir d'éischt eng Stad bauen STR_ERROR_ONLY_ONE_ALLOWED_PER_TOWN :{WHITE}... nëmmen 1 pro Stad erlaabt -STR_ERROR_CAN_ONLY_BE_BUILT_IN_TOWNS_WITH_POPULATION_OF_1200 :{WHITE}... kann nëmmen an Stiedt mat opmannst 1200 Anwunner gebaut ginn -STR_ERROR_CAN_ONLY_BE_BUILT_IN_RAINFOREST :{WHITE}... kann nëmmen am Regenwaldgebitt gebaut ginn +STR_ERROR_CAN_ONLY_BE_BUILT_IN_TOWNS_WITH_POPULATION_OF_1200 :{WHITE}... kann nëmmen an Stied mat op mannst 1200 Anwunner gebaut ginn +STR_ERROR_CAN_ONLY_BE_BUILT_IN_RAINFOREST :{WHITE}... kann nëmmen am Reebësch gebaut ginn STR_ERROR_CAN_ONLY_BE_BUILT_IN_DESERT :{WHITE}... kann nëmmen an der Wüst gebaut ginn -STR_ERROR_CAN_ONLY_BE_BUILT_IN_TOWNS :{WHITE}... kann nëmmen an Stied gebaut ginn (ersetzt Haiser) +STR_ERROR_CAN_ONLY_BE_BUILT_IN_TOWNS :{WHITE}... kann nëmmen a Stied gebaut ginn (ersetzt Haiser) STR_ERROR_CAN_ONLY_BE_BUILT_NEAR_TOWN_CENTER :{WHITE}... kann nëmmen an der Géigend vum Zentrum vun der Stad gebaut ginn STR_ERROR_CAN_ONLY_BE_BUILT_IN_LOW_AREAS :{WHITE}... kann nëmmen an niddregen Beräicher gebaut ginn STR_ERROR_CAN_ONLY_BE_POSITIONED :{WHITE}... kann nëmmen no un den Ecker vun der Kaart positionéiert ginn STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... Bësch kann nëmmen iwwert der Schnéilinn geplanzt ginn STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... kann nëmmen iwwert der Schnéilinn gebaut ginn -STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... kann net ënnert der Schnéilinn bauen +STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... kann nëmmen ënnert der Schnéilinn gebaut ginn + +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}Et gouf keng brauchbar Plaz fir '{STRING}' Industrien fonnt +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Änner d'Parameter fir d'Kaartegeneratioun fir eng besser Kaart ze erstellen # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Kann d'Gare hei net bauen... STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}Kann de Busarrêt hei net bauen... STR_ERROR_CAN_T_BUILD_TRUCK_STATION :{WHITE}Kann d'Camionsgare net bauen... -STR_ERROR_CAN_T_BUILD_PASSENGER_TRAM_STATION :{WHITE}Kann d'Passagéier-Tramstatioun net bauen... +STR_ERROR_CAN_T_BUILD_PASSENGER_TRAM_STATION :{WHITE}Kann d'Passagéier-Tramsarrêt net bauen... STR_ERROR_CAN_T_BUILD_CARGO_TRAM_STATION :{WHITE}Kann d'Wueren-Tramstatioun net bauen... STR_ERROR_CAN_T_BUILD_DOCK_HERE :{WHITE}Kann den Dock hei net bauen... -STR_ERROR_CAN_T_BUILD_AIRPORT_HERE :{WHITE}Kann den Fluchhafen hei net bauen... +STR_ERROR_CAN_T_BUILD_AIRPORT_HERE :{WHITE}Kann de Fluchhafen hei net bauen... STR_ERROR_ADJOINS_MORE_THAN_ONE_EXISTING :{WHITE}Grenzt un méi wéi eng Gare un STR_ERROR_STATION_TOO_SPREAD_OUT :{WHITE}... Statioun ze ausgebreed -STR_ERROR_TOO_MANY_STATIONS_LOADING :{WHITE}Ze vill Garen +STR_ERROR_TOO_MANY_STATIONS_LOADING :{WHITE}Ze vill Garen/Luedstatiounen STR_ERROR_TOO_MANY_STATION_SPECS :{WHITE}Ze vill Garesdeeler STR_ERROR_TOO_MANY_BUS_STOPS :{WHITE}Ze vill Busarrêten STR_ERROR_TOO_MANY_TRUCK_STOPS :{WHITE}Ze vill Camionsgaren -STR_ERROR_TOO_CLOSE_TO_ANOTHER_STATION :{WHITE}Ze noo un enger aanerer Gare -STR_ERROR_TOO_CLOSE_TO_ANOTHER_DOCK :{WHITE}Ze noo bei engem aanerem Hafen +STR_ERROR_TOO_CLOSE_TO_ANOTHER_STATION :{WHITE}Ze noo un enger aanerer Gare/Luedstatioun +STR_ERROR_TOO_CLOSE_TO_ANOTHER_DOCK :{WHITE}Ze noo un engem aanerem Hafen STR_ERROR_TOO_CLOSE_TO_ANOTHER_AIRPORT :{WHITE}Ze noo un engem aaneren Fluchhafen STR_ERROR_CAN_T_RENAME_STATION :{WHITE}Kann d'Statioun net ëmbenennen... STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... d'Strooss ass am Besëtz vun der Stad @@ -4141,21 +4223,21 @@ STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... Duer # Station destruction related errors STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Kann den Deel vun der Gare net ofrappen... -STR_ERROR_MUST_REMOVE_RAILWAY_STATION_FIRST :{WHITE}Musst d'Gare fir d'éischt ofrappen +STR_ERROR_MUST_REMOVE_RAILWAY_STATION_FIRST :{WHITE}Muss d'Gare fir d'éischt ofrappen STR_ERROR_CAN_T_REMOVE_BUS_STATION :{WHITE}Kann de Busarrêt net ofrappen... STR_ERROR_CAN_T_REMOVE_TRUCK_STATION :{WHITE}Kann d'Camionsgare net ofrappen... STR_ERROR_CAN_T_REMOVE_PASSENGER_TRAM_STATION :{WHITE}Kann d'Tramstatioun net ofrappen... STR_ERROR_CAN_T_REMOVE_CARGO_TRAM_STATION :{WHITE}Kann d'Wueren-Tramstatioun net ofrappen... -STR_ERROR_MUST_REMOVE_ROAD_STOP_FIRST :{WHITE}Stroossenstop muss fir d'éischt wechgeholl ginn +STR_ERROR_MUST_REMOVE_ROAD_STOP_FIRST :{WHITE}Busarrêt muss fir d'éischt wechgeholl ginn STR_ERROR_THERE_IS_NO_STATION :{WHITE}... et ass keng Statioun do -STR_ERROR_MUST_DEMOLISH_RAILROAD :{WHITE}Musst d'Gare fir d'éischt ofrappen +STR_ERROR_MUST_DEMOLISH_RAILROAD :{WHITE}Muss d'Gare fir d'éischt ofrappen STR_ERROR_MUST_DEMOLISH_BUS_STATION_FIRST :{WHITE}Busarrêt muss fir d'éischt ofgerapt ginn STR_ERROR_MUST_DEMOLISH_TRUCK_STATION_FIRST :{WHITE}Muss d'Camionsgare fir d'éischt ofrappen STR_ERROR_MUST_DEMOLISH_PASSENGER_TRAM_STATION_FIRST :{WHITE}Muss d'Tramstatioun fir d'éischt ofrappen STR_ERROR_MUST_DEMOLISH_CARGO_TRAM_STATION_FIRST :{WHITE}Muss d'Tramstatioun fir d'éischt ofrappen STR_ERROR_MUST_DEMOLISH_DOCK_FIRST :{WHITE}Muss den Hafen fir déischt ofrappen -STR_ERROR_MUST_DEMOLISH_AIRPORT_FIRST :{WHITE}Musst den Fluchhafen fir d'éischt ofrappen +STR_ERROR_MUST_DEMOLISH_AIRPORT_FIRST :{WHITE}Muss de Fluchhafe fir d'éischt ofrappen # Waypoint related errors STR_ERROR_WAYPOINT_ADJOINS_MORE_THAN_ONE_EXISTING :{WHITE}Grenzt un méi wéi een Weepunkt @@ -4163,9 +4245,9 @@ STR_ERROR_TOO_CLOSE_TO_ANOTHER_WAYPOINT :{WHITE}Ze no un STR_ERROR_CAN_T_BUILD_TRAIN_WAYPOINT :{WHITE}Kann keen Zuchweepunkt héi bauen... STR_ERROR_CAN_T_POSITION_BUOY_HERE :{WHITE}Kann Boje net hei plazéieren... -STR_ERROR_CAN_T_CHANGE_WAYPOINT_NAME :{WHITE}Kann den Weepunktnumm net änneren... +STR_ERROR_CAN_T_CHANGE_WAYPOINT_NAME :{WHITE}Kann de Weepunktnumm net änneren... -STR_ERROR_CAN_T_REMOVE_TRAIN_WAYPOINT :{WHITE}Kann den Wee-Punkt hei net ofrappen... +STR_ERROR_CAN_T_REMOVE_TRAIN_WAYPOINT :{WHITE}Kann de Wee-Punkt hei net ofrappen... STR_ERROR_MUST_REMOVE_RAILWAYPOINT_FIRST :{WHITE}Zuchweepunkt muss fir d'éischt ofgerappt ginn STR_ERROR_BUOY_IN_THE_WAY :{WHITE}... Boje am Wee STR_ERROR_BUOY_IS_IN_USE :{WHITE}... Boje ass am Gebrauch vun enger anerer Firma! @@ -4176,7 +4258,7 @@ STR_ERROR_CAN_T_BUILD_ROAD_DEPOT :{WHITE}Kann de STR_ERROR_CAN_T_BUILD_TRAM_DEPOT :{WHITE}Kann den Tramschapp hei net bauen... STR_ERROR_CAN_T_BUILD_SHIP_DEPOT :{WHITE}Kann de Schëffsschapp hei net bauen... -STR_ERROR_CAN_T_RENAME_DEPOT :{WHITE}Kann den Schapp net ëmbenennen +STR_ERROR_CAN_T_RENAME_DEPOT :{WHITE}Kann de Schapp net ëmbenennen STR_ERROR_TRAIN_MUST_BE_STOPPED_INSIDE_DEPOT :{WHITE}... muss an engem Schapp gestoppt ginn STR_ERROR_ROAD_VEHICLE_MUST_BE_STOPPED_INSIDE_DEPOT :{WHITE}... muss an engem Depot gestoppt ginn @@ -4185,14 +4267,14 @@ STR_ERROR_AIRCRAFT_MUST_BE_STOPPED_INSIDE_HANGAR :{WHITE}... muss STR_ERROR_TRAINS_CAN_ONLY_BE_ALTERED_INSIDE_A_DEPOT :{WHITE}Zich kënnen nëmmen an engem Schapp verännert ginn STR_ERROR_TRAIN_TOO_LONG :{WHITE}Zuch ze laang -STR_ERROR_CAN_T_REVERSE_DIRECTION_RAIL_VEHICLE :{WHITE}Kann d'Gefiert hei net ëmdréinen... -STR_ERROR_CAN_T_REVERSE_DIRECTION_RAIL_VEHICLE_MULTIPLE_UNITS :{WHITE}... ass aus e puer Eenheeten zesummengesat -STR_ERROR_INCOMPATIBLE_RAIL_TYPES :Onkompatibel Schinnen Typen +STR_ERROR_CAN_T_REVERSE_DIRECTION_RAIL_VEHICLE :{WHITE}Kann d'Gefier hei net ëmdréinen... +STR_ERROR_CAN_T_REVERSE_DIRECTION_RAIL_VEHICLE_MULTIPLE_UNITS :{WHITE}... ass aus e puer Eenheeten zesummegesat +STR_ERROR_INCOMPATIBLE_RAIL_TYPES :Onkompatibel Schinnentypen -STR_ERROR_CAN_T_MOVE_VEHICLE :{WHITE}Kann d'Gefiert net réckelen... +STR_ERROR_CAN_T_MOVE_VEHICLE :{WHITE}Kann d'Gefier net réckelen... STR_ERROR_REAR_ENGINE_FOLLOW_FRONT :{WHITE}D'hënnescht Maschinn geet ëmmer der viischter no. -STR_ERROR_UNABLE_TO_FIND_ROUTE_TO :{WHITE}Kann den Wee an den Schapp net fannen -STR_ERROR_UNABLE_TO_FIND_LOCAL_DEPOT :{WHITE}Kann den Schapp net fannen +STR_ERROR_UNABLE_TO_FIND_ROUTE_TO :{WHITE}Kann de Wee an de Schapp net fannen +STR_ERROR_UNABLE_TO_FIND_LOCAL_DEPOT :{WHITE}Kann de Schapp net fannen STR_ERROR_DEPOT_WRONG_DEPOT_TYPE :Falschen Schapp-Typ @@ -4203,18 +4285,18 @@ STR_ERROR_AUTOREPLACE_MONEY_LIMIT :(Geldlimit) # Rail construction errors STR_ERROR_IMPOSSIBLE_TRACK_COMBINATION :{WHITE}Onméiglech Streckenkombinatioun -STR_ERROR_MUST_REMOVE_SIGNALS_FIRST :{WHITE}Signaler mussen fir d'éischt wechgeholl ginn +STR_ERROR_MUST_REMOVE_SIGNALS_FIRST :{WHITE}Signaler mussen fir d'éischt ewechgeholl ginn STR_ERROR_NO_SUITABLE_RAILROAD_TRACK :{WHITE}Keng gëeegent Schinnen -STR_ERROR_MUST_REMOVE_RAILROAD_TRACK :{WHITE}D'Schinnen mussen fir d'éischt ewech -STR_ERROR_CROSSING_ON_ONEWAY_ROAD :{WHITE}D'Strooss ass eng Richtung oder blockéiert -STR_ERROR_CROSSING_DISALLOWED :{WHITE}Héich Kräizungen sinn fir dësen Schinnentyp net erlaabt +STR_ERROR_MUST_REMOVE_RAILROAD_TRACK :{WHITE}D'Schinne musse fir d'éischt ewech +STR_ERROR_CROSSING_ON_ONEWAY_ROAD :{WHITE}D'Strooss ass eng Einbahn oder blockéiert +STR_ERROR_CROSSING_DISALLOWED :{WHITE}Barrièren si fir dësen Schinnentyp net erlaabt STR_ERROR_CAN_T_BUILD_SIGNALS_HERE :{WHITE}Kann d'Signaler hei net bauen... STR_ERROR_CAN_T_BUILD_RAILROAD_TRACK :{WHITE}Kann d'Schinnen hei net bauen... STR_ERROR_CAN_T_REMOVE_RAILROAD_TRACK :{WHITE}Kann d'Schinnen hei net ewech huelen... STR_ERROR_CAN_T_REMOVE_SIGNALS_FROM :{WHITE}Kann d'Signaler hei net ewech huelen... STR_ERROR_SIGNAL_CAN_T_CONVERT_SIGNALS_HERE :{WHITE}Kann d'Signal hei net konvertéieren... -STR_ERROR_THERE_IS_NO_RAILROAD_TRACK :{WHITE}... et sinn keng Schinnen do -STR_ERROR_THERE_ARE_NO_SIGNALS :{WHITE}... et sinn keng Signaler do +STR_ERROR_THERE_IS_NO_RAILROAD_TRACK :{WHITE}... et si keng Schinnen do +STR_ERROR_THERE_ARE_NO_SIGNALS :{WHITE}... et si keng Signaler do STR_ERROR_CAN_T_CONVERT_RAIL :{WHITE}Kann de Schinnentyp hei net konvertéiren... @@ -4222,43 +4304,44 @@ STR_ERROR_CAN_T_CONVERT_RAIL :{WHITE}Kann de STR_ERROR_MUST_REMOVE_ROAD_FIRST :{WHITE}Muss d'Strooss ewech huelen STR_ERROR_ONEWAY_ROADS_CAN_T_HAVE_JUNCTION :{WHITE}... Einbahnstroossen kënnen keng Kräizung hunn STR_ERROR_CAN_T_BUILD_ROAD_HERE :{WHITE}Kann d'Strooss hei net bauen... -STR_ERROR_CAN_T_BUILD_TRAMWAY_HERE :{WHITE}Kann den Tram heinet bauen... +STR_ERROR_CAN_T_BUILD_TRAMWAY_HERE :{WHITE}Kann den Tram hei net bauen... STR_ERROR_CAN_T_REMOVE_ROAD_FROM :{WHITE}Kann d'Strooss hei net ewech huelen... -STR_ERROR_CAN_T_REMOVE_TRAMWAY_FROM :{WHITE}Kann den Tram net wech huelen... +STR_ERROR_CAN_T_REMOVE_TRAMWAY_FROM :{WHITE}Kann den Tram net ewech huelen... STR_ERROR_THERE_IS_NO_ROAD :{WHITE}... et ass keng Strooss do STR_ERROR_THERE_IS_NO_TRAMWAY :{WHITE}... et ass keen Tram do # Waterway construction errors STR_ERROR_CAN_T_BUILD_CANALS :{WHITE}Kann hei keen Kanal bauen... -STR_ERROR_CAN_T_BUILD_LOCKS :{WHITE}Kann keen Schlass hei setzen... -STR_ERROR_CAN_T_PLACE_RIVERS :{WHITE}Kann hei keen Floss platzéiren... +STR_ERROR_CAN_T_BUILD_LOCKS :{WHITE}Kann d'Schleis hei net bauen... +STR_ERROR_CAN_T_PLACE_RIVERS :{WHITE}Kann hei kee Floss plazéiren... STR_ERROR_MUST_BE_BUILT_ON_WATER :{WHITE}... muss op Waasser gebaut ginn -STR_ERROR_CAN_T_BUILD_ON_WATER :{WHITE}... Kann net op d'Waasser bauen +STR_ERROR_CAN_T_BUILD_ON_WATER :{WHITE}... kann net op d'Waasser gebaut ginn STR_ERROR_CAN_T_BUILD_ON_SEA :{WHITE}... kann net op opener Séi bauen STR_ERROR_CAN_T_BUILD_ON_CANAL :{WHITE}... kann net um Kanal bauen STR_ERROR_CAN_T_BUILD_ON_RIVER :{WHITE}... kann net um Floss bauen -STR_ERROR_MUST_DEMOLISH_CANAL_FIRST :{WHITE}Musst den Kanal fir d'éischt ofrappen -STR_ERROR_CAN_T_BUILD_AQUEDUCT_HERE :{WHITE}Kann den Aquadukt héi net bauen... +STR_ERROR_MUST_DEMOLISH_CANAL_FIRST :{WHITE}Muss de Kanal fir d'éischt ofrappen +STR_ERROR_CAN_T_BUILD_AQUEDUCT_HERE :{WHITE}Kann den Aquadukt hei net bauen... # Tree related errors -STR_ERROR_TREE_ALREADY_HERE :{WHITE}... schon Beem hei -STR_ERROR_TREE_WRONG_TERRAIN_FOR_TREE_TYPE :{WHITE}... falschen Terrain fir free type +STR_ERROR_TREE_ALREADY_HERE :{WHITE}... et ass schon e Bam hei +STR_ERROR_TREE_WRONG_TERRAIN_FOR_TREE_TYPE :{WHITE}... falschen Terrain fir dësen Typ bam STR_ERROR_CAN_T_PLANT_TREE_HERE :{WHITE}Kann d'Beem hei net planzen... # Bridge related errors -STR_ERROR_CAN_T_BUILD_BRIDGE_HERE :{WHITE}Kann d'Bréck net hei bauen... -STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Musst d'Bréck fir d'éischt ofrapen -STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}Kann net op der selweschter Plaz unfänken an ophalen +STR_ERROR_CAN_T_BUILD_BRIDGE_HERE :{WHITE}Kann d'Bréck hei net bauen... +STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Muss d'Bréck fir d'éischt ofrappen +STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}Kann net op der selwechter Plaz ufänken an ophalen STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}Bréckenenner net op der selwechter Héicht -STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}Bréckass ze déif fir dësen Terrain +STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}Bréck ass ze déif fir dësen Terrain +STR_ERROR_BRIDGE_TOO_HIGH_FOR_TERRAIN :{WHITE}Bréck ass ze héich fir dësen Terrain. STR_ERROR_START_AND_END_MUST_BE_IN :{WHITE}Start an Enn mussen op enger Linn sinn -STR_ERROR_ENDS_OF_BRIDGE_MUST_BOTH :{WHITE}... dei zwee Enner vun der Bréck mussen um Land sinn +STR_ERROR_ENDS_OF_BRIDGE_MUST_BOTH :{WHITE}... dei zwee Enner vun der Bréck mussen u Land sinn STR_ERROR_BRIDGE_TOO_LONG :{WHITE}... Bréck ze laang STR_ERROR_BRIDGE_THROUGH_MAP_BORDER :{WHITE}Bréck géif ausserhalb der Kaart ukommen # Tunnel related errors STR_ERROR_CAN_T_BUILD_TUNNEL_HERE :{WHITE}Kann den Tunnel hei net bauen... -STR_ERROR_SITE_UNSUITABLE_FOR_TUNNEL :{WHITE}Plaz onpassend fir Tunnelentrée +STR_ERROR_SITE_UNSUITABLE_FOR_TUNNEL :{WHITE}Plaz onpassend fir den Tunnelsagang STR_ERROR_MUST_DEMOLISH_TUNNEL_FIRST :{WHITE}Muss den Tunnel fir d'éischt ofrappen STR_ERROR_ANOTHER_TUNNEL_IN_THE_WAY :{WHITE}Aaneren Tunnel am Wee STR_ERROR_TUNNEL_THROUGH_MAP_BORDER :{WHITE}Tunnel géif ausserhalb der Kaart erauskommen @@ -4266,85 +4349,86 @@ STR_ERROR_UNABLE_TO_EXCAVATE_LAND :{WHITE}Kann d'L STR_ERROR_TUNNEL_TOO_LONG :{WHITE}... Tunnel ze laang # Object related errors -STR_ERROR_TOO_MANY_OBJECTS :{WHITE}... zevill Objekter -STR_ERROR_CAN_T_BUILD_OBJECT :{WHITE}Kann Objekt net bauen... +STR_ERROR_TOO_MANY_OBJECTS :{WHITE}... zevill Objeten +STR_ERROR_CAN_T_BUILD_OBJECT :{WHITE}Kann Objet net bauen... STR_ERROR_OBJECT_IN_THE_WAY :{WHITE}Objet am Wee STR_ERROR_COMPANY_HEADQUARTERS_IN :{WHITE}... Firmen Haaptgebai am Wee -STR_ERROR_CAN_T_PURCHASE_THIS_LAND :{WHITE}Kann daat Land net kafen... +STR_ERROR_CAN_T_PURCHASE_THIS_LAND :{WHITE}Kann dat Land net kafen... STR_ERROR_YOU_ALREADY_OWN_IT :{WHITE}... schon am Besëtz! # Group related errors STR_ERROR_GROUP_CAN_T_CREATE :{WHITE}Kann d'Grupp net erstellen... STR_ERROR_GROUP_CAN_T_DELETE :{WHITE}Kann d'Grupp net läschen... STR_ERROR_GROUP_CAN_T_RENAME :{WHITE}Kann d'Grupp net ëmbenennen... +STR_ERROR_GROUP_CAN_T_SET_PARENT :{WHITE}Kann iwwergeuerdent Grupp net setzen... STR_ERROR_GROUP_CAN_T_REMOVE_ALL_VEHICLES :{WHITE}Kann net all d'Gefierer aus der Grupp läschen... -STR_ERROR_GROUP_CAN_T_ADD_VEHICLE :{WHITE}Kann d'Gefiert net bei d'Grupp bäisetzen... +STR_ERROR_GROUP_CAN_T_ADD_VEHICLE :{WHITE}Kann d'Gefier net bei d'Grupp bäisetzen... STR_ERROR_GROUP_CAN_T_ADD_SHARED_VEHICLE :{WHITE}Kann dei gedeelten Gefierer net bei d'Grupp bäisetzen... # Generic vehicle errors STR_ERROR_TRAIN_IN_THE_WAY :{WHITE}Zuch am Wee -STR_ERROR_ROAD_VEHICLE_IN_THE_WAY :{WHITE}Stroossengefiert am Wee +STR_ERROR_ROAD_VEHICLE_IN_THE_WAY :{WHITE}Stroossegefier am Wee STR_ERROR_SHIP_IN_THE_WAY :{WHITE}Schëff am Wee STR_ERROR_AIRCRAFT_IN_THE_WAY :{WHITE}Fliger am Wee -STR_ERROR_CAN_T_REFIT_TRAIN :{WHITE}Kann den Zuch net unpassen... -STR_ERROR_CAN_T_REFIT_ROAD_VEHICLE :{WHITE}Kann Stroossengefiert net ëmbauen... +STR_ERROR_CAN_T_REFIT_TRAIN :{WHITE}Kann den Zuch net ëmbauen... +STR_ERROR_CAN_T_REFIT_ROAD_VEHICLE :{WHITE}Kann Stroossegefier net ëmbauen... STR_ERROR_CAN_T_REFIT_SHIP :{WHITE}Kann d'Schëff net ëmbauen... -STR_ERROR_CAN_T_REFIT_AIRCRAFT :{WHITE}Kann den Fliger net ëmbauen... +STR_ERROR_CAN_T_REFIT_AIRCRAFT :{WHITE}Kann de Fliger net ëmbauen... STR_ERROR_CAN_T_RENAME_TRAIN :{WHITE}Kann den Zuch net benennen... -STR_ERROR_CAN_T_RENAME_ROAD_VEHICLE :{WHITE}Kann d'Stroossengefiert net benennen... +STR_ERROR_CAN_T_RENAME_ROAD_VEHICLE :{WHITE}Kann d'Stroossegefier net benennen... STR_ERROR_CAN_T_RENAME_SHIP :{WHITE}Kann d'Schëff net benennen... -STR_ERROR_CAN_T_RENAME_AIRCRAFT :{WHITE}Kann den Fliger net benennen... +STR_ERROR_CAN_T_RENAME_AIRCRAFT :{WHITE}Kann de Fliger net benennen... -STR_ERROR_CAN_T_STOP_START_TRAIN :{WHITE}Kann den Zuch net starten/stopen... -STR_ERROR_CAN_T_STOP_START_ROAD_VEHICLE :{WHITE}Kann d'Stroossengefiert net stoppen/starten... +STR_ERROR_CAN_T_STOP_START_TRAIN :{WHITE}Kann den Zuch net stoppen/starten... +STR_ERROR_CAN_T_STOP_START_ROAD_VEHICLE :{WHITE}Kann d'Stroossegefier net stoppen/starten... STR_ERROR_CAN_T_STOP_START_SHIP :{WHITE}Kann d'Schëff net stoppen/starten... -STR_ERROR_CAN_T_STOP_START_AIRCRAFT :{WHITE}Kann den Fliger net stoppen/starten... +STR_ERROR_CAN_T_STOP_START_AIRCRAFT :{WHITE}Kann de Fliger net stoppen/starten... -STR_ERROR_CAN_T_SEND_TRAIN_TO_DEPOT :{WHITE}Kann den Zuch net an den Schapp schécken... -STR_ERROR_CAN_T_SEND_ROAD_VEHICLE_TO_DEPOT :{WHITE}Kann d'Gefiert net an den Depot schécken... -STR_ERROR_CAN_T_SEND_SHIP_TO_DEPOT :{WHITE}Kann d'Schëff net an den Schapp schécken... -STR_ERROR_CAN_T_SEND_AIRCRAFT_TO_HANGAR :{WHITE}Kann den Fliger net an den Hangar schécken... +STR_ERROR_CAN_T_SEND_TRAIN_TO_DEPOT :{WHITE}Kann den Zuch net an de Schapp schécken... +STR_ERROR_CAN_T_SEND_ROAD_VEHICLE_TO_DEPOT :{WHITE}Kann d'Gefier net an den Depot schécken... +STR_ERROR_CAN_T_SEND_SHIP_TO_DEPOT :{WHITE}Kann d'Schëff net an de Schapp schécken... +STR_ERROR_CAN_T_SEND_AIRCRAFT_TO_HANGAR :{WHITE}Kann de Fliger net an den Hangar schécken... STR_ERROR_CAN_T_BUY_TRAIN :{WHITE}Kann den Zuch net bauen... -STR_ERROR_CAN_T_BUY_ROAD_VEHICLE :{WHITE}Kann d'Stroossengefiert net kafen... +STR_ERROR_CAN_T_BUY_ROAD_VEHICLE :{WHITE}Kann d'Stroossegefier net kafen... STR_ERROR_CAN_T_BUY_SHIP :{WHITE}Kann Schëff net kafen... -STR_ERROR_CAN_T_BUY_AIRCRAFT :{WHITE}Kann den Fliger net kafen... +STR_ERROR_CAN_T_BUY_AIRCRAFT :{WHITE}Kann de Fliger net kafen... -STR_ERROR_CAN_T_RENAME_TRAIN_TYPE :{WHITE}Kann den Zuchgefierttyp net ëmbenennen... -STR_ERROR_CAN_T_RENAME_ROAD_VEHICLE_TYPE :{WHITE}Kann den Gefierttyp net ëmbenennen... -STR_ERROR_CAN_T_RENAME_SHIP_TYPE :{WHITE}Kann den Schëffstyp net ëmbenennen... -STR_ERROR_CAN_T_RENAME_AIRCRAFT_TYPE :{WHITE}Kann den Fligertyp net ëmbenennen... +STR_ERROR_CAN_T_RENAME_TRAIN_TYPE :{WHITE}Kann den Zuchgefiertyp net ëmbenennen... +STR_ERROR_CAN_T_RENAME_ROAD_VEHICLE_TYPE :{WHITE}Kann de Gefiertyp net ëmbenennen... +STR_ERROR_CAN_T_RENAME_SHIP_TYPE :{WHITE}Kann de Schëffstyp net ëmbenennen... +STR_ERROR_CAN_T_RENAME_AIRCRAFT_TYPE :{WHITE}Kann de Fligertyp net ëmbenennen... STR_ERROR_CAN_T_SELL_TRAIN :{WHITE}Kann den Zuch net verkafen... -STR_ERROR_CAN_T_SELL_ROAD_VEHICLE :{WHITE}Kann d'Stroossengefiert net verkafen... +STR_ERROR_CAN_T_SELL_ROAD_VEHICLE :{WHITE}Kann d'Stroossegefier net verkafen... STR_ERROR_CAN_T_SELL_SHIP :{WHITE}Kann Schëff net verkafen... -STR_ERROR_CAN_T_SELL_AIRCRAFT :{WHITE}Kann dën Fliger net verkafen... +STR_ERROR_CAN_T_SELL_AIRCRAFT :{WHITE}Kann de Fliger net verkafen... -STR_ERROR_RAIL_VEHICLE_NOT_AVAILABLE :{WHITE}Gefiert net verfügbar -STR_ERROR_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}Stroossengefiert net verfügbar +STR_ERROR_RAIL_VEHICLE_NOT_AVAILABLE :{WHITE}Gefier net verfügbar +STR_ERROR_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}Stroossegefier net verfügbar STR_ERROR_SHIP_NOT_AVAILABLE :{WHITE}Schëff net verfügbar STR_ERROR_AIRCRAFT_NOT_AVAILABLE :{WHITE}Fliger net verfügbar STR_ERROR_TOO_MANY_VEHICLES_IN_GAME :{WHITE}Ze vill Gefierer am Spill -STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Den Service-Intervall kann net geännert ginn... +STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}De Service-Intervall kann net geännert ginn... -STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... Gefiert ass zerstéiert +STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... Gefier ass zerstéiert STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Keng Gefierer verfügbar STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Änner d'NewGRF Konfiguratioun STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Nach keng Gefierer verfügbar -STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}En neit Spill no {DATE_SHORT} ufenken oder benotz en NewGRF den aal Gefierer erlabt +STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}En neit Spill no {DATE_SHORT} ufenken oder benotz en NewGRF den al Gefierer erlaabt # Specific vehicle errors -STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}Kann den Zuch net bei Gefohr lanscht d'Signal schecken... +STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}Kann den Zuch net bei Gefor durch d'Signal schécken... STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}Kann d'Richtung vum Zuch net änneren... STR_ERROR_TRAIN_START_NO_POWER :Zuch huet keng Kraaft -STR_ERROR_CAN_T_MAKE_ROAD_VEHICLE_TURN :{WHITE}Kann d'Stroossengefiert net ëmdréinen... +STR_ERROR_CAN_T_MAKE_ROAD_VEHICLE_TURN :{WHITE}Kann d'Stroossegefier net ëmdréinen... -STR_ERROR_AIRCRAFT_IS_IN_FLIGHT :{WHITE}Fliger ass um Fluch +STR_ERROR_AIRCRAFT_IS_IN_FLIGHT :{WHITE}Fliger ass an der Loft # Order related errors STR_ERROR_NO_MORE_SPACE_FOR_ORDERS :{WHITE}Keng Plaz méi fir Opträg @@ -4352,23 +4436,23 @@ STR_ERROR_TOO_MANY_ORDERS :{WHITE}Ze vill STR_ERROR_CAN_T_INSERT_NEW_ORDER :{WHITE}Kann keen neien Optrag bäisetzen... STR_ERROR_CAN_T_DELETE_THIS_ORDER :{WHITE}Kann den Optrag net läschen... STR_ERROR_CAN_T_MODIFY_THIS_ORDER :{WHITE}Kann den Optrag net änneren... -STR_ERROR_CAN_T_MOVE_THIS_ORDER :{WHITE}Kann den Optraag net réckelen... -STR_ERROR_CAN_T_SKIP_ORDER :{WHITE}Kann den Optrag net iwersprangen... -STR_ERROR_CAN_T_SKIP_TO_ORDER :{WHITE}Kann net op den ugewieltenen Optrag iwersprangen... +STR_ERROR_CAN_T_MOVE_THIS_ORDER :{WHITE}Kann den Optrag net réckelen... +STR_ERROR_CAN_T_SKIP_ORDER :{WHITE}Kann den Optrag net iwwersprangen... +STR_ERROR_CAN_T_SKIP_TO_ORDER :{WHITE}Kann net op den ugewieltenen Optrag iwwersprangen... STR_ERROR_CAN_T_COPY_SHARE_ORDER :{WHITE}... Gefier kann net op all Statioun goen -STR_ERROR_CAN_T_ADD_ORDER :{WHITE}... Gefiert kann nët op déi Statioun goen -STR_ERROR_CAN_T_ADD_ORDER_SHARED :{WHITE}... en Gefiert dat dësen Optrag deelt kann net op déi Statioun goen +STR_ERROR_CAN_T_ADD_ORDER :{WHITE}... Gefier kann net op déi Statioun goen +STR_ERROR_CAN_T_ADD_ORDER_SHARED :{WHITE}... en Gefier dat dësen Optrag deelt kann net op déi Statioun goen STR_ERROR_CAN_T_SHARE_ORDER_LIST :{WHITE}Kann d'Optragslëscht net deelen... STR_ERROR_CAN_T_STOP_SHARING_ORDER_LIST :{WHITE}Kann d'Deelen vun der Optragslëscht net stoppen... STR_ERROR_CAN_T_COPY_ORDER_LIST :{WHITE}Kann d'Optragslëscht net kopéieren... -STR_ERROR_TOO_FAR_FROM_PREVIOUS_DESTINATION :{WHITE}... ze wäit vun leschter Destinatioun +STR_ERROR_TOO_FAR_FROM_PREVIOUS_DESTINATION :{WHITE}... ze wäit ewech vu leschter Destinatioun STR_ERROR_AIRCRAFT_NOT_ENOUGH_RANGE :{WHITE}... Fliger huet net genuch Distanz # Timetable related errors -STR_ERROR_CAN_T_TIMETABLE_VEHICLE :{WHITE}Kann dem Gefiert keen Zäitplang gin. -STR_ERROR_TIMETABLE_ONLY_WAIT_AT_STATIONS :{WHITE}Gefierter kënnen nëmmen op Statiounen halen. -STR_ERROR_TIMETABLE_NOT_STOPPING_HERE :{WHITE}Dëst Gefiert bleift net op dëser Statioun stoën. +STR_ERROR_CAN_T_TIMETABLE_VEHICLE :{WHITE}Kann dem Gefier keen Zäitplang ginn... +STR_ERROR_TIMETABLE_ONLY_WAIT_AT_STATIONS :{WHITE}Gefierer kënnen nëmmen op Statiounen halen. +STR_ERROR_TIMETABLE_NOT_STOPPING_HERE :{WHITE}Dëst Gefier bleift net op dëser Statioun stoën. # Sign related errors STR_ERROR_TOO_MANY_SIGNS :{WHITE}... ze vill Schëlder @@ -4385,37 +4469,37 @@ STR_BASEGRAPHICS_DOS_DE_DESCRIPTION :Original Transp STR_BASEGRAPHICS_WIN_DESCRIPTION :Original Transport Tycoon Deluxe Windows Editioun Grafik. STR_BASESOUNDS_DOS_DESCRIPTION :Original Transport Tycoon Deluxe DOS Editioun Sound. STR_BASESOUNDS_WIN_DESCRIPTION :Original Transport Tycoon Deluxe Windows Editioun Sound. -STR_BASESOUNDS_NONE_DESCRIPTION :En Soundpack mat all den Sounds. -STR_BASEMUSIC_WIN_DESCRIPTION :Original Transport Tycoon Deluxe Windows Editioun Music. +STR_BASESOUNDS_NONE_DESCRIPTION :E Soundpack ouni iergendee Sound. +STR_BASEMUSIC_WIN_DESCRIPTION :Original Transport Tycoon Deluxe Windows Editioun Musik. STR_BASEMUSIC_NONE_DESCRIPTION :E Musikpack ouni aktuell Musik. ##id 0x2000 # Town building names -STR_TOWN_BUILDING_NAME_TALL_OFFICE_BLOCK_1 :Héichen Büroblock +STR_TOWN_BUILDING_NAME_TALL_OFFICE_BLOCK_1 :Héije Büroblock STR_TOWN_BUILDING_NAME_OFFICE_BLOCK_1 :Büroblock -STR_TOWN_BUILDING_NAME_SMALL_BLOCK_OF_FLATS_1 :Klengen Apartementsblock +STR_TOWN_BUILDING_NAME_SMALL_BLOCK_OF_FLATS_1 :Klengen Appartementsblock STR_TOWN_BUILDING_NAME_CHURCH_1 :Kierch -STR_TOWN_BUILDING_NAME_LARGE_OFFICE_BLOCK_1 :Groussen Büroblock +STR_TOWN_BUILDING_NAME_LARGE_OFFICE_BLOCK_1 :Grousse Büroblock STR_TOWN_BUILDING_NAME_TOWN_HOUSES_1 :Stadhaiser STR_TOWN_BUILDING_NAME_HOTEL_1 :Hotel STR_TOWN_BUILDING_NAME_STATUE_1 :Statu STR_TOWN_BUILDING_NAME_FOUNTAIN_1 :Sprangbuer STR_TOWN_BUILDING_NAME_PARK_1 :Park STR_TOWN_BUILDING_NAME_OFFICE_BLOCK_2 :Büroblock -STR_TOWN_BUILDING_NAME_SHOPS_AND_OFFICES_1 :Geschäfter an Büroen +STR_TOWN_BUILDING_NAME_SHOPS_AND_OFFICES_1 :Geschäfter a Büroen STR_TOWN_BUILDING_NAME_MODERN_OFFICE_BUILDING_1 :Modernt Bürosgebai STR_TOWN_BUILDING_NAME_WAREHOUSE_1 :Lagerhaus STR_TOWN_BUILDING_NAME_OFFICE_BLOCK_3 :Büroblock -STR_TOWN_BUILDING_NAME_STADIUM_1 :Stadium -STR_TOWN_BUILDING_NAME_OLD_HOUSES_1 :Aal Haiser +STR_TOWN_BUILDING_NAME_STADIUM_1 :Stadion +STR_TOWN_BUILDING_NAME_OLD_HOUSES_1 :Al Haiser STR_TOWN_BUILDING_NAME_COTTAGES_1 :Hütten STR_TOWN_BUILDING_NAME_HOUSES_1 :Haiser -STR_TOWN_BUILDING_NAME_FLATS_1 :Apartementer -STR_TOWN_BUILDING_NAME_TALL_OFFICE_BLOCK_2 :Héichen Gewerbeblock -STR_TOWN_BUILDING_NAME_SHOPS_AND_OFFICES_2 :Geschäfter an Büroen -STR_TOWN_BUILDING_NAME_SHOPS_AND_OFFICES_3 :Geschäfter an Büroen +STR_TOWN_BUILDING_NAME_FLATS_1 :Appartementer +STR_TOWN_BUILDING_NAME_TALL_OFFICE_BLOCK_2 :Héije Bürosblock +STR_TOWN_BUILDING_NAME_SHOPS_AND_OFFICES_2 :Geschäfter a Büroen +STR_TOWN_BUILDING_NAME_SHOPS_AND_OFFICES_3 :Geschäfter a Büroen STR_TOWN_BUILDING_NAME_THEATER_1 :Theater -STR_TOWN_BUILDING_NAME_STADIUM_2 :Stadium +STR_TOWN_BUILDING_NAME_STADIUM_2 :Stadion STR_TOWN_BUILDING_NAME_OFFICES_1 :Büroen STR_TOWN_BUILDING_NAME_HOUSES_2 :Haiser STR_TOWN_BUILDING_NAME_CINEMA_1 :Kino @@ -4427,7 +4511,7 @@ STR_TOWN_BUILDING_NAME_PIGGY_BANK_1 :Spuerschwäin-B ##id 0x4800 # industry names -STR_INDUSTRY_NAME_COAL_MINE :Kuelenstollen +STR_INDUSTRY_NAME_COAL_MINE :Kuelestollen STR_INDUSTRY_NAME_POWER_STATION :Kraaftwierk STR_INDUSTRY_NAME_SAWMILL :Seeërei STR_INDUSTRY_NAME_FOREST :Bësch @@ -4437,7 +4521,7 @@ STR_INDUSTRY_NAME_FACTORY :Fabrik STR_INDUSTRY_NAME_PRINTING_WORKS :Dréckerei STR_INDUSTRY_NAME_STEEL_MILL :Stolwierk STR_INDUSTRY_NAME_FARM :Bauerenhaff -STR_INDUSTRY_NAME_COPPER_ORE_MINE :Koffererzstollen +STR_INDUSTRY_NAME_COPPER_ORE_MINE :Kofferäerzstollen STR_INDUSTRY_NAME_OIL_WELLS :Uelegquellen STR_INDUSTRY_NAME_BANK :Bank STR_INDUSTRY_NAME_FOOD_PROCESSING_PLANT :Iessensverarbeschtungsfabrik @@ -4445,7 +4529,7 @@ STR_INDUSTRY_NAME_PAPER_MILL :Pabeierfabrik STR_INDUSTRY_NAME_GOLD_MINE :Goldstollen STR_INDUSTRY_NAME_BANK_TROPIC_ARCTIC :Bank STR_INDUSTRY_NAME_DIAMOND_MINE :Diamantstollen -STR_INDUSTRY_NAME_IRON_ORE_MINE :Eisenerzstollen +STR_INDUSTRY_NAME_IRON_ORE_MINE :Eisenäerzstollen STR_INDUSTRY_NAME_FRUIT_PLANTATION :Uebstplantage STR_INDUSTRY_NAME_RUBBER_PLANTATION :Kautschuckplantage STR_INDUSTRY_NAME_WATER_SUPPLY :Waasserwierk @@ -4461,7 +4545,7 @@ STR_INDUSTRY_NAME_TOY_SHOP :Spillgeschäft STR_INDUSTRY_NAME_TOY_FACTORY :Spillsaachen Fabrik STR_INDUSTRY_NAME_PLASTIC_FOUNTAINS :Plastikpëtz STR_INDUSTRY_NAME_FIZZY_DRINK_FACTORY :Spruddelgedrenks Fabrik -STR_INDUSTRY_NAME_BUBBLE_GENERATOR :Blosengenerator +STR_INDUSTRY_NAME_BUBBLE_GENERATOR :Blosegenerator STR_INDUSTRY_NAME_TOFFEE_QUARRY :Karamellbroch STR_INDUSTRY_NAME_SUGAR_MINE :Zockerminn @@ -4471,7 +4555,7 @@ STR_INDUSTRY_NAME_SUGAR_MINE :Zockerminn STR_SV_EMPTY : STR_SV_UNNAMED :Onbenannt STR_SV_TRAIN_NAME :Zuch {COMMA} -STR_SV_ROAD_VEHICLE_NAME :Stroossengefiert {COMMA} +STR_SV_ROAD_VEHICLE_NAME :Stroossegefier {COMMA} STR_SV_SHIP_NAME :Schëff {COMMA} STR_SV_AIRCRAFT_NAME :Fliger {COMMA} @@ -4481,7 +4565,7 @@ STR_SV_STNAME_SOUTH :{STRING} Süden STR_SV_STNAME_EAST :{STRING} Osten STR_SV_STNAME_WEST :{STRING} Westen STR_SV_STNAME_CENTRAL :{STRING} Zentrum -STR_SV_STNAME_TRANSFER :{STRING}er Transfer +STR_SV_STNAME_TRANSFER :{STRING}er Transfert STR_SV_STNAME_HALT :{STRING}er Stopp STR_SV_STNAME_VALLEY :{STRING}er Dall STR_SV_STNAME_HEIGHTS :{STRING}er Bierg @@ -4495,8 +4579,8 @@ STR_SV_STNAME_DOCKS :{STRING} Hafen STR_SV_STNAME_BUOY :{STRING} STR_SV_STNAME_WAYPOINT :{STRING} ##id 0x6020 -STR_SV_STNAME_ANNEXE :{STRING} Annexe -STR_SV_STNAME_SIDINGS :{STRING}er Ofstellplaatz +STR_SV_STNAME_ANNEXE :{STRING} Annex +STR_SV_STNAME_SIDINGS :{STRING}er Ofstellgleis STR_SV_STNAME_BRANCH :{STRING}er Ofzweigung STR_SV_STNAME_UPPER :Uewer {STRING} STR_SV_STNAME_LOWER :Nidder {STRING} @@ -4507,7 +4591,7 @@ STR_SV_STNAME_FALLBACK :{STRING} Statio ##id 0x8000 # Vehicle names -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_KIRBY_PAUL_TANK_STEAM :Collet Pannier Tank (Damp) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_KIRBY_PAUL_TANK_STEAM :Kirby Paul Tank (Damp) STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_MJS_250_DIESEL :MJS 250 (Diesel) STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_PLODDYPHUT_CHOO_CHOO :Ploddyphut Chu-Chu STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_POWERNAUT_CHOO_CHOO :Powernaut Chu-Chu @@ -4515,12 +4599,12 @@ STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_MIGHTYMOVER_CHOO_CHOO :MightyMover Chu STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_PLODDYPHUT_DIESEL :Ploddyphut Diesel STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_POWERNAUT_DIESEL :Powernaut Diesel STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_WILLS_2_8_0_STEAM :Wills 2-8-0 (Damp) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_CHANEY_JUBILEE_STEAM :Stanier 'Jubilee' (Damp) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_CHANEY_JUBILEE_STEAM :Chaney 'Jubilee' (Damp) STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_GINZU_A4_STEAM :Gresley 'A4' (Damp) STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_8P_STEAM :BR '8P' (Damp) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_MANLEY_MOREL_DMU_DIESEL :Metro Cammell DMU (Diesel) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_MANLEY_MOREL_DMU_DIESEL :Manley-Morel DMU (Diesel) STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_DASH_DIESEL :'Sprinter' (Diesel) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_HENDRY_25_DIESEL :BR/Sulzer '25' (Diesel) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_HENDRY_25_DIESEL :SH/Hendry '25' (Diesel) STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_UU_37_DIESEL :EE '37' (Diesel) STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_FLOSS_47_DIESEL :Brush '47' (Diesel) STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_CS_4000_DIESEL :CS 4000 (Diesel) @@ -4530,24 +4614,24 @@ STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_KELLING_3100_DIESEL :Kelling 3100 (D STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_TURNER_TURBO_DIESEL :Turner Turbo (Diesel) STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_MJS_1000_DIESEL :MJS 1000 (Diesel) STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_125_DIESEL :BR 'IC125' (Diesel) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_30_ELECTRIC :BR '30' (Elektrësch) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_40_ELECTRIC :BR '40' (Elektrësch) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_T_I_M_ELECTRIC :'T.G.V.' (Elektrësch) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_ASIASTAR_ELECTRIC :'EuroStar' (Elektrësch) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_30_ELECTRIC :BR '30' (Elektresch) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_40_ELECTRIC :BR '40' (Elektresch) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_T_I_M_ELECTRIC :'T.G.V.' (Elektresch) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_ASIASTAR_ELECTRIC :'EuroStar' (Elektresch) STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_PASSENGER_CAR :Passagéierwaggon STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_MAIL_VAN :Postwaggon STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_COAL_CAR :Kuelewaggon STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_OIL_TANKER :Uelegwaggon STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_LIVESTOCK_VAN :Véiwaggon STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_GOODS_VAN :Wuerewaggon -STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_GRAIN_HOPPER :Kaarwaggon +STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_GRAIN_HOPPER :Karwaggon STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_WOOD_TRUCK :Holzwaggon -STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_IRON_ORE_HOPPER :Eisenerzwaggon +STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_IRON_ORE_HOPPER :Eisenäerzwaggon STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_STEEL_TRUCK :Stolwaggon STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_ARMORED_VAN :Gepanzerten Waggon STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_FOOD_VAN :Iesswuerenwaggon STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_PAPER_TRUCK :Pabeierwaggon -STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_COPPER_ORE_HOPPER :Koffererzwaggon +STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_COPPER_ORE_HOPPER :Kofferäerzwaggon STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_WATER_TANKER :Waasserwaggon STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_FRUIT_TRUCK :Friichtewaggon STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_RUBBER_TRUCK :Kautschuckwaggon @@ -4556,13 +4640,13 @@ STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_COTTON_CANDY_HOPPER :Zockerwattwaggo STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_TOFFEE_HOPPER :Karamellwaggon STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_BUBBLE_VAN :Blosenwaggon STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_COLA_TANKER :Colawaggon -STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_CANDY_VAN :Séissegkeetenwaggon -STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_TOY_VAN :Spillsaachenwaggon -STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_BATTERY_TRUCK :Batterienwaggon +STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_CANDY_VAN :Séissegkeetewaggon +STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_TOY_VAN :Spillsaachewaggon +STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_BATTERY_TRUCK :Batteriewaggon STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_FIZZY_DRINK_TRUCK :Spruddelgedrénks Waggon STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_PLASTIC_TRUCK :Plastikwaggon -STR_VEHICLE_NAME_TRAIN_ENGINE_MONORAIL_X2001_ELECTRIC :'X2001' (Elektrësch) -STR_VEHICLE_NAME_TRAIN_ENGINE_MONORAIL_MILLENNIUM_Z1_ELECTRIC :'Millennium Z1' (Elektrësch) +STR_VEHICLE_NAME_TRAIN_ENGINE_MONORAIL_X2001_ELECTRIC :'X2001' (Elektresch) +STR_VEHICLE_NAME_TRAIN_ENGINE_MONORAIL_MILLENNIUM_Z1_ELECTRIC :'Millennium Z1' (Elektresch) STR_VEHICLE_NAME_TRAIN_ENGINE_MONORAIL_WIZZOWOW_Z99 :Wizzowow Z99 STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_PASSENGER_CAR :Passagéierwaggon STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_MAIL_VAN :Postwaggon @@ -4570,31 +4654,31 @@ STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_COAL_CAR :Kuelenwaggon STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_OIL_TANKER :Uelegwaggon STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_LIVESTOCK_VAN :Véiwaggon STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_GOODS_VAN :Wuerewaggon -STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_GRAIN_HOPPER :Kaarwaggon +STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_GRAIN_HOPPER :Karwaggon STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_WOOD_TRUCK :Holzwaggon -STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_IRON_ORE_HOPPER :Eisenerzwaggon +STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_IRON_ORE_HOPPER :Eisenäerzwaggon STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_STEEL_TRUCK :Stolwaggon -STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_ARMORED_VAN :Gepanzerten Waggon +STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_ARMORED_VAN :Gepanzerte Waggon STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_FOOD_VAN :Iesswuerewaggon STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_PAPER_TRUCK :Pabeierwaggon -STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_COPPER_ORE_HOPPER :Koffererzwaggon +STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_COPPER_ORE_HOPPER :Kofferäerzwaggon STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_WATER_TANKER :Waasserwaggon -STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_FRUIT_TRUCK :Friichtenwaggon +STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_FRUIT_TRUCK :Friichtewaggon STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_RUBBER_TRUCK :Kautschuckwaggon STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_SUGAR_TRUCK :Zockerwaggon STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_COTTON_CANDY_HOPPER :Zockerwattwaggon -STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_TOFFEE_HOPPER :Karamelwaggon +STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_TOFFEE_HOPPER :Karamellwaggon STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_BUBBLE_VAN :Blosenwaggon STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_COLA_TANKER :Colawaggon -STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_CANDY_VAN :Séissegkeetenwaggon -STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_TOY_VAN :Spillsaachenwaggon +STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_CANDY_VAN :Séissegkeetewaggon +STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_TOY_VAN :Spillsaachewaggon STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_BATTERY_TRUCK :Batteriewaggon STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_FIZZY_DRINK_TRUCK :Spruddelgedrénkswaggon STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_PLASTIC_TRUCK :Plastikwaggon -STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV1_LEVIATHAN_ELECTRIC :Lev1 'Leviathan' (Elektrësch) -STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV2_CYCLOPS_ELECTRIC :Lev2 'Cyclops' (Elektrësch) -STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV3_PEGASUS_ELECTRIC :Lev3 'Pegasus' (Elektrësch) -STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV4_CHIMAERA_ELECTRIC :Lev4 'Chimaera' (Elektrësch) +STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV1_LEVIATHAN_ELECTRIC :Lev1 'Leviathan' (Elektresch) +STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV2_CYCLOPS_ELECTRIC :Lev2 'Cyclops' (Elektresch) +STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV3_PEGASUS_ELECTRIC :Lev3 'Pegasus' (Elektresch) +STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV4_CHIMAERA_ELECTRIC :Lev4 'Chimaera' (Elektresch) STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_WIZZOWOW_ROCKETEER :Wizzowow Rocketeer STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_PASSENGER_CAR :Passagéierwaggon STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_MAIL_VAN :Postwaggon @@ -4602,14 +4686,14 @@ STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_COAL_CAR :Kuelewaggon STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_OIL_TANKER :Uelegwaggon STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_LIVESTOCK_VAN :Véiwaggon STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_GOODS_VAN :Wuerewaggon -STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_GRAIN_HOPPER :Kaarwaggon +STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_GRAIN_HOPPER :Karwaggon STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_WOOD_TRUCK :Holzwaggon -STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_IRON_ORE_HOPPER :Eisenerzwaggon +STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_IRON_ORE_HOPPER :Eisenäerzwaggon STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_STEEL_TRUCK :Stolwaggon STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_ARMORED_VAN :Gepanzerten Waggon STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_FOOD_VAN :Iesswuerewaggon STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_PAPER_TRUCK :Pabeierwaggon -STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_COPPER_ORE_HOPPER :Koffererzwaggon +STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_COPPER_ORE_HOPPER :Kofferäerzwaggon STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_WATER_TANKER :Waasserwaggon STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_FRUIT_TRUCK :Friichtewaggon STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_RUBBER_TRUCK :Kautschuckwaggon @@ -4630,9 +4714,9 @@ STR_VEHICLE_NAME_ROAD_VEHICLE_FOSTER_MKII_SUPERBUS :Foster MkII Sup STR_VEHICLE_NAME_ROAD_VEHICLE_PLODDYPHUT_MKI_BUS :Ploddyphut MkI Bus STR_VEHICLE_NAME_ROAD_VEHICLE_PLODDYPHUT_MKII_BUS :Ploddyphut MkII Bus STR_VEHICLE_NAME_ROAD_VEHICLE_PLODDYPHUT_MKIII_BUS :Ploddyphut MkIII Bus -STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_COAL_TRUCK :Balogh Kuelencamion -STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_COAL_TRUCK :Uhl Kuelencamion -STR_VEHICLE_NAME_ROAD_VEHICLE_DW_COAL_TRUCK :DW Kuelencamion +STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_COAL_TRUCK :Balogh Kuelecamion +STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_COAL_TRUCK :Uhl Kuelecamion +STR_VEHICLE_NAME_ROAD_VEHICLE_DW_COAL_TRUCK :DW Kuelecamion STR_VEHICLE_NAME_ROAD_VEHICLE_MPS_MAIL_TRUCK :MPS Postcamion STR_VEHICLE_NAME_ROAD_VEHICLE_REYNARD_MAIL_TRUCK :Reynard Postcamion STR_VEHICLE_NAME_ROAD_VEHICLE_PERRY_MAIL_TRUCK :Perry Postcamion @@ -4648,36 +4732,36 @@ STR_VEHICLE_NAME_ROAD_VEHICLE_FOSTER_LIVESTOCK_VAN :Foster Véitran STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_GOODS_TRUCK :Balogh Wuerecamion STR_VEHICLE_NAME_ROAD_VEHICLE_CRAIGHEAD_GOODS_TRUCK :Craighead Wuerecamion STR_VEHICLE_NAME_ROAD_VEHICLE_GOSS_GOODS_TRUCK :Goss Wuerecamion -STR_VEHICLE_NAME_ROAD_VEHICLE_HEREFORD_GRAIN_TRUCK :Hereford Kaarcamion -STR_VEHICLE_NAME_ROAD_VEHICLE_THOMAS_GRAIN_TRUCK :Thomas Kaarcamion -STR_VEHICLE_NAME_ROAD_VEHICLE_GOSS_GRAIN_TRUCK :Goss Kaarcamion +STR_VEHICLE_NAME_ROAD_VEHICLE_HEREFORD_GRAIN_TRUCK :Hereford Karcamion +STR_VEHICLE_NAME_ROAD_VEHICLE_THOMAS_GRAIN_TRUCK :Thomas Karcamion +STR_VEHICLE_NAME_ROAD_VEHICLE_GOSS_GRAIN_TRUCK :Goss Karcamion STR_VEHICLE_NAME_ROAD_VEHICLE_WITCOMBE_WOOD_TRUCK :Witcombe Holzcamion STR_VEHICLE_NAME_ROAD_VEHICLE_FOSTER_WOOD_TRUCK :Foster Holzcamion STR_VEHICLE_NAME_ROAD_VEHICLE_MORELAND_WOOD_TRUCK :Moreland Holzcamion -STR_VEHICLE_NAME_ROAD_VEHICLE_MPS_IRON_ORE_TRUCK :MPS Eisenerzcamion -STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_IRON_ORE_TRUCK :Uhl Eisenerzcamion -STR_VEHICLE_NAME_ROAD_VEHICLE_CHIPPY_IRON_ORE_TRUCK :Chippy Eisenerzcamion +STR_VEHICLE_NAME_ROAD_VEHICLE_MPS_IRON_ORE_TRUCK :MPS Eisenäerzcamion +STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_IRON_ORE_TRUCK :Uhl Eisenäerzcamion +STR_VEHICLE_NAME_ROAD_VEHICLE_CHIPPY_IRON_ORE_TRUCK :Chippy Eisenäerzcamion STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_STEEL_TRUCK :Balogh Stolcamion STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_STEEL_TRUCK :Uhl Stolcamion STR_VEHICLE_NAME_ROAD_VEHICLE_KELLING_STEEL_TRUCK :Kelling Stolcamion -STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_ARMORED_TRUCK :Balogh gepanzerten Camion -STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_ARMORED_TRUCK :Uhl gepanzerten Camion -STR_VEHICLE_NAME_ROAD_VEHICLE_FOSTER_ARMORED_TRUCK :Foster gepanzerten Camion +STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_ARMORED_TRUCK :Balogh gepanzerte Camion +STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_ARMORED_TRUCK :Uhl gepanzerte Camion +STR_VEHICLE_NAME_ROAD_VEHICLE_FOSTER_ARMORED_TRUCK :Foster gepanzerte Camion STR_VEHICLE_NAME_ROAD_VEHICLE_FOSTER_FOOD_VAN :Foster Iessenscamion STR_VEHICLE_NAME_ROAD_VEHICLE_PERRY_FOOD_VAN :Perry Iessenscamion -STR_VEHICLE_NAME_ROAD_VEHICLE_CHIPPY_FOOD_VAN :Chippy Iesenscamion +STR_VEHICLE_NAME_ROAD_VEHICLE_CHIPPY_FOOD_VAN :Chippy Iessenscamion STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_PAPER_TRUCK :Uhl Pabeiercamion STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_PAPER_TRUCK :Balogh Pabeiercamion STR_VEHICLE_NAME_ROAD_VEHICLE_MPS_PAPER_TRUCK :MPS Pabeiercamion -STR_VEHICLE_NAME_ROAD_VEHICLE_MPS_COPPER_ORE_TRUCK :MPS Koffererzcamion -STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_COPPER_ORE_TRUCK :Uhl Koffererzcamion -STR_VEHICLE_NAME_ROAD_VEHICLE_GOSS_COPPER_ORE_TRUCK :Goss Koffererzcamion +STR_VEHICLE_NAME_ROAD_VEHICLE_MPS_COPPER_ORE_TRUCK :MPS Kofferäerzcamion +STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_COPPER_ORE_TRUCK :Uhl Kofferäerzcamion +STR_VEHICLE_NAME_ROAD_VEHICLE_GOSS_COPPER_ORE_TRUCK :Goss Kofferäerzcamion STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_WATER_TANKER :Uhl Waassercamion STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_WATER_TANKER :Balogh Waassercamion STR_VEHICLE_NAME_ROAD_VEHICLE_MPS_WATER_TANKER :MPS Waassercamion -STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_FRUIT_TRUCK :Balogh Friichtencamion -STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_FRUIT_TRUCK :Uhl Friichtencamion -STR_VEHICLE_NAME_ROAD_VEHICLE_KELLING_FRUIT_TRUCK :Kelling Friichtencamion +STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_FRUIT_TRUCK :Balogh Friichtecamion +STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_FRUIT_TRUCK :Uhl Friichtecamion +STR_VEHICLE_NAME_ROAD_VEHICLE_KELLING_FRUIT_TRUCK :Kelling Friichtecamion STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_RUBBER_TRUCK :Balogh Kautschuckcamion STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_RUBBER_TRUCK :Uhl Kautschuckcamion STR_VEHICLE_NAME_ROAD_VEHICLE_RMT_RUBBER_TRUCK :RMT Kautschuckcamion @@ -4690,32 +4774,32 @@ STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_COLA_TRUCK :Wizzowow Colaca STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_COTTON_CANDY :MightyMover Zockerwattcamion STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_COTTON_CANDY :Powernaught Zockerwattcamion STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_COTTON_CANDY_TRUCK :Wizzowow Zockerwattcamion -STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_TOFFEE_TRUCK :MightyMover Karmelcamion -STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_TOFFEE_TRUCK :Powernaught Karmelcamion -STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_TOFFEE_TRUCK :Wizzowow Karmelcamion -STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_TOY_VAN :MightyMover Spillsaachencamion -STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_TOY_VAN :Powernaught Spillsaachencamion -STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_TOY_VAN :Wizzowow Spillsaachencamion -STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_CANDY_TRUCK :MightyMover Séissegkeetencamion -STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_CANDY_TRUCK :Powernaught Séissegkeetencamion -STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_CANDY_TRUCK :Wizzowow Séissegkeetencamion -STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_BATTERY_TRUCK :MightyMover Batteriencamion -STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_BATTERY_TRUCK :Powernaught Batteriencamion -STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_BATTERY_TRUCK :Wizzowow Batteriencamion +STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_TOFFEE_TRUCK :MightyMover Karamellcamion +STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_TOFFEE_TRUCK :Powernaught Karamellcamion +STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_TOFFEE_TRUCK :Wizzowow Karamellcamion +STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_TOY_VAN :MightyMover Spillsaachecamion +STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_TOY_VAN :Powernaught Spillsaachecamion +STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_TOY_VAN :Wizzowow Spillsaachecamion +STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_CANDY_TRUCK :MightyMover Séissegkeetecamion +STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_CANDY_TRUCK :Powernaught Séissegkeetecamion +STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_CANDY_TRUCK :Wizzowow Séissegkeetecamion +STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_BATTERY_TRUCK :MightyMover Batteriecamion +STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_BATTERY_TRUCK :Powernaught Batteriecamion +STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_BATTERY_TRUCK :Wizzowow Batteriecamion STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_FIZZY_DRINK :MightyMover Spruddelgedrénks Camion STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_FIZZY_DRINK :Powernaught Spruddelgedrénks Camion STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_FIZZY_DRINK_TRUCK :Wizzowow Spruddelgedrénks Camion STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_PLASTIC_TRUCK :MightyMover Plastikcamion STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_PLASTIC_TRUCK :Powernaught Plastikcamion STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_PLASTIC_TRUCK :Wizzowow Plastikcamion -STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_BUBBLE_TRUCK :MightyMover Blosencamion -STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_BUBBLE_TRUCK :Powernaught Blosencamion -STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_BUBBLE_TRUCK :Wizzowow Blosencamion +STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_BUBBLE_TRUCK :MightyMover Blosecamion +STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_BUBBLE_TRUCK :Powernaught Blosecamion +STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_BUBBLE_TRUCK :Wizzowow Blosecamion STR_VEHICLE_NAME_SHIP_MPS_OIL_TANKER :MPS Uelegtanker STR_VEHICLE_NAME_SHIP_CS_INC_OIL_TANKER :CS-Inc. Uelegtanker STR_VEHICLE_NAME_SHIP_MPS_PASSENGER_FERRY :MPS Passagéierfähr STR_VEHICLE_NAME_SHIP_FFP_PASSENGER_FERRY :FFP Passagéierfähr -STR_VEHICLE_NAME_SHIP_BAKEWELL_300_HOVERCRAFT :Bakewell 300 Loftkëssenboot +STR_VEHICLE_NAME_SHIP_BAKEWELL_300_HOVERCRAFT :Bakewell 300 Loftkësseboot STR_VEHICLE_NAME_SHIP_CHUGGER_CHUG_PASSENGER :Chugger-Chug Passagéierfähr STR_VEHICLE_NAME_SHIP_SHIVERSHAKE_PASSENGER_FERRY :Shivershake Passagéierfähr STR_VEHICLE_NAME_SHIP_YATE_CARGO_SHIP :Yate Frachtschëff @@ -4760,9 +4844,9 @@ STR_VEHICLE_NAME_AIRCRAFT_PLODDYPHUT_500 :Ploddyphut 500 STR_VEHICLE_NAME_AIRCRAFT_FLASHBANG_X1 :Flashbang X1 STR_VEHICLE_NAME_AIRCRAFT_JUGGERPLANE_M1 :Juggerplane M1 STR_VEHICLE_NAME_AIRCRAFT_FLASHBANG_WIZZER :Flashbang Wizzer -STR_VEHICLE_NAME_AIRCRAFT_TRICARIO_HELICOPTER :Tricario Helicopter -STR_VEHICLE_NAME_AIRCRAFT_GURU_X2_HELICOPTER :Guru X2 Helicopter -STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :Powernaut Helicopter +STR_VEHICLE_NAME_AIRCRAFT_TRICARIO_HELICOPTER :Tricario Helikopter +STR_VEHICLE_NAME_AIRCRAFT_GURU_X2_HELICOPTER :Guru X2 Helikopter +STR_VEHICLE_NAME_AIRCRAFT_POWERNAUT_HELICOPTER :Powernaut Helikopter ##id 0x8800 # Formatting of some strings @@ -4773,7 +4857,7 @@ STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRI STR_FORMAT_BUOY_NAME :{TOWN}-Boje STR_FORMAT_BUOY_NAME_SERIAL :{TOWN} Boje #{COMMA} -STR_FORMAT_COMPANY_NUM :(Company {COMMA}) +STR_FORMAT_COMPANY_NUM :(Firma {COMMA}) STR_FORMAT_GROUP_NAME :Grupp {COMMA} STR_FORMAT_INDUSTRY_NAME :{TOWN} {STRING} STR_FORMAT_WAYPOINT_NAME :Weepunkt {TOWN} @@ -4781,7 +4865,7 @@ STR_FORMAT_WAYPOINT_NAME_SERIAL :Weepunkt {TOWN} STR_FORMAT_DEPOT_NAME_TRAIN :Zuchschapp vun {TOWN} STR_FORMAT_DEPOT_NAME_TRAIN_SERIAL :{TOWN} Zuchschapp #{COMMA} -STR_FORMAT_DEPOT_NAME_ROAD_VEHICLE :Stroossengefierdepot vun{TOWN} +STR_FORMAT_DEPOT_NAME_ROAD_VEHICLE :Stroossegefierdepot vun {TOWN} STR_FORMAT_DEPOT_NAME_ROAD_VEHICLE_SERIAL :{TOWN} Stroossendepot #{COMMA} STR_FORMAT_DEPOT_NAME_SHIP :Schëffsschapp vun {TOWN} STR_FORMAT_DEPOT_NAME_SHIP_SERIAL :{TOWN} Schëffsschapp #{COMMA} @@ -4814,6 +4898,7 @@ STR_COMPANY_NAME :{COMPANY} STR_COMPANY_NAME_COMPANY_NUM :{COMPANY} {COMPANY_NUM} STR_DEPOT_NAME :{DEPOT} STR_ENGINE_NAME :{ENGINE} +STR_HIDDEN_ENGINE_NAME :{ENGINE} (verstoppt) STR_GROUP_NAME :{GROUP} STR_INDUSTRY_NAME :{INDUSTRY} STR_PRESIDENT_NAME :{PRESIDENT_NAME} @@ -4849,8 +4934,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -4861,9 +4944,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/malay.txt b/src/lang/malay.txt index 84a3fa803c..4c42c73389 100644 --- a/src/lang/malay.txt +++ b/src/lang/malay.txt @@ -95,7 +95,7 @@ STR_CARGO_SINGULAR_FIZZY_DRINK :Minuman bergas # Quantity of cargo STR_QUANTITY_NOTHING : -STR_QUANTITY_PASSENGERS :{COMMA} penumpang +STR_QUANTITY_PASSENGERS :{COMMA}{NBSP}penumpang{P "" s} STR_QUANTITY_COAL :{WEIGHT_LONG} arang batu STR_QUANTITY_MAIL :{COMMA} beg surat STR_QUANTITY_OIL :{VOLUME_LONG} minyak @@ -239,6 +239,9 @@ STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Palang S STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Bar Skrol - gerakkan senarai ke kiri/kanan STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Musnahkan bangunan dll. dari dataran tanah. Ctrl memilih kawasan menyerong. Shift bangunan/tunjukkan anggaran kos. +# Show engines button + + # Query window STR_BUTTON_DEFAULT :{BLACK}Asal STR_BUTTON_CANCEL :{BLACK}Batal @@ -347,7 +350,7 @@ STR_SCENEDIT_FILE_MENU_QUIT :Keluar ############ range for settings menu starts STR_SETTINGS_MENU_GAME_OPTIONS :Pilihan permainan -STR_SETTINGS_MENU_CONFIG_SETTINGS :Tetapan Lanjutan +STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Tetapan STR_SETTINGS_MENU_SCRIPT_SETTINGS :Al/Tetapan skrip permainan STR_SETTINGS_MENU_NEWGRF_SETTINGS :Tetapan NewGRF STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Pilihan Ketelusan @@ -455,7 +458,7 @@ STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Papar atau pada STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Tukar warna blok kotor ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window STR_ORDINAL_NUMBER_1ST :1 STR_ORDINAL_NUMBER_2ND :2 STR_ORDINAL_NUMBER_3RD :3 @@ -471,22 +474,40 @@ STR_ORDINAL_NUMBER_12TH :12 STR_ORDINAL_NUMBER_13TH :13 STR_ORDINAL_NUMBER_14TH :14 STR_ORDINAL_NUMBER_15TH :15 -STR_ORDINAL_NUMBER_16TH :16 -STR_ORDINAL_NUMBER_17TH :17 -STR_ORDINAL_NUMBER_18TH :18 -STR_ORDINAL_NUMBER_19TH :19 -STR_ORDINAL_NUMBER_20TH :20 -STR_ORDINAL_NUMBER_21ST :21 -STR_ORDINAL_NUMBER_22ND :22 -STR_ORDINAL_NUMBER_23RD :23 -STR_ORDINAL_NUMBER_24TH :24 -STR_ORDINAL_NUMBER_25TH :25 -STR_ORDINAL_NUMBER_26TH :26 -STR_ORDINAL_NUMBER_27TH :27 -STR_ORDINAL_NUMBER_28TH :28 -STR_ORDINAL_NUMBER_29TH :29 -STR_ORDINAL_NUMBER_30TH :30 -STR_ORDINAL_NUMBER_31ST :31 +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :1 +STR_DAY_NUMBER_2ND :2 +STR_DAY_NUMBER_3RD :3 +STR_DAY_NUMBER_4TH :4 +STR_DAY_NUMBER_5TH :5 +STR_DAY_NUMBER_6TH :6 +STR_DAY_NUMBER_7TH :7 +STR_DAY_NUMBER_8TH :8 +STR_DAY_NUMBER_9TH :9 +STR_DAY_NUMBER_10TH :10 +STR_DAY_NUMBER_11TH :11 +STR_DAY_NUMBER_12TH :12 +STR_DAY_NUMBER_13TH :13 +STR_DAY_NUMBER_14TH :14 +STR_DAY_NUMBER_15TH :15 +STR_DAY_NUMBER_16TH :16 +STR_DAY_NUMBER_17TH :17 +STR_DAY_NUMBER_18TH :18 +STR_DAY_NUMBER_19TH :19 +STR_DAY_NUMBER_20TH :20 +STR_DAY_NUMBER_21ST :21 +STR_DAY_NUMBER_22ND :22 +STR_DAY_NUMBER_23RD :23 +STR_DAY_NUMBER_24TH :24 +STR_DAY_NUMBER_25TH :25 +STR_DAY_NUMBER_26TH :26 +STR_DAY_NUMBER_27TH :27 +STR_DAY_NUMBER_28TH :28 +STR_DAY_NUMBER_29TH :29 +STR_DAY_NUMBER_30TH :30 +STR_DAY_NUMBER_31ST :31 ############ range for days ends ############ range for months starts @@ -789,13 +810,11 @@ STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}{VEHICLE STR_NEWS_SHIP_IS_WAITING :{WHITE}{VEHICLE} sedang menunggu di depoh STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE} sedang menunggu di hangar -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE +# Order review system / warnings STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE} mempunyai terlalu sedikit arahan dalam jadual STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE} mempunyai arahan yang tidak sah STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE} mempunyai arahan berganda STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE} mempunyai stesen yang tidak sah dalam arahannya -# end of order system STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} semakin usang STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} terlalu usang @@ -876,10 +895,6 @@ STR_GAME_OPTIONS_CURRENCY_ZAR :South African R STR_GAME_OPTIONS_CURRENCY_CUSTOM :Sesuaikan... ############ end of currency region - -############ start of measuring units region -############ end of measuring units region - STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Kenderaan Jalanraya STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}Pilih laluan memandu kenderaan sebelah kiri atau kanan STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :Memandu di sebelah kiri @@ -915,11 +930,13 @@ STR_GAME_OPTIONS_TOWN_NAME_CATALAN :Catalan STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Simpanan automatik STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Pilih tempoh untuk simpanan permainan automatik +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Matikan STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :Setiap bulan STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :Setiap 3 bulan STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :Setiap 6 bulan STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :Setiap 12 bulan +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}Bahasa STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Pilih bahasa antaramuka yang ingin digunakan @@ -931,8 +948,12 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}Resolusi STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Pilih resolusi skrin untuk digunakan STR_GAME_OPTIONS_RESOLUTION_OTHER :lain -STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}Format tangkapan skrin -STR_GAME_OPTIONS_SCREENSHOT_FORMAT_TOOLTIP :{BLACK}Pilih format tangkapan skrin untuk digunakan +STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Saiz Antaramuka +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Sila pilih saiz elemen antara muka untuk digunakan + +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Biasa +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Saiz berganda +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Saiz kuad STR_GAME_OPTIONS_BASE_GRF :{BLACK}Set grafik asas STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Pilih set grafik asas untuk digunakan @@ -948,6 +969,7 @@ STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Pilih se STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} fail sudah rosak STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Maklumat lebih tentang set muzik asas +STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Gagal untuk mendapat senarai resolusi yang disokong STR_ERROR_FULLSCREEN_FAILED :{WHITE}Mod skrin penuh gagal dilakukan # Custom currency window @@ -1026,6 +1048,7 @@ STR_TERRAIN_TYPE_VERY_FLAT :Sangat Rata STR_TERRAIN_TYPE_FLAT :Rata STR_TERRAIN_TYPE_HILLY :Berbukit STR_TERRAIN_TYPE_MOUNTAINOUS :Bergunung +STR_TERRAIN_TYPE_ALPINIST :Alpinist STR_CITY_APPROVAL_PERMISSIVE :Mengizinkan STR_CITY_APPROVAL_TOLERANT :Bertoleransi @@ -1033,8 +1056,8 @@ STR_CITY_APPROVAL_HOSTILE :Kurang mengizin STR_WARNING_NO_SUITABLE_AI :{WHITE}Tiada AI yang bersesuaian...{}Anda boleh memuat turun beberapa AI dari sistem 'Kandungan Atas Talian' -# Advanced settings window -STR_CONFIG_SETTING_CAPTION :{WHITE}Tetapan Lanjutan +# Settings tree window +STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Tetapan STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Tapis baris: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Kembangkan semua STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Musnahkan semua @@ -1047,10 +1070,10 @@ STR_CONFIG_SETTING_TYPE_GAME_INGAME :Tetapan permain STR_CONFIG_SETTING_TYPE_COMPANY_MENU :Tetapan syarikat (disimpan di simpanan; berkesan hanya permainan baru) STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :Tetapan syarikat (disimpan di penyimpanan; hanya berkesan kepada syarikat semasa) -STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Hadkan senarai di bawah hanya ditunjukkan tetapan ditukar -STR_CONFIG_SETTING_RESTRICT_BASIC :Tetapan asas -STR_CONFIG_SETTING_RESTRICT_ADVANCED :Tetapan tambahan -STR_CONFIG_SETTING_RESTRICT_ALL :Pakar tetapan / semua tetapan +STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Hadkan senarai di bawah menggunakan penapis yang telah ditetapkan +STR_CONFIG_SETTING_RESTRICT_BASIC :Asas (menunjukkan tetapan yang penting sahaja) +STR_CONFIG_SETTING_RESTRICT_ADVANCED :Terperinci (tunjukkan kebanyakan tetapan) +STR_CONFIG_SETTING_RESTRICT_ALL :Expert (memaparkan semua tetapan, termasuk yang pelik) STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :Tetapan dengan nilai berbeza dari yang lalai STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :Tetapan dengan nilai yang berbeza daripada tetapan baru permainananda @@ -1094,8 +1117,9 @@ STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Jika kereta api STR_CONFIG_SETTING_CITY_APPROVAL :Sikap majlis bandaraya terhadap penyusunan semula kawasan: {STRING} STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Pilih tahap kebisingan dan kerosakan persekitaran -STR_CONFIG_SETTING_BUILDONSLOPES :Benarkan pembinaan di tepi pantai dan cerun bukit: {STRING} -STR_CONFIG_SETTING_BUILDONSLOPES_HELPTEXT :Jika diupayakan, trek dan stesen boleh membina pada yang paling cerun. Jika dilumpuhkan, mereka hanya dibenarkan di cerun yang sepadan arah trek dan dengan itu tidak memerlukan asas +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :Ketinggian maksimum peta: {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :Tetapkan ketinggian maksimum yang dibenarkan bagi gunung pada peta +STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}Kamu tidak boleh ubah ketinggian maxima kepada nilai ini. Sekurang-kurangnya satu gunung di dalam peta lebih tinggi. STR_CONFIG_SETTING_AUTOSLOPE :Benarkan pengubahsuaian tanah di bawah bangunan, landasan, dan sebagainya (autocerun): {STRING} STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Benarkan landskap di arah bangunan dan trek tanpa memusnahkannya STR_CONFIG_SETTING_CATCHMENT :Benarkan kawasan tangkapan yang lebih realistik: {STRING} @@ -1120,16 +1144,12 @@ STR_CONFIG_SETTING_FORBID_90_DEG :Halangkan keret STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Pusingan 90 darjah apabila trek yang mendatar secara langsung diikuti oleh suatu trek menegak pada laluan bersebelahan sekeligus menjadikan keretapi kearah 90 darjah apabila melalui laluan 45 darjah untuk kombilasa trek lain. Ini juga berlaku kepada laluan membelok kapal STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Benarkan penyambungan stesen yang tidak bersebelahan: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Benarkan menambah bahagian untuk stesen tanpa menyentuh bahagian yang sedia ada. Perlu Ctrl + Klik sambil meletakkan bahagian-bahagian baru -STR_CONFIG_SETTING_IMPROVEDLOAD :Gunakan algoritma muatan yang diperbaiki: {STRING} -STR_CONFIG_SETTING_IMPROVEDLOAD_HELPTEXT :Jika dibolehkan, pelbagai kenderaan menunggu di stesen dimuatkan berurutan.Pemuatan kenderaan seterusnya hanya bermula apabila terdapat kargo yang mencukupi menunggu untuk mengisi kenderaan pertama sepenuhnya -STR_CONFIG_SETTING_GRADUAL_LOADING :Muatkan kenderaan sedikit demi sedikit: {STRING} -STR_CONFIG_SETTING_GRADUAL_LOADING_HELPTEXT :Secara beransur-ansur muatan kenderaan akan menggunakan jangka masa tertentu, bukannya memuatkan sekaligus dengan masa yang tetap bergantung pada jumlah muatan dimuatkan STR_CONFIG_SETTING_INFLATION :Inflasi: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :Mengupayakan inflasi kepada ekonomi, di mana kos adalah sedikit lebih cepat meningkat daripada pembayaran -STR_CONFIG_SETTING_SELECTGOODS :Hantarkan kargo ke stesen hanya jika ada permintaan: {STRING} -STR_CONFIG_SETTING_SELECTGOODS_HELPTEXT :Hanya menghantar muatan ke stesen yang telah diminta daripada kenderaan pemuat. Ini menghalang nilai yang buruk bagi kargo yang tidak diservis di stesen STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Panjang maksimum jambatan: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Panjang maksimum untuk binaan jambatan +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :Ketinggian jambatan maksima: {STRING} +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :Ketinggian maksimum untuk membina jambatan STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Panjang maksimum terowong: {STRING} STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :Panjang maksimum binaan terowong STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Cara pembinaan manual industri utama: {STRING} @@ -1148,7 +1168,6 @@ STR_CONFIG_SETTING_STOP_LOCATION :Arahan keretapi STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :berhampiran hujung STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :tengah-tengah STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :hujung sekali -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING :Perbarisan kenderaan jalanraya (dengan kesan kuantum): {STRING} STR_CONFIG_SETTING_AUTOSCROLL :Gerakkan pemandangan apabila tetikus di sempadan: {STRING} STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Dinyah-upayakan STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Dinyah-upayakan @@ -1178,10 +1197,6 @@ STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Benarkan hentia STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Benarkan pembinaan untuk jalan pemanduan berhenti di jalan milik bandaran STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Benarkan hentian pandu-lalu di jalanraya yang dimiliki oleh pesaing: {STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Benarkan pembinaan untuk jalan pemanduan berhenti di jalan milik bandaran -STR_CONFIG_SETTING_ADJACENT_STATIONS :Benarkan membina stesen yang bersebelahan stesen lain: {STRING} -STR_CONFIG_SETTING_ADJACENT_STATIONS_HELPTEXT :Benarkan stesen yang berbeza untuk berdekatan dengan lain -STR_CONFIG_SETTING_DYNAMIC_ENGINES :Benarkan berbilang set enjin NewGRF: {STRING} -STR_CONFIG_SETTING_DYNAMIC_ENGINES_HELPTEXT :Pilihan keserasian untuk NewGRFs lama. Jangan melumpuhkan ini, melainkan jika anda tahu apa yang anda lakukan! STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Menukar tetapan ini adalah mustahil apabila terdapat kenderaan. STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Penyelenggaraan Infrastruktur: {STRING} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Apabila diupayakan,infrastuktur menyebabkan kos penyelenggaraan. Kadar kos tumbuh berdasarkan saiz rangkaian, sekaligus menjejaskan syarikat yang lebih besar daripada yang kecil @@ -1210,16 +1225,17 @@ STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Sangat Licin STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Licin STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Kasar STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Sangat Kasar +STR_CONFIG_SETTING_RIVER_AMOUNT :Jumlah sungai: {STRING} +STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Pilih jumlah sungai untuk dijanakan STR_CONFIG_SETTING_TREE_PLACER :Algoritma letakan pokok: {STRING} STR_CONFIG_SETTING_TREE_PLACER_NONE :Tiada STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :Asal STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :Diperbaiki +STR_CONFIG_SETTING_ROAD_SIDE :Kenderaan: {STRING} STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Putaran heightmap: {STRING} STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Lawan jam STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Pusingan jam STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :Tahap ketinggian peta senario rata: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :Benarkan pengubahsuaian tanah di petak di sempadan peta: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES_HELPTEXT :Jika dilumpuhkan, sempadan peta akan sentiasa sebagai lautan STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}Satu atau lebih petak di bucu utara tidak kosong STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}Satu atau lebih petak di salah satu bucu bukan air @@ -1256,13 +1272,14 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Matikan STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Skrol klik-kiri: {STRING} +STR_CONFIG_SETTING_AUTOSAVE :Simpanan automatik:{STRING} +STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Pilih jarak waktu antara menyimpankan permainan automatik + STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Gunakan format tarikh {STRING} untuk simpanan permainan. STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :panjang (31hb Dis 2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :pendek (31-12-2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE :Palet asal untuk mengambil alih bagi NewGRFs yang tidak menyatakan palet: {STRING} - STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Berhenti automatik ketika memulakan permainan yang baru: {STRING} STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Semasa dihentikan, dibenarkan: {STRING} STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :Tiada tindakan @@ -1284,10 +1301,10 @@ STR_CONFIG_SETTING_EXPENSES_LAYOUT :Perbelanjaan ku STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING :Nyahaktif infrastruktur bangunan apabila tiada kenderaan yang sesuai: {STRING} -STR_CONFIG_SETTING_MAX_TRAINS :Maks keretapi setiap syarikat: {STRING} -STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :Maks kenderaan jalanraya setiap syarikat: {STRING} -STR_CONFIG_SETTING_MAX_AIRCRAFT :Maks pesawat setiap syarikat: {STRING} -STR_CONFIG_SETTING_MAX_SHIPS :Maks kapal setiap syarikat: {STRING} +STR_CONFIG_SETTING_MAX_TRAINS :Amaun maksimum kereta api setiap syarikat: {STRING} +STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :Amaun maksimum kenderaan jalanraya setiap syarikat: {STRING} +STR_CONFIG_SETTING_MAX_AIRCRAFT :Amaun maksimum pesawat setiap syarikat: {STRING} +STR_CONFIG_SETTING_MAX_SHIPS :Amaun maksimum kapal setiap syarikat: {STRING} STR_CONFIG_SETTING_AI_BUILDS_TRAINS :Nafikan keretapi untuk komputer: {STRING} STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES :Nafikan kenderaan jalanraya untuk komputer: {STRING} @@ -1380,7 +1397,6 @@ STR_CONFIG_SETTING_TOWN_GROWTH_NORMAL :Biasa STR_CONFIG_SETTING_TOWN_GROWTH_FAST :Pantas STR_CONFIG_SETTING_TOWN_GROWTH_VERY_FAST :Sangat pantas STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Pengganda awal saiz bandar: {STRING} -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :Buang elemen jalanraya yang tidak masuk akal daripada pembinaan jalanraya: {STRING} @@ -1389,23 +1405,14 @@ STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :Buang elemen ja -STR_CONFIG_SETTING_GUI :{ORANGE}Antaramuka (Interface) -STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}Pembinaan +STR_CONFIG_SETTING_INTERFACE :{ORANGE}Antaramuka (Interface) +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Pembinaan STR_CONFIG_SETTING_VEHICLES :{ORANGE}Kenderaan -STR_CONFIG_SETTING_STATIONS :{ORANGE}Stesen -STR_CONFIG_SETTING_ECONOMY :{ORANGE}Ekonomi -STR_CONFIG_SETTING_AI :{ORANGE}Pesaing -STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}Pilihan paparan -STR_CONFIG_SETTING_INTERACTION :{ORANGE}Interaksi -STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}Isyarat -STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE}Pengendalian kargo -STR_CONFIG_SETTING_AI_NPC :{ORANGE}Pemain komputer -STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE}Pembaharuan Automatik -STR_CONFIG_SETTING_VEHICLES_SERVICING :{ORANGE}Servis STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Laluan -STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}Keretapi -STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}Bandar-bandar -STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}Industri-industri +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Bandar-bandar +STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}Industri-industri +STR_CONFIG_SETTING_AI :{ORANGE}Pesaing +STR_CONFIG_SETTING_AI_NPC :{ORANGE}Pemain komputer STR_CONFIG_SETTING_PATHFINDER_OPF :Asal STR_CONFIG_SETTING_PATHFINDER_NPF :NPF @@ -1448,7 +1455,7 @@ STR_INTRO_MULTIPLAYER :{BLACK}Pemain b STR_INTRO_GAME_OPTIONS :{BLACK}Pilihan Permainan STR_INTRO_HIGHSCORE :{BLACK}Carta mata tertinggi -STR_INTRO_ADVANCED_SETTINGS :{BLACK}Tetapan Lanjutan +STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Tetapan STR_INTRO_NEWGRF_SETTINGS :{BLACK}Tetapan NewGRF STR_INTRO_ONLINE_CONTENT :{BLACK}Periksa Kandungan Atas Talian STR_INTRO_SCRIPT_SETTINGS :{BLACK}Al/Tetapan Skrip Permainan @@ -1468,7 +1475,7 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Pilih la STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Paparkan pilihan permainan STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Paparan carta mata tertinggi -STR_INTRO_TOOLTIP_ADVANCED_SETTINGS :{BLACK}Paparkan tetapan lanjutan +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Pamerkan pilihan STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Paparkan tetapan NewGRF STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Periksa kandungan baru atau yang telah dikemaskini untuk dimuat turun STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Paparan Al/Tetapan Skrip Permainan @@ -1508,6 +1515,8 @@ STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Bermain STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Jentolak ajaib (buang industri dan objek lain yang biasanya tidak boleh dibuang): {ORANGE}{STRING} STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}Terowong boleh bersilang: {ORANGE}{STRING} STR_CHEAT_NO_JETCRASH :{LTBLUE}Pesawat jet tidak akan (sentiasa) terhempas di lapangan terbang kecil: {ORANGE}{STRING} +STR_CHEAT_EDIT_MAX_HL :{LTBLUE}Ubah ketinggian maxima di dalam peta: {ORANGE}{NUM} +STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Ubah ketinggian maxima gunung di dalam peta STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE :Lanskap temperate STR_CHEAT_SWITCH_CLIMATE_SUB_ARCTIC_LANDSCAPE :Lanskap subartik STR_CHEAT_SWITCH_CLIMATE_SUB_TROPICAL_LANDSCAPE :Lanskap subtropik @@ -1556,6 +1565,7 @@ STR_LIVERY_FREIGHT_TRAM :Trem Tambang Mu STR_FACE_CAPTION :{WHITE}Pilihan Wajah STR_FACE_CANCEL_TOOLTIP :{BLACK}Batal pilihan wajah baru STR_FACE_OK_TOOLTIP :{BLACK}Terima pilihan wajah baru +STR_FACE_RANDOM :{BLACK}Rambangkan STR_FACE_MALE_BUTTON :{BLACK}Lelaki STR_FACE_MALE_TOOLTIP :{BLACK}Pilih wajah lelaki @@ -1670,13 +1680,13 @@ STR_NETWORK_START_SERVER_SET_PASSWORD :{BLACK}Tetapkan STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}Lindungi permainan anda dengan kata laluan jika anda tidak mahu ianya diakses awam STR_NETWORK_START_SERVER_CLIENTS_SELECT :{BLACK}{NUM} pelanggan -STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Klien maks: +STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Amaun maksimum pemain: STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS_TOOLTIP :{BLACK}Tentukan bilangan klien maks. Tidak perlu semua slot diisi STR_NETWORK_START_SERVER_COMPANIES_SELECT :{BLACK}{NUM} syarikat -STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}Maks syarikat: +STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}Amaun maksimum syarikat: STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES_TOOLTIP :{BLACK}Hadkan bilangan syarikat dalam pelayan STR_NETWORK_START_SERVER_SPECTATORS_SELECT :{BLACK}{NUM} penyaksi -STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS :{BLACK}Maks penyaksi: +STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS :{BLACK}Amaun maxsimum penyaksi: STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS_TOOLTIP :{BLACK}Hadkan bilangan penyaksi dalam pelayan STR_NETWORK_START_SERVER_LANGUAGE_SPOKEN :{BLACK}Bahasa yang digunakan: STR_NETWORK_START_SERVER_LANGUAGE_TOOLTIP :{BLACK}Pemain lain akan tahu bahasa apa yang digunakan di pelayan ini @@ -2378,7 +2388,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-2014 The OpenTTD team +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2015 The OpenTTD team # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Simpankan Permainan @@ -2412,13 +2422,12 @@ STR_MAPGEN_BY :{BLACK}* STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Jumlah bandar: STR_MAPGEN_DATE :{BLACK}Tarikh: STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Jumlah industri: +STR_MAPGEN_MAX_HEIGHTLEVEL :{BLACK}Ketinggian maxima peta: +STR_MAPGEN_MAX_HEIGHTLEVEL_UP :{BLACK}Mengurangkan ketinggian maksimum gunung di peta oleh satu +STR_MAPGEN_MAX_HEIGHTLEVEL_DOWN :{BLACK}Mengurangkan ketinggian maksimum gunung di peta oleh satu STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}Paras ketinggian garis salji: STR_MAPGEN_SNOW_LINE_UP :{BLACK}Tinggikan paras garis salji satu petak STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}Rendahkan paras garis salji satu petak -STR_MAPGEN_RANDOM_SEED :{BLACK}Benihkan secara rambang: -STR_MAPGEN_RANDOM_SEED_HELP :{BLACK}Klik untuk memasukkan benih rambang -STR_MAPGEN_RANDOM :{BLACK}Rambangkan -STR_MAPGEN_RANDOM_HELP :{BLACK}Tukarkan benih rambang yang digunakan untuk Penjanaan Rupa Bumi STR_MAPGEN_LAND_GENERATOR :{BLACK}Janaan tanah: STR_MAPGEN_TREE_PLACER :{BLACK}Algoritma pokok: STR_MAPGEN_TERRAIN_TYPE :{BLACK}Jenis rupa bumi: @@ -2445,7 +2454,7 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Nama hei STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Saiz: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} -STR_MAPGEN_RANDOM_SEED_OSKTITLE :{BLACK}Masukkan benih rambang +STR_MAPGEN_MAX_HEIGHTLEVEL_QUERY_CAPT :{WHITE}Mengubah saiz maksimum ketinggian peta STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}Tukarkan paras garis salji STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Tukar tahun permulaan @@ -2500,6 +2509,7 @@ STR_NEWGRF_SETTINGS_MOVEUP :{BLACK}Gerak Ke STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP :{BLACK}Gerakkan ke atas senarai NewGRF yang terpilih STR_NEWGRF_SETTINGS_MOVEDOWN :{BLACK}Gerak Ke Bawah STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP :{BLACK}Gerakkan ke bawah senarai NewGRF yang terpilih +STR_NEWGRF_SETTINGS_UPGRADE :{BLACK}Naik Taraf STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}Senarai fail NewGRF yang telah dipasang. STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}Tetapkan parameter @@ -2524,6 +2534,11 @@ STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Fail yang STR_NEWGRF_SETTINGS_DISABLED :{RED}Dinyahaktifkan STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Tidak serasi dengan versi OpenTTD ini +# NewGRF save preset window +STR_SAVE_PRESET_CAPTION :{WHITE}Simpan pratetapan +STR_SAVE_PRESET_TITLE :{BLACK}Masukkan nama untuk pratetapan +STR_SAVE_PRESET_SAVE :{BLACK}Simpan + # NewGRF parameters window STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Ubah parameter NewGRF STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Tutup @@ -2554,7 +2569,6 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Peperi s STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Teruskan ke peperi dahulu yang biasa, melangkau sebarang peperi pseudo/warna kembali/fon dan memusing balik semula STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Perwakilan peperi yang terpilih. Penjajaran tidak diendahkan apabila sedang melukiskan peperi. STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Alih peperi, mengubahkan ofset X dan Y -STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X ofset: {NUM}, Y ofset: {NUM} STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Pilih peperi STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Pilih peperi di mana-mana sahaja dari skrin @@ -2719,7 +2733,7 @@ STR_GOAL_QUESTION_CAPTION_INFORMATION :Maklumat STR_GOAL_QUESTION_CAPTION_WARNING :Amaran STR_GOAL_QUESTION_CAPTION_ERROR :Kesilapan -### Start of Goal Question button list +############ Start of Goal Question button list STR_GOAL_QUESTION_BUTTON_CANCEL :Batal STR_GOAL_QUESTION_BUTTON_OK :OK STR_GOAL_QUESTION_BUTTON_NO :Tidak @@ -2738,6 +2752,7 @@ STR_GOAL_QUESTION_BUTTON_RESTART :Mula semula STR_GOAL_QUESTION_BUTTON_POSTPONE :Tangguh STR_GOAL_QUESTION_BUTTON_SURRENDER :Menyerah STR_GOAL_QUESTION_BUTTON_CLOSE :Tutup +############ End of Goal Question button list # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}Subsidi @@ -2763,7 +2778,6 @@ STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}Tiada ka # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} -STR_STATION_VIEW_WAITING_TITLE :{BLACK}Menunggu: {WHITE}{STRING} STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} dalam perjalanan daripada {STATION}) @@ -2830,7 +2844,7 @@ STR_FINANCES_POSITIVE_INCOME :{BLACK}+{CURREN STR_FINANCES_TOTAL_CAPTION :{WHITE}Jumlah: STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}Baki Bank STR_FINANCES_LOAN_TITLE :{WHITE}Pinjaman -STR_FINANCES_MAX_LOAN :{WHITE}Pinjaman Maks: {BLACK}{CURRENCY_LONG} +STR_FINANCES_MAX_LOAN :{WHITE}Pinjaman Maksimum: {BLACK}{CURRENCY_LONG} STR_FINANCES_TOTAL_CURRENCY :{BLACK}{CURRENCY_LONG} STR_FINANCES_BORROW_BUTTON :{BLACK}Pinjam {CURRENCY_LONG} STR_FINANCES_BORROW_TOOLTIP :{BLACK}Tinggikan nilai pinjaman. Ctrl+Klik untuk meminjam sebanyak mungkin @@ -2984,6 +2998,7 @@ STR_GROUP_DELETE_TOOLTIP :{BLACK}Padamkan STR_GROUP_RENAME_TOOLTIP :{BLACK}Tukar nama kumpulan yang terpilih STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Klik untuk menghalang daripada kumpulan ini digantikan secara automatik + STR_GROUP_ADD_SHARED_VEHICLE :Tambah kenderaan berkongsi STR_GROUP_REMOVE_ALL_VEHICLES :Buang semua kenderaan @@ -3046,6 +3061,21 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Namakan STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Namakan semula jenis kapal STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Namakan semula pesawat +STR_BUY_VEHICLE_TRAIN_HIDE_TOGGLE_BUTTON :{BLACK}Sembunyi +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_TOGGLE_BUTTON :{BLACK}Sembunyi +STR_BUY_VEHICLE_SHIP_HIDE_TOGGLE_BUTTON :{BLACK}Sembunyi +STR_BUY_VEHICLE_AIRCRAFT_HIDE_TOGGLE_BUTTON :{BLACK}Sembunyi + +STR_BUY_VEHICLE_TRAIN_SHOW_TOGGLE_BUTTON :{BLACK}Paparan +STR_BUY_VEHICLE_ROAD_VEHICLE_SHOW_TOGGLE_BUTTON :{BLACK}Paparan +STR_BUY_VEHICLE_SHIP_SHOW_TOGGLE_BUTTON :{BLACK}Paparan +STR_BUY_VEHICLE_AIRCRAFT_SHOW_TOGGLE_BUTTON :{BLACK}Paparan + +STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Menyembunyikan Togol / memaparkan jenis kenderaan kereta api +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK} Menyembunyikan Togol / memaparkan jenis kenderaan jalan raya +STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Menyembunyikan Togol / memaparkan jenis kapal +STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Togol menyembunyikan / memaparkan jenis pesawat + STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}Namakan semula jenis keretapi STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}Namakan semula jenis kenderaan jalanraya STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}Namakan semula jenis kapal @@ -3099,7 +3129,7 @@ STR_DEPOT_CLONE_ROAD_VEHICLE :{BLACK}Klonkan STR_DEPOT_CLONE_SHIP :{BLACK}Klonkan Kapal STR_DEPOT_CLONE_AIRCRAFT :{BLACK}Klonkan Pesawat -STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Perbuatan ini akan membeli salinan keretapi termasuk semua gerabaknya. Klik butang ini dan kemudian di keretapi di luar atau di dalam depoh. Ctrl+Klik untuk berkongsi arahan. Shift+Klik menunjukkan anggaran kos tanpa membeli +STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Ini akan membeli satu salinan kereta api termasuk semua kereta. Klik butang ini dan kemudian pada kereta api di dalam atau di luar depot. Ctrl + Klik akan berkongsi perintah. Shift + Klik menunjukkan anggaran kos tanpa pembelian STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Perbuatan ini akan membeli salinan kenderaan jalanraya. Klik butang ini dan kemudian di kenderaan jalanraya di luar atau di dalam depoh. Ctrl+Klik untuk berkongsi arahan. Shift+Klik menunjukkan anggaran kos tanpa pembelian STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Perbuatan ini akan membeli salinan kapal. Klik butang ini dan kemudian di kapal di luar atau di dalam depoh. Ctrl+Klik untuk berkongsi arahan. Shift+Klik menunjukkan anggaran kos tanpa membeli STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Ini akan membeli salinan pesawat. Klik butang ini dan kemudian di pesawat di luar atau di dalam depoh. Ctrl+Klik untuk berkongsi arahan. Shift+Klik menunjukkan anggaran kos tanpa membeli @@ -3150,6 +3180,7 @@ STR_REPLACE_VEHICLE_ROAD_VEHICLE :Kenderaan Jalan STR_REPLACE_VEHICLE_SHIP :Kapal STR_REPLACE_VEHICLE_AIRCRAFT :Pesawat + STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Pilih jenis enjin untuk diganti STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Pilih jenis enjin baru yang anda ingin guna untuk menggantikan jenis enjin sebelah kiri @@ -3468,7 +3499,7 @@ STR_ORDER_TRANSFER_FULL_LOAD_REFIT :(Pindah dan tun STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :(Pindah dan tunggu sebarang kargo sehingga penuh dengan ubahsuai secara auto ke {STRING}) STR_ORDER_NO_UNLOAD_REFIT :Tiada muat turun dan ambil kargo dengan ubahsuai secara auto ke {STRING}) STR_ORDER_NO_UNLOAD_FULL_LOAD_REFIT :(Tiada muat turun dan tunggu sehingga muatan penuh dengan ubahsuai secara auto ke {STRING}) -STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY_REFIT :(Tiada muat turun dan tunggu sebarang kargo penuh dengan ubahsuai secara auto ke {STRING}) +STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY_REFIT :(Tiada muat turun dan tunggu sebarang kargo dengan kapasiti penuh dengan ubahsuai secara automatik ke {STRING}) STR_ORDER_AUTO_REFIT_ANY :kargo sedia ada @@ -3728,6 +3759,7 @@ STR_ERROR_EXCAVATION_WOULD_DAMAGE :{WHITE}Penggali STR_ERROR_ALREADY_AT_SEA_LEVEL :{WHITE}... sudah berada di paras laut STR_ERROR_TOO_HIGH :{WHITE}... terlalu tinggi STR_ERROR_ALREADY_LEVELLED :{WHITE}... sudah rata +STR_ERROR_BRIDGE_TOO_HIGH_AFTER_LOWER_LAND :{WHITE}Selepas itu jambatan atasnya akan jadi terlalu tinggi. # Company related errors STR_ERROR_CAN_T_CHANGE_COMPANY_NAME :{WHITE}Nama syarikat tidak dapat ditukar... @@ -3778,6 +3810,7 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... huta STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... hanya boleh dibina di atas paras garisan salji STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... hanya boleh dibina di bawah paras garisan salji + # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Stesen keretapi tidak dapat dibina di sini... STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}Hentian bas tidak dapat dibina di sini... @@ -3914,6 +3947,7 @@ STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Jambatan STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}Tidak boleh mula dan tamat di petak yang sama STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}Kedua-dua kepala jambatan bukan pada paras yang sama STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}Jambatan terlalu rendah untuk rupa bumi ini +STR_ERROR_BRIDGE_TOO_HIGH_FOR_TERRAIN :{WHITE}Jambatan terlalu tinggi untuk kawasan ini. STR_ERROR_START_AND_END_MUST_BE_IN :{WHITE}Mula dan hujung mesti pada garisan yang sama STR_ERROR_ENDS_OF_BRIDGE_MUST_BOTH :{WHITE}... kedua-dua kepala jambatan mesti berada di atas tanah STR_ERROR_BRIDGE_TOO_LONG :{WHITE}... jambatan telalu panjang @@ -4465,6 +4499,7 @@ STR_COMPANY_NAME :{COMPANY} STR_COMPANY_NAME_COMPANY_NUM :{COMPANY} {COMPANY_NUM} STR_DEPOT_NAME :{DEPOT} STR_ENGINE_NAME :{ENGINE} +STR_HIDDEN_ENGINE_NAME :{ENGINE} (tersembunyi) STR_GROUP_NAME :{GROUP} STR_INDUSTRY_NAME :{INDUSTRY} STR_PRESIDENT_NAME :{PRESIDENT_NAME} @@ -4499,8 +4534,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -4511,9 +4544,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/norwegian_bokmal.txt b/src/lang/norwegian_bokmal.txt index a3865ae534..259fd8ee68 100644 --- a/src/lang/norwegian_bokmal.txt +++ b/src/lang/norwegian_bokmal.txt @@ -97,30 +97,30 @@ STR_CARGO_SINGULAR_FIZZY_DRINK :Mineralvann # Quantity of cargo STR_QUANTITY_NOTHING : -STR_QUANTITY_PASSENGERS :{COMMA} passasjer{P "" er} +STR_QUANTITY_PASSENGERS :{COMMA}{NBSP}passasjer{P "" er} STR_QUANTITY_COAL :{WEIGHT_LONG} kull -STR_QUANTITY_MAIL :{COMMA} postsekk{P "" er} +STR_QUANTITY_MAIL :{COMMA}{NBSP}postsekk{P "" er} STR_QUANTITY_OIL :{VOLUME_LONG} olje -STR_QUANTITY_LIVESTOCK :{COMMA} enhet{P "" er} buskap -STR_QUANTITY_GOODS :{COMMA} kasse{P "" r} gods +STR_QUANTITY_LIVESTOCK :{COMMA}{NBSP}enhet{P "" er} buskap +STR_QUANTITY_GOODS :{COMMA}{NBSP}kasse{P "" r} med gods STR_QUANTITY_GRAIN :{WEIGHT_LONG} korn STR_QUANTITY_WOOD :{WEIGHT_LONG} tømmer STR_QUANTITY_IRON_ORE :{WEIGHT_LONG} jernmalm STR_QUANTITY_STEEL :{WEIGHT_LONG} stål -STR_QUANTITY_VALUABLES :{COMMA} sekk{P "" er} med verdisaker +STR_QUANTITY_VALUABLES :{COMMA}{NBSP}sekk{P "" er} med verdisaker STR_QUANTITY_COPPER_ORE :{WEIGHT_LONG} kobbermalm STR_QUANTITY_MAIZE :{WEIGHT_LONG} mais STR_QUANTITY_FRUIT :{WEIGHT_LONG} frukt -STR_QUANTITY_DIAMONDS :{COMMA} sekk{P "" er} med diamanter +STR_QUANTITY_DIAMONDS :{COMMA}{NBSP}sekk{P "" er} med diamanter STR_QUANTITY_FOOD :{WEIGHT_LONG} mat STR_QUANTITY_PAPER :{WEIGHT_LONG} papir -STR_QUANTITY_GOLD :{COMMA} sekk{P "" er} med gull +STR_QUANTITY_GOLD :{COMMA}{NBSP}sekk{P "" er} med gull STR_QUANTITY_WATER :{VOLUME_LONG} vann STR_QUANTITY_WHEAT :{WEIGHT_LONG} hvete STR_QUANTITY_RUBBER :{VOLUME_LONG} gummi STR_QUANTITY_SUGAR :{WEIGHT_LONG} sukker -STR_QUANTITY_TOYS :{COMMA} leke{P "" r} -STR_QUANTITY_SWEETS :{COMMA} sekk{P "" er} med godteri +STR_QUANTITY_TOYS :{COMMA}{NBSP}leke{P "" r} +STR_QUANTITY_SWEETS :{COMMA}{NBSP}sekk{P "" er} med godteri STR_QUANTITY_COLA :{VOLUME_LONG} cola STR_QUANTITY_CANDYFLOSS :{WEIGHT_LONG} sukkerspinn STR_QUANTITY_BUBBLES :{COMMA} boble{P "" r} @@ -167,12 +167,12 @@ STR_ABBREV_NONE :{TINY_FONT}IN STR_ABBREV_ALL :{TINY_FONT}ALLE # 'Mode' of transport for cargoes -STR_PASSENGERS :{COMMA} passasjer{P "" er} -STR_BAGS :{COMMA} sekk{P "" er} -STR_TONS :{COMMA} tonn -STR_LITERS :{COMMA} liter -STR_ITEMS :{COMMA} enhet{P "" er} -STR_CRATES :{COMMA} kasse{P "" r} +STR_PASSENGERS :{COMMA}{NBSP}passasjer{P "" er} +STR_BAGS :{COMMA}{NBSP}sekk{P "" er} +STR_TONS :{COMMA}{NBSP}tonn +STR_LITERS :{COMMA}{NBSP}liter +STR_ITEMS :{COMMA}{NBSP}element{P "" er} +STR_CRATES :{COMMA}{NBSP}kasse{P "" r} # Colours, do not shuffle STR_COLOUR_DARK_BLUE :Mørkeblå @@ -193,37 +193,37 @@ STR_COLOUR_GREY :Grå STR_COLOUR_WHITE :Hvit # Units used in OpenTTD -STR_UNITS_VELOCITY_IMPERIAL :{COMMA} mi/t -STR_UNITS_VELOCITY_METRIC :{COMMA} km/t -STR_UNITS_VELOCITY_SI :{COMMA} m/s +STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}mi/t +STR_UNITS_VELOCITY_METRIC :{COMMA}{NBSP}km/t +STR_UNITS_VELOCITY_SI :{COMMA}{NBSP}m/s -STR_UNITS_POWER_IMPERIAL :{COMMA} hk -STR_UNITS_POWER_METRIC :{COMMA} hk -STR_UNITS_POWER_SI :{COMMA} kW +STR_UNITS_POWER_IMPERIAL :{COMMA}{NBSP}hk +STR_UNITS_POWER_METRIC :{COMMA}{NBSP}hk +STR_UNITS_POWER_SI :{COMMA}{NBSP}kW -STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}t -STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA} t -STR_UNITS_WEIGHT_SHORT_SI :{COMMA} kg +STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_SI :{COMMA}{NBSP}kg -STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA} ton{P "" s} -STR_UNITS_WEIGHT_LONG_METRIC :{COMMA} tonn -STR_UNITS_WEIGHT_LONG_SI :{COMMA} kg +STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA}{NBSP}tonn{P "" er} +STR_UNITS_WEIGHT_LONG_METRIC :{COMMA}{NBSP}tonn{P "" er} +STR_UNITS_WEIGHT_LONG_SI :{COMMA}{NBSP}kg -STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}gal -STR_UNITS_VOLUME_SHORT_METRIC :{COMMA} l +STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}{NBSP}gal +STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}{NBSP}l STR_UNITS_VOLUME_SHORT_SI :{COMMA} m³ -STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA} gallon{P "" s} -STR_UNITS_VOLUME_LONG_METRIC :{COMMA} liter -STR_UNITS_VOLUME_LONG_SI :{COMMA} m³ +STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA}{NBSP}gallon{P "" er} +STR_UNITS_VOLUME_LONG_METRIC :{COMMA}{NBSP}liter{P "" er} +STR_UNITS_VOLUME_LONG_SI :{COMMA}{NBSP}m³ -STR_UNITS_FORCE_IMPERIAL :{COMMA} lbf -STR_UNITS_FORCE_METRIC :{COMMA} kgf -STR_UNITS_FORCE_SI :{COMMA} kN +STR_UNITS_FORCE_IMPERIAL :{COMMA}{NBSP}lbf +STR_UNITS_FORCE_METRIC :{COMMA}{NBSP}kgf +STR_UNITS_FORCE_SI :{COMMA}{NBSP}kN -STR_UNITS_HEIGHT_IMPERIAL :{COMMA} fot -STR_UNITS_HEIGHT_METRIC :{COMMA} m -STR_UNITS_HEIGHT_SI :{COMMA} m +STR_UNITS_HEIGHT_IMPERIAL :{COMMA}{NBSP}fot +STR_UNITS_HEIGHT_METRIC :{COMMA}{NBSP}m +STR_UNITS_HEIGHT_SI :{COMMA}{NBSP}m # Common window strings STR_LIST_FILTER_TITLE :{BLACK}Filterstreng: @@ -250,6 +250,17 @@ STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Rullefel STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Rullefelt - ruller listen til venstre/høyre STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Riv bygninger osv. på et landområde. Ctrl velger område diagonalt. Shift slår av/på kostnadsestimat +# Show engines button +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}Vis skjulte +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK}Vis skjulte +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}Vis skjulte +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}Vis skjulte + +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}Ved å aktivere denne knappen, blir de skjulte tog også vist +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE_TOOLTIP :{BLACK}Ved å aktivere denne knappen, blir de skjulte kjøretøy også vist +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}Ved å aktivere denne knappen, blir de skjulte skip også vist +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Ved å aktivere denne knappen, blir de skjulte fly også vist + # Query window STR_BUTTON_DEFAULT :{BLACK}Standard STR_BUTTON_CANCEL :{BLACK}Avbryt @@ -297,7 +308,7 @@ STR_SORT_BY_POWER :Kraft STR_SORT_BY_TRACTIVE_EFFORT :Trekkraft STR_SORT_BY_INTRO_DATE :Introduksjonsdato STR_SORT_BY_RUNNING_COST :Driftskostnad -STR_SORT_BY_POWER_VS_RUNNING_COST :Effekt/Driftskostnad +STR_SORT_BY_POWER_VS_RUNNING_COST :Effekt-/Driftskostnad STR_SORT_BY_CARGO_CAPACITY :Lastekapasitet STR_SORT_BY_RANGE :Rekkevidde STR_SORT_BY_POPULATION :Folketall @@ -336,7 +347,7 @@ STR_TOOLBAR_TOOLTIP_LAND_BLOCK_INFORMATION :{BLACK}Informas STR_TOOLBAR_TOOLTIP_SWITCH_TOOLBAR :{BLACK}Skift verktøylinjer # Extra tooltips for the scenario editor toolbar -STR_SCENEDIT_TOOLBAR_TOOLTIP_SAVE_SCENARIO_LOAD_SCENARIO :{BLACK}Lagre scenario, last inn scenario, forlate scenarioredigeringsprogrammet, avslutt OpenTTD +STR_SCENEDIT_TOOLBAR_TOOLTIP_SAVE_SCENARIO_LOAD_SCENARIO :{BLACK}Lagre scenario, last inn scenario, forlat scenarioredigering, avslutt OpenTTD STR_SCENEDIT_TOOLBAR_OPENTTD :{YELLOW}OpenTTD STR_SCENEDIT_TOOLBAR_SCENARIO_EDITOR :{YELLOW}Rediger scenario STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_BACKWARD :{BLACK}Flytt startdatoen tilbake ett år @@ -363,8 +374,8 @@ STR_SCENEDIT_FILE_MENU_QUIT :Avslutt ############ range for settings menu starts STR_SETTINGS_MENU_GAME_OPTIONS :Spillinnstillinger -STR_SETTINGS_MENU_CONFIG_SETTINGS :Avanserte innstillinger -STR_SETTINGS_MENU_SCRIPT_SETTINGS :AI/Spillskript-innstillinger +STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Innstillinger +STR_SETTINGS_MENU_SCRIPT_SETTINGS :AI-/Spillskript-innstillinger STR_SETTINGS_MENU_NEWGRF_SETTINGS :NewGRF-innstillinger STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Instillinger for gjennomsiktighet STR_SETTINGS_MENU_TOWN_NAMES_DISPLAYED :Vis bynavn @@ -472,7 +483,7 @@ STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Vis/skjul marke STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Veksle mellom farger på skitne blokker ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window STR_ORDINAL_NUMBER_1ST :1. STR_ORDINAL_NUMBER_2ND :2. STR_ORDINAL_NUMBER_3RD :3. @@ -488,22 +499,40 @@ STR_ORDINAL_NUMBER_12TH :12. STR_ORDINAL_NUMBER_13TH :13. STR_ORDINAL_NUMBER_14TH :14. STR_ORDINAL_NUMBER_15TH :15. -STR_ORDINAL_NUMBER_16TH :16. -STR_ORDINAL_NUMBER_17TH :17. -STR_ORDINAL_NUMBER_18TH :18. -STR_ORDINAL_NUMBER_19TH :19. -STR_ORDINAL_NUMBER_20TH :20. -STR_ORDINAL_NUMBER_21ST :21. -STR_ORDINAL_NUMBER_22ND :22. -STR_ORDINAL_NUMBER_23RD :23. -STR_ORDINAL_NUMBER_24TH :24. -STR_ORDINAL_NUMBER_25TH :25. -STR_ORDINAL_NUMBER_26TH :26. -STR_ORDINAL_NUMBER_27TH :27. -STR_ORDINAL_NUMBER_28TH :28. -STR_ORDINAL_NUMBER_29TH :29. -STR_ORDINAL_NUMBER_30TH :30. -STR_ORDINAL_NUMBER_31ST :31. +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :1. +STR_DAY_NUMBER_2ND :2. +STR_DAY_NUMBER_3RD :3. +STR_DAY_NUMBER_4TH :4. +STR_DAY_NUMBER_5TH :5. +STR_DAY_NUMBER_6TH :6. +STR_DAY_NUMBER_7TH :7. +STR_DAY_NUMBER_8TH :8. +STR_DAY_NUMBER_9TH :9. +STR_DAY_NUMBER_10TH :10. +STR_DAY_NUMBER_11TH :11. +STR_DAY_NUMBER_12TH :12. +STR_DAY_NUMBER_13TH :13. +STR_DAY_NUMBER_14TH :14. +STR_DAY_NUMBER_15TH :15. +STR_DAY_NUMBER_16TH :16. +STR_DAY_NUMBER_17TH :17. +STR_DAY_NUMBER_18TH :18. +STR_DAY_NUMBER_19TH :19. +STR_DAY_NUMBER_20TH :20. +STR_DAY_NUMBER_21ST :21. +STR_DAY_NUMBER_22ND :22. +STR_DAY_NUMBER_23RD :23. +STR_DAY_NUMBER_24TH :24. +STR_DAY_NUMBER_25TH :25. +STR_DAY_NUMBER_26TH :26. +STR_DAY_NUMBER_27TH :27. +STR_DAY_NUMBER_28TH :28. +STR_DAY_NUMBER_29TH :29. +STR_DAY_NUMBER_30TH :30. +STR_DAY_NUMBER_31ST :31. ############ range for days ends ############ range for months starts @@ -812,13 +841,12 @@ STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}{VEHICLE STR_NEWS_SHIP_IS_WAITING :{WHITE}{VEHICLE} venter i skipsdokken STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE} venter i hangaren -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE +# Order review system / warnings STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE} har for få ordre på ruteplanen STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE} har en tom ordre STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE} har doble ordre STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE} har en ugyldig stasjon i ordrelisten -# end of order system +STR_NEWS_PLANE_USES_TOO_SHORT_RUNWAY :{WHITE}{VEHICLE} har i sine ordrer en flyplass der rullebanen er for kort STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} begynner å bli gammel STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} er veldig gammel @@ -901,10 +929,6 @@ STR_GAME_OPTIONS_CURRENCY_GEL :Georgianske Lar STR_GAME_OPTIONS_CURRENCY_IRR :Iranske Rial (IRR) ############ end of currency region - -############ start of measuring units region -############ end of measuring units region - STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Kjøretøy STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}Velg kjøreside for veier STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :Venstrekjøring @@ -940,11 +964,13 @@ STR_GAME_OPTIONS_TOWN_NAME_CATALAN :Katalansk STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Automatisk lagring STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Velg intervall for automatisk lagring +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Av STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :Hver måned STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :Hver 3. måned STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :Hver 6. måned STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :Hver 12. måned +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}Språk STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Velg språk som skal brukes @@ -956,8 +982,12 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}Skjermop STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Velg skjermoppløsningen som skal brukes STR_GAME_OPTIONS_RESOLUTION_OTHER :annet -STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}Filformat for skjermbilde -STR_GAME_OPTIONS_SCREENSHOT_FORMAT_TOOLTIP :{BLACK}Velg hvilket format skjermbildet skal lagres i +STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Grensesnitt-størrelse +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Velg grensesnitt-størrelsen som skal benyttes + +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normal +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :2 ganger størrelse +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :4 ganger størrelse STR_GAME_OPTIONS_BASE_GRF :{BLACK}Grafikksett STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Velg grafikksett som skal brukes @@ -973,6 +1003,7 @@ STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Velg mus STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} ødelagt{P "" e} fil{P "" er} STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Ytterligere informasjon om det originale musikksettet +STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Mislytes med å hente en liste over støttede oppløsninger STR_ERROR_FULLSCREEN_FAILED :{WHITE}Fullskjermmodus mislyktes # Custom currency window @@ -1051,6 +1082,7 @@ STR_TERRAIN_TYPE_VERY_FLAT :Veldig flatt STR_TERRAIN_TYPE_FLAT :Flatt STR_TERRAIN_TYPE_HILLY :Åslendt STR_TERRAIN_TYPE_MOUNTAINOUS :Berglendt +STR_TERRAIN_TYPE_ALPINIST :Alpinist STR_CITY_APPROVAL_PERMISSIVE :Ettergivende STR_CITY_APPROVAL_TOLERANT :Tolerant @@ -1058,8 +1090,8 @@ STR_CITY_APPROVAL_HOSTILE :Fientlig STR_WARNING_NO_SUITABLE_AI :{WHITE}Ingen egnet AI tilgjengelig...{}Du kan laste ned flere AIer fra nettet med spillets nedlastingssystem. -# Advanced settings window -STR_CONFIG_SETTING_CAPTION :{WHITE}Avanserte innstillinger +# Settings tree window +STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Innstillinger STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Filtrer streng: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Vis alle STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Skjul alle @@ -1074,20 +1106,20 @@ STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :Selskapet innst STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK}Kategori: STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}Type: -STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Viser kun endrede innstillinger i listen nedenfor -STR_CONFIG_SETTING_RESTRICT_BASIC :Grunnleggende innstillinger -STR_CONFIG_SETTING_RESTRICT_ADVANCED :Avanserte innstillinger -STR_CONFIG_SETTING_RESTRICT_ALL :Avanserte innstillinger / alle innstillinger +STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Begrenser listen nedenfor ved hjelp av forhåndsdefinerte filtre +STR_CONFIG_SETTING_RESTRICT_BASIC :Grunnleggende (vis bare viktige innstillinger) +STR_CONFIG_SETTING_RESTRICT_ADVANCED :Avansert (Vis de fleste innstillinger) +STR_CONFIG_SETTING_RESTRICT_ALL :Ekspert (vis alle innstillinger, inkludert merkelige) STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :Innstillinger med annen verdi enn standarden STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :Innstillinger med annen verdi enn innstillingene dine for nye spill STR_CONFIG_SETTING_TYPE_DROPDOWN_HELPTEXT :{BLACK}Begrenser listen nedenfor til bestemte innstillingstyper STR_CONFIG_SETTING_TYPE_DROPDOWN_ALL :Alle instillingstyper -STR_CONFIG_SETTING_TYPE_DROPDOWN_CLIENT :Klientinnstillinger (global innstilling; påvirker alle spill) +STR_CONFIG_SETTING_TYPE_DROPDOWN_CLIENT :Klientinnstillinger (lagres ikke i lagringsfiler; påvirker alle spill) STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :Spillinnstillinger (lagres i lagringsfil; påvirker bare nye spill) STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :Spillinnstillinger (lagres i lagringsfilen; påvirker bare gjeldende spill) -STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :Selskapets innstillinger (lagres i lagringsfilen; påvirker bare nye spill) -STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :Selskapets innstillinger (lagret i lagringsfilen; påvirker bare gjeldende selskap) +STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :Firmainnstillinger (lagres i lagringsfilen; påvirker bare nye spill) +STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :Firmainnstillinger (lagret i lagringsfilen; påvirker bare gjeldende selskap) STR_CONFIG_SETTING_CATEGORY_HIDES :{BLACK} Vis alle søkeresultater ved å sette {} {SILVER} kategori {BLACK} til {WHITE} {STRING} STR_CONFIG_SETTING_TYPE_HIDES :{BLACK} Vis alle søkeresultater ved å sette {} {SILVER} type {BLACK} til {WHITE} alle innstillingstyper STR_CONFIG_SETTING_CATEGORY_AND_TYPE_HIDES :{BLACK} Vis alle søkeresultater ved å sette {} {SILVER} kategori {BLACK} til {WHITE} {STRING} {BLACK} og {SILVER} type {BLACK} til {WHITE} alle innstillingstyper @@ -1129,12 +1161,13 @@ STR_CONFIG_SETTING_TRAIN_REVERSING :Forby reverseri STR_CONFIG_SETTING_TRAIN_REVERSING_HELPTEXT :Hvis aktivert, vil ikke toget rygge i ikke-terminus stationer, selv om det er en kortere vei til deres neste stasjon ved å rygge STR_CONFIG_SETTING_DISASTERS :Katastrofer: {STRING} STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Aktiver/inaktiver katastrofer som tidvis kan blokkere eller ødelegge kjøretøy og infrastruktur -STR_CONFIG_SETTING_CITY_APPROVAL :Byrådets holdning til restrukturering i nærområdet: {STRING} +STR_CONFIG_SETTING_CITY_APPROVAL :Bystyrets holdning til restrukturering av området: {STRING} STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Velg hvor mye støy og miljøskader forårsaket av selskaper påvirker deres anseelse i byen og muligheter for ytterligere utbygging i nærområdet -STR_CONFIG_SETTING_BUILDONSLOPES :Tillat bygging på skråninger og i vannkanten: {STRING} -STR_CONFIG_SETTING_BUILDONSLOPES_HELPTEXT :Om dette slås på kan spor og stasjoner bygges på de fleste hellninger. Om slått av, vil de kun tillates på hellninger med samme retning som sporet, og vil da ikke trenge fundamenter. -STR_CONFIG_SETTING_AUTOSLOPE :Tillat landskapsendring under bygninger, spor, osv.: {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :Maksimal karthøyde: {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :Still inn maksimal tillatt høyde for fjellene på kartet +STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}Du kan ikke sette den maksimale karthøyden til denne verdien. Minst ett fjell på kartet er høyere +STR_CONFIG_SETTING_AUTOSLOPE :Tillat endring av landskap under bygninger, spor, osv.: {STRING} STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Tillat endring av landskapet under bygninger og spor uten å fjerne dem STR_CONFIG_SETTING_CATCHMENT :Mer realistisk størrelse på oppfangingsområder: {STRING} STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Ha oppsamlingsområder i forskjellige størrelser for forskjellige typer stasjoner og lufthavner @@ -1158,20 +1191,16 @@ STR_CONFIG_SETTING_FORBID_90_DEG :Forby tog og sk STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90-graders svinger oppstår når et horisontalt spor etterfølges av et vertikalt spor på tilstøtende kartelement, som dermed fører til at toget må snu 90 grader når det krysser kartelementet, istedenfor de vanlige 45 grader for andre spor-kombinasjoner. Dette gjelder også for båters svingradius STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Tillat sammenslåing av stasjoner som ikke ligger inntil hverandre: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Gjør det mulig å legge til deler til en stasjon uten at de er direkte ved siden av hverandre. Bruk Ctrl+klikk for å bygge slike stasjoner. -STR_CONFIG_SETTING_IMPROVEDLOAD :Bruk forbedret lastealgoritme: {STRING} -STR_CONFIG_SETTING_IMPROVEDLOAD_HELPTEXT :Hvis aktivert, vil flere kjøretøy som venter på en stasjon lastes sekvensielt. Lasting av neste kjøretøy begynner først når det er nok last tilgjengelig for å fylle opp det første kjøretøyet -STR_CONFIG_SETTING_GRADUAL_LOADING :Last kjøretøy gradvis: {STRING} -STR_CONFIG_SETTING_GRADUAL_LOADING_HELPTEXT :Gradvis laste kjøretøy ved å bruke kjøretøyenes spesifikke lastetider, i stedet for å laste alt på én gang med en fast varighet som bare avhenger av mengden gods lastet STR_CONFIG_SETTING_INFLATION :Inflasjon: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :Aktiver inflasjon i økonomien, der kostnader stiger litt raskere enn betalinger -STR_CONFIG_SETTING_SELECTGOODS :Lever varer til en stasjon kun hvis det er etterspørsel: {STRING} -STR_CONFIG_SETTING_SELECTGOODS_HELPTEXT :Bare levere gods til en stasjon som som har blitt forespurt fra et lastende kjøretøy. Dette forhindrer dårlige karakterer for gods som ikke betjenes på en stasjon STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Maksimal brolengde: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Maksimal lengde for broer +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :Maksimal brohøyde: {STRING} +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :Maksimal høyde for å bygge broer STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Maksimal tunnellengde: {STRING} STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :Maksimal lengde for tunneller STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Konstruksjonsmetode for primærindustri: {STRING} -STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_HELPTEXT :Metode for finansiering av primærindustri. 'Ingen' betyr at det ikke er mulig å finansiere noen. 'Prospekter' betyr at finansiering er mulig, men oppbyggingen skjer på et tilfeldig sted på kartet og kan like godt mislykkes. 'Som andre industrier' betyr at råvareindustri kan bygges opp av selskaper som prosessindustri hvor som helst på kartet +STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_HELPTEXT :Metode for finansiering av primærindustri. 'Ingen' betyr at det ikke er mulig å finansiere noen. 'Prospekterer' betyr at finansiering er mulig, men oppbyggingen skjer på et tilfeldig sted på kartet, og det er rimelig sjanse for at den mislykkes. 'Som andre industrier' betyr at råvareindustri kan bygges opp av firmaer hvor som helst på kartet på samme måte som prosessindustri STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NONE :Ingen STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NORMAL :Som andre industrier STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_PROSPECTING :Prospekterer @@ -1190,11 +1219,9 @@ STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :Nye ordre er 'd STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT :Normalt vil et kjøretøy stoppe på alle stasjoner det passerer. Ved å aktivere denne innstillingen, vil det kjøre gjennom alle stasjoner på vei til sin endelige destinasjon uten å stoppe. Merk at denne innstillingen bare definerer en standardverdi for nye ordre. Individuelle ordre kan uansett settes til begge atferder STR_CONFIG_SETTING_STOP_LOCATION :Nye togordre stopper som standard ved {STRING} av plattformen STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Plass hvor toget vil stoppe på plattformen som standard. Valget 'near end' betyr nær inngangspunktet og 'far end' betyr langt unna inngangspunktet. Merk at denne innstillingen bare definerer en standardverdi for nye ordre. Individuelle ordre kan uansett settes til begge atferder -STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :nær slutten +STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :nærenden STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :midten -STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :enden -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING :Kjøretøykø (med kvantumseffekter): {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING_HELPTEXT :Gjør at veikjøretøy må vente foran okkuperte veihindringer inntil de er fjernet +STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :bortenden STR_CONFIG_SETTING_AUTOSCROLL :Flytt på bildet hvis pilen er nær ytterkantene av skjermen: {STRING} STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Når aktivert, vil synsfeltet begynne å rulle når musen er nær kanten av vinduet STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Deaktivert @@ -1202,13 +1229,14 @@ STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT_FULLSCREEN :Hoved tillegsvi STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT :hoved tillegsvindu STR_CONFIG_SETTING_AUTOSCROLL_EVERY_VIEWPORT :alle tillegsvindu STR_CONFIG_SETTING_BRIBE :Tillat bestikkelser av bystyret: {STRING} -STR_CONFIG_SETTING_BRIBE_HELPTEXT :Tillat selskaper å prøve å bestikke de lokale myndighetene i byen. Hvis bestikkelsen blir oppdaget av en inspektør, vil selskapet ikke være i stand til å gjøre forretninger i byen de neste seks månedene +STR_CONFIG_SETTING_BRIBE_HELPTEXT :Tillat firmaer å prøve å bestikke de lokale myndighetene i byen. Hvis bestikkelsen blir oppdaget av en inspektør, vil selskapet ikke være i stand til å gjøre forretninger i byen de neste seks månedene +STR_CONFIG_SETTING_BRIBE_HELPTEXT.small :firma STR_CONFIG_SETTING_ALLOW_EXCLUSIVE :Tillat kjøp av eksklusive transportrettigheter: {STRING} STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT :Om et firma kjøper eksklusive transportrettigheter for en by, vil ikke motstandernes stasjoner motta varer eller passasjorer på ett år. STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS :Tillat finansiering av bygninger: {STRING} STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS_HELPTEXT :Tillat firmaer å gi penger til byer til bygging av nye bygninger STR_CONFIG_SETTING_ALLOW_FUND_ROAD :Tillat finansiering av lokal veikonstruksjon: {STRING} -STR_CONFIG_SETTING_ALLOW_FUND_ROAD_HELPTEXT :Tillat selskaper å gi penger til byer for omlegging av veinettet for å sabotere veibaserte tjenester i byen +STR_CONFIG_SETTING_ALLOW_FUND_ROAD_HELPTEXT :Tillat firmaer å gi penger til byer for omlegging av veinettet for å sabotere veibaserte tjenester i byen STR_CONFIG_SETTING_ALLOW_GIVE_MONEY :Tillat pengeoverføring til andre firmaer: {STRING} STR_CONFIG_SETTING_ALLOW_GIVE_MONEY_HELPTEXT :Tillat firmaer å overføre penger til andre firmaer i flerspillermodus STR_CONFIG_SETTING_FREIGHT_TRAINS :Vektmultiplikator for last for å simulere tunge tog: {STRING} @@ -1225,10 +1253,6 @@ STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Tillat stoppest STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Tillat bygging av stoppesteder med gjennomkjøring på by-eide veier STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Tillat stoppesteder med gjennomkjøring på motstander-eide veier: {STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Tillat bygging av gjennomkjørbare lastestasjoner på veier eid av andre selskaper -STR_CONFIG_SETTING_ADJACENT_STATIONS :Tillat bygging av nærliggende stasjoner: {STRING} -STR_CONFIG_SETTING_ADJACENT_STATIONS_HELPTEXT :Tillat forskjellige stasjoner å være i hverandre -STR_CONFIG_SETTING_DYNAMIC_ENGINES :Aktiver flere NewGRF-kjernesett: {STRING} -STR_CONFIG_SETTING_DYNAMIC_ENGINES_HELPTEXT :Kompatibilitets-valg for gamle NewGRF-filer. Ikke deaktivér dette med mindre du vet nøyaktig hva du gjør! STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Det er ikke mulig å endre denne innstillingen når det allerede finnes kjøretøy. STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Vedlikehold av infrastruktur: {STRING} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Når aktivert, medfører infrastruktur vedlikeholdskostnader. Kostnadene vokser over-proporsjonalt med nettverkets størrelse, og påvirker dermed større selskaper mer enn de små @@ -1260,34 +1284,48 @@ STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Varighet for vi STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{COMMA} andre{P 0 "" s} STR_CONFIG_SETTING_HOVER_DELAY :Vis verktøytips: {STRING} STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Forsinkelse før verktøytips vises når musen svever over elementer i grensesnittet. Alternativt kan verktøytips bindes til den høyre museknappen -STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Hovre i {COMMA} sekund{P 0 "" s} +STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Hovre i {COMMA} millisekunder{P 0 "" s} STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Høyreklikk STR_CONFIG_SETTING_POPULATION_IN_LABEL :Vis byers innbyggertall i tittelfeltet: {STRING} STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Vis inbyggertallet i byer i tittelfeltet på kartet STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Graflinjenes tykkelse: {STRING} STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Linjebredde i grafene. En tynn linje er mer presis å lese av, mens en tykkere linje er lettere å se, og farger er lettere å skille +STR_CONFIG_SETTING_LANDSCAPE :Landskap: {STRING} +STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Landskap definerer grunnleggende spill-scenarier med forskjellige laster og byers vekstkrav. NewGRF og spill-skript tillater imidlertid finere kontroll STR_CONFIG_SETTING_LAND_GENERATOR :Landskapsgenerator: {STRING} +STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :Den opprinnelige generatoren avhenger av det originale grafikksettet, og komponerer faste landskapsformer. TerraGenesis er en Perlin støybasert generator med finere kontrollinnstillinger STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Orginal STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis -STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Maks distanse fra kant for Olje Raffinerier: {STRING} +STR_CONFIG_SETTING_TERRAIN_TYPE :Terrengtype: {STRING} +STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(TerraGenesis bare) Hvor kupert landskapet er +STR_CONFIG_SETTING_INDUSTRY_DENSITY :Industritetthet: {STRING} +STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Angi hvor mange næringer som skal genereres og hvilket nivå som skal opprettholdes i løpet av spillet +STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Maks avstand fra kant for Oljeraffinerier: {STRING} STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Olje rafinerier er bare bygd nær kartets kanter, det er ved kysten på øy kart STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Snøgrense: {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Ulendthet på terreng (kun TerraGenesis): {STRING} +STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Kontroller på hvilken høyde snøen begynner i sub-arktiske landskap. Snø påvirker også industrigenerering og byers vekstkrav +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Grad av ujevnhet i terreng: {STRING} +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(TerraGenesis bare) Velg frekvensen av åser: Glatte landskap har færre og mer utbredte åser. Røffe landskap har mange åser, som kan fremstå repeterende STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Veldig jevnt STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Jevnt STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Ulendt STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Veldig ulendt +STR_CONFIG_SETTING_VARIETY :Variasjonsspredning: {STRING} +STR_CONFIG_SETTING_VARIETY_HELPTEXT :(TerraGenesis bare) Kontrollere om kartet inneholder både fjellrike og flate områder. Siden dette bare gjør kartet flatere, bør andre innstillinger settes til fjellrik +STR_CONFIG_SETTING_RIVER_AMOUNT :Elvemengde: {STRING} +STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Velg hvor mange elver som genereres STR_CONFIG_SETTING_TREE_PLACER :Treplasseringalgoritme: {STRING} +STR_CONFIG_SETTING_TREE_PLACER_HELPTEXT :Velg fordelingen av trær på kartet: 'Original' planter trær jevnt spredt, 'Forbedret' planter dem i grupper STR_CONFIG_SETTING_TREE_PLACER_NONE :Ingen STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :Original STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :Forbedret +STR_CONFIG_SETTING_ROAD_SIDE :Veikjøretøy: {STRING} +STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :Velg kjøre-siden STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Høydekartrotering: {STRING} STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Mot klokka STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Med klokka STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :Høydenivå et flatt scenariokart får: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :Tillat landskapsendring av ruter ved endene på kartet: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES_HELPTEXT :Når deaktivert, kartets kanter vil altid være hav STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}En eller flere ruter ved den nordlige kanten av kartet er ikke tom(me) STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}En eller flere ruter ved en av kantene på kartet er ikke vann @@ -1308,13 +1346,13 @@ STR_CONFIG_SETTING_SMOOTH_SCROLLING :Myk rulling: {S STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Velge hvordan synsfeltet ruller til en bestemt posisjon når du klikker på det lille kartet, eller ved utstedelse av en kommando for å gå til et bestemt objekt på kartet. Hvis aktivert, ruller synsfeltet jevnt, og hvis deaktivert hopper det direkte til det valgte punktet STR_CONFIG_SETTING_MEASURE_TOOLTIP :Vis målingsverktøy ved bruk av byggingsverktøy: {STRING} STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT :Vise avstander mellom kartelementer samt høydeforskjeller når du drar linjer ved byggevirksomhet -STR_CONFIG_SETTING_LIVERIES :Vis firmaovertakelser: {STRING} +STR_CONFIG_SETTING_LIVERIES :Vis utleiefirma etter kjøretøytype: {STRING} STR_CONFIG_SETTING_LIVERIES_HELPTEXT :Kontrollér bruken av kjøretøystype-spesifikke lakkeringer (i motsetning til selskaps-spesifikke) STR_CONFIG_SETTING_LIVERIES_NONE :Ingen STR_CONFIG_SETTING_LIVERIES_OWN :Eget firma STR_CONFIG_SETTING_LIVERIES_ALL :Alle firmaer STR_CONFIG_SETTING_PREFER_TEAMCHAT :Foretrekk lagsamtale med : {STRING} -STR_CONFIG_SETTING_PREFER_TEAMCHAT_HELPTEXT :Bytte bindingen av selskapets interne og offentlige kommunikasjon til , henholdsvis +STR_CONFIG_SETTING_PREFER_TEAMCHAT_HELPTEXT :Bytte bindingen av firmaets interne og offentlige kommunikasjon til , henholdsvis STR_CONFIG_SETTING_SCROLLWHEEL_SCROLLING :Rullehjulets funksjon: {STRING} STR_CONFIG_SETTING_SCROLLWHEEL_SCROLLING_HELPTEXT :Tillat rulling med todimensjonale musehjul STR_CONFIG_SETTING_SCROLLWHEEL_ZOOM :Zoom kartet @@ -1338,17 +1376,15 @@ 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_AUTOSAVE :Autolagring: {STRING} +STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Velg intervall mellom automatiske lagringer av spillet + STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Bruk {STRING} datoformat i navn på lagrede spill. STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Datoformat i lagrede spills filnavn STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :langt (31. Des 2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :kort (31-12-2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE :Antatt palett for NewGRFer uten spesifisert palett: {STRING} -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_HELPTEXT :Standardpalett å bruke for NewGRF filer som ikke angir hvilken palett de trenger -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_DOS :Standard (D) palett -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_WIN :Tradisjonell (W) palett - STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Pause automatisk ved start av nytt spill: {STRING} STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :Når aktivert, vil spillet automatisk pause når du starter et nytt spill, for å tillate nærmere studie av kartet STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Når spillet er på pause, tillat: {STRING} @@ -1357,7 +1393,7 @@ STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :Ingen handlinge STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :Alt utenom konstruksjon STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :Alt utenom landskapsendringer STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_ACTIONS :Alle handlinger -STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Bruk avansert kjøretøyliste: {STRING} +STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Bruk grupper i kjøretøyliste: {STRING} STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Aktiver bruk av de avanserte kjøretøyslistene for guppering av kjøretøy STR_CONFIG_SETTING_LOADING_INDICATORS :Bruk lastingsindikatorer: {STRING} STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Velg hvorvidt lasteindikatorer vises over kjøretøy som lastes eller losses @@ -1399,13 +1435,13 @@ STR_CONFIG_SETTING_SOUND_AMBIENT_HELPTEXT :Spille lyder fr STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING :Fjern infrastrukturbygging før tilhørende kjøretøy er tilgjengelige: {STRING} STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING_HELPTEXT :Når aktivert, vil infrastruktur bare være tilgjengelig hvis det også finnes kjøretøy tilgjengelig, for å forhindre sløsing av tid og penger på ubrukelig infrastruktur STR_CONFIG_SETTING_MAX_TRAINS :Maks antall tog per firma: {STRING} -STR_CONFIG_SETTING_MAX_TRAINS_HELPTEXT :Maksimalt antall tog som et selskap kan ha -STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :Maks antall kjøretøy per firma: {STRING} -STR_CONFIG_SETTING_MAX_ROAD_VEHICLES_HELPTEXT :Maksimalt antall veikjøretøy som et selskap kan ha +STR_CONFIG_SETTING_MAX_TRAINS_HELPTEXT :Maksimalt antall tog som et firma kan ha +STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :Maks antall veikjøretøy per firma: {STRING} +STR_CONFIG_SETTING_MAX_ROAD_VEHICLES_HELPTEXT :Maksimalt antall veikjøretøy som et firma kan ha STR_CONFIG_SETTING_MAX_AIRCRAFT :Maks antall luftfartøy per firma: {STRING} -STR_CONFIG_SETTING_MAX_AIRCRAFT_HELPTEXT :Maksimalt antall fly som et selskap kan ha +STR_CONFIG_SETTING_MAX_AIRCRAFT_HELPTEXT :Maksimalt antall fly som et firma kan ha STR_CONFIG_SETTING_MAX_SHIPS :Maks antall skip per firma: {STRING} -STR_CONFIG_SETTING_MAX_SHIPS_HELPTEXT :Maksimalt antall skip som et selskap kan ha +STR_CONFIG_SETTING_MAX_SHIPS_HELPTEXT :Maksimalt antall skip som et firma kan ha STR_CONFIG_SETTING_AI_BUILDS_TRAINS :Hindre datamaskinen i å bygge tog: {STRING} STR_CONFIG_SETTING_AI_BUILDS_TRAINS_HELPTEXT :Aktivering av denne innstillingen gjør bygging av tog umulig for en datamaskin-spiller @@ -1422,7 +1458,7 @@ STR_CONFIG_SETTING_AI_PROFILE_EASY :Lett STR_CONFIG_SETTING_AI_PROFILE_MEDIUM :Middels STR_CONFIG_SETTING_AI_PROFILE_HARD :Vanskelig -STR_CONFIG_SETTING_AI_IN_MULTIPLAYER :Tillat AIer i flerspiller: {STRING} +STR_CONFIG_SETTING_AI_IN_MULTIPLAYER :Tillat AI-er i flerspiller: {STRING} STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Tillat datamaskin-spillere å delta i flerspiller-spill STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :#opcodes før skript er avbrutt: {STRING} STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Maksimalt antall beregningstrinn et skript kan ta i én omgang @@ -1431,7 +1467,7 @@ STR_CONFIG_SETTING_SERVINT_ISPERCENT :Vedlikeholdsint STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Velge om vedlikehold av kjøretøyer utløses av tiden som er forløpt fra siste gjennomførte vedlikehold, eller av at pålitelighet dropper under en bestemt prosent av maksimal pålitelighet STR_CONFIG_SETTING_SERVINT_TRAINS :Standard vedlikeholdsintervall for tog: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Angi standard vedlikeholdsintervall for nye skinnegående kjøretøy, hvis det ikke er satt noe serviceintervall for kjøretøyet -STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA} dag{P 0 "" s}/% +STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}dag{P 0 "" er}/% STR_CONFIG_SETTING_SERVINT_DISABLED :Deaktivert STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES :Standard vedlikeholdsintervall for veikjøretøy: {STRING} STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES_HELPTEXT :Angi standard vedlikeholdsintervall for nye veikjøretøy, hvis det ikke er satt noe vedlikeholdsintervall for kjøretøyet @@ -1443,12 +1479,12 @@ STR_CONFIG_SETTING_NOSERVICE :Deaktiver vedli STR_CONFIG_SETTING_NOSERVICE_HELPTEXT :Når aktivert, vil kjøretøy ikke bli vedlikeholdt hvis de ikke kan bryte sammen STR_CONFIG_SETTING_WAGONSPEEDLIMITS :Aktiver fartsgrenser for vogner: {STRING} STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT :Når aktivert, brukes også fartsgrenser til vogner for å avgjøre den maksimale hastigheten til et tog -STR_CONFIG_SETTING_DISABLE_ELRAILS :Deaktiver elektriske tog: {STRING} +STR_CONFIG_SETTING_DISABLE_ELRAILS :Deaktiver elektriske spor: {STRING} STR_CONFIG_SETTING_DISABLE_ELRAILS_HELPTEXT :Aktivering av denne innstillingen deaktiverer kravet om å elektrifisere spor for å tillate at elektriske motorer kan kjøre på dem -STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OWN :Første kjøretøy på spillers stasjon: {STRING} -STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OWN_HELPTEXT :Vise en nyhetsoppdatering når det første kjøretøyet ankommer stasjonen til en ny spiller -STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OTHER :Første kjøretøy på motstanders stasjon: {STRING} +STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OWN :Første kjøretøy ankommer spillers stasjon: {STRING} +STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OWN_HELPTEXT :Vis en nyhetsoppdatering når det første kjøretøyet ankommer stasjonen til en ny spiller +STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OTHER :Første kjøretøy ankommer motstanders stasjon: {STRING} STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OTHER_HELPTEXT :Vise nyhetsoppdatering når det første kjøretøyet ankommer stasjonen til en ny motstander STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS :Ulykker / katastrofer: {STRING} STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS_HELPTEXT :Vise nyhetsoppdatering når ulykker eller katastrofer inntreffer @@ -1498,7 +1534,7 @@ STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT :Velg oppførsel STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE :Bygg vingesignal automatisk før: {STRING} STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT :Angi året når elektriske signal vil bi tatt i bruk for spor. Før dette året vil ikke-elektriske signal bli brukt (som har nøyaktig samme funksjon, men forskjellig utseende) STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI :Aktiver signalgrensesnittet: {STRING} -STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI_HELPTEXT :Vis et vindu for å velge hvilke singaltyper som skal bygges, i stedet for vindusløs signaltype-rotasjon når man Ctrl + klikker på byggesignaler +STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI_HELPTEXT :Vis et vindu for å velge hvilke signaltyper som skal bygges, i stedet for vindusløs signaltype-rotasjon når man Ctrl+klikker på bygde signaler STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE :Standard signaltype: {STRING} STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE_HELPTEXT :Standard signaltype som blir brukt STR_CONFIG_SETTING_DEFAULT_SIGNAL_NORMAL :Blokksignaler @@ -1522,7 +1558,7 @@ STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT :Tillat byer å STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :Byer har lov å bygge planoverganger: {STRING} STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Ved å aktivere denne innstillingen, tillates byer å bygge planoverganger STR_CONFIG_SETTING_NOISE_LEVEL :Tillat bykontrollert støynivå for flyplasser: {STRING} -STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Med denne innstillingen deaktivert kan det være to flyplasser i hver by. Med denne innstillingen aktivert, antall flyplasser i en by blir bestemt av lydaksepteringen i byen, som avhenger av innbyggertall, flyplasstørrelse og avstand +STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Når denne innstillingen er deaktivert, kan det være to flyplasser i hver by. Når denne innstillingen er aktivert, blir antall flyplasser i en by bestemt av graden av støytoleranse i byen. Graden avhenger av innbyggertall, flyplasstørrelse og avstand STR_CONFIG_SETTING_TOWN_FOUNDING :Grunnlegging av byer i spillet: {STRING} STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Ved å aktivere denne innstillingen tillates spillere å grunnlegge nye byer i spillet STR_CONFIG_SETTING_TOWN_FOUNDING_FORBIDDEN :Forbudt @@ -1570,12 +1606,10 @@ STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 av {COMMA} STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :ingen STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Innledende bystørrelsesmultiplikator: {STRING} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Gjennomsnittsstørrelse på (stor)byer i forhold til vanlige byer ved begynnelsen av spillet -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :Fjern absurde veielementer under veikonstruksjon: {STRING} -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD_HELPTEXT :Fjern blindveier under finansiert veikonstruksjon -STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Oppdater distribusjonsgraf hver {STRING} dag{P 0:2 "" s} +STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Oppdater distribusjonsgraf hver {STRING}{NBSP}dag{P 0:2 "" er} STR_CONFIG_SETTING_LINKGRAPH_INTERVAL_HELPTEXT :Tid mellom påfølgende reberegning av koblingsgrafen. Hver reberegning beregner planene for en del av grafen. Det betyr at en verdi X for denne innstillingen ikke betyr at hele grafen vil bli oppdatert for hver X. dag. Bare noen komponenter vil. Jo kortere du setter det, dess mer CPU tid bil være nødvendig for å beregne det. Jo lenger du setter den, dess lenger vil det ta før last-distribusjonen begynner på nye ruter. -STR_CONFIG_SETTING_LINKGRAPH_TIME :Benytt {STRING} dag{P 0:2 "" er} for reberegning av distribusjonsgraf +STR_CONFIG_SETTING_LINKGRAPH_TIME :Benytt {STRING}{NBSP}dag{P 0:2 "" er} for omberegning av distribusjonsgraf STR_CONFIG_SETTING_LINKGRAPH_TIME_HELPTEXT :Tiden det tar for hver ny reberegning av en graf-link komponent. Når en reberegning iverksettes, blir en tråd startet som tillates å kjøre for dette antall dager. Jo kortere du setter dette, desto mer sannsynlig er det at tråden ikke er ferdig til ønsket tid. Da stopper spillet ("etterslep"). Jo lenger du setter den, desto lenger tid tar det for distribusjonen å bli oppdatert når rutene endres. STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :manual STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :asymmetrisk @@ -1585,7 +1619,7 @@ STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"symmetrisk" be STR_CONFIG_SETTING_DISTRIBUTION_MAIL :Distribusjonsmodus for post: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"symmetrisk" betyr at omrent samme mengde post vil bli sent fra stasjon A til stasjon B som omvendt (fra B til A). "asymmetrisk" betyr at vilkårlige mengder post kan bli sendt i begge retninger. "manuelt" betyr at ingen automatisk distribusjon vil forekomme for post. STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Distribusjonsmodus for den pansrede gods-klassen: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :Den pansrede godsklassen inneholder verdisaker i det tempererte klimaet, diamanter i det subtropiske, og gull i det subarktiske. NEWGRF kan endre på dette. "symmetrisk" betyr at omtrent like mye gods vil bli sendt fra stasjon A til stasjon B som omvendt (fra B til A). "asymmetrisk" betyr at vilkårlige mengder gods kan sendes i begge retninger. "manuelt" betyr at ingen auomatisk distribusjon vil forekomme for lasten. Det anbefales å sette denne til asymmetrisk eller manuell når du spiller subarktisk, siden banker ikke vil sende noe gull tilbake til gullgruver. For temperert og subtropisk klima kan du også velge symmetrisk, da banker fint kan velge å sende verdisaker tilbake til opprinnelig bank. +STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :Den PANSREDE godsklassen inneholder verdisaker i det tempererte klimaet, diamanter i det subtropiske, og gull i det subarktiske. NewGRF-er kan endre på dette. "symmetrisk" betyr at omtrent like mye gods vil bli sendt fra stasjon A til stasjon B som omvendt (fra B til A). "asymmetrisk" betyr at vilkårlige mengder gods kan sendes i begge retninger. "manuelt" betyr at ingen automatisk distribusjon vil forekomme for lasten. Det anbefales å sette denne til asymmetrisk eller manuell når du spiller subarktisk, siden banker ikke vil sende noe gull tilbake til gullgruver. For temperert og subtropisk klima kan du også velge symmetrisk, da banker fint kan velge å sende verdisaker tilbake til opprinnelig bank. STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Distribusjonsmodus for andre godsklasser: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"asymmetrisk" betyr at vilkårlige mengder gods kan sendes i begge retninger. "manuelt" betyr at ingen automatisk distribusjon av gods vil forekomme for disse godstypene. STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Distribusjons-nøyaktighet: {STRING} @@ -1610,50 +1644,52 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_METRIC :Metrisk (HK) STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_SI :SI (kW) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT :Vekt-enheter: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_HELPTEXT :Når vektene er vist i brukergrensesnittet , vise det i de utvalgte enheter +STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_HELPTEXT :Når vektene vises i brukergrensesnittet, vis dem i de utvalgte enhetene STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_IMPERIAL :Det britiske imperiets enhetssystem ('short t'/tonn) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_METRIC :Metrisk (t/tonn) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_SI :SI (kg) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME :Volumenheter: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_HELPTEXT :Når volumene er vist i brukergrensesnittet, vise det i de utvalgte enhter +STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_HELPTEXT :Når volumene vises i brukergrensesnittet, vis dem i de utvalgte enhetene STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_IMPERIAL :Det britiske imperiets enhetssystem (gal) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_METRIC :Metrisk (l) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_SI :SI (m³) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE :Enhet for trekkraft: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_HELPTEXT :Når trekkarbeid, også kjent som trekkraft, er vist i brukergrensesnittet, vis det i de utvaglte enheter +STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_HELPTEXT :Når trekkarbeid, også kjent som trekkraft, er vist i brukergrensesnittet, vis det i de utvalgte enhetene STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_IMPERIAL :Det britiske imperiets enhetssystem (lbf) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_METRIC :Metrisk (kgf) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_SI :SI (kN) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT :Høyde-enheter: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT :Når høyder vises i brukergrensesnittet, vise det i de utvalgte enheter +STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT :Når en høyde vises i brukergrensesnittet, vis den i de valgte enhetene STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :Det britiske imperiets enhetssystem (fot) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :Metrisk (m) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :SI (m) -STR_CONFIG_SETTING_GUI :{ORANGE}Grensesnitt STR_CONFIG_SETTING_LOCALISATION :{ORANGE}Lokalisering -STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}Konstruksjon -STR_CONFIG_SETTING_VEHICLES :{ORANGE}Kjøretøy -STR_CONFIG_SETTING_STATIONS :{ORANGE}Stasjoner -STR_CONFIG_SETTING_ECONOMY :{ORANGE}Økonomi -STR_CONFIG_SETTING_LINKGRAPH :{ORANGE}Gods-distribusjon -STR_CONFIG_SETTING_AI :{ORANGE}Motstandere -STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}Visningsinnstillinger -STR_CONFIG_SETTING_INTERACTION :{ORANGE}Samhandling +STR_CONFIG_SETTING_GRAPHICS :{ORANGE}Grafikk STR_CONFIG_SETTING_SOUND :{ORANGE}Lydeffekter -STR_CONFIG_SETTING_NEWS :{ORANGE}Nyheter og meldinger -STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}Signaler -STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE}Varehåndtering -STR_CONFIG_SETTING_AI_NPC :{ORANGE}Datamaskinstyrte spillere -STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE}Autoforny -STR_CONFIG_SETTING_VEHICLES_SERVICING :{ORANGE}Vedlikehold +STR_CONFIG_SETTING_INTERFACE :{ORANGE}Grensesnitt +STR_CONFIG_SETTING_INTERFACE_GENERAL :{ORANGE}Generelt +STR_CONFIG_SETTING_INTERFACE_VIEWPORTS :{ORANGE}Synsfelt +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Konstruksjon +STR_CONFIG_SETTING_ADVISORS :{ORANGE}Nyheter / Rådgivere +STR_CONFIG_SETTING_COMPANY :{ORANGE}Firma +STR_CONFIG_SETTING_ACCOUNTING :{ORANGE}Regnskap +STR_CONFIG_SETTING_VEHICLES :{ORANGE}Kjøretøy +STR_CONFIG_SETTING_VEHICLES_PHYSICS :{ORANGE}Fysikk STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Ruting -STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}Tog -STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}Byer -STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}Industrier +STR_CONFIG_SETTING_LIMITATIONS :{ORANGE}Begrensninger +STR_CONFIG_SETTING_ACCIDENTS :{ORANGE}Katastrofer / Ulykker +STR_CONFIG_SETTING_GENWORLD :{ORANGE}Verdensgenerering +STR_CONFIG_SETTING_ENVIRONMENT :{ORANGE}Miljø +STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :{ORANGE}Myndigheter +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Byer +STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}Industrier +STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :{ORANGE}Gods-distribusjon +STR_CONFIG_SETTING_AI :{ORANGE}Motstandere +STR_CONFIG_SETTING_AI_NPC :{ORANGE}Datamaskinstyrte spillere STR_CONFIG_SETTING_PATHFINDER_OPF :Original STR_CONFIG_SETTING_PATHFINDER_NPF :NPF @@ -1702,7 +1738,7 @@ STR_INTRO_MULTIPLAYER :{BLACK}Flerspil STR_INTRO_GAME_OPTIONS :{BLACK}Spillinnstillinger STR_INTRO_HIGHSCORE :{BLACK}Tavle med høyeste poengsummer -STR_INTRO_ADVANCED_SETTINGS :{BLACK}Avanserte Innstillinger +STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Innstillinger STR_INTRO_NEWGRF_SETTINGS :{BLACK}NewGRF-innstillinger STR_INTRO_ONLINE_CONTENT :{BLACK}Se etter innhold på nettet STR_INTRO_SCRIPT_SETTINGS :{BLACK}AI/Spillskript-innstillinger @@ -1722,7 +1758,7 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Velg lek STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Vis spillinnstillinger STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Vise tavle over høyeste poengsummer -STR_INTRO_TOOLTIP_ADVANCED_SETTINGS :{BLACK}Vis avanserte innstillinger +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Vis innstillinger STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Vis NewGRF-instillinger STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Se etter nytt og oppdatert innhold for nedlasting STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Vis AI/Spillskript-innstillinger @@ -1762,6 +1798,8 @@ STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Spiller STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Magisk bulldoser (fjern industrier, uflyttbare objekter): {ORANGE}{STRING} STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}Tunneler kan krysse hverandre: {ORANGE}{STRING} STR_CHEAT_NO_JETCRASH :{LTBLUE}Jetfly vil ikke krasje (regelmessig) på små flyplasser: {ORANGE} {STRING} +STR_CHEAT_EDIT_MAX_HL :{LTBLUE}Rediger den maksimale karthøyden: {ORANGE}{NUM} +STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Rediger den maksimale fjellhøyden på kartet STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE :Temperert landskap STR_CHEAT_SWITCH_CLIMATE_SUB_ARCTIC_LANDSCAPE :Subarktisk landskap STR_CHEAT_SWITCH_CLIMATE_SUB_TROPICAL_LANDSCAPE :Subtropisk landskap @@ -1810,6 +1848,7 @@ STR_LIVERY_FREIGHT_TRAM :Varetrikk STR_FACE_CAPTION :{WHITE}Velg ansikt STR_FACE_CANCEL_TOOLTIP :{BLACK}Avbryt ansiktsvalg STR_FACE_OK_TOOLTIP :{BLACK}Godta nytt ansikt +STR_FACE_RANDOM :{BLACK}Tilfeldiggjør STR_FACE_MALE_BUTTON :{BLACK}Mann STR_FACE_MALE_TOOLTIP :{BLACK}Velg mannsansikter @@ -1930,13 +1969,14 @@ STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}Beskytt STR_NETWORK_START_SERVER_UNADVERTISED :Nei STR_NETWORK_START_SERVER_ADVERTISED :Ja STR_NETWORK_START_SERVER_CLIENTS_SELECT :{BLACK}{NUM} klient{P "" er} -STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Maks antall tillatte klienter: +STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Maks antall klienter: +STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS.small :dra og slipp STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS_TOOLTIP :{BLACK}Velg maks antall klienter. Ikke alle plassene trenger å bli tatt STR_NETWORK_START_SERVER_COMPANIES_SELECT :{BLACK}{NUM} firma{P "" er} STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}Maks antall firmaer: STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES_TOOLTIP :{BLACK}Begrens tjeneren til et bestemt antall firmaer STR_NETWORK_START_SERVER_SPECTATORS_SELECT :{BLACK}{NUM} tilskuer{P "" e} -STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS :{BLACK}Maks antall tilskuere +STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS :{BLACK}Maks antall tilskuere: STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS_TOOLTIP :{BLACK}Begrens tjeneren til et bestemt antall tilskuere STR_NETWORK_START_SERVER_LANGUAGE_SPOKEN :{BLACK}Språk de snakker på tjeneren: STR_NETWORK_START_SERVER_LANGUAGE_TOOLTIP :{BLACK}Andre spillere skal kunne vite hvilket språk man snakker på denne tjeneren @@ -2279,7 +2319,7 @@ STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Bygg jer STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Bygg togstall (trengs for å kjøpe og vedlikeholde tog). Shift slår av/på kostnadsestimat STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Gjør om jernbane til kontrollpunkt. Ctrl slår sammen kontrollpunkt. Shift slår av/på kostnadsestimat STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Bygg jernbanestasjon. Ctrl slår sammen stasjoner. Shift slår av/på kostnadsestimat -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Bygg jernbanesignaler. Ctrl veksler mellom vingesignaler/lyssignaler{}Hold og dra for å bygge signaler langs en rett jernbanestrekning. Ctrl bygger signaler til det neste krysset. Ctrl+klikk viser/skjuler signalvalgsvinduet. Shift slår av/på kostnadsestimat +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Bygg jernbanesignaler. Ctrl veksler mellom vingesignaler/lyssignaler{}Hold og dra for å bygge signaler langs en rett jernbanestrekning. Ctrl bygger signaler til det neste krysset eller signalet. Ctrl+klikk viser/skjuler signalvalgsvinduet. Shift bytter mellom bygging/vising av kostnadsestimat STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Bygg jernbanebro. Shift slår av/på kostnadsestimat STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Bygg jernbanetunnel. Shift slår av/på kostnadsestimat STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Veksle mellom bygging/fjerning av jernbanespor, signaler, kontrollpunkt og stasjoner. Hold inne Ctrl for i tillegg å fjerne jernbanespor fra kontrollpunkt og stasjoner @@ -2428,7 +2468,7 @@ STR_AIRPORT_HELISTATION :{G=masculine}He STR_AIRPORT_CLASS_SMALL :Små flyplasser STR_AIRPORT_CLASS_LARGE :Store flyplasser -STR_AIRPORT_CLASS_HUB :Sentrumsflyplasser +STR_AIRPORT_CLASS_HUB :Hovedflyplasser STR_AIRPORT_CLASS_HELIPORTS :Helikopterplasser STR_STATION_BUILD_NOISE :{BLACK}Støy generert: {GOLD}{COMMA} @@ -2651,7 +2691,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-2014 OpenTTD-teamet +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 OpenTTD-teamet # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Lagre spill @@ -2686,13 +2726,12 @@ STR_MAPGEN_BY :{BLACK}* STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Antall byer: STR_MAPGEN_DATE :{BLACK}Dato: STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Antall industrier: +STR_MAPGEN_MAX_HEIGHTLEVEL :{BLACK}Maksimal karthøyde: +STR_MAPGEN_MAX_HEIGHTLEVEL_UP :{BLACK}Øk den maksimale fjellhøyden på kartet med én +STR_MAPGEN_MAX_HEIGHTLEVEL_DOWN :{BLACK}Redusér den maksimale fjellhøyden på kartet med én STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}Høyde på snøgrensen: STR_MAPGEN_SNOW_LINE_UP :{BLACK}Flytt høyden på snøgrensen ett hakk opp STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}Flytt høyden på snøgrensen ett hakk ned -STR_MAPGEN_RANDOM_SEED :{BLACK}Såtall: -STR_MAPGEN_RANDOM_SEED_HELP :{BLACK}Klikk her for å taste inn et såtall -STR_MAPGEN_RANDOM :{BLACK}Tilfeldiggjør -STR_MAPGEN_RANDOM_HELP :{BLACK}Endre såtall som brukes for terreng-generering STR_MAPGEN_LAND_GENERATOR :{BLACK}Landskapsgenerator STR_MAPGEN_TREE_PLACER :{BLACK}Trealgoritme: STR_MAPGEN_TERRAIN_TYPE :{BLACK}Terrengtype: @@ -2719,7 +2758,7 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Høydeka STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Størrelse: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} -STR_MAPGEN_RANDOM_SEED_OSKTITLE :{BLACK}Skriv inn et såtall +STR_MAPGEN_MAX_HEIGHTLEVEL_QUERY_CAPT :{WHITE}Endre maksimal karthøyde STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}Endre høyden på snøgrensen STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Endre startår @@ -2774,6 +2813,8 @@ STR_NEWGRF_SETTINGS_MOVEUP :{BLACK}Flytt op STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP :{BLACK}Flytt den valgte NewGRF-filen oppover listen STR_NEWGRF_SETTINGS_MOVEDOWN :{BLACK}Flytt ned STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP :{BLACK}Flytt den valgte NewGRF-filen nedover listen +STR_NEWGRF_SETTINGS_UPGRADE :{BLACK}Oppgrader +STR_NEWGRF_SETTINGS_UPGRADE_TOOLTIP :{BLACK}Oppgrader NewGRF-filene der du har en nyere versjon installert STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}En liste over NewGRF-filene som er installert. STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}Sett parametre @@ -2798,6 +2839,16 @@ STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Matchende STR_NEWGRF_SETTINGS_DISABLED :{RED}Deaktivert STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Inkompatibel med denne versjonen av OpenTTD +# NewGRF save preset window +STR_SAVE_PRESET_CAPTION :{WHITE}Lagre forhåndsinnstilling +STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK}Liste over tilgjengelige forhåndsinnstillinger. Velg en for å kopiere den til det lagrede navnet nedenfor +STR_SAVE_PRESET_TITLE :{BLACK}Skriv inn et navn for forhåndsinnstillingen +STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}Valgt navn for forhåndsinnstillingen som skal lagres +STR_SAVE_PRESET_CANCEL :{BLACK}Avbryt +STR_SAVE_PRESET_CANCEL_TOOLTIP :{BLACK}Ikke forandre forhåndsinnstillingen +STR_SAVE_PRESET_SAVE :{BLACK}Lagre +STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}Lagre forhåndsinnstillingen med det valgte navnet + # NewGRF parameters window STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Forandre NewGRF-parametre STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Lukk @@ -2822,13 +2873,16 @@ STR_NEWGRF_INSPECT_QUERY_CAPTION :{WHITE}NewGRF-v STR_SPRITE_ALIGNER_CAPTION :{WHITE}Forskyver sprite {COMMA} ({STRING}) STR_SPRITE_ALIGNER_NEXT_BUTTON :{BLACK}Neste sprite STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Fortsett til neste normale sprite og hopp over enhver pseudo-/omfargings-/skrifttype- sprite, samt start om ved begynnelsen -STR_SPRITE_ALIGNER_GOTO_BUTTON :{BLACK}Gå til figur +STR_SPRITE_ALIGNER_GOTO_BUTTON :{BLACK}Gå til sprite STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}Gå til gitt sprite. Hvis spriten ikke er en normal sprite, fortsett til neste normale sprite -STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Forrige figur +STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Forrige sprite STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Fortsett til forrige normale sprite og hopp over enhver pseudo-/omfargings-/skrifttype- sprite, samt start om ved begynnelsen STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Forhåndsvisning av valgt sprite. Innrettingen ignoreres når spriten tegnes -STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Flytt spriten rundt omkring, for å endre X- og Y-forskyvningene -STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X-forskyvning: {NUM}, Y-forskyvning: {NUM} +STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Flytt på spriten for å endre X- og Y-forskyvningene +STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Tilbakestill relativt +STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Nullstill de nåværende relative forskyvningene +STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}X forskyvning: {NUM}, Y forskyvning: {NUM} (Absolutt) +STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}X forskyvning: {NUM}, Y forskyvning: {NUM} (Relativt) STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Velg en sprite STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Velg en sprite fra et vilkårlig sted på skjermen @@ -2841,26 +2895,26 @@ STR_NEWGRF_ERROR_MSG_ERROR :{RED}Feil: {SIL STR_NEWGRF_ERROR_MSG_FATAL :{RED}Fatal: {SILVER}{STRING} STR_NEWGRF_ERROR_FATAL_POPUP :{WHITE}En fatal NewGRF-feil har oppstått: {}{STRING} STR_NEWGRF_ERROR_VERSION_NUMBER :{1:STRING} virker ikke med TTDPatch-versjonen som er rapportert av OpenTTD -STR_NEWGRF_ERROR_DOS_OR_WINDOWS :{1:STRING} er for versjon {STRING} av TTD. -STR_NEWGRF_ERROR_UNSET_SWITCH :{1:STRING} er laget for å bli brukt med {STRING} +STR_NEWGRF_ERROR_DOS_OR_WINDOWS :{1:STRING} er for versjon {STRING} av TTD +STR_NEWGRF_ERROR_UNSET_SWITCH :{1:STRING} er laget for bruk med {STRING} STR_NEWGRF_ERROR_INVALID_PARAMETER :Ugyldig parameter for {1:STRING}: parameter {STRING} ({NUM}) -STR_NEWGRF_ERROR_LOAD_BEFORE :{1:STRING} må være lastet før {STRING}. -STR_NEWGRF_ERROR_LOAD_AFTER :{1:STRING} må være lastet etter {STRING}. -STR_NEWGRF_ERROR_OTTD_VERSION_NUMBER :{1:STRING} krever OpenTTD versjon {STRING} eller nyere. +STR_NEWGRF_ERROR_LOAD_BEFORE :{1:STRING} må lastes inn før {STRING}. +STR_NEWGRF_ERROR_LOAD_AFTER :{1:STRING} må lastes inn etter {STRING}. +STR_NEWGRF_ERROR_OTTD_VERSION_NUMBER :{1:STRING} krever OpenTTD versjon {STRING} eller nyere STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE :GRF-filen den var laget for å oversette -STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :For mange NewGRFer innlastet. -STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :Å laste inn {1:STRING} som statisk NewGRF med {STRING} kan forårsake synkroniseringsfeil. -STR_NEWGRF_ERROR_UNEXPECTED_SPRITE :Uventet figur (figur {3:NUM}) +STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :For mange NewGRF-er er innlastet +STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :Å laste inn {1:STRING} som statisk NewGRF med {STRING} kan forårsake synkroniseringsfeil +STR_NEWGRF_ERROR_UNEXPECTED_SPRITE :Uventet sprite (figur {3:NUM}) STR_NEWGRF_ERROR_UNKNOWN_PROPERTY :Ukjent Handling 0 egenskap {4:HEX} (figur {3:NUM}) -STR_NEWGRF_ERROR_INVALID_ID :Forsøkt å bruke ugyldig ID (figur {3:NUM}) -STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} inneholder en ødelagt sprite. Alle ødelagte spriter vil bli vist som røde spørsmålstegn (?). -STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Inneholder flere Handling 8 oppføringer (figur {3:NUM}) -STR_NEWGRF_ERROR_READ_BOUNDS :Leste forbi slutten av pseudo-figur (figur {3:NUM}) -STR_NEWGRF_ERROR_MISSING_SPRITES :{WHITE}Det nåværende grafikksettet mangler en del spriter.{}Vennligst oppdater grafikksettet. -STR_NEWGRF_ERROR_MISSING_SPRITES_UNSTABLE :{WHITE}Den benyttede grafikkpakken mangler en mengde bildeelementer.{}Vennligst oppdater grafikkpakken.{}Siden du spiller en {YELLOW}utviklingsversjon av OpenTTD{WHITE}, kan det være at du også trenger en {YELLOW}utviklingsversjon av grafikkpakken{WHITE} +STR_NEWGRF_ERROR_INVALID_ID :Forsøk på å bruke ugyldig ID (sprite {3:NUM}) +STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} inneholder en ødelagt sprite. Alle ødelagte spriter blir vist som røde spørsmålstegn (?). +STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Inneholder flere Handling 8-oppføringer (figur {3:NUM}) +STR_NEWGRF_ERROR_READ_BOUNDS :Leste forbi slutten av pseudo-sprite (figur {3:NUM}) +STR_NEWGRF_ERROR_MISSING_SPRITES :{WHITE}Det benyttede grafikksettet mangler en del spriter.{}Du må oppdatere grafikksettet. +STR_NEWGRF_ERROR_MISSING_SPRITES_UNSTABLE :{WHITE}Den benyttede grafikkpakken mangler en mengde bildeelementer.{}Du må oppdatere grafikkpakken.{}Siden du spiller en {YELLOW}utviklingsversjon av OpenTTD{WHITE}, kan det være at du også trenger en {YELLOW}utviklingsversjon av grafikkpakken{WHITE} STR_NEWGRF_ERROR_GRM_FAILED :Etterspurte GRF-ressurser ikke tilgjengelig (figur {3:NUM}) STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING} ble deaktivert av {STRING} -STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Ugyldig/ukjent figur layout-format (figur {3:NUM}) +STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Ugyldig/ukjent sprite layout-format (figur {3:NUM}) # NewGRF related 'general' warnings STR_NEWGRF_POPUP_CAUTION_CAPTION :{WHITE}Advarsel! @@ -2873,7 +2927,7 @@ STR_NEWGRF_TOO_MANY_NEWGRFS :{WHITE}Kan ikke STR_NEWGRF_COMPATIBLE_LOAD_WARNING :{WHITE}Kompatibel GRF(er) lastet for manglende filer STR_NEWGRF_DISABLED_WARNING :{WHITE}Manglende GRF-fil(er) har blitt deaktivert STR_NEWGRF_UNPAUSE_WARNING_TITLE :{YELLOW}Mangler GRF-fil(er) -STR_NEWGRF_UNPAUSE_WARNING :{WHITE}Å slå av pause kan medføre at OpenTTD krasjer. Ikke rapporter feil for etterfølgende krasjer.{}Vil du virkelig slå av pause? +STR_NEWGRF_UNPAUSE_WARNING :{WHITE}Å slå av pause kan medføre at OpenTTD krasjer. Ikke rapporter feil for etterfølgende krasjer.{}Er du sikker på at du vil slå av pause? # NewGRF status STR_NEWGRF_LIST_NONE :Ingen @@ -2886,7 +2940,7 @@ STR_NEWGRF_BROKEN :{WHITE}Atferden STR_NEWGRF_BROKEN_POWERED_WAGON :{WHITE}Det endret maskinvogn-tilstand for '{1:ENGINE}' mens det er utenfor en togstall. STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Det endret kjøretøylengde for '{1:ENGINE}' når utenfor en togstall. STR_NEWGRF_BROKEN_CAPACITY :{WHITE} Det endret kjøretøykapasitet for '{1:ENGINE}' når ikke i et depot eller under ombygging -STR_BROKEN_VEHICLE_LENGTH :{WHITE}Tog '{VEHICLE}' tilhørende '{COMPANY}' har ugyldig lengde. Dette skyldes trolig problemer med NewGRFer. Spillet kan bli usynkronisert eller krasje. +STR_BROKEN_VEHICLE_LENGTH :{WHITE}Tog '{VEHICLE}' tilhørende '{COMPANY}' har ugyldig lengde. Dette skyldes trolig problemer med NewGRF-er. Spillet kan bli usynkronisert eller krasje. STR_NEWGRF_BUGGY :{WHITE}NewGRF '{0:STRING}' gir feilaktig informasjon. STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}Vare-/ombyggingsinformasjon for '{1:ENGINE}' er forskjellig fra kjøpelisten etter konstruksjonen. Dette kan resultere i at autofornying ikke fungerer på riktig måte. @@ -2940,10 +2994,10 @@ STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} levert STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (fortsatt nødvendig) STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (levert) -STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Byen vokser hver {ORANGE}{COMMA}.{BLACK} dag -STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Byen vokser hver {ORANGE}{COMMA}.{BLACK} dag (finansiert) +STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Byen vokser hver {ORANGE}{COMMA}{BLACK}{NBSP}dag{P "" s} +STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Byen vokser hver {ORANGE}{COMMA}{BLACK}{NBSP}dag{P "" s} (finansiert) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}Byen vokser {RED}ikke{BLACK} -STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Byens støygrense: {ORANGE}{COMMA}{BLACK} maks: {ORANGE}{COMMA} +STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Flystøy: {ORANGE}{COMMA}{BLACK} støygrense: {ORANGE}{COMMA} STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Gå til by. Ctrl+klikk åpner et nytt tilleggsvindu over byen STR_TOWN_VIEW_LOCAL_AUTHORITY_BUTTON :{BLACK}Bystyre STR_TOWN_VIEW_LOCAL_AUTHORITY_TOOLTIP :{BLACK}Vis informasjon om bystyret @@ -3001,7 +3055,7 @@ STR_GOAL_QUESTION_CAPTION_INFORMATION :Informasjon STR_GOAL_QUESTION_CAPTION_WARNING :Advarsel STR_GOAL_QUESTION_CAPTION_ERROR :Feil -### Start of Goal Question button list +############ Start of Goal Question button list STR_GOAL_QUESTION_BUTTON_CANCEL :Avbryt STR_GOAL_QUESTION_BUTTON_OK :OK STR_GOAL_QUESTION_BUTTON_NO :Nei @@ -3020,6 +3074,7 @@ STR_GOAL_QUESTION_BUTTON_RESTART :Start på nytt STR_GOAL_QUESTION_BUTTON_POSTPONE :Utsett STR_GOAL_QUESTION_BUTTON_SURRENDER :Gi opp STR_GOAL_QUESTION_BUTTON_CLOSE :Lukk +############ End of Goal Question button list # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}Subsidier @@ -3055,7 +3110,6 @@ STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}Ingen va # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} -STR_STATION_VIEW_WAITING_TITLE :{BLACK}Venter: {WHITE}{STRING} STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} på vei fra {STATION}) STR_STATION_VIEW_RESERVED :{YELLOW}({CARGO_SHORT} reservert for lasting) @@ -3299,7 +3353,7 @@ STR_GROUP_DEFAULT_ROAD_VEHICLES :Ugrupperte kjø STR_GROUP_DEFAULT_SHIPS :Ugrupperte skip STR_GROUP_DEFAULT_AIRCRAFTS :Ugrupperte luftfartøy -STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Grupper - Klikk en gruppe for å se alle kjøretøy i gruppen +STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Grupper - Klikk på en gruppe for å se alle kjøretøy i gruppen. Dra og slipp grupper for å arrangere dem hierarkisk STR_GROUP_CREATE_TOOLTIP :{BLACK}Klikk for å opprette en gruppe STR_GROUP_DELETE_TOOLTIP :{BLACK}Fjern den valgte gruppen STR_GROUP_RENAME_TOOLTIP :{BLACK}Gi nytt navn på den valgte gruppen @@ -3345,10 +3399,10 @@ STR_PURCHASE_INFO_ALL_BUT :Alt utenom {CAR STR_PURCHASE_INFO_MAX_TE :{BLACK}Maks trekkraft: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Rekkevidde: {GOLD}{COMMA} ruter -STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Liste over tog/vogner - klikk på tog/vogn for mer informasjon -STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Liste over kjøretøy - klikk på kjøretøy for mer informasjon -STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Liste over skip - klikk på skip for mer informasjon -STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Liste over luftfartøy - klikk på luftfartøy for mer informasjon +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 +STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Liste over skip - klikk på skip for mer informasjon. Ctrl+klikk for å skjule/vise skiptypen +STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Liste over luftfartøy - klikk på luftfartøy for mer informasjon. Ctrl+klikk for å skjule/vise luftfartøytypen STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}Kjøp tog/vogn STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Kjøp kjøretøy @@ -3370,6 +3424,21 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Gi nytt STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Gi nytt navn til skipstypen STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Gi nytt navn til luftfartøytypen +STR_BUY_VEHICLE_TRAIN_HIDE_TOGGLE_BUTTON :{BLACK}Skjul +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_TOGGLE_BUTTON :{BLACK}Skjul +STR_BUY_VEHICLE_SHIP_HIDE_TOGGLE_BUTTON :{BLACK}Skjul +STR_BUY_VEHICLE_AIRCRAFT_HIDE_TOGGLE_BUTTON :{BLACK}Skjul + +STR_BUY_VEHICLE_TRAIN_SHOW_TOGGLE_BUTTON :{BLACK}Vis +STR_BUY_VEHICLE_ROAD_VEHICLE_SHOW_TOGGLE_BUTTON :{BLACK}Vis +STR_BUY_VEHICLE_SHIP_SHOW_TOGGLE_BUTTON :{BLACK}Vis +STR_BUY_VEHICLE_AIRCRAFT_SHOW_TOGGLE_BUTTON :{BLACK}Vis + +STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Veksle mellom å skjule/vise typen av jernbanekjøretøy +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Veksle mellom å skjule/vise kjøretøystypen +STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Veksle mellom å skjule/vise skipstypen +STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Bytte mellom å skjule/vise flytypen + STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}Gi tog/vogntype nytt navn STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}Gi kjøretøytypen nytt navn STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}Gi skipstypen nytt navn @@ -3423,7 +3492,7 @@ STR_DEPOT_CLONE_ROAD_VEHICLE :{BLACK}Kopier k STR_DEPOT_CLONE_SHIP :{BLACK}Kopier skip STR_DEPOT_CLONE_AIRCRAFT :{BLACK}Kopier luftfartøy -STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Dette vil skape en kopi av et tog inkludert alle vognene. Klikk denne knappen og deretter på et tog utenfor eller inni togstallen. Ctrl+klikk vil dele ordrene. Shift+klikk viser estimert kostnad +STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Dette vil kjøpe en kopi av et tog inkludert alle vognene. Klikk denne knappen og deretter på et tog utenfor eller inni togstallen. Ctrl+klikk deler ordrene. Shift+klikk viser estimert kostnad uten kjøp STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Dette vil skape en kopi av et kjøretøy. Klikk denne knappen og deretter på et kjøretøy utenfor eller inni garasjen. Ctrl+klikk vil dele ordrene. Shift+klikk viser estimert kostnad STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Dette vil skape en kopi av et skip. Klikk denne knappen og deretter på et skip utenfor eller inni skipsdokken. Ctrl+klikk vil dele ordrene. Shift+klikk viser estimert kostnad STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Dette vil skape en kopi av et luftfartøy. Klikk denne knappen og deretter på et luftfartøy utenfor eller inni hangaren. Ctrl+klikk vil dele ordrene. Shift+klikk viser estimert kostnad @@ -3474,6 +3543,11 @@ STR_REPLACE_VEHICLE_ROAD_VEHICLE :Kjøretøy STR_REPLACE_VEHICLE_SHIP :Skip STR_REPLACE_VEHICLE_AIRCRAFT :{G=neuter}Luftfartøy +STR_REPLACE_VEHICLE_VEHICLES_IN_USE :{YELLOW}Kjøretøy i bruk +STR_REPLACE_VEHICLE_VEHICLES_IN_USE_TOOLTIP :{BLACK}Kolonne med kjøretøy som du eier +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES :{YELLOW}Tilgjengelige kjøretøy +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES_TOOLTIP :{BLACK}Kolonne med kjøretøy tilgjengelig for utskiftning + STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Velg lokomotivtype som skal erstattes STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Velg lokomotivtypen du ønsker at skal erstatte den du har valgt til venstre @@ -3680,7 +3754,7 @@ STR_ORDER_GO_VIA :Gå via STR_ORDER_GO_NON_STOP_VIA :Gå direkte via STR_ORDER_TOOLTIP_NON_STOP :{BLACK}Endre stopprutinene for den merkede ordren -STR_ORDER_TOGGLE_FULL_LOAD :{BLACK}Full last av enhver varetype +STR_ORDER_TOGGLE_FULL_LOAD :{BLACK}Full last av alle varetyper STR_ORDER_DROP_LOAD_IF_POSSIBLE :Last hvis tilgjengelig STR_ORDER_DROP_FULL_LOAD_ALL :Full last av alle varetyper STR_ORDER_DROP_FULL_LOAD_ANY :Full last av minst en varetype @@ -3696,8 +3770,8 @@ STR_ORDER_TOOLTIP_UNLOAD :{BLACK}Endre lo STR_ORDER_REFIT :{BLACK}Bygg om STR_ORDER_REFIT_TOOLTIP :{BLACK}Velg hvilken varetype det skal bygges om til i denne ordren. Ctrl+klikk for å fjerne ombyggingsordren -STR_ORDER_REFIT_AUTO :{BLACK}Automatisk ombygging -STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Velg hvilken varetype det skal automatisk bygges om til i denne ordren. Ctrl+klikk for å fjerne ombyggingsinstrukser. Automatisk ombygging vil kun bli utført hvis kjøretøyet tillater det +STR_ORDER_REFIT_AUTO :{BLACK}Ombygging på stasjon +STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Velg hvilken godstype det skal bygges om til i denne ordren. Ctrl+klikk for å fjerne ombyggingsinstrukser. Ombygging blir kun utført hvis kjøretøyet tillater det STR_ORDER_DROP_REFIT_AUTO :Fast varetype STR_ORDER_DROP_REFIT_AUTO_ANY :Tilgjengelig varetype @@ -3788,24 +3862,24 @@ STR_ORDER_NO_UNLOAD_FULL_LOAD :(Ingen lossing STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY :(Ingen lossing og vent på første fulle last) STR_ORDER_NO_UNLOAD_NO_LOAD :(Ingen av og pålasting) -STR_ORDER_AUTO_REFIT :(Automatisk ombygging til {STRING}) -STR_ORDER_FULL_LOAD_REFIT :(Full last med automatisk ombygging til {STRING}) -STR_ORDER_FULL_LOAD_ANY_REFIT :(Full last av minst en varetype med automatisk ombygging til {STRING}) -STR_ORDER_UNLOAD_REFIT :(Loss av og ta last med automatisk ombygging til {STRING}) -STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(Loss av og vent på full last med automatisk ombygging til {STRING}) -STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(Loss av og vent på første fulle last med automatisk ombygging til {STRING}) -STR_ORDER_TRANSFER_REFIT :(Overfør og last på varer med automatisk ombygging til {STRING}) -STR_ORDER_TRANSFER_FULL_LOAD_REFIT :(Overfør og vent på full last med automatisk ombygging til {STRING}) -STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :(Overfør og vent på første fulle last med automatisk ombygging til {STRING}) -STR_ORDER_NO_UNLOAD_REFIT :(Ingen lossing og last på varer med automatisk ombygging til {STRING}) -STR_ORDER_NO_UNLOAD_FULL_LOAD_REFIT :(Ingen lossing og vent på full last med automatisk ombygging til {STRING}) -STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY_REFIT :(Ingen lossing og vent på første fulle last med automatisk ombygging til {STRING}) +STR_ORDER_AUTO_REFIT :(Ombygging til {STRING}) +STR_ORDER_FULL_LOAD_REFIT :(Full last med ombygging til {STRING}) +STR_ORDER_FULL_LOAD_ANY_REFIT :(Full last av minst en varetype med ombygging til {STRING}) +STR_ORDER_UNLOAD_REFIT :(Loss av og ta last med ombygging til {STRING}) +STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(Loss av og vent på full last med ombygging til {STRING}) +STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(Loss av og vent på første fulle last med ombygging til {STRING}) +STR_ORDER_TRANSFER_REFIT :(Overfør og last på varer med ombygging til {STRING}) +STR_ORDER_TRANSFER_FULL_LOAD_REFIT :(Overfør og vent på full last med ombygging til {STRING}) +STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :(Overfør og vent på første fulle last med ombygging til {STRING}) +STR_ORDER_NO_UNLOAD_REFIT :(Ingen lossing og last på varer med ombygging til {STRING}) +STR_ORDER_NO_UNLOAD_FULL_LOAD_REFIT :(Ingen lossing og vent på full last med ombygging til {STRING}) +STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY_REFIT :(Ingen lossing og vent på første fulle last med ombygging til {STRING}) STR_ORDER_AUTO_REFIT_ANY :tilgjengelige varetyper -STR_ORDER_STOP_LOCATION_NEAR_END :[nær slutten] +STR_ORDER_STOP_LOCATION_NEAR_END :[nærenden] STR_ORDER_STOP_LOCATION_MIDDLE :[midten] -STR_ORDER_STOP_LOCATION_FAR_END :[enden] +STR_ORDER_STOP_LOCATION_FAR_END :[bortenden] STR_ORDER_OUT_OF_RANGE :{RED} (Neste destinasjon er utenfor rekkevidde) @@ -3825,13 +3899,17 @@ STR_TIMETABLE_TOOLTIP :{BLACK}Rutetabe STR_TIMETABLE_NO_TRAVEL :Ingen reise STR_TIMETABLE_NOT_TIMETABLEABLE :Reis (automatisk; settes på ruteplan med neste manuelle ordre) STR_TIMETABLE_TRAVEL_NOT_TIMETABLED :Reise (uten rutetabell) -STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Reis med maks {2:VELOCITY} (uten rutetabell) +STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Reis (uten rutetabell) med maks {2:VELOCITY} STR_TIMETABLE_TRAVEL_FOR :Reise i {STRING} STR_TIMETABLE_TRAVEL_FOR_SPEED :Reis i {STRING} med maks {VELOCITY} +STR_TIMETABLE_TRAVEL_FOR_ESTIMATED :Reise (i {STRING}, ikke oppsatt i rutetabell) +STR_TIMETABLE_TRAVEL_FOR_SPEED_ESTIMATED :Reise (i {STRING}, ikke oppsatt i rutetabell) med høyst {VELOCITY} +STR_TIMETABLE_STAY_FOR_ESTIMATED :(opphold i {STRING}, ikke oppsatt i rutetabell) +STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(reise for {STRING}, ikke oppsatt med rutetabell) STR_TIMETABLE_STAY_FOR :og bli værende i {STRING} STR_TIMETABLE_AND_TRAVEL_FOR :og reis i {STRING} -STR_TIMETABLE_DAYS :{COMMA} dag{P "" er} -STR_TIMETABLE_TICKS :{COMMA} tikk +STR_TIMETABLE_DAYS :{COMMA}{NBSP}dag{P "" s} +STR_TIMETABLE_TICKS :{COMMA}{NBSP}tikk{P "" s} STR_TIMETABLE_TOTAL_TIME :{BLACK}Det vil ta {STRING} å fullføre rutetabellen STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}Det vil ta minst {STRING} å fullføre denne rutetabellen (rutetabell ikke fullstendig) @@ -3839,11 +3917,11 @@ STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}Det vil STR_TIMETABLE_STATUS_ON_TIME :{BLACK}Dette kjøretøyet er i rute STR_TIMETABLE_STATUS_LATE :{BLACK}Dette kjøretøyet er {STRING} for sent ute STR_TIMETABLE_STATUS_EARLY :{BLACK}Dette kjøretøyet er {STRING} for tidlig ute -STR_TIMETABLE_STATUS_NOT_STARTED :{BLACK}Denne rutetabellen har ikke blitt startet enda +STR_TIMETABLE_STATUS_NOT_STARTED :{BLACK}Denne rutetabellen har ikke blitt startet ennå STR_TIMETABLE_STATUS_START_AT :{BLACK}Denne rutetabellen vil bli startet {STRING} STR_TIMETABLE_STARTING_DATE :{BLACK}Startdato -STR_TIMETABLE_STARTING_DATE_TOOLTIP :{BLACK}Velg en dato som startpunkt for denne tidsplanen. Ctrl + Klikk setter utgangspunktet for denne tidsplanen og distribuerer alle kjøretøy som deler denne ordren jevnt basert på deres relative rekkefølge, hvis ordren har en komplett tidsplan. +STR_TIMETABLE_STARTING_DATE_TOOLTIP :{BLACK}Velg startdato for denne rutetabellen. Ctrl + Klikk setter utgangspunktet for denne rutetabellen og distribuerer alle kjøretøy som deler denne ordren jevnt basert på deres relative rekkefølge, hvis ordren har en fullstendig rutetabell. STR_TIMETABLE_CHANGE_TIME :{BLACK}Endre tid STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Endre varigheten for den merkede ordren @@ -3907,7 +3985,7 @@ STR_ERROR_AI_DEBUG_SERVER_ONLY :{YELLOW}AI/Spil # AI configuration window STR_AI_CONFIG_CAPTION :{WHITE}AI/Spillskript-konfigurasjon STR_AI_CONFIG_GAMELIST_TOOLTIP :{BLACK}Spillskriptet som vil bli lastet i neste spill -STR_AI_CONFIG_AILIST_TOOLTIP :{BLACK}AIene som vil bli lastet i neste spill +STR_AI_CONFIG_AILIST_TOOLTIP :{BLACK}AI-ene som vil bli lastet i neste spill STR_AI_CONFIG_HUMAN_PLAYER :Menneskelig spiller STR_AI_CONFIG_RANDOM_AI :Tilfeldig AI STR_AI_CONFIG_NONE :(ingen) @@ -3918,19 +3996,20 @@ STR_AI_CONFIG_MOVE_DOWN :{BLACK}Flytt ne STR_AI_CONFIG_MOVE_DOWN_TOOLTIP :{BLACK}Flytt valgte AI nedover i listen STR_AI_CONFIG_GAMESCRIPT :{SILVER}Spillskript -STR_AI_CONFIG_AI :{SILVER}AIer +STR_AI_CONFIG_AI :{SILVER}AI-er STR_AI_CONFIG_CHANGE :{BLACK}Velg {STRING} STR_AI_CONFIG_CHANGE_NONE : +STR_AI_CONFIG_CHANGE_NONE.small :AI STR_AI_CONFIG_CHANGE_AI :AI STR_AI_CONFIG_CHANGE_GAMESCRIPT :Spillskript STR_AI_CONFIG_CHANGE_TOOLTIP :{BLACK}Last enda et skript STR_AI_CONFIG_CONFIGURE :{BLACK}Konfigurer -STR_AI_CONFIG_CONFIGURE_TOOLTIP :{BLACK}Konfigurer skriptparametre +STR_AI_CONFIG_CONFIGURE_TOOLTIP :{BLACK}Konfigurer skriptparametrene # Available AIs window STR_AI_LIST_CAPTION :{WHITE}Tilgjengelige {STRING} -STR_AI_LIST_CAPTION_AI :AIer +STR_AI_LIST_CAPTION_AI :AI-er STR_AI_LIST_CAPTION_GAMESCRIPT :Spillskript STR_AI_LIST_TOOLTIP :{BLACK}Klikk for å velge et skript @@ -4069,6 +4148,7 @@ STR_ERROR_EXCAVATION_WOULD_DAMAGE :{WHITE}Utgravin STR_ERROR_ALREADY_AT_SEA_LEVEL :{WHITE}... allerede på havnivå STR_ERROR_TOO_HIGH :{WHITE}... for høyt STR_ERROR_ALREADY_LEVELLED :{WHITE}... allerede flatt +STR_ERROR_BRIDGE_TOO_HIGH_AFTER_LOWER_LAND :{WHITE}Etterpå vil broen over den være for høy. # Company related errors STR_ERROR_CAN_T_CHANGE_COMPANY_NAME :{WHITE}Kan ikke endre firmaets navn... @@ -4095,7 +4175,7 @@ STR_ERROR_TOO_CLOSE_TO_EDGE_OF_MAP_SUB :{WHITE}...{NBSP STR_ERROR_TOO_CLOSE_TO_ANOTHER_TOWN :{WHITE}...{NBSP}for nær en annen by STR_ERROR_TOO_MANY_TOWNS :{WHITE}...{NBSP}for mange byer STR_ERROR_NO_SPACE_FOR_TOWN :{WHITE}... det er ikke mer plass på kartet -STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}Byen kommer ikke til å bygge veier. Du kan aktivere bygging av veier via Avanserte innstillinger->Økonomi->Byer. +STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}Byen kommer ikke til å bygge veier. Du kan aktivere bygging av veier via Innstillinger->Miljø->Byer STR_ERROR_ROAD_WORKS_IN_PROGRESS :{WHITE}Veiarbeid i gang STR_ERROR_TOWN_CAN_T_DELETE :{WHITE}Kan ikke fjerne denne byen...{}En stasjon eller garasje/stall/hangar/dokk henviser til byen eller en by-eid rute som ikke kan fjernes STR_ERROR_STATUE_NO_SUITABLE_PLACE :{WHITE}... det er ingen passende steder for en statue i sentrum av denne byen @@ -4119,6 +4199,9 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... skog STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... kan kun bygges over snøgrensen STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... kan kun bygges under snøgrensen +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}Det var ingen egnede steder for '{STRING}' bransjer +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Endre parametrene for kart-generering for å få et bedre kart + # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Kan ikke bygge jernbanestasjon her... STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}Kan ikke bygge busstasjon... @@ -4255,6 +4338,7 @@ STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Må rive STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}Kan ikke starte og slutte på samme felt STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}Broender er ikke på samme nivå STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}Broen er for lav for terrenget +STR_ERROR_BRIDGE_TOO_HIGH_FOR_TERRAIN :{WHITE}Bro er for høy for dette terrenget. STR_ERROR_START_AND_END_MUST_BE_IN :{WHITE}Start og slutt må være på linje STR_ERROR_ENDS_OF_BRIDGE_MUST_BOTH :{WHITE}...{NBSP}broens ender må være på land STR_ERROR_BRIDGE_TOO_LONG :{WHITE}... broen er for lang @@ -4819,6 +4903,7 @@ STR_COMPANY_NAME :{COMPANY} STR_COMPANY_NAME_COMPANY_NUM :{COMPANY} {COMPANY_NUM} STR_DEPOT_NAME :{DEPOT} STR_ENGINE_NAME :{ENGINE} +STR_HIDDEN_ENGINE_NAME :{ENGINE} (skjult) STR_GROUP_NAME :{GROUP} STR_INDUSTRY_NAME :{INDUSTRY} STR_PRESIDENT_NAME :{PRESIDENT_NAME} @@ -4854,8 +4939,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -4866,9 +4949,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/norwegian_nynorsk.txt b/src/lang/norwegian_nynorsk.txt index 61777154bd..b65f71ad15 100644 --- a/src/lang/norwegian_nynorsk.txt +++ b/src/lang/norwegian_nynorsk.txt @@ -250,6 +250,17 @@ STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Rullefel STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Rullefelt - blar lista til venstre/høgre STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Riv bygningar o.a. i eit firkanta område. Ctrl vel området diagonalt. Shift syner estimert rivingskostnad +# Show engines button +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}Syn skjulte +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK}Syn skjulte +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}Syn skjulte +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}Syn skjulte + +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}Ved å slå på denne knappen, vert skjulte tok også syna +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE_TOOLTIP :{BLACK}Ved å slå på denne knappen, vert skjulte køyretøy også syna +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}Ved å slå på denne knappen, vert skjulte skip også syna +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Ved å slå på denne knappen, vert skjulte luftfartøy også syna + # Query window STR_BUTTON_DEFAULT :{BLACK}Standard STR_BUTTON_CANCEL :{BLACK}Avbryt @@ -363,7 +374,7 @@ STR_SCENEDIT_FILE_MENU_QUIT :Avslutt ############ range for settings menu starts STR_SETTINGS_MENU_GAME_OPTIONS :Spelinstillingar -STR_SETTINGS_MENU_CONFIG_SETTINGS :Avanserte instillingar +STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Innstillinger STR_SETTINGS_MENU_SCRIPT_SETTINGS :AI- / Spelscript-innstillingar STR_SETTINGS_MENU_NEWGRF_SETTINGS :NewGRF-innstillingar STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Gjennomsiktigheitsinnstillingar @@ -472,7 +483,7 @@ STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Syne/gøym mark STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Slå av/på farging av skitne blokkar ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window STR_ORDINAL_NUMBER_1ST :1. STR_ORDINAL_NUMBER_2ND :2. STR_ORDINAL_NUMBER_3RD :3. @@ -488,22 +499,40 @@ STR_ORDINAL_NUMBER_12TH :12. STR_ORDINAL_NUMBER_13TH :13. STR_ORDINAL_NUMBER_14TH :14. STR_ORDINAL_NUMBER_15TH :15. -STR_ORDINAL_NUMBER_16TH :16. -STR_ORDINAL_NUMBER_17TH :17. -STR_ORDINAL_NUMBER_18TH :18. -STR_ORDINAL_NUMBER_19TH :19. -STR_ORDINAL_NUMBER_20TH :20. -STR_ORDINAL_NUMBER_21ST :21. -STR_ORDINAL_NUMBER_22ND :22. -STR_ORDINAL_NUMBER_23RD :23. -STR_ORDINAL_NUMBER_24TH :24. -STR_ORDINAL_NUMBER_25TH :25. -STR_ORDINAL_NUMBER_26TH :26. -STR_ORDINAL_NUMBER_27TH :27. -STR_ORDINAL_NUMBER_28TH :28. -STR_ORDINAL_NUMBER_29TH :29. -STR_ORDINAL_NUMBER_30TH :30. -STR_ORDINAL_NUMBER_31ST :31. +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :1. +STR_DAY_NUMBER_2ND :2. +STR_DAY_NUMBER_3RD :3. +STR_DAY_NUMBER_4TH :4. +STR_DAY_NUMBER_5TH :5. +STR_DAY_NUMBER_6TH :6. +STR_DAY_NUMBER_7TH :7. +STR_DAY_NUMBER_8TH :8. +STR_DAY_NUMBER_9TH :9. +STR_DAY_NUMBER_10TH :10. +STR_DAY_NUMBER_11TH :11. +STR_DAY_NUMBER_12TH :12. +STR_DAY_NUMBER_13TH :13. +STR_DAY_NUMBER_14TH :14. +STR_DAY_NUMBER_15TH :15. +STR_DAY_NUMBER_16TH :16. +STR_DAY_NUMBER_17TH :17. +STR_DAY_NUMBER_18TH :18. +STR_DAY_NUMBER_19TH :19. +STR_DAY_NUMBER_20TH :20. +STR_DAY_NUMBER_21ST :21. +STR_DAY_NUMBER_22ND :22. +STR_DAY_NUMBER_23RD :23. +STR_DAY_NUMBER_24TH :24. +STR_DAY_NUMBER_25TH :25. +STR_DAY_NUMBER_26TH :26. +STR_DAY_NUMBER_27TH :27. +STR_DAY_NUMBER_28TH :28. +STR_DAY_NUMBER_29TH :29. +STR_DAY_NUMBER_30TH :30. +STR_DAY_NUMBER_31ST :31. ############ range for days ends ############ range for months starts @@ -812,13 +841,12 @@ STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}{VEHICLE STR_NEWS_SHIP_IS_WAITING :{WHITE}{VEHICLE} ventar i skipsdokken STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE} ventar i hangaren -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE +# Order review system / warnings STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE} har for få ordrar på ruteplanen STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE} har ein ugyldig ordre STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE} har to like ordrar STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE} har ein ugyldig stasjon i sine ordre -# end of order system +STR_NEWS_PLANE_USES_TOO_SHORT_RUNWAY :{WHITE}{VEHICLE} har i ordrane ein flyplass der rullebanen er for kort STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} er gammal STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} er veldig gammal @@ -901,11 +929,7 @@ STR_GAME_OPTIONS_CURRENCY_GEL :Georgiske Lari STR_GAME_OPTIONS_CURRENCY_IRR :Iranske Rial (IRR) ############ end of currency region - -############ start of measuring units region -############ end of measuring units region - -STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Køyreretning +STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Veg-køyrety STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}Vel køyreretning STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :Venstrekøyring STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_RIGHT :Høgrekøyring @@ -940,11 +964,13 @@ STR_GAME_OPTIONS_TOWN_NAME_CATALAN :Katalansk STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Automatisk lagring STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Vel intervall for automatisk lagring +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Av STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :Kvar månad STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :Kvar 3. månad STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :Kvart halvår STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :Kvart år +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}Språk STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Vel språk som skal nyttast @@ -956,8 +982,12 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}Skjermop STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Vel skjermoppløysinga som skal nyttast STR_GAME_OPTIONS_RESOLUTION_OTHER :anna -STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}Filformat for skjermdump -STR_GAME_OPTIONS_SCREENSHOT_FORMAT_TOOLTIP :{BLACK}Vel kva format skjermdumpen skal lagrast i +STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Grensesnittstorleik +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Vel storleik å bruke på grensesnittet + +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normal +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Dobbel størrelse +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Firedobbel størrelse STR_GAME_OPTIONS_BASE_GRF :{BLACK}Grafikksett STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Vel grafikksett som skal nyttast @@ -973,6 +1003,7 @@ STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Vel musi STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} øydelagd{P "" e} fil{P "" er} STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Tilleggsinformasjon om musikksettet +STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Kunne ikkje henta liste over støtta oppløysingar STR_ERROR_FULLSCREEN_FAILED :{WHITE}Fullskjermvising feila # Custom currency window @@ -1051,6 +1082,7 @@ STR_TERRAIN_TYPE_VERY_FLAT :Særs flatt STR_TERRAIN_TYPE_FLAT :Flatt STR_TERRAIN_TYPE_HILLY :Åslendt STR_TERRAIN_TYPE_MOUNTAINOUS :Berglendt +STR_TERRAIN_TYPE_ALPINIST :Alpinist STR_CITY_APPROVAL_PERMISSIVE :Tillatande STR_CITY_APPROVAL_TOLERANT :Tolerant @@ -1058,8 +1090,8 @@ STR_CITY_APPROVAL_HOSTILE :Fiendsleg STR_WARNING_NO_SUITABLE_AI :{WHITE}Inga passande AIer tilgjengeleg...{}Du kan lasta ned fleire AI'ar frå nettet med spelets nedlastingssystem. -# Advanced settings window -STR_CONFIG_SETTING_CAPTION :{WHITE}Avanserte innstillingar +# Settings tree window +STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Innstillingar STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Søkefilter: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Utvid alle STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Skjul alle @@ -1132,8 +1164,9 @@ STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Skru av/på kat STR_CONFIG_SETTING_CITY_APPROVAL :Haldninga til bystyra når det gjeld ombygging: {STRING} STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Vel kor mykje vurderinga frå bystyra og høvet for meir bygging i området vert påverka av støy og øydelegging frå eit firma. -STR_CONFIG_SETTING_BUILDONSLOPES :Tillet bygging på skråningar og i vasskanten: {STRING} -STR_CONFIG_SETTING_BUILDONSLOPES_HELPTEXT :Tillet bygging av vegar, jernbanespor og stasjonar i bakkar, med hjelp av ekstra fundament. Skru av for å gjere at all bygging i bakkar må passe med kva retning terrenget skrånar +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :Maksimal høgd på kart: {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :Sett maksimal høgd for fjell på kartet +STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}Du kan ikkje sette maksimal høgd på kartet til denne verdien. Minst eit fjell på kartet er høgare STR_CONFIG_SETTING_AUTOSLOPE :Tillet landskapsendringar under bygningar, spor o.s.b.: {STRING} STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Tillet å endre landskapet under bygningar, vegar og jernbanespor, utan å måtte fjerne dei fyrst. STR_CONFIG_SETTING_CATCHMENT :Meir realistisk storleik på oppfangingsområde: {STRING} @@ -1156,14 +1189,12 @@ STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT :Kor bratt ei he STR_CONFIG_SETTING_FORBID_90_DEG :Forby tog og skip å gjere 90-graderssvingar: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Tillet samanbygging av ikkje direkte tilstøtande stasjonar: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Tillat å bygge stasjonar som ikkje heng saman. (Ctrl+klikk for å bygge åtskilte delar av stasjonen ) -STR_CONFIG_SETTING_IMPROVEDLOAD :Bruk forbetra lastingsalgoritme: {STRING} -STR_CONFIG_SETTING_IMPROVEDLOAD_HELPTEXT :Fyll opp køyretøy etter kvarandre, så eitt køyretøy er fullt før det neste vert lasta. Når det er nok varer på stasjonen blir fleire køyretøy lasta samtidig -STR_CONFIG_SETTING_GRADUAL_LOADING :Last køyretøy gradvis: {STRING} STR_CONFIG_SETTING_INFLATION :Inflasjon: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :Skrur på inflasjon, kor kostnader aukar noko fortare enn innbetalingar -STR_CONFIG_SETTING_SELECTGOODS :Lever varer til ein stasjon kun hvis det er etterspørjing: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Største brolengde: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Maksimal lengde for brubygging +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :Maksimal høgd på bru: {STRING} +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :Maksimal høgd for å bygge bruer STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Største tunnellengde: {STRING} STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :Maksimal lengde for tunnelbygging STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Konstruksjonsmetode for primærindustri: {STRING} @@ -1186,8 +1217,6 @@ STR_CONFIG_SETTING_STOP_LOCATION :Nye togordrar s STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :starten STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :midten STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :i andre enden -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING :Køyretøykøar (med kvantumseffektar): {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING_HELPTEXT :Gjer at køyretøy stoppar foran vegsperringar til dei vert fjerna. Alternativet er at dei snur for å finne ein annan veg STR_CONFIG_SETTING_AUTOSCROLL :Flytt på vindauget dersom pila er nær ytterkantane på skjermen: {STRING} STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Deaktivert STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT :Hovudvindauge @@ -1211,9 +1240,6 @@ STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Tillet stoppest STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Tillat bygging av stoppestadar med gjennomkøyring på vegar eigd av byen STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Tillet stoppestadar med gjennomkøyring på konkurent-eigde vegar: {STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Tillatt bygging av stopp med gjennomkøyring på vegar eigd av andre firma -STR_CONFIG_SETTING_ADJACENT_STATIONS :Tillet å byggje stasjonar inntil andre: {STRING} -STR_CONFIG_SETTING_ADJACENT_STATIONS_HELPTEXT :Tillat forskjellige stasjonar å berøra kvarandre -STR_CONFIG_SETTING_DYNAMIC_ENGINES :Aktiver fleire NewGRF-kjernesett: {STRING} STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Endring av denne instillinga er ikkje mogleg når det finst køyretøy STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Vedlikehald av infrastruktur: {STRING} @@ -1242,25 +1268,37 @@ STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Syn befolknings STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Bredde på linjer i grafar: {STRING} STR_CONFIG_SETTING_LAND_GENERATOR :Landskapsgenerator: {STRING} +STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :Den originale generatoren avhenger av basisgrafikk som er satt, og lagar faste figurar i landskapet. TerraGenesis er ein Perlin støygenerator med finare konroll på innstillingane STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Original STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis +STR_CONFIG_SETTING_TERRAIN_TYPE :Terrengtype: {STRING} +STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(Berre TerraGenesis) Grad av fjell i landskapet +STR_CONFIG_SETTING_INDUSTRY_DENSITY :Industritetthet: {STRING} +STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Set kor månge industriar som skal lagast og på kva nivå dei skal haldas gjennom spelet STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Maksimal avstand frå kartkanten for Oljeraffineri: {STRING} STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Snøgrense: {STRING} +STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Kontroller i kva høgde snøen startar i arktis-liknande landskap. Snøen påverkar også kor industri kjem og krava for vekst i byar STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Kor ulendt skal terrenget vere (kun TerraGenesis): {STRING} +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(Berre TerraGenesis) Endre hyppigheit på høgder: Mjuke landskap he færre, meir spredde høgder. Tøffe landskap har månge høgdre, som kan sjå repeterande ut STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Særs jamnt STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Jamnt STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Ulendt STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Særs ulendt +STR_CONFIG_SETTING_VARIETY :Variasjonsdistrubusjon: {STRING} +STR_CONFIG_SETTING_VARIETY_HELPTEXT :(Berre TerraGenesis) Kontroller om kartet inneheld både høge og flate område. Sidan dette berre gjer kartet flatare, bør andre innstillingar setjast til høge +STR_CONFIG_SETTING_RIVER_AMOUNT :Elve-mengde: {STRING} +STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Vel mengde elver å generera STR_CONFIG_SETTING_TREE_PLACER :Treplasseringalgoritme: {STRING} +STR_CONFIG_SETTING_TREE_PLACER_HELPTEXT :Vel fordelinga av tre på kartet: 'Original' plantar trea likt utover, 'Forbedra' plantar dei i grupper STR_CONFIG_SETTING_TREE_PLACER_NONE :Ingen STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :Original STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :Forbetra +STR_CONFIG_SETTING_ROAD_SIDE :Veg-køyrety: {STRING} +STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :Vel køyreside STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Høgdekartrotering: {STRING} STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Mot klokka STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Med klokka STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :Høgdenivå eit flatt scenariokart får: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :Tillat endring av landskapsruter på kanten av kartet: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES_HELPTEXT :Om deaktivert, vil kartkantene alltid være hav STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}Ei eller fleire ruter på nordkanten er ikkje tomme STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}Ei eller fleire ruter på ein av kantane inneheld ikkje vatn @@ -1302,16 +1340,15 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Av STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Venstreknapps-rulling: {STRING} +STR_CONFIG_SETTING_AUTOSAVE :Autolaging: {STRING} +STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Vel intervall for automatisk lagring av spel + STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Bruk {STRING} datoformat for namning av lagra spel STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Datoformat i namning av lagra spel STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :langt (31. des 2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :kort (31-12-2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE :Anteke standardpalett for NewGRFer utan spesifisert palett: {STRING} -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_DOS :Standard (D) palett -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_WIN :Tradisjonell (W) palett - STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Automatisk pause når ein startar nytt spel: {STRING} STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Når spelet er pausa, tillet: {STRING} STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_HELPTEXT :Vel kva handlingar som kan gjerast når spelet er pausa @@ -1499,8 +1536,6 @@ STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 av {COMMA} STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Ingen STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Innleiande bystorleiksmultiplikator: {STRING} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Storleiken til byar på starten av spelet, jamført med tettstader -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :Fjern absurde vegelement under vegkonstruksjon: {STRING} -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD_HELPTEXT :Fjern blindvegar under finansiering av vegutbygging STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :asymmetrisk STR_CONFIG_SETTING_DISTRIBUTION_SYMMETRIC :symmetrisk @@ -1551,27 +1586,28 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :Britisk eining STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :Metrisk (m) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :SI (m) -STR_CONFIG_SETTING_GUI :{ORANGE}Grensesnitt STR_CONFIG_SETTING_LOCALISATION :{ORANGE}Plassering -STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}Konstruksjon -STR_CONFIG_SETTING_VEHICLES :{ORANGE}Køyretøy -STR_CONFIG_SETTING_STATIONS :{ORANGE}Stasjonar -STR_CONFIG_SETTING_ECONOMY :{ORANGE}Økonomi -STR_CONFIG_SETTING_LINKGRAPH :{ORANGE}Varefordeling -STR_CONFIG_SETTING_AI :{ORANGE}Motstandarar -STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}Syne innstillingar -STR_CONFIG_SETTING_INTERACTION :{ORANGE}Samhandling +STR_CONFIG_SETTING_GRAPHICS :{ORANGE}Grafikk STR_CONFIG_SETTING_SOUND :{ORANGE}Lydar -STR_CONFIG_SETTING_NEWS :{ORANGE}Nyheiter og meldingar -STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}Signaler -STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE}Varehantering -STR_CONFIG_SETTING_AI_NPC :{ORANGE}Datamaskinspelarar -STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE}Autoforny -STR_CONFIG_SETTING_VEHICLES_SERVICING :{ORANGE}Vedlikehald +STR_CONFIG_SETTING_INTERFACE :{ORANGE}Grensesnitt +STR_CONFIG_SETTING_INTERFACE_GENERAL :{ORANGE}Generelt +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Konstruksjon +STR_CONFIG_SETTING_ADVISORS :{ORANGE}Nyhende / Rådgjevarar +STR_CONFIG_SETTING_COMPANY :{ORANGE}Firma +STR_CONFIG_SETTING_ACCOUNTING :{ORANGE}Rekneskap +STR_CONFIG_SETTING_VEHICLES :{ORANGE}Køyretøy +STR_CONFIG_SETTING_VEHICLES_PHYSICS :{ORANGE}Fysikk STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Ruting -STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}Tog -STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}Byar -STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}Industriar +STR_CONFIG_SETTING_LIMITATIONS :{ORANGE}Avgrensingar +STR_CONFIG_SETTING_ACCIDENTS :{ORANGE}Katastrofar / ulykker +STR_CONFIG_SETTING_GENWORLD :{ORANGE}Generer ei verd +STR_CONFIG_SETTING_ENVIRONMENT :{ORANGE}Miljø +STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :{ORANGE}Styremaktane +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Byar +STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}Industriar +STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :{ORANGE}Varefordeling +STR_CONFIG_SETTING_AI :{ORANGE}Motstandarar +STR_CONFIG_SETTING_AI_NPC :{ORANGE}Datamaskinspelarar STR_CONFIG_SETTING_PATHFINDER_OPF :Original STR_CONFIG_SETTING_PATHFINDER_NPF :NPF @@ -1620,7 +1656,7 @@ STR_INTRO_MULTIPLAYER :{BLACK}Fleirspe STR_INTRO_GAME_OPTIONS :{BLACK}Spelinnstillingar STR_INTRO_HIGHSCORE :{BLACK}Poengtavle -STR_INTRO_ADVANCED_SETTINGS :{BLACK}Avanserte innstillingar +STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Innstillinger STR_INTRO_NEWGRF_SETTINGS :{BLACK}NewGRF-innstillingar STR_INTRO_ONLINE_CONTENT :{BLACK}Sjå etter innhald på nett STR_INTRO_SCRIPT_SETTINGS :{BLACK}AI- / Spelscriptinnstillingar @@ -1640,7 +1676,7 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Vel leik STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Syne spelinstillingar STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Syn poengtavla -STR_INTRO_TOOLTIP_ADVANCED_SETTINGS :{BLACK}Syne avanserte innstillingar +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Skjerminnstillingar STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Syne NewGRF-instillingar STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Sjå etter nytt og oppdatert innhald som kan lastas ned STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Vis AI- og spelscriptinnstillingar @@ -1680,6 +1716,8 @@ STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Speler STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Magisk bulldoser (fjern industriar, uflyttbare ting): {ORANGE}{STRING} STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}Tunnelar kan krysse kvarandre: {ORANGE}{STRING} STR_CHEAT_NO_JETCRASH :{LTBLUE}Jetfly vil ikkje krasje (ofte) på små flyplassar: {ORANGE} {STRING} +STR_CHEAT_EDIT_MAX_HL :{LTBLUE}Endre maksimal høgd på kart: {ORANGE}{NUM} +STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Endre maksimal høgd på fjell på kartet STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE :Temperert landskap STR_CHEAT_SWITCH_CLIMATE_SUB_ARCTIC_LANDSCAPE :subarktisk landskap STR_CHEAT_SWITCH_CLIMATE_SUB_TROPICAL_LANDSCAPE :subtropisk landskap @@ -1728,6 +1766,7 @@ STR_LIVERY_FREIGHT_TRAM :Varetrikk STR_FACE_CAPTION :{WHITE}Vel utsjånad STR_FACE_CANCEL_TOOLTIP :{BLACK}Avbryt val av utsjånad STR_FACE_OK_TOOLTIP :{BLACK}Godta ny utsjånad +STR_FACE_RANDOM :{BLACK}Tilferdiggjer STR_FACE_MALE_BUTTON :{BLACK}Mann STR_FACE_MALE_TOOLTIP :{BLACK}Vel mannsandlet @@ -2569,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-2014 OpenTTD-teamet +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 OpenTTD-teamet # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Lagre spel @@ -2588,6 +2627,7 @@ STR_SAVELOAD_SAVE_BUTTON :{BLACK}Lagre STR_SAVELOAD_SAVE_TOOLTIP :{BLACK}Lagre gjeldande spel ved å bruke det valde namnet STR_SAVELOAD_LOAD_BUTTON :{BLACK}Last inn STR_SAVELOAD_LOAD_TOOLTIP :{BLACK}Last inn det valde spelet +STR_SAVELOAD_LOAD_HEIGHTMAP_TOOLTIP :{BLACK}Last det valde høgdekartet STR_SAVELOAD_DETAIL_CAPTION :{BLACK}Speldetaljar STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}Ingen informasjon tilgjengeleg STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING} @@ -2603,13 +2643,12 @@ STR_MAPGEN_BY :{BLACK}* STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Antal byar: STR_MAPGEN_DATE :{BLACK}Dato: STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Antal industriar: +STR_MAPGEN_MAX_HEIGHTLEVEL :{BLACK}Maksimal høgd på kart: +STR_MAPGEN_MAX_HEIGHTLEVEL_UP :{BLACK}Auk maksimal høgd på fjell på kartet med ein +STR_MAPGEN_MAX_HEIGHTLEVEL_DOWN :{BLACK}Minsk maksimal høgd på fjell på kartet med ein STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}Høgd på snøgrensa: STR_MAPGEN_SNOW_LINE_UP :{BLACK}Flytt høgda på snøgrensa eitt hakk opp STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}Flytt høgda på snøgrensa eitt hakk ned -STR_MAPGEN_RANDOM_SEED :{BLACK}Såtal: -STR_MAPGEN_RANDOM_SEED_HELP :{BLACK}Klikk her for å taste inn eit såtal -STR_MAPGEN_RANDOM :{BLACK}Tilferdiggjer -STR_MAPGEN_RANDOM_HELP :{BLACK}Endre såtal som nyttast for terreng-generering STR_MAPGEN_LAND_GENERATOR :{BLACK}Landskapsgenerator: STR_MAPGEN_TREE_PLACER :{BLACK}Trealgoritme: STR_MAPGEN_TERRAIN_TYPE :{BLACK}Terrengtype @@ -2636,7 +2675,7 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Høgdeka STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Storleik: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} -STR_MAPGEN_RANDOM_SEED_OSKTITLE :{BLACK}Skriv inn eit såtal +STR_MAPGEN_MAX_HEIGHTLEVEL_QUERY_CAPT :{WHITE}Endre maksimal høgd på kartet STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}Byt høgda på snøgrensa STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Byt startår @@ -2691,6 +2730,8 @@ STR_NEWGRF_SETTINGS_MOVEUP :{BLACK}Flytt op STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP :{BLACK}Flytt den valde NewGRF-fila oppover lista STR_NEWGRF_SETTINGS_MOVEDOWN :{BLACK}Flytt ned STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP :{BLACK}Flytt den valde NewGRF-fila nedover lista +STR_NEWGRF_SETTINGS_UPGRADE :{BLACK}Oppgrader +STR_NEWGRF_SETTINGS_UPGRADE_TOOLTIP :{BLACK}Oppgrader NewGRF-filer der du har ein nyare versjon installert STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}Ei liste over NewGRF-filene som er installert. STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}Set parametrar @@ -2715,6 +2756,16 @@ STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Matchande STR_NEWGRF_SETTINGS_DISABLED :{RED}Deaktivert STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Ikkje kompatibel med denne versjonen av OpenTTD +# NewGRF save preset window +STR_SAVE_PRESET_CAPTION :{WHITE}Lagre førehandsinnstilling +STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK}Liste av tilgjengelege førval, vel ein for å kopiera han til same navn nedanfor +STR_SAVE_PRESET_TITLE :{BLACK}Skriv inn eit namn for førehandsinnstillinga +STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}Vald namn for førehandsinnstillinga som skal lagrast +STR_SAVE_PRESET_CANCEL :{BLACK}Avbryt +STR_SAVE_PRESET_CANCEL_TOOLTIP :{BLACK}Ikkje endre førehandsinnstillinga +STR_SAVE_PRESET_SAVE :{BLACK}Lagre +STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}Lagra førehandsinnstillingane til valt namn + # NewGRF parameters window STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Endre NewGRF-parametrar STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Lukk @@ -2745,7 +2796,6 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Førre s STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Fortsett til neste normale sprite og hopp over einhver pseudo-/omfargings-/skrifttype- sprite, samt start om ved byrjinga STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Førehandsvisning av valgt sprite. Innrettinga ignorerast når spriten tegnes STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Flytt spriten rundt omkring, for å endre X- og Y-forskyvningene -STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X-forskyvning: {NUM}, Y-forskyvning: {NUM} STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Vel sprite STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Vel ein sprite frå eit vilkårleg sted på skjermen @@ -2918,7 +2968,7 @@ STR_GOAL_QUESTION_CAPTION_INFORMATION :Informasjon STR_GOAL_QUESTION_CAPTION_WARNING :Åtvaring STR_GOAL_QUESTION_CAPTION_ERROR :Feil -### Start of Goal Question button list +############ Start of Goal Question button list STR_GOAL_QUESTION_BUTTON_CANCEL :Avbryt STR_GOAL_QUESTION_BUTTON_OK :OK STR_GOAL_QUESTION_BUTTON_NO :Nei @@ -2937,6 +2987,7 @@ STR_GOAL_QUESTION_BUTTON_RESTART :Start om STR_GOAL_QUESTION_BUTTON_POSTPONE :Utsett STR_GOAL_QUESTION_BUTTON_SURRENDER :Gje opp STR_GOAL_QUESTION_BUTTON_CLOSE :Lukk +############ End of Goal Question button list # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}Subsidiar @@ -2972,7 +3023,6 @@ STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}Inga var # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} -STR_STATION_VIEW_WAITING_TITLE :{BLACK}Ventar: {WHITE}{STRING} STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} på veg frå {STATION}) STR_STATION_VIEW_RESERVED :{YELLOW}({CARGO_SHORT} reservert for lasting) @@ -3222,6 +3272,9 @@ STR_GROUP_DELETE_TOOLTIP :{BLACK}Slett de STR_GROUP_RENAME_TOOLTIP :{BLACK}Gje den valde gruppa nytt namn STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Klikk for å beskytte denne gruppa frå å global automatisk erstatning +STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Slett gruppe +STR_GROUP_DELETE_QUERY_TEXT :{WHITE}Er du sikker på at du vil slette denne gruppa og alle underpunkt? + STR_GROUP_ADD_SHARED_VEHICLE :Legg til delte køyretøy STR_GROUP_REMOVE_ALL_VEHICLES :Fjern alle køyretøy @@ -3284,6 +3337,21 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Endre na STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Endre namnet til skipstypen STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Endre namn til luftfartøytype +STR_BUY_VEHICLE_TRAIN_HIDE_TOGGLE_BUTTON :{BLACK}Skjul +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_TOGGLE_BUTTON :{BLACK}Skjul +STR_BUY_VEHICLE_SHIP_HIDE_TOGGLE_BUTTON :{BLACK}Skjul +STR_BUY_VEHICLE_AIRCRAFT_HIDE_TOGGLE_BUTTON :{BLACK}Skjul + +STR_BUY_VEHICLE_TRAIN_SHOW_TOGGLE_BUTTON :{BLACK}Syne +STR_BUY_VEHICLE_ROAD_VEHICLE_SHOW_TOGGLE_BUTTON :{BLACK}Syne +STR_BUY_VEHICLE_SHIP_SHOW_TOGGLE_BUTTON :{BLACK}Syne +STR_BUY_VEHICLE_AIRCRAFT_SHOW_TOGGLE_BUTTON :{BLACK}Syne + +STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Bytt skjul/vis type tog +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Bytt skjul/vis type køyretøy +STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Bytt skjul/vis type skip +STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Bytt skjul/vis type luftfartøy + STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}Gje tog/vogn nytt namn STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}Endre namnet til køyretøytypen STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}Endre namnet til skipstypen @@ -3388,6 +3456,11 @@ STR_REPLACE_VEHICLE_ROAD_VEHICLE :Køyretøy STR_REPLACE_VEHICLE_SHIP :Skip STR_REPLACE_VEHICLE_AIRCRAFT :Luftfartøy +STR_REPLACE_VEHICLE_VEHICLES_IN_USE :{YELLOW}Køyretøy i bruk +STR_REPLACE_VEHICLE_VEHICLES_IN_USE_TOOLTIP :{BLACK}Kolonne med køyretøy som du eig +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES :{YELLOW}Tilgjengelege køyretøy +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES_TOOLTIP :{BLACK}Kolonne med køyretøy som kan erstattast + STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Vel lokomotivtype å byte ut STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Vel den nye typen lokomotiv du vil at skal ta over for den du har vald til venstre @@ -3742,6 +3815,7 @@ STR_TIMETABLE_TRAVEL_NOT_TIMETABLED :Reis (ikkje på STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Reis med maks {2:VELOCITY} (utan rutetabell) STR_TIMETABLE_TRAVEL_FOR :Reis i {STRING} STR_TIMETABLE_TRAVEL_FOR_SPEED :Reis i {STRING} med maks {VELOCITY} +STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(reis {STRING}, ikkje på rutetabell) STR_TIMETABLE_STAY_FOR :og bli værande i {STRING} STR_TIMETABLE_AND_TRAVEL_FOR :og reis i {STRING} STR_TIMETABLE_DAYS :{COMMA} dag{P "" ar} @@ -3983,6 +4057,7 @@ STR_ERROR_EXCAVATION_WOULD_DAMAGE :{WHITE}Utgravin STR_ERROR_ALREADY_AT_SEA_LEVEL :{WHITE}Allereie på havnivå STR_ERROR_TOO_HIGH :{WHITE}For høgt STR_ERROR_ALREADY_LEVELLED :{WHITE}... allereie flatt +STR_ERROR_BRIDGE_TOO_HIGH_AFTER_LOWER_LAND :{WHITE}Etterpå vil brua over det bli for høg. # Company related errors STR_ERROR_CAN_T_CHANGE_COMPANY_NAME :{WHITE}Kan ikkje byta firmanamn... @@ -4033,6 +4108,9 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... skog STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... kan berre byggjast over snøgrensa STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... kan berre byggjast under snøgrensa +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}Der er ingen egna plass for '{STRING}' industriar +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Byt innstillingar for å generera eit betre kart + # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Kan ikkje byggje jernbanestasjon her... STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}Kan ikkje byggje busstasjon... @@ -4169,6 +4247,7 @@ STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Må rive STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}Kan ikkje starte og slutte på same felt STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}Bruhovud er ikkje på same nivå STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}Brua er for låg for terrenget +STR_ERROR_BRIDGE_TOO_HIGH_FOR_TERRAIN :{WHITE}Brua er for høg for terrenget. STR_ERROR_START_AND_END_MUST_BE_IN :{WHITE}Start og slutt må vere på linje STR_ERROR_ENDS_OF_BRIDGE_MUST_BOTH :{WHITE}... endane på brua må vere på land STR_ERROR_BRIDGE_TOO_LONG :{WHITE}... brua er for lang @@ -4195,6 +4274,7 @@ STR_ERROR_YOU_ALREADY_OWN_IT :{WHITE}... du e STR_ERROR_GROUP_CAN_T_CREATE :{WHITE}Kan ikkje lage gruppe... STR_ERROR_GROUP_CAN_T_DELETE :{WHITE}Kan ikkje slette denne gruppa... STR_ERROR_GROUP_CAN_T_RENAME :{WHITE}Kan ikkje gje gruppa nytt namn... +STR_ERROR_GROUP_CAN_T_SET_PARENT :{WHITE}Kan ikkje setja overordna gruppe... STR_ERROR_GROUP_CAN_T_REMOVE_ALL_VEHICLES :{WHITE}Kan ikkje fjerne alle køyretøy fra denne gruppa... STR_ERROR_GROUP_CAN_T_ADD_VEHICLE :{WHITE}Kan ikkje legge dette køyretøyet til denne gruppa... STR_ERROR_GROUP_CAN_T_ADD_SHARED_VEHICLE :{WHITE}Kan ikkje legge til gruppe for delte køyretøy... @@ -4732,6 +4812,7 @@ STR_COMPANY_NAME :{COMPANY} STR_COMPANY_NAME_COMPANY_NUM :{COMPANY} {COMPANY_NUM} STR_DEPOT_NAME :{DEPOT} STR_ENGINE_NAME :{ENGINE} +STR_HIDDEN_ENGINE_NAME :{ENGINE} (skjult) STR_GROUP_NAME :{GROUP} STR_INDUSTRY_NAME :{INDUSTRY} STR_PRESIDENT_NAME :{PRESIDENT_NAME} @@ -4767,8 +4848,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -4779,9 +4858,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/polish.txt b/src/lang/polish.txt index 81a2766305..220114005b 100644 --- a/src/lang/polish.txt +++ b/src/lang/polish.txt @@ -468,30 +468,30 @@ STR_CARGO_SINGULAR_FIZZY_DRINK.w :napoju gazowany # Quantity of cargo STR_QUANTITY_NOTHING : -STR_QUANTITY_PASSENGERS :{COMMA} pasażer{P "" ów ów} +STR_QUANTITY_PASSENGERS :{COMMA}{NBSP}pasażer{P "" ów ów} STR_QUANTITY_COAL :{WEIGHT_LONG} węgla -STR_QUANTITY_MAIL :{COMMA} pacz{P ka ki ek} poczty +STR_QUANTITY_MAIL :{COMMA}{NBSP}pacz{P ka ki ek} poczty STR_QUANTITY_OIL :{VOLUME_LONG} ropy -STR_QUANTITY_LIVESTOCK :{COMMA} sztuk{P a i ""} żywca -STR_QUANTITY_GOODS :{COMMA} skrzy{P nia nie ń} towarów +STR_QUANTITY_LIVESTOCK :{COMMA}{NBSP}sztuk{P a i ""} żywca +STR_QUANTITY_GOODS :{COMMA}{NBSP}skrzy{P nia nie ń} towarów STR_QUANTITY_GRAIN :{WEIGHT_LONG} zboża STR_QUANTITY_WOOD :{WEIGHT_LONG} drewna STR_QUANTITY_IRON_ORE :{WEIGHT_LONG} rudy żelaza STR_QUANTITY_STEEL :{WEIGHT_LONG} stali -STR_QUANTITY_VALUABLES :{COMMA} pacz{P ka ki ek} kosztowności +STR_QUANTITY_VALUABLES :{COMMA}{NBSP}pacz{P ka ki ek} kosztowności STR_QUANTITY_COPPER_ORE :{WEIGHT_LONG} rudy miedzi STR_QUANTITY_MAIZE :{WEIGHT_LONG} kukurydzy STR_QUANTITY_FRUIT :{WEIGHT_LONG} owoców -STR_QUANTITY_DIAMONDS :{COMMA} pacz{P ka ki ek} diamentów +STR_QUANTITY_DIAMONDS :{COMMA}{NBSP}pacz{P ka ki ek} diamentów STR_QUANTITY_FOOD :{WEIGHT_LONG} żywności STR_QUANTITY_PAPER :{WEIGHT_LONG} papieru -STR_QUANTITY_GOLD :{COMMA} wor{P ek ki ków} złota +STR_QUANTITY_GOLD :{COMMA}{NBSP}wor{P ek ki ków} złota STR_QUANTITY_WATER :{VOLUME_LONG} wody STR_QUANTITY_WHEAT :{WEIGHT_LONG} pszenicy STR_QUANTITY_RUBBER :{VOLUME_LONG} kauczuku STR_QUANTITY_SUGAR :{WEIGHT_LONG} cukru -STR_QUANTITY_TOYS :{COMMA} zabaw{P ka ki ek} -STR_QUANTITY_SWEETS :{COMMA} pacz{P ka ki ek} słodyczy +STR_QUANTITY_TOYS :{COMMA}{NBSP}zabaw{P ka ki ek} +STR_QUANTITY_SWEETS :{COMMA}{NBSP}pacz{P ka ki ek} słodyczy STR_QUANTITY_COLA :{VOLUME_LONG} coli STR_QUANTITY_CANDYFLOSS :{WEIGHT_LONG} waty cukrowej STR_QUANTITY_BUBBLES :{COMMA} bąbel{P ek ki ków} @@ -538,18 +538,18 @@ STR_ABBREV_NONE :{TINY_FONT}0 STR_ABBREV_ALL :{TINY_FONT}+ # 'Mode' of transport for cargoes -STR_PASSENGERS :{COMMA} pasażer{P "" ów ów} -STR_BAGS :{COMMA} wor{P ek ki ków} +STR_PASSENGERS :{COMMA}{NBSP}pasażer{P "" ów ów} +STR_BAGS :{COMMA}{NBSP}wor{P ek ki ków} STR_BAGS.d :{COMMA} worków STR_BAGS.c :{COMMA} workom STR_BAGS.b :{COMMA} worki STR_BAGS.n :{COMMA} workami STR_BAGS.m :{COMMA} workach STR_BAGS.w :{COMMA} worki -STR_TONS :{COMMA} ton{P a y ""} -STR_LITERS :{COMMA} litr{P "" y ów} -STR_ITEMS :{COMMA} sztuk{P a i ""} -STR_CRATES :{COMMA} skrzy{P nia nie ń} +STR_TONS :{COMMA}{NBSP}ton{P a y ""} +STR_LITERS :{COMMA}{NBSP}litr{P "" y ów} +STR_ITEMS :{COMMA}{NBSP}sztuk{P a i ""} +STR_CRATES :{COMMA}{NBSP}skrzy{P nia nie ń} # Colours, do not shuffle STR_COLOUR_DARK_BLUE :Ciemnoniebieski @@ -570,37 +570,37 @@ STR_COLOUR_GREY :Szary STR_COLOUR_WHITE :Biały # Units used in OpenTTD -STR_UNITS_VELOCITY_IMPERIAL :{COMMA} mph -STR_UNITS_VELOCITY_METRIC :{COMMA} km/h -STR_UNITS_VELOCITY_SI :{COMMA} m/s +STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}mph +STR_UNITS_VELOCITY_METRIC :{COMMA}{NBSP}km/h +STR_UNITS_VELOCITY_SI :{COMMA}{NBSP}m/s -STR_UNITS_POWER_IMPERIAL :{COMMA}KM -STR_UNITS_POWER_METRIC :{COMMA}KM -STR_UNITS_POWER_SI :{COMMA}kW +STR_UNITS_POWER_IMPERIAL :{COMMA}{NBSP}KM +STR_UNITS_POWER_METRIC :{COMMA}{NBSP}KM +STR_UNITS_POWER_SI :{COMMA}{NBSP}kW -STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}t -STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}t -STR_UNITS_WEIGHT_SHORT_SI :{COMMA}kg +STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_SI :{COMMA}{NBSP}kg -STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA} ton{P a y ""} -STR_UNITS_WEIGHT_LONG_METRIC :{COMMA} ton{P a y ""} -STR_UNITS_WEIGHT_LONG_SI :{COMMA} kg +STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA}{NBSP}ton{P a y ""} +STR_UNITS_WEIGHT_LONG_METRIC :{COMMA}{NBSP}ton{P a y ""} +STR_UNITS_WEIGHT_LONG_SI :{COMMA}{NBSP}kg -STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}gal -STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}l -STR_UNITS_VOLUME_SHORT_SI :{COMMA}m³ +STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}{NBSP}gal +STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}{NBSP}l +STR_UNITS_VOLUME_SHORT_SI :{COMMA}{NBSP}m³ -STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA} galon{P "" y ów} -STR_UNITS_VOLUME_LONG_METRIC :{COMMA} litr{P "" y ów} -STR_UNITS_VOLUME_LONG_SI :{COMMA} m³ +STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA}{NBSP}galon{P "" y ów} +STR_UNITS_VOLUME_LONG_METRIC :{COMMA}{NBSP}litr{P "" y ów} +STR_UNITS_VOLUME_LONG_SI :{COMMA}{NBSP}m³ -STR_UNITS_FORCE_IMPERIAL :{COMMA} lbf -STR_UNITS_FORCE_METRIC :{COMMA} kgf -STR_UNITS_FORCE_SI :{COMMA} kN +STR_UNITS_FORCE_IMPERIAL :{COMMA}{NBSP}lbf +STR_UNITS_FORCE_METRIC :{COMMA}{NBSP}kgf +STR_UNITS_FORCE_SI :{COMMA}{NBSP}kN -STR_UNITS_HEIGHT_IMPERIAL :{COMMA} st{P opa opy óp} -STR_UNITS_HEIGHT_METRIC :{COMMA} m -STR_UNITS_HEIGHT_SI :{COMMA} m +STR_UNITS_HEIGHT_IMPERIAL :{COMMA}{NBSP}st{P opa opy óp} +STR_UNITS_HEIGHT_METRIC :{COMMA}{NBSP}m +STR_UNITS_HEIGHT_SI :{COMMA}{NBSP}m # Common window strings STR_LIST_FILTER_TITLE :{BLACK}Filtr: @@ -627,6 +627,17 @@ STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Suwak - STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Pasek przewijania - przewija listę w prawo/w lewo STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Niszczenie budynków itp. w danym kwadracie terenu. Ctrl zaznacza obszar po przekątnej. Shift przełącza pomiędzy trybem burzenia a szacowaniem jego kosztów +# Show engines button +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}Pokaż ukryte +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK}Pokaż ukryte +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}Pokaż ukryte +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}Pokaż ukryte + +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}Włączenie tego przycisku pokazuje wszystkie ukryte typy taboru +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE_TOOLTIP :{BLACK}Włączenie tego przycisku pokazuje wszystkie ukryte typy pojazdów +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}Włączenie tego przycisku pokazuje wszystkie ukryte typy statków +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Włączenie tego przycisku pokazuje wszystkie ukryte typy samolotów + # Query window STR_BUTTON_DEFAULT :{BLACK}Domyślna STR_BUTTON_CANCEL :{BLACK}Anuluj @@ -740,7 +751,7 @@ STR_SCENEDIT_FILE_MENU_QUIT :Wyjście ############ range for settings menu starts STR_SETTINGS_MENU_GAME_OPTIONS :Opcje gry -STR_SETTINGS_MENU_CONFIG_SETTINGS :Ustawienia zaawanasowane +STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Ustawienia STR_SETTINGS_MENU_SCRIPT_SETTINGS :Ustawienia SI / Game Script STR_SETTINGS_MENU_NEWGRF_SETTINGS :Ustawienia NewGRF STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Opcje przeźroczystości @@ -849,38 +860,56 @@ STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Włącz/wyłąc STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Włącz/wyłącz kolorowanie brudnych bloków ############ range ends here -############ range for days starts (also used for the place in the highscore window) -STR_ORDINAL_NUMBER_1ST :1 -STR_ORDINAL_NUMBER_2ND :2 -STR_ORDINAL_NUMBER_3RD :3 -STR_ORDINAL_NUMBER_4TH :4 -STR_ORDINAL_NUMBER_5TH :5 -STR_ORDINAL_NUMBER_6TH :6 -STR_ORDINAL_NUMBER_7TH :7 -STR_ORDINAL_NUMBER_8TH :8 -STR_ORDINAL_NUMBER_9TH :9 -STR_ORDINAL_NUMBER_10TH :10 -STR_ORDINAL_NUMBER_11TH :11 -STR_ORDINAL_NUMBER_12TH :12 -STR_ORDINAL_NUMBER_13TH :13 -STR_ORDINAL_NUMBER_14TH :14 -STR_ORDINAL_NUMBER_15TH :15 -STR_ORDINAL_NUMBER_16TH :16 -STR_ORDINAL_NUMBER_17TH :17 -STR_ORDINAL_NUMBER_18TH :18 -STR_ORDINAL_NUMBER_19TH :19 -STR_ORDINAL_NUMBER_20TH :20 -STR_ORDINAL_NUMBER_21ST :21 -STR_ORDINAL_NUMBER_22ND :22 -STR_ORDINAL_NUMBER_23RD :23 -STR_ORDINAL_NUMBER_24TH :24 -STR_ORDINAL_NUMBER_25TH :25 -STR_ORDINAL_NUMBER_26TH :26 -STR_ORDINAL_NUMBER_27TH :27 -STR_ORDINAL_NUMBER_28TH :28 -STR_ORDINAL_NUMBER_29TH :29 -STR_ORDINAL_NUMBER_30TH :30 -STR_ORDINAL_NUMBER_31ST :31 +############ range for ordinal numbers used for the place in the highscore window +STR_ORDINAL_NUMBER_1ST :1. +STR_ORDINAL_NUMBER_2ND :2. +STR_ORDINAL_NUMBER_3RD :3. +STR_ORDINAL_NUMBER_4TH :4. +STR_ORDINAL_NUMBER_5TH :5. +STR_ORDINAL_NUMBER_6TH :6. +STR_ORDINAL_NUMBER_7TH :7. +STR_ORDINAL_NUMBER_8TH :8. +STR_ORDINAL_NUMBER_9TH :9. +STR_ORDINAL_NUMBER_10TH :10. +STR_ORDINAL_NUMBER_11TH :11. +STR_ORDINAL_NUMBER_12TH :12. +STR_ORDINAL_NUMBER_13TH :13. +STR_ORDINAL_NUMBER_14TH :14. +STR_ORDINAL_NUMBER_15TH :15. +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :1 +STR_DAY_NUMBER_2ND :2 +STR_DAY_NUMBER_3RD :3 +STR_DAY_NUMBER_4TH :4 +STR_DAY_NUMBER_5TH :5 +STR_DAY_NUMBER_6TH :6 +STR_DAY_NUMBER_7TH :7 +STR_DAY_NUMBER_8TH :8 +STR_DAY_NUMBER_9TH :9 +STR_DAY_NUMBER_10TH :10 +STR_DAY_NUMBER_11TH :11 +STR_DAY_NUMBER_12TH :12 +STR_DAY_NUMBER_13TH :13 +STR_DAY_NUMBER_14TH :14 +STR_DAY_NUMBER_15TH :15 +STR_DAY_NUMBER_16TH :16 +STR_DAY_NUMBER_17TH :17 +STR_DAY_NUMBER_18TH :18 +STR_DAY_NUMBER_19TH :19 +STR_DAY_NUMBER_20TH :20 +STR_DAY_NUMBER_21ST :21 +STR_DAY_NUMBER_22ND :22 +STR_DAY_NUMBER_23RD :23 +STR_DAY_NUMBER_24TH :24 +STR_DAY_NUMBER_25TH :25 +STR_DAY_NUMBER_26TH :26 +STR_DAY_NUMBER_27TH :27 +STR_DAY_NUMBER_28TH :28 +STR_DAY_NUMBER_29TH :29 +STR_DAY_NUMBER_30TH :30 +STR_DAY_NUMBER_31ST :31 ############ range for days ends ############ range for months starts @@ -1190,13 +1219,12 @@ STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}{VEHICLE STR_NEWS_SHIP_IS_WAITING :{WHITE}{VEHICLE} czeka w stoczni STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE} czeka w hangarze -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE +# Order review system / warnings STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE} ma za mało poleceń w rozkładzie STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE} ma nieważne polecenie STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE} ma zdublowane polecenia STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE} ma nieprawiodłową stację w poleceniach -# end of order system +STR_NEWS_PLANE_USES_TOO_SHORT_RUNWAY :{WHITE}{VEHICLE} ma w poleceniach lotnisko ze zbyt krótkim pasem startowym STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} starzeje się STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} bardzo się starzeje @@ -1279,12 +1307,8 @@ STR_GAME_OPTIONS_CURRENCY_GEL :Lari gruziński STR_GAME_OPTIONS_CURRENCY_IRR :Rial irański (IRR) ############ end of currency region - -############ start of measuring units region -############ end of measuring units region - STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Pojazdy drogowe -STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}Wybierz stronę po której mają jeździć samochody +STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}Wybierz stronę, po której będą jeździć samochody STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :Jazda po lewej STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_RIGHT :Jazda po prawej @@ -1316,13 +1340,15 @@ STR_GAME_OPTIONS_TOWN_NAME_CATALAN :Katalońskie ############ end of townname region STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Autozapis -STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Wybierz okres pomiędzy autozapisami +STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Częstotliwość automatycznego zapisu stanu gry +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Wył. STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :Co 1 miesiąc STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :Co 3 miesiące STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :Co 6 miesięcy STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :Co 12 miesięcy +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}Język STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Wybierz język interfejsu @@ -1334,8 +1360,12 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}Rozdziel STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Wybierz rozdzielczość ekranu STR_GAME_OPTIONS_RESOLUTION_OTHER :inna -STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}Format zrzutu ekranu -STR_GAME_OPTIONS_SCREENSHOT_FORMAT_TOOLTIP :{BLACK}Wybierz format zrzutu ekranu +STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Rozmiar interfejsu +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Wybierz rozmiar elementów interfejsu + +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normalne +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Podwójny +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Poczwórny STR_GAME_OPTIONS_BASE_GRF :{BLACK}Podstawowy zestaw grafik STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Wybierz podstawowy zestaw grafik do użycia @@ -1351,6 +1381,7 @@ STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Wybierz STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} plik{P "" i ów} uszkodzony STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Dodatkowe informacje o muzyce podstawowej +STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Nie udało się pobrać listy obsługiwanych rozdzielczości STR_ERROR_FULLSCREEN_FAILED :{WHITE}Uruchomienie trybu pełnoekranowego nie powiodło się # Custom currency window @@ -1383,7 +1414,7 @@ STR_DIFFICULTY_LEVEL_SETTING_MAXIMUM_NO_COMPETITORS :{LTBLUE}Maksyma STR_NONE :Brak STR_FUNDING_ONLY :Tylko sponsorowanie -STR_MINIMAL :Minimalna +STR_MINIMAL :Minimum STR_NUM_VERY_LOW :Bardzo mało STR_NUM_LOW :Mało STR_NUM_NORMAL :Średnio @@ -1411,10 +1442,10 @@ STR_SEA_LEVEL_HIGH :Wysoki STR_SEA_LEVEL_CUSTOM :Własny STR_SEA_LEVEL_CUSTOM_PERCENTAGE :Własny ({NUM}%) -STR_RIVERS_NONE :Żaden -STR_RIVERS_FEW :Kilka -STR_RIVERS_MODERATE :Średni -STR_RIVERS_LOT :Sporo +STR_RIVERS_NONE :Brak +STR_RIVERS_FEW :Mało +STR_RIVERS_MODERATE :Średnio +STR_RIVERS_LOT :Dużo STR_DISASTER_NONE :Brak STR_DISASTER_REDUCED :Zredukowane @@ -1429,6 +1460,7 @@ STR_TERRAIN_TYPE_VERY_FLAT :Bardzo płaski STR_TERRAIN_TYPE_FLAT :Płaski STR_TERRAIN_TYPE_HILLY :Pagórkowaty STR_TERRAIN_TYPE_MOUNTAINOUS :Górzysty +STR_TERRAIN_TYPE_ALPINIST :Alpejski STR_CITY_APPROVAL_PERMISSIVE :Przyjazne STR_CITY_APPROVAL_TOLERANT :Tolerancyjne @@ -1436,8 +1468,8 @@ STR_CITY_APPROVAL_HOSTILE :Wrogie STR_WARNING_NO_SUITABLE_AI :{WHITE}Brak pasujących SI...{}Możesz pobrać wszystkie SI przez system "Zawartości online" -# Advanced settings window -STR_CONFIG_SETTING_CAPTION :{WHITE}Ustawienia zaawansowane +# Settings tree window +STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Ustawienia STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Filtrowanie po frazie: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Otwórz wszystko STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Zamknij wszystko @@ -1453,9 +1485,9 @@ STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :Ustawienie firm STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK}Kategoria: STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}Typ: STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Ogranicza poniższą listę używając zdefiniowanych filtrów -STR_CONFIG_SETTING_RESTRICT_BASIC :Ustawienia podstawowe -STR_CONFIG_SETTING_RESTRICT_ADVANCED :Ustawienia zaawansowane -STR_CONFIG_SETTING_RESTRICT_ALL :Ustawienia eksperta / wszystkie ustawienia +STR_CONFIG_SETTING_RESTRICT_BASIC :Podstawowe (pokaż tylko ważne opcje) +STR_CONFIG_SETTING_RESTRICT_ADVANCED :Zaawansowane (pokaż większość opcji) +STR_CONFIG_SETTING_RESTRICT_ALL :Ekspert (pokaż wszystkie opcje, włącznie z dziwnymi) STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :Ustawienie z inną wartością niż domyślna STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :Ustawienia z wartościami innymi niż twoje ustawienia dla nowej gry @@ -1510,9 +1542,10 @@ STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Ustaw katastrof STR_CONFIG_SETTING_CITY_APPROVAL :Nastawienie władz miasta do przekształcania terenu: {STRING} STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Wybierz jak bardzo hałas i niszczenie środowiska przez firmy wpływa na ich ocenę przez miasto i dalsze konstrukcje na ich obszarze -STR_CONFIG_SETTING_BUILDONSLOPES :Pozwól budować na pochyłym terenie i wybrzeżach: {STRING} -STR_CONFIG_SETTING_BUILDONSLOPES_HELPTEXT :Jeśli włączone, to tory i stacje można budować na większości stoków. Jeśli wyłączone, można je budować tylko na stokach w tym samym kierunku, co tory, tak, że nie potrzeba fundamentów -STR_CONFIG_SETTING_AUTOSLOPE :Pozwól na zmiany terenu pod budynkami, torami itp. (autoslope): {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :Maksymalna wysokość mapy: {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :Ustaw maksymalną możliwą wysokość dla gór na mapie +STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}Nie możesz ustawić maksymalnej wysokości mapy na tę wartość. Conajmniej jedna góra na mapie jest wyższa +STR_CONFIG_SETTING_AUTOSLOPE :Pozwól na zmiany terenu pod budynkami, torami itp.: {STRING} STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Pozwalaj na modyfikowanie terenu pod budynkami i torami bez usuwania ich STR_CONFIG_SETTING_CATCHMENT :Pozwól na bardziej realistyczny zasięg obejmowania: {STRING} STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Używaj różnych rozmiarów pokrywania obszaru dla różnych typów stacji i lotnisk @@ -1536,16 +1569,12 @@ STR_CONFIG_SETTING_FORBID_90_DEG :Zabroń pociąg STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90-stopniowy zakręt występuje wtedy, gdy bezpośrednio po poziomym odcinku toru występuje odcinek pionowy na sąsiadującym polu zmuszając pociąg do skrętu o 90 stopni pokonując krawędź pola zamiast normalnego, 45-stopniowego skrętu w innych kombinacjach torów. Dotyczy to również kąta skrętu dla statków STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Pozwól na łączenie stacji nie sąsiadujących bezpośrednio: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Pozwalaj na dodawanie części stacji nie stykających się ze sobą. Naciśnij Ctrl przed postawieniem nowej części -STR_CONFIG_SETTING_IMPROVEDLOAD :Użyj ulepszonego algorytmu załadunku: {STRING} -STR_CONFIG_SETTING_IMPROVEDLOAD_HELPTEXT :Gdy włączone, wiele pojazdów czekających na stacji jest ładowanych po kolei. Ładowanie następnego pojazdu rozpocznie się, jeśli jest wystarczająco dużo towaru do uzupełnienia pierwszego pojazdu -STR_CONFIG_SETTING_GRADUAL_LOADING :Stopniowy załadunek pojazdów: {STRING} -STR_CONFIG_SETTING_GRADUAL_LOADING_HELPTEXT :Załadunek pojazdów odbywa się stopniowo przy użyciu specyficznych czasów ładowania zamiast ładowania wszystkiego naraz w określonym czasie w zależności tylko od ilości załadowanego towaru STR_CONFIG_SETTING_INFLATION :Inflacja: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :Włącz inflację w ekonomii, gdzie koszty rosną nieco szybciej niż zapłaty -STR_CONFIG_SETTING_SELECTGOODS :Dostarcz ładunek na stację tylko jeśli jest zapotrzebowanie: {STRING} -STR_CONFIG_SETTING_SELECTGOODS_HELPTEXT :Dostarczaj towar tylko do tej stacji, która została zlecona dla załadowanego pojazdu. To zapobiega złym notowaniom dla towarów, które nie są obsługiwane na stacji STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Maksymalna długość mostu: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Maksymalna długość budowanych mostów +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :Maksymalna wysokość mostu: {STRING} +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :Maksymalna wysokośc dla budowy mostów STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Maksymalna długość tunelu: {STRING} STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :Maksymalna długość budowanych tuneli STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Budowa przedsiębiorstw wydobywczych: {STRING} @@ -1571,8 +1600,6 @@ STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Miejsce, w któ STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :początku STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :środku STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :końcu -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING :Ustawianie się samochodów w kolejkach (z efektem quantum): {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING_HELPTEXT :Każ pojazdom drogowych czekać przed zajętymi przystankami dopóki nie zostaną zwolnione STR_CONFIG_SETTING_AUTOSCROLL :Przesuń okno, kiedy kursor jest przy krawędzi: {STRING} STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Kiedy włączone, okna podglądu będą się przewijać, gdy kursor znajdzie się przy krańcu okna STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Wyłączone @@ -1603,10 +1630,6 @@ STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Pozwól na budo STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Pozwalaj budować przystanki przelotowe na drogach własnościowych miast STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Pozwól na przejazd przez przystanki należące do przeciwników: {STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Pozwalaj budować przystanki przelotowe na drogach własnościowych innych graczy -STR_CONFIG_SETTING_ADJACENT_STATIONS :Pozwól na budowę przylegających stacji: {STRING} -STR_CONFIG_SETTING_ADJACENT_STATIONS_HELPTEXT :Pozwalaj, by różne stacje stykały się ze sobą -STR_CONFIG_SETTING_DYNAMIC_ENGINES :Zezwól na wiele zestawów NewGRF: {STRING} -STR_CONFIG_SETTING_DYNAMIC_ENGINES_HELPTEXT :Opcja kompatybilności dla starych NewGRFów. Nie wyłączaj jej, chyba, że wiesz, co robisz STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Zmiana tego ustawienia nie jest możliwa, gdy znajdują się tutaj pojazdy STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Utrzymywanie infrastruktury: {STRING} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Kiedy włączone, utrzymanie infrastruktury jest naliczane w kosztach. Koszty wzrastają nadproporcjonalnie do rozmiarów sieci połączeń, a więc dotykają bardziej duże niż małe firmy @@ -1627,7 +1650,7 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Pojazdy nigdy n STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Kiedy włączone, wszystkie modele pojazdów pozostają dostępne na zawsze od daty ich wprowadzenia STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Autoodnawianie pojazdów gdy stają się stare: {STRING} STR_CONFIG_SETTING_AUTORENEW_VEHICLE_HELPTEXT :Kiedy włączone, pojazd zbliżający się do końca swojej żywotności zostaje automatycznie zastąpiony, gdy warunki jego odnowienia są spełnione -STR_CONFIG_SETTING_AUTORENEW_MONTHS :Automatyczna odnowa, gdy pojazd ma {STRING} maks. wieku +STR_CONFIG_SETTING_AUTORENEW_MONTHS :Automatyczna odnowa, gdy pojazd ma {STRING} maksymalnym wieku STR_CONFIG_SETTING_AUTORENEW_MONTHS_HELPTEXT :Odpowiedni wiek pojazdu, kiedy powinien on zostać automatycznie odnowiony STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_BEFORE :{COMMA} miesi{P ąc ące ęcy} do STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_AFTER :{COMMA} miesi{P ąc ące ęcy} po @@ -1637,35 +1660,49 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :Czas wyświetla STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Czas wyświetlania komunikatów o błędach w czerwonym oknie. Niektóre (krytyczne) komunikaty o błędach nie zamykają się automatycznie po tym czasie, tylko muszą zostać zamknięte ręcznie STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{COMMA} sekund{P a y ""} STR_CONFIG_SETTING_HOVER_DELAY :Pokaż wskazówki: {STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Opóźnienie, zanim wskazówka zostanie wyświetlona po najechaniu myszką na element interfejsu. Alternatywnie wskazówki mogą zostać przypisane do prawego przycisku myszki -STR_CONFIG_SETTING_HOVER_DELAY_VALUE :po zatrzymaniu kursora przez {COMMA} sekund{P ę y ""} +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Opóźnienie, zanim wskazówka zostanie wyświetlona po najechaniu myszką na element interfejsu. Alternatywnie wskazówki mogą zostać przypisane do prawego przycisku myszki, kiedy ta wartość jest ustawiona na 0. +STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Zatrzymaj kursor przez {COMMA} milisekund{P ę y ""} STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :prawy klik STR_CONFIG_SETTING_POPULATION_IN_LABEL :Pokaż populację miasta w jego nazwie: {STRING} STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Wyświetlaj populację miast w ich etykietach na mapie STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Grubość linii na wykresie: {STRING} STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Grubość linii na wykresach. Cienka linia jest dokładniejsza, grubsza linia jest bardziej widoczna a kolory łatwiejsze do odróżnienia +STR_CONFIG_SETTING_LANDSCAPE :Krajobraz: {STRING} +STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Krajobrazy określają podstawowe scenariusze gry, które różnią się przedsiębiorstwami, towarami i wymogami dla rozwoju miast. Pliki NewGRF i skrypty umożliwiają dokładniejszą kontrolę warunków rozgrywki STR_CONFIG_SETTING_LAND_GENERATOR :Generator krajobrazu: {STRING} +STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :Oryginalny generator tworzy tylko proste kształty krajobrazu i jest zależny od podstawowego zestawu grafiki. TerraGenesis jest oparty na generatorze szumu Perlina, który umożliwia precyzyjną kontrolę parametrów STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Oryginalny STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis +STR_CONFIG_SETTING_TERRAIN_TYPE :Typ terenu: {STRING} +STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :Określa ukształtowanie terenu (tylko dla TerraGenesis) +STR_CONFIG_SETTING_INDUSTRY_DENSITY :Liczba przedsiębiorstw: {STRING} +STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Określa liczbę przedsiębiorstw na początku i w trakcie gry STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Maksymalna odległość od krawędzi dla rafinerii: {STRING} STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Rafinerie są budowane tylko w pobliżu krawędzi map, to znaczy na wybrzeżach dla map wyspiarskich STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Wysokość granicy wiecznych śniegów: {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Wyboistość terenu (w TerraGenesis) : {STRING} +STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Wysokość linii śniegu w klimacie arktycznym. Poziom pokrywy śnieżnej wpływa na rozmieszczenie przedsiębiorstw i na warunki rozwoju miast +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Gładkość terenu: {STRING} +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(Tylko dla TerraGenesis) Określa liczbę wzgórz na mapie. Łagodne krajobrazy posiadają nieliczne, bardzo rozległe wzgórza, natomiast na terenach pofałdowanych jest ich znacznie więcej i mogą wyglądać podobnie STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Bardzo łagodny STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Łagodny -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Wyboisty -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Bardzo wyboisty +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Pofałdowany +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Bardzo pofałdowany +STR_CONFIG_SETTING_VARIETY :Różnorodność terenu: {STRING} +STR_CONFIG_SETTING_VARIETY_HELPTEXT :(Tylko dla TerraGenesis) Umożliwia jednoczesne występowanie obszarów górskich i płaskich. Działa na zasadzie obniżania powierzchni, dlatego inny parametr powinien definiować teren górzysty +STR_CONFIG_SETTING_RIVER_AMOUNT :Liczba rzek: {STRING} +STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Określa liczbę rzek na mapie STR_CONFIG_SETTING_TREE_PLACER :Algorytm rozmieszczenia drzew: {STRING} +STR_CONFIG_SETTING_TREE_PLACER_HELPTEXT :Metoda generowania terenów zalesionych. Algorytm "Oryginalny" rozmieszcza drzewa równomiernie na całej mapie, a "Ulepszony" gromadzi je w skupiska STR_CONFIG_SETTING_TREE_PLACER_NONE :Brak STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :Oryginalny STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :Ulepszony +STR_CONFIG_SETTING_ROAD_SIDE :Pojazdy drogowe: {STRING} +STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :Wybierz stronę, po której będą jeździć samochody STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Obrót mapy wysokości: {STRING} STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Przeciwnie do wsk. zegara STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Zgodnie ze wsk. zegara STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :Wysokość jaką dostaje płaska mapa: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :Włącz kształtowanie krajobrazu pól przy krawędzi mapy: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES_HELPTEXT :Jeśli wyłączone, to krawędzie map będą pokryte oceanem STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}Jedno lub więcej pól na północnej krawędzi nie jest puste STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}Jedno lub więcej pól na krawędzi nie jest wodą @@ -1686,7 +1723,7 @@ STR_CONFIG_SETTING_SMOOTH_SCROLLING :Wygładź przes STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Zdecyduj, jak główny widok przesuwa się do konkretnej lokacji, gdy klikasz na mini-mapie lub gdy używasz komendy do przesunięcia do danego obiektu na mapie. Kiedy włączone, widok przesuwa się płynnie, kiedy wyłączone, następuje skok bezpośrednio do wybranego miejsca STR_CONFIG_SETTING_MEASURE_TOOLTIP :Pokaż dymek z pomiarem podczas używania różnych narzędzi: {STRING} STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT :Wyświetlaj długość budowanych odcinków i różnicę wysokości przy przeciąganiu w trakcie operacji budowlanych -STR_CONFIG_SETTING_LIVERIES :Pokaż barwy firm: {STRING} +STR_CONFIG_SETTING_LIVERIES :Pokaż barwy firm wg typu pojazdu: {STRING} STR_CONFIG_SETTING_LIVERIES_HELPTEXT :Kontrolka stosowania schematu kolorów pojazdów specyficznych dla typów pojazdów (w przeciwieństwie do specyfiki firmy) STR_CONFIG_SETTING_LIVERIES_NONE :brak STR_CONFIG_SETTING_LIVERIES_OWN :własnej firmy @@ -1694,7 +1731,7 @@ STR_CONFIG_SETTING_LIVERIES_ALL :wszystkich firm STR_CONFIG_SETTING_PREFER_TEAMCHAT :Preferuj czat drużynowy po użyciu lub : {STRING} STR_CONFIG_SETTING_PREFER_TEAMCHAT_HELPTEXT :Przypisz przyciski i odpowiednio do czatu firmowego i czatu publicznego STR_CONFIG_SETTING_SCROLLWHEEL_SCROLLING :Funkcja rolki myszy: {STRING} -STR_CONFIG_SETTING_SCROLLWHEEL_SCROLLING_HELPTEXT :Włączenie przewijania z użyciem dwu-wymiarowych rolek myszy +STR_CONFIG_SETTING_SCROLLWHEEL_SCROLLING_HELPTEXT :Włączenie przewijania z użyciem dwuwymiarowych rolek myszy STR_CONFIG_SETTING_SCROLLWHEEL_ZOOM :powiększ widok STR_CONFIG_SETTING_SCROLLWHEEL_SCROLL :przesuń widok STR_CONFIG_SETTING_SCROLLWHEEL_OFF :wył. @@ -1716,17 +1753,15 @@ 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_AUTOSAVE :Autozapis: {STRING} +STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Częstotliwość automatycznego zapisu stanu gry + STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Użyj {STRING} formatu daty dla nazw zapisów gry STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Format daty w nazwach plików zapisu gry STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :długiego (31 grudnia 2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :krótkiego (31-12-2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE :Domyślna paleta dla NewGRF, które nie posiadają zdefiniowanej palety: {STRING} -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_HELPTEXT :Domyślna paleta dla NewGRF'ów, które nie określają, jakich palet potrzebują -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_DOS :standardowa paleta (DOS) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_WIN :dawna paleta (Win) - STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Automatycznie włącz pauzę przy rozpoczęciu nowej gry: {STRING} STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :Kiedy włączone, gra zostanie automatycznie zatrzymana na samym początku, pozwalając na lepsze rozpoznanie mapy STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Zezwól w czasie wstrzymania gry na: {STRING} @@ -1735,7 +1770,7 @@ STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :Brak działań STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :Wszystkie niezwiązane z konstrukcją STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :Wszystkie oprócz modyfikowania terenu STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_ACTIONS :Wszystkie działania -STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Używaj zaawansowanej listy pojazdów: {STRING} +STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Używaj grup w liście pojazdów: {STRING} STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Wlącz obsługę zaawansowanych list pojazdów do grupowania pojazdów STR_CONFIG_SETTING_LOADING_INDICATORS :Pokazuj wskaźniki załadunku: {STRING} STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Wybierz, czy wskaźnik załadunku pokazuje się nad ładowanym/rozładowywanym pojazdem @@ -1776,13 +1811,13 @@ STR_CONFIG_SETTING_SOUND_AMBIENT_HELPTEXT :Odtwarzaj dźwi STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING :Zablokuj budowę infrastruktury, kiedy brak odpowiednich pojazdów: {STRING} STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING_HELPTEXT :Kiedy włączone, rodzaj infrastruktury jest dostępny tylko wtedy, gdy są dostępne również pojazdy, zapobiegając marnowaniu czasu i pieniędzy na zbędną infrastrukturę -STR_CONFIG_SETTING_MAX_TRAINS :Maks. liczba pociągów na firmę: {STRING} +STR_CONFIG_SETTING_MAX_TRAINS :Makymalna liczba pociągów na firmę: {STRING} STR_CONFIG_SETTING_MAX_TRAINS_HELPTEXT :Maksymalna ilość pociągów, jakie firma może posiadać -STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :Maks. liczba samochodów na firmę: {STRING} +STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :Maksymalna liczba samochodów na firmę: {STRING} STR_CONFIG_SETTING_MAX_ROAD_VEHICLES_HELPTEXT :Maksymalna ilość pojazdów drogowych, jakie firma może posiadać -STR_CONFIG_SETTING_MAX_AIRCRAFT :Maks. liczba samolotów na firmę: {STRING} +STR_CONFIG_SETTING_MAX_AIRCRAFT :Maksymalna liczba samolotów na firmę: {STRING} STR_CONFIG_SETTING_MAX_AIRCRAFT_HELPTEXT :Maksymalna ilość maszyn latających, jakie firma może posiadać -STR_CONFIG_SETTING_MAX_SHIPS :Maks. liczba statków na firmę: {STRING} +STR_CONFIG_SETTING_MAX_SHIPS :Maksymalna liczba statków na firmę: {STRING} STR_CONFIG_SETTING_MAX_SHIPS_HELPTEXT :Maksymalna ilość statków, jakie firma może posiadać STR_CONFIG_SETTING_AI_BUILDS_TRAINS :Pociągi niedostępne dla komputera: {STRING} @@ -1809,7 +1844,7 @@ STR_CONFIG_SETTING_SERVINT_ISPERCENT :Okres między s STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Wybierz, czy serwisowanie pojazdów odbywa się na podstawie czasu od ostatniego serwisu, czy sprawności malejącej o pewien procent maksymalnej sprawności STR_CONFIG_SETTING_SERVINT_TRAINS :Domyślny interwał serwisowania pociągów: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Ustaw domyślny okres serwisowania dla nowych pojazdów kolejowych, jeśli takowy nie istnieje dla określonego pojazdu -STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA} d{P zień ni ni}/% +STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}d{P zień ni ni}/% STR_CONFIG_SETTING_SERVINT_DISABLED :Wyłączone STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES :Domyślny interwał serwisowania pojazdów: {STRING} STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES_HELPTEXT :Ustaw domyślny okres serwisowania dla nowych pojazdów drogowych, jeśli takowy nie istnieje dla określonego pojazdu @@ -1876,7 +1911,7 @@ STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT :Wybierz sposób STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE :Automatycznie buduj semafory przed: {STRING} STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT :Ustaw rok, w którym semafory świetlne będą używane. Przed tym rokiem w użyciu będą semafory kształtowe (które mają te same właściwości, tylko inny wygląd) STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI :Uaktywnij okno budowania sygnałów: {STRING} -STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI_HELPTEXT :Wyświetlaj okno wyboru typu semaforów do budowy, zamiast samego przełączania typu semafora z Ctrl+klik bez okna +STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI_HELPTEXT :Wyświetlaj okno wyboru typu semaforów do budowy, zamiast samego przełączania typu semafora bez okna z Ctrl+klik na zbudowanym semaforze STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE :Domyślny typ sygnalizatorów: {STRING} STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE_HELPTEXT :Domyślny typ semaforów STR_CONFIG_SETTING_DEFAULT_SIGNAL_NORMAL :sygnalizatory bloku @@ -1900,7 +1935,7 @@ STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT :Pozwalaj miasto STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :Miasta, które mogą budować przejazdy kolejowe: {STRING} STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Aktywacja tej opcji pozwala miastom budować przejazdy kolejowe STR_CONFIG_SETTING_NOISE_LEVEL :Pozwól miastom kontrolować poziom hałasu dla lotnisk: {STRING} -STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Kiedy ta opcja jest wyłączona, w miastach można zbudować 2 lotniska. Kiedy opcja jest włączona, dopuszczalna liczba lotnisk jest określana przez tolerancję hałasu w mieście, która zależy od populacji oraz rozmiaru i odległości od lotniska +STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Kiedy ta opcja jest wyłączona, w miastach można zbudować 2 lotniska. Kiedy ta opcja jest włączona, liczba lotnisk jest ograniczona przez tolerancję hałasu tego miasta, która zależna jest od populacji oraz rozmiaru lotniska i jego odległości STR_CONFIG_SETTING_TOWN_FOUNDING :Zakładanie miast w grze: {STRING} STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Aktywacja tej opcji umożliwia graczom zakładanie nowych miast w grze STR_CONFIG_SETTING_TOWN_FOUNDING_FORBIDDEN :Zabronione @@ -1948,12 +1983,10 @@ STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 z {COMMA} STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Żadne STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Początkowy mnożnik rozmiarów metropolii: {STRING} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Średni rozmiar dużych miast w porównaniu do normalnych miast na początku gry -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :Usuwaj absurdalne fragmenty ulicy podczas rekonstrukcji dróg: {STRING} -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD_HELPTEXT :Usuń ślepe zaułki podczas sponsorowanych remontów dróg -STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Aktualizuj wykres dystrybucji co {STRING} {P dzień dni dni} +STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Aktualizuj wykres dystrybucji co {STRING}{NBSP}{P 0:2 dzień dni dni} STR_CONFIG_SETTING_LINKGRAPH_INTERVAL_HELPTEXT :Czas pomiędzy kolejnymi rekalkulacjami komonentów wykresu połączeń. Każda rekalkulacja oblicza plany dla jednego komponentu wykresu. To oznacza, że wartość X dla tego ustawienia nie oznacza, że cały wykres będzie aktualizowany co X dni, tylko że niektóre komponenty będą. Im krótszy czas ustawisz, tym więcej czasu obliczeniowego (CPU) będzie potrzebne na te obliczenia. Im dłuższy czas ustawisz, tym więcej czasu minie zanim dystrybucja towarów rozpocznie się na nowych trasach. -STR_CONFIG_SETTING_LINKGRAPH_TIME :Przekalkulowanie wykresu dystrybucji zajmuje {STRING} {P dzień dni dni} +STR_CONFIG_SETTING_LINKGRAPH_TIME :Przekalkulowanie wykresu dystrybucji zajmuje {STRING}{NBSP}{P 0:2 dzień dni dni} STR_CONFIG_SETTING_LINKGRAPH_TIME_HELPTEXT :Czas potrzebny na każdą rekalkulację komponentu wykresu połączeń. Kiedy rekalkulacja startuje, powstaje proces, który może trwać określoną liczbę dni. Im krótszy czas ustawisz, tym większe prawdopodobieństwo, że ten proces nie zakończy się wtedy, kiedy powinien. Wtedy gra zatrzymuje się do czasu jego zakończenia ("lag"). Im dłuższy czas ustawisz, tym dłużej trwa aktualizacja dystrybucji, gdy zmieniają się trasy. STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :manualnie STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :asymetrycznie @@ -1988,19 +2021,19 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_METRIC :Metryczne (hp) STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_SI :SI (kW) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT :Jednostki wagi: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_HELPTEXT :Kiedy ciężar jest pokazywany w interfejsie użytkownika, wyświetl go w wybranych jednostkach +STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_HELPTEXT :Jeśli kiedykolwiek waga jest pokazywana w interfejsie użytkownika, wyświetl ją w wybranych jednostkach STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_IMPERIAL :Imperialne (skrót t/tona) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_METRIC :Metryczne (t/tony) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_SI :SI (kg) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME :Jednostki objętości: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_HELPTEXT :Kiedy objętość pokazywana jest w interfejsie użytkownika, wyświetl ją w wybranych jednostkach +STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_HELPTEXT :Jeśli kiedykolwiek objętość jest pokazywana w interfejsie użytkownika, wyświetl ją w wybranych jednostkach STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_IMPERIAL :Imperialne (gal) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_METRIC :Metryczne (l) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_SI :SI (m³) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE :Jednostka siły napędowej: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_HELPTEXT :Pokaż siłę napędową w wybranych jednostkach +STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_HELPTEXT :Jeśli kiedykolwiek siła napędowa jest pokazana w interfejsie użytkownika, pokaż ją w wybranych jednostkach STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_IMPERIAL :Imperialna (lbf) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_METRIC :Metryczna (kgf) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_SI :SI (kN) @@ -2011,27 +2044,29 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :Imperialne (ft) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :Metryczne (m) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :SI (m) -STR_CONFIG_SETTING_GUI :{ORANGE}Interfejs STR_CONFIG_SETTING_LOCALISATION :{ORANGE}Lokalizacja -STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}Konstrukcje +STR_CONFIG_SETTING_GRAPHICS :{ORANGE}Grafika +STR_CONFIG_SETTING_SOUND :{ORANGE}Dźwięk +STR_CONFIG_SETTING_INTERFACE :{ORANGE}Interfejs +STR_CONFIG_SETTING_INTERFACE_GENERAL :{ORANGE}Ogólne +STR_CONFIG_SETTING_INTERFACE_VIEWPORTS :{ORANGE}Widok +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Konstrukcje +STR_CONFIG_SETTING_ADVISORS :{ORANGE}Wiadomości i porady +STR_CONFIG_SETTING_COMPANY :{ORANGE}Firma +STR_CONFIG_SETTING_ACCOUNTING :{ORANGE}Finanse STR_CONFIG_SETTING_VEHICLES :{ORANGE}Pojazdy -STR_CONFIG_SETTING_STATIONS :{ORANGE}Stacje -STR_CONFIG_SETTING_ECONOMY :{ORANGE}Ekonomia -STR_CONFIG_SETTING_LINKGRAPH :{ORANGE}Dystrybucja Ładunku (Cargo Distribution) -STR_CONFIG_SETTING_AI :{ORANGE}Rywale -STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}Opcje wyświetlania -STR_CONFIG_SETTING_INTERACTION :{ORANGE}Interakcja -STR_CONFIG_SETTING_SOUND :{ORANGE}Efekty dźwiękowe -STR_CONFIG_SETTING_NEWS :{ORANGE}Wiadomości -STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}Sygnały -STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE}Obsługa ładunków -STR_CONFIG_SETTING_AI_NPC :{ORANGE}Gracze komputerowi -STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE}Autoodnowa -STR_CONFIG_SETTING_VEHICLES_SERVICING :{ORANGE}Serwisowanie +STR_CONFIG_SETTING_VEHICLES_PHYSICS :{ORANGE}Fizyka STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Wyznaczanie trasy -STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}Pociągi -STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}Miasta -STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}Przedsiębiorstwa +STR_CONFIG_SETTING_LIMITATIONS :{ORANGE}Ograniczenia +STR_CONFIG_SETTING_ACCIDENTS :{ORANGE}Awarie i katastrofy +STR_CONFIG_SETTING_GENWORLD :{ORANGE}Tworzenie mapy +STR_CONFIG_SETTING_ENVIRONMENT :{ORANGE}Środowisko +STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :{ORANGE}Władze lokalne +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Miasta +STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}Przedsiębiorstwa +STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :{ORANGE}Dystrybucja towarów +STR_CONFIG_SETTING_AI :{ORANGE}Rywale +STR_CONFIG_SETTING_AI_NPC :{ORANGE}Gracze komputerowi STR_CONFIG_SETTING_PATHFINDER_OPF :Oryginalne STR_CONFIG_SETTING_PATHFINDER_NPF :NPF @@ -2080,7 +2115,7 @@ STR_INTRO_MULTIPLAYER :{BLACK}Gra wiel STR_INTRO_GAME_OPTIONS :{BLACK}Opcje gry STR_INTRO_HIGHSCORE :{BLACK}Tabela wyników -STR_INTRO_ADVANCED_SETTINGS :{BLACK}Ustawienia zaawansowane +STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Ustawienia STR_INTRO_NEWGRF_SETTINGS :{BLACK}Ustawienia NewGRF STR_INTRO_ONLINE_CONTENT :{BLACK}Sprawdź dodatki online STR_INTRO_SCRIPT_SETTINGS :{BLACK}Ustawienia SI/Game Script @@ -2100,7 +2135,7 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Wybierz STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Wyświetl opcje gry STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Wyświetl tabelę wyników -STR_INTRO_TOOLTIP_ADVANCED_SETTINGS :{BLACK}Wyświetl ustawienia zaawansowane +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Ustawienia wyświetlania STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Wyświetl ustawienia NewGRF STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Poszukaj nowych lub zaktualizowanych dodatków do pobrania STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Pokaż ustawienia SI / Game Script @@ -2140,6 +2175,8 @@ STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Grasz j STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Magiczny buldożer (usuwanie przedsiębiorstw, obiektów nieprzesuwalnych): {ORANGE}{STRING} STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}Tunele mogą się przecinać: {ORANGE}{STRING} STR_CHEAT_NO_JETCRASH :{LTBLUE}Odrzutowce nie będą rozbijać się (często) na małych lotniskach: {ORANGE} {STRING} +STR_CHEAT_EDIT_MAX_HL :{LTBLUE}Edytuj maksymalną wysokość mapy: {ORANGE}{NUM} +STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Edytuj maksymalną wysokość gór na mapie STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE :Klimat umiarkowany STR_CHEAT_SWITCH_CLIMATE_SUB_ARCTIC_LANDSCAPE :Klimat arktyczny STR_CHEAT_SWITCH_CLIMATE_SUB_TROPICAL_LANDSCAPE :Klimat tropikalny @@ -2188,6 +2225,7 @@ STR_LIVERY_FREIGHT_TRAM :Tramwaj towarow STR_FACE_CAPTION :{WHITE}Wybór twarzy STR_FACE_CANCEL_TOOLTIP :{BLACK}Anuluj wybór nowej twarzy STR_FACE_OK_TOOLTIP :{BLACK}Zatwierdź wybór nowej twarzy +STR_FACE_RANDOM :{BLACK}Losuj STR_FACE_MALE_BUTTON :{BLACK}Mężczyzna STR_FACE_MALE_TOOLTIP :{BLACK}Wybierz męską twarz @@ -2243,7 +2281,7 @@ STR_FACE_TIE_EARRING_TOOLTIP :{BLACK}Zmień k # Network server list STR_NETWORK_SERVER_LIST_CAPTION :{WHITE}Gra wieloosobowa -STR_NETWORK_SERVER_LIST_ADVERTISED :{BLACK}Reklamowany +STR_NETWORK_SERVER_LIST_ADVERTISED :{BLACK}Publiczny STR_NETWORK_SERVER_LIST_ADVERTISED_TOOLTIP :{BLACK}Wybierz między rozgrywkami reklamowanymi (internetowymi) a niereklamowanymi (w sieci lokalnej LAN) STR_NETWORK_SERVER_LIST_ADVERTISED_NO :Nie STR_NETWORK_SERVER_LIST_ADVERTISED_YES :Tak @@ -2308,13 +2346,13 @@ STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}Zabezpie STR_NETWORK_START_SERVER_UNADVERTISED :Nie STR_NETWORK_START_SERVER_ADVERTISED :Tak STR_NETWORK_START_SERVER_CLIENTS_SELECT :{BLACK}{NUM} klient{P "" ów ów} -STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Dopuszczalna ilość klientów: +STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Dopuszczalna liczba klientów: STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS_TOOLTIP :{BLACK}Ustaw maksymalną liczbę klientów. Nie wszystkie pola muszą być wypełnione. STR_NETWORK_START_SERVER_COMPANIES_SELECT :{BLACK}{NUM} firm{P a y ""} -STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}Maksymalna ilość firm: +STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}Maksymalna liczba firm: STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES_TOOLTIP :{BLACK}Ogranicz serwer do określonej ilości firm STR_NETWORK_START_SERVER_SPECTATORS_SELECT :{BLACK}{NUM} widz{P "" ów ów} -STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS :{BLACK}Maksymalna ilość widzów: +STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS :{BLACK}Maksymalna liczba widzów: STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS_TOOLTIP :{BLACK}Ogranicz serwer do określonej ilości widzów STR_NETWORK_START_SERVER_LANGUAGE_SPOKEN :{BLACK}Używany język: STR_NETWORK_START_SERVER_LANGUAGE_TOOLTIP :{BLACK}Inni gracze będą poinformowani jaki język jest używany na serwerze @@ -2657,7 +2695,7 @@ STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Zbuduj t STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Budowa warsztatów (do kupowania i serwisowania pociągów). Shift przełącza pomiędzy trybem budowania a szacowaniem jego kosztów STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Zamiana torów na pkt. orientacyjny. Ctrl umożliwia łączenie pkt. orientacyjnych. Shift przełącza pomiędzy trybem budowania a szacowaniem jego kosztów STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Zbuduj stację kolejową. Ctrl umożliwia łączenie stacji. Shift przełącza pomiędzy trybem budowania a szacowaniem jego kosztów -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Zbuduj sygnały kolejowe. Ctrl przełącza semafory/sygnały świetlne{}Przeciągnięcie pozwala na budowę sygnałów wzdłuż prostej linii torów. Ctrl pozwala na budowę sygnałów do następnego skrzyżowania{}Ctrl+klik przełącza do okna wyboru sygnałów. Shift przełącza pomiędzy trybem budowania a szacowaniem jego kosztów +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Zbuduj sygnały kolejowe. Ctrl przełącza semafory/sygnały świetlne{}Przeciągnięcie pozwala na budowę sygnałów wzdłuż prostej linii torów. Ctrl pozwala na budowę sygnałów do następnego skrzyżowania{}Ctrl+klik przełącza do okna wyboru sygnałów. Shift przełącza pomiędzy budowaniem a szacowaniem kosztów STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Zbuduj most kolejowy. Shift przełącza pomiędzy trybem budowania a szacowaniem jego kosztów STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Zbuduj tunel kolejowy. Shift przełącza pomiędzy trybem budowania a szacowaniem jego kosztów STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Przełącz buduj/usuń dla torów kolejowych, sygnałów, pkt. orientacyjnych i stacji. Przetrzymanie Ctrl usuwa także tory kolejowe z pkt. orientacyjnych i stacji @@ -3029,7 +3067,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-2014 Zespół OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2015 Zespół OpenTTD # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Zapisz grę @@ -3061,21 +3099,20 @@ STR_MAPGEN_WORLD_GENERATION_CAPTION :{WHITE}Tworzeni STR_MAPGEN_MAPSIZE :{BLACK}Rozmiar mapy: STR_MAPGEN_MAPSIZE_TOOLTIP :{BLACK}Wybierz rozmiar mapy w kwadratach. Liczba dostępnych kwadratów będzie nieco mniejsza STR_MAPGEN_BY :{BLACK}* -STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Ilość miast: +STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Liczba miast: STR_MAPGEN_DATE :{BLACK}Data: -STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Ilość przedsiębiorstw +STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Liczba przedsiębiorstw: +STR_MAPGEN_MAX_HEIGHTLEVEL :{BLACK}Maksymalna wysokość mapy +STR_MAPGEN_MAX_HEIGHTLEVEL_UP :{BLACK}Podnieś maksymalną wysokość gór na mapie o jeden +STR_MAPGEN_MAX_HEIGHTLEVEL_DOWN :{BLACK}Zmniejsz maksymalną wysokość gór na mapie o jeden STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}Śnieg od wysokości: STR_MAPGEN_SNOW_LINE_UP :{BLACK}Podnieś wysokość śniegu o jeden w górę STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}Obniż wysokość śniegu o jeden w dół -STR_MAPGEN_RANDOM_SEED :{BLACK}Losowy numer: -STR_MAPGEN_RANDOM_SEED_HELP :{BLACK}Kliknij aby wpisać losowy numer -STR_MAPGEN_RANDOM :{BLACK}Losuj -STR_MAPGEN_RANDOM_HELP :{BLACK}Zmień losowy numer używany przy tworzeniu terenu STR_MAPGEN_LAND_GENERATOR :{BLACK}Generator terenu: STR_MAPGEN_TREE_PLACER :{BLACK}Algorytm drzew: STR_MAPGEN_TERRAIN_TYPE :{BLACK}Typ terenu: STR_MAPGEN_QUANTITY_OF_SEA_LAKES :{BLACK}Poziom wody: -STR_MAPGEN_QUANTITY_OF_RIVERS :{BLACK}Rzeki: +STR_MAPGEN_QUANTITY_OF_RIVERS :{BLACK}Liczba rzek: STR_MAPGEN_SMOOTHNESS :{BLACK}Gładkość: STR_MAPGEN_VARIETY :{BLACK}Różnorodność: STR_MAPGEN_GENERATE :{WHITE}Stwórz @@ -3097,7 +3134,7 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Nazwa ma STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Rozmiar: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} -STR_MAPGEN_RANDOM_SEED_OSKTITLE :{BLACK}Wprowadź losowe ziarno +STR_MAPGEN_MAX_HEIGHTLEVEL_QUERY_CAPT :{WHITE}Zmień maksymalną wysokość mapy STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}Zmień wysokość linii śniegowej STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Zmień datę rozpoczęcia @@ -3152,6 +3189,8 @@ STR_NEWGRF_SETTINGS_MOVEUP :{BLACK}Do góry STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP :{BLACK}Przesuń zaznaczony plik NewGRF w górę listy STR_NEWGRF_SETTINGS_MOVEDOWN :{BLACK}Na dół STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP :{BLACK}Przesuń zaznaczony plik NewGRF na dół listy +STR_NEWGRF_SETTINGS_UPGRADE :{BLACK}Aktualizacja +STR_NEWGRF_SETTINGS_UPGRADE_TOOLTIP :{BLACK}Aktualizacja pliku NewGRF do już zainstalowanej nowszej wersji STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}Lista zainstalowanych plików NewGRF STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}Ustaw parametry @@ -3176,6 +3215,16 @@ STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Nie znalez STR_NEWGRF_SETTINGS_DISABLED :{RED}Niedostępny STR_NEWGRF_SETTINGS_INCOMPATIBLE :{G=n}{RED}Niekompatybilne z tą wersją OpenTTD +# NewGRF save preset window +STR_SAVE_PRESET_CAPTION :{WHITE}Zapis schematu +STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK}Lista dostępnych schematów. Wybierz jeden z nich, aby wykonać zapis z taką nazwą +STR_SAVE_PRESET_TITLE :{BLACK}Wprowadź nazwę schematu +STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}Aktualna nazwa dla zapisywanego schematu +STR_SAVE_PRESET_CANCEL :{BLACK}Anuluj +STR_SAVE_PRESET_CANCEL_TOOLTIP :{BLACK}Nie wprowadzaj zmian +STR_SAVE_PRESET_SAVE :{BLACK}Zapisz +STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}Zapisz schemat z wybraną nazwą + # NewGRF parameters window STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Zmień parametry NewGRF STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Zamknij @@ -3199,14 +3248,17 @@ STR_NEWGRF_INSPECT_QUERY_CAPTION :{WHITE}NewGFR z # Sprite aligner window STR_SPRITE_ALIGNER_CAPTION :{WHITE}Dostosowanie obrazka {COMMA} ({STRING}) STR_SPRITE_ALIGNER_NEXT_BUTTON :{BLACK}Następny obrazek -STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Idź do następnego obrazka, pomijając pseudo/kolorowe/znakowe obrazki i przenieś je na koniec +STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Idź do następnego normalnego obrazka, pomijając jakiekolwiek pseudo/kolorowe/znakowe obrazki i zawijaj je od ostatniego do pierwszego STR_SPRITE_ALIGNER_GOTO_BUTTON :{BLACK}Idź do obrazka STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}Idź do danego obrazka. Jeśli dany obrazek nie jest normalnym obrazkiem, idź do następnego normalnego obrazka STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Poprzedni obrazek -STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Idź do poprzedniego obrazka, pomijając wszystkie pseudo/kolorowe/znakowe obrazki i przenieś je na początek +STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Idź do poprzedniego normalnego obrazka, pomijając jakiekolwiek pseudo/kolorowe/znakowe obrazki i zawijaj je od pierwszego do ostatniego STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Przedstawienie wybranego orbazka. Dostosowanie jest ignorowane podczas rysowania tego obrazka STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Poruszaj obrazkiem, zmieniając przesunięcia X i Y -STR_SPRITE_ALIGNER_OFFSETS :{BLACK}Przesunięcie X: {NUM}, Przesunięcie Y: {NUM} +STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Resetuj zależność +STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Resetuj aktualne offsety zależne +STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}X offset: {NUM}, Y offset: {NUM} (Całkowity) +STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}X offset: {NUM}, Y offset: {NUM} (Zależny) STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Wybierz obrazek STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Wybierz obrazek z dowolnego miejsca na ekranie @@ -3318,8 +3370,8 @@ STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{G=f}{ORANGE}{STRING}{GREEN} dostarczona STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{G=m}{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (wciąż wymagany) STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{G=m}{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (dostarczony) -STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Miasto rośnie co {ORANGE}{COMMA}{BLACK} {P dzień dni dni} -STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Miasto rośnie co {ORANGE}{COMMA}{BLACK} {P dzień dni dni} (ufundowane) +STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Miasto rośnie co {ORANGE}{COMMA}{BLACK}{NBSP}{P dzień dni dni} +STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Miasto rośnie co {ORANGE}{COMMA}{BLACK}{NBSP}{P dzień dni dni} (ufundowane) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}Miasto {RED}nie{BLACK} rośnie STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Limit hałasu w mieście: {ORANGE}{COMMA}{BLACK} maksymalnie: {ORANGE}{COMMA} STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Centruj główny widok na mieście. Ctrl+klik otwiera nowy podgląd na lokację miasta @@ -3335,7 +3387,7 @@ STR_TOWN_VIEW_DELETE_TOOLTIP :{BLACK}Skasuj t STR_TOWN_VIEW_RENAME_TOWN_BUTTON :Zmień nazwę miasta # Town local authority window -STR_LOCAL_AUTHORITY_CAPTION :{WHITE}{TOWN} lokalne władze +STR_LOCAL_AUTHORITY_CAPTION :{WHITE}Lokalne władze m. {TOWN} STR_LOCAL_AUTHORITY_COMPANY_RATINGS :{BLACK}Ocena transportu firmy: STR_LOCAL_AUTHORITY_COMPANY_RATING :{YELLOW}{COMPANY} {COMPANY_NUM}: {ORANGE}{STRING} STR_LOCAL_AUTHORITY_ACTIONS_TITLE :{BLACK}Możliwe działania: @@ -3379,7 +3431,7 @@ STR_GOAL_QUESTION_CAPTION_INFORMATION :Informacja STR_GOAL_QUESTION_CAPTION_WARNING :Ostrzeżenie STR_GOAL_QUESTION_CAPTION_ERROR :Błąd -### Start of Goal Question button list +############ Start of Goal Question button list STR_GOAL_QUESTION_BUTTON_CANCEL :Anuluj STR_GOAL_QUESTION_BUTTON_OK :OK STR_GOAL_QUESTION_BUTTON_NO :Nie @@ -3398,6 +3450,7 @@ STR_GOAL_QUESTION_BUTTON_RESTART :Restartuj STR_GOAL_QUESTION_BUTTON_POSTPONE :Odłóż STR_GOAL_QUESTION_BUTTON_SURRENDER :Poddaj się STR_GOAL_QUESTION_BUTTON_CLOSE :Zamknij +############ End of Goal Question button list # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}Subsydia @@ -3433,7 +3486,6 @@ STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}Nie ma # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} -STR_STATION_VIEW_WAITING_TITLE :{BLACK}Czeka: {WHITE}{STRING} STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} z {STATION}) STR_STATION_VIEW_RESERVED :{YELLOW}({CARGO_SHORT} zarezerwowane do załadunku) @@ -3528,7 +3580,7 @@ STR_FINANCES_POSITIVE_INCOME :{BLACK}+{CURREN STR_FINANCES_TOTAL_CAPTION :{WHITE}Łącznie: STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}Bilans bankowy STR_FINANCES_LOAN_TITLE :{WHITE}Pożyczka -STR_FINANCES_MAX_LOAN :{WHITE}Maks. pożyczka: {BLACK}{CURRENCY_LONG} +STR_FINANCES_MAX_LOAN :{WHITE}Maksymalna pożyczka: {BLACK}{CURRENCY_LONG} STR_FINANCES_TOTAL_CURRENCY :{BLACK}{CURRENCY_LONG} STR_FINANCES_BORROW_BUTTON :{BLACK}Pożyczka {CURRENCY_LONG} STR_FINANCES_BORROW_TOOLTIP :{BLACK}Zwiększ wielkość pożyczki. Ctrl+Klik spłaca maksymalną możliwą kwotę pożyczki @@ -3723,12 +3775,12 @@ STR_PURCHASE_INFO_ALL_BUT :wszystko opróc 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_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Lista wyboru pociągów - kliknij na pojeździe, aby uzyskać informacje -STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Lista wyboru pojazdów drogowych - kliknij na pojeździe, aby uzyskać więcej informacji -STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Lista wyboru statków - kliknij na statku, aby uzyskać informacje -STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Lista wyboru samolotów - kliknij na samolocie, aby uzyskać informacje +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 +STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Lista wyboru statków - kliknij na statku, aby uzyskać informacje. Ctrl+klik przełącza ukrywanie typu statku +STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Lista wyboru samolotów - kliknij na samolocie, aby uzyskać informacje. Ctrl+klik przełącza ukrywanie typu samolotu -STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}Kup pociąg +STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}Kup tabor kolejowy STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Kup pojazd drogowy STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_BUTTON :{BLACK}Kup statek STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_BUTTON :{BLACK}Kup samolot @@ -3748,6 +3800,21 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Zmień n STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Zmień nazwę typu statku STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Zmień nazwę typu samolotu +STR_BUY_VEHICLE_TRAIN_HIDE_TOGGLE_BUTTON :{BLACK}Ukryj +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_TOGGLE_BUTTON :{BLACK}Ukryj +STR_BUY_VEHICLE_SHIP_HIDE_TOGGLE_BUTTON :{BLACK}Ukryj +STR_BUY_VEHICLE_AIRCRAFT_HIDE_TOGGLE_BUTTON :{BLACK}Ukryj + +STR_BUY_VEHICLE_TRAIN_SHOW_TOGGLE_BUTTON :{BLACK}Wyświetl +STR_BUY_VEHICLE_ROAD_VEHICLE_SHOW_TOGGLE_BUTTON :{BLACK}Wyświetl +STR_BUY_VEHICLE_SHIP_SHOW_TOGGLE_BUTTON :{BLACK}Wyświetl +STR_BUY_VEHICLE_AIRCRAFT_SHOW_TOGGLE_BUTTON :{BLACK}Wyświetl + +STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Przełącz ukrywanie/wyświetlanie danego typu taboru +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Przełącz ukrywanie/wyświetlanie danego typu pojazdu +STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Przełącz ukrywanie/wyświetlanie danego typu statku +STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Przełącz ukrywanie/wyświetlanie danego typu ssamolotu + STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}Zmiana nazwy typu pociągu STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}Zmień nazwę typu pojazdu STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}Zmień nazwę typu statku @@ -3858,6 +3925,11 @@ STR_REPLACE_VEHICLE_ROAD_VEHICLE :Pojazd STR_REPLACE_VEHICLE_SHIP :Statek STR_REPLACE_VEHICLE_AIRCRAFT :Samolot +STR_REPLACE_VEHICLE_VEHICLES_IN_USE :{YELLOW}Używane pojazdy +STR_REPLACE_VEHICLE_VEHICLES_IN_USE_TOOLTIP :{BLACK}Lista posiadanych pojazdów +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES :{BLACK}Dostępne pojazdy +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES_TOOLTIP :{BLACK}Lista pojazdów dostępnych do zamiany + STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Wybierz typ pojazdu do zamiany STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Wybierz typ pojazdu jakim chcesz zastąpić pojazd zaznaczony po lewej stronie @@ -3982,7 +4054,7 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Ładowno STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Wartość ładunku: {LTBLUE}{CURRENCY_LONG} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Okres między serwisami: {LTBLUE}{COMMA}dni{BLACK} Ostatni serwis: {LTBLUE}{DATE_LONG} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Okres między serwisami: {LTBLUE}{COMMA}{NBSP}dni{BLACK} Ostatni serwis: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Okres między serwisami: {LTBLUE}{COMMA}%{BLACK} Ostatni serwis: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Zwiększ okres między serwisowaniami o 10. Ctrl+klik zwiększa okres między serwisowaniami o 5 STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Zmniejsz okres między serwisowaniami o 10. Ctrl+klik zmniejsza okres między serwisowaniami o 5 @@ -4080,8 +4152,8 @@ STR_ORDER_TOOLTIP_UNLOAD :{BLACK}Zmień s STR_ORDER_REFIT :{BLACK}Przebudowa STR_ORDER_REFIT_TOOLTIP :{BLACK}Wybierz typ ładunku do przebudowy. Ctrl+klik usuwa polecenie -STR_ORDER_REFIT_AUTO :{BLACK}Automatyczna przebudowa -STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Wybierz typ ładunku do automatycznej przebudowy. Ctrl+klik usuwa polecenie. Automatyczna przebudowa zostanie wykonana jedynie, jeśli dany pojazd na to pozwala +STR_ORDER_REFIT_AUTO :{BLACK}Przebudowa na stacji +STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Wybierz typ ładunku do przebudowy. Ctrl+klik usuwa polecenie. Przebudowa na stacji zostanie wykonana jedynie, jeśli dany pojazd na to pozwala i nie powoduje to zmiany jego wyglądu STR_ORDER_DROP_REFIT_AUTO :Ustalony ładunek STR_ORDER_DROP_REFIT_AUTO_ANY :Dostępny ładunek @@ -4174,10 +4246,10 @@ STR_ORDER_NO_UNLOAD_NO_LOAD :(Nie rozładowu STR_ORDER_AUTO_REFIT :(Przebuduj na {STRING.b}) STR_ORDER_FULL_LOAD_REFIT :(Przebuduj na {STRING.b} i czekaj na pełny załadunek) -STR_ORDER_FULL_LOAD_ANY_REFIT :(Przebuduj na {STRING.b} i czekaj na dowolny pełny załadunek) +STR_ORDER_FULL_LOAD_ANY_REFIT :(Przebuduj na {STRING.b} i czekaj na pełny załadunek któregoś z towarów) STR_ORDER_UNLOAD_REFIT :(Rozładuj, przebuduj na {STRING.b} i zabierz ładunek) STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(Rozładuj, przebuduj na {STRING.b} i czekaj na pełny załadunek) -STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(Rozładuj, przebuduj na {STRING.b} i czekaj na dowolny pełny załadunek) +STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(Rozładuj, przebuduj na {STRING.b} i czekaj na pełny załadunek któregoś z towarów) STR_ORDER_TRANSFER_REFIT :(Przeładuj, przebuduj na {STRING.b} i zabierz ładunek) STR_ORDER_TRANSFER_FULL_LOAD_REFIT :(Przeładuj, przebuduj na {STRING.b} i czekaj na pełny załadunek) STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :(Przeładuj, przebuduj na {STRING.b} i czekaj na dowolny pełny załadunek) @@ -4209,13 +4281,17 @@ STR_TIMETABLE_TOOLTIP :{BLACK}Rozkład STR_TIMETABLE_NO_TRAVEL :Nie podróżuje STR_TIMETABLE_NOT_TIMETABLEABLE :Podróż (automatycznie; zaplanowana przez następny ręczny rozkaz) STR_TIMETABLE_TRAVEL_NOT_TIMETABLED :Przejazd (bez ustalonego czasu) -STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Podróżuj z maksymalną prędkością {2:VELOCITY} (poza rozkładem) +STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Podróżuj (poza rozkładem) z maksymalną prędkością {2:VELOCITY} STR_TIMETABLE_TRAVEL_FOR :Przejazd przez {STRING} STR_TIMETABLE_TRAVEL_FOR_SPEED :Podróżuj przez {STRING} z maksymalną prędkością {VELOCITY} +STR_TIMETABLE_TRAVEL_FOR_ESTIMATED :Przejazd przez {STRING} (poza rozkładem) +STR_TIMETABLE_TRAVEL_FOR_SPEED_ESTIMATED :Podróżuj przez {STRING} z prędkością {VELOCITY} maks. (poza rozkładem) +STR_TIMETABLE_STAY_FOR_ESTIMATED :(postój w {STRING} poza rozkładem) +STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(przejazd przez {STRING} poza rozkładem) STR_TIMETABLE_STAY_FOR :i zostań tam przez {STRING} STR_TIMETABLE_AND_TRAVEL_FOR :i podróżuje przez{STRING} -STR_TIMETABLE_DAYS :{COMMA} d{P zień ni ni} -STR_TIMETABLE_TICKS :{COMMA} tick{P "" i ów} +STR_TIMETABLE_DAYS :{COMMA}{NBSP}d{P zień ni ni} +STR_TIMETABLE_TICKS :{COMMA}{NBSP}tick{P "" i ów} STR_TIMETABLE_TOTAL_TIME :{BLACK}Ten rozkład jazdy zajmie {STRING} STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}Ten rozkład jazdy zajmie przynajmniej {STRING} (nie wszystkie stacje są na rozkładzie) @@ -4453,6 +4529,7 @@ STR_ERROR_EXCAVATION_WOULD_DAMAGE :{WHITE}Wykop zn STR_ERROR_ALREADY_AT_SEA_LEVEL :{WHITE}... już na poziomie morza STR_ERROR_TOO_HIGH :{WHITE}... zbyt wysoko STR_ERROR_ALREADY_LEVELLED :{WHITE}... już wyrównany +STR_ERROR_BRIDGE_TOO_HIGH_AFTER_LOWER_LAND :{WHITE}Potem most powyżej byłby zbyt wysoko. # Company related errors STR_ERROR_CAN_T_CHANGE_COMPANY_NAME :{WHITE}Nie można zmienić nazwy firmy... @@ -4479,7 +4556,7 @@ STR_ERROR_TOO_CLOSE_TO_EDGE_OF_MAP_SUB :{WHITE}... zbyt STR_ERROR_TOO_CLOSE_TO_ANOTHER_TOWN :{WHITE}... zbyt blisko innego miasta STR_ERROR_TOO_MANY_TOWNS :{WHITE}... zbyt wiele miast STR_ERROR_NO_SPACE_FOR_TOWN :{WHITE}... nie ma więcej miejsca na mapie -STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}Miasto nie będzie budować dróg. Możesz zezwolić na budowę dróg poprzez Ustawienia zaawansowane->Ekonomia->Miasta +STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}Miasto nie będzie budować dróg. Możesz zezwolić na budowę dróg poprzez Ustawienia->Środowisko->Miasta STR_ERROR_ROAD_WORKS_IN_PROGRESS :{WHITE}Trwają roboty drogowe STR_ERROR_TOWN_CAN_T_DELETE :{WHITE}Nie można usunąć tego miasta...{}Stacja lub zajezdnia przynależy do tego miasta lub obszar miasta nie może być usunięty STR_ERROR_STATUE_NO_SUITABLE_PLACE :{WHITE}... w centrum tego miasta nie ma odpowiedniego miejsca na pomnik @@ -4503,6 +4580,9 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... las STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... można zbudować tylko powyżej linii śniegu STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... można zbudować tylko poniżej linii śniegu +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}Nie ma odpowiednich miejsc dla przedsiębiorstw '{STRING}' +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Zmień parametry tworzenia map, żeby uzyskać lepsze mapy + # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Nie można tutaj wybudować stacji... STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}Nie można zbudować przystanku... @@ -4639,6 +4719,7 @@ STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Należy STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}Nie można zaczynać i kończyć w tym samym miejscu STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}Początki mostu nie są na tej samej wysokości STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}Most jest za nisko dla tego terenu +STR_ERROR_BRIDGE_TOO_HIGH_FOR_TERRAIN :{WHITE}Most jest zbyt wysoki dla tego terenu. STR_ERROR_START_AND_END_MUST_BE_IN :{WHITE}Początek i koniec muszą być w jednej linii STR_ERROR_ENDS_OF_BRIDGE_MUST_BOTH :{WHITE}... końce mostu muszą znajdować się na lądzie STR_ERROR_BRIDGE_TOO_LONG :{WHITE}... za długi most @@ -4911,7 +4992,7 @@ STR_SV_STNAME_TRANSFER :{STRING} Transf STR_SV_STNAME_HALT :Przedmieścia {STRING} STR_SV_STNAME_VALLEY :{STRING} Dolina STR_SV_STNAME_HEIGHTS :{STRING} Wzgórza -STR_SV_STNAME_WOODS :{STRING} Las +STR_SV_STNAME_WOODS :{STRING} Podlesie STR_SV_STNAME_LAKESIDE :{STRING} Jezioro STR_SV_STNAME_EXCHANGE :{STRING} Wymiana STR_SV_STNAME_AIRPORT :Lotnisko {STRING} @@ -5197,18 +5278,18 @@ STR_FORMAT_DATE_SHORT :{STRING} {NUM} STR_FORMAT_DATE_LONG :{STRING} {STRING} {NUM} STR_FORMAT_DATE_ISO :{2:NUM}-{1:STRING}-{0:STRING} -STR_FORMAT_BUOY_NAME :{TOWN} Boja -STR_FORMAT_BUOY_NAME_SERIAL :{TOWN} Boja #{COMMA} +STR_FORMAT_BUOY_NAME :Boja {TOWN} +STR_FORMAT_BUOY_NAME_SERIAL :Boja {TOWN} #{COMMA} STR_FORMAT_COMPANY_NUM :(Firma {COMMA}) STR_FORMAT_GROUP_NAME :Grupa {COMMA} -STR_FORMAT_INDUSTRY_NAME :{TOWN} {STRING} -STR_FORMAT_WAYPOINT_NAME :Pkt. orientacyjny {TOWN} -STR_FORMAT_WAYPOINT_NAME_SERIAL :Pkt. orientacyjny {TOWN} #{COMMA} +STR_FORMAT_INDUSTRY_NAME :{1:STRING} {0:TOWN} +STR_FORMAT_WAYPOINT_NAME :Post. {TOWN} +STR_FORMAT_WAYPOINT_NAME_SERIAL :Post. {TOWN} #{COMMA} -STR_FORMAT_DEPOT_NAME_TRAIN :Warsztaty w {TOWN} -STR_FORMAT_DEPOT_NAME_TRAIN_SERIAL :Warsztaty w {TOWN} #{COMMA} -STR_FORMAT_DEPOT_NAME_ROAD_VEHICLE :Zajezdnia samochodowa w {TOWN} -STR_FORMAT_DEPOT_NAME_ROAD_VEHICLE_SERIAL :Zajezdnia samochodowa w {TOWN} #{COMMA} +STR_FORMAT_DEPOT_NAME_TRAIN :Warsztaty {TOWN} +STR_FORMAT_DEPOT_NAME_TRAIN_SERIAL :Warsztaty {TOWN} #{COMMA} +STR_FORMAT_DEPOT_NAME_ROAD_VEHICLE :Zajezdnia samochodowa {TOWN} +STR_FORMAT_DEPOT_NAME_ROAD_VEHICLE_SERIAL :Zajezdnia samochodowa {TOWN} #{COMMA} STR_FORMAT_DEPOT_NAME_SHIP :Stocznia {TOWN} STR_FORMAT_DEPOT_NAME_SHIP_SERIAL :Stocznia {TOWN} #{COMMA} STR_FORMAT_DEPOT_NAME_AIRCRAFT :Hangar {STATION} @@ -5240,6 +5321,7 @@ STR_COMPANY_NAME :{COMPANY} STR_COMPANY_NAME_COMPANY_NUM :{COMPANY} {COMPANY_NUM} STR_DEPOT_NAME :{DEPOT} STR_ENGINE_NAME :{ENGINE} +STR_HIDDEN_ENGINE_NAME :{ENGINE} (ukryty) STR_GROUP_NAME :{GROUP} STR_INDUSTRY_NAME :{INDUSTRY} STR_PRESIDENT_NAME :{PRESIDENT_NAME} @@ -5275,8 +5357,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -5287,9 +5367,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/portuguese.txt b/src/lang/portuguese.txt index 2b0193e383..5b2192292d 100644 --- a/src/lang/portuguese.txt +++ b/src/lang/portuguese.txt @@ -96,7 +96,7 @@ STR_CARGO_SINGULAR_FIZZY_DRINK :Bebidas Gasosas # Quantity of cargo STR_QUANTITY_NOTHING : -STR_QUANTITY_PASSENGERS :{COMMA} passageiro{P "" s} +STR_QUANTITY_PASSENGERS :{COMMA}{NBSP}passageiro{P "" s} STR_QUANTITY_COAL :{WEIGHT_LONG} de carvão STR_QUANTITY_MAIL :{COMMA} saco{P "" s} de correio STR_QUANTITY_OIL :{VOLUME_LONG} de petróleo @@ -249,6 +249,17 @@ STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Barra de STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Barra de deslize - desloca a lista para a esquerda/direita STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Demolir edifícios, etc. num quadrado de terreno. Ctrl selecciona a área na diagonal. Shift alterna construção/mostrando estimativa de custos +# Show engines button +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}Mostrar escondido +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK}Mostrar escondido +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}Mostrar escondido +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}Mostrar escondido + +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}Ao activar este botão, os veículos ferroviários ocultos também serão exibidos +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE_TOOLTIP :{BLACK}Ao activar este botão, os veículos rodoviários ocultos também serão exibidos +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}Ao activar este botão, os navios ocultos também serão exibidos +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Ao activar este botão, os aviões ocultos também serão exibidos + # Query window STR_BUTTON_DEFAULT :{BLACK}Por Omissão STR_BUTTON_CANCEL :{BLACK}Cancelar @@ -362,7 +373,7 @@ STR_SCENEDIT_FILE_MENU_QUIT :Sair ############ range for settings menu starts STR_SETTINGS_MENU_GAME_OPTIONS :Opções do Jogo -STR_SETTINGS_MENU_CONFIG_SETTINGS :Opções Avançadas +STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Definições STR_SETTINGS_MENU_SCRIPT_SETTINGS :Definições de IA / Scripts de Jogo STR_SETTINGS_MENU_NEWGRF_SETTINGS :Definições NewGRF STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Opções de Transparência @@ -471,7 +482,7 @@ STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Alternar as cai STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Ligar/Desligar coloração de blocos sujos ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window STR_ORDINAL_NUMBER_1ST :1 STR_ORDINAL_NUMBER_2ND :2 STR_ORDINAL_NUMBER_3RD :3 @@ -487,22 +498,40 @@ STR_ORDINAL_NUMBER_12TH :12 STR_ORDINAL_NUMBER_13TH :13 STR_ORDINAL_NUMBER_14TH :14 STR_ORDINAL_NUMBER_15TH :15 -STR_ORDINAL_NUMBER_16TH :16 -STR_ORDINAL_NUMBER_17TH :17 -STR_ORDINAL_NUMBER_18TH :18 -STR_ORDINAL_NUMBER_19TH :19 -STR_ORDINAL_NUMBER_20TH :20 -STR_ORDINAL_NUMBER_21ST :21 -STR_ORDINAL_NUMBER_22ND :22 -STR_ORDINAL_NUMBER_23RD :23 -STR_ORDINAL_NUMBER_24TH :24 -STR_ORDINAL_NUMBER_25TH :25 -STR_ORDINAL_NUMBER_26TH :26 -STR_ORDINAL_NUMBER_27TH :27 -STR_ORDINAL_NUMBER_28TH :28 -STR_ORDINAL_NUMBER_29TH :29 -STR_ORDINAL_NUMBER_30TH :30 -STR_ORDINAL_NUMBER_31ST :31 +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :1 +STR_DAY_NUMBER_2ND :2 +STR_DAY_NUMBER_3RD :3 +STR_DAY_NUMBER_4TH :4 +STR_DAY_NUMBER_5TH :5 +STR_DAY_NUMBER_6TH :6 +STR_DAY_NUMBER_7TH :7 +STR_DAY_NUMBER_8TH :8 +STR_DAY_NUMBER_9TH :9 +STR_DAY_NUMBER_10TH :10 +STR_DAY_NUMBER_11TH :11 +STR_DAY_NUMBER_12TH :12 +STR_DAY_NUMBER_13TH :13 +STR_DAY_NUMBER_14TH :14 +STR_DAY_NUMBER_15TH :15 +STR_DAY_NUMBER_16TH :16 +STR_DAY_NUMBER_17TH :17 +STR_DAY_NUMBER_18TH :18 +STR_DAY_NUMBER_19TH :19 +STR_DAY_NUMBER_20TH :20 +STR_DAY_NUMBER_21ST :21 +STR_DAY_NUMBER_22ND :22 +STR_DAY_NUMBER_23RD :23 +STR_DAY_NUMBER_24TH :24 +STR_DAY_NUMBER_25TH :25 +STR_DAY_NUMBER_26TH :26 +STR_DAY_NUMBER_27TH :27 +STR_DAY_NUMBER_28TH :28 +STR_DAY_NUMBER_29TH :29 +STR_DAY_NUMBER_30TH :30 +STR_DAY_NUMBER_31ST :31 ############ range for days ends ############ range for months starts @@ -811,13 +840,11 @@ STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}{VEHICLE STR_NEWS_SHIP_IS_WAITING :{WHITE}{VEHICLE} está a aguardar no depósito STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE} está a aguardar no hangar -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE +# Order review system / warnings STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE} tem poucas ordens no horário STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE} tem uma ordem nula STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE} tem ordens duplicadas STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE} tem uma ordem inválida no seu horário -# end of order system STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} está a ficar velho STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} está a ficar muito velho @@ -900,10 +927,6 @@ STR_GAME_OPTIONS_CURRENCY_GEL :Lari Georgiano STR_GAME_OPTIONS_CURRENCY_IRR :Rial Iraniano (IRR) ############ end of currency region - -############ start of measuring units region -############ end of measuring units region - STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Veículos rodoviários STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}Seleccione o lado da estrada por onde os veículos circulam STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :Circular pela esquerda @@ -939,11 +962,13 @@ STR_GAME_OPTIONS_TOWN_NAME_CATALAN :Catalão STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Guardar automaticamente STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Seleccionar o intervalo para guardar automático +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Desactivado STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :Cada mês STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :Cada 3 meses STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :Cada 6 meses STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :Cada 12 meses +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}Idioma STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Seleccionar o idioma da interface do jogo @@ -955,8 +980,12 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}Resoluç STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Seleccione a resolução do ecrã que deseja utilizar STR_GAME_OPTIONS_RESOLUTION_OTHER :outra -STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}Formato da captura de ecrã -STR_GAME_OPTIONS_SCREENSHOT_FORMAT_TOOLTIP :{BLACK}Seleccione o formato de captura de ecrã que deseja utilizar +STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Tamanho interface +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Seleccionar tamanho do elemento de interface a usar + +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normal +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Dobro do tamanho +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Quádruplo do tamanho STR_GAME_OPTIONS_BASE_GRF :{BLACK}Conjunto de gráficos base STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Seleccione o conjunto de gráficos base a usar @@ -972,6 +1001,7 @@ STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Seleccio STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} ficheiro corrompido{P "" s} STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Informação adicional sobre o conjunto de música base +STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Erro ao obter uma lista de resoluções suportadas STR_ERROR_FULLSCREEN_FAILED :{WHITE}Modo de ecrã inteiro falhou # Custom currency window @@ -1050,6 +1080,7 @@ STR_TERRAIN_TYPE_VERY_FLAT :Muito Plano STR_TERRAIN_TYPE_FLAT :Plano STR_TERRAIN_TYPE_HILLY :Acidentado STR_TERRAIN_TYPE_MOUNTAINOUS :Montanhoso +STR_TERRAIN_TYPE_ALPINIST :Alpinista STR_CITY_APPROVAL_PERMISSIVE :Permissivo STR_CITY_APPROVAL_TOLERANT :Tolerante @@ -1057,8 +1088,8 @@ STR_CITY_APPROVAL_HOSTILE :Hostil STR_WARNING_NO_SUITABLE_AI :{WHITE}Não existem IA utilizáveis...{}Pode encontrar IAs disponiveis pelo sistema 'Verificar conteúdo online' -# Advanced settings window -STR_CONFIG_SETTING_CAPTION :{WHITE}Opções Avançadas +# Settings tree window +STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Definições STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Filtrar frase: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Expandir todas STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Colapsar todas @@ -1074,9 +1105,9 @@ STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :Configurações STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK}Categoria: STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}Tipo: STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Restringe a lista abaixo para mostrar apenas opções modificadas -STR_CONFIG_SETTING_RESTRICT_BASIC :Opções Básicas -STR_CONFIG_SETTING_RESTRICT_ADVANCED :Opções Avançadas -STR_CONFIG_SETTING_RESTRICT_ALL :Opções Avançadas / Todas as Opções +STR_CONFIG_SETTING_RESTRICT_BASIC :Opções Básicas (mostra apenas definições importantes) +STR_CONFIG_SETTING_RESTRICT_ADVANCED :Avançado (mostra grande parte das definições) +STR_CONFIG_SETTING_RESTRICT_ALL :Avançado (mostrar todas as definições, incluindo as estranhas) STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :Opções com um valor diferente das de origem STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :Preferências com um valor diferente das preferências para novos jogos @@ -1131,8 +1162,9 @@ STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Activa desastre STR_CONFIG_SETTING_CITY_APPROVAL :Atitude da do Concelho Municipal em relação a reestruturação de áreas: {STRING} STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Escolha quanto ruído e estragos ambientais causados pelas empresas afecta o rating da povoação e futuras acções de construção na área -STR_CONFIG_SETTING_BUILDONSLOPES :Permitir a construção em declives e encostas: {STRING} -STR_CONFIG_SETTING_BUILDONSLOPES_HELPTEXT :Se ligado, linhas de comboio e estações podem ser construídas na maior parte das inclinações. Se desligado, só são permitidos em inclinações com a mesma direção não necessitando de alicerces +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :Altura máxima do mapa: {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :Define altura máxima permitida para montanhas no mapa +STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}Pode aumentar a altura máxima do mapa para este valor. Pelo menos uma montanha no mapa é mais alta STR_CONFIG_SETTING_AUTOSLOPE :Permitir formação de terra sob os edifícios, vias, etc. (auto-declive): {STRING} STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Permitir formação de terras debaixo de edifícios e linhas sem os remover STR_CONFIG_SETTING_CATCHMENT :Dimensionamento mais realista de áreas de abrangência: {STRING} @@ -1157,16 +1189,12 @@ STR_CONFIG_SETTING_FORBID_90_DEG :Proibir comboio STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Curvas de 90 graus ocorrem quando uma pista horizontal é directamente seguida por outra vertical num quadrado adjacente, fazendo com que o combóio vire 90 graus quando atravessa a fronteira dos quadrados, ao invés dos habituais 45 graus para outras combinações de pistas. Também se aplica ao raio de curvatura dos navios STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Permitir juntar estações não adjacentes: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Permitir adicionar novas partes a uma estação sem tocar nas partes já existentes. Requer pressionar CTRL+click para adicionar as novas partes -STR_CONFIG_SETTING_IMPROVEDLOAD :Usar algoritmo de carregamento melhorado: {STRING} -STR_CONFIG_SETTING_IMPROVEDLOAD_HELPTEXT :Se activo, veículos múltiplos à espera em estações são carregados sequencialmente. O carregamento do veículo seguinte só começa quando existe mercadoria suficiente para encher o primeiro veículo -STR_CONFIG_SETTING_GRADUAL_LOADING :Carregar veículos gradualmente: {STRING} -STR_CONFIG_SETTING_GRADUAL_LOADING_HELPTEXT :Carrega os veículos gradualmente utilizando durações específicas por veículo, em vez de carregar tudo de uma só vez com um tempo fixo que depende apenas da quantidade de mercadoria a carregar STR_CONFIG_SETTING_INFLATION :Inflação: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :Ativar inflação na economia, para que os preços subam ligeiramente mais rápido do que os pagamentos -STR_CONFIG_SETTING_SELECTGOODS :Entregar carga a uma estação só quando houver procura: {STRING} -STR_CONFIG_SETTING_SELECTGOODS_HELPTEXT :Apenas entrega mercadoria a uma estação que foi pedida a um veículo em carga. Previne ratings negativos para mercadorias que não são entregues numa estação STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Tamanho máximo de ponte: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Tamanho máximo para construção de pontes +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :Altura máxima de ponte: {STRING} +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :Altura máxima para construir pontes 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} @@ -1192,8 +1220,6 @@ STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Local onde um c STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :no extremo perto STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :no meio STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :no extremo longe -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING :Fila de veículos rodoviários (com efeitos de quantidade): {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING_HELPTEXT :Fazer com que os veículos rodoviários esperem até que as estradas bloqueadas sejam desocupadas STR_CONFIG_SETTING_AUTOSCROLL :Deslocar janela quando o rato está na borda do mapa: {STRING} STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Quando activo, os visualizadores começam a deslocar-se logo que o rato esteja no extremo da janela STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Desligado @@ -1224,10 +1250,6 @@ STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Permitir estaç STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Permite construção de paragens drive-through em ruas que são prorpiedade das povoações STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Permitir estações de passagem em estradas do adversário: {STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Permite construção de paragens drive-through em ruas que são prorpiedade de outras companhias -STR_CONFIG_SETTING_ADJACENT_STATIONS :Permitir construção de estações adjacentes: {STRING} -STR_CONFIG_SETTING_ADJACENT_STATIONS_HELPTEXT :Permitir que estações diferentes se toquem -STR_CONFIG_SETTING_DYNAMIC_ENGINES :Utilizar múltiplos conjuntos NewGRF de veículos: {STRING} -STR_CONFIG_SETTING_DYNAMIC_ENGINES_HELPTEXT :Opção de compatibilidade com NewGRFs antigos. Não desactive se não sabe exactamente o que está a fazer. STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Não é possível mudar quando já existem veículos. STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Manutenção de infraestruturas: {STRING} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Quando activo, as infraestruturas têm custos de manutenção. O custo cresce mais do que proporcionalmente com o tamanho da rede e com isso afecta mais as companhias maiores comparado com as mais pequeneas @@ -1258,8 +1280,8 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :Duração da me STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Duração da visualização de mensagens de erro em janela vermelha. Note que algumas mensagens de erro (críticas) não são fechadas após este tempo e têm que ser fechadas manualmente STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{COMMA} segundo{P 0 "" s} STR_CONFIG_SETTING_HOVER_DELAY :Mostrar textos de ajuda: {STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Atraso após o qual os textos de ajuda são mostrados após parar o cursor sobre algum elemento da interface. Alternativamente, os textos de ajuda podem ser mostrados com o botão direito do rato -STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Parar o rato por {COMMA} segundo{P 0 "" s} +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Atraso após o qual os textos de ajuda são mostrados após parar o cursor sobre algum elemento da interface. Alternativamente, os textos de ajuda podem ser mostrados com o botão direito do rato quando este valor está definido como 0 +STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Parar o rato por {COMMA} milisegundo{P 0 "" s} STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Clique com botão direito STR_CONFIG_SETTING_POPULATION_IN_LABEL :Mostra população da cidade na janela da cidade: {STRING} STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Mostrar a população das povoações na sua etiqueta no mapa @@ -1269,24 +1291,34 @@ STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Largura da linh STR_CONFIG_SETTING_LAND_GENERATOR :Gerador de terra: {STRING} STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Original STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis +STR_CONFIG_SETTING_TERRAIN_TYPE :Tipo de terreno: {STRING} +STR_CONFIG_SETTING_INDUSTRY_DENSITY :Densidade industrial: {STRING} +STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Define quantas indústrias devem ser geradas e que nível deve ser mantido durante o jogo STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Distância máxima entre o limite do mapa e Refinarias de Petróleo: {STRING} STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Refinarias de petróleo são construídas apenas próximo da borda do mapa, isto é, na costa para mapas de ilha STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Altura da linha de neve: {STRING} +STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Controla a que altura a neve começa em paisagens sub-árticas. A neve também afecta a geração de indústrias e os requisitos de crescimento das cidades STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Rudeza do terreno (apenas TerraGenesis) : {STRING} +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(Apenas TerraGenesis) Escolhe a frequência de montes: paisagens macias têm menos montes e mais espalhados. Paisagens duras têm muitos montes, que podem parecer repetitivos STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Muito suave STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Suave STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Acidentado STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Muito acidentado +STR_CONFIG_SETTING_VARIETY :Distribuição de variedade: {STRING} +STR_CONFIG_SETTING_VARIETY_HELPTEXT :(Apenas TerraGenesis) Controla se o mapa contém áreas planas e montanhosas. Como isto apenas torna o mapa mais plano, outras definições devem ser definidas como montanhosas +STR_CONFIG_SETTING_RIVER_AMOUNT :Quantidade de rios: {STRING} +STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Escolhe quantos rios serão gerados STR_CONFIG_SETTING_TREE_PLACER :Algoritmo de colocação de árvores: {STRING} +STR_CONFIG_SETTING_TREE_PLACER_HELPTEXT :Escolhe a distribuição de árvores no mapa: 'Original' planta árvores espalhadas uniformemente, 'Melhorado' planta-as em grupos STR_CONFIG_SETTING_TREE_PLACER_NONE :Nenhum STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :Original STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :Melhorada +STR_CONFIG_SETTING_ROAD_SIDE :Veículo rodoviários: {STRING} +STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :Escolhe o lado de condução STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Rotação mapa de alt.: {STRING} STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Sentido anti-horário STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Sentido horário STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :Altura com que um cenário plano fica: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :Activar formação de terra nas bordas do mapa: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES_HELPTEXT :Se desligado, as bordas do mapa serão sempre oceano STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}Um ou mais quadrados no canto norte não estão vazios STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}Um ou mais quadrados num dos cantos não é água @@ -1337,17 +1369,15 @@ 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_AUTOSAVE :Guardar automaticamente: {STRING} +STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Seleccione o intervalo entre gravações automáticas + STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Usar formato de data {STRING} para jogos gravados. STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Formato da data nos ficheiros de jogos gravados STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :longo (31 Dez 2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :curto (31-12-2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE :Paleta predefinida para NewGRFs que não especificam paleta: {STRING} -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_HELPTEXT :Palete a usar por omissão para NewGRFs que não especifiquem qual necessitam -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_DOS :Paleta (D) por defeito -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_WIN :Paleta (W) legada - STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Pausa automática ao iniciar um novo jogo: {STRING} STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :Quando activo, o jogo ficará em pausa automaticamente num novo jogo, permitindo o estudo ao pormenor do mapa STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Durante pausa permitir: {STRING} @@ -1497,7 +1527,7 @@ STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT :Seleccionar o c STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE :Usar automaticamente sinais clássicos antes de: {STRING} STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT :Configurar o ano em que sinais eléctricos podem ser usados para os carris. Antes deste ano, sinais não-eléctricos serão usados (que têm a mesma funcionalidade, mas aspecto diferente) STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI :Activar ferramenta de sinais: {STRING} -STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI_HELPTEXT :Mostrar uma janela para escolher o tipo de sinais a construir, em vez de escolher a rotação de sinais com +clique em sinais +STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI_HELPTEXT :Mostrar uma janela para escolher o tipo de sinais a construir, em vez de escolher a rotação de sinais com Ctrl+clique em sinais construídos STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE :Tipo de farol padrão para construir: {STRING} STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE_HELPTEXT :Tipo de sinal a usar por omissão STR_CONFIG_SETTING_DEFAULT_SIGNAL_NORMAL :Sinais de bloqueio @@ -1569,8 +1599,6 @@ STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 em {COMMA} STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Nenhum STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Multiplicador inicial para dimensão da metrópole: {STRING} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Tamanho relativo das cidades em relação ao tamanho normal das mesmas aquando o inicio do jogo -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :Remover partes absurdas durante a constr. de estradas: {STRING} -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD_HELPTEXT :Remover blocos de estrada sem ligação aquando do financiamento de reconstrução STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Actualizar gráfico de distribuição a cada {STRING} dia{P 0:2 "" s} STR_CONFIG_SETTING_LINKGRAPH_INTERVAL_HELPTEXT :Tempo entre recalculos subsequentes de cada gráfico. Cada recalculo calcula os planos para cada componente do gráfico. Isto significa que um valor X para essa configuração não indica que o gráfico será todo actualizado a cada X dias. Apenas alguns componentes serão. Quanto mais curto o definir, mais tempo será necessário ao CPU para o calcular. Quanto mais longo, mais tempo levará até que a distribuição da carga inicie em novas rotas. @@ -1584,7 +1612,7 @@ STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"simétrico" si STR_CONFIG_SETTING_DISTRIBUTION_MAIL :Modo de distribuição para o correio: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"simétrico" significa que aproximadamente a mesma quantidade de correio será enviada de uma estação A para estação B assim como de B para A. "assimétrico" significa que uma quantidade arbitrária de correio poderá ser enviada em qualquer direcção. "manual" significa que nenhuma distribuição automática terá lugar para o correio. STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Modo de distribuição para a classe de carga ARMOURED: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :A classe de carga ARMOURED contem valores no clima temperado, diamantes no tropical ou ouro no árctico. Os NewGRFs podem mudar isto. "simétrico" significa que aproximadamente a mesma quantidade de carga será enviada da estação A para estação B assim como da B para a A. "assimétrico" significa que o arbitrário dessa carga pode ser enviada em qualquer direcção. "manual" significa que nenhuma distribuição automática ocorrerá para essa carga. Recomenda-se que seja definido para assimétrico ou manual quando a jogar no árctico, pois os bancos não devolvem ouro para as minas de ouro. Para o temperado e tropical pode ser escolhido simétrico pois os bancos irão devolver valores ao banco de origem de algumas cargas de valores. +STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :A classe de carga ARMOURED contém valores no clima temperado, diamantes no tropical ou ouro no árctico. Os NewGRFs podem mudar isto. "simétrico" significa que aproximadamente a mesma quantidade de carga será enviada da estação A para estação B assim como da B para a A. "assimétrico" significa que quantidades arbitrárias dessa carga podem ser enviadas em qualquer direcção. "manual" significa que nenhuma distribuição automática ocorrerá para essa carga. Recomenda-se que seja definido para assimétrico ou manual quando a jogar no árctico, pois os bancos não devolvem ouro para as minas de ouro. Para o temperado e tropical pode ser escolhido simétrico pois os bancos irão devolver valores ao banco de origem de algumas cargas de valores. STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Modo de distribuição para outras classes de carga: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"simetrico" significa que aproximadamente a mesma quantidade de carga será enviada da estação A para estação B assim como da B para a A. "asimetrico" significa que o arbitrario dessa carga pode ser enviada em qualquer direção. "manual" significa que nenhuma distribuição automática ocorrerá para essa carga. Provavelmente será melhor definir como "assimétrico" ou manual. STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Precisão de distribuição: {STRING} @@ -1632,27 +1660,17 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :Imperial (ft/p STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :Métrico (m) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :SI (m) -STR_CONFIG_SETTING_GUI :{ORANGE}Interface STR_CONFIG_SETTING_LOCALISATION :{ORANGE}Localização -STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}Construção -STR_CONFIG_SETTING_VEHICLES :{ORANGE}Veículos -STR_CONFIG_SETTING_STATIONS :{ORANGE}Estações -STR_CONFIG_SETTING_ECONOMY :{ORANGE}Economia -STR_CONFIG_SETTING_LINKGRAPH :{ORANGE}Distribuição de Carga -STR_CONFIG_SETTING_AI :{ORANGE}Oponentes -STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}Opções de visualização -STR_CONFIG_SETTING_INTERACTION :{ORANGE}Interacção STR_CONFIG_SETTING_SOUND :{ORANGE}Efeitos sonoros -STR_CONFIG_SETTING_NEWS :{ORANGE}Notícias e mensagens -STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}Sinais -STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE}Manipulação de carga -STR_CONFIG_SETTING_AI_NPC :{ORANGE}Jogadores computador -STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE}Auto-renovação -STR_CONFIG_SETTING_VEHICLES_SERVICING :{ORANGE}Em serviço +STR_CONFIG_SETTING_INTERFACE :{ORANGE}Interface +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Construção +STR_CONFIG_SETTING_VEHICLES :{ORANGE}Veículos STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Em rota -STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}Comboios -STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}Cidades -STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}Industrias +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Cidades +STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}Industrias +STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :{ORANGE}Distribuição de Carga +STR_CONFIG_SETTING_AI :{ORANGE}Oponentes +STR_CONFIG_SETTING_AI_NPC :{ORANGE}Jogadores computador STR_CONFIG_SETTING_PATHFINDER_OPF :Original STR_CONFIG_SETTING_PATHFINDER_NPF :NPF @@ -1701,7 +1719,7 @@ STR_INTRO_MULTIPLAYER :{BLACK}Multi-jo STR_INTRO_GAME_OPTIONS :{BLACK}Opções do Jogo STR_INTRO_HIGHSCORE :{BLACK}Tabela de Classificações -STR_INTRO_ADVANCED_SETTINGS :{BLACK}Opções Avançadas +STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Definições STR_INTRO_NEWGRF_SETTINGS :{BLACK}Definições NewGRF STR_INTRO_ONLINE_CONTENT :{BLACK}Verificar Conteúdo Online STR_INTRO_SCRIPT_SETTINGS :{BLACK}Definições de IA / Script de Jogo @@ -1721,7 +1739,7 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Seleccio STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Mostrar opções de jogo STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Mostrar tabela de classificações -STR_INTRO_TOOLTIP_ADVANCED_SETTINGS :{BLACK}Mostrar opções avançadas +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Definições de Display STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Mostrar definições de NewGRF STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Verificar conteúdo novo e actualizado para descarga STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Mostrar definições de IA e de script de jogo @@ -1761,6 +1779,8 @@ STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Jogando STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Bulldozer mágico (destrói indústrias, objectos amovíveis etc.): {ORANGE}{STRING} STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}Os túneis poderão cruzar-se: {ORANGE}{STRING} STR_CHEAT_NO_JETCRASH :{LTBLUE}Aviões a jacto não irão ter acidentes (frequentes) em aeroportos pequenos: {ORANGE}{STRING} +STR_CHEAT_EDIT_MAX_HL :{LTBLUE}Editar altura máxima do mapa: {ORANGE}{NUM} +STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Editar altura máxima de montanhas no mapa STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE :Terreno temperado STR_CHEAT_SWITCH_CLIMATE_SUB_ARCTIC_LANDSCAPE :Terreno subárctico STR_CHEAT_SWITCH_CLIMATE_SUB_TROPICAL_LANDSCAPE :Terreno subtropical @@ -1809,6 +1829,7 @@ STR_LIVERY_FREIGHT_TRAM :Eléctrico de M STR_FACE_CAPTION :{WHITE}Selecção de Cara STR_FACE_CANCEL_TOOLTIP :{BLACK}Cancelar selecção da nova cara STR_FACE_OK_TOOLTIP :{BLACK}Aceitar selecção da nova cara +STR_FACE_RANDOM :{BLACK}Gerar aleatório STR_FACE_MALE_BUTTON :{BLACK}Masculino STR_FACE_MALE_TOOLTIP :{BLACK}Seleccionar caras masculinas @@ -2278,11 +2299,11 @@ STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Construi STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Construir depósito ferroviário (para compra e manutenção de comboios). Shift alterna contruir/mostrar custo estimado STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Converter linha em ponto de controlo. Ctrl permite juntar pontos de controlo. Shift alterna contruir/mostrar custo estimado STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Construir estação ferroviária. Ctrl permite juntar estações. Shift alterna contruir/mostrar custo estimado -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Construir sinais ferroviários. Ctrl alterna entre s. clássicos/luminosos{}Arrastar constrói sinais numa linha de caminho-de-ferro. Ctrl constrói sinais até a próxima junção{}Ctrl+Clique alterna entre abrir a janela de selecção de sinais. Shift alterna contruir/mostrar custo estimado +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Construir sinais ferroviários. Ctrl alterna entre sinais clássicos/luminosos{}Arrastar constrói sinais ao longo de uma linha recta de carris. Ctrl constrói sinais até a próxima junção ou sinal{}Ctrl+Clique alterna entre abrir a janela de selecção de sinais. Shift alterna contruir/mostrar custo estimado STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Construir ponte ferroviária. Shift alterna contruir/mostrar custo estimado STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Construir túnel ferroviário. Shift alterna contruir/mostrar custo estimado STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Alternar entre construir/remover linha férrea, sinais, pontos de passagem e estações. Fixar o Ctrl também remove a linha férrea de pontos de passagem e estações -STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL :{BLACK}Converter/Actualizar tipo de linha. Shift alterna contruir/mostrar custo estimado +STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL :{BLACK}Converter/Atualizar tipo de linha. Shift alterna contruir/mostrar custo estimado STR_RAIL_NAME_RAILROAD :Caminhos-de-ferro STR_RAIL_NAME_ELRAIL :Caminhos-de-ferro elétricos @@ -2650,7 +2671,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-2014 A equipa do OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 A equipa do OpenTTD # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Guardar Jogo @@ -2669,6 +2690,7 @@ STR_SAVELOAD_SAVE_BUTTON :{BLACK}Guardar STR_SAVELOAD_SAVE_TOOLTIP :{BLACK}Guardar o jogo actual, usando o nome escolhido STR_SAVELOAD_LOAD_BUTTON :{BLACK}Carregar STR_SAVELOAD_LOAD_TOOLTIP :{BLACK}Carregar o jogo selecionado +STR_SAVELOAD_LOAD_HEIGHTMAP_TOOLTIP :{BLACK}Carregar mapa de alturas seleccionado STR_SAVELOAD_DETAIL_CAPTION :{BLACK}Detalhes do Jogo STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}Nenhuma informação disponível STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING} @@ -2684,13 +2706,12 @@ STR_MAPGEN_BY :{BLACK}* STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Num. de cidades: STR_MAPGEN_DATE :{BLACK}Data: STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Num. de indústrias: +STR_MAPGEN_MAX_HEIGHTLEVEL :{BLACK}Altura máxima do mapa: +STR_MAPGEN_MAX_HEIGHTLEVEL_UP :{BLACK}Aumentar altura máxima das montanhas no mapa em um +STR_MAPGEN_MAX_HEIGHTLEVEL_DOWN :{BLACK}Diminuir altura máxima das montanhas no mapa em um STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}Altura linha neve: STR_MAPGEN_SNOW_LINE_UP :{BLACK}Mover a linha de neve um nível acima STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}Mover a linha de neve um nível abaixo -STR_MAPGEN_RANDOM_SEED :{BLACK}Semente aleatória: -STR_MAPGEN_RANDOM_SEED_HELP :{BLACK}Clique para inserir uma semente aleatória -STR_MAPGEN_RANDOM :{BLACK}Gerar aleatório -STR_MAPGEN_RANDOM_HELP :{BLACK}Mudar a semente aleatória para a criação do terreno STR_MAPGEN_LAND_GENERATOR :{BLACK}Criação do terreno: STR_MAPGEN_TREE_PLACER :{BLACK}Alg. de colocação de árvores: STR_MAPGEN_TERRAIN_TYPE :{BLACK}Tipo de terreno: @@ -2717,7 +2738,7 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Nome map STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Tamanho: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} -STR_MAPGEN_RANDOM_SEED_OSKTITLE :{BLACK}Insira um número aleatório de base +STR_MAPGEN_MAX_HEIGHTLEVEL_QUERY_CAPT :{WHITE}Mudar altura máxima do mapa STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}Mudar a altura da linha de neve STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Mudar ano de início @@ -2772,6 +2793,8 @@ STR_NEWGRF_SETTINGS_MOVEUP :{BLACK}Para Cim STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP :{BLACK}Move o ficheiro NewGRF seleccionado para cima na lista STR_NEWGRF_SETTINGS_MOVEDOWN :{BLACK}Para Baixo STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP :{BLACK}Move o ficheiro NewGRF seleccionado para baixo na lista +STR_NEWGRF_SETTINGS_UPGRADE :{BLACK}Actualiza +STR_NEWGRF_SETTINGS_UPGRADE_TOOLTIP :{BLACK}Actualiza ficheiros NewGRF para os quais tens uma versão mais recente instalada STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}Uma lista dos ficheiros NewGRF que estão instalados STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}Definir parâmetros @@ -2796,6 +2819,16 @@ STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Ficheiro c STR_NEWGRF_SETTINGS_DISABLED :{RED}Desactivado STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Incompatível com esta versão do OpenTTD +# NewGRF save preset window +STR_SAVE_PRESET_CAPTION :{WHITE}Gravar predefinição +STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK}Lista de predefinições disponíveis, selecciona uma para a copiar para o nome da gravação abaixo +STR_SAVE_PRESET_TITLE :{BLACK}Intriduza um nome para a predefinição +STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}Nome seleccionado actualmente para gravação da predefinição +STR_SAVE_PRESET_CANCEL :{BLACK}Cancelar +STR_SAVE_PRESET_CANCEL_TOOLTIP :Não mudar a predefinição +STR_SAVE_PRESET_SAVE :{BLACK}Grava +STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}Grava a predefinição com o nome seleccionado + # NewGRF parameters window STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Alterar parâmetros NewGRF STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Fechar @@ -2826,7 +2859,6 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Gráfico STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Proceder ao gráfico normal anterior, ignorando quaisquer gráficos pseudo/recolorir/tipo-de-letra e dando a volta no início STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Representação do gráfico seleccionado actualmente. O alinhamento é ignorado a desenhar este gráfico STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Mover o gráfico, mudando os desvios X e Y -STR_SPRITE_ALIGNER_OFFSETS :{BLACK}Desvio X: {NUM}, Desvio Y: {NUM} STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Escolher gráfico STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Escolha um gráfico de qualquer lado no ecrã @@ -2999,7 +3031,7 @@ STR_GOAL_QUESTION_CAPTION_INFORMATION :Informação STR_GOAL_QUESTION_CAPTION_WARNING :Aviso STR_GOAL_QUESTION_CAPTION_ERROR :Erro -### Start of Goal Question button list +############ Start of Goal Question button list STR_GOAL_QUESTION_BUTTON_CANCEL :Cancelar STR_GOAL_QUESTION_BUTTON_OK :Confirmar STR_GOAL_QUESTION_BUTTON_NO :Não @@ -3018,6 +3050,7 @@ STR_GOAL_QUESTION_BUTTON_RESTART :Reiniciar STR_GOAL_QUESTION_BUTTON_POSTPONE :Adiar STR_GOAL_QUESTION_BUTTON_SURRENDER :Render-se STR_GOAL_QUESTION_BUTTON_CLOSE :Fechar +############ End of Goal Question button list # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}Subsídios @@ -3053,7 +3086,6 @@ STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}Nenhuma # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} -STR_STATION_VIEW_WAITING_TITLE :{BLACK}Em espera: {WHITE}{STRING} STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} de {STATION}) STR_STATION_VIEW_RESERVED :{YELLOW}({CARGO_SHORT} reservado para carregamento) @@ -3303,6 +3335,8 @@ STR_GROUP_DELETE_TOOLTIP :{BLACK}Remover STR_GROUP_RENAME_TOOLTIP :{BLACK}Mudar o nome do grupo seleccionado STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Clique para proteger este grupo da autosubstituição global +STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Apagar Grupo + STR_GROUP_ADD_SHARED_VEHICLE :Adic. veíc. partilh. STR_GROUP_REMOVE_ALL_VEHICLES :Remover todos os veículos @@ -3342,7 +3376,7 @@ STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Alcance: 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 -STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Lista de barcos - clique num barco para informações +STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Lista de selecção de navios. Clique num navio para informações. Ctrl+Clique para alternar/ocultar o tipo de navio STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Lista de aeronaves - clique na aeronave para informações STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}Comprar Veículo @@ -3365,6 +3399,21 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Renomear STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Renomear tipo de barco STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Renomear tipo de aeronave +STR_BUY_VEHICLE_TRAIN_HIDE_TOGGLE_BUTTON :{BLACK}Esconder +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_TOGGLE_BUTTON :{BLACK}Esconder +STR_BUY_VEHICLE_SHIP_HIDE_TOGGLE_BUTTON :{BLACK}Esconder +STR_BUY_VEHICLE_AIRCRAFT_HIDE_TOGGLE_BUTTON :{BLACK}Esconder + +STR_BUY_VEHICLE_TRAIN_SHOW_TOGGLE_BUTTON :{BLACK}Mostrar +STR_BUY_VEHICLE_ROAD_VEHICLE_SHOW_TOGGLE_BUTTON :{BLACK}Mostrar +STR_BUY_VEHICLE_SHIP_SHOW_TOGGLE_BUTTON :{BLACK}Mostrar +STR_BUY_VEHICLE_AIRCRAFT_SHOW_TOGGLE_BUTTON :{BLACK}Mostrar + +STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Alternar mostrar/ocultar o tipo de veículo ferroviário +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Alternar mostrar/ocultar o tipo de veículo rodoviário +STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Define mostrar/esconder tipo de barco +STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Define mostrar/esconder tipo de aeronave + STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}Renomear tipo de veículo ferroviário STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}Renomear tipo de veículo rodoviário STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}Renomear tipo de barco @@ -3418,7 +3467,7 @@ STR_DEPOT_CLONE_ROAD_VEHICLE :{BLACK}Clonar V STR_DEPOT_CLONE_SHIP :{BLACK}Clonar Barco STR_DEPOT_CLONE_AIRCRAFT :{BLACK}Clonar Aeronave -STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Esta acção comprará uma cópia de um comboio, incluindo as carruagens. Clique neste botão e, de seguida, num comboio que se encontre dentro ou fora do depósito. Ctrl+Clique irá partilhar as ordens. Shift+Clique mostra estimativa de custo, sem comprar +STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Esta acção comprará uma cópia de um comboio, incluindo todas as carruagens. Clique neste botão e, de seguida, num comboio que se encontre dentro ou fora do depósito. Ctrl+Clique irá partilhar as ordens. Shift+Clique mostra estimativa de custo, sem comprar STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Esta acção comprará uma cópia de um veículo rodoviário. Clique neste botão e, de seguida, num veículo que se encontre dentro ou fora de um depósito. Ctrl+Clique irá partilhar as ordens. Shift+Clique mostra estimativa de custo, sem comprar STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Esta acção comprará uma cópia de um barco. Clique neste botão e, de seguida, num barco que se encontre dentro ou fora do depósito. Ctrl+Clique irá partilhar as ordens. Shift+Clique mostra estimativa de custo, sem comprar STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Esta acção comprará uma cópia de uma aeronave. Clique neste botão e, de seguida, numa aeronave que se encontre dentro ou fora do hangar. Ctrl+Clique ira partilhar as ordens. Shift+Clique mostra estimativa de custo, sem comprar @@ -3469,6 +3518,11 @@ STR_REPLACE_VEHICLE_ROAD_VEHICLE :Veículo rodovi STR_REPLACE_VEHICLE_SHIP :Barco STR_REPLACE_VEHICLE_AIRCRAFT :Aeronave +STR_REPLACE_VEHICLE_VEHICLES_IN_USE :{YELLOW}Veículos em utilização +STR_REPLACE_VEHICLE_VEHICLES_IN_USE_TOOLTIP :{BLACK}Coluna com veículos que possui +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES :{YELLOW}Veículos disponiveis +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES_TOOLTIP :{BLACK}Coluna com veículos disponíveis para substituição + STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Seleccione o tipo de motor a substituir STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Seleccione o novo tipo de motor para substituir o que seleccionou à esquerda @@ -4064,6 +4118,7 @@ STR_ERROR_EXCAVATION_WOULD_DAMAGE :{WHITE}A escava STR_ERROR_ALREADY_AT_SEA_LEVEL :{WHITE}... já está ao nível do mar STR_ERROR_TOO_HIGH :{WHITE}... demasiado alto STR_ERROR_ALREADY_LEVELLED :{WHITE}... já plano +STR_ERROR_BRIDGE_TOO_HIGH_AFTER_LOWER_LAND :{WHITE}Ponte acima seria demasiado alta. # Company related errors STR_ERROR_CAN_T_CHANGE_COMPANY_NAME :{WHITE}Não é possível alterar o nome da empresa... @@ -4114,6 +4169,9 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... a fl STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... só se pode construir acima da linha da neve STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... só se pode construir abaixo da linha da neve +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}Não foram encontrados locais adequados para '{STRING}' indústrias +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Altera os parâmetros de geração do mapa para obter um mapa melhor + # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Não é possível construir estação ferroviária aqui... STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}Não é possível construir estação de autocarros... @@ -4250,6 +4308,7 @@ STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Deverá STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}Não é possível iniciar e finalizar no mesmo ponto STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}Extremos da ponte não estão ao mesmo nível STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}Ponte muito baixa para o terreno +STR_ERROR_BRIDGE_TOO_HIGH_FOR_TERRAIN :{WHITE}Ponte é demasiado alta para este terreno. STR_ERROR_START_AND_END_MUST_BE_IN :{WHITE}Início e fim devem estar alinhados STR_ERROR_ENDS_OF_BRIDGE_MUST_BOTH :{WHITE}... ambos os extremos da ponte devem estar em terra STR_ERROR_BRIDGE_TOO_LONG :{WHITE}... ponte demasiado longa @@ -4276,6 +4335,7 @@ STR_ERROR_YOU_ALREADY_OWN_IT :{WHITE}... já STR_ERROR_GROUP_CAN_T_CREATE :{WHITE}Impossível criar grupo... STR_ERROR_GROUP_CAN_T_DELETE :{WHITE}Impossível remover este grupo... STR_ERROR_GROUP_CAN_T_RENAME :{WHITE}Impossível renomear o grupo... +STR_ERROR_GROUP_CAN_T_SET_PARENT :{WHITE}Não é possível definir grupo parente... STR_ERROR_GROUP_CAN_T_REMOVE_ALL_VEHICLES :{WHITE}Não é possível remover todos os veículos deste grupo... STR_ERROR_GROUP_CAN_T_ADD_VEHICLE :{WHITE}Impossível adicionar o veículo a este grupo... STR_ERROR_GROUP_CAN_T_ADD_SHARED_VEHICLE :{WHITE}Impossível adicionar veículos com ordens partilhadas ao grupo... @@ -4813,6 +4873,7 @@ STR_COMPANY_NAME :{COMPANY} STR_COMPANY_NAME_COMPANY_NUM :{COMPANY} {COMPANY_NUM} STR_DEPOT_NAME :{DEPOT} STR_ENGINE_NAME :{ENGINE} +STR_HIDDEN_ENGINE_NAME :{ENGINE} (escondido) STR_GROUP_NAME :{GROUP} STR_INDUSTRY_NAME :{INDUSTRY} STR_PRESIDENT_NAME :{PRESIDENT_NAME} @@ -4848,8 +4909,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -4860,9 +4919,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/romanian.txt b/src/lang/romanian.txt index 40d77e865f..fef8733955 100644 --- a/src/lang/romanian.txt +++ b/src/lang/romanian.txt @@ -248,6 +248,17 @@ STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Bara de STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Bara de defilare - stânga/dreapta STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Demolează clădiri, străzi, etc. pe un pătrățel de teren. Ctrl pentru selectare pe diagonală. Shift comută construcție/estimare cost +# Show engines button +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}Arată ascunse +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK}Arată ascunse +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}Arată ascunse +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}Arată ascunse + +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}Activând acest buton, și trenurile vor fi afișate +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE_TOOLTIP :{BLACK}Activând acest buton, și autovehiculele vor fi afișate +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}Activând acest button, și vapoarele ascunse vor fi afișate +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Activând acest buton, și aeronavele ascunse vor fi afișate + # Query window STR_BUTTON_DEFAULT :{BLACK}Prestabilit(e) STR_BUTTON_CANCEL :{BLACK}Anulează @@ -361,7 +372,7 @@ STR_SCENEDIT_FILE_MENU_QUIT :Ieşire din joc ############ range for settings menu starts STR_SETTINGS_MENU_GAME_OPTIONS :Opţiunile jocului -STR_SETTINGS_MENU_CONFIG_SETTINGS :Setări avansate +STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Setări STR_SETTINGS_MENU_SCRIPT_SETTINGS :Setări IA / Script Joc STR_SETTINGS_MENU_NEWGRF_SETTINGS :Setări NewGRF STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Opţiuni transparenţă @@ -470,7 +481,7 @@ STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Afişează/ascu STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Comutator pentru colorarea secțiunilor murdare ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window STR_ORDINAL_NUMBER_1ST :1 STR_ORDINAL_NUMBER_2ND :2 STR_ORDINAL_NUMBER_3RD :3 @@ -486,22 +497,40 @@ STR_ORDINAL_NUMBER_12TH :12 STR_ORDINAL_NUMBER_13TH :13 STR_ORDINAL_NUMBER_14TH :14 STR_ORDINAL_NUMBER_15TH :15 -STR_ORDINAL_NUMBER_16TH :16 -STR_ORDINAL_NUMBER_17TH :17 -STR_ORDINAL_NUMBER_18TH :18 -STR_ORDINAL_NUMBER_19TH :19 -STR_ORDINAL_NUMBER_20TH :20 -STR_ORDINAL_NUMBER_21ST :21 -STR_ORDINAL_NUMBER_22ND :22 -STR_ORDINAL_NUMBER_23RD :23 -STR_ORDINAL_NUMBER_24TH :24 -STR_ORDINAL_NUMBER_25TH :25 -STR_ORDINAL_NUMBER_26TH :26 -STR_ORDINAL_NUMBER_27TH :27 -STR_ORDINAL_NUMBER_28TH :28 -STR_ORDINAL_NUMBER_29TH :29 -STR_ORDINAL_NUMBER_30TH :30 -STR_ORDINAL_NUMBER_31ST :31 +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :1 +STR_DAY_NUMBER_2ND :2 +STR_DAY_NUMBER_3RD :3 +STR_DAY_NUMBER_4TH :4 +STR_DAY_NUMBER_5TH :5 +STR_DAY_NUMBER_6TH :6 +STR_DAY_NUMBER_7TH :7 +STR_DAY_NUMBER_8TH :8 +STR_DAY_NUMBER_9TH :9 +STR_DAY_NUMBER_10TH :10 +STR_DAY_NUMBER_11TH :11 +STR_DAY_NUMBER_12TH :12 +STR_DAY_NUMBER_13TH :13 +STR_DAY_NUMBER_14TH :14 +STR_DAY_NUMBER_15TH :15 +STR_DAY_NUMBER_16TH :16 +STR_DAY_NUMBER_17TH :17 +STR_DAY_NUMBER_18TH :18 +STR_DAY_NUMBER_19TH :19 +STR_DAY_NUMBER_20TH :20 +STR_DAY_NUMBER_21ST :21 +STR_DAY_NUMBER_22ND :22 +STR_DAY_NUMBER_23RD :23 +STR_DAY_NUMBER_24TH :24 +STR_DAY_NUMBER_25TH :25 +STR_DAY_NUMBER_26TH :26 +STR_DAY_NUMBER_27TH :27 +STR_DAY_NUMBER_28TH :28 +STR_DAY_NUMBER_29TH :29 +STR_DAY_NUMBER_30TH :30 +STR_DAY_NUMBER_31ST :31 ############ range for days ends ############ range for months starts @@ -810,13 +839,11 @@ STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}{VEHICLE STR_NEWS_SHIP_IS_WAITING :{WHITE}{VEHICLE} aşteaptă în depou STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE} aşteaptă în hangar -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE +# Order review system / warnings STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE} are prea puţine ordine în program STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE} nu are nici un ordin STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE} are ordine duplicate STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE} are o staţie invalidă în ordine -# end of order system STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} este vechi STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} este foarte vechi @@ -899,10 +926,6 @@ STR_GAME_OPTIONS_CURRENCY_GEL :Lari Georgian ( STR_GAME_OPTIONS_CURRENCY_IRR :Rial Iranian (IRR) ############ end of currency region - -############ start of measuring units region -############ end of measuring units region - STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Autovehiculele circulă... STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}Alege partea străzii pe care se circulă STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :Pe partea stângă @@ -938,11 +961,13 @@ STR_GAME_OPTIONS_TOWN_NAME_CATALAN :Catalană STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Salvare automată STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Alege intervalul de timp dintre salvările automate +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Dezactivată STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :În fiecare lună STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :La fiecare 3 luni STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :La fiecare 6 luni STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :La fiecare 12 luni +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}Limba STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Alege limba în care doreşti afişată interfaţa @@ -954,8 +979,12 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}Rezoluţ STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Alege rezoluţia dorită pentru joc STR_GAME_OPTIONS_RESOLUTION_OTHER :(alta/nespecificată) -STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}Formatul capturii de ecran -STR_GAME_OPTIONS_SCREENSHOT_FORMAT_TOOLTIP :{BLACK}Alege tipul fişierului în care se salvează captura de ecran (screenshot) +STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Mărime interfată +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Alege mărimea elementelor de interfaţa + +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normală +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Mărime dublă +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Mărime împătrită STR_GAME_OPTIONS_BASE_GRF :{BLACK}Set grafic de bază STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Selectează setul grafic de bază utilizat în joc @@ -1049,6 +1078,7 @@ STR_TERRAIN_TYPE_VERY_FLAT :Foarte plat STR_TERRAIN_TYPE_FLAT :Plat STR_TERRAIN_TYPE_HILLY :Deluros STR_TERRAIN_TYPE_MOUNTAINOUS :Muntos +STR_TERRAIN_TYPE_ALPINIST :Alpinist STR_CITY_APPROVAL_PERMISSIVE :Permisivă STR_CITY_APPROVAL_TOLERANT :Tolerantă @@ -1056,8 +1086,8 @@ STR_CITY_APPROVAL_HOSTILE :Ostilă STR_WARNING_NO_SUITABLE_AI :{WHITE}Nu este disponibil nici un modul de Inteligenţă Artificială...{}Puteţi descărca diferite module de Inteligenţă Artificială prin sistemul de 'Resurse Online' -# Advanced settings window -STR_CONFIG_SETTING_CAPTION :{WHITE}Setări avansate +# Settings tree window +STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Setări STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Filtru: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Extinde toate STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Colapsează toate @@ -1071,9 +1101,9 @@ STR_CONFIG_SETTING_TYPE_COMPANY_MENU :Setări compani STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :Setări companie (stocate în fişierul de salvare; afectează doar compania curentă) STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Arată în lista de mai jos doar setările modificate -STR_CONFIG_SETTING_RESTRICT_BASIC :Setări de bază -STR_CONFIG_SETTING_RESTRICT_ADVANCED :Setări avansate -STR_CONFIG_SETTING_RESTRICT_ALL :Setări expert / toate setările +STR_CONFIG_SETTING_RESTRICT_BASIC :Setări de bază (afişează numai setări importante) +STR_CONFIG_SETTING_RESTRICT_ADVANCED :Setări avansate (afişează majoritatea setărilor) +STR_CONFIG_SETTING_RESTRICT_ALL :Setări expert (afişează toate setările) STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :Setări cu altă valoare decît cea prestabilită STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :Setări cu valori diferite față de cele setate de tine pentru joc nou @@ -1124,8 +1154,9 @@ STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Comută dezastr STR_CONFIG_SETTING_CITY_APPROVAL :Atitudinea consiliului orașului cu privire la restructurarea zonei: {STRING} STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Alege în ce măsură poluarea fonică si deranjamentul local provocat de o companie va afecta impresia orașului despre aceasta, si viitoarele planuri de construcție in zonă -STR_CONFIG_SETTING_BUILDONSLOPES :Permite construirea pe coastă şi în pantă: {STRING} -STR_CONFIG_SETTING_BUILDONSLOPES_HELPTEXT :Dacă este activat, şinele şi staţiile pot fi construite pe majoritatea pantelor. Dacă este dezactivat, acestea pot fi construite doar pe pante care coincid cu direcţia şinelor şi astfel nu necesită fundaţie +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :Înălţimea maximă a harţii: {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :Setează înălţimea maxim permisă a munţilor pe hartă +STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}Nu poţi seta înălţimea maxima a hărţii la aceasta valoare. Cel puţin un munte pe hartă are o înălţime mai mare. STR_CONFIG_SETTING_AUTOSLOPE :Permite terra-formarea sub clădiri, şine, etc. (auto-pante): {STRING} STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Permite terraformarea sub clădiri şi şine fără eliminarea acestora STR_CONFIG_SETTING_CATCHMENT :Permite arii de cuprindere mai realiste: {STRING} @@ -1150,16 +1181,12 @@ STR_CONFIG_SETTING_FORBID_90_DEG :Interzice trenu STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Întoarcerile la 90 de grade au loc atunci când o bucată orizontală de şină este urmată imediat de o bucată verticală, astfel făcând trenul să întoarcă la 90 de grade când traversează muchia unui pătrăţel faţă de întoarcerile obişnuite de la 45 de grade pentru alte combinaţii de şină. Aceasta se aplică şi unghiului de întoarcere al navelor STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Permite unirea staţiilor neînvecinate: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Permite adăugarea de elemente unei staţii fără a atinge direct elemente existente. Necesită Ctrl+Click pentru adăugărea elementelor noi -STR_CONFIG_SETTING_IMPROVEDLOAD :Foloseşte algoritm de încărcare îmbunătăţit: {STRING} -STR_CONFIG_SETTING_IMPROVEDLOAD_HELPTEXT :Dacă este activată, încărcarea vehiculelor care aşteaptă în aceeaşi staţie se va face în secvenţă. Încărcarea următorului vehicul începe doar dacă există destul cargo pentru a umple complet primul vehicul -STR_CONFIG_SETTING_GRADUAL_LOADING :Încarcă vehiculele gradual: {STRING} -STR_CONFIG_SETTING_GRADUAL_LOADING_HELPTEXT :Încarcă vehiculele gradual folosind duratele de încarcare specifice fiecărui vehicul, în loc să se încarce totul dintr-o dată folosind o durată fixată în funcţie de cantitatea de cargo încărcată STR_CONFIG_SETTING_INFLATION :Inflaţia: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :Activează inflaţia în economie, unde costurile cresc ceva mai rapid decât plăţile -STR_CONFIG_SETTING_SELECTGOODS :Livrează marfa doar în staţiile unde aceasta este cerută: {STRING} -STR_CONFIG_SETTING_SELECTGOODS_HELPTEXT :Livrează cargo doar către o staţie unde există cereri de la vehicule pentru încărcare. Aceasta previne rating-uri slabe pentru cargo care nu este ridicat din staţie STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Lungimea maximă a podurilor: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Lungimea maximă pentru construcţia de poduri +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :Întăltimea maximă a podurilor: {STRING} +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :Întăltimea maximă pentru construcţia de poduri STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Lungimea maximă a tunelurilor: {STRING} STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :Lungimea maximă pentru construcţia de tuneluri STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Metoda manuală de construcţie a industriilor primare: {STRING} @@ -1185,8 +1212,6 @@ STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Locul unde un t STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :capătul apropiat al STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :mijlocul STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :capătul îndepartat al -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING :Autovehiculele pot forma cozi (cu efecte cuantice): {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING_HELPTEXT :Vehiculele așteptă în fața stației pînă se eliberează STR_CONFIG_SETTING_AUTOSCROLL :Mută imaginea când mouse-ul este la marginea ecranului: {STRING} STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Cand este activată, ecranele se vor deplasa cînd mouse-ul este aproape de margine STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :dezactivat @@ -1217,10 +1242,6 @@ STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Permite constru STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Permite construcția stațiilor pe drumurile construite de un oraș STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Permite construirea staţiilor pe drumurile competitorilor: {STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Permite construcția stațiilor pe drumurile construite de altă companie -STR_CONFIG_SETTING_ADJACENT_STATIONS :Permite construirea de staţii adiacente: {STRING} -STR_CONFIG_SETTING_ADJACENT_STATIONS_HELPTEXT :Permite staților diferite sa se atingă -STR_CONFIG_SETTING_DYNAMIC_ENGINES :Permite mai multe seturi NewGRF simultan: {STRING} -STR_CONFIG_SETTING_DYNAMIC_ENGINES_HELPTEXT :Optiune de compatibilitate pentru vechile fișiere NewGRF. Nu dezactiva asta, decât dacă știi exact ce faci! STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Schimbarea acestei setări nu este permisă când există vehicule în joc STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Mentenanță infrastructură: {STRING} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Cand este activă, infrastructura necesita cheltuieli cu intreținerea. Costurile cresc proporțional cu rețeaua de transport, afectând companiile mari mai mult decât companiile mici @@ -1251,8 +1272,8 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :Durata de afiș STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Durata afișării mesajelor de eroare în fereastra roșie. Unele mesaje de eroare (cele critice) nu sunt închise automat după trecerea acestei perioade, și trebuie închise manual. STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{COMMA} secund{P 0 ă e} STR_CONFIG_SETTING_HOVER_DELAY :Afișează texte informative: {STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Durata dinaintea afișării textelor informative când se ține mouse-ul pe un element al interfeței. Alternativ, afișarea textelor informative poate fi setată pentru click-dreapta -STR_CONFIG_SETTING_HOVER_DELAY_VALUE :După {COMMA} secund{P 0 ă e} +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Durata dinaintea afișării sfaturilor când se ține mausul pe un element al interfeței. Alternativ, afișarea sfaturilor poate fi setată pentru clic-dreapta +STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Plutește {COMMA} milisecund{P 0 ă e} STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Click dreapta STR_CONFIG_SETTING_POPULATION_IN_LABEL :Afişează populaţia unui oras lângă nume: {STRING} STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Afișează populația orașelor în numele afișate pe hartă @@ -1278,8 +1299,6 @@ STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Rotaţie hartă STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Spre stânga STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Spre dreapta STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :Nivelul înălţimii pentru hărţile plane: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :Permite terraformarea suprafeţelor din marginea hărţii: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES_HELPTEXT :Dacă este dezactivat, marginile hărţii vor fi întotdeauna ocean STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}Una sau mai multe suprafeţe din marginea nordică nu sunt goale STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}Una sau mai multe suprafeţe din marginea hărţii nu contin apă @@ -1330,17 +1349,13 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Oprit STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Derulare ecran cu click-stânga: {STRING} STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :Activează derularea hărții prin tragerea acesteia cu butonul stâng al mouse-ului. Această opțiune este în special utilă când se folosește un ecran tactil pentru deplasare + STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Foloseşte formatul datei {STRING} pentru numele salvărilor STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Formatul datei in numele salvărilor STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :lung (31 Dec 2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :scurt (31-12-2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE :Paleta implicită pentru NewGRF-uri care nu specifică o paletă: {STRING} -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_HELPTEXT :Paleta implicită care va fi folosită cu un NewGRF, dacă acesta nu specifică o anume paletă -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_DOS :Paletă (D) implicită -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_WIN :Paletă (W) veche - STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :La pornirea unui joc nou, pune-l pe pauză: {STRING} STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :Când este activată, jocul se va comuta automat in mod pauză la pornirea unui nou joc, permițând astfel un studiu mai atent al hărții STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Când jocul este în pauză permite: {STRING} @@ -1489,7 +1504,7 @@ STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE :La plasarea mai STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE :Construieşte automat semafoare înainte de: {STRING} STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT :Alege anul din care se vor folosi semnale electrice pe calea feroviară. Înainte de acest an, se vor folosi semnale non-electrice care au aceeasi funcționalitate dar arată diferit STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI :Activare GUI pentru semnale: {STRING} -STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI_HELPTEXT :Afişează o fereastră pentru alegerea tipului de semnal de contruit, în loc sa se selecteze tipul de semnal prin cliclare folosind Ctrl+Click +STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI_HELPTEXT :Afişează o fereastră pentru alegerea tipului de semnal de construit, în loc de Ctrl+Click STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE :Tip semnal implicit: {STRING} STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE_HELPTEXT :Tipul de semnal implicit STR_CONFIG_SETTING_DEFAULT_SIGNAL_NORMAL :Semnal de bloc @@ -1557,8 +1572,6 @@ STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 din {COMMA} STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :deloc STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Multiplicator iniţial dimensiune oraş: {STRING} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Dimensiunea medie a oraşelor mari relativ la oraşele normale, la începutul jocului -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :Elimină elementele de drum absurde pe durata construcţiei drumului: {STRING} -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD_HELPTEXT :Elimină capatul drumurilor înfundate în timpul reconstrucţiei finanţată a drumurilor STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Actualizează graficul de distribuţie la fiecare {STRING} zi{P 0:2 "" le} STR_CONFIG_SETTING_LINKGRAPH_TIME :Acordă {STRING} zi{P 0:2 "" le} pentru recalcularea graficului de distribuţie @@ -1593,7 +1606,7 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_METRIC :Metric (t/tonă STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_SI :SI (kg) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME :Unitate volum: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_HELPTEXT :Afişează volumele din interfaţă folosind unităţile selectate +STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_HELPTEXT :Afişează volumele în interfaţă folosind unităţile selectate STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_IMPERIAL :Imperial (gal) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_METRIC :Metric (l) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_SI :SI (m³) @@ -1605,32 +1618,22 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_METRIC :Metric (kgf) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_SI :SI (kN) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT :Unitate înălţime: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT :Afişează înălţimile din interfaţă folosind unităţile selectate +STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT :Afişează înălţimile în interfaţă folosind unităţile selectate STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :Imperial (ft) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :Metric (m) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :SI (m) -STR_CONFIG_SETTING_GUI :{ORANGE}Interfaţă STR_CONFIG_SETTING_LOCALISATION :{ORANGE}Localizare -STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}Construcţie -STR_CONFIG_SETTING_VEHICLES :{ORANGE}Vehicule -STR_CONFIG_SETTING_STATIONS :{ORANGE}Staţii -STR_CONFIG_SETTING_ECONOMY :{ORANGE}Economie -STR_CONFIG_SETTING_LINKGRAPH :{ORANGE}Distribuţie cargo -STR_CONFIG_SETTING_AI :{ORANGE}Concurenţi -STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}Setări vizuale -STR_CONFIG_SETTING_INTERACTION :{ORANGE}Interacţiune STR_CONFIG_SETTING_SOUND :{ORANGE}Efecte sonore -STR_CONFIG_SETTING_NEWS :{ORANGE}Știri și mesaje -STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}Semnale (semafoare) -STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE}Operare marfă -STR_CONFIG_SETTING_AI_NPC :{ORANGE}Jucători virtuali -STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE}Reînnoire automată -STR_CONFIG_SETTING_VEHICLES_SERVICING :{ORANGE}Service +STR_CONFIG_SETTING_INTERFACE :{ORANGE}Interfaţă +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Construcţie +STR_CONFIG_SETTING_VEHICLES :{ORANGE}Vehicule STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Direcţionare -STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}Trenuri -STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}Oraşe -STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}Industrii +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Oraşe +STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}Industrii +STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :{ORANGE}Distribuţie cargo +STR_CONFIG_SETTING_AI :{ORANGE}Concurenţi +STR_CONFIG_SETTING_AI_NPC :{ORANGE}Jucători virtuali STR_CONFIG_SETTING_PATHFINDER_OPF :Original STR_CONFIG_SETTING_PATHFINDER_NPF :NPF @@ -1679,7 +1682,7 @@ STR_INTRO_MULTIPLAYER :{BLACK}Multipla STR_INTRO_GAME_OPTIONS :{BLACK}Opţiuni STR_INTRO_HIGHSCORE :{BLACK}Tabela cu scoruri maxime -STR_INTRO_ADVANCED_SETTINGS :{BLACK}Setări avansate +STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Setări STR_INTRO_NEWGRF_SETTINGS :{BLACK}Setări NewGRF STR_INTRO_ONLINE_CONTENT :{BLACK}Resurse online STR_INTRO_SCRIPT_SETTINGS :{BLACK}Setări IA / Scripturi Joc @@ -1699,7 +1702,7 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Alege pe STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Afişează opţiunile jocului STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Afișează tabela cu scoruri maxime -STR_INTRO_TOOLTIP_ADVANCED_SETTINGS :{BLACK}Afişează setările avansate +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Setări afişare STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Afişează setările NewGRF STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Verifică dacă există resurse noi sau actualizate pentru descărcare STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Afişează setările pentru Inteligența Artificială şi pentru Scripturi Joc @@ -1739,6 +1742,8 @@ STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Joacă STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Buldozer magic (demolează industrii şi lucruri amovibile): {ORANGE}{STRING} STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}Tunelele se pot intersecta: {ORANGE}{STRING} STR_CHEAT_NO_JETCRASH :{LTBLUE}Avioanele cu reacţie nu se vor prăbuşi (frecvent) pe aeroporturile mici: {ORANGE}{STRING} +STR_CHEAT_EDIT_MAX_HL :{LTBLUE}Schimbă înălţimea maximă a harţii: {ORANGE}{NUM} +STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Schimbă înălţimea maxima a munţilor pe hartă STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE :peisajul temperat STR_CHEAT_SWITCH_CLIMATE_SUB_ARCTIC_LANDSCAPE :peisajul sub-arctic STR_CHEAT_SWITCH_CLIMATE_SUB_TROPICAL_LANDSCAPE :peisajul sub-tropical @@ -1787,6 +1792,7 @@ STR_LIVERY_FREIGHT_TRAM :Tramvai marfă STR_FACE_CAPTION :{WHITE}Alegerea pozei STR_FACE_CANCEL_TOOLTIP :{BLACK}Anulează alegerea unei poze noi STR_FACE_OK_TOOLTIP :{BLACK}Acceptă poza selectată +STR_FACE_RANDOM :{BLACK}Aleator STR_FACE_MALE_BUTTON :{BLACK}Bărbat STR_FACE_MALE_TOOLTIP :{BLACK}Alege figură masculină @@ -2627,7 +2633,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-2014 Echipa OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 Echipa OpenTTD # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Salvează joc @@ -2661,13 +2667,12 @@ STR_MAPGEN_BY :{BLACK}* STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Nr. de oraşe: STR_MAPGEN_DATE :{BLACK}Data: STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Nr. de industrii: +STR_MAPGEN_MAX_HEIGHTLEVEL :{BLACK}Înălţimea maximă a harţii: +STR_MAPGEN_MAX_HEIGHTLEVEL_UP :{BLACK}Măreşte înălţimea maximă a munţilor pe hartă cu unu +STR_MAPGEN_MAX_HEIGHTLEVEL_DOWN :{BLACK}Reduce înălţimea maximă a munţilor pe hartă cu unu STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}Înălţimea zăpezii: STR_MAPGEN_SNOW_LINE_UP :{BLACK}Mută linia zăpezii cu un punct în sus STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}Mută linia zăpezii cu un punct în jos -STR_MAPGEN_RANDOM_SEED :{BLACK}Parametru aleator: -STR_MAPGEN_RANDOM_SEED_HELP :{BLACK}Click pt introducerea unui parametru aleator -STR_MAPGEN_RANDOM :{BLACK}Aleator -STR_MAPGEN_RANDOM_HELP :{BLACK}Modifică parametrul aleator folosit pentru Generarea Terenului STR_MAPGEN_LAND_GENERATOR :{BLACK}Generator de teren: STR_MAPGEN_TREE_PLACER :{BLACK}Algoritm arbore: STR_MAPGEN_TERRAIN_TYPE :{BLACK}Tip teren: @@ -2694,7 +2699,7 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Nume har STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Dimensiune: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} -STR_MAPGEN_RANDOM_SEED_OSKTITLE :{BLACK}Introduceţi o valoare de pornire pentru numerele aleatoare +STR_MAPGEN_MAX_HEIGHTLEVEL_QUERY_CAPT :{WHITE}Modifică înălţimea maximă a harţi STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}Modifică înălţimea zăpezii STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Modifică anul de început @@ -2773,6 +2778,8 @@ STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Niciun fis STR_NEWGRF_SETTINGS_DISABLED :{RED}Dezactivat STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Incompatibil cu această versiune de OpenTTD +# NewGRF save preset window + # NewGRF parameters window STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Schimbă parametrii NewGRF STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Închide @@ -2803,7 +2810,10 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Imaginea STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Mergi la precedenta imagine normală, sărind peste pseudo-imagini, recolorări sau fonturi şi reporneşte când s-a ajuns la sfârşit STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Reprezentarea imaginii curente. Aliniamentul este ignorat STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Mişcă imaginea schimbând distanţele pe axele X şi Y -STR_SPRITE_ALIGNER_OFFSETS :{BLACK}distanţa X: {NUM}, distanţa Y: {NUM} +STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Resetează relativele +STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Resetază limitele relative actuale +STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}Limita X: {NUM}, Limita Y: {NUM} (Absolut) +STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}Limita X: {NUM}, Limita Y: {NUM} (Relativ) STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Alege imagine STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Alege o imagine de oriunde de pe ecran @@ -2975,7 +2985,7 @@ STR_GOAL_QUESTION_CAPTION_INFORMATION :Informație STR_GOAL_QUESTION_CAPTION_WARNING :Atenționare STR_GOAL_QUESTION_CAPTION_ERROR :Eroare -### Start of Goal Question button list +############ Start of Goal Question button list STR_GOAL_QUESTION_BUTTON_CANCEL :Anulează STR_GOAL_QUESTION_BUTTON_OK :OK STR_GOAL_QUESTION_BUTTON_NO :Nu @@ -2994,6 +3004,7 @@ STR_GOAL_QUESTION_BUTTON_RESTART :Reîncearcă STR_GOAL_QUESTION_BUTTON_POSTPONE :Amână STR_GOAL_QUESTION_BUTTON_SURRENDER :Renunță STR_GOAL_QUESTION_BUTTON_CLOSE :Închide +############ End of Goal Question button list # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}Subvenţii (F6) @@ -3029,7 +3040,6 @@ STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}Nu este # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} -STR_STATION_VIEW_WAITING_TITLE :{BLACK}În aşteptare: {WHITE}{STRING} STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} pe drum de la {STATION}) STR_STATION_VIEW_RESERVED :{YELLOW}({CARGO_SHORT} rezervat pentru încărcare) @@ -3045,7 +3055,7 @@ STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Evaluăr STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Afişează evaluările staţiei STR_STATION_VIEW_CARGO_SUPPLY_RATING :{WHITE}{STRING}: {YELLOW}{COMMA} / {STRING} ({COMMA}%) -STR_STATION_VIEW_GROUP :{BLACK}Grupare după +STR_STATION_VIEW_GROUP :{BLACK}Grupează după STR_STATION_VIEW_WAITING_STATION :Staţie: Aşteptare STR_STATION_VIEW_WAITING_AMOUNT :Sumă: Aşteptare STR_STATION_VIEW_PLANNED_STATION :Staţie: Planificat @@ -3278,6 +3288,8 @@ STR_GROUP_DELETE_TOOLTIP :{BLACK}Şterge STR_GROUP_RENAME_TOOLTIP :{BLACK}Redenumeşte grupul selectat STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Click aici pentru a proteja acest grup de la înlocuirile automate globale +STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Şterge Grup + STR_GROUP_ADD_SHARED_VEHICLE :Adaugă vehicule partajate STR_GROUP_REMOVE_ALL_VEHICLES :Elimină toate vehiculele @@ -3340,6 +3352,21 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Redenume STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Redenumeşte modelul de navă STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Redenumeşte modelul de aeronavă +STR_BUY_VEHICLE_TRAIN_HIDE_TOGGLE_BUTTON :{BLACK}Ascunde +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_TOGGLE_BUTTON :{BLACK}Ascunde +STR_BUY_VEHICLE_SHIP_HIDE_TOGGLE_BUTTON :{BLACK}Ascunde +STR_BUY_VEHICLE_AIRCRAFT_HIDE_TOGGLE_BUTTON :{BLACK}Ascunde + +STR_BUY_VEHICLE_TRAIN_SHOW_TOGGLE_BUTTON :{BLACK}Afișează +STR_BUY_VEHICLE_ROAD_VEHICLE_SHOW_TOGGLE_BUTTON :{BLACK}Afișează +STR_BUY_VEHICLE_SHIP_SHOW_TOGGLE_BUTTON :{BLACK}Afișează +STR_BUY_VEHICLE_AIRCRAFT_SHOW_TOGGLE_BUTTON :{BLACK}Afișează + +STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Comută ascunderea/afișarea tipului de tren +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Comutator pentru afişarea tipului de autovehicul +STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Comutator pentru afişarea tipului de navă +STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Comutator pentru afişarea tipului de aeronavă + STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}Redenumeste modelul vehiculului feroviar STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}Redenumeşte modelul de autovehicul STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}Redenumeşte modelul de navă @@ -3444,6 +3471,11 @@ STR_REPLACE_VEHICLE_ROAD_VEHICLE :Autovehicolul STR_REPLACE_VEHICLE_SHIP :Nava STR_REPLACE_VEHICLE_AIRCRAFT :Aeronava +STR_REPLACE_VEHICLE_VEHICLES_IN_USE :{YELLOW}Vehicule în uz +STR_REPLACE_VEHICLE_VEHICLES_IN_USE_TOOLTIP :{BLACK}Coloana vehiculelor pe care le deții +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES :{YELLOW}Vehicule disponibile +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES_TOOLTIP :{BLACK}Coloana vehiculelor disponibile pentru înlocuire + STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Alege tipul de motor pentru înlocuire STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Alege noul tip de motor pe care doreşti să-l foloseşti în locul motorului selectat în stânga @@ -4036,6 +4068,7 @@ STR_ERROR_EXCAVATION_WOULD_DAMAGE :{WHITE}Săpătu STR_ERROR_ALREADY_AT_SEA_LEVEL :{WHITE}Deja la nivelul mării STR_ERROR_TOO_HIGH :{WHITE}Prea înalt STR_ERROR_ALREADY_LEVELLED :{WHITE}... este deja plat +STR_ERROR_BRIDGE_TOO_HIGH_AFTER_LOWER_LAND :{WHITE}După aceea podul deasupra ar deveni prea înalt. # Company related errors STR_ERROR_CAN_T_CHANGE_COMPANY_NAME :{WHITE}Nu se poate schimba numele companiei... @@ -4086,6 +4119,8 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... păd STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... poate fi construit doar deasupra liniei zăpezii STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... poate fi construit doar sub linia zăpezii +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Modifică parametrii generatorului ca să obții o hartă mai bună + # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Nu se poate construi o gară aici... STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}Nu se poate construi staţie de autobuz... @@ -4222,6 +4257,7 @@ STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Mai înt STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}Cele două capete nu se pot situa în acelaşi loc STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}Capetele podului nu sunt la acelasi nivel STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}Podul este prea jos pentru terenul corespunzator +STR_ERROR_BRIDGE_TOO_HIGH_FOR_TERRAIN :{WHITE}Podul este prea înalt pentru acest teren. STR_ERROR_START_AND_END_MUST_BE_IN :{WHITE}Cele două capete trebuie să se situeze în linie STR_ERROR_ENDS_OF_BRIDGE_MUST_BOTH :{WHITE}... ambele capete ale podului trebuie să se situeze pe uscat STR_ERROR_BRIDGE_TOO_LONG :{WHITE}... podul este prea lung @@ -4247,7 +4283,8 @@ STR_ERROR_YOU_ALREADY_OWN_IT :{WHITE}... este # Group related errors STR_ERROR_GROUP_CAN_T_CREATE :{WHITE}Nu pot crea grup... STR_ERROR_GROUP_CAN_T_DELETE :{WHITE}Nu pot şterge grup... -STR_ERROR_GROUP_CAN_T_RENAME :{WHITE}Nu se poate redenumi grupul... +STR_ERROR_GROUP_CAN_T_RENAME :{WHITE}Nu pot redenumi grup... +STR_ERROR_GROUP_CAN_T_SET_PARENT :{WHITE}Nu pot seta grupul predecesor... STR_ERROR_GROUP_CAN_T_REMOVE_ALL_VEHICLES :{WHITE}Nu pot elimina toate vehiculele din acest grup... STR_ERROR_GROUP_CAN_T_ADD_VEHICLE :{WHITE}Nu pot adauga vehiculul in acest grup... STR_ERROR_GROUP_CAN_T_ADD_SHARED_VEHICLE :{WHITE}Nu pot adauga vehicule partajate in grup... @@ -4785,6 +4822,7 @@ STR_COMPANY_NAME :{COMPANY} STR_COMPANY_NAME_COMPANY_NUM :{COMPANY} {COMPANY_NUM} STR_DEPOT_NAME :{DEPOT} STR_ENGINE_NAME :{ENGINE} +STR_HIDDEN_ENGINE_NAME :{ENGINE} (ascuns) STR_GROUP_NAME :{GROUP} STR_INDUSTRY_NAME :{INDUSTRY} STR_PRESIDENT_NAME :{PRESIDENT_NAME} @@ -4820,8 +4858,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -4832,9 +4868,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/russian.txt b/src/lang/russian.txt index 0578454b0b..3338c32c86 100644 --- a/src/lang/russian.txt +++ b/src/lang/russian.txt @@ -221,30 +221,30 @@ STR_CARGO_SINGULAR_FIZZY_DRINK.acc :газиров # Quantity of cargo STR_QUANTITY_NOTHING : -STR_QUANTITY_PASSENGERS :{COMMA} пассажир{P "" а ов} +STR_QUANTITY_PASSENGERS :{COMMA}{NBSP}пассажир{P "" а ов} STR_QUANTITY_COAL :{WEIGHT_LONG} угля -STR_QUANTITY_MAIL :{COMMA} меш{P ок ка ков} почты +STR_QUANTITY_MAIL :{COMMA}{NBSP}меш{P ок ка ков} почты STR_QUANTITY_OIL :{VOLUME_LONG} нефти -STR_QUANTITY_LIVESTOCK :{COMMA} голов{P а ы ""} домашнего скота -STR_QUANTITY_GOODS :{COMMA} ящик{P "" а ов} товаров +STR_QUANTITY_LIVESTOCK :{COMMA}{NBSP}голов{P а ы ""} домашнего скота +STR_QUANTITY_GOODS :{COMMA}{NBSP}ящик{P "" а ов} товаров STR_QUANTITY_GRAIN :{WEIGHT_LONG} зерна STR_QUANTITY_WOOD :{WEIGHT_LONG} древесины STR_QUANTITY_IRON_ORE :{WEIGHT_LONG} железной руды STR_QUANTITY_STEEL :{WEIGHT_LONG} стали -STR_QUANTITY_VALUABLES :{COMMA} меш{P ок ка ков} драгоценностей +STR_QUANTITY_VALUABLES :{COMMA}{NBSP}меш{P ок ка ков} драгоценностей STR_QUANTITY_COPPER_ORE :{WEIGHT_LONG} медной руды STR_QUANTITY_MAIZE :{WEIGHT_LONG} кукурузы STR_QUANTITY_FRUIT :{WEIGHT_LONG} фруктов -STR_QUANTITY_DIAMONDS :{COMMA} меш{P ок ка ков} алмазов +STR_QUANTITY_DIAMONDS :{COMMA}{NBSP}меш{P ок ка ков} алмазов STR_QUANTITY_FOOD :{WEIGHT_LONG} продуктов STR_QUANTITY_PAPER :{WEIGHT_LONG} бумаги -STR_QUANTITY_GOLD :{COMMA} меш{P ок ка ков} золота +STR_QUANTITY_GOLD :{COMMA}{NBSP}меш{P ок ка ков} золота STR_QUANTITY_WATER :{VOLUME_LONG} воды STR_QUANTITY_WHEAT :{WEIGHT_LONG} пшеницы STR_QUANTITY_RUBBER :{VOLUME_LONG} каучука STR_QUANTITY_SUGAR :{WEIGHT_LONG} сахара -STR_QUANTITY_TOYS :{COMMA} игруш{P ка ки ек} -STR_QUANTITY_SWEETS :{COMMA} короб{P ка ки ок} конфет +STR_QUANTITY_TOYS :{COMMA}{NBSP}игруш{P ка ки ек} +STR_QUANTITY_SWEETS :{COMMA}{NBSP}короб{P ка ки ок} конфет STR_QUANTITY_COLA :{VOLUME_LONG} колы STR_QUANTITY_CANDYFLOSS :{WEIGHT_LONG} сахарной ваты STR_QUANTITY_BUBBLES :{COMMA} пузыр{P ёк ька ьков} @@ -291,12 +291,12 @@ STR_ABBREV_NONE :{TINY_FONT}НЕ STR_ABBREV_ALL :{TINY_FONT}Все # 'Mode' of transport for cargoes -STR_PASSENGERS :{COMMA} пассажир{P "" а ов} -STR_BAGS :{COMMA} меш{P ок ка ков} -STR_TONS :{COMMA} тонн{P а ы ""} -STR_LITERS :{COMMA} литр{P "" а ов} -STR_ITEMS :{COMMA} штук{P а и ""} -STR_CRATES :{COMMA} ящик{P "" а ов} +STR_PASSENGERS :{COMMA}{NBSP}пассажир{P "" а ов} +STR_BAGS :{COMMA}{NBSP}меш{P ок ка ков} +STR_TONS :{COMMA}{NBSP}тонн{P а ы ""} +STR_LITERS :{COMMA}{NBSP}литр{P "" а ов} +STR_ITEMS :{COMMA}{NBSP}штук{P а и ""} +STR_CRATES :{COMMA}{NBSP}ящик{P "" а ов} # Colours, do not shuffle STR_COLOUR_DARK_BLUE :Тёмно-синий @@ -317,37 +317,37 @@ STR_COLOUR_GREY :Серый STR_COLOUR_WHITE :Белый # Units used in OpenTTD -STR_UNITS_VELOCITY_IMPERIAL :{COMMA} мил{P я и ь}/ч -STR_UNITS_VELOCITY_METRIC :{COMMA} км/ч -STR_UNITS_VELOCITY_SI :{COMMA} м/с +STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}мил{P я и ь}/ч +STR_UNITS_VELOCITY_METRIC :{COMMA}{NBSP}км/ч +STR_UNITS_VELOCITY_SI :{COMMA}{NBSP}м/с -STR_UNITS_POWER_IMPERIAL :{COMMA} лс -STR_UNITS_POWER_METRIC :{COMMA} лс -STR_UNITS_POWER_SI :{COMMA} кВт +STR_UNITS_POWER_IMPERIAL :{COMMA}{NBSP}лс +STR_UNITS_POWER_METRIC :{COMMA}{NBSP}лс +STR_UNITS_POWER_SI :{COMMA}{NBSP}кВт -STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA} т -STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA} т -STR_UNITS_WEIGHT_SHORT_SI :{COMMA} кг +STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}{NBSP}т +STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}{NBSP}т +STR_UNITS_WEIGHT_SHORT_SI :{COMMA}{NBSP}кг -STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA} тонн{P а ы ""} -STR_UNITS_WEIGHT_LONG_METRIC :{COMMA} тонн{P а ы ""} -STR_UNITS_WEIGHT_LONG_SI :{COMMA} кг +STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA}{NBSP}тонн{P а ы ""} +STR_UNITS_WEIGHT_LONG_METRIC :{COMMA}{NBSP}тонн{P а ы ""} +STR_UNITS_WEIGHT_LONG_SI :{COMMA}{NBSP}кг -STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA} гал. -STR_UNITS_VOLUME_SHORT_METRIC :{COMMA} л -STR_UNITS_VOLUME_SHORT_SI :{COMMA} м³ +STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}{NBSP}гал. +STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}{NBSP}л +STR_UNITS_VOLUME_SHORT_SI :{COMMA}{NBSP}м³ -STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA} галлон{P "" а ов} -STR_UNITS_VOLUME_LONG_METRIC :{COMMA} литр{P "" а ов} -STR_UNITS_VOLUME_LONG_SI :{COMMA} м³ +STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA}{NBSP}галлон{P "" а ов} +STR_UNITS_VOLUME_LONG_METRIC :{COMMA}{NBSP}литр{P "" а ов} +STR_UNITS_VOLUME_LONG_SI :{COMMA}{NBSP}м³ -STR_UNITS_FORCE_IMPERIAL :{COMMA} фунт{P "" а ов}-силы -STR_UNITS_FORCE_METRIC :{COMMA} кгс -STR_UNITS_FORCE_SI :{COMMA} кН +STR_UNITS_FORCE_IMPERIAL :{COMMA}{NBSP}фунт{P "" а ов}-силы +STR_UNITS_FORCE_METRIC :{COMMA}{NBSP}кгс +STR_UNITS_FORCE_SI :{COMMA}{NBSP}кН -STR_UNITS_HEIGHT_IMPERIAL :{COMMA} фут{P "" а ов} -STR_UNITS_HEIGHT_METRIC :{COMMA} м -STR_UNITS_HEIGHT_SI :{COMMA} м +STR_UNITS_HEIGHT_IMPERIAL :{COMMA}{NBSP}фут{P "" а ов} +STR_UNITS_HEIGHT_METRIC :{COMMA}{NBSP}м +STR_UNITS_HEIGHT_SI :{COMMA}{NBSP}м # Common window strings STR_LIST_FILTER_TITLE :{BLACK}Фильтр: @@ -374,6 +374,17 @@ STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Прок STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Прокрутка влево/вправо STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Полная очистка прямоугольного участка земли. Ctrl - выбор области по диагонали. При нажатом Shift - оценка стоимости очистки. +# Show engines button +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}Показать скрытые +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK}Показать скрытые +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}Показать скрытые +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}Показать скрытые + +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}Если эта кнопка нажата, скрытые модели локомотивов и вагонов также будут показаны +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE_TOOLTIP :{BLACK}Если эта кнопка нажата, скрытые модели автомобилей также будут показаны +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}Если эта кнопка нажата, скрытые модели кораблей также будут показаны +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Если эта кнопка нажата, скрытые модели воздушных судов также будут показаны + # Query window STR_BUTTON_DEFAULT :{BLACK}По умолчанию STR_BUTTON_CANCEL :{BLACK}Отмена @@ -487,7 +498,7 @@ STR_SCENEDIT_FILE_MENU_QUIT :Выход ############ range for settings menu starts STR_SETTINGS_MENU_GAME_OPTIONS :Настройки игры -STR_SETTINGS_MENU_CONFIG_SETTINGS :Расширенные настройки +STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Настройки STR_SETTINGS_MENU_SCRIPT_SETTINGS :Настройки ИИ / скрипта STR_SETTINGS_MENU_NEWGRF_SETTINGS :Настройки NewGRF STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Настройки прозрачности @@ -596,7 +607,7 @@ STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Переклю STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Подкрашивать блоки, требующие перерисовки ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window STR_ORDINAL_NUMBER_1ST :1-е STR_ORDINAL_NUMBER_2ND :2-е STR_ORDINAL_NUMBER_3RD :3-е @@ -612,22 +623,40 @@ STR_ORDINAL_NUMBER_12TH :12-е STR_ORDINAL_NUMBER_13TH :13-е STR_ORDINAL_NUMBER_14TH :14-е STR_ORDINAL_NUMBER_15TH :15-е -STR_ORDINAL_NUMBER_16TH :16-е -STR_ORDINAL_NUMBER_17TH :17-е -STR_ORDINAL_NUMBER_18TH :18-е -STR_ORDINAL_NUMBER_19TH :19-е -STR_ORDINAL_NUMBER_20TH :20-е -STR_ORDINAL_NUMBER_21ST :21-е -STR_ORDINAL_NUMBER_22ND :22-е -STR_ORDINAL_NUMBER_23RD :23-е -STR_ORDINAL_NUMBER_24TH :24-е -STR_ORDINAL_NUMBER_25TH :25-е -STR_ORDINAL_NUMBER_26TH :26-е -STR_ORDINAL_NUMBER_27TH :27-е -STR_ORDINAL_NUMBER_28TH :28-е -STR_ORDINAL_NUMBER_29TH :29-е -STR_ORDINAL_NUMBER_30TH :30-е -STR_ORDINAL_NUMBER_31ST :31-е +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :1-е +STR_DAY_NUMBER_2ND :2-е +STR_DAY_NUMBER_3RD :3-е +STR_DAY_NUMBER_4TH :4-е +STR_DAY_NUMBER_5TH :5-е +STR_DAY_NUMBER_6TH :6-е +STR_DAY_NUMBER_7TH :7-е +STR_DAY_NUMBER_8TH :8-е +STR_DAY_NUMBER_9TH :9-е +STR_DAY_NUMBER_10TH :10-е +STR_DAY_NUMBER_11TH :11-е +STR_DAY_NUMBER_12TH :12-е +STR_DAY_NUMBER_13TH :13-е +STR_DAY_NUMBER_14TH :14-е +STR_DAY_NUMBER_15TH :15-е +STR_DAY_NUMBER_16TH :16-е +STR_DAY_NUMBER_17TH :17-е +STR_DAY_NUMBER_18TH :18-е +STR_DAY_NUMBER_19TH :19-е +STR_DAY_NUMBER_20TH :20-е +STR_DAY_NUMBER_21ST :21-е +STR_DAY_NUMBER_22ND :22-е +STR_DAY_NUMBER_23RD :23-е +STR_DAY_NUMBER_24TH :24-е +STR_DAY_NUMBER_25TH :25-е +STR_DAY_NUMBER_26TH :26-е +STR_DAY_NUMBER_27TH :27-е +STR_DAY_NUMBER_28TH :28-е +STR_DAY_NUMBER_29TH :29-е +STR_DAY_NUMBER_30TH :30-е +STR_DAY_NUMBER_31ST :31-е ############ range for days ends ############ range for months starts @@ -955,13 +984,12 @@ STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}ТС «{ STR_NEWS_SHIP_IS_WAITING :{WHITE}ТС «{VEHICLE}» ждёт в доке STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}ТС «{VEHICLE}» ждёт в ангаре -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE +# Order review system / warnings STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}У ТС «{VEHICLE}» мало заданий STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}У ТС «{VEHICLE}» недействительное задание STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}У ТС «{VEHICLE}» повторяющиеся задания STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}У ТС «{VEHICLE}» некорректный пункт назначения -# end of order system +STR_NEWS_PLANE_USES_TOO_SHORT_RUNWAY :{WHITE}{VEHICLE} направлен{G 0 "" а о ы} в аэропорт со слишком короткой полосой STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}ТС «{VEHICLE}» устарело STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}ТС «{VEHICLE}» сильно устарело @@ -1044,14 +1072,10 @@ STR_GAME_OPTIONS_CURRENCY_GEL :Грузинс STR_GAME_OPTIONS_CURRENCY_IRR :Иранский риал (IRR) ############ end of currency region - -############ start of measuring units region -############ end of measuring units region - STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Направление движения STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}По какой стороне дороги ездит автотранспорт -STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :Левостороннее -STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_RIGHT :Правостороннее +STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :левостороннее +STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_RIGHT :правостороннее STR_GAME_OPTIONS_TOWN_NAMES_FRAME :{BLACK}Названия городов STR_GAME_OPTIONS_TOWN_NAMES_DROPDOWN_TOOLTIP :{BLACK}На каком языке будут названы населённые пункты @@ -1083,11 +1107,13 @@ STR_GAME_OPTIONS_TOWN_NAME_CATALAN :Каталан STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Автосохранение STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Интервал автосохранения игры +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Отключено STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :Каждый месяц STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :Каждые 3 месяца STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :Каждые 6 месяцев STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :Каждый год +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}Язык STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Язык пользовательского интерфейса @@ -1099,8 +1125,12 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}Разр STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Выбор разрешения экрана STR_GAME_OPTIONS_RESOLUTION_OTHER :Другое -STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}Формат снимков экрана -STR_GAME_OPTIONS_SCREENSHOT_FORMAT_TOOLTIP :{BLACK}Формат, в котором будут сохраняться снимки экрана +STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Размер элементов интерфейса +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Выберите размер элементов интерфейса + +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Обычный +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Удвоенный +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Учетверённый STR_GAME_OPTIONS_BASE_GRF :{BLACK}Базовый набор графики STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Выбрать базовый набор графики @@ -1117,6 +1147,7 @@ STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Выбе STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} повреждённы{P й х х} файл{P 0 "" а ов} STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Дополнительная информация о наборе базовой музыки +STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Не удалось получить список поддерживаемых разрешений экрана STR_ERROR_FULLSCREEN_FAILED :{WHITE}Сбой полноэкранного режима # Custom currency window @@ -1186,28 +1217,29 @@ STR_RIVERS_FEW :Малое STR_RIVERS_MODERATE :Среднее STR_RIVERS_LOT :Большое -STR_DISASTER_NONE :Выключено -STR_DISASTER_REDUCED :Умеренная -STR_DISASTER_NORMAL :Обычная +STR_DISASTER_NONE :нет +STR_DISASTER_REDUCED :сниженная +STR_DISASTER_NORMAL :обычная STR_SUBSIDY_X1_5 :x1.5 STR_SUBSIDY_X2 :x2 STR_SUBSIDY_X3 :x3 STR_SUBSIDY_X4 :x4 -STR_TERRAIN_TYPE_VERY_FLAT :Очень плоский -STR_TERRAIN_TYPE_FLAT :Плоский +STR_TERRAIN_TYPE_VERY_FLAT :Плоский +STR_TERRAIN_TYPE_FLAT :Равнинный STR_TERRAIN_TYPE_HILLY :Холмистый -STR_TERRAIN_TYPE_MOUNTAINOUS :Гористый +STR_TERRAIN_TYPE_MOUNTAINOUS :Преимущественно горный +STR_TERRAIN_TYPE_ALPINIST :Исключительно горный -STR_CITY_APPROVAL_PERMISSIVE :Дозволяющее -STR_CITY_APPROVAL_TOLERANT :Терпимое -STR_CITY_APPROVAL_HOSTILE :Враждебное +STR_CITY_APPROVAL_PERMISSIVE :дозволяющее +STR_CITY_APPROVAL_TOLERANT :терпимое +STR_CITY_APPROVAL_HOSTILE :отрицательное STR_WARNING_NO_SUITABLE_AI :{WHITE}Модули ИИ отсутствуют.{}Их можно скачать через систему проверки онлайн-контента. -# Advanced settings window -STR_CONFIG_SETTING_CAPTION :{WHITE}Расширенные настройки +# Settings tree window +STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Настройки STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Фильтр: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Развернуть всё STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Свернуть всё @@ -1222,10 +1254,10 @@ STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :Настрой STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK}Категория: STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}Тип: -STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Отображать в списке только изменённые настройки -STR_CONFIG_SETTING_RESTRICT_BASIC :Основные настройки -STR_CONFIG_SETTING_RESTRICT_ADVANCED :Расширенные настройки -STR_CONFIG_SETTING_RESTRICT_ALL :Специальные настройки / все настройки +STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Отображать в списке только настройки, соответствующие выбранной категории +STR_CONFIG_SETTING_RESTRICT_BASIC :Основные настройки (только самые важные) +STR_CONFIG_SETTING_RESTRICT_ADVANCED :Расширенные настройки (практически все) +STR_CONFIG_SETTING_RESTRICT_ALL :Специальные настройки (все, включая самые непонятные) STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :Настройки со значениями, отличающимися от значений по умолчанию STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :Настройки со значениями, отличающимися от настроек новой игры @@ -1267,8 +1299,8 @@ STR_CONFIG_SETTING_RUNNING_COSTS :Эксплуа STR_CONFIG_SETTING_RUNNING_COSTS_HELPTEXT :Установите уровень стоимости обслуживания и эксплуатации транспорта и инфраструктуры STR_CONFIG_SETTING_CONSTRUCTION_SPEED :Скорость строительства: {STRING} STR_CONFIG_SETTING_CONSTRUCTION_SPEED_HELPTEXT :Ограничьте количество строительных мероприятий для ИИ -STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS :Поломки транспорта: {STRING} -STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS_HELPTEXT :Задайте частоту поломок недостаточно качественно обслуженного транспорта +STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS :Вероятность поломки транспорта: {STRING} +STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS_HELPTEXT :Частота поломок недостаточно качественно обслуживаемого транспорта STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER :Множитель субсидий: {STRING} STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER_HELPTEXT :Установите множитель оплаты за субсидируемые перевозки STR_CONFIG_SETTING_CONSTRUCTION_COSTS :Затраты на строительство: {STRING} @@ -1282,8 +1314,9 @@ STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Включен STR_CONFIG_SETTING_CITY_APPROVAL :Отношение городского совета к реструктуризации окрестностей: {STRING} STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Выберите уровень влияния шума и загрязнения окружающей среды компаниями на их рейтинг в городах и возможность дальнейшего строительства около городов -STR_CONFIG_SETTING_BUILDONSLOPES :Разрешить строительство на склонах и берегах: {STRING} -STR_CONFIG_SETTING_BUILDONSLOPES_HELPTEXT :При включении пути и станции можно строить на склонах с использованием насыпей. При отключении пути можно строить только на склонах, ориентация которых совпадает с направлением дороги. +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :Максимальная высота: {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :Установка максимально допустимой высоты гор на карте +STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}Невозможно изменить максимальную высоту. На карте есть горы выше этого значения. STR_CONFIG_SETTING_AUTOSLOPE :Разрешить изм. ландшафта под зданиями, дорогами и т. д. (автоспуски): {STRING} STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Разрешить изменение ландшафта под домами и дорогами, не требуя их сноса STR_CONFIG_SETTING_CATCHMENT :Зона покрытия зависит от типа станции: {STRING} @@ -1308,16 +1341,12 @@ STR_CONFIG_SETTING_FORBID_90_DEG :Запрети STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Поворот на 90° происходит, когда к горизонтальному участку рельсов примыкает вертикальный. В остальных случаях поезда поворачивают на 45°. Запрет поворота на 90° относится также и к кораблям. STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Разрешить объединение не примыкающих друг к другу станций: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Разрешить объединять несколько станций в одну, даже если они не примыкают друг к другу. Требуется нажать Ctrl+щелчок при расширении станции. -STR_CONFIG_SETTING_IMPROVEDLOAD :Использовать улучшенный алгоритм загрузки: {STRING} -STR_CONFIG_SETTING_IMPROVEDLOAD_HELPTEXT :При включении транспортные средства загружаются последовательно одно за другим. Только тот груз, который не поместится на первый транспорт, будет погружен на следующий в очереди на станции. -STR_CONFIG_SETTING_GRADUAL_LOADING :Постепенная загрузка транспорта: {STRING} -STR_CONFIG_SETTING_GRADUAL_LOADING_HELPTEXT :Если включено - транспорт загружается постепенно; время погрузки зависит от типа транспорта.{}Если отключено - весь доступный груз перемещается на транспорт; время погрузки зависит от количества груза. STR_CONFIG_SETTING_INFLATION :Включить инфляцию: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :Включить инфляцию, при которой затраты растут немного быстрее, чем доходы -STR_CONFIG_SETTING_SELECTGOODS :Поставлять груз на станцию, только если на него был спрос: {STRING} -STR_CONFIG_SETTING_SELECTGOODS_HELPTEXT :Доставлять на станцию только тот груз, за которым хоть раз пришёл транспорт. Это позволяет избежать плохих рейтингов доставки для грузов, перевозка которых не осуществляется. STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Максимальная длина моста: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Ограничение на длину строящихся мостов +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :Максимальная высота мостов: {STRING} +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :Максимальная допустимая высота мостов STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Максимальная длина туннеля: {STRING} STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :Ограничение на длину строящихся туннелей STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Способ создания сырьевых предприятий: {STRING} @@ -1343,8 +1372,6 @@ STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Укажите, STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :в начале STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :в середине STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :в конце -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING :Автотранспорт строится в очередь у станции: {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING_HELPTEXT :Если остановка или грузовой терминал заняты, то автотранспорт будет ждать своей очереди у въезда на станцию. STR_CONFIG_SETTING_AUTOSCROLL :Смещать обзор, когда курсор находится у края экрана: {STRING} STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Включает смещение обзора при приближении указателя мыши к краю экрана STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :нет @@ -1375,10 +1402,6 @@ STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Позволя STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Разрешить компаниям строить сквозные остановки на муниципальных дорогах STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Разрешить проезд через остановки соперников по их дорогам: {STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Разрешить компаниям строить сквозные остановки на дорогах, принадлежащих другим транспортным компаниям -STR_CONFIG_SETTING_ADJACENT_STATIONS :Разрешить строительство смежных станций: {STRING} -STR_CONFIG_SETTING_ADJACENT_STATIONS_HELPTEXT :Разрешить размещение различных станций на соседних клетках -STR_CONFIG_SETTING_DYNAMIC_ENGINES :Включить поддержку нескольких наборов NewGRF с транспортом: {STRING} -STR_CONFIG_SETTING_DYNAMIC_ENGINES_HELPTEXT :Эта настройка требуется для совместимости со старыми модулями NewGRF. Не отключайте её без необходимости. STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Изменение этого параметра невозможно, если в игре есть транспортные средства. STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Обслуживание инфраструктуры: {STRING} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Включает затраты на содержание инфраструктуры. Стоимость непропорционально увеличивается с ростом транспортной сети, оказывая, таким образом, большее влияние на крупные компании, чем на малые. @@ -1409,35 +1432,49 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :Длитель STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Длительность показа красных окон с сообщениями об ошибках. Эта настройка не действует на некоторые сообщения (о критических ошибках) - они не закрываются автоматически, только вручную. STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{COMMA} секунд{P а ы ""} STR_CONFIG_SETTING_HOVER_DELAY :Показывать подсказки: {STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Задержка между наведением указателя мыши на элемент интерфейса и появлением подсказки. Можно привязать появление подсказки к щелчку правой кнопкой мыши. -STR_CONFIG_SETTING_HOVER_DELAY_VALUE :при наведении указателя на {COMMA} секунд{P у ы ""} +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Задержка между наведением указателя мыши на элемент интерфейса и появлением подсказки. Если это значение равно 0, подсказки появляются по щелчку правой кнопки мыши. +STR_CONFIG_SETTING_HOVER_DELAY_VALUE :при наведении указателя на {COMMA} миллисекунд{P у ы ""} STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :щелчком правой кнопкой мыши STR_CONFIG_SETTING_POPULATION_IN_LABEL :Показывать количество жителей в названии города: {STRING} STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Показывать количество жителей городов в названиях STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Толщина линий графиков: {STRING} STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Толщина линий графиков. Тонкие линии более точны; толстые линии лучше видны и их цвета лучше различимы. +STR_CONFIG_SETTING_LANDSCAPE :Тип карты: {STRING} +STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Выбор типа карты определяет основу игрового процесса, например, доступные типы транспорта и грузов, различные условия роста городов. Всё это также может быть изменено с помощью модулей NewGRF и игровых скриптов. STR_CONFIG_SETTING_LAND_GENERATOR :Генератор ландшафта: {STRING} +STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :Оригинальный генератор рассчитан на базовый графический набор и создаёт ландшафт из типовых элементов.{}TerraGenesis использует для создания ландшафта шум Перлина и более тонко настраивается. STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Оригинальный STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis +STR_CONFIG_SETTING_TERRAIN_TYPE :Тип ландшафта: {STRING} +STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(Только для TerraGenesis){}Холмистость ландшафта +STR_CONFIG_SETTING_INDUSTRY_DENSITY :Количество предприятий: {STRING} +STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Выберите, сколько предприятий создавать в начале и на каком уровне поддерживать их количество в процессе игры. STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Максимальное расстояние от края карты до нефтезаводов: {STRING} STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Нефтеперерабатывающие заводы всегда строятся у краёв карты или на берегах островов, находящихся недалеко от края STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Высота снеговой линии: {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Неровность земли (только для TerraGenesis): {STRING} +STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Укажите, на какой высоте в субарктическом климате устанавливается снеговой покров. Наличие снега влияет на расстановку предприятий и на условия роста городов. +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Грубость ландшафта: {STRING} +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(Только для TerraGenesis){}Выберите количество гор и холмов на карте. На гладком ландшафте холмов немного и они более пологие. На грубом - много гор, и ландшафт может показаться слишком однообразным. STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Очень гладкий STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Гладкий STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Грубый STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Очень грубый +STR_CONFIG_SETTING_VARIETY :Разнообразие ландшафта: {STRING} +STR_CONFIG_SETTING_VARIETY_HELPTEXT :(Только для TerraGenesis){}Определяет наличие на карте как горных, так и равнинных областей. Поскольку данная настройка влияет только на сглаживание карты, остальные настройки должны быть выставлены в горный ландшафт. +STR_CONFIG_SETTING_RIVER_AMOUNT :Количество рек: {STRING} +STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Выберите количество рек на карте STR_CONFIG_SETTING_TREE_PLACER :Алгоритм рассадки деревьев: {STRING} +STR_CONFIG_SETTING_TREE_PLACER_HELPTEXT :Выберите способ распределения деревьев на карте: «оригинальный» алгоритм высаживает их равномерно по всей карте; «улучшенный» - группами. STR_CONFIG_SETTING_TREE_PLACER_NONE :Нет STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :Оригинальный STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :Улучшенный +STR_CONFIG_SETTING_ROAD_SIDE :Движение автотранспорта: {STRING} +STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :Выберите сторону дороги, по которой движется автотранспорт STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Вращение карты высот: {STRING} STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Против часовой стрелки STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :По часовой стрелке STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :Уровень высоты для карт с плоским рельефом: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :Разрешить изменение ландшафта на краю карты: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES_HELPTEXT :При отключении края карты всегда будут водными STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}Одна или несколько клеток в северном углу не пусты STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}Одна или несколько клеток берега без воды @@ -1474,10 +1511,10 @@ STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER :Скорост STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER_HELPTEXT :Настройка скорости смещения обзора с помощью колеса прокрутки STR_CONFIG_SETTING_OSK_ACTIVATION :Экранная клавиатура: {STRING} STR_CONFIG_SETTING_OSK_ACTIVATION_HELPTEXT :Выберите способ открытия экранной клавиатуры для ввода текста с помощью указателя. Эта настройка предназначена для мобильных устройств, не имеющих клавиатуры. -STR_CONFIG_SETTING_OSK_ACTIVATION_DISABLED :Отключено -STR_CONFIG_SETTING_OSK_ACTIVATION_DOUBLE_CLICK :Двойной щелчок -STR_CONFIG_SETTING_OSK_ACTIVATION_SINGLE_CLICK_FOCUS :Одиночный щелчок (когда выделено) -STR_CONFIG_SETTING_OSK_ACTIVATION_SINGLE_CLICK :Одиночный щелчок (немедленно) +STR_CONFIG_SETTING_OSK_ACTIVATION_DISABLED :отключена +STR_CONFIG_SETTING_OSK_ACTIVATION_DOUBLE_CLICK :двойной щелчок +STR_CONFIG_SETTING_OSK_ACTIVATION_SINGLE_CLICK_FOCUS :одиночный щелчок (когда фокус в поле ввода) +STR_CONFIG_SETTING_OSK_ACTIVATION_SINGLE_CLICK :одиночный щелчок (немедленно) STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU :Эмуляция нажатия правой кнопки мыши: {STRING} STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_HELPTEXT :Выбор способа эмуляции нажатия правой кнопки мыши @@ -1488,17 +1525,15 @@ 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_AUTOSAVE :Автосохранения: {STRING} +STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Укажите интервал между автоматическими сохранениями + STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Использовать {STRING} формат даты для имён сохранений STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Формат даты, использующийся в названиях сохранённых игр STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :длинный (31-е дек 2008 г.) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :короткий (31.12.2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE :Если в NewGRF не указана палитра, использовать: {STRING} -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_HELPTEXT :Палитра по умолчанию для модулей NewGRF, в которых не указана требуемая палитра -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_DOS :Палитра по умолчанию (DOS) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_WIN :Устаревший формат палитры (Win) - STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Автопауза в начале игры: {STRING} STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :Включение паузы при старте новой игры, чтобы лучше изучить карту STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Во время паузы разрешить: {STRING} @@ -1507,7 +1542,7 @@ STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :ничего STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :все действия, кроме строительства STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :все действия, кроме изменения ландшафта STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_ACTIONS :все действия -STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Использовать расширенный список транспорта: {STRING} +STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Показывать группы в списке транспорта: {STRING} STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Включить расширенный список транспорта, позволяющий объединять транспортные средства в группы STR_CONFIG_SETTING_LOADING_INDICATORS :Показывать индикатор загрузки: {STRING} STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Отображение индикаторов загрузки над загружающимся и разгружающимся транспортом @@ -1539,7 +1574,7 @@ STR_CONFIG_SETTING_SOUND_CONFIRM :Строите STR_CONFIG_SETTING_SOUND_CONFIRM_HELPTEXT :Воспроизводить звуковые эффекты при строительстве и других действиях STR_CONFIG_SETTING_SOUND_CLICK :Нажатия кнопок: {STRING} STR_CONFIG_SETTING_SOUND_CLICK_HELPTEXT :Воспроизводить звук нажатий на кнопки -STR_CONFIG_SETTING_SOUND_DISASTER :Аварии/катастрофы: {STRING} +STR_CONFIG_SETTING_SOUND_DISASTER :Аварии и катастрофы: {STRING} STR_CONFIG_SETTING_SOUND_DISASTER_HELPTEXT :Воспроизводить звук аварий и катастроф STR_CONFIG_SETTING_SOUND_VEHICLE :Транспорт: {STRING} STR_CONFIG_SETTING_SOUND_VEHICLE_HELPTEXT :Воспроизводить звук, издаваемый транспортом @@ -1581,7 +1616,7 @@ STR_CONFIG_SETTING_SERVINT_ISPERCENT :Интерва STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Выберите, должно ли техническое обслуживание транспорта выполняться через определённые промежутки времени, либо при снижении надёжности транспортного средства на определённый процент от максимума STR_CONFIG_SETTING_SERVINT_TRAINS :Интервал обслуживания по умолчанию для поездов: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Настройка периодичности тех. обслуживания для новых поездов -STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA} д{P ень ня ней}/% +STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}д{P ень ня ней}/% STR_CONFIG_SETTING_SERVINT_DISABLED :отключен STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES :Интервал обслуживания по умолчанию для автотранспорта: {STRING} STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES_HELPTEXT :Настройка периодичности тех. обслуживания для новых автомобилей @@ -1616,7 +1651,7 @@ STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_OTHER :Изм. про STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_OTHER_HELPTEXT :Показывать новости об изменении производительности предприятий, обслуживаемых конкурентами STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_UNSERVED :Изм. производительности предпр., никем не обслуживаемых: {STRING} STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_UNSERVED_HELPTEXT :Показывать новости об изменении производительности никем не обслуживаемых предприятий -STR_CONFIG_SETTING_NEWS_ADVICE :Советы/сведения по транспорту компании: {STRING} +STR_CONFIG_SETTING_NEWS_ADVICE :Советы и сведения, касающиеся транспорта компании: {STRING} STR_CONFIG_SETTING_NEWS_ADVICE_HELPTEXT :Показывать сообщения о транспортных средствах, на которые следует обратить внимание STR_CONFIG_SETTING_NEWS_NEW_VEHICLES :Новый транспорт: {STRING} STR_CONFIG_SETTING_NEWS_NEW_VEHICLES_HELPTEXT :Показывать новости о новых моделях транспортных средств @@ -1627,9 +1662,9 @@ STR_CONFIG_SETTING_NEWS_SUBSIDIES_HELPTEXT :Показыв STR_CONFIG_SETTING_NEWS_GENERAL_INFORMATION :Общая информация: {STRING} STR_CONFIG_SETTING_NEWS_GENERAL_INFORMATION_HELPTEXT :Показывать общие новости, вроде покупки эксклюзивных транспортных прав или проведения реконструкции дорог -STR_CONFIG_SETTING_NEWS_MESSAGES_OFF :Выкл -STR_CONFIG_SETTING_NEWS_MESSAGES_SUMMARY :Кратко -STR_CONFIG_SETTING_NEWS_MESSAGES_FULL :Полно +STR_CONFIG_SETTING_NEWS_MESSAGES_OFF :отключено +STR_CONFIG_SETTING_NEWS_MESSAGES_SUMMARY :кратко +STR_CONFIG_SETTING_NEWS_MESSAGES_FULL :полностью STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Цветные газеты появляются в {STRING} году STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Обычно в газетах печатают чёрно-белые изображения, а начиная с указанного года - цветные @@ -1662,11 +1697,11 @@ STR_CONFIG_SETTING_CYCLE_SIGNAL_ALL :все STR_CONFIG_SETTING_TOWN_LAYOUT :Тип дорожной сети для новых городов: {STRING} STR_CONFIG_SETTING_TOWN_LAYOUT_HELPTEXT :Тип дорожной сети в новых городах -STR_CONFIG_SETTING_TOWN_LAYOUT_DEFAULT :старый алгоритм +STR_CONFIG_SETTING_TOWN_LAYOUT_DEFAULT :классический алгоритм STR_CONFIG_SETTING_TOWN_LAYOUT_BETTER_ROADS :улучшенный алгоритм STR_CONFIG_SETTING_TOWN_LAYOUT_2X2_GRID :решёткой 2x2 STR_CONFIG_SETTING_TOWN_LAYOUT_3X3_GRID :решёткой 3x3 -STR_CONFIG_SETTING_TOWN_LAYOUT_RANDOM :случайно +STR_CONFIG_SETTING_TOWN_LAYOUT_RANDOM :выбирается случайно STR_CONFIG_SETTING_ALLOW_TOWN_ROADS :Городам разрешено строить дороги: {STRING} STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT :Разрешить администрации городов расширять дорожную сеть. При отключенной настройке города самостоятельно расти не будут. STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :Города могут создавать ж/д переезды: {STRING} @@ -1674,7 +1709,7 @@ STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Разреши STR_CONFIG_SETTING_NOISE_LEVEL :Разрешить городам контролировать уровень шума аэропортов: {STRING} STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :При выключенной настройке количество аэропортов ограничено двумя на каждый город. При включенной - администрация города ограничивает только уровень допустимого шума (он зависит от количества жителей). Уровень шума, производимого аэропортом, зависит от его типа и расстояния от центра города. STR_CONFIG_SETTING_TOWN_FOUNDING :Строительство городов в игре: {STRING} -STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Разрешить игрокам создавать новые города +STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Включение данной настройки позволяет игрокам основывать новые города STR_CONFIG_SETTING_TOWN_FOUNDING_FORBIDDEN :запрещено STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED :разрешено STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED_CUSTOM_LAYOUT :разрешено с выбором сети дорог @@ -1720,12 +1755,10 @@ STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 из {COMMA} STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :нет STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Стартовый множитель размера мегаполисов: {STRING} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Средний размер мегаполисов по сравнению с остальными городами в начале игры -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :Удалять бесполезные элементы дорог во время реконструкции: {STRING} -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD_HELPTEXT :Удалять тупиковые элементы дорог при реконструкции -STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Обновлять граф распределения раз в {STRING} д{P 0:2 ень ня ней} +STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Обновлять граф распределения раз в {STRING}{NBSP}д{P 0:2 ень ня ней} STR_CONFIG_SETTING_LINKGRAPH_INTERVAL_HELPTEXT :Период перерасчёта графов распределения. В каждом цикле рассчитывается не граф полностью, а только один из его компонентов. Чем меньше это значение, тем больше будет нагрузка на процессор. Чем больше значение, тем больше времени пройдёт перед началом расчёта графов для новых маршрутов. -STR_CONFIG_SETTING_LINKGRAPH_TIME :Пересчитывать граф распределения раз в {STRING} д{P 0:2 ень ня ней} +STR_CONFIG_SETTING_LINKGRAPH_TIME :Пересчитывать граф распределения раз в {STRING}{NBSP}д{P 0:2 ень ня ней} STR_CONFIG_SETTING_LINKGRAPH_TIME_HELPTEXT :Время, отведённое для перерасчёта компонентов графа. Расчёт запускается отдельным потоком и продолжается в течение указанного количества игровых дней. Если значение будет слишком маленьким, то, возможно, расчёт не успеет завершиться, и игра будет ждать завершения (это приведёт к задержкам). При больших значениях графы распределения будут медленнее обновляться при изменениях маршрутов. STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :вручную STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :несимметричное @@ -1754,13 +1787,13 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_METRIC :метриче STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_SI :СИ (м/с) STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER :Система единиц для мощности: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_HELPTEXT :Показывать мощность двигателей транспортных средств в выбранной системе единиц +STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_HELPTEXT :Показывать значения мощности двигателей транспортных средств в выбранной системе единиц STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_IMPERIAL :английская (л. с.) STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_METRIC :метрическая (л. с.) STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_SI :СИ (кВт) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT :Система единиц для массы: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_HELPTEXT :Показывать величины массы в выбранной системе единиц +STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_HELPTEXT :Показывать значения массы в выбранной системе единиц STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_IMPERIAL :английская (малая тонна) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_METRIC :метрическая (т) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_SI :СИ (кг) @@ -1783,27 +1816,29 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :английс STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :метрическая (м) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :СИ (м) -STR_CONFIG_SETTING_GUI :{ORANGE}Интерфейс STR_CONFIG_SETTING_LOCALISATION :{ORANGE}Локализация -STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}Строительство -STR_CONFIG_SETTING_VEHICLES :{ORANGE}Транспорт -STR_CONFIG_SETTING_STATIONS :{ORANGE}Станции -STR_CONFIG_SETTING_ECONOMY :{ORANGE}Экономика -STR_CONFIG_SETTING_LINKGRAPH :{ORANGE}Распределение грузов -STR_CONFIG_SETTING_AI :{ORANGE}Конкуренты -STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}Настройки экрана -STR_CONFIG_SETTING_INTERACTION :{ORANGE}Взаимодействие +STR_CONFIG_SETTING_GRAPHICS :{ORANGE}Графика STR_CONFIG_SETTING_SOUND :{ORANGE}Звуковые эффекты -STR_CONFIG_SETTING_NEWS :{ORANGE}Новости и сообщения -STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}Сигналы -STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE}Перемещение грузов -STR_CONFIG_SETTING_AI_NPC :{ORANGE}Искусственный интеллект -STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE}Автообновление -STR_CONFIG_SETTING_VEHICLES_SERVICING :{ORANGE}Обслуживание +STR_CONFIG_SETTING_INTERFACE :{ORANGE}Интерфейс +STR_CONFIG_SETTING_INTERFACE_GENERAL :{ORANGE}Общие настройки +STR_CONFIG_SETTING_INTERFACE_VIEWPORTS :{ORANGE}Окна просмотра +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Строительство +STR_CONFIG_SETTING_ADVISORS :{ORANGE}Новости и информация +STR_CONFIG_SETTING_COMPANY :{ORANGE}Компания +STR_CONFIG_SETTING_ACCOUNTING :{ORANGE}Финансы +STR_CONFIG_SETTING_VEHICLES :{ORANGE}Транспорт +STR_CONFIG_SETTING_VEHICLES_PHYSICS :{ORANGE}Физическая модель STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Маршруты -STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}Поезда -STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}Города -STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}Предприятия +STR_CONFIG_SETTING_LIMITATIONS :{ORANGE}Ограничения +STR_CONFIG_SETTING_ACCIDENTS :{ORANGE}Аварии и катастрофы +STR_CONFIG_SETTING_GENWORLD :{ORANGE}Создание карты +STR_CONFIG_SETTING_ENVIRONMENT :{ORANGE}Окружающая среда +STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :{ORANGE}Городская администрация +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Города +STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}Предприятия +STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :{ORANGE}Распределение грузов +STR_CONFIG_SETTING_AI :{ORANGE}Конкуренты +STR_CONFIG_SETTING_AI_NPC :{ORANGE}Искусственный интеллект STR_CONFIG_SETTING_PATHFINDER_OPF :оригинальный STR_CONFIG_SETTING_PATHFINDER_NPF :NPF @@ -1852,7 +1887,7 @@ STR_INTRO_MULTIPLAYER :{BLACK}Сете STR_INTRO_GAME_OPTIONS :{BLACK}Настройки игры STR_INTRO_HIGHSCORE :{BLACK}Таблица рекордов -STR_INTRO_ADVANCED_SETTINGS :{BLACK}Расширенные настройки +STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Настройки STR_INTRO_NEWGRF_SETTINGS :{BLACK}Настройки NewGRF STR_INTRO_ONLINE_CONTENT :{BLACK}Проверить онлайн-контент STR_INTRO_SCRIPT_SETTINGS :{BLACK}Настройки ИИ / скрипта @@ -1872,7 +1907,7 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Выбр STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Открыть настройки игры STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Показать таблицу рекордов -STR_INTRO_TOOLTIP_ADVANCED_SETTINGS :{BLACK}Показать расширенные настройки +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Окно настроек STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Показать настройки NewGRF STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Найти новый и обновлённый контент для загрузки STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Изменить настройки ИИ / игрового скрипта @@ -1912,6 +1947,8 @@ STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Игр STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Волшебный динамит (снос ВСЕГО): {ORANGE}{STRING} STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}Туннели могут пересекаться: {ORANGE}{STRING} STR_CHEAT_NO_JETCRASH :{LTBLUE}Большие самолёты реже разбиваются в малых аэропортах: {ORANGE}{STRING} +STR_CHEAT_EDIT_MAX_HL :{LTBLUE}Изменить макс. высоту карты: {ORANGE}{NUM} +STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Изменить максимальную высоту гор на карте STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE :Умеренный ландшафт STR_CHEAT_SWITCH_CLIMATE_SUB_ARCTIC_LANDSCAPE :Субарктический ландшафт STR_CHEAT_SWITCH_CLIMATE_SUB_TROPICAL_LANDSCAPE :Субтропический ландшафт @@ -1960,6 +1997,7 @@ STR_LIVERY_FREIGHT_TRAM :Грузово STR_FACE_CAPTION :{WHITE}Внешний вид STR_FACE_CANCEL_TOOLTIP :{BLACK}Не менять внешность STR_FACE_OK_TOOLTIP :{BLACK}Применить новую внешность +STR_FACE_RANDOM :{BLACK}Случайное STR_FACE_MALE_BUTTON :{BLACK}Мужское STR_FACE_MALE_TOOLTIP :{BLACK}Выбор мужских лиц @@ -2080,13 +2118,13 @@ STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}Защи STR_NETWORK_START_SERVER_UNADVERTISED :Нет STR_NETWORK_START_SERVER_ADVERTISED :Да STR_NETWORK_START_SERVER_CLIENTS_SELECT :{BLACK}{NUM} клиент{P "" а ов} -STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Макс. клиентов: +STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Макс. количество клиентов: STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS_TOOLTIP :{BLACK}Выбор максимального числа клиентов. Не все места должны быть заняты STR_NETWORK_START_SERVER_COMPANIES_SELECT :{BLACK}{NUM} компани{P я и й} -STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}Макс. компаний: +STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}Макс. количество компаний: STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES_TOOLTIP :{BLACK}Ограничить максимальное количество компаний на сервере STR_NETWORK_START_SERVER_SPECTATORS_SELECT :{BLACK}{NUM} наблюдател{P ь я ей} -STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS :{BLACK}Макс. наблюдателей: +STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS :{BLACK}Макс. количество наблюдателей: STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS_TOOLTIP :{BLACK}Ограничить максимальное количество наблюдателей на сервере STR_NETWORK_START_SERVER_LANGUAGE_SPOKEN :{BLACK}Язык общения: STR_NETWORK_START_SERVER_LANGUAGE_TOOLTIP :{BLACK}Другие игроки будут знать, на каком языке общаются на сервере @@ -2445,7 +2483,7 @@ STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Стро STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Строительство депо (для приобретения и обслуживания поездов). При нажатом Shift - оценка стоимости строительства. STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Установка на рельсах точек пути. Нажатие Ctrl позволяет объединять точки. При нажатом Shift - оценка стоимости строительства. STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Строительство ж/д станций. Нажатие Ctrl позволяет объединять станции. При нажатом Shift - оценка стоимости строительства. -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Установка сигналов. Ctrl переключает семафоры/светофоры.{}Перетаскиваием можно строить сигналы на прямом участке пути. Ctrl строит сигналы до ближайшего пересечения.{}Ctrl+щелчок переключает открытие окна выбора сигналов. При нажатом Shift - оценка стоимости строительства. +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Установка сигналов. Ctrl переключает семафоры/светофоры.{}Перетаскиванием можно строить сигналы на прямом участке пути. С нажатым Ctrl - строительство сигналов до ближайшего пересечения или сигнала.{}Ctrl+щелчок переключает открытие окна выбора сигналов. При нажатом Shift - оценка стоимости строительства. STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Строительство ж/д мостов. При нажатом Shift - оценка стоимости строительства. STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Строительство ж/д туннелей. При нажатом Shift - оценка стоимости строительства. STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Переключение между строительством и удалением ж/д путей, сигналов, станций. При нажатом Ctrl убирает станции с рельсами. @@ -2829,7 +2867,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-2014 Команда разработчиков OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 Команда разработчиков OpenTTD # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Сохранить игру @@ -2838,7 +2876,7 @@ STR_SAVELOAD_SAVE_SCENARIO :{WHITE}Сохр STR_SAVELOAD_LOAD_SCENARIO :{WHITE}Загрузить сценарий STR_SAVELOAD_LOAD_HEIGHTMAP :{WHITE}Загрузить карту STR_SAVELOAD_SAVE_HEIGHTMAP :{WHITE}Сохранить карту высот -STR_SAVELOAD_HOME_BUTTON :{BLACK}Щёлкните, чтобы перейти к текущей папке загрузки/сохранения по умолчанию +STR_SAVELOAD_HOME_BUTTON :{BLACK}Переход в каталог загрузки и сохранения, установленный по умолчанию STR_SAVELOAD_BYTES_FREE :{BLACK}{BYTES} свободно STR_SAVELOAD_LIST_TOOLTIP :{BLACK}Список дисков, папок и сохранённых игр STR_SAVELOAD_EDITBOX_TOOLTIP :{BLACK}Выбранное название для сохранения игры @@ -2864,19 +2902,18 @@ STR_MAPGEN_BY :{BLACK}× STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Количество городов: STR_MAPGEN_DATE :{BLACK}Дата: STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Кол-во предпр.: +STR_MAPGEN_MAX_HEIGHTLEVEL :{BLACK}Макс. высота карты: +STR_MAPGEN_MAX_HEIGHTLEVEL_UP :{BLACK}Увеличить максимальную высоту гор на карте на 1 +STR_MAPGEN_MAX_HEIGHTLEVEL_DOWN :{BLACK}Уменьшить максимальную высоту гор на карте на 1 STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}Снеговая линия: STR_MAPGEN_SNOW_LINE_UP :{BLACK}Поднять снеговую линию STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}Опустить снеговую линию -STR_MAPGEN_RANDOM_SEED :{BLACK}Начальное число: -STR_MAPGEN_RANDOM_SEED_HELP :{BLACK}Ландшафт генерируется псевдослучайно, число - опорная точка в последовательности случайных чисел. -STR_MAPGEN_RANDOM :{BLACK}Случайное -STR_MAPGEN_RANDOM_HELP :{BLACK}Изменить случайный номер, используемый генератором ландшафта STR_MAPGEN_LAND_GENERATOR :{BLACK}Генератор ландшафта: STR_MAPGEN_TREE_PLACER :{BLACK}Генератор лесов: STR_MAPGEN_TERRAIN_TYPE :{BLACK}Тип ландшафта: STR_MAPGEN_QUANTITY_OF_SEA_LAKES :{BLACK}Количество морей и озёр: STR_MAPGEN_QUANTITY_OF_RIVERS :{BLACK}Количество рек: -STR_MAPGEN_SMOOTHNESS :{BLACK}Гладкость: +STR_MAPGEN_SMOOTHNESS :{BLACK}Грубость ландшафта: STR_MAPGEN_VARIETY :{BLACK}Разнообразие ландшафта: STR_MAPGEN_GENERATE :{WHITE}Создать @@ -2897,7 +2934,7 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Назв STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Размер: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} -STR_MAPGEN_RANDOM_SEED_OSKTITLE :{BLACK}Введите случайное число +STR_MAPGEN_MAX_HEIGHTLEVEL_QUERY_CAPT :{WHITE}Максимальная высота карты STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}Изменить высоту снеговой линии STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Изменить год начала игры @@ -2952,6 +2989,8 @@ STR_NEWGRF_SETTINGS_MOVEUP :{BLACK}Ввер STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP :{BLACK}Переместить выбранный файл NewGRF выше по списку STR_NEWGRF_SETTINGS_MOVEDOWN :{BLACK}Вниз STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP :{BLACK}Переместить выбранный файл NewGRF ниже по списку +STR_NEWGRF_SETTINGS_UPGRADE :{BLACK}Обновить +STR_NEWGRF_SETTINGS_UPGRADE_TOOLTIP :{BLACK}Обновить файлы модулей NewGRF, если есть такая возможность STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}Список используемых файлов NewGRF STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}Параметры @@ -2976,6 +3015,16 @@ STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Файл STR_NEWGRF_SETTINGS_DISABLED :{RED}Отключено STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Несовместимо с данной версией OpenTTD +# NewGRF save preset window +STR_SAVE_PRESET_CAPTION :{WHITE}Сохранение набора +STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK}Список доступных наборов. Выберите один из них, чтобы скопировать его название в строку имени. +STR_SAVE_PRESET_TITLE :{BLACK}Введите имя набора +STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}Текущее имя для сохранения набора +STR_SAVE_PRESET_CANCEL :{BLACK}Отмена +STR_SAVE_PRESET_CANCEL_TOOLTIP :{BLACK}Не делать никаких изменений +STR_SAVE_PRESET_SAVE :{BLACK}Сохранить +STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}Сохранить набор под выбранным именем + # NewGRF parameters window STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Изменить параметры NewGRF STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Закрыть @@ -2999,14 +3048,17 @@ STR_NEWGRF_INSPECT_QUERY_CAPTION :{WHITE}Пара # Sprite aligner window STR_SPRITE_ALIGNER_CAPTION :{WHITE}Выравнивание спрайта {COMMA} ({STRING}) STR_SPRITE_ALIGNER_NEXT_BUTTON :{BLACK}Следующий спрайт -STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Перейти к следующему нормальному спрайту, пропуская псевдоспрайты, а также изм.{NBSP}цвета/шрифтовые. +STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Перейти к следующему нормальному спрайту, пропуская изменяющие цвет, шрифтовые, псевдоспрайты. Переход из конца списка к первому спрайту. STR_SPRITE_ALIGNER_GOTO_BUTTON :{BLACK}Перейти к спрайту STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}Перейти к заданному спрайту. Если спрайт не нормальный, переход пройзойдет к следующему нормальному. STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Предыдущий спрайт -STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Перейти к предыдущему нормальному спрайту, пропуская псевдоспрайты, а также изм.{NBSP}цвета/шрифтовые. +STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Перейти к предыдущему нормальному спрайту, пропуская изменяющие цвет, шрифтовые, псевдоспрайты. Переход из начала списка к последнему спрайту. STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Представление выбранного спрайта. Выравнивание не учитывается при прорисовке этого спрайта. STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Двигайте спрайт, изменяя смещение по X и по Y -STR_SPRITE_ALIGNER_OFFSETS :{BLACK}Смещение по X: {NUM}, Смещение по Y: {NUM} +STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Сброс смещения +STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Сбросить значения относительного смещения +STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}Смещение X: {NUM}; смещение Y: {NUM} (абсолютное) +STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}Смещение X: {NUM}; смещение Y: {NUM} (относительное) STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Выбрать спрайт STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Выберите любой спрайт на экране @@ -3118,8 +3170,8 @@ STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} доставлено STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (недостаточно) STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (достаточно) -STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Город растёт раз в {ORANGE}{COMMA}{BLACK} д{P ень ня ней} -STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Город растёт раз в {ORANGE}{COMMA}{BLACK} д{P ень ня ней} (профинансировано) +STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Город растёт раз в {ORANGE}{COMMA}{BLACK}{NBSP}д{P ень ня ней} +STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Город растёт раз в {ORANGE}{COMMA}{BLACK}{NBSP}д{P ень ня ней} (профинансировано) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}Город {RED}не{BLACK} развивается STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Уровень шума в городе: {ORANGE}{COMMA}{BLACK} макс: {ORANGE}{COMMA} STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Показать город в основном окне. Ctrl+щелчок - показать в дополнительном окне. @@ -3179,7 +3231,7 @@ STR_GOAL_QUESTION_CAPTION_INFORMATION :Информа STR_GOAL_QUESTION_CAPTION_WARNING :Предупреждение STR_GOAL_QUESTION_CAPTION_ERROR :Ошибка -### Start of Goal Question button list +############ Start of Goal Question button list STR_GOAL_QUESTION_BUTTON_CANCEL :Отменить STR_GOAL_QUESTION_BUTTON_OK :Ok STR_GOAL_QUESTION_BUTTON_NO :Нет @@ -3198,6 +3250,7 @@ STR_GOAL_QUESTION_BUTTON_RESTART :Перезап STR_GOAL_QUESTION_BUTTON_POSTPONE :Отсрочить STR_GOAL_QUESTION_BUTTON_SURRENDER :Сдаться STR_GOAL_QUESTION_BUTTON_CLOSE :Закрыть +############ End of Goal Question button list # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}Субсидии @@ -3233,7 +3286,6 @@ STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}На с # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} -STR_STATION_VIEW_WAITING_TITLE :{BLACK}Ожидает: {WHITE}{STRING} STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} транзитом из {STATION}) STR_STATION_VIEW_RESERVED :{YELLOW}({CARGO_SHORT} зарезервировано для погрузки) @@ -3328,7 +3380,7 @@ STR_FINANCES_POSITIVE_INCOME :{BLACK}+{CURREN STR_FINANCES_TOTAL_CAPTION :{WHITE}ИТОГО: STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}Баланс: STR_FINANCES_LOAN_TITLE :{WHITE}Заём -STR_FINANCES_MAX_LOAN :{WHITE}Максимальный заём: {BLACK}{CURRENCY_LONG} +STR_FINANCES_MAX_LOAN :{WHITE}Макс. сумма займа: {BLACK}{CURRENCY_LONG} STR_FINANCES_TOTAL_CURRENCY :{BLACK}{CURRENCY_LONG} STR_FINANCES_BORROW_BUTTON :{BLACK}Занять {CURRENCY_LONG} STR_FINANCES_BORROW_TOOLTIP :{BLACK}Взять деньги взаймы. Ctrl+щелчок - увеличить заём до максимума. @@ -3523,10 +3575,10 @@ STR_PURCHASE_INFO_ALL_BUT :Всё, кро STR_PURCHASE_INFO_MAX_TE :{BLACK}Макс. тяговое усилие: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Дальность: {GOLD}{COMMA} клет{P ка ки ок} -STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Список локомотивов и вагонов - щёлкните для получения информации -STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Список автотранспорта - щёлкните для получения информации -STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Список кораблей - щёлкните для получения информации -STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Список воздушных судов - щёлкните для получения информации +STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Список локомотивов и вагонов - щёлкните для получения информации. Ctrl+щелчок скроет/покажет ТС. +STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Список автотранспорта - щёлкните для получения информации. Ctrl+щелчок скроет/покажет выбранный автомобиль. +STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Список кораблей - щёлкните для получения информации. Ctrl+щелчок скроет/покажет выбранный корабль. +STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Список воздушных судов - щёлкните для получения информации. Ctrl+щелчок скроет/покажет ТС. STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}Купить STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Купить @@ -3548,6 +3600,21 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Изме STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Изменить название модели корабля STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Изменить название модели возд. судна +STR_BUY_VEHICLE_TRAIN_HIDE_TOGGLE_BUTTON :{BLACK}Скрыть +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_TOGGLE_BUTTON :{BLACK}Скрыть +STR_BUY_VEHICLE_SHIP_HIDE_TOGGLE_BUTTON :{BLACK}Скрыть +STR_BUY_VEHICLE_AIRCRAFT_HIDE_TOGGLE_BUTTON :{BLACK}Скрыть + +STR_BUY_VEHICLE_TRAIN_SHOW_TOGGLE_BUTTON :{BLACK}Показать +STR_BUY_VEHICLE_ROAD_VEHICLE_SHOW_TOGGLE_BUTTON :{BLACK}Показать +STR_BUY_VEHICLE_SHIP_SHOW_TOGGLE_BUTTON :{BLACK}Показать +STR_BUY_VEHICLE_AIRCRAFT_SHOW_TOGGLE_BUTTON :{BLACK}Показать + +STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Переключить скрытие/отображение выбранного локомотива/вагона +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Переключить скрытие/отображение выбранной модели автомобиля +STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Переключить скрытие/отображение выбранной модели корабля +STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Переключить скрытие/отображение выбранной модели воздушного судна + STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}Название модели поезда STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}Название модели автомобиля STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}Название модели корабля @@ -3662,6 +3729,11 @@ STR_REPLACE_VEHICLE_SHIP.gen :корабле STR_REPLACE_VEHICLE_AIRCRAFT :Авиатранспорт STR_REPLACE_VEHICLE_AIRCRAFT.gen :воздушного транспорта +STR_REPLACE_VEHICLE_VEHICLES_IN_USE :{YELLOW}Имеющиеся ТС +STR_REPLACE_VEHICLE_VEHICLES_IN_USE_TOOLTIP :{BLACK}Здесь перечислены модели используемых транспортных средств +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES :{YELLOW}Доступные ТС +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES_TOOLTIP :{BLACK}Здесь перечислены модели транспортных средств, доступные для замены + STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Выбор типа транспорта для замены STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Выбор типа транспорта, на который следует заменить @@ -3786,7 +3858,7 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Ёмко STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Выручка перевозки: {LTBLUE}{CURRENCY_LONG} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Осмотр каждые {LTBLUE}{COMMA} дней{BLACK} Последний раз: {LTBLUE}{DATE_LONG} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Осмотр каждые {LTBLUE}{COMMA}{NBSP}дней{BLACK} Последний раз: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Осмотр каждые {LTBLUE}{COMMA}%{BLACK} Последний раз: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Увеличить интервал обслуживания на 10. Ctrl+щелчок увеличивает интервал обслуживания на 5. STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Уменьшить интервал обслуживания на 10. Ctrl+щелчок уменьшает интервал обслуживания на 5. @@ -4012,14 +4084,18 @@ STR_TIMETABLE_TOOLTIP :{BLACK}Граф STR_TIMETABLE_NO_TRAVEL :Нет назначения STR_TIMETABLE_NOT_TIMETABLEABLE :В пути (время учтено в ближайшем не автоматическом задании) -STR_TIMETABLE_TRAVEL_NOT_TIMETABLED :В пути (время не задано) -STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :В пути со скоростью не более {2:VELOCITY} (время не задано) +STR_TIMETABLE_TRAVEL_NOT_TIMETABLED :В пути (график не составлен) +STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Идти со скоростью не более {2:VELOCITY} (график не составлен) STR_TIMETABLE_TRAVEL_FOR :В пути {STRING} -STR_TIMETABLE_TRAVEL_FOR_SPEED :В пути {STRING} со скоростью не более {VELOCITY} +STR_TIMETABLE_TRAVEL_FOR_SPEED :Идти {STRING} со скоростью не более {VELOCITY} +STR_TIMETABLE_TRAVEL_FOR_ESTIMATED :В пути примерно {STRING} (график не составлен) +STR_TIMETABLE_TRAVEL_FOR_SPEED_ESTIMATED :Идти примерно {STRING} со скоростью не более {VELOCITY} (график не составлен) +STR_TIMETABLE_STAY_FOR_ESTIMATED :(ждать {STRING}, график не составлен) +STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(в пути {STRING}, график не составлен) STR_TIMETABLE_STAY_FOR :и ждать {STRING} STR_TIMETABLE_AND_TRAVEL_FOR :и идти в {STRING} -STR_TIMETABLE_DAYS :{COMMA} д{P ень ня ней} -STR_TIMETABLE_TICKS :{COMMA} тик{P "" а ов} +STR_TIMETABLE_DAYS :{COMMA}{NBSP}д{P ень ня ней} +STR_TIMETABLE_TICKS :{COMMA}{NBSP}тик{P "" а ов} STR_TIMETABLE_TOTAL_TIME :{BLACK}Весь маршрут займёт {STRING} STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}Движение по маршруту займёт {STRING} (не всё учтено) @@ -4257,6 +4333,7 @@ STR_ERROR_EXCAVATION_WOULD_DAMAGE :{WHITE}Земл STR_ERROR_ALREADY_AT_SEA_LEVEL :{WHITE}Уже на уровне моря STR_ERROR_TOO_HIGH :{WHITE}Слишком высоко STR_ERROR_ALREADY_LEVELLED :{WHITE}... уже ровно +STR_ERROR_BRIDGE_TOO_HIGH_AFTER_LOWER_LAND :{WHITE}После этого высота моста будет недопустимо большой. # Company related errors STR_ERROR_CAN_T_CHANGE_COMPANY_NAME :{WHITE}Невозможно изменить название компании... @@ -4283,7 +4360,7 @@ STR_ERROR_TOO_CLOSE_TO_EDGE_OF_MAP_SUB :{WHITE}... сл STR_ERROR_TOO_CLOSE_TO_ANOTHER_TOWN :{WHITE}... слишком близко к другому городу STR_ERROR_TOO_MANY_TOWNS :{WHITE}... слишком много городов STR_ERROR_NO_SPACE_FOR_TOWN :{WHITE}... нет места на карте -STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}Города не будут строить дороги. Вы можете включить строительство дорог в Расш. настройки->Экономика->Города +STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}Города не будут строить дороги сами. Вы можете включить строительство дорог в разделе «Настройки -> Окр.{NBSP}среда -> Города». STR_ERROR_ROAD_WORKS_IN_PROGRESS :{WHITE}Идут дорожные работы... STR_ERROR_TOWN_CAN_T_DELETE :{WHITE}Невозможно уничтожить город:{}к нему относится станция или депо, либо невозможно очистить одну из занимаемых им клеток. STR_ERROR_STATUE_NO_SUITABLE_PLACE :{WHITE}...в центре города нет места для статуи @@ -4307,6 +4384,9 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... ле STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... можно строить только выше снеговой линии STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... можно строить только ниже снеговой линии +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}Нет подходящего места для {STRING.gen} +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Измените настройки создания карты для получения более подходящей карты + # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Здесь невозможно построить станцию... STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}Здесь невозможно построить остановку... @@ -4443,6 +4523,7 @@ STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Снач STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}Не может начинаться и заканчиваться в той же точке STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}Опоры моста должны быть на одном уровне STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}Слишком низкий мост +STR_ERROR_BRIDGE_TOO_HIGH_FOR_TERRAIN :{WHITE}Мосты такой высоты строить нельзя. STR_ERROR_START_AND_END_MUST_BE_IN :{WHITE}Начало и конец должны быть на одной линии STR_ERROR_ENDS_OF_BRIDGE_MUST_BOTH :{WHITE}... оба конца моста должны опираться на землю STR_ERROR_BRIDGE_TOO_LONG :{WHITE}... мост слишком длинный @@ -5044,6 +5125,7 @@ STR_COMPANY_NAME :{COMPANY} STR_COMPANY_NAME_COMPANY_NUM :{COMPANY} {COMPANY_NUM} STR_DEPOT_NAME :{DEPOT} STR_ENGINE_NAME :{ENGINE} +STR_HIDDEN_ENGINE_NAME :{ENGINE} (скрыт) STR_GROUP_NAME :{GROUP} STR_INDUSTRY_NAME :{INDUSTRY} STR_PRESIDENT_NAME :{PRESIDENT_NAME} @@ -5079,8 +5161,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -5091,9 +5171,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/serbian.txt b/src/lang/serbian.txt index 76c33c9654..95a47a4e38 100644 --- a/src/lang/serbian.txt +++ b/src/lang/serbian.txt @@ -436,6 +436,17 @@ STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Skrol - STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Klizač - pomera spisak levo/desno STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Uklanja građevinu i dr. na kvadratu tla. Ctrl obeležava dijagonalno područje. Shift prebacuje između izgradnje i prikaza procene troškova +# Show engines button +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}Prikaži skriveni vozovi +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK}Prikaži skrivena drumska vozila +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}Prikaži skrivene brodove +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}Prikaži skrivene letilice + +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}Omogućavanje ovog podešavanja znači da će se i skriveni vozevi biti prikazani. +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE_TOOLTIP :{BLACK}Omugućavanjem ovog dogmeta, sakrivena drumska vozila će takođe biti prikazan +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}Omugućavanjem ovog dogmeta, sakriveni brod će takođe biti prikazan +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Omugućavanjem ovog dogmeta, sakriveni avion će takođe biti prikazan + # Query window STR_BUTTON_DEFAULT :{BLACK}Prvobitno STR_BUTTON_CANCEL :{BLACK}Otkaži @@ -548,7 +559,7 @@ STR_SCENEDIT_FILE_MENU_QUIT :Izađi ############ range for settings menu starts STR_SETTINGS_MENU_GAME_OPTIONS :Opcije -STR_SETTINGS_MENU_CONFIG_SETTINGS :Detaljna podešavanja +STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Podešavanja STR_SETTINGS_MENU_SCRIPT_SETTINGS :Podešavanja VI/Skripte partije STR_SETTINGS_MENU_NEWGRF_SETTINGS :NewGRF podešavanja STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Opcije transparentnosti @@ -656,7 +667,7 @@ STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Uključi/isklju STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Uključi/Isključi bojenje nesređenih blokova ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window STR_ORDINAL_NUMBER_1ST :1. STR_ORDINAL_NUMBER_2ND :2. STR_ORDINAL_NUMBER_3RD :3. @@ -672,22 +683,40 @@ STR_ORDINAL_NUMBER_12TH :12. STR_ORDINAL_NUMBER_13TH :13. STR_ORDINAL_NUMBER_14TH :14. STR_ORDINAL_NUMBER_15TH :15. -STR_ORDINAL_NUMBER_16TH :16. -STR_ORDINAL_NUMBER_17TH :17. -STR_ORDINAL_NUMBER_18TH :18. -STR_ORDINAL_NUMBER_19TH :19. -STR_ORDINAL_NUMBER_20TH :20. -STR_ORDINAL_NUMBER_21ST :21. -STR_ORDINAL_NUMBER_22ND :22. -STR_ORDINAL_NUMBER_23RD :23. -STR_ORDINAL_NUMBER_24TH :24. -STR_ORDINAL_NUMBER_25TH :25. -STR_ORDINAL_NUMBER_26TH :26. -STR_ORDINAL_NUMBER_27TH :27. -STR_ORDINAL_NUMBER_28TH :28. -STR_ORDINAL_NUMBER_29TH :29. -STR_ORDINAL_NUMBER_30TH :30. -STR_ORDINAL_NUMBER_31ST :31. +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :1. +STR_DAY_NUMBER_2ND :2. +STR_DAY_NUMBER_3RD :3. +STR_DAY_NUMBER_4TH :4. +STR_DAY_NUMBER_5TH :5. +STR_DAY_NUMBER_6TH :6. +STR_DAY_NUMBER_7TH :7. +STR_DAY_NUMBER_8TH :8. +STR_DAY_NUMBER_9TH :9. +STR_DAY_NUMBER_10TH :10. +STR_DAY_NUMBER_11TH :11. +STR_DAY_NUMBER_12TH :12. +STR_DAY_NUMBER_13TH :13. +STR_DAY_NUMBER_14TH :14. +STR_DAY_NUMBER_15TH :15. +STR_DAY_NUMBER_16TH :16. +STR_DAY_NUMBER_17TH :17. +STR_DAY_NUMBER_18TH :18. +STR_DAY_NUMBER_19TH :19. +STR_DAY_NUMBER_20TH :20. +STR_DAY_NUMBER_21ST :21. +STR_DAY_NUMBER_22ND :22. +STR_DAY_NUMBER_23RD :23. +STR_DAY_NUMBER_24TH :24. +STR_DAY_NUMBER_25TH :25. +STR_DAY_NUMBER_26TH :26. +STR_DAY_NUMBER_27TH :27. +STR_DAY_NUMBER_28TH :28. +STR_DAY_NUMBER_29TH :29. +STR_DAY_NUMBER_30TH :30. +STR_DAY_NUMBER_31ST :31. ############ range for days ends ############ range for months starts @@ -1001,13 +1030,11 @@ STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}{VEHICLE STR_NEWS_SHIP_IS_WAITING :{WHITE}{VEHICLE} čeka u depou STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE} čeka u hangaru -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE +# Order review system / warnings STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE} ima premalo naredbi u voznom redu STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE} ima neodređenu naredbu STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE} ima dupliciranu naredbu STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE} ima neodgovarajuću stanicu u naredbi -# end of order system STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} zastareva STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} previše zastareva @@ -1090,10 +1117,6 @@ STR_GAME_OPTIONS_CURRENCY_GEL :Gruzijski Lari STR_GAME_OPTIONS_CURRENCY_IRR :Iranski Rijal (IRR) ############ end of currency region - -############ start of measuring units region -############ end of measuring units region - STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Drumska vozila STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}Izaberi stranu puta kojom će se kretati drumska vozila STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :Levom stranom @@ -1129,11 +1152,13 @@ STR_GAME_OPTIONS_TOWN_NAME_CATALAN :Katalonska STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Auto čuvanje pozicije STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Izbor vremenskog intervala između dve automatski sačuvane pozicije +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Isključeno STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :Svakog meseca STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :Svaka 3 meseca STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :Svakih 6 meseci STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :Svakih 12 meseci +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}Jezik STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Odaberite jezik koji će se koristiti @@ -1145,8 +1170,12 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}Veličin STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Odaberite željenu veličinu ekrana STR_GAME_OPTIONS_RESOLUTION_OTHER :drugo -STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}Format slike ekrana -STR_GAME_OPTIONS_SCREENSHOT_FORMAT_TOOLTIP :{BLACK}Odaberite željeni format slike ekrana +STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Veličina interfejsa +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Izaberite većinu elementa koja će se koristiti + +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normalna veličina +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Uvećavajte veličinu dva puta +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Uvećavajte veličinu četiri puta STR_GAME_OPTIONS_BASE_GRF :{BLACK}Osnovni skup grafika STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Odaberite željeni skup osnovnih grafika @@ -1162,6 +1191,7 @@ STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Odaberit STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} oštećen{P a e ih} datotek{P a e a} STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Dodatni podaci o osnovnom skupu muzike +STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Neuspešno dobijanje spiska podržanih rezolucija STR_ERROR_FULLSCREEN_FAILED :{WHITE}Neuspešno prebacivanje u ceo ekran # Custom currency window @@ -1240,6 +1270,7 @@ STR_TERRAIN_TYPE_VERY_FLAT :Ravničarski STR_TERRAIN_TYPE_FLAT :Brdski STR_TERRAIN_TYPE_HILLY :Brdsko-planinski STR_TERRAIN_TYPE_MOUNTAINOUS :Planinski +STR_TERRAIN_TYPE_ALPINIST :Planinar STR_CITY_APPROVAL_PERMISSIVE :Popustljiv STR_CITY_APPROVAL_TOLERANT :Tolerantan @@ -1247,8 +1278,8 @@ STR_CITY_APPROVAL_HOSTILE :Neprijateljski STR_WARNING_NO_SUITABLE_AI :{WHITE}Nisu dostupne odgovarajuće VI...{}Možete preuzeti nekoliko VI preko sistema za preuzimanje dodataka -# Advanced settings window -STR_CONFIG_SETTING_CAPTION :{WHITE}Napredna Podešavanja +# Settings tree window +STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Podešavanja STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Filtriraj po: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Proširi sve STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Skupi sve @@ -1315,8 +1346,9 @@ STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Uključuje i is STR_CONFIG_SETTING_CITY_APPROVAL :Stav gradskog odbora u pogledu restrukturiranja zone: {STRING} STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Izbor koliko će buka i zagađenje koje proizvode kompanije uticati na njihov gradski rejting i dalje građevinske akcije u toj zoni -STR_CONFIG_SETTING_BUILDONSLOPES :Dozvoljena gradnja na kosinama i obalama: {STRING} -STR_CONFIG_SETTING_BUILDONSLOPES_HELPTEXT :Ako je uključeno, rute i stanice mogu se graditi na većini strmina. Ako je isključeno, mogu se graditi samo na strminama koje odgovaraju smeru rute i ne traže posebnu osnovu +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :Maksimalna visina mape: {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :Namestite dozvoljen maksimum visine planina na ovoj mapi +STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}Ne mozete namestiti maksimalnu visinu mape ovoj vrednosti. Barem još jedna planina je veća STR_CONFIG_SETTING_AUTOSLOPE :Dozvoljena izmena nagiba ispod zgrada, koloseka, itd. (autoslope): {STRING} STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Dozvoli iskopavanja ispod građevina i pruge bez da se uklone STR_CONFIG_SETTING_CATCHMENT :Realističnije veličine prihvatnih površina: {STRING} @@ -1341,16 +1373,12 @@ STR_CONFIG_SETTING_FORBID_90_DEG :Zabranjeno okre STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Okretanje za 90 stepeni se dešava kada se uspravna pruga nalazi odmah posle vodoravne pruge na susednoj pločici i time čini da voz skreće pod 90 stepeni kad prelazi sa pločice na pločicu, umesto uobičajenih 45 stepeni kod drugih kombinacija pruge. Ovo takođe važi i za radijus zaokreta brodova STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Dozvoljeno sjedinjavanje udaljenih stanica: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Dozvoljava dodavanje delova stanici bez da oni dodiruju postojeće delove stanice. Zahteva Ctrl+Klik kod postavljanja novih delova -STR_CONFIG_SETTING_IMPROVEDLOAD :Koristiti poboljšan algoritam utovara: {STRING} -STR_CONFIG_SETTING_IMPROVEDLOAD_HELPTEXT :Ako je omogućen, više vozila koja čekaju u stanici će se utovarivati jedno za drugim. Sledeće vozilo će početi sa utovarom kada čeka dovoljno tereta da napuni prethodno vozilo -STR_CONFIG_SETTING_GRADUAL_LOADING :Postepeno utovarivanje u vozilo: {STRING} -STR_CONFIG_SETTING_GRADUAL_LOADING_HELPTEXT :Postupno utovaruj vozila koristeći različito vreme utovara za svako vozilo, umesto utovara odjednom za fiksno vreme koje zavisi samo od količine tovara STR_CONFIG_SETTING_INFLATION :Inflacija: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :Omogućuje inflaciju tako da troškovi rastu malo brže od isplata -STR_CONFIG_SETTING_SELECTGOODS :Dostavljanje tovara na stanicu samo ako ima potražnje: {STRING} -STR_CONFIG_SETTING_SELECTGOODS_HELPTEXT :Dostavlja na stanicu samo onaj tovar koji je potreban vozilu koje se utovaruje. Ovo onemogućava loš rejting za one vrste tovara koji ne mogu da se iskoriste u stanici STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Najveća dužina mosta: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Maksimalna dužina za podizanje mostova +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :Najveća visina mosta: {STRING} +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :Maksimalna visina za dradjenje mostova STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Najveća dužina tunela: {STRING} STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :Maksimalna dužina za iskopavanje tunela STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Metod izgradnje finansiranih primarnih industrija: {STRING} @@ -1376,8 +1404,6 @@ STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Mesto gde će s STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :početak STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :sredina STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :kraj -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING :Vozila čekaju u koloni (na zauzetim stanicama): {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING_HELPTEXT :Čini da drumsko vozilo čeka ispred zauzetih stanica dok se ne raščiste STR_CONFIG_SETTING_AUTOSCROLL :Pomeranje prozora kada miš priđe ivicama: {STRING} STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Ako je omogućeno, prikaz će početi da skroluje kada je kursor miša blizu ivice prozora STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Isključeno @@ -1408,9 +1434,6 @@ STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Dozvoljene uli STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Dozvoljava izgradnju protočnih drumskih stanica na putevima čiji je vlasnik naselje STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Dozvoljene ulične stanice na kolovozima u vlasništvu drugih preduzeća: {STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Dozvoljava izgradnju protočnih drumskih stanica na putevima čiji je vlasnik drugo preduzeće -STR_CONFIG_SETTING_ADJACENT_STATIONS :Dozvoljena gradnja stanica jedne pored druge: {STRING} -STR_CONFIG_SETTING_ADJACENT_STATIONS_HELPTEXT :Dozvoljava da se različite stanice dodiruju -STR_CONFIG_SETTING_DYNAMIC_ENGINES :Dozvoljeno više NewGRF kolekcija mašina: {STRING} STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Promena ovog podešavanja nije moguća dok postoje vozila STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Održavanje infrastrukture: {STRING} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Ako je omogućeno, infrastruktura će imati troškove održavanja. Trošak raste brže sa porastom veličine putne mreže i time više pogađa veća preduzeća od manjih @@ -1442,7 +1465,7 @@ STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Trajanje prikaz STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{COMMA} sekund{P a e i} STR_CONFIG_SETTING_HOVER_DELAY :Prikaži poruke u balončićima: {STRING} STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Desni klik -STR_CONFIG_SETTING_POPULATION_IN_LABEL :Prikazivanje broja populacije pored naziva naselja: {STRING} +STR_CONFIG_SETTING_POPULATION_IN_LABEL :Prikazivati br. stanovnika pored naziva naselja: {STRING} STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Prikazuje broj stanovnika naselja na njihovoj oznaci na karti STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Debljina linija u grafikonima: {STRING} STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Širina linije na grafiku. Tanka linija je preciznija a debelu je lakše videti i lakše je razlikovati boje @@ -1461,12 +1484,12 @@ STR_CONFIG_SETTING_TREE_PLACER :Posađivanje dr STR_CONFIG_SETTING_TREE_PLACER_NONE :Nikakav STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :Originalni STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :Unapređen +STR_CONFIG_SETTING_ROAD_SIDE :Drumskih vozila: {STRING} +STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :Odaberite stranu saobraćaja STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Orijentacija elevacione karte: {STRING} STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Nalevo STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Nadesno STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :Visina ravnog terena je: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :Dozvoljeno oblikovanje reljefa na ivicama terena: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES_HELPTEXT :Ako je onemogućeno, na ivicama karte će uvek biti okean STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}Jedan ili više sektora na severnoj ivici nije prazan STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}Jedan ili više sektora na jednoj od ivica nije voda @@ -1506,14 +1529,13 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Nikakvo STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Pomeranje sa levim klikom: {STRING} + STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Koristiti {STRING} oblik datuma u nazivima sačuvanih partija STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Format datuma u imenima fajlova sačuvanih partija STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :dugačak (31st Dec 2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :kratak (31-12-2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE :Podrazumevana paleta za NewGRF: {STRING} - STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Pauzirati odmah po pokretanju nove partije : {STRING} STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Tokom pauze dozvoljene su: {STRING} STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :nikakve aktivnosti @@ -1529,7 +1551,7 @@ STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE :Podešena vrsta STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_FIRST :Prva dostupna STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_LAST :Zadnja dostupna STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_MOST_USED :Najčešće korišćena -STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :Prikazati rezervisane pruge: {STRING} +STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :Prikazivati rezervisane pruge: {STRING} STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Zadržati aktivne alate za gradnju posle upotrebe: {STRING} STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Ostavi alate za gradnju mostova, tunela itd. otvorene nakon korišćenja STR_CONFIG_SETTING_EXPENSES_LAYOUT :Grupisati troškove u finansijskom prozoru preduzeća: {STRING} @@ -1604,31 +1626,32 @@ STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION_HELPTEXT :Prikazuje novin STR_CONFIG_SETTING_NEWS_INDUSTRY_OPEN :Otvaranje nove fabrike: {STRING} STR_CONFIG_SETTING_NEWS_INDUSTRY_OPEN_HELPTEXT :Prikazuje novinske naslove kada se otvori nova fabrika STR_CONFIG_SETTING_NEWS_INDUSTRY_CLOSE :Zatvaranje fabrike: {STRING} -STR_CONFIG_SETTING_NEWS_INDUSTRY_CLOSE_HELPTEXT :Prikaži novinske naslove o zatvaranju fabrika +STR_CONFIG_SETTING_NEWS_INDUSTRY_CLOSE_HELPTEXT :Prikazuje novinske naslove o zatvaranju fabrika STR_CONFIG_SETTING_NEWS_ECONOMY_CHANGES :Promene u ekonomiji: {STRING} -STR_CONFIG_SETTING_NEWS_ECONOMY_CHANGES_HELPTEXT :Prikaži novinske naslove o globalnim ekonomskim promenama +STR_CONFIG_SETTING_NEWS_ECONOMY_CHANGES_HELPTEXT :Prikazuje novinske naslove o globalnim ekonomskim promenama STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_COMPANY :Promene u proizvodnji usluženih industrija: {STRING} -STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_COMPANY_HELPTEXT :Prikaži novinske naslove kada se promeni nivo proizvodnje u industriji koja je pokrivena od strane naše kompanije +STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_COMPANY_HELPTEXT :Prikazuje novinske naslove kada se promeni nivo proizvodnje u industriji koju naša kompanija pokriva STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_OTHER :Promene u proizvodnji industrija usluženih konkurencijom: {STRING} -STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_OTHER_HELPTEXT :Prikaži novinske naslove kada se promeni nivo proizvodnje u industriji koja jeste pokrivena od strane konkurencije +STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_OTHER_HELPTEXT :Prikazuje novinske naslove kada se promeni nivo proizvodnje u industriji koju konkurencija pokriva STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_UNSERVED :Promene u proizvodnji ostalih industrija: {STRING} -STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_UNSERVED_HELPTEXT :Prikaži novinske naslove kada se promeni nivo proizvodnje u industriji koja nije pokrivena ni od strane kompanije, ni od strane konkurencije +STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_UNSERVED_HELPTEXT :Prikazuje novinske naslove kada se promeni nivo proizvodnje u industriji koju ne pokriva ni naša kompanija, ni konkurencija STR_CONFIG_SETTING_NEWS_ADVICE :Savet / Izveštaji o vozilima preduzeća: {STRING} STR_CONFIG_SETTING_NEWS_ADVICE_HELPTEXT :Prikaži poruke o događajima na vozilima koji zahtevaju intervenciju STR_CONFIG_SETTING_NEWS_NEW_VEHICLES :Nova vozila: {STRING} -STR_CONFIG_SETTING_NEWS_NEW_VEHICLES_HELPTEXT :Prikaži novinske naslove kada postane dostupan novi tip vozila +STR_CONFIG_SETTING_NEWS_NEW_VEHICLES_HELPTEXT :Prikazuje novinske naslove kada postane dostupan novi tip vozila STR_CONFIG_SETTING_NEWS_CHANGES_ACCEPTANCE :Promene u prihvatanju tovara: {STRING} STR_CONFIG_SETTING_NEWS_CHANGES_ACCEPTANCE_HELPTEXT :Prikaži poruke kada stanice promene tip prijema robe i putnika STR_CONFIG_SETTING_NEWS_SUBSIDIES :Subvencije: {STRING} -STR_CONFIG_SETTING_NEWS_SUBSIDIES_HELPTEXT :Prikaži novinske naslove o događajima u vezi sa subvencijama +STR_CONFIG_SETTING_NEWS_SUBSIDIES_HELPTEXT :Prikazuje novinske naslove o događajima u vezi sa subvencijama STR_CONFIG_SETTING_NEWS_GENERAL_INFORMATION :Opšta obaveštenja: {STRING} -STR_CONFIG_SETTING_NEWS_GENERAL_INFORMATION_HELPTEXT :Prikaži novinske naslove o opštim događajima, kao što kupovina ekskluzivnih prava ili finansiranje rekonstrukcije puteva +STR_CONFIG_SETTING_NEWS_GENERAL_INFORMATION_HELPTEXT :Prikazuje novinske naslove o opštim događajima, kao što su kupovina ekskluzivnih prava ili finansiranje rekonstrukcije puteva STR_CONFIG_SETTING_NEWS_MESSAGES_OFF :Isključeno STR_CONFIG_SETTING_NEWS_MESSAGES_SUMMARY :Sažeto STR_CONFIG_SETTING_NEWS_MESSAGES_FULL :Potpuno -STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Vesti u boji se objavljuju od: {STRING} +STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Vesti u boji se objavljuju počev od godine: {STRING} +STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Godina počev od koje se vesti objavljuju u boji. Pre ove godine se objavljuju u crno/beloj tehnici. STR_CONFIG_SETTING_STARTING_YEAR :Početna godina: {STRING} STR_CONFIG_SETTING_SMOOTH_ECONOMY :Uključena glatka ekonomija (više, manjih promena): {STRING} STR_CONFIG_SETTING_SMOOTH_ECONOMY_HELPTEXT :Ako je omogućeno, industrijska proizvodnja se češće menja u manjim koracima. Ako se vrste industrija učitavaju preko NewGRF dodataka ovo podešavanje uglavnom nema efekta @@ -1660,7 +1683,7 @@ STR_CONFIG_SETTING_ALLOW_TOWN_ROADS :Naseljima je do STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :Naseljima je dozvoljeno da grade putne prelaze: {STRING} STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Omogućava naseljima da grade prelaz pruge preko puta STR_CONFIG_SETTING_NOISE_LEVEL :Naseljima je dozvoljeno da kontrolišu nivo buke aerodroma: {STRING} -STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Ako je ovo podešavanje onemogućeno mogu postojati 2 aerodroma u svakom naselju. Ako je podešavanje omogućeno, broj aerodroma u gradu je ograničen dozvoljenim nivoom buke u gradu koji zavisi od populacije te veličine i udaljenosti aerodroma +STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Ako je ovo podešavanje onemogućeno mogu postojati 2 aerodroma u svakom naselju. Ako je podešavanje omogućeno, broj aerodroma u gradu je ograničen dozvoljenim nivoom buke u gradu koji zavisi od populacije i od veličine i udaljenosti aerodroma STR_CONFIG_SETTING_TOWN_FOUNDING :Osnivanje naselja u toku partije: {STRING} STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Dozvoljava igračima osnivanje novih naselja u toku igre STR_CONFIG_SETTING_TOWN_FOUNDING_FORBIDDEN :zabranjeno @@ -1676,6 +1699,7 @@ STR_CONFIG_SETTING_TOOLBAR_POS :Lokacija glavne STR_CONFIG_SETTING_TOOLBAR_POS_HELPTEXT :Horizontalna pozicija glavne trake s alatkama na vrhu ekrana STR_CONFIG_SETTING_STATUSBAR_POS :Položaj statusne linije: {STRING} STR_CONFIG_SETTING_STATUSBAR_POS_HELPTEXT :Horizontalna pozicija statusne linije na dnu ekrana +STR_CONFIG_SETTING_SNAP_RADIUS :Udaljenost na kojoj će prozor da se prilepi uz susedni: {STRING} STR_CONFIG_SETTING_SNAP_RADIUS_VALUE :{COMMA} piksel{P 0 "" a a} STR_CONFIG_SETTING_SNAP_RADIUS_DISABLED :Isključeno STR_CONFIG_SETTING_SOFT_LIMIT :Najviše nepridenutih prozora: {STRING} @@ -1701,8 +1725,6 @@ STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 u {COMMA} STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Nijedan STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Inicijalni množilac razvoja gradova: {STRING} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Prosečna veličina naselja relativno u odnosu na gradove na početku partije -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :Uklanjati besmislene kolovoze u naseljima: {STRING} -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD_HELPTEXT :Ukloni slepe ulice tokom plaćene rekonstrukcije puteva STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :ručno STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :asimetrično @@ -1716,52 +1738,44 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_IMPERIAL :Imperijalne mer STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_METRIC :Metričke mere (km/h) STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_SI :SI (m/s) -STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER :Jedinice za snagu kod vozila: {STRING} +STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER :Mere za snagu vozila: {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_IMPERIAL :Imperijalne mere (hp) STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_METRIC :Metričke mere (hp) STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_SI :SI (kW) -STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT :Mera težine: {STRING} +STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT :Mere težine: {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_HELPTEXT :Kad težine budu pokazane u interfejsu, pokazi u željenoj meri STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_IMPERIAL :Imperijalne (short t/ton) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_METRIC :Metričke mere (t/toni) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_SI :SI (kg) +STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME :Mere zapremine: {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_IMPERIAL :Imperijalne mere (gal) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_METRIC :Metričke mere (l) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_SI :SI (m³) +STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE :Mere za silu trenja: {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_IMPERIAL :Imperijalne mere (lbf) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_METRIC :Metričke mere (kgf) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_SI :SI (kN) -STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT :Mera visine: {STRING} +STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT :Mere visine: {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT :Kad visine budu pokazane u interfejsu, pokazi u željenoj meri STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :Imperijalne mere (ft) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :Metričke mere (m) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :SI (m) -STR_CONFIG_SETTING_GUI :{ORANGE}Okruženje STR_CONFIG_SETTING_LOCALISATION :{ORANGE}Prevod -STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}Izgradnja -STR_CONFIG_SETTING_VEHICLES :{ORANGE}Vozila -STR_CONFIG_SETTING_STATIONS :{ORANGE}Stanice -STR_CONFIG_SETTING_ECONOMY :{ORANGE}Ekonomija -STR_CONFIG_SETTING_LINKGRAPH :{ORANGE}Distribucija Tovara -STR_CONFIG_SETTING_AI :{ORANGE}Suparnici -STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}Prikazivanje -STR_CONFIG_SETTING_INTERACTION :{ORANGE}Interakcija STR_CONFIG_SETTING_SOUND :{ORANGE}Zvučni efekti -STR_CONFIG_SETTING_NEWS :{ORANGE}Vesti i poruke -STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}Signali -STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE}Baratanje teretom -STR_CONFIG_SETTING_AI_NPC :{ORANGE}Računar -STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE}Automatska zamena -STR_CONFIG_SETTING_VEHICLES_SERVICING :{ORANGE}Servisiranje +STR_CONFIG_SETTING_INTERFACE :{ORANGE}Okruženje +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Izgradnja +STR_CONFIG_SETTING_VEHICLES :{ORANGE}Vozila STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Rutiranje -STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}Vozovi -STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}Naselja -STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}Industrije +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Naselja +STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}Industrije +STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :{ORANGE}Distribucija Tovara +STR_CONFIG_SETTING_AI :{ORANGE}Suparnici +STR_CONFIG_SETTING_AI_NPC :{ORANGE}Računar STR_CONFIG_SETTING_PATHFINDER_OPF :Originalno STR_CONFIG_SETTING_PATHFINDER_NPF :NPF @@ -1806,7 +1820,7 @@ STR_INTRO_MULTIPLAYER :{BLACK}Partija STR_INTRO_GAME_OPTIONS :{BLACK}Opcije STR_INTRO_HIGHSCORE :{BLACK}Tabela najboljih rezultata -STR_INTRO_ADVANCED_SETTINGS :{BLACK}Napredna Podešavanja +STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Podešavanja STR_INTRO_NEWGRF_SETTINGS :{BLACK}NewGRF Podešavanja STR_INTRO_ONLINE_CONTENT :{BLACK}Spisak Dodataka na Mreži STR_INTRO_SCRIPT_SETTINGS :{BLACK}Podešavanja VI/Skripte Partije @@ -1826,7 +1840,7 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Izbor 'z STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Prikazuje opcije igre STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Prikazuje tabelu najboljih rezultata -STR_INTRO_TOOLTIP_ADVANCED_SETTINGS :{BLACK}Prikazuje prozor sa detaljnim podešavanjima +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Prikaži podešavanje STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Prikazuje NewGRF podešavanja STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Pregled novih i ažureiranih dodatka za preuzimanje STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Prikazuje podešavanja za VI/Skriptu partije @@ -1866,6 +1880,8 @@ STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Upravlj STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Magični buldožer (uklanja fabrike, nepokretnosti): {ORANGE}{STRING} STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}Tuneli mogu da se ukrštaju: {ORANGE}{STRING} STR_CHEAT_NO_JETCRASH :{LTBLUE}Veliki avioni se neće (često) rušiti kod malih aerodorma: {ORANGE} {STRING} +STR_CHEAT_EDIT_MAX_HL :{LTBLUE}Promenite maksimalnu visinu mape: {ORANGE}{NUM} +STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Promenite maksimalnu visinu planina na mapi STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE :Umereni klimatski pojas STR_CHEAT_SWITCH_CLIMATE_SUB_ARCTIC_LANDSCAPE :Subpolarni klimatski pojas STR_CHEAT_SWITCH_CLIMATE_SUB_TROPICAL_LANDSCAPE :Suptropski klimatski pojas @@ -1914,6 +1930,7 @@ STR_LIVERY_FREIGHT_TRAM :Teretni Tramvaj STR_FACE_CAPTION :{WHITE}Izbor lica STR_FACE_CANCEL_TOOLTIP :{BLACK}Poništi ovo lice STR_FACE_OK_TOOLTIP :{BLACK}Prihvati ovo lice +STR_FACE_RANDOM :{BLACK}Proizvoljno STR_FACE_MALE_BUTTON :{BLACK}Muško STR_FACE_MALE_TOOLTIP :{BLACK}Izbor muškog lica @@ -2460,8 +2477,8 @@ STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_BRIDGE :{BLACK}Izgradnj STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_BRIDGE :{BLACK}Izgradnja tramvajskog mosta. Shift prebacuje između izgradnje i prikaza procene troškova STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_TUNNEL :{BLACK}Izgradnja drumskog tunela. Shift prebacuje između izgradnje i prikaza procene troškova STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_TUNNEL :{BLACK}Izgradnja tramvajskog tunela. Shift prebacuje između izgradnje i prikaza procene troškova -STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_ROAD :{BLACK}Uklanjanje puteva (kada je uključeno) -STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Uklanjanje tramvajskih građevina (kada je uključeno) +STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_ROAD :{BLACK}Uključi građenje/rušenje drumskih puteva +STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Uključi građenje/rušenje tramvajskih građevina # Road depot construction window STR_BUILD_DEPOT_ROAD_ORIENTATION_CAPTION :{WHITE}Orijentacija drumskog depoa @@ -2741,7 +2758,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-2014 OpenTTD tim +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 OpenTTD tim # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Sačuvaj poziciju @@ -2775,13 +2792,12 @@ STR_MAPGEN_BY :{BLACK}* STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Broj naselja: STR_MAPGEN_DATE :{BLACK}Datum: STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Broj fabrika: +STR_MAPGEN_MAX_HEIGHTLEVEL :{BLACK}Maksimalna visina mape +STR_MAPGEN_MAX_HEIGHTLEVEL_UP :{BLACK}Povećaj maksimalnu visinu planina na mapi za jedan +STR_MAPGEN_MAX_HEIGHTLEVEL_DOWN :{BLACK}Smanji maksimalnu visinu planina na mapi za jedan STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}Nivo snežnog pokrivača: STR_MAPGEN_SNOW_LINE_UP :{BLACK}Sužava snežni pokrivač naviše za jedan STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}Proširuje snežni pojas naniže za jedan -STR_MAPGEN_RANDOM_SEED :{BLACK}Klica proizvoljnosti: -STR_MAPGEN_RANDOM_SEED_HELP :{BLACK}Kliknite za unos klice proizvoljnosti -STR_MAPGEN_RANDOM :{BLACK}Proizvoljno -STR_MAPGEN_RANDOM_HELP :{BLACK}Promena klice proizvoljnosti za Oblikovanje Reljefa STR_MAPGEN_LAND_GENERATOR :{BLACK}Oblikovanje reljefa: STR_MAPGEN_TREE_PLACER :{BLACK}Algoritam za drveća: STR_MAPGEN_TERRAIN_TYPE :{BLACK}Vrsta terena: @@ -2808,7 +2824,7 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Naziv el STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Veličina: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} -STR_MAPGEN_RANDOM_SEED_OSKTITLE :{BLACK}Unos nove vrednosti klice +STR_MAPGEN_MAX_HEIGHTLEVEL_QUERY_CAPT :{WHITE}Promenite maksimalnu visinu mape STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}Promena donjeg nivoa snežnog pojasa STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Promena početne godine @@ -2863,6 +2879,7 @@ STR_NEWGRF_SETTINGS_MOVEUP :{BLACK}Naviše STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP :{BLACK}Pomera označenu NewGRF datoteku više na spisku STR_NEWGRF_SETTINGS_MOVEDOWN :{BLACK}Naniže STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP :{BLACK}Pomera označenu NewGRF datoteku niže na spisku +STR_NEWGRF_SETTINGS_UPGRADE :{BLACK}Ažuriraj STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}Spisak instaliranih NewGRF datoteka. STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}Postavi parametre @@ -2887,6 +2904,8 @@ STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Odabrana d STR_NEWGRF_SETTINGS_DISABLED :{RED}Isključen STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Nije kompatibilno sa ovom OpenTTD verzijom +# NewGRF save preset window + # NewGRF parameters window STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Promena NewGRF parametara STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Zatvori @@ -2917,7 +2936,6 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Prethodn STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Vraća se na prethodni normalan sprajt, preskačući sve pseudo/prebojavajuće/font sprajtove i prelazi na kraj posle početnog STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Prikaz trenutno odabranog sprajta. Poravnanje se ignoriše tokom iscrtavanja ovog sprajta STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Premeštanje sprajta po kordinatama, menjanjem X i Y pomeraja -STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X pomeraj: {NUM}, Y pomeraj: {NUM} STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Odabiranje sprajta STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Odabiranje sprajta bilo gde sa ekrana @@ -3088,7 +3106,7 @@ STR_GOAL_QUESTION_CAPTION_INFORMATION :Obaveštenje STR_GOAL_QUESTION_CAPTION_WARNING :Upozorenje STR_GOAL_QUESTION_CAPTION_ERROR :Greška -### Start of Goal Question button list +############ Start of Goal Question button list STR_GOAL_QUESTION_BUTTON_CANCEL :Otkaži STR_GOAL_QUESTION_BUTTON_OK :U redu STR_GOAL_QUESTION_BUTTON_NO :Ne @@ -3107,6 +3125,7 @@ STR_GOAL_QUESTION_BUTTON_RESTART :Restartuj STR_GOAL_QUESTION_BUTTON_POSTPONE :Odloži STR_GOAL_QUESTION_BUTTON_SURRENDER :Predaja STR_GOAL_QUESTION_BUTTON_CLOSE :Zatvori +############ End of Goal Question button list # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}Subvencije @@ -3139,7 +3158,6 @@ STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}Ni jedna # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} -STR_STATION_VIEW_WAITING_TITLE :{BLACK}Čeka: {WHITE}{STRING} STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} na putu iz {STATION}) STR_STATION_VIEW_RESERVED :{YELLOW}({CARGO_SHORT} rezervisan za utovar) @@ -3383,12 +3401,13 @@ STR_GROUP_DEFAULT_ROAD_VEHICLES :Negrupisana dru STR_GROUP_DEFAULT_SHIPS :Negrupisani brodovi STR_GROUP_DEFAULT_AIRCRAFTS :Negrupisane letilice -STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Grupe - klikom na grupu se prikazuje spisak vozila u grupi +STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Grupe - klikom na grupu se prikazuje spisak vozila u grupi. Hijerarhija grupa se uređuje metodom "prevuci i pusti" STR_GROUP_CREATE_TOOLTIP :{BLACK}Klikom se pravi nova grupa STR_GROUP_DELETE_TOOLTIP :{BLACK}Briše se označena grupa STR_GROUP_RENAME_TOOLTIP :{BLACK}Preimenovanje označene grupe STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Klikom se ova grupa štiti od globalne automatske zamene + STR_GROUP_ADD_SHARED_VEHICLE :Dodaj deljeno vozilo STR_GROUP_REMOVE_ALL_VEHICLES :Ukloni sva vozila @@ -3451,6 +3470,13 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Promenit STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Promenite naziv vrste broda STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Promenite naziv vrste letilice + + +STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Uključi skrivanje/prikazivanje tip voza +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Uključi skrivanje/prikazivanje tip drumskog vozila +STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Uključi skrivanje/prikazivanje tip broda +STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Uključi skrivanje/prikazivanje tip letilice + STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}Promena naziva vrste šinskog vozila STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}Naziv vrste drumskog vozila STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}Promena naziva vrste broda @@ -3571,6 +3597,9 @@ STR_REPLACE_VEHICLE_SHIP.aku :brod STR_REPLACE_VEHICLE_AIRCRAFT :letelica STR_REPLACE_VEHICLE_AIRCRAFT.aku :letelicu +STR_REPLACE_VEHICLE_VEHICLES_IN_USE :{YELLOW}Upotrebljena vozila +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES :{YELLOW}Dostupna vozila + STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Izaberite vrstu lokomotive za zamenu STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Izaberite novu vrstu lokomotive koju biste želeli da koristite umesto obeležene s leve strane @@ -3829,7 +3858,7 @@ STR_ORDER_CONDITIONAL_VALUE_TOOLTIP :{BLACK}Vrednost STR_ORDER_CONDITIONAL_VALUE_CAPT :{WHITE}Unos vrednosti za poređenje STR_ORDERS_SKIP_BUTTON :{BLACK}Preskoči -STR_ORDERS_SKIP_TOOLTIP :{BLACK}Preskače tekuću naredbu, i prelazi na sledeću. Ctrl+Klik preskače naredbe do obeležene +STR_ORDERS_SKIP_TOOLTIP :{BLACK}Preskoči tekuću naredbu, i prelazi na sledeću. Ctrl+Klik preskače naredbe do obeležene STR_ORDERS_DELETE_BUTTON :{BLACK}Izbriši STR_ORDERS_DELETE_TOOLTIP :{BLACK}Uklanja obeleženu naredbu @@ -4164,6 +4193,7 @@ STR_ERROR_EXCAVATION_WOULD_DAMAGE :{WHITE}Iskopava STR_ERROR_ALREADY_AT_SEA_LEVEL :{WHITE}... teren je već na nivou mora STR_ERROR_TOO_HIGH :{WHITE}... previsoko STR_ERROR_ALREADY_LEVELLED :{WHITE}... već je ravno +STR_ERROR_BRIDGE_TOO_HIGH_AFTER_LOWER_LAND :{WHITE}Posle toga most bi bio previše visok. # Company related errors STR_ERROR_CAN_T_CHANGE_COMPANY_NAME :{WHITE}Preduzeće se ne može preimenovati... @@ -4214,6 +4244,8 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... šum STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... može biti izgrađena samo iznad linije snega STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... može biti izgrađena samo ispod linije snega +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}Nije bilo odgovarajućih mesta za '{STRING}' fabrike + # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Izgradnja železničke stanice ovde nije moguća... STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}Izgradnja autobuske stanice ovde nije moguća... @@ -4350,6 +4382,7 @@ STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Potrebno STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}Ne može da se završava na istom mestu gde i počinje STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}Krajevi mosta nisu na istom nivou STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}Most je nizak u odnosu na teren +STR_ERROR_BRIDGE_TOO_HIGH_FOR_TERRAIN :{WHITE}Most je previše visok zaovaj teren STR_ERROR_START_AND_END_MUST_BE_IN :{WHITE}Početak i kraj moraju biti u istoj liniji STR_ERROR_ENDS_OF_BRIDGE_MUST_BOTH :{WHITE}... oba kraja mosta moraju biti na čvrstom tlu STR_ERROR_BRIDGE_TOO_LONG :{WHITE}... most je previše dugačak @@ -4913,6 +4946,7 @@ STR_COMPANY_NAME :{COMPANY} STR_COMPANY_NAME_COMPANY_NUM :{COMPANY} {COMPANY_NUM} STR_DEPOT_NAME :{DEPOT} STR_ENGINE_NAME :{ENGINE} +STR_HIDDEN_ENGINE_NAME :{ENGINE} (sakriveno) STR_GROUP_NAME :{GROUP} STR_INDUSTRY_NAME :{INDUSTRY} STR_PRESIDENT_NAME :{PRESIDENT_NAME} @@ -4948,8 +4982,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -4960,9 +4992,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/simplified_chinese.txt b/src/lang/simplified_chinese.txt index e0afeccb2e..7ce4e7f6a8 100644 --- a/src/lang/simplified_chinese.txt +++ b/src/lang/simplified_chinese.txt @@ -95,30 +95,30 @@ STR_CARGO_SINGULAR_FIZZY_DRINK :汽水 # Quantity of cargo STR_QUANTITY_NOTHING : -STR_QUANTITY_PASSENGERS :{COMMA} 位旅客 +STR_QUANTITY_PASSENGERS :{COMMA}{NBSP}位旅客 STR_QUANTITY_COAL :{WEIGHT_LONG} 煤炭 -STR_QUANTITY_MAIL :{COMMA} 包邮件 +STR_QUANTITY_MAIL :{COMMA}{NBSP}包邮件 STR_QUANTITY_OIL :{VOLUME_LONG} 原油 -STR_QUANTITY_LIVESTOCK :{COMMA} 头牲畜 -STR_QUANTITY_GOODS :{COMMA} 件货物 +STR_QUANTITY_LIVESTOCK :{COMMA}{NBSP}头牲畜 +STR_QUANTITY_GOODS :{COMMA}{NBSP}件货物 STR_QUANTITY_GRAIN :{WEIGHT_LONG} 谷物 STR_QUANTITY_WOOD :{WEIGHT_LONG} 木材 STR_QUANTITY_IRON_ORE :{WEIGHT_LONG} 铁矿石 STR_QUANTITY_STEEL :{WEIGHT_LONG} 钢材 -STR_QUANTITY_VALUABLES :{COMMA} 包贵重品 +STR_QUANTITY_VALUABLES :{COMMA}{NBSP}包贵重品 STR_QUANTITY_COPPER_ORE :{WEIGHT_LONG} 铜矿石 STR_QUANTITY_MAIZE :{WEIGHT_LONG} 玉米 STR_QUANTITY_FRUIT :{WEIGHT_LONG} 水果 -STR_QUANTITY_DIAMONDS :{COMMA} 包钻石 +STR_QUANTITY_DIAMONDS :{COMMA}{NBSP}包钻石 STR_QUANTITY_FOOD :{WEIGHT_LONG} 食品 STR_QUANTITY_PAPER :{WEIGHT_LONG} 纸张 -STR_QUANTITY_GOLD :{COMMA} 包黄金 +STR_QUANTITY_GOLD :{COMMA}{NBSP}包黄金 STR_QUANTITY_WATER :{VOLUME_LONG} 饮用水 STR_QUANTITY_WHEAT :{WEIGHT_LONG} 小麦 STR_QUANTITY_RUBBER :{VOLUME_LONG} 橡胶 STR_QUANTITY_SUGAR :{WEIGHT_LONG} 蔗糖 -STR_QUANTITY_TOYS :{COMMA} 件玩具 -STR_QUANTITY_SWEETS :{COMMA} 包糖果 +STR_QUANTITY_TOYS :{COMMA}{NBSP}件玩具 +STR_QUANTITY_SWEETS :{COMMA}{NBSP}包糖果 STR_QUANTITY_COLA :{VOLUME_LONG} 可乐 STR_QUANTITY_CANDYFLOSS :{WEIGHT_LONG} 棉花糖 STR_QUANTITY_BUBBLES :{COMMA} 个泡泡 @@ -165,12 +165,12 @@ STR_ABBREV_NONE :{TINY_FONT}无 STR_ABBREV_ALL :{TINY_FONT}全 # 'Mode' of transport for cargoes -STR_PASSENGERS :{COMMA} 旅客 -STR_BAGS :{COMMA} 包 -STR_TONS :{COMMA} 英吨 -STR_LITERS :{COMMA} 升 -STR_ITEMS :{COMMA} 件 -STR_CRATES :{COMMA} 件 +STR_PASSENGERS :{COMMA}{NBSP}旅客 +STR_BAGS :{COMMA}{NBSP}包 +STR_TONS :{COMMA}{NBSP}英吨 +STR_LITERS :{COMMA}{NBSP}升 +STR_ITEMS :{COMMA}{NBSP}头 +STR_CRATES :{COMMA}{NBSP}件 # Colours, do not shuffle STR_COLOUR_DARK_BLUE :深蓝色 @@ -191,37 +191,37 @@ STR_COLOUR_GREY :浅灰色 STR_COLOUR_WHITE :白 色 # Units used in OpenTTD -STR_UNITS_VELOCITY_IMPERIAL :{COMMA} 英里/小时 -STR_UNITS_VELOCITY_METRIC :{COMMA} 千米/小时 -STR_UNITS_VELOCITY_SI :{COMMA} 米/秒 +STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}英里/小时 +STR_UNITS_VELOCITY_METRIC :{COMMA}{NBSP}千米/小时 +STR_UNITS_VELOCITY_SI :{COMMA}{NBSP}米/秒 -STR_UNITS_POWER_IMPERIAL :{COMMA}马力 -STR_UNITS_POWER_METRIC :{COMMA}马力 -STR_UNITS_POWER_SI :{COMMA}千瓦 +STR_UNITS_POWER_IMPERIAL :{COMMA}{NBSP}匹马力 +STR_UNITS_POWER_METRIC :{COMMA}{NBSP}匹马力 +STR_UNITS_POWER_SI :{COMMA}{NBSP}千瓦 -STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}英吨 -STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}吨 -STR_UNITS_WEIGHT_SHORT_SI :{COMMA}千克 +STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}{NBSP}英吨 +STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}{NBSP}吨 +STR_UNITS_WEIGHT_SHORT_SI :{COMMA}{NBSP}千克 -STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA}英吨 -STR_UNITS_WEIGHT_LONG_METRIC :{COMMA} 吨 -STR_UNITS_WEIGHT_LONG_SI :{COMMA}千克 +STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA}{NBSP}英吨 +STR_UNITS_WEIGHT_LONG_METRIC :{COMMA}{NBSP}吨 +STR_UNITS_WEIGHT_LONG_SI :{COMMA}{NBSP}千克 -STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}加仑 -STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}升 -STR_UNITS_VOLUME_SHORT_SI :{COMMA}立方米 +STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}{NBSP}加仑 +STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}{NBSP}升 +STR_UNITS_VOLUME_SHORT_SI :{COMMA}{NBSP}立方米 -STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA}加仑 -STR_UNITS_VOLUME_LONG_METRIC :{COMMA}升 -STR_UNITS_VOLUME_LONG_SI :{COMMA}立方米 +STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA}{NBSP}加仑 +STR_UNITS_VOLUME_LONG_METRIC :{COMMA}{NBSP}升 +STR_UNITS_VOLUME_LONG_SI :{COMMA}{NBSP}立方米 -STR_UNITS_FORCE_IMPERIAL :{COMMA}磅力 -STR_UNITS_FORCE_METRIC :{COMMA}千克力 -STR_UNITS_FORCE_SI :{COMMA}千牛 +STR_UNITS_FORCE_IMPERIAL :{COMMA}{NBSP}磅力 +STR_UNITS_FORCE_METRIC :{COMMA}{NBSP}千克力 +STR_UNITS_FORCE_SI :{COMMA}{NBSP}千牛 -STR_UNITS_HEIGHT_IMPERIAL :{COMMA}英尺 -STR_UNITS_HEIGHT_METRIC :{COMMA}米 -STR_UNITS_HEIGHT_SI :{COMMA}米 +STR_UNITS_HEIGHT_IMPERIAL :{COMMA}{NBSP}英尺 +STR_UNITS_HEIGHT_METRIC :{COMMA}{NBSP}米 +STR_UNITS_HEIGHT_SI :{COMMA}{NBSP}米 # Common window strings STR_LIST_FILTER_TITLE :{BLACK}过滤字串: @@ -248,6 +248,17 @@ STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}滚动 STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}滚动条 - 左右滚动列表 STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}拆除地块上的建筑物等设施,按住Ctrl键选择对角线区域,按住Shift键操作只提示预计成本 +# Show engines button +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}显示被隐藏的 +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK}显示被隐藏的 +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}显示被隐藏的 +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}显示被隐藏的 + +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}如启用此按键,被隐藏的铁路列车也会被显示出来 +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE_TOOLTIP :{BLACK}如启用此按键,被隐藏的路面车辆也会被显示出来 +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}如启用此按键,被隐藏的船舶也会被显示出来 +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}如启用此按键,被隐藏的飞机也会被显示出来 + # Query window STR_BUTTON_DEFAULT :{BLACK}默认 STR_BUTTON_CANCEL :{BLACK}取消 @@ -361,7 +372,7 @@ STR_SCENEDIT_FILE_MENU_QUIT :退出 ############ range for settings menu starts STR_SETTINGS_MENU_GAME_OPTIONS :游戏选项 -STR_SETTINGS_MENU_CONFIG_SETTINGS :高级设置 +STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :设置 STR_SETTINGS_MENU_SCRIPT_SETTINGS :AI / 游戏脚本设定 STR_SETTINGS_MENU_NEWGRF_SETTINGS :NewGRF 设置 STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :透明选项 @@ -470,7 +481,7 @@ STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :切换边界框 STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :切换脏方块的颜色 ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window STR_ORDINAL_NUMBER_1ST :1号 STR_ORDINAL_NUMBER_2ND :2号 STR_ORDINAL_NUMBER_3RD :3号 @@ -486,22 +497,40 @@ STR_ORDINAL_NUMBER_12TH :12号 STR_ORDINAL_NUMBER_13TH :13号 STR_ORDINAL_NUMBER_14TH :14号 STR_ORDINAL_NUMBER_15TH :15号 -STR_ORDINAL_NUMBER_16TH :16号 -STR_ORDINAL_NUMBER_17TH :17号 -STR_ORDINAL_NUMBER_18TH :18号 -STR_ORDINAL_NUMBER_19TH :19号 -STR_ORDINAL_NUMBER_20TH :20号 -STR_ORDINAL_NUMBER_21ST :21号 -STR_ORDINAL_NUMBER_22ND :22号 -STR_ORDINAL_NUMBER_23RD :23号 -STR_ORDINAL_NUMBER_24TH :24号 -STR_ORDINAL_NUMBER_25TH :25号 -STR_ORDINAL_NUMBER_26TH :26号 -STR_ORDINAL_NUMBER_27TH :27号 -STR_ORDINAL_NUMBER_28TH :28号 -STR_ORDINAL_NUMBER_29TH :29号 -STR_ORDINAL_NUMBER_30TH :30号 -STR_ORDINAL_NUMBER_31ST :31号 +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :1号 +STR_DAY_NUMBER_2ND :2号 +STR_DAY_NUMBER_3RD :3号 +STR_DAY_NUMBER_4TH :4号 +STR_DAY_NUMBER_5TH :5号 +STR_DAY_NUMBER_6TH :6号 +STR_DAY_NUMBER_7TH :7号 +STR_DAY_NUMBER_8TH :8号 +STR_DAY_NUMBER_9TH :9号 +STR_DAY_NUMBER_10TH :10号 +STR_DAY_NUMBER_11TH :11号 +STR_DAY_NUMBER_12TH :12号 +STR_DAY_NUMBER_13TH :13号 +STR_DAY_NUMBER_14TH :14号 +STR_DAY_NUMBER_15TH :15号 +STR_DAY_NUMBER_16TH :16号 +STR_DAY_NUMBER_17TH :17号 +STR_DAY_NUMBER_18TH :18号 +STR_DAY_NUMBER_19TH :19号 +STR_DAY_NUMBER_20TH :20号 +STR_DAY_NUMBER_21ST :21号 +STR_DAY_NUMBER_22ND :22号 +STR_DAY_NUMBER_23RD :23号 +STR_DAY_NUMBER_24TH :24号 +STR_DAY_NUMBER_25TH :25号 +STR_DAY_NUMBER_26TH :26号 +STR_DAY_NUMBER_27TH :27号 +STR_DAY_NUMBER_28TH :28号 +STR_DAY_NUMBER_29TH :29号 +STR_DAY_NUMBER_30TH :30号 +STR_DAY_NUMBER_31ST :31号 ############ range for days ends ############ range for months starts @@ -810,13 +839,12 @@ STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}{VEHICLE STR_NEWS_SHIP_IS_WAITING :{WHITE}{VEHICLE} 正在船坞待命 STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE} 正在机库待命 -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE +# Order review system / warnings STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE} 的调度计划太少 STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE}的调度计划中有无效调度命令 STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE} 有重复调度命令 STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE}的调度计划有无效的车站 -# end of order system +STR_NEWS_PLANE_USES_TOO_SHORT_RUNWAY :{WHITE}{VEHICLE} 的计划列表中有机场跑道太短不足及起降 STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} 即将达到报废年限 STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} 已经达到报废年限 @@ -899,10 +927,6 @@ STR_GAME_OPTIONS_CURRENCY_GEL :格鲁吉亚拉 STR_GAME_OPTIONS_CURRENCY_IRR :伊朗里亚尔(IRR) ############ end of currency region - -############ start of measuring units region -############ end of measuring units region - STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}汽车行驶 STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}选择汽车行驶的方向 STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :左侧通行 @@ -938,11 +962,13 @@ STR_GAME_OPTIONS_TOWN_NAME_CATALAN :加泰罗尼亚 STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}自动保存 STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}选择自动保存的周期 +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :关闭 STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :每月 STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :每 3 个月 STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :每 6 个月 STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :每 12 个月 +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}语言 STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}选择界面语言 @@ -954,8 +980,12 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}屏幕 STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}选择要使用的屏幕分辨率 STR_GAME_OPTIONS_RESOLUTION_OTHER :其他 -STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}屏幕截图类型 -STR_GAME_OPTIONS_SCREENSHOT_FORMAT_TOOLTIP :{BLACK}选择屏幕截图类型 +STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}界面大小 +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}选择使用的界面元素大小 + +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :正常大小 +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :两倍大小 +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :四倍大小 STR_GAME_OPTIONS_BASE_GRF :{BLACK}基础图形组 STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}选择要使用的基础图形组 @@ -971,6 +1001,7 @@ STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}选择 STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} 文件已损坏 STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}有关基础音乐组的附加信息 +STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}无法撷取可用的屏幕分辨率清单 STR_ERROR_FULLSCREEN_FAILED :{WHITE}无法切换到全屏模式{}尝试使用不同的分辨率 # Custom currency window @@ -1049,6 +1080,7 @@ STR_TERRAIN_TYPE_VERY_FLAT :非常平整 STR_TERRAIN_TYPE_FLAT :平整 STR_TERRAIN_TYPE_HILLY :丘陵 STR_TERRAIN_TYPE_MOUNTAINOUS :山地 +STR_TERRAIN_TYPE_ALPINIST :多山 STR_CITY_APPROVAL_PERMISSIVE :宽容 STR_CITY_APPROVAL_TOLERANT :隐忍 @@ -1056,8 +1088,8 @@ STR_CITY_APPROVAL_HOSTILE :对立 STR_WARNING_NO_SUITABLE_AI :{WHITE}无合适的 AI 可用...{}你可以在线下载各种 AI 。 -# Advanced settings window -STR_CONFIG_SETTING_CAPTION :{WHITE}高级设置 +# Settings tree window +STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}设置 STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}关键字过滤: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}展开全部 STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}关闭全部 @@ -1073,9 +1105,9 @@ STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :当前公司设 STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK}筛选设定: STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}适用范围: STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}仅显示修改过的选项 -STR_CONFIG_SETTING_RESTRICT_BASIC :基础设置 -STR_CONFIG_SETTING_RESTRICT_ADVANCED :高级设置 -STR_CONFIG_SETTING_RESTRICT_ALL :高级设置/全部设置 +STR_CONFIG_SETTING_RESTRICT_BASIC :基本 (仅显示重要设置) +STR_CONFIG_SETTING_RESTRICT_ADVANCED :高级 (显示大部份设置) +STR_CONFIG_SETTING_RESTRICT_ALL :专业 (显示所有设置) STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :修改默认值 STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :设置一个与当前游戏设置不同的值 @@ -1130,8 +1162,9 @@ STR_CONFIG_SETTING_DISASTERS_HELPTEXT :灾难可能引 STR_CONFIG_SETTING_CITY_APPROVAL :地区政府对区域改造的态度: {STRING} STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :设置相关参数以决定各公司造成的噪音及环境破坏时,各城镇对该公司的评价及未来区域建设的影响。 -STR_CONFIG_SETTING_BUILDONSLOPES :允许在斜坡和河岸上建设:{STRING} -STR_CONFIG_SETTING_BUILDONSLOPES_HELPTEXT :启用时轨道和站台能够建造在斜坡上,禁止时只能建设与斜坡方向相同的轨道,因而不需要改变地形 +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :最高地面高度:{STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :此设置决定地图上的山丘最高可以到达什么高度 +STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}您不能把最高地面高度设为这个值,因为地图上至少有一座山丘的高度比这个值还大 STR_CONFIG_SETTING_AUTOSLOPE :允许在建筑、轨道等下方改变地形(自动斜坡): {STRING} STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :允许在建筑和轨道下方改变地形而不需要拆除他们 STR_CONFIG_SETTING_CATCHMENT :允许更真实的客源范围:{STRING} @@ -1156,16 +1189,12 @@ STR_CONFIG_SETTING_FORBID_90_DEG :禁止列车和 STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :当水平方向轨道与垂直方向轨道交叉时,没有采用45度的轨道组合连接,而是采用轨道90度直接连接时,列车通过时需要90度转弯,当本设置”打开“时,将禁止火车90度转弯,本设置同样影响船只转弯时的航线。 STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :允许非毗邻站台合并:{STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :“打开”时允许为已经存在的车站添加不相邻的站台,建造新的部分时需要按住Ctrl键 -STR_CONFIG_SETTING_IMPROVEDLOAD :使用进阶的装货算法:{STRING} -STR_CONFIG_SETTING_IMPROVEDLOAD_HELPTEXT :“打开”时,多辆车在一个车站依次排队装货,只有当货物足够装满第一列车时才同时为下一列车装货 -STR_CONFIG_SETTING_GRADUAL_LOADING :装货时循序渐进:{STRING} -STR_CONFIG_SETTING_GRADUAL_LOADING_HELPTEXT :根据车辆的特定装货时间来逐渐装货, 而不要根据货物量在一定时间内一次装满全部货物 STR_CONFIG_SETTING_INFLATION :通货膨胀:{STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :“打开”通货膨胀时,支出比收入增长得稍快 -STR_CONFIG_SETTING_SELECTGOODS :仅在车站接受此货物时卸货:{STRING} -STR_CONFIG_SETTING_SELECTGOODS_HELPTEXT :“打开”时只有车站接收此货物时才卸载 STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :桥梁的最大长度: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :建设桥梁时允许的最大长度 +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :最高桥梁高度:{STRING} +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :桥梁与地面之间的最大高度 STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :隧道最大长度: {STRING} STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :建设隧道时允许的最大长度 STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :原料工业建设方式: {STRING} @@ -1191,8 +1220,6 @@ STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :设置车辆在 STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :近端 STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :中间 STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :远端 -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING :汽车自动排队 (有量子效应): {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING_HELPTEXT :“打开”时汽车在堵车的道路上排队等候,直到道路畅通 STR_CONFIG_SETTING_AUTOSCROLL :当鼠标移动到屏幕边缘时移动屏幕:{STRING} STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :启用后,鼠标移动到视点窗口边缘时,视点窗口自动滚动 STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :禁用 @@ -1223,10 +1250,6 @@ STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :允许在城镇 STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :“打开”时允许在城市所属的道路上建设通过式车站 STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :允许在竞争对手所属的道路上建通过式车站: {STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :“打开”时,允许在其它公司所属的道路上建设通过式车站 -STR_CONFIG_SETTING_ADJACENT_STATIONS :允许建设临近站台: {STRING} -STR_CONFIG_SETTING_ADJACENT_STATIONS_HELPTEXT :“打开”时,允许不同车站相邻 -STR_CONFIG_SETTING_DYNAMIC_ENGINES :允许使用多GRF运输工具: {STRING} -STR_CONFIG_SETTING_DYNAMIC_ENGINES_HELPTEXT :为旧版本的NewGRF准备的兼容性选项,不要禁止本选项,除非你明白你在做什么! STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}当有车辆时,不可能更改此设定。 STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :加强版固定资产维护: {STRING} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :固定资产会发生维护费用,“打开”本选项时,维护费用的增长会超过交通网络的增长规模,因而,对大公司影响更大。 @@ -1257,39 +1280,53 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :错误信息持 STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :红色窗口显示错误信息的持续时间,在这个时间内一些紧急的错误信息不会自动关闭,必须手动关闭 STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{COMMA} 秒 STR_CONFIG_SETTING_HOVER_DELAY :显示提示信息:{STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :设置当鼠标停留在某些界面时显示相应提示信息的延迟时间 -STR_CONFIG_SETTING_HOVER_DELAY_VALUE :停留{COMMA} 秒 +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :此设置决定鼠标停留在图标、按键或功能时显示提示信息的时间。如果此设置被赋值为 0,您必须揿住鼠标右键来显示图标、按键或功能的提示信息。 +STR_CONFIG_SETTING_HOVER_DELAY_VALUE :停留 {COMMA} 毫秒 STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :右键点击 STR_CONFIG_SETTING_POPULATION_IN_LABEL :在城镇名称的标签中同时显示人口:{STRING} STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :在地图城镇名称标签上显示人口数量 STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :图表曲线宽度: {STRING} STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :图表中曲线的宽度,细线清晰易读,粗线容易分辨颜色 +STR_CONFIG_SETTING_LANDSCAPE :景观: {STRING} +STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :此设置决定基本的游戏场景、有什么货物可供运输,以及城镇发展的所需条件。然而,NewGRF 及游戏脚本可以比此设置更加细致地设置游戏场景 STR_CONFIG_SETTING_LAND_GENERATOR :生成地形:{STRING} +STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :使用原始算法时,系统会依赖基础图形组去生成固定的地形。新算法则是一个建基于 Perlin 噪声原理的地形生成程序,并支援较为细致的地形设置 STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :原始算法 STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :新算法 +STR_CONFIG_SETTING_TERRAIN_TYPE :地貌类型: {STRING} +STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(仅限生成地图时) 多丘陵地形 +STR_CONFIG_SETTING_INDUSTRY_DENSITY :工业布局: {STRING} +STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :设置地图生成过程中,工业数量及一、二级工业比例。 STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :炼油厂距地图边缘的最大距离:{STRING} STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :炼油厂只能在地图边缘建设或者海岛海岸。 STR_CONFIG_SETTING_SNOWLINE_HEIGHT :雪线高度:{STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :地面粗糙度 (仅限 TerraGenesis):{STRING} +STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :控制在寒带气候中雪线高度.大雪会影响工业和城镇发展需求. +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :地面粗糙度 (仅限生成地图时):{STRING} +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(仅限新算法) 选择在地图上的山丘密度。光滑的地形会包含较少、相互之间较分散的山丘。粗糙的地形的山丘较密集,但可能会使地图显得重复 STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :非常光滑 STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :光滑 STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :粗糙 STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :非常粗糙 +STR_CONFIG_SETTING_VARIETY :多样的分发: {STRING} +STR_CONFIG_SETTING_VARIETY_HELPTEXT :(仅限新算法) 此设置控制地图是否同时包含多山及平坦的地带。由于此设置只会使地图的一部份変得较平坦,请把其他相关设置(如 "地形特点")的值设为 "山地" +STR_CONFIG_SETTING_RIVER_AMOUNT :河流数量: {STRING} +STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :选择生成河流的数量 STR_CONFIG_SETTING_TREE_PLACER :森林算法:{STRING} +STR_CONFIG_SETTING_TREE_PLACER_HELPTEXT :选择地图上树木的分布方式:“原版”树木各处一致分布,“改良”各类树木成片分布 STR_CONFIG_SETTING_TREE_PLACER_NONE :没有 STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :原始的 STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :增强的 +STR_CONFIG_SETTING_ROAD_SIDE :道路车辆: {STRING} +STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :选择道路通行方向 STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :高度图旋转:{STRING} STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :逆时针 STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :顺时针 STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :由水面场景得到的高度:{STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :允许调整地图边缘的地块地形:{STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES_HELPTEXT :禁用后,地图边缘将变成海洋 STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}一个或多个北边的地块不是闲置的 STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}一个或多个地图某边的地块不是水域 -STR_CONFIG_SETTING_STATION_SPREAD :车站最大占地: {STRING} +STR_CONFIG_SETTING_STATION_SPREAD :车站占地上限格数: {STRING} STR_CONFIG_SETTING_STATION_SPREAD_HELPTEXT :设置车站最大占地面积,注意:太大影响游戏速度 STR_CONFIG_SETTING_SERVICEATHELIPAD :直升机在降落平台自动保养:{STRING} STR_CONFIG_SETTING_SERVICEATHELIPAD_HELPTEXT :直升飞机在降落平台自动保养,即使机场没有机库 @@ -1336,17 +1373,15 @@ 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_AUTOSAVE :自动保存: {STRING} +STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :选择自动存档时间间隔 + STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :使用 {STRING} 形式的文件名存档 STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :游戏存档文件名中日期的格式 STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :完整时间 (2008年12月31日) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :英式时间 (31-12-2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :简短形式 (2008-12-31) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE :当NewGRF没有指定调色板时,使用: {STRING} -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_HELPTEXT :设置当NewGRF没有指定时的默认调色板 -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_DOS :默认使用 (D) 色板 -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_WIN :旧有 (W) 色板 - STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :开始新游戏时自动暂停: {STRING} STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :“打开”时,为了让玩家有时间研究地图,开启新游戏自动暂停游戏 STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :暂停时允许: {STRING} @@ -1429,7 +1464,7 @@ STR_CONFIG_SETTING_SERVINT_ISPERCENT :保养周期( STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :选择触发车辆保养的条件,距离上一次保养的时间或者与最高可靠性的百分比 STR_CONFIG_SETTING_SERVINT_TRAINS :火车默认保养周期:{STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :如果没有为火车直接指定保养周期,设定默认火车保养周期 -STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}天(%) +STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}天/% STR_CONFIG_SETTING_SERVINT_DISABLED :关闭 STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES :汽车默认保养周期:{STRING} STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES_HELPTEXT :如果没有为汽车指定保养周期,设定汽车的默认保养周期 @@ -1496,7 +1531,7 @@ STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT :选择以Ctrl+ STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE :在 {STRING} 年前自动设置悬臂信号 STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT :设置电子信号灯出现的时间,在此之前,使用悬臂信号灯(功能相同,外观不同) STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI :使用信号GUI: {STRING} -STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI_HELPTEXT :显示一个供选择信号灯的窗口,取代用Ctrl加点击的方式在各种形式信号灯之间切换的方法 +STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI_HELPTEXT :此设置让您在建造铁路信号灯时,看到一个包括所有信号灯种类的窗口,从而毋须按住 Ctrl 键再点击信号灯多次去更换信号灯的种类 STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE :默认建造的信号灯类型: {STRING} STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE_HELPTEXT :默认信号灯类型 STR_CONFIG_SETTING_DEFAULT_SIGNAL_NORMAL :通过信号灯 @@ -1568,12 +1603,10 @@ STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 / {COMMA} STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :没有 STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :初始城市规模因子:{STRING} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :游戏开局时,城市的平均规模相对于普通城镇的比值 -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :在道路建设过程中移除荒废的道路元素:{STRING} -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD_HELPTEXT :在道路重建改造过程中,移除荒废的道路元素 -STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :每 {STRING} 天更新一次统计图 +STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :每 {STRING}{NBSP}天刷新一次分配图 STR_CONFIG_SETTING_LINKGRAPH_INTERVAL_HELPTEXT :指定每次计算货物分配图之间的时间。由于每次重新计算只会处理一个货物分配图元件,因此本设定不代表“每若干日重新计算整个货物分配图”。{}如果此设定赋值越小,則系统需要使用更多处理器时间计算货物分配图。相反,如果此设定赋值越大,則货物被派往新路线所需的时间越长。 -STR_CONFIG_SETTING_LINKGRAPH_TIME :每次刷新货物分配图持续 {STRING} 天 +STR_CONFIG_SETTING_LINKGRAPH_TIME :容许系统用 {STRING}{NBSP}天时间刷新货物分配图 STR_CONFIG_SETTING_LINKGRAPH_TIME_HELPTEXT :當刷新货物分配图时,系统會衍生一条线程。本设定的值即为线程的持续时间。{}这设定赋值越小,线程越有可能在应当停止的时候还未完成,游戏会暂停运作至线程完成工作。相反,这设定赋值越大,則货物分配功能需要较长时间反映线路网変动的影晌。 STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :手动 STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :不对称 @@ -1583,7 +1616,7 @@ STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :假设有交通 STR_CONFIG_SETTING_DISTRIBUTION_MAIL :邮件分配方式:{STRING} STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :假设有交通路线连接甲、乙两站。“对称”指甲站往乙站的邮件数量與乙站往甲站的邮件数量大致相同。“不对称”指任何一站往另一站的邮件数量皆由系统随意决定。“手动”指系统不会自动分配邮件的目的地。 STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :装甲货物分配方式:{STRING} -STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :依原有设定,“装甲货物”包括溫带景观的“贵重品”、寒带景观的“金块”及沙漠景观的“钻石”。一些NewGRF可能有不同设置。{} 假设有交通路线连接甲、乙两站。“对称”指甲站往乙站的货物数量與乙站往甲站的装甲货物数量大致相同。“不对称”指任何一站往另一站的装甲货物数量皆由系统随意决定。“手动”指系统不会自动分配装甲货物的目的地。{} 建议的设定:在溫带景观应使用“对称”,因为银行会互相运送贵重品;而在寒带及沙漠景观应使用“不对称”,因为银行不会把金块或钻石送回矿场。 +STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :“装甲货物”包括溫带场景的“贵重品”、寒带场景的“金块”及沙漠场景的“钻石”。使用 NewGRF 可能会改変以上设置。{} 假设有交通路线连接甲、乙两站。“对称”指甲站往乙站的货物数量與乙站往甲站的装甲货物数量大致相同。“不对称”指任何一站往另一站的装甲货物数量皆由系统随意决定。“手动”指系统不会自动分配装甲货物的目的地。{} 建议在溫带及沙漠场景使用“对称”,因为银行之间会相互发送贵重品或钻石;在寒带则应使用“不对称”,因为银行不会把金块送回金矿。 STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :其他货物分配方式:{STRING} STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :如为此设置赋值“不对称”,则任何一站往另一站的货物数量皆由系统随意决定。如为此设置赋值“手动”,则系统不会依据交通路线分配货物的目的地。 STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :分配精确度:{STRING} @@ -1631,27 +1664,29 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :英制(呎) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :公制(米) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :国际单位制(米) -STR_CONFIG_SETTING_GUI :{ORANGE}界面 STR_CONFIG_SETTING_LOCALISATION :{ORANGE}本地化 -STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}建设 +STR_CONFIG_SETTING_GRAPHICS :{ORANGE}图形 +STR_CONFIG_SETTING_SOUND :{ORANGE}音效 +STR_CONFIG_SETTING_INTERFACE :{ORANGE}界面 +STR_CONFIG_SETTING_INTERFACE_GENERAL :{ORANGE}通用 +STR_CONFIG_SETTING_INTERFACE_VIEWPORTS :{ORANGE}视点 +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}建设 +STR_CONFIG_SETTING_ADVISORS :{ORANGE}消息/新闻 +STR_CONFIG_SETTING_COMPANY :{ORANGE}公司 +STR_CONFIG_SETTING_ACCOUNTING :{ORANGE}财务管理 STR_CONFIG_SETTING_VEHICLES :{ORANGE}车辆 -STR_CONFIG_SETTING_STATIONS :{ORANGE}车站 -STR_CONFIG_SETTING_ECONOMY :{ORANGE}经济 -STR_CONFIG_SETTING_LINKGRAPH :{ORANGE}货物分配 -STR_CONFIG_SETTING_AI :{ORANGE}竞争 -STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}显示选项 -STR_CONFIG_SETTING_INTERACTION :{ORANGE}互动 -STR_CONFIG_SETTING_SOUND :{ORANGE}音响效果 -STR_CONFIG_SETTING_NEWS :{ORANGE}新闻和消息 -STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}信号灯 -STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE}货物处理 -STR_CONFIG_SETTING_AI_NPC :{ORANGE}电脑玩家 -STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE}自动更新 -STR_CONFIG_SETTING_VEHICLES_SERVICING :{ORANGE}维修 +STR_CONFIG_SETTING_VEHICLES_PHYSICS :{ORANGE}物理 STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}经由 -STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}列车 -STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}城镇 -STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}工业设施 +STR_CONFIG_SETTING_LIMITATIONS :{ORANGE}限制 +STR_CONFIG_SETTING_ACCIDENTS :{ORANGE}灾难/事故 +STR_CONFIG_SETTING_GENWORLD :{ORANGE}生成地图 +STR_CONFIG_SETTING_ENVIRONMENT :{ORANGE}环境 +STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :{ORANGE}政府监管 +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}城镇 +STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}工业设施 +STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :{ORANGE}货物分配 +STR_CONFIG_SETTING_AI :{ORANGE}竞争 +STR_CONFIG_SETTING_AI_NPC :{ORANGE}电脑玩家 STR_CONFIG_SETTING_PATHFINDER_OPF :原始的 STR_CONFIG_SETTING_PATHFINDER_NPF :NPF @@ -1700,7 +1735,7 @@ STR_INTRO_MULTIPLAYER :{BLACK}联机 STR_INTRO_GAME_OPTIONS :{BLACK}游戏选项 STR_INTRO_HIGHSCORE :{BLACK}高分榜 -STR_INTRO_ADVANCED_SETTINGS :{BLACK}高级设置 +STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}设置 STR_INTRO_NEWGRF_SETTINGS :{BLACK}NewGRF 设置 STR_INTRO_ONLINE_CONTENT :{BLACK}在线查找扩展包 STR_INTRO_SCRIPT_SETTINGS :{BLACK}AI / 脚本 设定 @@ -1720,7 +1755,7 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}选择 ' STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}显示游戏选项 STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}显示高分榜 -STR_INTRO_TOOLTIP_ADVANCED_SETTINGS :{BLACK}显示高级设置 +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}显示设置 STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}显示GRF设定 STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}连接服务器并查找扩展包 STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}查看AI和脚本设定 @@ -1760,6 +1795,8 @@ STR_CHEAT_CHANGE_COMPANY :{LTBLUE}作为{ STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}神奇推土机 (清除工业设施和其他不可移除物): {ORANGE}{STRING} STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}隧道可以相交:{ORANGE}{STRING} STR_CHEAT_NO_JETCRASH :{LTBLUE}喷气式飞机不会(经常)在小机场坠毁:{ORANGE}{STRING} +STR_CHEAT_EDIT_MAX_HL :{LTBLUE}修改最高地面高度:{ORANGE}{NUM} +STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}修改地图上山丘的最高高度 STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE :温带景观 STR_CHEAT_SWITCH_CLIMATE_SUB_ARCTIC_LANDSCAPE :寒带景观 STR_CHEAT_SWITCH_CLIMATE_SUB_TROPICAL_LANDSCAPE :沙漠景观 @@ -1808,6 +1845,7 @@ STR_LIVERY_FREIGHT_TRAM :货运电车 STR_FACE_CAPTION :{WHITE}选择头像 STR_FACE_CANCEL_TOOLTIP :{BLACK}放弃新的头像 STR_FACE_OK_TOOLTIP :{BLACK}使用新的头像 +STR_FACE_RANDOM :{BLACK}随机种子 STR_FACE_MALE_BUTTON :{BLACK}男性 STR_FACE_MALE_TOOLTIP :{BLACK}选择男性的头像 @@ -2277,7 +2315,7 @@ STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}使用 STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}建设列车车库(可以购买或维护列车)按住 Shift 键显示预计费用。 STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}将铁路变为路点。按住 Ctrl 键允许合并路点。按住 Shift 键显示预计费用。 STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}建设火车站。按住 Ctrl 键允许合并站台。按住 Shift 键显示预计费用。 -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}设置铁路信号。按住 Ctrl 键可以切换悬臂式/电子式信号灯{}拖拽可以沿此分支建立信号灯。按住 Ctrl 键可以建立到下一个联结点。{}按住 Ctrl 键单击此按钮可以开关信号灯选择窗口{}按住 Shift 键显示预计费用 +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}建造铁路信号。{} 按住 Ctrl 键点选铁路,系统会切换悬臂式/电子式信号灯,或者更改被点选信号灯的种类{} 在一段直线铁路上拖拽,系统会依照设置的信号间距,沿铁路建立信号灯。如果按住 Ctrl 键拖拽,系统会建造信号灯至拖拽方向前的下一个道岔{} 如果按住 Shift 键点击铁路或在铁路上拖拽,系统会显示建置成本但不设置信号灯{} 如果按住 Ctrl 键点击此键,系统会切换信号灯选择窗口的显示状态 STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}建设铁路桥梁。按住 Shift 键显示预计费用。 STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}建设铁路隧道。按住 Shift 键显示预计费用。 STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}切换建设/拆除轨道、信号灯、路点和车站。按住 Ctrl 键可在移除路点和车站时同时移除轨道。 @@ -2317,14 +2355,14 @@ STR_STATION_CLASS_WAYP :路标 STR_BUILD_SIGNAL_CAPTION :{WHITE}信号灯 STR_BUILD_SIGNAL_SEMAPHORE_NORM_TOOLTIP :{BLACK}通过信号灯(悬臂){}是最基本的信号灯,只允许一列车进入该信号灯以后的区间 STR_BUILD_SIGNAL_SEMAPHORE_ENTRY_TOOLTIP :{BLACK}入口信号灯(悬臂){}在下一轨道区间上至少有一个出口信号灯是绿色时此信号亮绿灯,否则亮红灯 -STR_BUILD_SIGNAL_SEMAPHORE_EXIT_TOOLTIP :{BLACK}出口信号灯(悬臂){}运作等同于通过信号灯,但是对于触发入口及复合信号灯是必要的 -STR_BUILD_SIGNAL_SEMAPHORE_COMBO_TOOLTIP :{BLACK}复合信号灯(悬臂){}复合信号灯可完全担当入口信号灯和出口信号灯的功能,并可建立树状预警信号灯系统 +STR_BUILD_SIGNAL_SEMAPHORE_EXIT_TOOLTIP :{BLACK}出口信号灯(悬臂){}信号显示条件与通过信号灯相同,但是它的状态可以触发入口及复合信号灯 +STR_BUILD_SIGNAL_SEMAPHORE_COMBO_TOOLTIP :{BLACK}复合信号灯(悬臂){}复合信号灯是入口和出口信号灯的组合,这样允许建立大型“树状”预警信号灯系统 STR_BUILD_SIGNAL_SEMAPHORE_PBS_TOOLTIP :{BLACK}路径信号灯(悬臂){}路径信号灯为列车预留一条到安全停车位的路径,而其它路径仍然可以使用,从而允许一列以上的列车同时进入一个信号区间 STR_BUILD_SIGNAL_SEMAPHORE_PBS_OWAY_TOOLTIP :{BLACK}单向路径信号灯(悬臂){}路径信号灯为列车预留一条到安全停车位的路径,而其它路径仍然可以使用,从而允许一列以上的列车同时进入一个信号区间 STR_BUILD_SIGNAL_ELECTRIC_NORM_TOOLTIP :{BLACK}通过信号灯(电子){}是最基本的信号灯,只允许一列车进入该信号灯以后的区间 STR_BUILD_SIGNAL_ELECTRIC_ENTRY_TOOLTIP :{BLACK}入口信号灯(电子){}当下一轨道区间至少有一个出口信号灯是绿色时,此信号灯亮绿灯,否则亮红灯 -STR_BUILD_SIGNAL_ELECTRIC_EXIT_TOOLTIP :{BLACK}出口信号灯(电子){}运作等同与通过信号灯,但是对于触发入口及复合信号灯来说是必要的 -STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP :{BLACK}复合信号(电子){}复合信号灯可完全担当{}入口信号灯和出口信号灯的功能{}并可建立树状预警信号灯系统 +STR_BUILD_SIGNAL_ELECTRIC_EXIT_TOOLTIP :{BLACK}出口信号灯(电子){}信号显示条件与通过信号灯相同,但是它的状态可以触发入口及复合信号灯 +STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP :{BLACK}复合信号(电子){}复合信号灯是入口和出口信号灯的组合,这样允许建立大型“树状”预警信号灯系统 STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP :{BLACK}路径信号灯(电子){}路径信号灯为列车预留一条到安全停车位的路径,而其它路径仍然可以使用,从而允许一列以上的列车同时进入一个信号区间 STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP :{BLACK}单向路径信号灯(电子){}路径信号灯为列车预留一条到安全停车位的路径,而其它路径仍然可以使用,从而允许一列以上的列车同时进入一个信号区间 STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}信号灯转换工具{}按下此按钮,可以将已经存在的信号灯转化为选择的信号灯类型,按下CTRL键盘再点击,可以在电子和悬臂型之间转换 @@ -2518,7 +2556,7 @@ STR_INDUSTRY_CARGOES_CARGO_CAPTION :{WHITE}{STRING} STR_INDUSTRY_CARGOES_PRODUCERS :{WHITE}供应商 STR_INDUSTRY_CARGOES_CUSTOMERS :{WHITE}采购商 STR_INDUSTRY_CARGOES_HOUSES :{WHITE}房屋 -STR_INDUSTRY_CARGOES_INDUSTRY_TOOLTIP :{BLACK}点該工业可显示其上下游工业 +STR_INDUSTRY_CARGOES_INDUSTRY_TOOLTIP :{BLACK}点击查看上下游产业链 STR_INDUSTRY_CARGOES_CARGO_TOOLTIP :{BLACK}{STRING}{}点该货物可显示其上下游工业 STR_INDUSTRY_DISPLAY_CHAIN :{BLACK}显示产业链 STR_INDUSTRY_DISPLAY_CHAIN_TOOLTIP :{BLACK}显示货物的上下游工业 @@ -2649,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-2014 OpenTTD 团队 +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 OpenTTD 团队 # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}保存游戏 @@ -2684,13 +2722,12 @@ STR_MAPGEN_BY :{BLACK}* STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}城镇数量: STR_MAPGEN_DATE :{BLACK}日期: STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}工业数量: +STR_MAPGEN_MAX_HEIGHTLEVEL :{BLACK}最高地面高度: +STR_MAPGEN_MAX_HEIGHTLEVEL_UP :{BLACK}把地图上山丘的最高高度加 1 +STR_MAPGEN_MAX_HEIGHTLEVEL_DOWN :{BLACK}把地图上山丘的最高高度减 1 STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}雪线高度: STR_MAPGEN_SNOW_LINE_UP :{BLACK}提高雪线高度 STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}降低雪线高度 -STR_MAPGEN_RANDOM_SEED :{BLACK}随机种子: -STR_MAPGEN_RANDOM_SEED_HELP :{BLACK}点志这里可以输入一个随机种子 -STR_MAPGEN_RANDOM :{BLACK}随机种子 -STR_MAPGEN_RANDOM_HELP :{BLACK}改变生成地形所用的随机种子 STR_MAPGEN_LAND_GENERATOR :{BLACK}生成地形: STR_MAPGEN_TREE_PLACER :{BLACK}生成树木: STR_MAPGEN_TERRAIN_TYPE :{BLACK}地形特点: @@ -2717,7 +2754,7 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}高度 STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}地图尺寸: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} × {NUM} -STR_MAPGEN_RANDOM_SEED_OSKTITLE :{BLACK}请输入随机种子 +STR_MAPGEN_MAX_HEIGHTLEVEL_QUERY_CAPT :{WHITE}改変地图上的最高地面高度 STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}改变雪线高度 STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}改变游戏开始的日期 @@ -2772,6 +2809,8 @@ STR_NEWGRF_SETTINGS_MOVEUP :{BLACK}上移 STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP :{BLACK}将选定的 NewGRF 文件向上移动 STR_NEWGRF_SETTINGS_MOVEDOWN :{BLACK}下移 STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP :{BLACK}将选定的 NewGRF 文件向下移动 +STR_NEWGRF_SETTINGS_UPGRADE :{BLACK}更新 +STR_NEWGRF_SETTINGS_UPGRADE_TOOLTIP :{BLACK}更新当前已安装的扩展包 STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}已经安装的 NewGRF 文件列表{}点击可以改变参数 STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}设置参数 @@ -2796,6 +2835,16 @@ STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}没有找 STR_NEWGRF_SETTINGS_DISABLED :{RED}禁用 STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}与此版本OpenTTD不兼容 +# NewGRF save preset window +STR_SAVE_PRESET_CAPTION :{WHITE}保存预设值 +STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK}可用的预设名称,请选择一个来复制到存档列表中 +STR_SAVE_PRESET_TITLE :{BLACK}输入预设名称 +STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}保存预设值到当前选定的名称 +STR_SAVE_PRESET_CANCEL :{BLACK}取消 +STR_SAVE_PRESET_CANCEL_TOOLTIP :{BLACK}不修改默认设置 +STR_SAVE_PRESET_SAVE :{BLACK}保存 +STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}以当前选定的名称保存预设值 + # NewGRF parameters window STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}调整 NewGRF 参数 STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}关闭 @@ -2819,14 +2868,17 @@ STR_NEWGRF_INSPECT_QUERY_CAPTION :{WHITE}NewGRF v # Sprite aligner window STR_SPRITE_ALIGNER_CAPTION :{WHITE}定位 sprite {COMMA} ({STRING}) STR_SPRITE_ALIGNER_NEXT_BUTTON :{BLACK}下一个 sprite -STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}继续处理下个正常的 sprite,略过任何伪 (pseudo)/重新着色/文字 sprite 及结尾的换行标记。 +STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}继续处理下个正常的图形元素,略过任何虚位/重新着色/文字字型相关的图形元素;并且在处理到最后的图形元素后,返回第一个图形元素继续处理。 STR_SPRITE_ALIGNER_GOTO_BUTTON :{BLACK}前往 sprite STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}前往选定的sprite。若其不正常,则继续前进到下个sprite。 STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}上一个 sprite -STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}继续处理上一个正常的 sprite,略过任何伪 (pseudo)/重新着色/文字 sprite 及开头的换行标记。 +STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}继续处理上一个正常的图形元素,略过任何虚位/重新着色/文字字型相关的图形元素;并且在处理到第一个图形元素后,返回最后的图形元素继续处理。 STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}显示目前选取的 sprite。当 sprite 正在描绘时会忽略其定位。 STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}移动 sprite 到指定的 X 与 Y 座标位移 -STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X 座标位移: {NUM}, Y 座标位移: {NUM} +STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}重置相关 +STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}重置当前相关偏移 +STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}X 偏移: {NUM}, Y 偏移: {NUM} (绝对) +STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}X 偏移: {NUM}, Y 偏移: {NUM} (相对) STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}选择 sprite STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}请从屏幕画面中任意选取一个 sprite @@ -2938,8 +2990,8 @@ STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}已运输 {GREEN} STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}已运输:{CARGO_TINY} /{RED}总需求: {CARGO_LONG} STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (已运输) -STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}城镇每 {ORANGE}{COMMA}{BLACK} 天成长一次 -STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}城镇每 {ORANGE}{COMMA}{BLACK} 天成长一次(加速中) +STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}城镇每 {ORANGE}{COMMA}{BLACK}{NBSP}天成长一次 +STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}城镇每 {ORANGE}{COMMA}{BLACK}{NBSP}天成长一次 (正接受资助) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK} 城镇发展正在 {RED}停滞 {BLACK}! STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}当前城镇噪音: {ORANGE}{COMMA}{BLACK} 最大: {ORANGE}{COMMA} STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}将屏幕中心移动到城镇所在的位置. 单击的同时按住Ctrl会在新视点中显示城镇位置 @@ -2999,7 +3051,7 @@ STR_GOAL_QUESTION_CAPTION_INFORMATION :信息 STR_GOAL_QUESTION_CAPTION_WARNING :警告 STR_GOAL_QUESTION_CAPTION_ERROR :错误 -### Start of Goal Question button list +############ Start of Goal Question button list STR_GOAL_QUESTION_BUTTON_CANCEL :取消 STR_GOAL_QUESTION_BUTTON_OK :确定 STR_GOAL_QUESTION_BUTTON_NO :取消 @@ -3018,6 +3070,7 @@ STR_GOAL_QUESTION_BUTTON_RESTART :重新开启 STR_GOAL_QUESTION_BUTTON_POSTPONE :暂缓 STR_GOAL_QUESTION_BUTTON_SURRENDER :放弃 STR_GOAL_QUESTION_BUTTON_CLOSE :关闭 +############ End of Goal Question button list # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}财政补贴项目 @@ -3053,7 +3106,6 @@ STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}选择 # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} -STR_STATION_VIEW_WAITING_TITLE :{BLACK}等待:{WHITE}{STRING} STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} 转运自 {STATION}) STR_STATION_VIEW_RESERVED :{YELLOW}({CARGO_SHORT} 等待装货) @@ -3086,12 +3138,12 @@ STR_STATION_VIEW_VIA_HERE :{GREEN}{CARGO_S STR_STATION_VIEW_TO_HERE :{GREEN}{CARGO_SHORT} 前往 本站 STR_STATION_VIEW_NONSTOP :{YELLOW}{CARGO_SHORT} 直达该站 -STR_STATION_VIEW_GROUP_S_V_D :來源-途经-目的地 -STR_STATION_VIEW_GROUP_S_D_V :來源-目的地-途经 -STR_STATION_VIEW_GROUP_V_S_D :途经-來源-目的地 -STR_STATION_VIEW_GROUP_V_D_S :途经-目的地-來源 -STR_STATION_VIEW_GROUP_D_S_V :目的地-來源-途经 -STR_STATION_VIEW_GROUP_D_V_S :目的地-途经-來源 +STR_STATION_VIEW_GROUP_S_V_D :来源-途经-目的地 +STR_STATION_VIEW_GROUP_S_D_V :来源-目的地-途经 +STR_STATION_VIEW_GROUP_V_S_D :途经-来源-目的地 +STR_STATION_VIEW_GROUP_V_D_S :途经-目的地-来源 +STR_STATION_VIEW_GROUP_D_S_V :目的地-来源-途经 +STR_STATION_VIEW_GROUP_D_V_S :目的地-途经-来源 ############ range for rating starts STR_CARGO_RATING_APPALLING :垃圾(最差评价) @@ -3303,11 +3355,13 @@ STR_GROUP_DELETE_TOOLTIP :{BLACK}删除 STR_GROUP_RENAME_TOOLTIP :{BLACK}重命名该分组 STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}点击以停止本组自动更新功能的使用 +STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}删除分组 +STR_GROUP_DELETE_QUERY_TEXT :{WHITE}确定要删除这个分组及其下级分组么? STR_GROUP_ADD_SHARED_VEHICLE :添加共享车辆 STR_GROUP_REMOVE_ALL_VEHICLES :移除所有车辆 -STR_GROUP_RENAME_CAPTION :{BLACK}移除分组 +STR_GROUP_RENAME_CAPTION :{BLACK}重命名分组 # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :购买普通列车 @@ -3341,10 +3395,10 @@ STR_PURCHASE_INFO_ALL_BUT :除了 {CARGO_L STR_PURCHASE_INFO_MAX_TE :{BLACK}最大牵引力:{GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}航行距离: {GOLD}{COMMA} 格 -STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}列车选择列表 - 点击可以查看详细信息 -STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}汽车列表 - 点击可以查看详细信息 -STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}船只列表 - 点击可以查看详细信息 -STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}飞机列表 - 点击可以查看详细信息 +STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}列车车辆选择列表。点击车辆查看详细信息,或者按住 Ctrl 键再点击以切换是否隐藏车辆的种类 +STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}路面车辆选择列表。点击车辆查看详细信息,或者按住 Ctrl 键再点击以切换是否隐藏车辆的种类 +STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}船舶选择列表。点击船舶查看详细信息,或者按住 Ctrl 键再点击以切换是否隐藏船舶的种类 +STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}飞行器选择列表。点击飞行器查看详细信息,或者按住 Ctrl 键再点击以切换是否隐藏飞行器的种类 STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}购买车头/车厢 STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}购买汽车 @@ -3366,6 +3420,21 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}重命 STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}重命名船只型号 STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}重命名飞机型号 +STR_BUY_VEHICLE_TRAIN_HIDE_TOGGLE_BUTTON :{BLACK}隐藏 +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_TOGGLE_BUTTON :{BLACK}隐藏 +STR_BUY_VEHICLE_SHIP_HIDE_TOGGLE_BUTTON :{BLACK}隐藏 +STR_BUY_VEHICLE_AIRCRAFT_HIDE_TOGGLE_BUTTON :{BLACK}隐藏 + +STR_BUY_VEHICLE_TRAIN_SHOW_TOGGLE_BUTTON :{BLACK}显示 +STR_BUY_VEHICLE_ROAD_VEHICLE_SHOW_TOGGLE_BUTTON :{BLACK}显示 +STR_BUY_VEHICLE_SHIP_SHOW_TOGGLE_BUTTON :{BLACK}显示 +STR_BUY_VEHICLE_AIRCRAFT_SHOW_TOGGLE_BUTTON :{BLACK}显示 + +STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}切换隐藏还是显示有关的铁路列车类型 +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}切换隐藏还是显示有关的路面车辆类型 +STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}切换隐藏还是显示有关的船舶类型 +STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}切换是否显示飞机类型 + STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}重命名车辆的类型 STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}重命名汽车型号 STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}重命名船只型号 @@ -3419,7 +3488,7 @@ STR_DEPOT_CLONE_ROAD_VEHICLE :{BLACK}克隆 STR_DEPOT_CLONE_SHIP :{BLACK}克隆船只 STR_DEPOT_CLONE_AIRCRAFT :{BLACK}克隆飞机 -STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}复制列车。按此按钮后{}点击一辆在车库内或外面的列车即可{}按住 Ctrl 键单击可以同时共享调度计划,按住 Shift 键单击可以显示所需资金 +STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}点击此键后,再点击任何列车,即会购买一列跟它一样的列车。{}如果点击此键后,按住 Ctrl 键点击列车,则新列车会与旧列车共享调度计划。{}如果点击此键后,按住 Shift 键点击列车,系统会显示购买复制列车的所需资金,但不会建造新列车。 STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}复制汽车。按此按钮后{}点击一辆在车库内或外面的汽车即可{}按住 Ctrl 键单击可以同时共享调度计划,按住 Shift 键单击可以显示所需资金 STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}复制船只。按此按钮后{}点击一个在船坞内或外面的船只即可。按住 Ctrl 键单击可以同时共享调度计划,按住 Shift 键单击可以显示所需资金 STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}复制飞机。按此按钮后{}点击一个在机库内或外面的飞机即可。按住 Ctrl 键单击可以同时共享调度计划,按住 Shift 键单击可以显示所需资金 @@ -3470,6 +3539,11 @@ STR_REPLACE_VEHICLE_ROAD_VEHICLE :汽车 STR_REPLACE_VEHICLE_SHIP :船只 STR_REPLACE_VEHICLE_AIRCRAFT :飞机 +STR_REPLACE_VEHICLE_VEHICLES_IN_USE :{YELLOW}正在使用的运输工具 +STR_REPLACE_VEHICLE_VEHICLES_IN_USE_TOOLTIP :{BLACK}此行显示您拥有的运输工具 +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES :{YELLOW}可用的运输工具 +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES_TOOLTIP :{BLACK}此行显示可供替换的运输工具 + STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}选择要更新的车辆类型 STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}选择用来替换左侧指定车辆的新车辆 @@ -3594,7 +3668,7 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}运载 STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}转运成本: {LTBLUE}{CURRENCY_LONG} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}保养周期:{LTBLUE}{COMMA}天{BLACK} 上次保养:{LTBLUE}{DATE_LONG} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}保养周期:{LTBLUE}{COMMA}天{BLACK} 上次保养日期:{LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}保养周期:{LTBLUE}{COMMA}%{BLACK} 上次保养:{LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}增大检修时间间隔,以10为单位进行调整. 按住Ctrl同时点击则以5为单位进行调整 STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}减少检修时间间隔,以10为单位进行调整. 按住Ctrl同时点击则以5为单位进行调整 @@ -3824,10 +3898,14 @@ STR_TIMETABLE_TRAVEL_NOT_TIMETABLED :行驶 (无时 STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :限速 {2:VELOCITY} (无时间表) STR_TIMETABLE_TRAVEL_FOR :途中行驶 {STRING} STR_TIMETABLE_TRAVEL_FOR_SPEED :开往{STRING} ,限速为 {VELOCITY} +STR_TIMETABLE_TRAVEL_FOR_ESTIMATED :行驶 ({STRING}, 无时间表) +STR_TIMETABLE_TRAVEL_FOR_SPEED_ESTIMATED :前往 {STRING},以最大速度 {VELOCITY} +STR_TIMETABLE_STAY_FOR_ESTIMATED :(停靠 {STRING}, 无时间表) +STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(驶往 {STRING}, 无时间表) STR_TIMETABLE_STAY_FOR :并且停留 {STRING} STR_TIMETABLE_AND_TRAVEL_FOR :并行驶{STRING} -STR_TIMETABLE_DAYS :{COMMA} 天 -STR_TIMETABLE_TICKS :{COMMA} 个时间标记 +STR_TIMETABLE_DAYS :{COMMA}{NBSP}天 +STR_TIMETABLE_TICKS :{COMMA}{NBSP}个时间标记 STR_TIMETABLE_TOTAL_TIME :{BLACK}该时间表需要 {STRING} 完成 STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}该时间表至少需要 {STRING} 完成(并非全部计划的时间) @@ -4065,6 +4143,7 @@ STR_ERROR_EXCAVATION_WOULD_DAMAGE :{WHITE}挖掘 STR_ERROR_ALREADY_AT_SEA_LEVEL :{WHITE}已经是海平面了 STR_ERROR_TOO_HIGH :{WHITE}太高了 STR_ERROR_ALREADY_LEVELLED :{WHITE}... 已经平了 +STR_ERROR_BRIDGE_TOO_HIGH_AFTER_LOWER_LAND :{WHITE}这样的话,在它上面的桥梁会太高 # Company related errors STR_ERROR_CAN_T_CHANGE_COMPANY_NAME :{WHITE}不能为公司更名…… @@ -4091,7 +4170,7 @@ STR_ERROR_TOO_CLOSE_TO_EDGE_OF_MAP_SUB :{WHITE}太靠 STR_ERROR_TOO_CLOSE_TO_ANOTHER_TOWN :{WHITE}太靠近另一个城镇了 STR_ERROR_TOO_MANY_TOWNS :{WHITE}城镇太多了 STR_ERROR_NO_SPACE_FOR_TOWN :{WHITE}地图上没有多余的地方了 -STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}这个城镇不会修建道路{}请在在"高级设置->经济->城镇"处{}设置允许城镇建设道路 +STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}城镇不会修建道路{}您可以在“设置->环境->城镇”选项下开启建设道路的功能 STR_ERROR_ROAD_WORKS_IN_PROGRESS :{WHITE}正在进行道路工程 STR_ERROR_TOWN_CAN_T_DELETE :{WHITE}无法删除城镇...{}城镇范围内还有车站、车库或无法移除的区块 STR_ERROR_STATUE_NO_SUITABLE_PLACE :{WHITE}... 城市中心没有合适的地方放置公司塑像 @@ -4115,6 +4194,9 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}林场 STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... 只能在雪线以上建造 STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... 只能在雪线以下建造 +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}没有合适的地方建设 “{STRING}” 工业设施 +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}请更改参数以生成较好的场景 + # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}不能在这里建设火车站…… STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}不能建设公共汽车站 @@ -4251,6 +4333,7 @@ STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}必须 STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}起止点不能相同 STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}桥梁起止点不在同一水平高度 STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}桥梁对于现有地形来说位置太低了 +STR_ERROR_BRIDGE_TOO_HIGH_FOR_TERRAIN :{WHITE}这桥梁对这个地形而言太高了 STR_ERROR_START_AND_END_MUST_BE_IN :{WHITE}起止两端必须在一条线上 STR_ERROR_ENDS_OF_BRIDGE_MUST_BOTH :{WHITE}桥的两端必须都位于地面上 STR_ERROR_BRIDGE_TOO_LONG :{WHITE}... 桥梁太长 @@ -4277,6 +4360,7 @@ STR_ERROR_YOU_ALREADY_OWN_IT :{WHITE}你已 STR_ERROR_GROUP_CAN_T_CREATE :{WHITE}无法新建分组…… STR_ERROR_GROUP_CAN_T_DELETE :{WHITE}无法删除分组…… STR_ERROR_GROUP_CAN_T_RENAME :{WHITE}无法重命名分组…… +STR_ERROR_GROUP_CAN_T_SET_PARENT :{WHITE}无法移动分组... STR_ERROR_GROUP_CAN_T_REMOVE_ALL_VEHICLES :{WHITE}无法从该组移除所有运输工具 STR_ERROR_GROUP_CAN_T_ADD_VEHICLE :{WHITE}无法添加运输工具到该组…… STR_ERROR_GROUP_CAN_T_ADD_SHARED_VEHICLE :{WHITE}无法添加共享指令的运输工具到该组…… @@ -4814,6 +4898,7 @@ STR_COMPANY_NAME :{COMPANY} STR_COMPANY_NAME_COMPANY_NUM :{COMPANY} {COMPANY_NUM} STR_DEPOT_NAME :{DEPOT} STR_ENGINE_NAME :{ENGINE} +STR_HIDDEN_ENGINE_NAME :{ENGINE} (隐藏) STR_GROUP_NAME :{GROUP} STR_INDUSTRY_NAME :{INDUSTRY} STR_PRESIDENT_NAME :{PRESIDENT_NAME} @@ -4849,8 +4934,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -4861,9 +4944,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/slovak.txt b/src/lang/slovak.txt index 5b13f02fc7..223f0491bf 100644 --- a/src/lang/slovak.txt +++ b/src/lang/slovak.txt @@ -3,8 +3,8 @@ ##isocode sk_SK ##plural 10 ##textdir ltr -##digitsep . -##digitsepcur . +##digitsep {NBSP} +##digitsepcur {NBSP} ##decimalsep , ##winlangid 0x041b ##grflangid 0x16 @@ -159,7 +159,7 @@ STR_CARGO_SINGULAR_FIZZY_DRINK.g :malinovky # Quantity of cargo STR_QUANTITY_NOTHING : -STR_QUANTITY_PASSENGERS :{COMMA} cestujuci{P "" "" ch} +STR_QUANTITY_PASSENGERS :{COMMA}{NBSP}cestujuci{P "" "" ch} STR_QUANTITY_COAL :{WEIGHT_LONG} uhlia STR_QUANTITY_MAIL :{COMMA} balik{P "" y ov} pošty STR_QUANTITY_OIL :{VOLUME_LONG} ropy @@ -312,6 +312,17 @@ STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Navigacn STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Posuvná lišta - posúva zoznam doľava/doprava STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Demolácia budov atď. na rovný terén. CTRL označí oblasť diagonálne. Shift zobrazí odhad nákladov +# Show engines button +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}Ukáž skryté +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK}Ukáž skryté +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}Ukáž skryté +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}Ukáž skryté + +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}Zapnutím tohoto tlačítka sa budú zobrazovať aj skyté koľajové vozidlá +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE_TOOLTIP :{BLACK}Zapnutím tohoto tlačítka sa budú zobrazovať aj skyté cestné vozidlá +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}Zapnutím tohoto tlačítka sa budú zobrazovať aj skyté lode +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Zapnutím tohoto tlačítka sa budú zobrazovať aj skyté lietadlá + # Query window STR_BUTTON_DEFAULT :{BLACK}Štandardné STR_BUTTON_CANCEL :{BLACK}Zrušiť @@ -425,7 +436,7 @@ STR_SCENEDIT_FILE_MENU_QUIT :Koniec ############ range for settings menu starts STR_SETTINGS_MENU_GAME_OPTIONS :Nastavenia hry -STR_SETTINGS_MENU_CONFIG_SETTINGS :Rozšírené nastavenia +STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Nastavenia STR_SETTINGS_MENU_SCRIPT_SETTINGS :Umelá inteligencia / Nastavenia hry STR_SETTINGS_MENU_NEWGRF_SETTINGS :Nastavenie NewGRF STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Nastavenie priehľadnosti @@ -534,7 +545,7 @@ STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Prepnúť okraj STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Prepnutie zafarbenia blokov hliny ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window STR_ORDINAL_NUMBER_1ST :1. STR_ORDINAL_NUMBER_2ND :2. STR_ORDINAL_NUMBER_3RD :3. @@ -550,22 +561,40 @@ STR_ORDINAL_NUMBER_12TH :12. STR_ORDINAL_NUMBER_13TH :13. STR_ORDINAL_NUMBER_14TH :14. STR_ORDINAL_NUMBER_15TH :15. -STR_ORDINAL_NUMBER_16TH :16. -STR_ORDINAL_NUMBER_17TH :17. -STR_ORDINAL_NUMBER_18TH :18. -STR_ORDINAL_NUMBER_19TH :19. -STR_ORDINAL_NUMBER_20TH :20. -STR_ORDINAL_NUMBER_21ST :21. -STR_ORDINAL_NUMBER_22ND :22. -STR_ORDINAL_NUMBER_23RD :23. -STR_ORDINAL_NUMBER_24TH :24. -STR_ORDINAL_NUMBER_25TH :25. -STR_ORDINAL_NUMBER_26TH :26. -STR_ORDINAL_NUMBER_27TH :27. -STR_ORDINAL_NUMBER_28TH :28. -STR_ORDINAL_NUMBER_29TH :29. -STR_ORDINAL_NUMBER_30TH :30. -STR_ORDINAL_NUMBER_31ST :31. +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :1. +STR_DAY_NUMBER_2ND :2. +STR_DAY_NUMBER_3RD :3. +STR_DAY_NUMBER_4TH :4. +STR_DAY_NUMBER_5TH :5. +STR_DAY_NUMBER_6TH :6. +STR_DAY_NUMBER_7TH :7. +STR_DAY_NUMBER_8TH :8. +STR_DAY_NUMBER_9TH :9. +STR_DAY_NUMBER_10TH :10. +STR_DAY_NUMBER_11TH :11. +STR_DAY_NUMBER_12TH :12. +STR_DAY_NUMBER_13TH :13. +STR_DAY_NUMBER_14TH :14. +STR_DAY_NUMBER_15TH :15. +STR_DAY_NUMBER_16TH :16. +STR_DAY_NUMBER_17TH :17. +STR_DAY_NUMBER_18TH :18. +STR_DAY_NUMBER_19TH :19. +STR_DAY_NUMBER_20TH :20. +STR_DAY_NUMBER_21ST :21. +STR_DAY_NUMBER_22ND :22. +STR_DAY_NUMBER_23RD :23. +STR_DAY_NUMBER_24TH :24. +STR_DAY_NUMBER_25TH :25. +STR_DAY_NUMBER_26TH :26. +STR_DAY_NUMBER_27TH :27. +STR_DAY_NUMBER_28TH :28. +STR_DAY_NUMBER_29TH :29. +STR_DAY_NUMBER_30TH :30. +STR_DAY_NUMBER_31ST :31. ############ range for days ends ############ range for months starts @@ -659,7 +688,7 @@ STR_PERFORMANCE_DETAIL_LOAN :{BLACK}Úver: STR_PERFORMANCE_DETAIL_TOTAL :{BLACK}Spolu: ############ End of order list STR_PERFORMANCE_DETAIL_VEHICLES_TOOLTIP :{BLACK}Počet vozidiel (automobilov, vlakov, lodí a lietadiel), ktoré zmenili zisk minulý rok -STR_PERFORMANCE_DETAIL_STATIONS_TOOLTIP :{BLACK}Počet nedávno obsluhovaných staníc. Železničná stanica, autobus. zastávka, letisko sa počítajú oddelenie aj keď patria do rovnakej stanice +STR_PERFORMANCE_DETAIL_STATIONS_TOOLTIP :{BLACK}Počet nedávno obsluhovaných staníc. Železničná stanica, autobus. zastávka, letisko sa počítajú oddelene aj keď patria do rovnakej stanice STR_PERFORMANCE_DETAIL_MIN_PROFIT_TOOLTIP :{BLACK}Zisk vozidla s najnižším príjmom (zo všetkých vozidiel starších ako 2 roky) STR_PERFORMANCE_DETAIL_MIN_INCOME_TOOLTIP :{BLACK}Množstvo peňazí zarobených v kvartáli s najmenším ziskom v posledných 12 kvartáloch STR_PERFORMANCE_DETAIL_MAX_INCOME_TOOLTIP :{BLACK}Množstvo peňazí zarobených v kvartáli s najväčším ziskom v posledných 12 kvartáloch @@ -821,7 +850,7 @@ STR_NEWS_CUSTOM_ITEM :{BIG_FONT}{BLAC STR_NEWS_FIRST_TRAIN_ARRIVAL :{BIG_FONT}{BLACK}Mesto oslavuje . . .{}Prvý vlak dorazil do stanice {STATION}! STR_NEWS_FIRST_BUS_ARRIVAL :{BIG_FONT}{BLACK}Mesto oslavuje . . .{}Prvý autobus dorazil do {STATION}! STR_NEWS_FIRST_TRUCK_ARRIVAL :{BIG_FONT}{BLACK}Mesto oslavuje . . .{}Prvý automobil dorazil do {STATION}! -STR_NEWS_FIRST_PASSENGER_TRAM_ARRIVAL :{BIG_FONT}{BLACK}Mesto oslavuje . . .{}Prvá elektricka dorazila do stanice {STATION}! +STR_NEWS_FIRST_PASSENGER_TRAM_ARRIVAL :{BIG_FONT}{BLACK}Mesto oslavuje . . .{}Prvá električka dorazila do stanice {STATION}! STR_NEWS_FIRST_CARGO_TRAM_ARRIVAL :{BIG_FONT}{BLACK}Mesto oslavuje . . .{}Prvá nákladná električka dorazila do stanice {STATION}! STR_NEWS_FIRST_SHIP_ARRIVAL :{BIG_FONT}{BLACK}Mesto oslavuje . . .{}Prvá loď dorazila do {STATION}! STR_NEWS_FIRST_AIRCRAFT_ARRIVAL :{BIG_FONT}{BLACK}Mesto oslavuje . . .{}Prvé lietadlo pristálo na {STATION}! @@ -853,8 +882,8 @@ STR_PRESIDENT_NAME_MANAGER :{BLACK}{PRESIDE STR_NEWS_NEW_TOWN :{BLACK}{BIG_FONT}{STRING} sponzoroval výstavbu nového mesta {TOWN}! -STR_NEWS_INDUSTRY_CONSTRUCTION :{G=s}{BIG_FONT}{BLACK}Nové {STRING} sa začína stavať neďaleko mesta {TOWN}! -STR_NEWS_INDUSTRY_PLANTED :{G=s}{BIG_FONT}{BLACK}Nové {STRING} bude postavené neďaleko mesta {TOWN}! +STR_NEWS_INDUSTRY_CONSTRUCTION :{G=s}{BIG_FONT}{BLACK}Nov{G "ý" "á" "é"} {STRING} sa začína stavať neďaleko mesta {TOWN}! +STR_NEWS_INDUSTRY_PLANTED :{G=s}{BIG_FONT}{BLACK}Nov{G "ý" "á" "é"} {STRING} bude postaven{G "ý" "á" "é"} neďaleko mesta {TOWN}! STR_NEWS_INDUSTRY_CLOSURE_GENERAL :{BIG_FONT}{BLACK}{STRING} oznamuje skoré uzavretie! STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS :{BIG_FONT}{BLACK}Kvôli zásobovacím problémom {STRING} oznamuje skoré uzavretie! @@ -862,11 +891,11 @@ STR_NEWS_INDUSTRY_CLOSURE_LACK_OF_TREES :{BIG_FONT}{BLAC STR_NEWS_EURO_INTRODUCTION :{BIG_FONT}{BLACK}Európska Menová Únia!{}{}Euro bolo uvedené ako hlavná mena pre bežné používanie v tejto krajine! STR_NEWS_BEGIN_OF_RECESSION :{BIG_FONT}{BLACK}Svetová kríza!{}{}Finanční experti majú obavy z prepadu ekonomiky! -STR_NEWS_END_OF_RECESSION :{BIG_FONT}{BLACK}Koniec kíizy!{}{}Očakáva sa vzostup predaja a posilnenie ekonomiky! +STR_NEWS_END_OF_RECESSION :{BIG_FONT}{BLACK}Koniec krízy!{}{}Očakáva sa vzostup predaja a posilnenie ekonomiky! STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL :{BIG_FONT}{BLACK}{INDUSTRY} zvyšuje produkciu! -STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_COAL :{BIG_FONT}{BLACK}Nove nalezisko uhlia sa objavilo v {INDUSTRY}!{}Ocakava sa zdvojnasobenie produkcie! -STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_OIL :{BIG_FONT}{BLACK}Nove nalezisko ropy sa objavilo na {INDUSTRY}!{}Ocakava sa zdvojnasobenie produkcie! +STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_COAL :{BIG_FONT}{BLACK}Nové nálezisko uhlia sa objavilo v {INDUSTRY}!{}Očakáva sa zdvojnásobenie produkcie! +STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_OIL :{BIG_FONT}{BLACK}Nové nálezisko ropy sa objavilo na {INDUSTRY}!{}Očakáva sa zdvojnásobenie produkcie! STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_FARM :{BIG_FONT}{BLACK}Na {INDUSTRY} zlepsili pouzivane metody!Ocakava sa zdvojnasobenie produkcie! STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_SMOOTH :{BIG_FONT}{BLACK}{1:INDUSTRY} zvyšuje produkciu {0:STRING.g} o {2:COMMA}%! STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL :{BIG_FONT}{BLACK}{INDUSTRY} znižuje produkciu o 50% @@ -878,28 +907,27 @@ STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}{VEHICLE STR_NEWS_SHIP_IS_WAITING :{WHITE}{VEHICLE} čaká v depe STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE} čaká v leteckom hangári -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE +# Order review system / warnings STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE} má veľmi málo príkazov v poriadku STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE} má neplatný príkaz STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE} má dvojité príkazy STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE} má nesprávnu stanicu v zozname -# end of order system +STR_NEWS_PLANE_USES_TOO_SHORT_RUNWAY :{WHITE}{VEHICLE} má v zozname príkazov letisko, ktorého dráha je príliš krátka STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} zastaralo STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} je veľmi zastaralé STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD_AND :{WHITE}{VEHICLE} je veľmi zastaralé a urgentne potrebuje výmenu STR_NEWS_TRAIN_IS_STUCK :{WHITE}{VEHICLE} nemôže nájsť cestu k pokračovaniu -STR_NEWS_VEHICLE_IS_LOST :{WHITE}{VEHICLE} sa stratilo +STR_NEWS_VEHICLE_IS_LOST :{WHITE}{VEHICLE} sa stratil{G 0 "" "a" "o"} STR_NEWS_VEHICLE_IS_UNPROFITABLE :{WHITE}{VEHICLE} zisk vozidla v minulom roku bol {CURRENCY_LONG} STR_NEWS_AIRCRAFT_DEST_TOO_FAR :{WHITE}{VEHICLE} sa nemôže dostať do ďalšej stanice, pretože tá je príliš ďaleko STR_NEWS_ORDER_REFIT_FAILED :{WHITE}Príkaz zmeňiť tovar po zlyhaní zastavil {VEHICLE} STR_NEWS_VEHICLE_AUTORENEW_FAILED :{WHITE}Autoobnovenie zlyhalo u {VEHICLE}{}{STRING} -STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE :{BIG_FONT}{BLACK}Nové {STRING} dostupné! +STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE :{BIG_FONT}{BLACK}Nov{G "ý" "á" "é"} {STRING} dostupn{G 0 "ý" "á" "é"}! STR_NEWS_NEW_VEHICLE_TYPE :{BIG_FONT}{BLACK}{ENGINE} -STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE_WITH_TYPE :{BLACK}Nové {STRING} dostupné! - {ENGINE} +STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE_WITH_TYPE :{BLACK}Nov{G "ý" "á" "é"} {STRING} dostupn{G "ý" "á" "é"}! - {ENGINE} STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO :{WHITE}{STATION} už neprijíma {STRING} STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO_OR_CARGO :{WHITE}{STATION} už neprijíma {STRING} alebo {STRING} @@ -967,10 +995,6 @@ STR_GAME_OPTIONS_CURRENCY_GEL :Gruzínske Lari STR_GAME_OPTIONS_CURRENCY_IRR :Iránsky rial (IRR) ############ end of currency region - -############ start of measuring units region -############ end of measuring units region - STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Cestné vozidlá STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}Strana po ktorej jazdia cestne vozidla STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :Jazdia nalavo @@ -1006,11 +1030,13 @@ STR_GAME_OPTIONS_TOWN_NAME_CATALAN :Katalanske STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Automatické ukladanie STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Vyber interval automatickeho ukladania +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Vypnuté STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :Každý mesiac STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :Každé 3 mesiace STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :Každých 6 mesiacov STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :Každých 12 mesiacov +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}Jazyk STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Výber jazyka rozhrania @@ -1022,8 +1048,12 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}Rozlíš STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Voľba rozlíšenia obrazovky STR_GAME_OPTIONS_RESOLUTION_OTHER :iné -STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}Formát screenshotov -STR_GAME_OPTIONS_SCREENSHOT_FORMAT_TOOLTIP :{BLACK}Zvoľte formát screenshotov +STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Veľkosť rozhrania +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Vyberte si veľkosť prvkov rozhrania + +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normálne +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Dvojnásobná veľkosť +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Štvornásobná veľkosť STR_GAME_OPTIONS_BASE_GRF :{BLACK}Základná sada grafiky STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Zvoľte sadu grafiky, ktorá má byť použitá @@ -1039,6 +1069,7 @@ STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Zvoľte STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} poškoden{P ý é ých} súbor{P "" y ov} STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Dodatočné informácie o základnej sade hudby +STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Nepodarilo sa načítať zoznam podporovaných rozlíšení STR_ERROR_FULLSCREEN_FAILED :{WHITE}Zobrazovanie na celú obrazovku zlyhalo # Custom currency window @@ -1117,6 +1148,7 @@ STR_TERRAIN_TYPE_VERY_FLAT :Veľmi rovný STR_TERRAIN_TYPE_FLAT :Rovný STR_TERRAIN_TYPE_HILLY :Kopcovitý STR_TERRAIN_TYPE_MOUNTAINOUS :Horský +STR_TERRAIN_TYPE_ALPINIST :Alpinista STR_CITY_APPROVAL_PERMISSIVE :Pozitivny STR_CITY_APPROVAL_TOLERANT :Tolerantny @@ -1124,8 +1156,8 @@ STR_CITY_APPROVAL_HOSTILE :Odmietavy STR_WARNING_NO_SUITABLE_AI :{WHITE}Nieje dostupné žiadne použiteľné AI...{}Niekoľko AI je možné stiahnuť cez 'Online obsah' -# Advanced settings window -STR_CONFIG_SETTING_CAPTION :{WHITE}Rozšírené nastavenia +# Settings tree window +STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Nastavenia STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Filtrovací reťazec: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Rozšíriť všetko STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Zbaliť všetky @@ -1140,7 +1172,7 @@ STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :Nastavenia spol STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK}Kategória: STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}Typ: -STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Obmedzuje zoznam nižšie len na nastavenia, ktoré boli zmenené +STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Filtruje zoznam podľa definovaných nastavení STR_CONFIG_SETTING_RESTRICT_BASIC :Základné nastavenia STR_CONFIG_SETTING_RESTRICT_ADVANCED :Pokročilé nastavenia STR_CONFIG_SETTING_RESTRICT_ALL :Odborné nastavenia / všetky nastavenia @@ -1149,7 +1181,7 @@ STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :Nastavenia s od STR_CONFIG_SETTING_TYPE_DROPDOWN_HELPTEXT :{BLACK}Obmedzuje zoznam nižšie na niektoré typy nastavení STR_CONFIG_SETTING_TYPE_DROPDOWN_ALL :Všetky typy nastavení -STR_CONFIG_SETTING_TYPE_DROPDOWN_CLIENT :Nastavenia klienta (nieje uložené v uložených hrách; ovplyvní všetky hry) +STR_CONFIG_SETTING_TYPE_DROPDOWN_CLIENT :Nastavenia klienta (nieje uložené; ovplyvní všetky hry) STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :Nastavenia hry (uložené v uložených hrách; ovplyvní iba nové hry) STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :Nastavenia hry (uložené v uložených hrách; ovplyvní iba aktuálnu hru) STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :Nastavenia spoločnosti (uložené v uložených hrách; ovplyvní iba nové hry) @@ -1195,12 +1227,13 @@ STR_CONFIG_SETTING_TRAIN_REVERSING :Zakázať otá STR_CONFIG_SETTING_TRAIN_REVERSING_HELPTEXT :Ak je povolené vlaky sa nebudú otáčať v staniciach, ktoré niesu na konci trate, aj keby sa im tým skrátila cesta do ďalšieho cieľa STR_CONFIG_SETTING_DISASTERS :Havárie: {STRING} STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Vypne alebo zapne katastrofy, ktoré môžu občas zablokovať alebo zničiť vozidlá alebo infraštruktúru -STR_CONFIG_SETTING_CITY_APPROVAL :Postoj mestskej správy k zmenám v ich oblasti: {STRING} +STR_CONFIG_SETTING_CITY_APPROVAL :Postoj mestskej správy k reštrukturalizácii v oblasti: {STRING} STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Zvoľte ako veľmi ovplyvňuje hluk a poškodzovanie prostredia spoločnosťami ich hodnotenie v meste a ich budúce možnosti výstavby v oblasti vlastnenej mestom -STR_CONFIG_SETTING_BUILDONSLOPES :Umožniť výstavbu na svahoch a na pobreží: {STRING} -STR_CONFIG_SETTING_BUILDONSLOPES_HELPTEXT :Ak je zapnuté, trate a stanice môžu byť stavané na svahoch. Ak je vypnuté, stavanie je možné len na svahoch ktoré su rovnakého smeru ako trate čiže nepotrebujú podporu -STR_CONFIG_SETTING_AUTOSLOPE :Povoliť úpravy terénu pod budovami, koľajami, a pod.: {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :Maximálna výška mapy: {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :Nastav maximálnu povolenú výšku pohorí na mape +STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}Nemôžete nastaviť takúto maximálnu výšku mapy. Najmenej jeden vrch na mape je vyšší. +STR_CONFIG_SETTING_AUTOSLOPE :Povoliť úpravy terénu pod budovami, koľajami, atď.: {STRING} STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Umožňuje úpravy terénu pod budovami a traťami bez potreby ich odstránenia STR_CONFIG_SETTING_CATCHMENT :Povoliť realistickejšiu veľkosť oblasti pokrytia: {STRING} STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Má úchytné plochy rôznych veľkostí pre rôzne typy staníc a letísk @@ -1223,17 +1256,13 @@ STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT :Strmosť svahu STR_CONFIG_SETTING_FORBID_90_DEG :Zakázať vlakom a lodiam otáčanie o 90°: {STRING} STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90 stupňové zákruty vznikajú keď sa spojí horizontálna a vertikálna dráha. Týmto vznikne potreba vlaku "otočiť sa" o 90 stupňov pri prechode touto zákrutou namiesto 45 stupňovího prejazdu ako pri ostatných kombináciách trate. Toto isté platí aj pre lode. STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Povoliť spájať stanice nepriamo hraničiace: {STRING} -STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Povoluje pridanie časti stanice bez priamej manipulácie s existujúcimi časťami. Použite CTRL+CLICK na položenie novej časti. -STR_CONFIG_SETTING_IMPROVEDLOAD :Použiť vylepšený algoritmus nakladania: {STRING} -STR_CONFIG_SETTING_IMPROVEDLOAD_HELPTEXT :Ak je zapnuté, viaceré vozidlá budú nakladané na na nakládke postupne. Nakládka daľšieho vozidla začne len ak je na nakládke dostatok nákladu pre predošlé vozidlo. -STR_CONFIG_SETTING_GRADUAL_LOADING :Postupné nakladanie vozidiel: {STRING} -STR_CONFIG_SETTING_GRADUAL_LOADING_HELPTEXT :Postupne nakladaj vozidlá s použitím špecifických nakladacích časov, namiesto nakladania všetkého naraz s fixným časom. Čas zavysí od množstva nakladaného nákladu. +STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Povoľuje pridanie časti stanice bez priamej manipulácie s existujúcimi časťami. Použite Ctrl+Click na položenie novej časti. STR_CONFIG_SETTING_INFLATION :Inflácia: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :Povoluje infláciu v ekonomike, kedy náklady stúpaju rýchlejšie ako platby za prepravy. -STR_CONFIG_SETTING_SELECTGOODS :Vykladať náklad len v stanici kde je dopyt: {STRING} -STR_CONFIG_SETTING_SELECTGOODS_HELPTEXT :Dovezie len náklad pre stanicu ktorý bol vyžadovaný na dovezenie. Tým sa predíde zlému hodnoteniu prepravy pre stanice. STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Maximálna dĺžka mosta: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Maximálna dĺžka na budovanie mostov +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :Maximálna výška mostu: {STRING} +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :Maximálna výška pre stavanie mostov STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Maximálna dĺžka tunela: {STRING} STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :Maximálna dĺžka na budovanie tunelov STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Spôsob výstavby priemyslu produkujúceho suroviny: {STRING} @@ -1253,14 +1282,12 @@ STR_CONFIG_SETTING_SIGNALSIDE_RIGHT :Vpravo STR_CONFIG_SETTING_SHOWFINANCES :Zobraziť rozpočet na konci roku: {STRING} STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT :Ak zapnuté, okno s financiami sa ukáže na konci každého roku a umožňuje tak rýchly náhľad na stav financií spoločnosti. STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :Nové príkazy sú štandardne 'non-stop': {STRING} -STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT :Normálne, vlak vťdy zastaví v každej stanici cez ktorú prechádza. Povolením tohoto nastavenia, vlak bude pokračovať cez všetky stanice ktoré má v ceste až do svojej cieľovej stanice. Uvedomte si to, že toto nastavenie definuj "pôvodné" nastavenie LEN pre nové trasy. Samostatne zadávané cesty môžu byť nastavené aj inak. +STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT :Normálne, vlak vždy zastaví v každej stanici cez ktorú prechádza. Povolením tohoto nastavenia, vlak bude pokračovať cez všetky stanice ktoré má v ceste až do svojej cieľovej stanice. Uvedomte si to, že toto nastavenie definuje "pôvodné" nastavenie LEN pre nové trasy. Samostatne zadávané cesty môžu byť nastavené aj inak. STR_CONFIG_SETTING_STOP_LOCATION :Vlaky zastavujú štandardne {STRING} stanice. STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Zvoľte kde zastaví vlak po príjazde do stanice. "Blízky koniec" znamená že vlak zastaví najbližšie ku vstupnému bodu, "Stred" že zastaví v strede stanice a "daleký koniec" že zastaví čo najďalej od vstupného bodu. STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :na začiatku STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :v strede STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :na konci -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING :Cestné vozidlá stoja v rade (podľa množstva nákladu): {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING_HELPTEXT :Prikáže cestnému vozidlu čakať pred obsadeným nákladiskom dokiaľ nie je voľné miesto na nakládku. STR_CONFIG_SETTING_AUTOSCROLL :Posúvať pohľad, keď je kurzor myši na okraji okna: {STRING} STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Ak je povolené, zobrazenia sa budú meniť keď je myš pri okraji okna STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Vypnuté @@ -1291,10 +1318,6 @@ STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Povoliť prejaz STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Povoliť budovanie "prejazdných" nakládok a zastávok na cestách vlastnených mestom. STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Výstavba zastávok na cestách vlastnených konkurenciou: {STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Povoliť budovanie "prejazdných" nakládok a zastávok na cestách vlastnených iným hráčom. -STR_CONFIG_SETTING_ADJACENT_STATIONS :Povoliť stavbu oddelených staníc: {STRING} -STR_CONFIG_SETTING_ADJACENT_STATIONS_HELPTEXT :Povoliť aby sa rozdielne typy staníc mohli dotýkať jedna druhej. -STR_CONFIG_SETTING_DYNAMIC_ENGINES :Povoliť viaceré NewGRF sety s rušňami: {STRING} -STR_CONFIG_SETTING_DYNAMIC_ENGINES_HELPTEXT :Kompaktibilita so starými NewGRF. Vypnite len v prípade že viete čo robíte. STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Zmena nastavenia nie je možná, pokiaľ sa tu nachádzajú vozidlá STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Správa infraštruktúry: {STRING} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Ak je zapnuté, infraštruktúra generuje výdavky na údržbu. Poplatky rastú proporcionálne s veľkosťou spoločnosti, čo ovplyvňuje viac veľké spoločnosti ako malé. @@ -1315,15 +1338,15 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Nikdy nepresta STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Ak je zapnuté, všetky vozidlá zostanú k dispozícii navždy. STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Automatická obnova dopravných prostriedkov, keď sú staré: {STRING} STR_CONFIG_SETTING_AUTORENEW_VEHICLE_HELPTEXT :Ak je zapnuté, vozidlá blížiace sa ku koncu svojej životnosti budú automaticky vymenené ak sú splnené podmienky na výmenu. -STR_CONFIG_SETTING_AUTORENEW_MONTHS :Automatická obnova ak je vozidlo {STRING} maximálnej zivotnosti +STR_CONFIG_SETTING_AUTORENEW_MONTHS :Automatická obnova ak je vozidlo {STRING} maximálnej životnosti STR_CONFIG_SETTING_AUTORENEW_MONTHS_HELPTEXT :Relatívny vek kedy je vozidlo považované za staré a preto je potrebná automatická obnova STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_BEFORE :{COMMA} mesiac pred -STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_AFTER :{COMMA} mesiac po +STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_AFTER :{COMMA} mesiac{P "" "e" "ov"} po STR_CONFIG_SETTING_AUTORENEW_MONEY :Potrebné financie pre automatickú obnovu vozidiel: {STRING} STR_CONFIG_SETTING_AUTORENEW_MONEY_HELPTEXT :Minimálna suma ktorá musí zostať na účte pred plánovanou automatickou výmenou vozidiel. STR_CONFIG_SETTING_ERRMSG_DURATION :Trvanie zobrazenia chybovej hlášky: {STRING} STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Trvanie zobrazenia chybovej hlášky v červenom okne. Uvedomte si že niektoré "kritické" správy nezmiznú po uplynutí času, ale musia byť zatvorené ručne. -STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{COMMA} sekund(y) +STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{COMMA} sek{P unda undy únd} STR_CONFIG_SETTING_HOVER_DELAY :Ukáž nápovedu: {STRING} STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Oneskorenie pred tým ako bude zobrazená nápoveda po ukázaní myšou. Nápoveda môže byť eventuálne nastavené aj na PRAVÉ tlačítko myši. STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Zobrazenie na {COMMA} sekúnd @@ -1333,27 +1356,41 @@ STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Zobrazí popul STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Hrúbka čiar v grafe: {STRING} STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Hrúbka čiar v grafe. Tenké čiary sú presnejšie, hrubšie zase lepšie viditeľné. +STR_CONFIG_SETTING_LANDSCAPE :Krajina: {STRING} +STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Krajiny definuje základný herný scenár s rôznymi tovarmi a veľkosťami miest. NewGRF a Herný Skript umožňujú ich lepšiu kontrolu STR_CONFIG_SETTING_LAND_GENERATOR :Generátor uzemia: {STRING} +STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :Pôvodný generátor závisí na základnej grafickej sade a skladá pevné tvary krajiny. TerraGenesis je generátor postavený na Perlinovom šume s jemnejšími možnosťami nastavenia STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Pôvodný STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis -STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Maximálna vzdialenosť rafinérií od okrajov mapy: {STRING} +STR_CONFIG_SETTING_TERRAIN_TYPE :Typ terénu: {STRING} +STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(Len TerraGenesis) Hornatosť krajiny +STR_CONFIG_SETTING_INDUSTRY_DENSITY :Hustota priemyslu: {STRING} +STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Nastavte, koľko má byť vygenerovaného priemyslu a aká úroveň by mala byť zachovaná v priebehu hry +STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Maximálna vzdialenosť od okrajov mapy pre rafinérie: {STRING} STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Rafinérie ropy sú vybudované len na okrajoch mapy, tzn na pobreží pri ostrovných mapách STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Úroveň čiary snehu: {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Členitosť terénu (len pre TerraGenesis) : {STRING} +STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Určuje v akej výške začína sneh v subarktickej krajine. Sneh tiež ovplyvňuje generáciu priemyslu a požiadaviek rastu mesta +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Členitosť terénu : {STRING} +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(Len TerraGenesis) Vyberte hustotu kopcov: Rovinaté krajiny majú menej, viac pozdĺžných kopcov. Hornaté krajiny majú veľa kopcov, ktoré sa môžu opakovať STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Veľmi rovný STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Rovný STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Členitý STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Veľmi členitý +STR_CONFIG_SETTING_VARIETY :Rozmanitosť distribúcie: {STRING} +STR_CONFIG_SETTING_VARIETY_HELPTEXT :(len TerraGenesis) Skontrolujte či mapa obsahuje oba terény aj horský aj nížinný. Pretože to robí mapy rovinatejšie, ostatné nastavenia by mali byť zvolené ako hornatý +STR_CONFIG_SETTING_RIVER_AMOUNT :Množstvo riek: {STRING} +STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Vyberte koľko riek sa má generovať STR_CONFIG_SETTING_TREE_PLACER :Algoritmus umiestňovania stromov: {STRING} +STR_CONFIG_SETTING_TREE_PLACER_HELPTEXT :Vyberte rozloženie stromov na mape: 'Pôvodné' - stromy budú rovnomerne rozptýlené, 'Zdokonalené' - budú v skupinách STR_CONFIG_SETTING_TREE_PLACER_NONE :Žiadny STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :Pôvodný STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :Vylepšený +STR_CONFIG_SETTING_ROAD_SIDE :Cestné vozidlá: {STRING} +STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :Vyberte jazdnú stranu STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Orientácia výškovej mapy: {STRING} STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Proti smeru hodinových ručičiek STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :V smere hodinových ručičiek STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :Výšková uroveň pre rovinatý scenár: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :Povoliť formovanie povrchu kociek na okrajoch mapy: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES_HELPTEXT :Ak je vypnuté, okraje mapy budú vždy oceán STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}Jedna alebo viacero kociek na severnom okraji nie sú prázdne STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}Jedna alebo viacero kociek na jedom z okrajov nie je voda @@ -1374,7 +1411,7 @@ STR_CONFIG_SETTING_SMOOTH_SCROLLING :Plynulé posúv STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Nastaví ako bude reagovať posúvanie na špecifickú pozíciu po kliknutí na minimapu, alebo po zadaní príkazu na presun na zadaný objekt. Ak je zapnuté, pohľad sa presúva plynulo. Ak je vypnuté, pohľad skočí priamo na zadané miesto/objekt. STR_CONFIG_SETTING_MEASURE_TOOLTIP :Zobraziť údaje o rozmeroch pri výstavbe: {STRING} STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT :Zobrazí vzdialenosť v dieloch a prevýšenie pri konštrukcii ťahaním. -STR_CONFIG_SETTING_LIVERIES :Zobraziť farebné schémy spoločnosti: {STRING} +STR_CONFIG_SETTING_LIVERIES :Zobraziť farby vozidiel spoločnosti: {STRING} STR_CONFIG_SETTING_LIVERIES_HELPTEXT :Kontrola použitia vozidla-typ špecifických livrej vozidiel (v rozpore so špecificikami podniku) STR_CONFIG_SETTING_LIVERIES_NONE :žiadne STR_CONFIG_SETTING_LIVERIES_OWN :vlastná spoločnosť @@ -1404,17 +1441,15 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Žiadna STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Posúvať pohľad ľavým tlačidlom myši: {STRING} STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :Povolí posúvanie mapy ĽAVÝM tlačítkom myši. Toto je obzvlášť užitočné pri použití dotykového displeja. +STR_CONFIG_SETTING_AUTOSAVE :Automatické ukladanie: {STRING} +STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Vyberte interval pre automatické ukladanie hry + STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Použiť {STRING} dátum v názve uloženej hry STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Formát dátumov v názvoch uložených hier. STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :dlhý (31st Dec 2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :krátky (31-12-2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE :Štandardná paleta predpokladá pre NewGRFy paletu neuvedenú: {STRING} -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_HELPTEXT :Pôvodná paleta nastavenia pre NewGRF keď nie je zadané ktoré NewGRF je potrebné -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_DOS :Základná (D) paleta -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_WIN :Dedená (W) paleta - STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Automatická pauza pri štarte novej hry: {STRING} STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :Ak je zapnuté, hra sa automaticky zapauzuje ked začne nová hra. Toto umožňuje lepšie preskúmanie mapy hry pred začatím. STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Ak je hra pozastavená povol: {STRING} @@ -1423,7 +1458,7 @@ STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :žiadne akcie STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :všetky nekonštrukčné akcie STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :všetky akcie okrem úpravy terénu STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_ACTIONS :všetky činnosti -STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Použit vylepšený zoznam vozidiel: {STRING} +STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Použit skupiny v zozname vozidiel: {STRING} STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Povolí použitie rozšíreného zoznamu vozidiel pre skupiny STR_CONFIG_SETTING_LOADING_INDICATORS :Zobraziť ukazovatele nakladania/vykladania: {STRING} STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Zvoľte či indikátory nakladania/vykladania budú zobrazené nad vozidlom. @@ -1438,7 +1473,7 @@ STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_HELPTEXT :Typ železnice STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_FIRST :prvé dostupné STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_LAST :posledné dostupné STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_MOST_USED :najpoužívanejšie -STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :Zobraziť rezervované trate: {STRING} +STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :Zobraziť rezervovácia pre trate: {STRING} STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION_HELPTEXT :Dajte obsadenej trati inú farbu na pomoc pri problémoch s vlakmi odmietajúcimi vstúpiť na časť danej trate STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Zachovať stavebné nástroje aktívne aj po použití: {STRING} STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Zachovaj okno s nástrojmi na stavbu mostov/tunelov otvorené aj po použití @@ -1464,13 +1499,13 @@ STR_CONFIG_SETTING_SOUND_AMBIENT_HELPTEXT :Prehrávať zuk STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING :Zakázať výstavbu infraštruktúry ak nieje dostupné žiadne vhodné vozidlo: {STRING} STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING_HELPTEXT :Ak je zapnuté, infraštruktúra je k dispozícii len ak su k nej pripojené vozidlá. Toto predchádza plýtvaniu peniazmi a časom pri nepoužiteľnej infraštruktúre. -STR_CONFIG_SETTING_MAX_TRAINS :Maximálny počet vlakov hráča: {STRING} +STR_CONFIG_SETTING_MAX_TRAINS :Maximálny počet vlakov na spoločnosť: {STRING} STR_CONFIG_SETTING_MAX_TRAINS_HELPTEXT :Maximálny počet vlakov ktorý môže spoločnosť vlastniť. -STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :Maximálny počet automobilov hráča: {STRING} +STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :Maximálny počet automobilov na spoločnosť: {STRING} STR_CONFIG_SETTING_MAX_ROAD_VEHICLES_HELPTEXT :Maximálny počet automobilov ktorý môže spoločnosť vlastniť. -STR_CONFIG_SETTING_MAX_AIRCRAFT :Maximálny počet lietadiel hráča: {STRING} +STR_CONFIG_SETTING_MAX_AIRCRAFT :Maximálny počet lietadiel na spoločnosť: {STRING} STR_CONFIG_SETTING_MAX_AIRCRAFT_HELPTEXT :Maximálny počet lietadiel ktorý môže spoločnosť vlastniť. -STR_CONFIG_SETTING_MAX_SHIPS :Maximálny počet lodí hráča: {STRING} +STR_CONFIG_SETTING_MAX_SHIPS :Maximálny počet lodí na spoločnosť: {STRING} STR_CONFIG_SETTING_MAX_SHIPS_HELPTEXT :Maximálny počet lodí ktorý môže spoločnosť vlastniť. STR_CONFIG_SETTING_AI_BUILDS_TRAINS :Zakázať vlaky pre počítač: {STRING} @@ -1562,7 +1597,7 @@ STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_VALUE :{COMMA} diel(ov STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE :Pri ťahaní, zachovaj fixnú medzeru medzi semafórmi: {STRING} STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT :Zvoľte ako sa zachová umiestňovanie semafórov pri CTRL+posun. Ak je vypnuté, semafóry sú umiestnené okolo tunelov alebo mostov aby sa zabránilo dlhým úsekom bez signalizácie. Ak je zapnuité, semafóry sú umiestňované každých N dielov čím sa umožní lepšie rozloženie na paralelných tratiach. STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE :Automaticky stavať semafóry namiesto signálov pred rokom: {STRING} -STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT :Zvoľte rk o ktorého sa budú používať elekrické semafór na tratach. Pred týmto rokom sa budú používať staré ne-elektrické návestidlá. Funkcionalita je ale stále rovnaká len vzhľad je iný. +STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT :Zvoľte rok od ktorého sa budú používať elekrické semafóry na tratiach. Pred týmto rokom sa budú používať staré ne-elektrické návestidlá. Funkcionalita je ale stále rovnaká len vzhľad je iný. STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI :Zapnúť grafické rozhranie stavby signálov: {STRING} STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI_HELPTEXT :Zobrazí okno s možnosťou výberu semafóru namiesto rotačnej voľby klikaním pomocou CTRL. STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE :Štandardne budovaný typ signálov: {STRING} @@ -1588,7 +1623,7 @@ STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT :Povolí mestám STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :Mestá umožňujú stavbu železničných priecestí: {STRING} STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Povolením nastavenia umožní mestám stavať úrovňové križovania. STR_CONFIG_SETTING_NOISE_LEVEL :Povoliť mestom určené hlukové limity pre letiská: {STRING} -STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Vypnutím nastavenia povolí pre mesto maximálne 2 letiská. Zapnutím nastavenia umožní stavanie viacerých letísk s ohľadom na hluk, zaľudnenie a vzdialenosť od mesta. +STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Ak je nastavenie vypnuté, potom môžu byť dve letiská v jednom meste. Ak je nastavenie zapnuté, počet letísk je obmedzený prijateľnou hlučnosťou, ktorá závisí od počtu obyvateľov a veľkosti letiska a jeho vzdialenosti od mesta STR_CONFIG_SETTING_TOWN_FOUNDING :Zakladanie nových miest počas hry: {STRING} STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Povolením nastavenia umožní hráčom zakladať nové mestá na mape. STR_CONFIG_SETTING_TOWN_FOUNDING_FORBIDDEN :zakázané @@ -1607,7 +1642,7 @@ STR_CONFIG_SETTING_STATUSBAR_POS :Pozícia inform STR_CONFIG_SETTING_STATUSBAR_POS_HELPTEXT :Horizontálna poloha stavového riadku na spodu obrazovky STR_CONFIG_SETTING_SNAP_RADIUS :Rádius uchytenia okna: {STRING} STR_CONFIG_SETTING_SNAP_RADIUS_HELPTEXT :Vzdialenosť medzi oknami pred tým ako je okno pripojené automaticky k vedľajšiemu oknu -STR_CONFIG_SETTING_SNAP_RADIUS_VALUE :{COMMA} pixel(ov) +STR_CONFIG_SETTING_SNAP_RADIUS_VALUE :{COMMA} pixel{P "" y ov} STR_CONFIG_SETTING_SNAP_RADIUS_DISABLED :vypnuté STR_CONFIG_SETTING_SOFT_LIMIT :Maximálný počet nepriľnavých okien: {STRING} STR_CONFIG_SETTING_SOFT_LIMIT_HELPTEXT :Počet otvorených neprilepených okien pred tým ako sa najstrašie okno automatický zatvorí @@ -1636,8 +1671,6 @@ STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 z {COMMA} STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :žiadne STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Násobok pociatocnej velkosti mesta: {STRING} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Priemerná veľkosť veľkomiest v porovnaní k mestám na začiatku hry. -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :Pri rekonštrukcii ciest odstrániť nezmyselné časti: {STRING} -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD_HELPTEXT :Odstráň "mŕtve" konce ciest počas financovanej rekonštrukcie ciest. STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Aktualizovať distribučný graf každ{P 0:2 "ý" "é" "ých"} {STRING} {P 0:2 "deň" "dni" "dní"} STR_CONFIG_SETTING_LINKGRAPH_INTERVAL_HELPTEXT :Čas medzi nasledujúcimi prepočtami grafu spojení. Každý prepočet počíta plány pre jednu súčasť grafu. To znamená, že hodnota X pre toto nastavenie neznamená sa celý graf aktualizuje každých X dní, ale iba jedna súčasť. Čím menej nastavíte, tým viac procesorového času bude potrebného na výpočet. Čím viac nastavíte, tým dlhšie bude trvať, kým sa začne distribuovať na nové trasy. @@ -1699,27 +1732,29 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :Imperialne (ft) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :Metrické (m) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :SI (m) -STR_CONFIG_SETTING_GUI :{ORANGE}Rozhranie STR_CONFIG_SETTING_LOCALISATION :{ORANGE}Lokalizácia -STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}Výstavba +STR_CONFIG_SETTING_GRAPHICS :{ORANGE}Grafika +STR_CONFIG_SETTING_SOUND :{ORANGE}Zvuk +STR_CONFIG_SETTING_INTERFACE :{ORANGE}Rozhranie +STR_CONFIG_SETTING_INTERFACE_GENERAL :{ORANGE}Všeobecné +STR_CONFIG_SETTING_INTERFACE_VIEWPORTS :{ORANGE}Náhľady +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Výstavba +STR_CONFIG_SETTING_ADVISORS :{ORANGE}Novinky / Varovania +STR_CONFIG_SETTING_COMPANY :{ORANGE}Spoločnosť +STR_CONFIG_SETTING_ACCOUNTING :{ORANGE}Účtovníctvo STR_CONFIG_SETTING_VEHICLES :{ORANGE}Vozidlá -STR_CONFIG_SETTING_STATIONS :{ORANGE}Stanice -STR_CONFIG_SETTING_ECONOMY :{ORANGE}Ekonomika -STR_CONFIG_SETTING_LINKGRAPH :{ORANGE}Distribúcia nákladu -STR_CONFIG_SETTING_AI :{ORANGE}Konkurenti -STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}Možnosti zobrazenia -STR_CONFIG_SETTING_INTERACTION :{ORANGE}Chovanie -STR_CONFIG_SETTING_SOUND :{ORANGE}Zvukové efekty -STR_CONFIG_SETTING_NEWS :{ORANGE}Novinky a správy -STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}Signály -STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE}Manipulácia s tovarom -STR_CONFIG_SETTING_AI_NPC :{ORANGE}Počítačový hráči -STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE}Automatická obnova -STR_CONFIG_SETTING_VEHICLES_SERVICING :{ORANGE}Servis +STR_CONFIG_SETTING_VEHICLES_PHYSICS :{ORANGE}Fyzika STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Smerovanie -STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}Vlaky -STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}Mestá -STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}Priemysel +STR_CONFIG_SETTING_LIMITATIONS :{ORANGE}Obmedzenia +STR_CONFIG_SETTING_ACCIDENTS :{ORANGE}Katastrofy / Nehody +STR_CONFIG_SETTING_GENWORLD :{ORANGE}Generovanie sveta +STR_CONFIG_SETTING_ENVIRONMENT :{ORANGE}Prostredie +STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :{ORANGE}Miestne správy +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Mestá +STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}Priemysel +STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :{ORANGE}Distribúcia nákladu +STR_CONFIG_SETTING_AI :{ORANGE}Konkurenti +STR_CONFIG_SETTING_AI_NPC :{ORANGE}Počítačový hráči STR_CONFIG_SETTING_PATHFINDER_OPF :Pôvodný STR_CONFIG_SETTING_PATHFINDER_NPF :NPF @@ -1768,7 +1803,7 @@ STR_INTRO_MULTIPLAYER :{BLACK}Viacero STR_INTRO_GAME_OPTIONS :{BLACK}Nastavenia hry STR_INTRO_HIGHSCORE :{BLACK}Najlepší hráči -STR_INTRO_ADVANCED_SETTINGS :{BLACK}Rozšírené nastavenia +STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Nastavenia STR_INTRO_NEWGRF_SETTINGS :{BLACK}Nastavenia NewGRF STR_INTRO_ONLINE_CONTENT :{BLACK}Skontrolovať online obsah STR_INTRO_SCRIPT_SETTINGS :{BLACK}Umelá inteligencia / Nastavenia skriptu @@ -1788,7 +1823,7 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Vybrať STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Zobraziť nastavenia hry STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Zobraziť tabuľku hráčov s najvyšším skóre -STR_INTRO_TOOLTIP_ADVANCED_SETTINGS :{BLACK}Zobraziť rozšírené nastavenia +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Nastavenie zobrazenia STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Zobraziť NewGRF nastavenia STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Skontrolovať nový a aktualizovaný obsah pre stiahnutie STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Zobraz umelú inteligenciu a nastavenia skriptu @@ -1828,6 +1863,8 @@ STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Hrať z STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Magický buldozér (odstráni priemysel a nehnuteľnosti): {ORANGE}{STRING} STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}Tunely sa môžu navzájom krížiť: {ORANGE}{STRING} STR_CHEAT_NO_JETCRASH :{LTBLUE}Prúdové lietadlá nehavarujú (tak často) na malých letiskách: {ORANGE} {STRING} +STR_CHEAT_EDIT_MAX_HL :{LTBLUE}Zmeň maximálnu výšku mapy: {ORANGE}{NUM} +STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Zmeň maximálnu výšku hôr na mape STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE :Krajina mierneho pásma STR_CHEAT_SWITCH_CLIMATE_SUB_ARCTIC_LANDSCAPE :Subpolárna krajina STR_CHEAT_SWITCH_CLIMATE_SUB_TROPICAL_LANDSCAPE :Subtropická krajina @@ -1876,6 +1913,7 @@ STR_LIVERY_FREIGHT_TRAM :Nákladná elek STR_FACE_CAPTION :{WHITE}Výber tváre STR_FACE_CANCEL_TOOLTIP :{BLACK}Zrušiť výber novej tváre STR_FACE_OK_TOOLTIP :{BLACK}Potvrdiť výber tváre +STR_FACE_RANDOM :{BLACK}Nový kód STR_FACE_MALE_BUTTON :{BLACK}Muž STR_FACE_MALE_TOOLTIP :{BLACK}Výber mužských tvárí @@ -1990,24 +2028,24 @@ STR_NETWORK_START_SERVER_CAPTION :{WHITE}Spustiť STR_NETWORK_START_SERVER_NEW_GAME_NAME :{BLACK}Názov hry: STR_NETWORK_START_SERVER_NEW_GAME_NAME_TOOLTIP :{BLACK}Názov hry, ktorý uvidia ostatní v zozname sieťovych hier -STR_NETWORK_START_SERVER_SET_PASSWORD :{BLACK}Nastavit heslo +STR_NETWORK_START_SERVER_SET_PASSWORD :{BLACK}Nastaviť heslo STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}Zabezpeč hru heslom, ak nechceš povoliť verejný prístup STR_NETWORK_START_SERVER_UNADVERTISED :Nie STR_NETWORK_START_SERVER_ADVERTISED :Áno STR_NETWORK_START_SERVER_CLIENTS_SELECT :{BLACK}{NUM} klient{P "" i ov} -STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Maximálny pocet klientov: -STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS_TOOLTIP :{BLACK}Zvol maximalny pocet klientov. Moze sa ich pripojit aj menej. -STR_NETWORK_START_SERVER_COMPANIES_SELECT :{BLACK}{NUM} spolocnost{P "" i í} -STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}Max. pocet spolocnosti: +STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Maximálny počet klientov: +STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS_TOOLTIP :{BLACK}Zvoľ maximálny počet klientov. Môže sa ich pripojiť aj menej. +STR_NETWORK_START_SERVER_COMPANIES_SELECT :{BLACK}{NUM} spoločnost{P "" i í} +STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}Maximálny počet spoločností: STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES_TOOLTIP :{BLACK}Obmedzenie servera na maximálny počet spoločností -STR_NETWORK_START_SERVER_SPECTATORS_SELECT :{BLACK}{NUM} pozorovatel{P "" ia ov} -STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS :{BLACK}Max. pocet divakov: +STR_NETWORK_START_SERVER_SPECTATORS_SELECT :{BLACK}{NUM} pozorovate{P "ľ" lia ľov} +STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS :{BLACK}Maximálny počet divákov: STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS_TOOLTIP :{BLACK}Obmedzenie servera na maximálny počet divákov -STR_NETWORK_START_SERVER_LANGUAGE_SPOKEN :{BLACK}Jazyk hracov: -STR_NETWORK_START_SERVER_LANGUAGE_TOOLTIP :{BLACK}Aby ostatni hraci vedeli, akym jazykom sa bude hovorit na serveri. +STR_NETWORK_START_SERVER_LANGUAGE_SPOKEN :{BLACK}Jazyk, ktorým sa hovorí: +STR_NETWORK_START_SERVER_LANGUAGE_TOOLTIP :{BLACK}Aby ostatní hráči vedeli, akým jazykom sa bude hovoriť na serveri. -STR_NETWORK_START_SERVER_NEW_GAME_NAME_OSKTITLE :{BLACK}Zadajte názov sietovej hry +STR_NETWORK_START_SERVER_NEW_GAME_NAME_OSKTITLE :{BLACK}Zadajte názov sieťovej hry # Network game languages ############ Leave those lines in this order!! @@ -2717,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-2014 team OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 team OpenTTD # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Uložiť hru @@ -2752,13 +2790,12 @@ STR_MAPGEN_BY :{BLACK}* STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Počet miest: STR_MAPGEN_DATE :{BLACK}Rok: STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Počet priemyslu: +STR_MAPGEN_MAX_HEIGHTLEVEL :{BLACK}Maximálna výška mapy +STR_MAPGEN_MAX_HEIGHTLEVEL_UP :{BLACK}Zvýš maximálnu výšku hôr na mape o jedno +STR_MAPGEN_MAX_HEIGHTLEVEL_DOWN :{BLACK}Zníž maximálnu výšku hôr na mape o jedno STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}Výška línie snehu: STR_MAPGEN_SNOW_LINE_UP :{BLACK}Zvýšiť výšku snehovej čiary STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}Znížiť výšku snehovej čiary -STR_MAPGEN_RANDOM_SEED :{BLACK}Náhodný kód: -STR_MAPGEN_RANDOM_SEED_HELP :{BLACK}Klikni pre zadanie náhodného kódu -STR_MAPGEN_RANDOM :{BLACK}Nový kód -STR_MAPGEN_RANDOM_HELP :{BLACK}Zmeniť náhodný kód pre generovanie terénu STR_MAPGEN_LAND_GENERATOR :{BLACK}Generátor krajiny: STR_MAPGEN_TREE_PLACER :{BLACK}Generátor stromov: STR_MAPGEN_TERRAIN_TYPE :{BLACK}Typ terénu: @@ -2785,7 +2822,7 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Názov v STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Velkost: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} -STR_MAPGEN_RANDOM_SEED_OSKTITLE :{BLACK}Zadajte náhodný kód +STR_MAPGEN_MAX_HEIGHTLEVEL_QUERY_CAPT :{WHITE}Zmeniť maximálnu výšku mapy STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}Zmeniť výšku línie snehu STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Zmenit rok zaciatku hry @@ -2840,6 +2877,8 @@ STR_NEWGRF_SETTINGS_MOVEUP :{BLACK}Vyššie STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP :{BLACK}Posunút vybraný NewGRF súbor v zozname vyššie STR_NEWGRF_SETTINGS_MOVEDOWN :{BLACK}Nižšie STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP :{BLACK}Posunút vybraný NewGRF súbor v zozname nižšie +STR_NEWGRF_SETTINGS_UPGRADE :{BLACK}Aktualizovať +STR_NEWGRF_SETTINGS_UPGRADE_TOOLTIP :{BLACK}Aktualizujte NewGRF súbory ktoré máte inštalované, na novšie verzie STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}Zoznam inštalovaných NewGRF súborov. STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}Nastavit parametre @@ -2864,6 +2903,16 @@ STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Príslušn STR_NEWGRF_SETTINGS_DISABLED :{RED}Nedostupný STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Nekompatibilné s touto verziou OpenTTD +# NewGRF save preset window +STR_SAVE_PRESET_CAPTION :{WHITE}Uložiť predvoľby +STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK}Zoznam dostupných predvolieb, zvoľte jednu na kopírovanie a uložte menom nižšie +STR_SAVE_PRESET_TITLE :{BLACK}Zadajte názov pre predvoľby +STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}Aktuálne vybraný názov pre uloženie predvolieb +STR_SAVE_PRESET_CANCEL :{BLACK}Zrušiť +STR_SAVE_PRESET_CANCEL_TOOLTIP :{BLACK}Nemeniť predvoľby +STR_SAVE_PRESET_SAVE :{BLACK}Uložiť +STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}Uložiť predvoľby do práve vybraného názvu + # NewGRF parameters window STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Zmeniť NewGRF parametre STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Zatvoriť @@ -2894,7 +2943,10 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Predchá STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Prejsť na predchádzajúci normálny sprite, vynechajúc akékoľvek falošné/prefarbené sprites a sprites fontu použité na začiatku STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Reprezentuje aktuálne zvolený objekt. Zarovnanie je ignorované pri vykresľovaní objektu STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Pri hýbaní objektom, sa menia X a Y súradnice -STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X súradnica: {NUM}, Y súradnica: {NUM} +STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Resetovať relatívne +STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Resetovať aktuálne relatívne posunutie +STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}X offset: {NUM}, Y offset: {NUM} (absolútne) +STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}X offset: {NUM}, Y offset: {NUM} (relatívne) STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Vybrať objekt STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Vyberte objekt z obrazovky @@ -3006,8 +3058,8 @@ STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} doručené STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (stále potrebné) STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (doručené) -STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Mesto rastie každých {ORANGE}{COMMA}{BLACK} dní -STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Mesto rastie každých {ORANGE}{COMMA}{BLACK} dní (dotované) +STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Mesto rastie každ{P 0 ý é ých} {ORANGE}{COMMA}{BLACK} {P deň dni dní} +STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Mesto rastie každ{P 0 ý é ých} {ORANGE}{COMMA}{BLACK} {P deň dni dní} (dotované) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}Mesto {RED}nerastie{BLACK} STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Hlukový limit v meste: {ORANGE}{COMMA}{BLACK} max.: {ORANGE}{COMMA} STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Vycentrovať pohľad na pozíciu mesta. Ctrl+klik otvorí nové okno s pohľadom na mesto @@ -3067,7 +3119,7 @@ STR_GOAL_QUESTION_CAPTION_INFORMATION :Informácie STR_GOAL_QUESTION_CAPTION_WARNING :Varovanie STR_GOAL_QUESTION_CAPTION_ERROR :Chyba -### Start of Goal Question button list +############ Start of Goal Question button list STR_GOAL_QUESTION_BUTTON_CANCEL :Zrušiť STR_GOAL_QUESTION_BUTTON_OK :OK STR_GOAL_QUESTION_BUTTON_NO :Nie @@ -3086,6 +3138,7 @@ STR_GOAL_QUESTION_BUTTON_RESTART :Spustiť znova STR_GOAL_QUESTION_BUTTON_POSTPONE :Odložiť STR_GOAL_QUESTION_BUTTON_SURRENDER :Vzdať STR_GOAL_QUESTION_BUTTON_CLOSE :Zavrieť +############ End of Goal Question button list # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}Dotácie @@ -3121,7 +3174,6 @@ STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}Nečaká # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} -STR_STATION_VIEW_WAITING_TITLE :{BLACK}Čaká: {WHITE}{STRING} STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} z {STATION}) STR_STATION_VIEW_RESERVED :{YELLOW}({CARGO_SHORT} rezervované pre nakladanie) @@ -3216,7 +3268,7 @@ STR_FINANCES_POSITIVE_INCOME :{BLACK}+{CURREN STR_FINANCES_TOTAL_CAPTION :{WHITE}Spolu: STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}Zostatok na účte v banke STR_FINANCES_LOAN_TITLE :{WHITE}Úver -STR_FINANCES_MAX_LOAN :{WHITE}Úverový limit: {BLACK}{CURRENCY_LONG} +STR_FINANCES_MAX_LOAN :{WHITE}Maximálny úver: {BLACK}{CURRENCY_LONG} STR_FINANCES_TOTAL_CURRENCY :{BLACK}{CURRENCY_LONG} STR_FINANCES_BORROW_BUTTON :{BLACK}Požičať {CURRENCY_LONG} STR_FINANCES_BORROW_TOOLTIP :{BLACK}Zvýšiť veľkosť úveru. Crtl+klik požičia koľko sa dá @@ -3365,12 +3417,15 @@ STR_GROUP_DEFAULT_ROAD_VEHICLES :Nezaradené voz STR_GROUP_DEFAULT_SHIPS :Nezaradené lode STR_GROUP_DEFAULT_AIRCRAFTS :Nezaradené lietadlá -STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Skupiny - klikni na skupinu pre zobrazenie všetkých vozidiel skupiny +STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Skupiny - klikni na skupinu pre zobrazenie všetkých vozidiel skupiny. Ťahaj a Pusti pre usporiadanie hierarchiu v skupine STR_GROUP_CREATE_TOOLTIP :{BLACK}Klikni pre vytvorenie skupiny STR_GROUP_DELETE_TOOLTIP :{BLACK}Zrušiť vybranú skupinu STR_GROUP_RENAME_TOOLTIP :{BLACK}Premenovať vybranú skupinu STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Klikni pre znemožnenie automatického nahradzovania v skupine +STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Vymazať skupinu +STR_GROUP_DELETE_QUERY_TEXT :{WHITE}Ste si istý, že chcete vymazať túto skupinu a jej podskupiny? + STR_GROUP_ADD_SHARED_VEHICLE :Pridat zdielané vozidlá STR_GROUP_REMOVE_ALL_VEHICLES :Odstrániť všetky vozidlá @@ -3380,11 +3435,11 @@ STR_GROUP_RENAME_CAPTION :{BLACK}Premenov STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Nove vlaky STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Nové elektrické lokomotívy a vagóny STR_BUY_VEHICLE_TRAIN_MONORAIL_CAPTION :Nové jednokoľajové vlaky -STR_BUY_VEHICLE_TRAIN_MAGLEV_CAPTION :Nove magneticke vlaky +STR_BUY_VEHICLE_TRAIN_MAGLEV_CAPTION :Nové magnetické vlaky STR_BUY_VEHICLE_TRAIN_ALL_CAPTION :Železnicne vozidlá -STR_BUY_VEHICLE_ROAD_VEHICLE_CAPTION :Nove automobily -STR_BUY_VEHICLE_SHIP_CAPTION :Nove lode +STR_BUY_VEHICLE_ROAD_VEHICLE_CAPTION :Nové automobily +STR_BUY_VEHICLE_SHIP_CAPTION :Nové lode STR_BUY_VEHICLE_AIRCRAFT_CAPTION :Nove Lietadlo STR_PURCHASE_INFO_COST_WEIGHT :{BLACK}Cena: {GOLD}{CURRENCY_LONG}{BLACK} Hmotnosť: {GOLD}{WEIGHT_SHORT} @@ -3408,20 +3463,20 @@ STR_PURCHASE_INFO_ALL_BUT :Všetko okrem { STR_PURCHASE_INFO_MAX_TE :{BLACK}Max. trakčná sila: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Dosah: {GOLD}{COMMA} políčok -STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Výber vlakov - kliknúť na vlak pre informácie -STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Výber vozidiel - kliknúť na vozidlo pre informácie -STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Vyber lodi - kliknut pre informacie -STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Výber lietadiel - kliknúť na lietadlo pre informácie +STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Výber vlakov. Pre získanie informácií klikni na vlak. CTRL+klik prepne skrytie typu vlaku. +STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Výber cestných vozidiel. Pre získanie informácií klikni na vozidlo. CTRL+klik prepne skrytie typu vozidla. +STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Zoznam lodí. Pre získanie informácií klikni na loď. CTRL+klik prepnie skrytie typu lode. +STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Zoznam lietadiel. Pre získanie informácií klikni na lietadlo. CTRL+klik prepnie skrytie typu lietadla. -STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}Zakupit vozidlo -STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Zakupit vozidlo -STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_BUTTON :{BLACK}Vyrobiť loď -STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_BUTTON :{BLACK}Vyrobit lietadlo +STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}Kúpiť vozidlo +STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Kúpiť vozidlo +STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_BUTTON :{BLACK}Kúpiť loď +STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_BUTTON :{BLACK}Kúpiť lietadlo -STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Kúpiť vybraný vlak. Shif+klik zobrazí predpokladanú cenu -STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Zakúpiť vybraný automobil. Shif+klik zobrazí predpokladanú cenu -STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Vyrobiť vybranú loď. Shif+klik zobrazí predpokladanú cenu -STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Vyrobiť vybrané lietadlo. Shift+Klik ukáže predpokladanú +STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Kúpiť vybraný vlak. Shift+klik zobrazí predpokladanú cenu bez nákupu. +STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Kúpiť vybrané vozidlo. Shift+klik zobrazí predpokladanú cenu bez nákupu +STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Kúpiť vybranú loď. Shift+klik zobrazí predpokladanú cenu bez nákupu +STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Kúpiť vybrané lietadlo. Shift+klik zobrazí predpokladanú cenu bez nákupu STR_BUY_VEHICLE_TRAIN_RENAME_BUTTON :{BLACK}Premenovať STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_BUTTON :{BLACK}Premenovať @@ -3433,6 +3488,21 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Premenov STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Premenovať typ lode STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Premenovať typ lietadla +STR_BUY_VEHICLE_TRAIN_HIDE_TOGGLE_BUTTON :{BLACK}Skryť +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_TOGGLE_BUTTON :{BLACK}Skryť +STR_BUY_VEHICLE_SHIP_HIDE_TOGGLE_BUTTON :{BLACK}Skryť +STR_BUY_VEHICLE_AIRCRAFT_HIDE_TOGGLE_BUTTON :{BLACK}Skryť + +STR_BUY_VEHICLE_TRAIN_SHOW_TOGGLE_BUTTON :{BLACK}Zobraziť +STR_BUY_VEHICLE_ROAD_VEHICLE_SHOW_TOGGLE_BUTTON :{BLACK}Zobraziť +STR_BUY_VEHICLE_SHIP_SHOW_TOGGLE_BUTTON :{BLACK}Zobraziť +STR_BUY_VEHICLE_AIRCRAFT_SHOW_TOGGLE_BUTTON :{BLACK}Zobraziť + +STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Prepnúť zobrazenie/skrytie typu koľajového vozidla +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Prepnúť zobrazenie/skrytie typu cestného vozidla +STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Prepnúť zobrazenie/skrytie typu lode +STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Prepnúť zobrazenie/skrytie typu lietadla + STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}Premenovať typ vlaku STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}Premenovať typ automobilu STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}Premenovať typ lode @@ -3455,7 +3525,7 @@ STR_DEPOT_SHIP_LIST_TOOLTIP :{BLACK}Lode - p STR_DEPOT_AIRCRAFT_LIST_TOOLTIP :{BLACK}Lietadlo - pravý kliknutím na lietadlo sa zobrazia informácie STR_DEPOT_TRAIN_SELL_TOOLTIP :{BLACK}Presunutím lokomotívy bude predaná -STR_DEPOT_ROAD_VEHICLE_SELL_TOOLTIP :{BLACK}Presunutím automobilu sem sa predá +STR_DEPOT_ROAD_VEHICLE_SELL_TOOLTIP :{BLACK}Automobil presunutý sem bude predaný STR_DEPOT_SHIP_SELL_TOOLTIP :{BLACK}Presunutím lode sem sa predá STR_DEPOT_AIRCRAFT_SELL_TOOLTIP :{BLACK}Presunutím lietadla sem sa predá @@ -3515,13 +3585,13 @@ STR_DEPOT_SELL_CONFIRMATION_TEXT :{YELLOW}Chystá # Engine preview window STR_ENGINE_PREVIEW_CAPTION :{WHITE}Správa od výrobcu dopravných prostriedkov -STR_ENGINE_PREVIEW_MESSAGE :{GOLD}Práve sme navrhli nový {STRING} - máte záujem o právo exkluzívneho používania na 1 rok? Chceme otestovať vlastnosti tohto modelu pred jeho uvedením na trh. -STR_ENGINE_PREVIEW_RAILROAD_LOCOMOTIVE :železničná lokomotíva -STR_ENGINE_PREVIEW_ROAD_VEHICLE :automobil -STR_ENGINE_PREVIEW_AIRCRAFT :lietadlo -STR_ENGINE_PREVIEW_SHIP :loď -STR_ENGINE_PREVIEW_MONORAIL_LOCOMOTIVE :jednokoľajová lokomotíva -STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :magnetická lokomotíva +STR_ENGINE_PREVIEW_MESSAGE :{GOLD}Práve sme navrhli nov{G "ý" "ú" "é"} {STRING} - máte záujem o právo exkluzívneho používania na 1 rok? Chceme otestovať vlastnosti tohto modelu pred jeho uvedením na trh. +STR_ENGINE_PREVIEW_RAILROAD_LOCOMOTIVE :{G=z}železničná lokomotíva +STR_ENGINE_PREVIEW_ROAD_VEHICLE :{G=m}automobil +STR_ENGINE_PREVIEW_AIRCRAFT :{G=s}lietadlo +STR_ENGINE_PREVIEW_SHIP :{G=z}loď +STR_ENGINE_PREVIEW_MONORAIL_LOCOMOTIVE :{G=z}jednokoľajová lokomotíva +STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :{G=z}magnetická lokomotíva 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} @@ -3537,6 +3607,11 @@ STR_REPLACE_VEHICLE_ROAD_VEHICLE :{G=m}Automobil STR_REPLACE_VEHICLE_SHIP :{G=z}Loď STR_REPLACE_VEHICLE_AIRCRAFT :{G=s}Lietadlo +STR_REPLACE_VEHICLE_VEHICLES_IN_USE :{YELLOW}Používané vozidlá +STR_REPLACE_VEHICLE_VEHICLES_IN_USE_TOOLTIP :{BLACK}Stĺpec s vozidlami, ktoré vlastníte +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES :{YELLOW}Dostupné dopravné prostriedky +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES_TOOLTIP :{BLACK}Stĺpec s vozidlami, ktoré možno nahradiť + STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Zvoľte typ lokomotívy na výmenu STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Zvoľte nový typ lokomotívy, ktorú chceš použiť namiesto typu z ľavého zoznamu @@ -3636,7 +3711,7 @@ STR_VEHICLE_DETAILS_CAPTION :{WHITE}{VEHICLE STR_VEHICLE_NAME_BUTTON :{BLACK}Meno STR_VEHICLE_DETAILS_TRAIN_RENAME :{BLACK}Pomenovať vlak -STR_VEHICLE_DETAILS_ROAD_VEHICLE_RENAME :{BLACK}Pomenovať automobil +STR_VEHICLE_DETAILS_ROAD_VEHICLE_RENAME :{BLACK}Premenovať automobil STR_VEHICLE_DETAILS_SHIP_RENAME :{BLACK}Pomenovať loď STR_VEHICLE_DETAILS_AIRCRAFT_RENAME :{BLACK}Pomenovat lietadlo @@ -3661,7 +3736,7 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Kapacita STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Transfer kredity: {LTBLUE}{CURRENCY_LONG} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Servisný interval: {LTBLUE}{COMMA}dní{BLACK} Posledný servis: {LTBLUE}{DATE_LONG} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Servisný interval: {LTBLUE}{COMMA}{NBSP}dní{BLACK} Posledný servis: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Servisný interval: {LTBLUE}{COMMA}%{BLACK} Posledný servis: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Predĺžiť servisný interval o 10. Ctrl+klik predĺži servisný interval o 5 STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Skrátiť servisný interval o 10. Ctrl+klik pre skrátenie servisného intervalu o 5 @@ -3672,9 +3747,9 @@ STR_VEHICLE_DETAILS_DAYS :Dni STR_VEHICLE_DETAILS_PERCENT :Percentáž STR_QUERY_RENAME_TRAIN_CAPTION :{WHITE}Premenovať vlak -STR_QUERY_RENAME_ROAD_VEHICLE_CAPTION :{WHITE}Pomenovať automobil -STR_QUERY_RENAME_SHIP_CAPTION :{WHITE}Pomenovať loď -STR_QUERY_RENAME_AIRCRAFT_CAPTION :{WHITE}Pomenovať lietadlo +STR_QUERY_RENAME_ROAD_VEHICLE_CAPTION :{WHITE}Premenovať automobil +STR_QUERY_RENAME_SHIP_CAPTION :{WHITE}Premenovať loď +STR_QUERY_RENAME_AIRCRAFT_CAPTION :{WHITE}Premenovať lietadlo # Extra buttons for train details windows STR_VEHICLE_DETAILS_TRAIN_ENGINE_BUILT_AND_VALUE :{LTBLUE}{ENGINE}{BLACK} Vyrobené: {LTBLUE}{NUM}{BLACK} Hodnota: {LTBLUE}{CURRENCY_LONG} @@ -3759,7 +3834,7 @@ STR_ORDER_TOOLTIP_UNLOAD :{BLACK}Zmeniť STR_ORDER_REFIT :{BLACK}Prestavba STR_ORDER_REFIT_TOOLTIP :{BLACK}Vyberte typ nákladu na prestavbu v tomto poradí. CTRL+klik na odstránenie príkazu prestavby -STR_ORDER_REFIT_AUTO :{BLACK}Automaticky usporiadať +STR_ORDER_REFIT_AUTO :{BLACK}Automaticky modernizovať STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Vyber ktorý druh tovaru sa bude automaticky nakladať. Ctrl+Klik pre odstránenie automatického nakladania. Automatické nakladanie musí byť podporované vozidlom STR_ORDER_DROP_REFIT_AUTO :Pevný náklad STR_ORDER_DROP_REFIT_AUTO_ANY :Dostupný náklad @@ -3768,7 +3843,7 @@ STR_ORDER_SERVICE :{BLACK}Oprava STR_ORDER_DROP_GO_ALWAYS_DEPOT :Vždy choď STR_ORDER_DROP_SERVICE_DEPOT :Servis, ak je potrebné STR_ORDER_DROP_HALT_DEPOT :Zastav -STR_ORDER_SERVICE_TOOLTIP :{BLACK}Vynechať tento príkaz pokiaľ nie je potrebná oprava +STR_ORDER_SERVICE_TOOLTIP :{BLACK}Preskočiť tento príkaz pokiaľ nie je potrebná oprava STR_ORDER_CONDITIONAL_VARIABLE_TOOLTIP :{BLACK}Údaje vozidla na základe ktorých sa vykoná skok @@ -3797,18 +3872,18 @@ STR_ORDER_CONDITIONAL_VALUE_CAPT :{WHITE}Zadajte STR_ORDERS_SKIP_BUTTON :{BLACK}Preskočiť STR_ORDERS_SKIP_TOOLTIP :{BLACK}Preskočiť aktuálny príkaz a začať ďalší. CTRL+klik pre skok na označený príkaz -STR_ORDERS_DELETE_BUTTON :{BLACK}Vynechať +STR_ORDERS_DELETE_BUTTON :{BLACK}Vymazať STR_ORDERS_DELETE_TOOLTIP :{BLACK}Vymazať označený príkaz -STR_ORDERS_DELETE_ALL_TOOLTIP :{BLACK}Zmazať všetky príkazy -STR_ORDERS_STOP_SHARING_BUTTON :{BLACK}Prestať zdielať -STR_ORDERS_STOP_SHARING_TOOLTIP :{BLACK}Prestať zdielať zoznam príkazov. Ctrl+Klik naviac zmaže všetky príkazy. +STR_ORDERS_DELETE_ALL_TOOLTIP :{BLACK}Vymazať všetky príkazy +STR_ORDERS_STOP_SHARING_BUTTON :{BLACK}Prestať zdieľať +STR_ORDERS_STOP_SHARING_TOOLTIP :{BLACK}Prestať zdieľať zoznam príkazov. Ctrl+Klik naviac zmaže všetky príkazy tohoto vozidla. STR_ORDERS_GO_TO_BUTTON :{BLACK}Choď do STR_ORDER_GO_TO_NEAREST_DEPOT :Choď do najbližšieho depa STR_ORDER_GO_TO_NEAREST_HANGAR :Choď do najbližšieho hangáru STR_ORDER_CONDITIONAL :Podmienený príkaz skoku STR_ORDER_SHARE :Zdieľať príkazy -STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Vložiť nový príkaz pred označený príkaz, alebo na koniec zoznamu. CTRL zmení príkaz pre stanicu na 'plne nalož čokoľvek', waypoint príkazy na pokračuj 'non-stop' a pre depá servise. 'Zdieľať príkazy' alebo CTRL umožní vozidlu zdieľať príkazy s vybraným vozidlom. Kliknutím na vozidlo sa skopírujú príkazy z vozidla +STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Vložiť nový príkaz pred označený príkaz alebo na koniec zoznamu. CTRL zmení príkaz pre stanicu na 'plne nalož čokoľvek', waypoint príkazy na pokračuj 'non-stop' a pre depá 'servisuj'. 'Zdieľať príkazy' alebo CTRL umožní vozidlu zdieľať príkazy s vybraným vozidlom. Kliknutím na vozidlo sa skopírujú príkazy z vozidla. Príkaz na presun do depa zneplatní automatické servisovanie vozidla STR_ORDERS_VEH_WITH_SHARED_ORDERS_LIST_TOOLTIP :{BLACK}Zobraziť všetky vozidlá s rovnakým zoznamom príkazov @@ -3851,18 +3926,18 @@ STR_ORDER_NO_UNLOAD_FULL_LOAD :(Nevykladaj a STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY :(Nevykladaj a čakaj na plné naloženie akéhokoľvek nákladu) STR_ORDER_NO_UNLOAD_NO_LOAD :(Žiadné vykládanie a nakládanie) -STR_ORDER_AUTO_REFIT :(Automaticky naplň do {STRING}) +STR_ORDER_AUTO_REFIT :(Upraviť na {STRING}) STR_ORDER_FULL_LOAD_REFIT :(Plné naloženie s automatickým nakladaním do {STRING}) STR_ORDER_FULL_LOAD_ANY_REFIT :(Plné naloženie akéhokoľvek nákladu s automatickým nakladaním do {STRING}) -STR_ORDER_UNLOAD_REFIT :(Vyložiť a zobrať náklad s automatickým nakladaním do {STRING}) -STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(Vyložiť a čakať pre plné naloženie s automatickým nakladaním do {STRING}) -STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(Vylož a čakaj na akékoľvek plné naloženie s automatickým naložením do {STRING}) -STR_ORDER_TRANSFER_REFIT :(Prelož a zober náklad s automatickým naložením do {STRING}) -STR_ORDER_TRANSFER_FULL_LOAD_REFIT :(Prelož a čakaj pre plné naloženie s automatickým naložením do {STRING}) +STR_ORDER_UNLOAD_REFIT :(Vyložiť a zobrať náklad automaticky do {STRING}) +STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(Vyložiť a čakať pre plné naloženie automaticky do {STRING}) +STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(Vylož a čakaj na akékoľvek plné naloženie automaticky do {STRING}) +STR_ORDER_TRANSFER_REFIT :(Presuň sa a zober náklad s automatickým naložením do {STRING}) +STR_ORDER_TRANSFER_FULL_LOAD_REFIT :(Presuň sa a čakaj pre plné naloženie automaticky do {STRING}) STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :(Prelož a čakaj pre akékoľvek plné naloženie s automatickým nakladaním do {STRING}) STR_ORDER_NO_UNLOAD_REFIT :(Nevykladať a zobrať náklad s automatickým nakladaním do {STRING}) -STR_ORDER_NO_UNLOAD_FULL_LOAD_REFIT :(Nevykladať a čakať pre plné naloženie s automatickým nakladaním od {STRING}) -STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY_REFIT :(Nevykladať a čakať pre akýkoľvek náklad s automatickým nakladaním do {STRING}) +STR_ORDER_NO_UNLOAD_FULL_LOAD_REFIT :(Nevykladať a čakať pre plné naloženie s automatickým nakladaním do {STRING}) +STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY_REFIT :(Nevykladať a čakať na plné naloženie s nastavením do {STRING}) STR_ORDER_AUTO_REFIT_ANY :dostupný náklad @@ -3888,13 +3963,17 @@ STR_TIMETABLE_TOOLTIP :{BLACK}Cestovn STR_TIMETABLE_NO_TRAVEL :Necestuj STR_TIMETABLE_NOT_TIMETABLEABLE :Cestovanie (automaticky; nastavené po ďalšom zadaní objednávky) STR_TIMETABLE_TRAVEL_NOT_TIMETABLED :Cesta (neurcený cas) -STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Cestovanie nanajvýš s {2:VELOCITY} (bez cestovného plánu) -STR_TIMETABLE_TRAVEL_FOR :Cesta do {STRING} +STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Cestovanie (bez cestovného plánu) s najviac {2:VELOCITY} +STR_TIMETABLE_TRAVEL_FOR :Cesta {STRING} STR_TIMETABLE_TRAVEL_FOR_SPEED :Cestovanie na {STRING} s {VELOCITY} +STR_TIMETABLE_TRAVEL_FOR_ESTIMATED :Cesta ({STRING}, nerozvrhnuté) +STR_TIMETABLE_TRAVEL_FOR_SPEED_ESTIMATED :Cesta (for {STRING}, nerozvrhnuté) pri najviac {VELOCITY} +STR_TIMETABLE_STAY_FOR_ESTIMATED :(prestávka {STRING}, nerozvrhnuté) +STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(cesta {STRING}, nerozvrhnuté) STR_TIMETABLE_STAY_FOR :prestávka {STRING} STR_TIMETABLE_AND_TRAVEL_FOR :a cestuj {STRING} -STR_TIMETABLE_DAYS :{COMMA} d{P en ni ní} -STR_TIMETABLE_TICKS :{COMMA} tik{P "" y ov} +STR_TIMETABLE_DAYS :{COMMA}{NBSP}d{P eň ni ní} +STR_TIMETABLE_TICKS :{COMMA}{NBSP}tik{P "" y ov} STR_TIMETABLE_TOTAL_TIME :{BLACK}Na dokončenie cestovného poriadku je potrebných {STRING} STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}Na dokončenie cestovného poriadku je potrebných min. {STRING} (nie všetko je určené) @@ -4132,6 +4211,7 @@ STR_ERROR_EXCAVATION_WOULD_DAMAGE :{WHITE}Vyhĺben STR_ERROR_ALREADY_AT_SEA_LEVEL :{WHITE}... už na úrovni mora STR_ERROR_TOO_HIGH :{WHITE}... príliš vysoko STR_ERROR_ALREADY_LEVELLED :{WHITE}... už vyrovnané +STR_ERROR_BRIDGE_TOO_HIGH_AFTER_LOWER_LAND :{WHITE}Most nad tým by bol potom príliš vysoko. # Company related errors STR_ERROR_CAN_T_CHANGE_COMPANY_NAME :{WHITE}Názov spoločnosti sa nedá zmeniť... @@ -4159,7 +4239,7 @@ STR_ERROR_TOO_CLOSE_TO_ANOTHER_TOWN :{WHITE}... prí STR_ERROR_TOO_MANY_TOWNS :{WHITE}... príliš veľa miest STR_ERROR_NO_SPACE_FOR_TOWN :{WHITE}... nie je dalsie miesto na mape STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}Mesto nebude stavať cesty. Môžete povoliť budovanie ciest cez Pokročilé nasvavenia->Ekonomika->Mestá. -STR_ERROR_ROAD_WORKS_IN_PROGRESS :{WHITE}Prebiehaju cestne prace +STR_ERROR_ROAD_WORKS_IN_PROGRESS :{WHITE}Prebiehajú cestné práce STR_ERROR_TOWN_CAN_T_DELETE :{WHITE}Toto mesto nie je možné odstrániť...{}Stanica alebo depo sa odvoláva na mesto, alebo parcela vo vlastníctve mesta nemôže byť odstránená STR_ERROR_STATUE_NO_SUITABLE_PLACE :{WHITE}... v centre mesta sa nenachádza žiadne vhodné miesto pre sochu @@ -4182,6 +4262,9 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... les STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... môže byť postavené len nad čiarou snehu STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... môže byť postavené len pod čiarou snehu +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}Nenašli sa žiadne vhodné miesta pre '{STRING}' +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Pre získanie lepšej mapy zmeňte parametre jej generovania + # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Nemôžeš tu postaviť železničnú stanicu... STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}Nemôžeš tu postaviť autobusovú zastávku... @@ -4318,6 +4401,7 @@ STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Most mus STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}Nemožno začať a skončiť na tom istom mieste STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}Konce mosta nie sú v rovnakej výške STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}Most je príliš nízky pre tento terén +STR_ERROR_BRIDGE_TOO_HIGH_FOR_TERRAIN :{WHITE}Most je privysoký pre tento terén. STR_ERROR_START_AND_END_MUST_BE_IN :{WHITE}Začiatok a koniec musí byť v rovine STR_ERROR_ENDS_OF_BRIDGE_MUST_BOTH :{WHITE}... oba konce mosta musia byť na pevnine STR_ERROR_BRIDGE_TOO_LONG :{WHITE}... most je príliš dlhý @@ -4344,6 +4428,7 @@ STR_ERROR_YOU_ALREADY_OWN_IT :{WHITE}... už STR_ERROR_GROUP_CAN_T_CREATE :{WHITE}Nie je možné vytvoriť skupinu... STR_ERROR_GROUP_CAN_T_DELETE :{WHITE}Nie je možné zrušiť túto skupinu... STR_ERROR_GROUP_CAN_T_RENAME :{WHITE}Nie je možné premenovať skupinu... +STR_ERROR_GROUP_CAN_T_SET_PARENT :{WHITE}Nie je možné nastaviť rodičovskú skupinu... STR_ERROR_GROUP_CAN_T_REMOVE_ALL_VEHICLES :{WHITE}Nie je možné odstrániť všetky vozidlá z tejto skupiny... STR_ERROR_GROUP_CAN_T_ADD_VEHICLE :{WHITE}Nie je možné pridať vozidlo do tejto skupiny STR_ERROR_GROUP_CAN_T_ADD_SHARED_VEHICLE :{WHITE}Nie je možné pridať zdielané vozidlo do skupiny @@ -4360,7 +4445,7 @@ STR_ERROR_CAN_T_REFIT_SHIP :{WHITE}Nemožno STR_ERROR_CAN_T_REFIT_AIRCRAFT :{WHITE}Nie je možné prestavať na nový typ nákladu... STR_ERROR_CAN_T_RENAME_TRAIN :{WHITE}Vlak nemožno pomenovať... -STR_ERROR_CAN_T_RENAME_ROAD_VEHICLE :{WHITE}Nemožno pomenovať automobil... +STR_ERROR_CAN_T_RENAME_ROAD_VEHICLE :{WHITE}Nemožno premenovať automobil... STR_ERROR_CAN_T_RENAME_SHIP :{WHITE}Nemožno pomenovať loď... STR_ERROR_CAN_T_RENAME_AIRCRAFT :{WHITE}Nie je možné pomenovať lietadlo... @@ -4420,14 +4505,14 @@ STR_ERROR_CAN_T_INSERT_NEW_ORDER :{WHITE}Nemožno STR_ERROR_CAN_T_DELETE_THIS_ORDER :{WHITE}Nemožno vymazať tento príkaz... STR_ERROR_CAN_T_MODIFY_THIS_ORDER :{WHITE}Nemožno zmeniť tento príkaz... STR_ERROR_CAN_T_MOVE_THIS_ORDER :{WHITE}Nie je možné presunúť tento príkaz... -STR_ERROR_CAN_T_SKIP_ORDER :{WHITE}Nie je možné vynechať tento príkaz... +STR_ERROR_CAN_T_SKIP_ORDER :{WHITE}Nie je možné preskočiť tento príkaz... STR_ERROR_CAN_T_SKIP_TO_ORDER :{WHITE}Nie je možné preskočiť na vybraný príkaz... STR_ERROR_CAN_T_COPY_SHARE_ORDER :{WHITE}... vozidlo nemôže ísť do všetkých staníc STR_ERROR_CAN_T_ADD_ORDER :{WHITE}... vozidlo nemôže ísť do tejto stanice STR_ERROR_CAN_T_ADD_ORDER_SHARED :{WHITE}... vozidlo zdieľajúce tento príkaz nemôže ísť do stanice -STR_ERROR_CAN_T_SHARE_ORDER_LIST :{WHITE}Nemozno zdielat zoznam smerov ... -STR_ERROR_CAN_T_STOP_SHARING_ORDER_LIST :{WHITE}Nieje možné prestať zdielať zoznam príkazov... +STR_ERROR_CAN_T_SHARE_ORDER_LIST :{WHITE}Nemožno zdieľať zoznam príkazov ... +STR_ERROR_CAN_T_STOP_SHARING_ORDER_LIST :{WHITE}Nie je možné prestať zdieľať zoznam príkazov... STR_ERROR_CAN_T_COPY_ORDER_LIST :{WHITE}Nemozno kopirovat zoznam prikazov ... STR_ERROR_TOO_FAR_FROM_PREVIOUS_DESTINATION :{WHITE}... príliš ďaleko z predchádzajúceho cieľa STR_ERROR_AIRCRAFT_NOT_ENOUGH_RANGE :{WHITE}... lietadlo nemá dostatočný dosah @@ -4458,89 +4543,89 @@ STR_BASEMUSIC_NONE_DESCRIPTION :Sada hudby neob ##id 0x2000 # Town building names -STR_TOWN_BUILDING_NAME_TALL_OFFICE_BLOCK_1 :Vysoká kancelárska budova -STR_TOWN_BUILDING_NAME_OFFICE_BLOCK_1 :Kancelarie -STR_TOWN_BUILDING_NAME_SMALL_BLOCK_OF_FLATS_1 :Malý bytový blok -STR_TOWN_BUILDING_NAME_CHURCH_1 :Kostol -STR_TOWN_BUILDING_NAME_LARGE_OFFICE_BLOCK_1 :Veľká kancelárska budova -STR_TOWN_BUILDING_NAME_TOWN_HOUSES_1 :Mestske domy -STR_TOWN_BUILDING_NAME_HOTEL_1 :Hotel -STR_TOWN_BUILDING_NAME_STATUE_1 :Socha -STR_TOWN_BUILDING_NAME_FOUNTAIN_1 :Fontana -STR_TOWN_BUILDING_NAME_PARK_1 :Park +STR_TOWN_BUILDING_NAME_TALL_OFFICE_BLOCK_1 :{G=z}Vysoká kancelárska budova +STR_TOWN_BUILDING_NAME_OFFICE_BLOCK_1 :Kancelárie +STR_TOWN_BUILDING_NAME_SMALL_BLOCK_OF_FLATS_1 :{G=m}Malý bytový blok +STR_TOWN_BUILDING_NAME_CHURCH_1 :{G=m}Kostol +STR_TOWN_BUILDING_NAME_LARGE_OFFICE_BLOCK_1 :{G=z}Veľká kancelárska budova +STR_TOWN_BUILDING_NAME_TOWN_HOUSES_1 :Mestské domy +STR_TOWN_BUILDING_NAME_HOTEL_1 :{G=m}Hotel +STR_TOWN_BUILDING_NAME_STATUE_1 :{G=z}Socha +STR_TOWN_BUILDING_NAME_FOUNTAIN_1 :{G=z}Fontána +STR_TOWN_BUILDING_NAME_PARK_1 :{G=m}Park STR_TOWN_BUILDING_NAME_OFFICE_BLOCK_2 :Kancelarie STR_TOWN_BUILDING_NAME_SHOPS_AND_OFFICES_1 :Obchody a kancelárie -STR_TOWN_BUILDING_NAME_MODERN_OFFICE_BUILDING_1 :Moderna administrativna budova -STR_TOWN_BUILDING_NAME_WAREHOUSE_1 :Sklad -STR_TOWN_BUILDING_NAME_OFFICE_BLOCK_3 :Kancelarie -STR_TOWN_BUILDING_NAME_STADIUM_1 :Stadion +STR_TOWN_BUILDING_NAME_MODERN_OFFICE_BUILDING_1 :Moderná administratívna budova +STR_TOWN_BUILDING_NAME_WAREHOUSE_1 :{G=m}Sklad +STR_TOWN_BUILDING_NAME_OFFICE_BLOCK_3 :Kancelárie +STR_TOWN_BUILDING_NAME_STADIUM_1 :{G=m}Stadión STR_TOWN_BUILDING_NAME_OLD_HOUSES_1 :Stare domy STR_TOWN_BUILDING_NAME_COTTAGES_1 :Chaty STR_TOWN_BUILDING_NAME_HOUSES_1 :Domy STR_TOWN_BUILDING_NAME_FLATS_1 :Byty -STR_TOWN_BUILDING_NAME_TALL_OFFICE_BLOCK_2 :Administrativa +STR_TOWN_BUILDING_NAME_TALL_OFFICE_BLOCK_2 :{G=z}Administrativa STR_TOWN_BUILDING_NAME_SHOPS_AND_OFFICES_2 :Obchody a kancelarie STR_TOWN_BUILDING_NAME_SHOPS_AND_OFFICES_3 :Obchody a kancelarie -STR_TOWN_BUILDING_NAME_THEATER_1 :Divadlo -STR_TOWN_BUILDING_NAME_STADIUM_2 :Stadion +STR_TOWN_BUILDING_NAME_THEATER_1 :{G=s}Divadlo +STR_TOWN_BUILDING_NAME_STADIUM_2 :{G=m}Stadión STR_TOWN_BUILDING_NAME_OFFICES_1 :Kancelárie STR_TOWN_BUILDING_NAME_HOUSES_2 :Domy -STR_TOWN_BUILDING_NAME_CINEMA_1 :Kino -STR_TOWN_BUILDING_NAME_SHOPPING_MALL_1 :Nákupné stredisko -STR_TOWN_BUILDING_NAME_IGLOO_1 :Iglu -STR_TOWN_BUILDING_NAME_TEPEES_1 :Vigvam -STR_TOWN_BUILDING_NAME_TEAPOT_HOUSE_1 :Kaviaren -STR_TOWN_BUILDING_NAME_PIGGY_BANK_1 :Malá Banka +STR_TOWN_BUILDING_NAME_CINEMA_1 :{G=s}Kino +STR_TOWN_BUILDING_NAME_SHOPPING_MALL_1 :{G=s}Nákupné stredisko +STR_TOWN_BUILDING_NAME_IGLOO_1 :{G=s}Iglu +STR_TOWN_BUILDING_NAME_TEPEES_1 :{G=m}Vigvam +STR_TOWN_BUILDING_NAME_TEAPOT_HOUSE_1 :{G=z}Kaviareň +STR_TOWN_BUILDING_NAME_PIGGY_BANK_1 :{G=z}Malá banka ##id 0x4800 # industry names -STR_INDUSTRY_NAME_COAL_MINE :Uhoľná baňa -STR_INDUSTRY_NAME_POWER_STATION :Elektráreň -STR_INDUSTRY_NAME_SAWMILL :Píla -STR_INDUSTRY_NAME_FOREST :Lesy -STR_INDUSTRY_NAME_OIL_REFINERY :Ropná rafinéria -STR_INDUSTRY_NAME_OIL_RIG :Ropná plošina -STR_INDUSTRY_NAME_FACTORY :Továreň -STR_INDUSTRY_NAME_PRINTING_WORKS :Tlačiareň -STR_INDUSTRY_NAME_STEEL_MILL :Oceliareň -STR_INDUSTRY_NAME_FARM :Farma -STR_INDUSTRY_NAME_COPPER_ORE_MINE :Medená baňa -STR_INDUSTRY_NAME_OIL_WELLS :Ropný vrt -STR_INDUSTRY_NAME_BANK :Banka -STR_INDUSTRY_NAME_FOOD_PROCESSING_PLANT :Potravinársky podnik -STR_INDUSTRY_NAME_PAPER_MILL :Papierne -STR_INDUSTRY_NAME_GOLD_MINE :Zlatá baňa -STR_INDUSTRY_NAME_BANK_TROPIC_ARCTIC :Banka -STR_INDUSTRY_NAME_DIAMOND_MINE :Diamantová baňa -STR_INDUSTRY_NAME_IRON_ORE_MINE :Železorudná baňa -STR_INDUSTRY_NAME_FRUIT_PLANTATION :Ovocný sad -STR_INDUSTRY_NAME_RUBBER_PLANTATION :Kaučuková plantáž -STR_INDUSTRY_NAME_WATER_SUPPLY :Vodný zdroj -STR_INDUSTRY_NAME_WATER_TOWER :Vodojem -STR_INDUSTRY_NAME_FACTORY_2 :Továreň -STR_INDUSTRY_NAME_FARM_2 :Farma -STR_INDUSTRY_NAME_LUMBER_MILL :Píla -STR_INDUSTRY_NAME_COTTON_CANDY_FOREST :Les cukrovej vaty -STR_INDUSTRY_NAME_CANDY_FACTORY :Cukríkáreň -STR_INDUSTRY_NAME_BATTERY_FARM :Baterková farma -STR_INDUSTRY_NAME_COLA_WELLS :Kofolové studne -STR_INDUSTRY_NAME_TOY_SHOP :Hračkárstvo -STR_INDUSTRY_NAME_TOY_FACTORY :Továreň na hračky -STR_INDUSTRY_NAME_PLASTIC_FOUNTAINS :Umelinové fontány -STR_INDUSTRY_NAME_FIZZY_DRINK_FACTORY :Továreň na malinovku -STR_INDUSTRY_NAME_BUBBLE_GENERATOR :Generátor bubliniek -STR_INDUSTRY_NAME_TOFFEE_QUARRY :Karamelový lom -STR_INDUSTRY_NAME_SUGAR_MINE :Cukrová baňa +STR_INDUSTRY_NAME_COAL_MINE :{G=z}Uhoľná baňa +STR_INDUSTRY_NAME_POWER_STATION :{G=z}Elektráreň +STR_INDUSTRY_NAME_SAWMILL :{G=z}Píla +STR_INDUSTRY_NAME_FOREST :{G=m}Les +STR_INDUSTRY_NAME_OIL_REFINERY :{G=z}Ropná rafinéria +STR_INDUSTRY_NAME_OIL_RIG :{G=z}Ropná plošina +STR_INDUSTRY_NAME_FACTORY :{G=z}Továreň +STR_INDUSTRY_NAME_PRINTING_WORKS :{G=z}Tlačiareň +STR_INDUSTRY_NAME_STEEL_MILL :{G=z}Oceliareň +STR_INDUSTRY_NAME_FARM :{G=z}Farma +STR_INDUSTRY_NAME_COPPER_ORE_MINE :{G=z}Medená baňa +STR_INDUSTRY_NAME_OIL_WELLS :{G=m}Ropný vrt +STR_INDUSTRY_NAME_BANK :{G=z}Banka +STR_INDUSTRY_NAME_FOOD_PROCESSING_PLANT :{G=m}Potravinársky podnik +STR_INDUSTRY_NAME_PAPER_MILL :{G=z}Papiereň +STR_INDUSTRY_NAME_GOLD_MINE :{G=z}Zlatá baňa +STR_INDUSTRY_NAME_BANK_TROPIC_ARCTIC :{G=z}Banka +STR_INDUSTRY_NAME_DIAMOND_MINE :{G=z}Diamantová baňa +STR_INDUSTRY_NAME_IRON_ORE_MINE :{G=z}Železorudná baňa +STR_INDUSTRY_NAME_FRUIT_PLANTATION :{G=m}Ovocný sad +STR_INDUSTRY_NAME_RUBBER_PLANTATION :{G=z}Kaučuková plantáž +STR_INDUSTRY_NAME_WATER_SUPPLY :{G=m}Vodný zdroj +STR_INDUSTRY_NAME_WATER_TOWER :{G=m}Vodojem +STR_INDUSTRY_NAME_FACTORY_2 :{G=z}Továreň +STR_INDUSTRY_NAME_FARM_2 :{G=z}Farma +STR_INDUSTRY_NAME_LUMBER_MILL :{G=z}Píla +STR_INDUSTRY_NAME_COTTON_CANDY_FOREST :{G=m}Les cukrovej vaty +STR_INDUSTRY_NAME_CANDY_FACTORY :{G=z}Cukríkáreň +STR_INDUSTRY_NAME_BATTERY_FARM :{G=z}Baterková farma +STR_INDUSTRY_NAME_COLA_WELLS :{G=z}Kofolová studňa +STR_INDUSTRY_NAME_TOY_SHOP :{G=s}Hračkárstvo +STR_INDUSTRY_NAME_TOY_FACTORY :{G=z}Továreň na hračky +STR_INDUSTRY_NAME_PLASTIC_FOUNTAINS :{G=z}Umelinová fontána +STR_INDUSTRY_NAME_FIZZY_DRINK_FACTORY :{G=z}Továreň na malinovku +STR_INDUSTRY_NAME_BUBBLE_GENERATOR :{G=m}Generátor bubliniek +STR_INDUSTRY_NAME_TOFFEE_QUARRY :{G=m}Karamelový lom +STR_INDUSTRY_NAME_SUGAR_MINE :{G=z}Cukrová baňa ############ WARNING, using range 0x6000 for strings that are stored in the savegame ############ These strings may never get a new id, or savegames will break! ##id 0x6000 STR_SV_EMPTY : STR_SV_UNNAMED :Bez názvu -STR_SV_TRAIN_NAME :Vlak {COMMA} -STR_SV_ROAD_VEHICLE_NAME :Automobil {COMMA} -STR_SV_SHIP_NAME :Lod {COMMA} -STR_SV_AIRCRAFT_NAME :Lietadlo {COMMA} +STR_SV_TRAIN_NAME :{G=m}Vlak {COMMA} +STR_SV_ROAD_VEHICLE_NAME :{G=m}Automobil {COMMA} +STR_SV_SHIP_NAME :{G=z}Loď {COMMA} +STR_SV_AIRCRAFT_NAME :{G=s}Lietadlo {COMMA} STR_SV_STNAME :{STRING} STR_SV_STNAME_NORTH :{STRING} Sever @@ -4881,6 +4966,8 @@ STR_COMPANY_NAME :{COMPANY} STR_COMPANY_NAME_COMPANY_NUM :{COMPANY} {COMPANY_NUM} STR_DEPOT_NAME :{DEPOT} STR_ENGINE_NAME :{ENGINE} +STR_HIDDEN_ENGINE_NAME :{ENGINE} (skryté) +STR_HIDDEN_ENGINE_NAME.g :{G=m}{ENGINE} (skrytý) STR_GROUP_NAME :{GROUP} STR_INDUSTRY_NAME :{INDUSTRY} STR_PRESIDENT_NAME :{PRESIDENT_NAME} @@ -4916,8 +5003,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -4928,9 +5013,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/slovenian.txt b/src/lang/slovenian.txt index 193b937706..736c4f38aa 100644 --- a/src/lang/slovenian.txt +++ b/src/lang/slovenian.txt @@ -248,7 +248,7 @@ STR_CARGO_SINGULAR_FIZZY_DRINK.t :Gazirano pijač # Quantity of cargo STR_QUANTITY_NOTHING : -STR_QUANTITY_PASSENGERS :{COMMA} potnik{P "" a i ov} +STR_QUANTITY_PASSENGERS :{COMMA}{NBSP}potnik{P "" a i ov} STR_QUANTITY_COAL :{WEIGHT_LONG} premoga STR_QUANTITY_MAIL :{COMMA} vreč{P a i e ""} pošte STR_QUANTITY_OIL :{VOLUME_LONG} nafte @@ -401,6 +401,9 @@ STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Drsnik - STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Drsnik - premakne seznam levo/desno STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Poruši zgradbe itd. na kvadratku zemlje. Ctrl izbere diagonalno območje. Shift preklaplja med izgradnjo in predvidenimi stroški +# Show engines button + + # Query window STR_BUTTON_DEFAULT :{BLACK}Privzeto STR_BUTTON_CANCEL :{BLACK}Prekliči @@ -514,7 +517,7 @@ STR_SCENEDIT_FILE_MENU_QUIT :Izhod ############ range for settings menu starts STR_SETTINGS_MENU_GAME_OPTIONS :Možnosti igre -STR_SETTINGS_MENU_CONFIG_SETTINGS :Napredne nastavitve +STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Nastavitve STR_SETTINGS_MENU_SCRIPT_SETTINGS :UI/Nastavitve skriptov igre STR_SETTINGS_MENU_NEWGRF_SETTINGS :NewGRF nastavitve STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Nastavitve prozornega pogleda @@ -623,7 +626,7 @@ STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Vklop/izklop ok STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Preklop barvanja umazanih blokov ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window STR_ORDINAL_NUMBER_1ST :1. STR_ORDINAL_NUMBER_2ND :2. STR_ORDINAL_NUMBER_3RD :3. @@ -639,22 +642,40 @@ STR_ORDINAL_NUMBER_12TH :12. STR_ORDINAL_NUMBER_13TH :13. STR_ORDINAL_NUMBER_14TH :14. STR_ORDINAL_NUMBER_15TH :15. -STR_ORDINAL_NUMBER_16TH :16. -STR_ORDINAL_NUMBER_17TH :17. -STR_ORDINAL_NUMBER_18TH :18. -STR_ORDINAL_NUMBER_19TH :19. -STR_ORDINAL_NUMBER_20TH :20. -STR_ORDINAL_NUMBER_21ST :21. -STR_ORDINAL_NUMBER_22ND :22. -STR_ORDINAL_NUMBER_23RD :23. -STR_ORDINAL_NUMBER_24TH :24. -STR_ORDINAL_NUMBER_25TH :25. -STR_ORDINAL_NUMBER_26TH :26. -STR_ORDINAL_NUMBER_27TH :27. -STR_ORDINAL_NUMBER_28TH :28. -STR_ORDINAL_NUMBER_29TH :29. -STR_ORDINAL_NUMBER_30TH :30. -STR_ORDINAL_NUMBER_31ST :31. +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :1. +STR_DAY_NUMBER_2ND :2. +STR_DAY_NUMBER_3RD :3. +STR_DAY_NUMBER_4TH :4. +STR_DAY_NUMBER_5TH :5. +STR_DAY_NUMBER_6TH :6. +STR_DAY_NUMBER_7TH :7. +STR_DAY_NUMBER_8TH :8. +STR_DAY_NUMBER_9TH :9. +STR_DAY_NUMBER_10TH :10. +STR_DAY_NUMBER_11TH :11. +STR_DAY_NUMBER_12TH :12. +STR_DAY_NUMBER_13TH :13. +STR_DAY_NUMBER_14TH :14. +STR_DAY_NUMBER_15TH :15. +STR_DAY_NUMBER_16TH :16. +STR_DAY_NUMBER_17TH :17. +STR_DAY_NUMBER_18TH :18. +STR_DAY_NUMBER_19TH :19. +STR_DAY_NUMBER_20TH :20. +STR_DAY_NUMBER_21ST :21. +STR_DAY_NUMBER_22ND :22. +STR_DAY_NUMBER_23RD :23. +STR_DAY_NUMBER_24TH :24. +STR_DAY_NUMBER_25TH :25. +STR_DAY_NUMBER_26TH :26. +STR_DAY_NUMBER_27TH :27. +STR_DAY_NUMBER_28TH :28. +STR_DAY_NUMBER_29TH :29. +STR_DAY_NUMBER_30TH :30. +STR_DAY_NUMBER_31ST :31. ############ range for days ends ############ range for months starts @@ -963,13 +984,11 @@ STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}{VEHICLE STR_NEWS_SHIP_IS_WAITING :{WHITE}{VEHICLE} čaka v ladjedelnici STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE} čaka v letališkem hangarju -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE +# Order review system / warnings STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE} ima premalo ukazov na urniku STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE} ima prazen ukaz STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE} ima podvojene ukaze STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE} ima eno neveljavno postajo na urniku -# end of order system STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} se stara STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} podlega iztrošenosti @@ -1052,10 +1071,6 @@ STR_GAME_OPTIONS_CURRENCY_GEL :Gruzijski Lari STR_GAME_OPTIONS_CURRENCY_IRR :Iranski Rial (IRR) ############ end of currency region - -############ start of measuring units region -############ end of measuring units region - STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Cestna vozila STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}Izberi smer vožnje cestnih vozil STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :Vožnja po levi @@ -1088,14 +1103,16 @@ STR_GAME_OPTIONS_TOWN_NAME_ITALIAN :Italijanska STR_GAME_OPTIONS_TOWN_NAME_CATALAN :Katalonska ############ end of townname region -STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Samo-shrani +STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Samodejno shrani STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Izberi časovni interval samodejnega shranjevanja igre +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Izključeno STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :Vsak mesec STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :Vsake 3 mesece STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :Vsakih 6 mesecev STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :Vsakih 12 mesecev +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}Jezik STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Izberi jezik vmesnika @@ -1107,8 +1124,10 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}Ločljiv STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Izberi ločljivost zaslona STR_GAME_OPTIONS_RESOLUTION_OTHER :drugo -STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}Format zajema slike -STR_GAME_OPTIONS_SCREENSHOT_FORMAT_TOOLTIP :{BLACK}Izberi format zajema slike +STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Velikost vmesnika + +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normalno +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Dvojna velikost STR_GAME_OPTIONS_BASE_GRF :{BLACK}Osnovni komplet grafik STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Izberi osnovni komplet grafik za uporabo @@ -1202,6 +1221,7 @@ STR_TERRAIN_TYPE_VERY_FLAT :Zelo raven STR_TERRAIN_TYPE_FLAT :Raven STR_TERRAIN_TYPE_HILLY :Hribovit STR_TERRAIN_TYPE_MOUNTAINOUS :Gorat +STR_TERRAIN_TYPE_ALPINIST :Alpinist STR_CITY_APPROVAL_PERMISSIVE :Dopustno STR_CITY_APPROVAL_TOLERANT :Tolerantno @@ -1209,8 +1229,8 @@ STR_CITY_APPROVAL_HOSTILE :Sovražno STR_WARNING_NO_SUITABLE_AI :{WHITE}Ni na voljo nobene uporabne UI.{}UI so na voljo preko 'Prenosa vsebin'. -# Advanced settings window -STR_CONFIG_SETTING_CAPTION :{WHITE}Napredne nastavitve +# Settings tree window +STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Nastavitve STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Filtriraj niz: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Razširi vse STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Skrči vse @@ -1223,6 +1243,8 @@ STR_CONFIG_SETTING_TYPE_GAME_INGAME :Nastavitve igre STR_CONFIG_SETTING_TYPE_COMPANY_MENU :Nastavitve podjetja (shranjeno v igrah, vpliva samo na nove igre) STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :Nastavitve podjetja (shranjeno v igrah, vpliva samo na trenutno podjetje) +STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK}Kategorija: +STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}Tip: STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Omeji seznam na prikaz le spremenjenih nastavitev STR_CONFIG_SETTING_RESTRICT_BASIC :Osnovne nastavitve STR_CONFIG_SETTING_RESTRICT_ADVANCED :Napredne nastavitve @@ -1237,6 +1259,7 @@ STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :Nastavitve igre STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :Nastavitve igre (zapisane ob shranjevanju; vplivajo le na trenutno igro) STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :Nastavitve podjetja (zapisane ob shranjevanju; vplivajo le na nove igre) STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :Nastavitve podjetja (zapisane ob shranjevanju; vplivajo le na trenutno podjetje) +STR_CONFIG_SETTINGS_NONE :{WHITE}- Brez - STR_CONFIG_SETTING_OFF :Izklopi STR_CONFIG_SETTING_ON :Vklopi @@ -1277,8 +1300,6 @@ STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Preklop med poj STR_CONFIG_SETTING_CITY_APPROVAL :Odnos mestnega sveta do prestrukturiranja površine: {STRING} STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Nastavitev nivoja hrupa in posameznih posegov podjetja na oceno v mestu in nadaljnjo gradnjo -STR_CONFIG_SETTING_BUILDONSLOPES :Dovoli gradnjo hiš na nagibih ali obali: {STRING} -STR_CONFIG_SETTING_BUILDONSLOPES_HELPTEXT :Če je omogočeno, so lahko tračnice in postaje zgradjene na večini pobočij. Če je onemogočeno, so dovoljene le na pobočjih, ki ustrezajo smeri tračnic in zato ne zahtevajo temelje. STR_CONFIG_SETTING_AUTOSLOPE :Dovoli oblikovanje terena pod objekti, tiri, ipd. (samonaklon): {STRING} STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Dovoli spremembo terena pod zgradbami in tiri brez odstranitve STR_CONFIG_SETTING_CATCHMENT :Dovoli bolj resnični območni zajem postaj: {STRING} @@ -1303,14 +1324,8 @@ STR_CONFIG_SETTING_FORBID_90_DEG :Prepreči vlako STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90 stopinjski zavoj se izvrši, ko je vodoravni odsek proge tik pred navpičnim, tako da vlak, ko prevozi rob plošče zavije za 90 namesto klasičnih 45 stopinj. To vpliva tudi na zavoje ladij. STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Dovoli združevanje postaj, ki niso v dotiku: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Dovoli dograjevanje postaje brez direktnega dotika obstoječih delov. Ctrl+klik za postavitev novih delov. -STR_CONFIG_SETTING_IMPROVEDLOAD :Uporabi izboljšan algoritem polnjenja: {STRING} -STR_CONFIG_SETTING_IMPROVEDLOAD_HELPTEXT :Če je omogočeno, se vozila polnijo sekvenčno. Drugo se začne polniti, ko je prvo polno, v kolikor sta dve ali več hkrati na postaji. -STR_CONFIG_SETTING_GRADUAL_LOADING :Postopno polni vozila: {STRING} -STR_CONFIG_SETTING_GRADUAL_LOADING_HELPTEXT :Postopno polnjenje vozil s specifičnim časom polnjenja, namesto vseh enako hitro in odvisno le od količine tovora STR_CONFIG_SETTING_INFLATION :Inflacija: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :Omogoči inflacijo ekonomije, kjer se stroški zvišajo rahlo hitreje kot plačila -STR_CONFIG_SETTING_SELECTGOODS :Dostavi tovor postaji le ob povpraševanju: {STRING} -STR_CONFIG_SETTING_SELECTGOODS_HELPTEXT :Dostavi postaji le tovor, ki je zahtevan od vozila. To prepreči slabe ocene za tovore, ki niso prevažani STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Največja dolžina mostov: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Največja dolžina gradnje mostov STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Največja dolžina predorov: {STRING} @@ -1338,8 +1353,6 @@ STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Mesto ustavljan STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :začetni strani STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :sredini STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :koncu -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING :Cestna vozila v vrsti (s quantum efekti): {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING_HELPTEXT :Cestno vozila naj čaka pred zasedenim postankom/oviro dokler ni odstranjena. STR_CONFIG_SETTING_AUTOSCROLL :Premakni okno, ko je miška na robu: {STRING} STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Če je omogočeno, bo miška na robu slike sama premikala pogled naprej STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Onemogočeno @@ -1370,10 +1383,6 @@ STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Dovoli prehodne STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Dovoli gradnjo pretočnih postaj na cesti, ki je v lasti mesta. STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Dovoli prevoženja postaj na tekmečevih cestah: {STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Dovoli gradnjo pretočnih postaj na cesti, ki je v lasti druge družbe. -STR_CONFIG_SETTING_ADJACENT_STATIONS :Dovoli gradnjo združljivih postaj: {STRING} -STR_CONFIG_SETTING_ADJACENT_STATIONS_HELPTEXT :Dovoli stikanje različnih postaj. -STR_CONFIG_SETTING_DYNAMIC_ENGINES :Omogoči večkratni set NewGRF pogona: {STRING} -STR_CONFIG_SETTING_DYNAMIC_ENGINES_HELPTEXT :Skladna možnost za stare NewGRF-je. Ne izklopi, razen če točno veš kaj delaš. STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Sprememba teh nastavitev ni mogoča, ko so tam vozila STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Vzdrževanje infrastrukture: {STRING} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Če je omogočeno, infrastruktura upošteva vzdrževalne stroške, ki rastejo skozi čas proporcionalno z velikostjo omrežja. @@ -1412,9 +1421,13 @@ STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Prikaz prebival STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Debelina črt grafov: {STRING} STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Debelina črte grafov. Tanjša je bolj natančna, debelejša bolj razločna. +STR_CONFIG_SETTING_LANDSCAPE :Pokrajina: {STRING} STR_CONFIG_SETTING_LAND_GENERATOR :Urejevalnik terena: {STRING} STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Original STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis +STR_CONFIG_SETTING_TERRAIN_TYPE :Tip terena: {STRING} +STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(samo TerraGenesis) Hribovitost pokrajine +STR_CONFIG_SETTING_INDUSTRY_DENSITY :Gostota industrij: {STRING} STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Največja oddaljenost rafinerij nafte od roba: {STRING} STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Naftne rafinerije se nahajajo le pri robu kater, to je ob obali na otoških kartah STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Nadmorska višina snežne odeje: {STRING} @@ -1423,16 +1436,19 @@ STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Zelo zglajen STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Zglajen STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Valovit STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Zelo valovit +STR_CONFIG_SETTING_VARIETY :Raznolika distribucija: {STRING} +STR_CONFIG_SETTING_RIVER_AMOUNT :Število rek: {STRING} +STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Izberi koliko rek generirati STR_CONFIG_SETTING_TREE_PLACER :Algoritem postavljanja dreves: {STRING} STR_CONFIG_SETTING_TREE_PLACER_NONE :Brez STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :Original STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :Izboljšan +STR_CONFIG_SETTING_ROAD_SIDE :Cestna vozila: {STRING} +STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :Izberi stran vožnje STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Zasuk višinskega zemljevida: {STRING} STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Nasprotno urini smeri STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Urina smer STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :Višina, do katere sega raven tip terena: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :Omogoči oblikovanje terena na robovih ozemlja: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES_HELPTEXT :Če je onemogočeno, bodo na robu ozemlja vedno oceani STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}Eno ali več polj na severnem robu ni praznih STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}Eno ali več polj na robu ni vodnatih @@ -1483,17 +1499,15 @@ 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_AUTOSAVE :Samodejno shrani: {STRING} +STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Izberi časovni interval samodejnega shranjevanja igre + STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Uporabi {STRING} format datuma za imena shranjevanja igre STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Format datuma v imenih shranjenih iger STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :dolg (31st Dec 2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :kratek (31-12-2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE :Privzeti nabor za NewGRF-je brez izbranega nabora: {STRING} -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_HELPTEXT :Privzeta paleta za uporabo z NewGRF-ji, kateri ne zahevajo specifične. -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_DOS :Privzeta (D) paleta -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_WIN :Stara (W) paleta - STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Avtomatsko pavziraj ob zagonu nove igre: {STRING} STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :Če je omogočeno, se igra avtomatsko pavzira ob zagonu nove igre, za preučitev ozemlja. STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Med pavzo dovoli: {STRING} @@ -1715,8 +1729,6 @@ STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 na {COMMA} STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Noben STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Začetni faktor rasti mesta: {STRING} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Povprečna velikost mest relativno gledano na normalna naselja na začetku igre. -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :Odstrani absurdne cestne elemente med gradnjo cest: {STRING} -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD_HELPTEXT :Odstrani slepe odseke cest med financirano obnovo cest. STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Posodobi graf razporeda v razmaku {STRING} d{P 0:2 an neva ni ni} STR_CONFIG_SETTING_LINKGRAPH_INTERVAL_HELPTEXT :Čas med ponovnimi izračuni za L-G. Vsak preračun izračuna načrte ene komponente grafa. To pomeni da vrednost X za to nastavitev ne pomeni, da bo celotni graf posodobljen vsakih X dni ampak samo nekatere komponente bodo. Krajša nastavitev pomeni več moči za izračun. Daljša pomeni, da bo pozneje tovor razporejen na nove poti. @@ -1778,27 +1790,22 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :Imperične (ft) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :Metrične (m) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :SI (m) -STR_CONFIG_SETTING_GUI :{ORANGE}Vmesnik STR_CONFIG_SETTING_LOCALISATION :{ORANGE}Lokalno -STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}Gradnja -STR_CONFIG_SETTING_VEHICLES :{ORANGE}Vozila -STR_CONFIG_SETTING_STATIONS :{ORANGE}Postaje -STR_CONFIG_SETTING_ECONOMY :{ORANGE}Ekonomija -STR_CONFIG_SETTING_LINKGRAPH :{ORANGE}Razpored tovora -STR_CONFIG_SETTING_AI :{ORANGE}Tekmeci -STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}Prikaži možnosti -STR_CONFIG_SETTING_INTERACTION :{ORANGE}Interaktivnost STR_CONFIG_SETTING_SOUND :{ORANGE}Zvočni učinki -STR_CONFIG_SETTING_NEWS :{ORANGE}Novice in sporočila -STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}Signali -STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE}Upravljanje tovora -STR_CONFIG_SETTING_AI_NPC :{ORANGE}Računalniški igralci -STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE}Samoobnova -STR_CONFIG_SETTING_VEHICLES_SERVICING :{ORANGE}Servisiranje +STR_CONFIG_SETTING_INTERFACE :{ORANGE}Vmesnik +STR_CONFIG_SETTING_INTERFACE_GENERAL :{ORANGE}Splošno +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Gradnja +STR_CONFIG_SETTING_COMPANY :{ORANGE}Podjetje +STR_CONFIG_SETTING_VEHICLES :{ORANGE}Vozila STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Usmerjanje -STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}Vlaki -STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}Mesta -STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}Industrije +STR_CONFIG_SETTING_ACCIDENTS :{ORANGE}Katastrofe / Nesreče +STR_CONFIG_SETTING_GENWORLD :{ORANGE}Ustvarjanje sveta +STR_CONFIG_SETTING_ENVIRONMENT :{ORANGE}Okolje +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Mesta +STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}Industrije +STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :{ORANGE}Razpored tovora +STR_CONFIG_SETTING_AI :{ORANGE}Tekmeci +STR_CONFIG_SETTING_AI_NPC :{ORANGE}Računalniški igralci STR_CONFIG_SETTING_PATHFINDER_OPF :Original STR_CONFIG_SETTING_PATHFINDER_NPF :NPF @@ -1847,7 +1854,7 @@ STR_INTRO_MULTIPLAYER :{BLACK}Več igr STR_INTRO_GAME_OPTIONS :{BLACK}Možnosti STR_INTRO_HIGHSCORE :{BLACK}Tabela najboljših rezultatov -STR_INTRO_ADVANCED_SETTINGS :{BLACK}Napredne nastavitve +STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Nastavitve STR_INTRO_NEWGRF_SETTINGS :{BLACK}NewGRF nastavitve STR_INTRO_ONLINE_CONTENT :{BLACK}Preveri razpoložljive vsebine STR_INTRO_SCRIPT_SETTINGS :{BLACK}UI / Nastavitve skriptov igre @@ -1867,7 +1874,7 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Izberi o STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Prikaži možnosti igre STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Prikaži tabelo najboljših rezultatov -STR_INTRO_TOOLTIP_ADVANCED_SETTINGS :{BLACK}Prikaz naprednih nastavitev +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Nastavitve zaslona STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Prikaži nastavitve NewGRF STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Preveri posodobljene vsebine na strežniku,{} ki so na voljo za prenos STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Prikaži UI in Nastavitve skriptov igre @@ -1955,6 +1962,7 @@ STR_LIVERY_FREIGHT_TRAM :Tovorni tramvaj STR_FACE_CAPTION :{WHITE}Izbira obraza STR_FACE_CANCEL_TOOLTIP :{BLACK}Prekliči izbiro novega obraza STR_FACE_OK_TOOLTIP :{BLACK}Sprejmi nov obraz +STR_FACE_RANDOM :{BLACK}Naključno STR_FACE_MALE_BUTTON :{BLACK}Moški STR_FACE_MALE_TOOLTIP :{BLACK}Izberi moške slike @@ -2796,7 +2804,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-2014 ekipa OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2015 ekipa OpenTTD # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Shrani igro @@ -2815,6 +2823,7 @@ STR_SAVELOAD_SAVE_BUTTON :{BLACK}Shrani STR_SAVELOAD_SAVE_TOOLTIP :{BLACK}Shrani trenutno igro z izbranim imenom STR_SAVELOAD_LOAD_BUTTON :{BLACK}Naloži STR_SAVELOAD_LOAD_TOOLTIP :{BLACK}Naloži izbrano igro +STR_SAVELOAD_LOAD_HEIGHTMAP_TOOLTIP :{BLACK}Naloži višinsko karto STR_SAVELOAD_DETAIL_CAPTION :{BLACK}Podrobnosti igre STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}Ni informacij na voljo STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING} @@ -2830,13 +2839,10 @@ STR_MAPGEN_BY :{BLACK}* STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Število mest: STR_MAPGEN_DATE :{BLACK}Datum: STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Število industrij: +STR_MAPGEN_MAX_HEIGHTLEVEL :{BLACK}Maksimalna višina mape: STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}Višina snežne meje: STR_MAPGEN_SNOW_LINE_UP :{BLACK}Premik snežne meje eno enoto višje STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}Premik snežne meje eno enoto nižje -STR_MAPGEN_RANDOM_SEED :{BLACK}Naključno seme: -STR_MAPGEN_RANDOM_SEED_HELP :{BLACK}Klikni za vnos naključnega semena -STR_MAPGEN_RANDOM :{BLACK}Naključno -STR_MAPGEN_RANDOM_HELP :{BLACK}Spremeni naključno seme za ustvarjanje terena STR_MAPGEN_LAND_GENERATOR :{BLACK}Ustvarjalec terena: STR_MAPGEN_TREE_PLACER :{BLACK}Algoritem dreves: STR_MAPGEN_TERRAIN_TYPE :{BLACK}Tip terena: @@ -2863,7 +2869,7 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Ime viš STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Velikost: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} -STR_MAPGEN_RANDOM_SEED_OSKTITLE :{BLACK}Vpiši naključno seme +STR_MAPGEN_MAX_HEIGHTLEVEL_QUERY_CAPT :{WHITE}Spremeni maksimalno višino mape STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}Spremeni višino snežne meje STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Spremeni začetno leto @@ -2918,6 +2924,7 @@ STR_NEWGRF_SETTINGS_MOVEUP :{BLACK}Premakni STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP :{BLACK}Premakne izbrano NewGRF gor po seznamu STR_NEWGRF_SETTINGS_MOVEDOWN :{BLACK}Premakni dol STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP :{BLACK}Premakne izbrano NewGRF dol po seznamu +STR_NEWGRF_SETTINGS_UPGRADE :{BLACK}Nadgradi STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}Seznam nameščenih NewGRF datotek. STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}Nastavi parametre @@ -2942,6 +2949,12 @@ STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Ni ujemajo STR_NEWGRF_SETTINGS_DISABLED :{RED}Onemogočeno STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Nekompatibilno s to različico OpenTTD +# NewGRF save preset window +STR_SAVE_PRESET_CAPTION :{WHITE}Shrani prednastavitev +STR_SAVE_PRESET_TITLE :{BLACK}Vpiši ime za prednastavitev +STR_SAVE_PRESET_CANCEL :{BLACK}Prekliči +STR_SAVE_PRESET_SAVE :{BLACK}Shrani + # NewGRF parameters window STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Spremeni NewGRF parametre STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Zapri @@ -2972,7 +2985,10 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Prejšnj STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Nadaljuj k prejšnji navadni sličici, zanemari vse navidezne/pobarvane/besedilne sličice in okvir na koncu STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Predstavitev trenutno izbrane sličice. Zamik je zanemarjen pri risanju te sličice STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Premakni sličico s spreminjanjem X in Y osi -STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X zamik: {NUM}, Y zamik: {NUM} +STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Resetiraj relativno +STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Resetiraj zdajšne relativne odmike +STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}X odmik: {NUM}, Y odmik: {NUM} (Absolutno) +STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}X odmik: {NUM}, Y odmik: {NUM} (Relativno) STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Izberi sličico STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Izberi sličico kjerkoli na zaslonu @@ -3144,7 +3160,7 @@ STR_GOAL_QUESTION_CAPTION_INFORMATION :Informacije STR_GOAL_QUESTION_CAPTION_WARNING :Opozorilo STR_GOAL_QUESTION_CAPTION_ERROR :Napaka -### Start of Goal Question button list +############ Start of Goal Question button list STR_GOAL_QUESTION_BUTTON_CANCEL :Prekliči STR_GOAL_QUESTION_BUTTON_OK :OK STR_GOAL_QUESTION_BUTTON_NO :Ne @@ -3163,6 +3179,7 @@ STR_GOAL_QUESTION_BUTTON_RESTART :Ponovni zagon STR_GOAL_QUESTION_BUTTON_POSTPONE :Preloži STR_GOAL_QUESTION_BUTTON_SURRENDER :Predaja STR_GOAL_QUESTION_BUTTON_CLOSE :Zapri +############ End of Goal Question button list # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}Subvencije @@ -3198,7 +3215,6 @@ STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}Noben to # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} -STR_STATION_VIEW_WAITING_TITLE :{BLACK}Čaka: {WHITE}{STRING} STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} na poti iz {STATION}) STR_STATION_VIEW_RESERVED :{YELLOW}({CARGO_SHORT} rezervirano za nalaganje @@ -3448,6 +3464,8 @@ STR_GROUP_DELETE_TOOLTIP :{BLACK}Izbriši STR_GROUP_RENAME_TOOLTIP :{BLACK}Preimenuj izbrano skupino STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Klikni za zaščito skupine pred splošno samoobnovo +STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Izbriši skupino + STR_GROUP_ADD_SHARED_VEHICLE :Vsa izmenljiva vozila STR_GROUP_REMOVE_ALL_VEHICLES :Odstrani vsa vozila @@ -3510,6 +3528,9 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Preimenu STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Preimenuj ladjo STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Preimenuj letalo + + + STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}Preimenuj železniško vozilo STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}Preimenuj cestno vozilo STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}Preimenuj ladjo @@ -3614,6 +3635,7 @@ STR_REPLACE_VEHICLE_ROAD_VEHICLE :Cestno vozilo STR_REPLACE_VEHICLE_SHIP :Ladja STR_REPLACE_VEHICLE_AIRCRAFT :Letalo + STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Izberi tip lokomotive za zamenjati STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Izberi vrsto lokomotive, ki jo hočeš prestaviti na levo označeno mesto @@ -4259,6 +4281,7 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... gozd STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... lahko se zgradi samo nad snežno mejo STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... lahko se zgradi samo pod snežno mejo + # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Tukaj ni mogoče zgraditi železniške postaje... STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}Tukaj ni mogoče zgraditi avtobusne postaje... @@ -5038,8 +5061,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -5050,9 +5071,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/spanish.txt b/src/lang/spanish.txt index f31ec46477..3b8cb42b21 100644 --- a/src/lang/spanish.txt +++ b/src/lang/spanish.txt @@ -96,30 +96,30 @@ STR_CARGO_SINGULAR_FIZZY_DRINK :{G=m}Refresco # Quantity of cargo STR_QUANTITY_NOTHING : -STR_QUANTITY_PASSENGERS :{COMMA} pasajero{P "" s} +STR_QUANTITY_PASSENGERS :{COMMA}{NBSP}pasajero{P "" s} STR_QUANTITY_COAL :{WEIGHT_LONG} de carbón -STR_QUANTITY_MAIL :{COMMA} bolsa{P "" s} de correo +STR_QUANTITY_MAIL :{COMMA}{NBSP}bolsa{P "" s} de correo STR_QUANTITY_OIL :{VOLUME_LONG} de petróleo -STR_QUANTITY_LIVESTOCK :{COMMA} cabeza{P "" s} de ganado -STR_QUANTITY_GOODS :{COMMA} caja{P "" s} de mercancías +STR_QUANTITY_LIVESTOCK :{COMMA}{NBSP}cabeza{P "" s} de ganado +STR_QUANTITY_GOODS :{COMMA}{NBSP}caja{P "" s} de mercancías STR_QUANTITY_GRAIN :{WEIGHT_LONG} de grano STR_QUANTITY_WOOD :{WEIGHT_LONG} de madera STR_QUANTITY_IRON_ORE :{WEIGHT_LONG} de mineral de hierro STR_QUANTITY_STEEL :{WEIGHT_LONG} de acero -STR_QUANTITY_VALUABLES :{COMMA} bolsa{P "" s} de objetos de valor +STR_QUANTITY_VALUABLES :{COMMA}{NBSP}bolsa{P "" s} de objetos de valor STR_QUANTITY_COPPER_ORE :{WEIGHT_LONG} de mineral de cobre STR_QUANTITY_MAIZE :{WEIGHT_LONG} de maíz STR_QUANTITY_FRUIT :{WEIGHT_LONG} de fruta -STR_QUANTITY_DIAMONDS :{COMMA} bolsa{P "" s} de diamantes +STR_QUANTITY_DIAMONDS :{COMMA}{NBSP}bolsa{P "" s} de diamantes STR_QUANTITY_FOOD :{WEIGHT_LONG} de alimento STR_QUANTITY_PAPER :{WEIGHT_LONG} de papel -STR_QUANTITY_GOLD :{COMMA} bolsa{P "" s} de oro +STR_QUANTITY_GOLD :{COMMA}{NBSP}bolsa{P "" s} de oro STR_QUANTITY_WATER :{VOLUME_LONG} de agua STR_QUANTITY_WHEAT :{WEIGHT_LONG} de trigo STR_QUANTITY_RUBBER :{VOLUME_LONG} de caucho STR_QUANTITY_SUGAR :{WEIGHT_LONG} de azúcar -STR_QUANTITY_TOYS :{COMMA} juguete{P "" s} -STR_QUANTITY_SWEETS :{COMMA} bolsa{P "" s} de dulces +STR_QUANTITY_TOYS :{COMMA}{NBSP}juguete{P "" s} +STR_QUANTITY_SWEETS :{COMMA}{NBSP}bolsa{P "" s} de dulces STR_QUANTITY_COLA :{VOLUME_LONG} de cola STR_QUANTITY_CANDYFLOSS :{WEIGHT_LONG} de algodón dulce STR_QUANTITY_BUBBLES :{COMMA} burbuja{P "" s} @@ -166,12 +166,12 @@ STR_ABBREV_NONE :{TINY_FONT}NO STR_ABBREV_ALL :{TINY_FONT}TOD # 'Mode' of transport for cargoes -STR_PASSENGERS :{COMMA} pasajero{P "" s} -STR_BAGS :{COMMA} bolsa{P "" s} -STR_TONS :{COMMA} tonelada{P "" s} -STR_LITERS :{COMMA} litro{P "" s} -STR_ITEMS :{COMMA} artículo{P "" s} -STR_CRATES :{COMMA} caja{P "" s} +STR_PASSENGERS :{COMMA}{NBSP}pasajero{P "" s} +STR_BAGS :{COMMA}{NBSP}bolsa{P "" s} +STR_TONS :{COMMA}{NBSP}tonelada{P "" s} +STR_LITERS :{COMMA}{NBSP}litro{P "" s} +STR_ITEMS :{COMMA}{NBSP}artículo{P "" s} +STR_CRATES :{COMMA}{NBSP}caja{P "" s} # Colours, do not shuffle STR_COLOUR_DARK_BLUE :Azul oscuro @@ -192,37 +192,37 @@ STR_COLOUR_GREY :Gris STR_COLOUR_WHITE :Blanco # Units used in OpenTTD -STR_UNITS_VELOCITY_IMPERIAL :{COMMA} mph -STR_UNITS_VELOCITY_METRIC :{COMMA} km/h -STR_UNITS_VELOCITY_SI :{COMMA} m/s +STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}mph +STR_UNITS_VELOCITY_METRIC :{COMMA}{NBSP}km/h +STR_UNITS_VELOCITY_SI :{COMMA}{NBSP}m/s -STR_UNITS_POWER_IMPERIAL :{COMMA}cv -STR_UNITS_POWER_METRIC :{COMMA}cv -STR_UNITS_POWER_SI :{COMMA}kW +STR_UNITS_POWER_IMPERIAL :{COMMA}{NBSP}cv +STR_UNITS_POWER_METRIC :{COMMA}{NBSP}cv +STR_UNITS_POWER_SI :{COMMA}{NBSP}kW -STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}t -STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}t -STR_UNITS_WEIGHT_SHORT_SI :{COMMA}kg +STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_SI :{COMMA}{NBSP}kg -STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA} tonelada{P "" s} -STR_UNITS_WEIGHT_LONG_METRIC :{COMMA} tonelada{P "" s} -STR_UNITS_WEIGHT_LONG_SI :{COMMA} kg +STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA}{NBSP}tonelada{P "" s} +STR_UNITS_WEIGHT_LONG_METRIC :{COMMA}{NBSP}tonelada{P "" s} +STR_UNITS_WEIGHT_LONG_SI :{COMMA}{NBSP}kg -STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}gal -STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}l -STR_UNITS_VOLUME_SHORT_SI :{COMMA}m³ +STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}{NBSP}gal +STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}{NBSP}l +STR_UNITS_VOLUME_SHORT_SI :{COMMA}{NBSP}m³ -STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA} galon{P "" es} -STR_UNITS_VOLUME_LONG_METRIC :{COMMA} litro{P "" s} -STR_UNITS_VOLUME_LONG_SI :{COMMA} m³ +STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA} gal{P ón ones} +STR_UNITS_VOLUME_LONG_METRIC :{COMMA}{NBSP}litro{P "" s} +STR_UNITS_VOLUME_LONG_SI :{COMMA}{NBSP}m³ -STR_UNITS_FORCE_IMPERIAL :{COMMA} lbf -STR_UNITS_FORCE_METRIC :{COMMA} kp -STR_UNITS_FORCE_SI :{COMMA} kN +STR_UNITS_FORCE_IMPERIAL :{COMMA}{NBSP}lbf +STR_UNITS_FORCE_METRIC :{COMMA}{NBSP}kp +STR_UNITS_FORCE_SI :{COMMA}{NBSP}kN -STR_UNITS_HEIGHT_IMPERIAL :{COMMA} pies -STR_UNITS_HEIGHT_METRIC :{COMMA} m -STR_UNITS_HEIGHT_SI :{COMMA} m +STR_UNITS_HEIGHT_IMPERIAL :{COMMA}{NBSP}pies +STR_UNITS_HEIGHT_METRIC :{COMMA}{NBSP}m +STR_UNITS_HEIGHT_SI :{COMMA}{NBSP}m # Common window strings STR_LIST_FILTER_TITLE :{BLACK}Patrón de filtrado: @@ -249,6 +249,17 @@ STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Barra de STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Barra de desplazamiento - mueve la lista izquierda/derecha STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Demoler edificios, etc. en un área de terreno. Ctrl permite seleccionar un área diagonalmente. Shift permite mostrar una estimación del precio +# Show engines button +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}Mostrar ocultos +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK}Mostrar ocultos +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}Mostrar ocultos +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}Mostrar ocultos + +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}Al activar este botón, los trenes ocultos también serán mostrados +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE_TOOLTIP :{BLACK}Al activar este botón, los vehículos de carretera ocultos también serán mostrados +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}Al activar este botón, los barcos ocultos también serán mostrados +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Al activar este botón, las aeronaves ocultas también serán mostradas + # Query window STR_BUTTON_DEFAULT :{BLACK}Por defecto STR_BUTTON_CANCEL :{BLACK}Cancelar @@ -308,7 +319,7 @@ STR_TOOLBAR_TOOLTIP_FORWARD :{BLACK}Avance r STR_TOOLBAR_TOOLTIP_OPTIONS :{BLACK}Opciones STR_TOOLBAR_TOOLTIP_SAVE_GAME_ABANDON_GAME :{BLACK}Guardar juego, abandonar juego, salir STR_TOOLBAR_TOOLTIP_DISPLAY_MAP :{BLACK}Mostrar mapa -STR_TOOLBAR_TOOLTIP_DISPLAY_TOWN_DIRECTORY :{BLACK}Mostrar guía de pueblos +STR_TOOLBAR_TOOLTIP_DISPLAY_TOWN_DIRECTORY :{BLACK}Mostrar guía de municipios STR_TOOLBAR_TOOLTIP_DISPLAY_SUBSIDIES :{BLACK}Mostrar subvenciones STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_STATIONS :{BLACK}Mostrar lista de estaciones STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_FINANCES :{BLACK}Mostrar información financiera de la empresa @@ -341,9 +352,9 @@ STR_SCENEDIT_TOOLBAR_SCENARIO_EDITOR :{YELLOW}Editor STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_BACKWARD :{BLACK}Retrocede la fecha de inicio en un año STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_FORWARD :{BLACK}Avanza la fecha de inicio en un año STR_SCENEDIT_TOOLBAR_TOOLTIP_SET_DATE :{BLACK}Click para fijar el año inicial -STR_SCENEDIT_TOOLBAR_TOOLTIP_DISPLAY_MAP_TOWN_DIRECTORY :{BLACK}Mostrar mapa, guía de pueblos +STR_SCENEDIT_TOOLBAR_TOOLTIP_DISPLAY_MAP_TOWN_DIRECTORY :{BLACK}Mostrar mapa, guía de municipios STR_SCENEDIT_TOOLBAR_LANDSCAPE_GENERATION :{BLACK}Generación de terreno -STR_SCENEDIT_TOOLBAR_TOWN_GENERATION :{BLACK}Creación de pueblos +STR_SCENEDIT_TOOLBAR_TOWN_GENERATION :{BLACK}Creación de municipios STR_SCENEDIT_TOOLBAR_INDUSTRY_GENERATION :{BLACK}Generación de industria STR_SCENEDIT_TOOLBAR_ROAD_CONSTRUCTION :{BLACK}Construcción de carreteras STR_SCENEDIT_TOOLBAR_PLANT_TREES :{BLACK}Plantar árboles. Shift permite mostrar una estimación del precio @@ -362,11 +373,11 @@ STR_SCENEDIT_FILE_MENU_QUIT :Salir ############ range for settings menu starts STR_SETTINGS_MENU_GAME_OPTIONS :Opciones de juego -STR_SETTINGS_MENU_CONFIG_SETTINGS :Opciones avanzadas +STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Configuración STR_SETTINGS_MENU_SCRIPT_SETTINGS :Configuración de scripts STR_SETTINGS_MENU_NEWGRF_SETTINGS :Configuración NewGRF STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Opciones de transparencia -STR_SETTINGS_MENU_TOWN_NAMES_DISPLAYED :Ver nombres de pueblos +STR_SETTINGS_MENU_TOWN_NAMES_DISPLAYED :Ver nombres de municipios STR_SETTINGS_MENU_STATION_NAMES_DISPLAYED :Ver nombres de estaciones STR_SETTINGS_MENU_WAYPOINTS_DISPLAYED :Ver puntos de ruta STR_SETTINGS_MENU_SIGNS_DISPLAYED :Ver carteles @@ -392,8 +403,8 @@ STR_MAP_MENU_LINGRAPH_LEGEND :Leyenda de Movi STR_MAP_MENU_SIGN_LIST :Lista de carteles ############ range for town menu starts -STR_TOWN_MENU_TOWN_DIRECTORY :Directorio de pueblos -STR_TOWN_MENU_FOUND_TOWN :Fundar pueblo +STR_TOWN_MENU_TOWN_DIRECTORY :Directorio de municipios +STR_TOWN_MENU_FOUND_TOWN :Fundar municipio ############ range ends here ############ range for subsidies menu starts @@ -471,7 +482,7 @@ STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Activar cajas d STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Activar/Desactivar coloreado de bloques modificados ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window STR_ORDINAL_NUMBER_1ST :1º STR_ORDINAL_NUMBER_2ND :2º STR_ORDINAL_NUMBER_3RD :3º @@ -487,22 +498,40 @@ STR_ORDINAL_NUMBER_12TH :12º STR_ORDINAL_NUMBER_13TH :13º STR_ORDINAL_NUMBER_14TH :14º STR_ORDINAL_NUMBER_15TH :15º -STR_ORDINAL_NUMBER_16TH :16º -STR_ORDINAL_NUMBER_17TH :17º -STR_ORDINAL_NUMBER_18TH :18º -STR_ORDINAL_NUMBER_19TH :19º -STR_ORDINAL_NUMBER_20TH :20º -STR_ORDINAL_NUMBER_21ST :21º -STR_ORDINAL_NUMBER_22ND :22º -STR_ORDINAL_NUMBER_23RD :23º -STR_ORDINAL_NUMBER_24TH :24º -STR_ORDINAL_NUMBER_25TH :25º -STR_ORDINAL_NUMBER_26TH :26º -STR_ORDINAL_NUMBER_27TH :27º -STR_ORDINAL_NUMBER_28TH :28º -STR_ORDINAL_NUMBER_29TH :29º -STR_ORDINAL_NUMBER_30TH :30º -STR_ORDINAL_NUMBER_31ST :31º +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :1 +STR_DAY_NUMBER_2ND :2 +STR_DAY_NUMBER_3RD :3 +STR_DAY_NUMBER_4TH :4 +STR_DAY_NUMBER_5TH :5 +STR_DAY_NUMBER_6TH :6 +STR_DAY_NUMBER_7TH :7 +STR_DAY_NUMBER_8TH :8 +STR_DAY_NUMBER_9TH :9 +STR_DAY_NUMBER_10TH :10 +STR_DAY_NUMBER_11TH :11 +STR_DAY_NUMBER_12TH :12 +STR_DAY_NUMBER_13TH :13 +STR_DAY_NUMBER_14TH :14 +STR_DAY_NUMBER_15TH :15 +STR_DAY_NUMBER_16TH :16 +STR_DAY_NUMBER_17TH :17 +STR_DAY_NUMBER_18TH :18 +STR_DAY_NUMBER_19TH :19 +STR_DAY_NUMBER_20TH :20 +STR_DAY_NUMBER_21ST :21 +STR_DAY_NUMBER_22ND :22 +STR_DAY_NUMBER_23RD :23 +STR_DAY_NUMBER_24TH :24 +STR_DAY_NUMBER_25TH :25 +STR_DAY_NUMBER_26TH :26 +STR_DAY_NUMBER_27TH :27 +STR_DAY_NUMBER_28TH :28 +STR_DAY_NUMBER_29TH :29 +STR_DAY_NUMBER_30TH :30 +STR_DAY_NUMBER_31ST :31 ############ range for days ends ############ range for months starts @@ -586,8 +615,8 @@ STR_PERFORMANCE_DETAIL_SELECT_COMPANY_TOOLTIP :{BLACK}Mostrar ############ Those following lines need to be in this order!! STR_PERFORMANCE_DETAIL_VEHICLES :{BLACK}Vehículos: STR_PERFORMANCE_DETAIL_STATIONS :{BLACK}Estaciones: -STR_PERFORMANCE_DETAIL_MIN_PROFIT :{BLACK}Beneficio Min.: -STR_PERFORMANCE_DETAIL_MIN_INCOME :{BLACK}Ingreso Min.: +STR_PERFORMANCE_DETAIL_MIN_PROFIT :{BLACK}Beneficio Mín.: +STR_PERFORMANCE_DETAIL_MIN_INCOME :{BLACK}Ingreso Mín.: STR_PERFORMANCE_DETAIL_MAX_INCOME :{BLACK}Ingreso Máx.: STR_PERFORMANCE_DETAIL_DELIVERED :{BLACK}Entregado: STR_PERFORMANCE_DETAIL_CARGO :{BLACK}Carga: @@ -714,12 +743,12 @@ STR_SMALLMAP_LEGENDA_TREES :{TINY_FONT}{BLA STR_SMALLMAP_LEGENDA_ROCKS :{TINY_FONT}{BLACK}Rocas STR_SMALLMAP_LEGENDA_WATER :{TINY_FONT}{BLACK}Agua STR_SMALLMAP_LEGENDA_NO_OWNER :{TINY_FONT}{BLACK}Sin propietario -STR_SMALLMAP_LEGENDA_TOWNS :{TINY_FONT}{BLACK}Pueblos +STR_SMALLMAP_LEGENDA_TOWNS :{TINY_FONT}{BLACK}Municipios STR_SMALLMAP_LEGENDA_INDUSTRIES :{TINY_FONT}{BLACK}Industrias STR_SMALLMAP_LEGENDA_DESERT :{TINY_FONT}{BLACK}Desierto STR_SMALLMAP_LEGENDA_SNOW :{TINY_FONT}{BLACK}Nieve -STR_SMALLMAP_TOOLTIP_TOGGLE_TOWN_NAMES_ON_OFF :{BLACK}Mostrar/ocultar nombres de pueblos en el mapa +STR_SMALLMAP_TOOLTIP_TOGGLE_TOWN_NAMES_ON_OFF :{BLACK}Mostrar/ocultar nombres de municipios en el mapa STR_SMALLMAP_CENTER :{BLACK}Centrar mapa en la posición actual STR_SMALLMAP_INDUSTRY :{TINY_FONT}{STRING} ({NUM}) STR_SMALLMAP_LINKSTATS :{TINY_FONT}{STRING} @@ -784,7 +813,7 @@ STR_NEWS_COMPANY_LAUNCH_DESCRIPTION :{BIG_FONT}{BLAC STR_NEWS_MERGER_TAKEOVER_TITLE :{BIG_FONT}{BLACK}¡{STRING} ha sido adquirida por {STRING}! STR_PRESIDENT_NAME_MANAGER :{BLACK}{PRESIDENT_NAME}{}(Presidente) -STR_NEWS_NEW_TOWN :{BLACK}{BIG_FONT}¡{STRING} patrocina la construcción del nuevo pueblo {TOWN}! +STR_NEWS_NEW_TOWN :{BLACK}{BIG_FONT}¡{STRING} patrocina la construcción del nuevo municipio {TOWN}! STR_NEWS_INDUSTRY_CONSTRUCTION :{BIG_FONT}{BLACK}¡Nuev{G o a} {STRING} en construcción cerca de {TOWN}! STR_NEWS_INDUSTRY_PLANTED :{BIG_FONT}{BLACK}¡Nuev{G o a} {STRING} está siendo plantad{G o a} cerca de {TOWN}! @@ -811,13 +840,12 @@ STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}{VEHICLE STR_NEWS_SHIP_IS_WAITING :{WHITE}{VEHICLE} está esperando en el astillero STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE} está esperando en el hangar -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE +# Order review system / warnings 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 una estación inválida en sus órdenes -# end of order system +STR_NEWS_PLANE_USES_TOO_SHORT_RUNWAY :{WHITE}{VEHICLE} tiene en sus órdenes un aeropuerto con una pista demasiado corta STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} se está volviendo viejo STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} se está volviendo muy viejo @@ -900,17 +928,13 @@ STR_GAME_OPTIONS_CURRENCY_GEL :Lari Georgiano STR_GAME_OPTIONS_CURRENCY_IRR :Rial Iraní (IRR) ############ end of currency region - -############ start of measuring units region -############ end of measuring units region - STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Vehículos de carretera STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}Selecciona el lado de la carretera por donde se debe conducir STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :Conducir por la izquierda STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_RIGHT :Conducir por la derecha -STR_GAME_OPTIONS_TOWN_NAMES_FRAME :{BLACK}Nombres de pueblos -STR_GAME_OPTIONS_TOWN_NAMES_DROPDOWN_TOOLTIP :{BLACK}Selección del estilo del nombre de las poblaciones +STR_GAME_OPTIONS_TOWN_NAMES_FRAME :{BLACK}Nombres de municipios +STR_GAME_OPTIONS_TOWN_NAMES_DROPDOWN_TOOLTIP :{BLACK}Selección del estilo del nombre de los municipios ############ start of townname region STR_GAME_OPTIONS_TOWN_NAME_ORIGINAL_ENGLISH :Inglés @@ -939,11 +963,13 @@ STR_GAME_OPTIONS_TOWN_NAME_CATALAN :Catalán STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Autoguardado STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Selección del intervalo entre guardados automáticos del juego +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Desactivado STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :Cada mes STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :Cada 3 meses STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :Cada 6 meses STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :Cada 12 meses +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}Idioma STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Seleccione el idioma a emplear para la interfaz del juego @@ -955,8 +981,12 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}Resoluci STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Seleccione la resolución de pantalla a usar STR_GAME_OPTIONS_RESOLUTION_OTHER :Otras -STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}Formato de captura de pantalla -STR_GAME_OPTIONS_SCREENSHOT_FORMAT_TOOLTIP :{BLACK}Seleccione el formato de captura de pantalla a utilizar +STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Tamaño de la interfaz +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Elige el tamaño de los elementos de la interfaz a usar + +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normal +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Tamaño doble +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Tamaño cuádruple STR_GAME_OPTIONS_BASE_GRF :{BLACK}Conjunto de gráficos base STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Selecciona el conjunto de gráficos base a usar @@ -972,6 +1002,7 @@ STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Seleccio STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} archivo{P "" s} corrupto{P "" s} STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Información adicional sobre el conjunto de música base +STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}No se ha podido obtener una lista de resoluciones soportadas STR_ERROR_FULLSCREEN_FAILED :{WHITE}El modo de pantalla completa ha fallado # Custom currency window @@ -1050,15 +1081,16 @@ STR_TERRAIN_TYPE_VERY_FLAT :Muy llano STR_TERRAIN_TYPE_FLAT :Llano STR_TERRAIN_TYPE_HILLY :Accidentado STR_TERRAIN_TYPE_MOUNTAINOUS :Montañoso +STR_TERRAIN_TYPE_ALPINIST :Alpino STR_CITY_APPROVAL_PERMISSIVE :Permisiva STR_CITY_APPROVAL_TOLERANT :Tolerante STR_CITY_APPROVAL_HOSTILE :Hostil -STR_WARNING_NO_SUITABLE_AI :{WHITE}No se encontraron IAs apropiadas...{}Puedes descargar IAs a través del sistema de 'Contenido Online' +STR_WARNING_NO_SUITABLE_AI :{WHITE}No se encontraron IA apropiadas...{}Puedes descargar IA a través del sistema de 'Contenido Online' -# Advanced settings window -STR_CONFIG_SETTING_CAPTION :{WHITE}Opciones avanzadas +# Settings tree window +STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Configuración STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Patrón de filtrado: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Expandir todos STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Colapsar todos @@ -1074,9 +1106,9 @@ STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :Opción de empr STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK}Categoría: STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}Tipo: STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Muestra solamente las opciones modificadas en la lista -STR_CONFIG_SETTING_RESTRICT_BASIC :Opciones básicas -STR_CONFIG_SETTING_RESTRICT_ADVANCED :Opciones avanzadas -STR_CONFIG_SETTING_RESTRICT_ALL :Opciones de experto / todas las opciones +STR_CONFIG_SETTING_RESTRICT_BASIC :Opciones básicas (solo muestra los ajustes de configuración más importantes) +STR_CONFIG_SETTING_RESTRICT_ADVANCED :Avanzado (muestra la mayoría de las opciones) +STR_CONFIG_SETTING_RESTRICT_ALL :Experto (muestra todas las opciones, incluidas las más extrañas) STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :Opciones con un valor diferente al valor por defecto STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :Opciones con un valor diferente a las opciones de partida nueva @@ -1115,7 +1147,7 @@ STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :Porcentaje de i STR_CONFIG_SETTING_RUNNING_COSTS :Costes de operación: {STRING} STR_CONFIG_SETTING_RUNNING_COSTS_HELPTEXT :Permite fijar el nivel de los costes de mantenimiento y operación de vehículos e infraestructuras STR_CONFIG_SETTING_CONSTRUCTION_SPEED :Velocidad de construcción: {STRING} -STR_CONFIG_SETTING_CONSTRUCTION_SPEED_HELPTEXT :Limita la velocidad de las acciones de construcción para las IAs +STR_CONFIG_SETTING_CONSTRUCTION_SPEED_HELPTEXT :Limita la velocidad de las acciones de construcción para las IA STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS :Averías de vehículos: {STRING} STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS_HELPTEXT :Controla la frecuencia con la que los vehículos que no hayan tenido un mantenimiento adecuado se rompen STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER :Multiplicador por subsidio: {STRING} @@ -1128,17 +1160,18 @@ STR_CONFIG_SETTING_TRAIN_REVERSING :Prohibir cambio STR_CONFIG_SETTING_TRAIN_REVERSING_HELPTEXT :Si se activa, los trenes no se darán la vuelta en estaciones no finales en el caso de que haya un camino más cercano si se dan la vuelta STR_CONFIG_SETTING_DISASTERS :Desastres: {STRING} STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Activa desastres que ocasionalmente pueden bloquear o destruir vehículos o infraestructuras -STR_CONFIG_SETTING_CITY_APPROVAL :Actitud de los pueblos frente a reestructuraciones en su zona: {STRING} -STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Permite elegir la medida en la que el ruido y el daño ambiental causado por las compañías afecta a su calificación local en los pueblos +STR_CONFIG_SETTING_CITY_APPROVAL :Actitud de los municipios frente a reestructuraciones en su zona: {STRING} +STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Permite elegir la medida en la que el ruido y el daño ambiental causado por las compañías afecta a su calificación local en los municipios -STR_CONFIG_SETTING_BUILDONSLOPES :Permitir la construcción en cuestas y orillas: {STRING} -STR_CONFIG_SETTING_BUILDONSLOPES_HELPTEXT :Si se habilita, las vías y estaciones pueden construirse sobre pendiente. Si se deshabilita, las vías solamente pueden construirse sobre pendientes que sigan la misma dirección -STR_CONFIG_SETTING_AUTOSLOPE :Permitir modificar terreno bajo carreteras, raíles, etc.: {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :Altura máxima del mapa: {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :Establece la altura máxima permitida para las montañas en el mapa +STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}No se puede establecer la altura máxima del mapa en el valor indicado. Al menos una montaña ya es más alta +STR_CONFIG_SETTING_AUTOSLOPE :Permitir modificar terreno bajo edificios, raíles, etc.: {STRING} STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Permitir modificar el terreno debajo de edificios y raíles sin eliminarlos STR_CONFIG_SETTING_CATCHMENT :Tamaño del área de captación realista: {STRING} STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Permite tener diferentes áreas de captación para distintos tipos de estaciones y aeropuertos -STR_CONFIG_SETTING_EXTRADYNAMITE :Permitir eliminar más propiedades de pueblos: {STRING} -STR_CONFIG_SETTING_EXTRADYNAMITE_HELPTEXT :Hace que sea más fácil eliminar infraestructuras y edificios de pueblos +STR_CONFIG_SETTING_EXTRADYNAMITE :Permitir eliminar más propiedades de los municipios: {STRING} +STR_CONFIG_SETTING_EXTRADYNAMITE_HELPTEXT :Hace que sea más fácil eliminar infraestructuras y edificios de los municipios STR_CONFIG_SETTING_TRAIN_LENGTH :Longitud máxima de trenes: {STRING} STR_CONFIG_SETTING_TRAIN_LENGTH_HELPTEXT :Permite cambiar la longitud máxima de trenes STR_CONFIG_SETTING_TILE_LENGTH :{COMMA} casilla{P 0 "" s} @@ -1149,24 +1182,20 @@ STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL_HELPTEXT :Selecciona el m STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL :Modelo de aceleración para vehículos de carretera: {STRING} STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL_HELPTEXT :Selecciona el modelo físico a emplear para la aceleración de vehículos de carretera. El modelo "original" penaliza las pendientes de forma idéntica para todos los vehículos. El modelo "realista" penaliza cuestas y curvas dependiendo de varias propiedades del vehículo, como su potencia, fuerza de tracción, etcétera. STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS :Inclinación de cuestas para trenes: {STRING} -STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS_HELPTEXT :Pendiente de las casillas con cuesta para los trenes. Los valores altos hacen que sea mas difícil subir las colinas +STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS_HELPTEXT :Pendiente de las casillas con cuesta para los trenes. Los valores altos hacen que sea más difícil subir las colinas STR_CONFIG_SETTING_PERCENTAGE :{COMMA}% STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS :Inclinación de cuestas para vehículos de carretera: {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT :Pendiente de las casillas con cuesta para los vehículos de carretera. Los valores altos hacen que sea mas difícil subir las colinas +STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT :Pendiente de las casillas con cuesta para los vehículos de carretera. Los valores altos hacen que sea más difícil subir las colinas STR_CONFIG_SETTING_FORBID_90_DEG :Prohibir a trenes y barcos realizar giros de 90 grados: {STRING} STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Los giros de 90 grados ocurren cuando una vía en sentido horizontal está seguida por una vía en sentido vertical, haciendo que el tren gire 90 grados al pasar de una a otra en lugar de los 45 grados habituales en otras combinaciones. Esto también se aplica al radio de giro de los barcos STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Permitir unir estaciones no adyacentes: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Permite añadir partes a una estación sin tener que estar en contacto directamente con las partes existentes. Necesita pulsar Ctrl+Click al añadir las nuevas partes -STR_CONFIG_SETTING_IMPROVEDLOAD :Usar algoritmo mejorado de carga: {STRING} -STR_CONFIG_SETTING_IMPROVEDLOAD_HELPTEXT :Si se activa, cuando haya múltiples vehículos en una estación se cargarán secuencialmente. Los vehículos solamente empezarán a cargar cuando haya suficiente carga esperando como para llenar por completo al vehículo anterior -STR_CONFIG_SETTING_GRADUAL_LOADING :Cargar vehículos gradualmente: {STRING} -STR_CONFIG_SETTING_GRADUAL_LOADING_HELPTEXT :Carga los vehículos de forma gradual usando duraciones específicas de cada tipo de vehículo, en lugar de cargar todo a la vez en un tiempo fijo que depende solamente de la cantidad de carga a tomar STR_CONFIG_SETTING_INFLATION :Inflación: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :Activa la inflación económica, lo cual hace que los costes aumenten ligeramente más rápido que los beneficios -STR_CONFIG_SETTING_SELECTGOODS :Entregar mercancía a una estación sólo si hay demanda: {STRING} -STR_CONFIG_SETTING_SELECTGOODS_HELPTEXT :Solamente se lleva carga a las estaciones cuando un vehículo la haya solicitado. Esto evita malos rendimientos para las cargas que no tienen servicio cada una estación STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Longitud máxima de puentes: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Máxima longitud permitida para puentes +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :Altura máxima de puentes: {STRING} +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :Altura máxima permitida al construir puentes STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Longitud máxima de túneles: {STRING} STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :Máxima longitud permitida para túneles STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Método de construcción de industria primaria: {STRING} @@ -1176,8 +1205,8 @@ STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NORMAL :Como las otras STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_PROSPECTING :Prospección STR_CONFIG_SETTING_INDUSTRY_PLATFORM :Área plana alrededor de industrias: {STRING} STR_CONFIG_SETTING_INDUSTRY_PLATFORM_HELPTEXT :Cantidad de espacio plano alrededor de las industrias. Esto permite que haya espacio libre alrededor de las industrias para construir -STR_CONFIG_SETTING_MULTIPINDTOWN :Construcción de más de una industria similar por pueblo: {STRING} -STR_CONFIG_SETTING_MULTIPINDTOWN_HELPTEXT :Normalmente, no se permite más de una industria del mismo tipo por pueblo. Con esta opción, se permiten múltiples industrias del mismo tipo en el mismo pueblo +STR_CONFIG_SETTING_MULTIPINDTOWN :Construcción de más de una industria similar por municipio: {STRING} +STR_CONFIG_SETTING_MULTIPINDTOWN_HELPTEXT :Normalmente, no se permite más de una industria del mismo tipo por municipio. Con esta opción, se permiten múltiples industrias del mismo tipo en el mismo municipio STR_CONFIG_SETTING_SIGNALSIDE :Mostrar señales: {STRING} STR_CONFIG_SETTING_SIGNALSIDE_HELPTEXT :Selecciona en qué lado de la vía se colocarán las señales STR_CONFIG_SETTING_SIGNALSIDE_LEFT :A la izquierda @@ -1188,12 +1217,10 @@ STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT :Si se activa, l STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :Nuevas órdenes son 'sin parada' por defecto: {STRING} STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT :Normalmente, un vehículo se detendrá en todas las estaciones por las que pase. Si se activa esta opción, pasará sin detenerse a través de todas las estaciones hasta llegar a su destino. Esta opción solamente cambia el comportamiento por defecto de las órdenes nuevas. Es posible especificar para cada orden el comportamiento que se desea STR_CONFIG_SETTING_STOP_LOCATION :Nuevos trenes paran por defecto en el {STRING} de la plataforma -STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Permite seleccionar en que parte de la plataforma se detendrán los trenes por defecto. 'cerca del fin' significa cerca del punto de entrada, 'centro' significa en el punto medio de la estación y 'lejos del fin' significa el punto más lejano de la estación. Esta opción solamente cambia el comportamiento por defecto de las órdenes nuevas. Es posible especificar para cada orden el comportamiento que se desea -STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :principio +STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Permite seleccionar en qué parte de la plataforma se detendrán los trenes por defecto. 'extremo cercano' para parar cerca del punto de entrada, 'centro' para parar en el punto medio de la estación y 'extremo lejano' para parar lo más lejos posible del punto de entrada. Esta opción solamente cambia el comportamiento por defecto de las órdenes nuevas. Es posible especificar para cada orden el comportamiento que se desea +STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :extremo cercano STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :centro -STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :lejos del fin -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING :Cola de vehículos de carretera (con efecto cuantificador): {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING_HELPTEXT :Hace que los vehículos de carretera esperen en frente de las paradas ocupadas hasta que queden libres +STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :extremo lejano STR_CONFIG_SETTING_AUTOSCROLL :Desplazar ventana mediante el cursor en los bordes: {STRING} STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Cuando esta opción está activa, las vistas empezarán a desplazarse cuando el ratón esté cerca del borde de la ventana STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Desactivado @@ -1201,13 +1228,13 @@ STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT_FULLSCREEN :Vista principal STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT :Vista principal STR_CONFIG_SETTING_AUTOSCROLL_EVERY_VIEWPORT :Todas las vistas STR_CONFIG_SETTING_BRIBE :Permitir sobornos a la autoridad local: {STRING} -STR_CONFIG_SETTING_BRIBE_HELPTEXT :Permite a las compañías intentar sobornar a las autoridades locales. Si el soborno es descubierto por un inspector, la compañía no podrá actuar en el pueblo durante seis meses +STR_CONFIG_SETTING_BRIBE_HELPTEXT :Permite a las compañías intentar sobornar a las autoridades locales. Si el soborno es descubierto por un inspector, la compañía no podrá actuar en el municipio durante seis meses STR_CONFIG_SETTING_ALLOW_EXCLUSIVE :Permitir comprar derechos de transporte exclusivos: {STRING} -STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT :Si una compañía compra derechos de transporte exclusivos en un pueblo, las estaciones de sus oponentes (pasajeros o carga) no recibirán nada para transportar durante un año +STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT :Si una compañía compra derechos de transporte exclusivos en un municipio, las estaciones de sus oponentes (pasajeros o carga) no recibirán nada para transportar durante un año STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS :Permitir la construcción de nuevos edificios: {STRING} -STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS_HELPTEXT :Permite a las compañías dar dinero a los pueblos para crear nuevas casas +STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS_HELPTEXT :Permite a las compañías dar dinero a los municipios para crear nuevas casas STR_CONFIG_SETTING_ALLOW_FUND_ROAD :Permitir pagar la reconstrucción de las carreteras locales: {STRING} -STR_CONFIG_SETTING_ALLOW_FUND_ROAD_HELPTEXT :Permite a las compañías dar dinero a los pueblos para que reconstruyan sus carreteras, saboteando los servicios de carretera en la zona +STR_CONFIG_SETTING_ALLOW_FUND_ROAD_HELPTEXT :Permite a las compañías dar dinero a los municipios para que reconstruyan sus carreteras, saboteando los servicios de carretera en la zona STR_CONFIG_SETTING_ALLOW_GIVE_MONEY :Permitir enviar dinero a otras empresas: {STRING} STR_CONFIG_SETTING_ALLOW_GIVE_MONEY_HELPTEXT :Permite la transferencia de dinero entre compañías en modo multijugador STR_CONFIG_SETTING_FREIGHT_TRAINS :Multiplicador de peso para simular trenes pesados: {STRING} @@ -1220,14 +1247,10 @@ STR_CONFIG_SETTING_PLANE_CRASHES_HELPTEXT :Fija la probabi STR_CONFIG_SETTING_PLANE_CRASHES_NONE :Ninguno STR_CONFIG_SETTING_PLANE_CRASHES_REDUCED :Reducida STR_CONFIG_SETTING_PLANE_CRASHES_NORMAL :Normal -STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Permite construir paradas sobre carreteras de pueblo: {STRING} -STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Permite construir estaciones de carretera de paso en carreteras que sean propiedad de pueblos +STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Permite construir paradas sobre carreteras de los municipios: {STRING} +STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Permite construir estaciones de carretera de paso en carreteras que sean propiedad de municipios STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Permitir pasar a través de las paradas de carretera de los competidores: {STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Permite construir estaciones de carretera de paso en carreteras que sean propiedad de otras compañías -STR_CONFIG_SETTING_ADJACENT_STATIONS :Permitir construcción de estaciones contiguas : {STRING} -STR_CONFIG_SETTING_ADJACENT_STATIONS_HELPTEXT :Permite que diferentes estaciones estén en contacto -STR_CONFIG_SETTING_DYNAMIC_ENGINES :Permitir múltiples NewGRFs de vehículos: {STRING} -STR_CONFIG_SETTING_DYNAMIC_ENGINES_HELPTEXT :Opción de compatibilidad para NewGRFs antiguos. No debe de desactivarse, ¡a menos que sepas exactamente lo que estás haciendo! STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Cambiar esta opción no es posible cuando ya existen vehículos STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Mantenimiento de infraestructuras: {STRING} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Cuando se activa, las infraestructuras tienen costes de mantenimiento. Los costes de la infraestructura aumentan con el tamaño de la red, con lo cual afectan a compañías grandes en mayor grado que a las pequeñas @@ -1248,7 +1271,7 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Los vehículos STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Cuando se activa, todos los modelos de vehículos permanecen disponibles para siempre una vez han sido introducidos STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Renovación automática de vehículos cuando se vuelven viejos: {STRING} STR_CONFIG_SETTING_AUTORENEW_VEHICLE_HELPTEXT :Cuando se activa, los vehículos que se acerquen al final de su vida útil serán reemplazados automáticamente cuando las condiciones de renovación se cumplan -STR_CONFIG_SETTING_AUTORENEW_MONTHS :Renovar automáticamente cuando el vehículo tenga {STRING} años como máximo +STR_CONFIG_SETTING_AUTORENEW_MONTHS :Autorenueva el vehículo {STRING} de su edad máxima STR_CONFIG_SETTING_AUTORENEW_MONTHS_HELPTEXT :Edad relativa con la cual un vehículo debería de ser considerado para ser autorenovado STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_BEFORE :{COMMA} mes{P 0 "" es} antes STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_AFTER :{COMMA} mes{P 0 "" es} después @@ -1258,35 +1281,49 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :Duración de me STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Duración de los mensajes de error mostrados en ventanas rojas. Algunos mensajes de error críticos no se cierran automáticamente, y deben de ser cerrados manualmente STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{COMMA} segundo{P 0 "" s} STR_CONFIG_SETTING_HOVER_DELAY :Mostrar mensajes de ayuda: {STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Tiempo que hace falta mantener el ratón encima de un elemento de la interfaz para mostrar su mensaje de ayuda. De forma alternativa, se puede escoger mostrar estos mensajes al pulsar el botón derecho -STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Mantener ratón durante {COMMA} segundo{P 0 "" s} +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Tiempo necesario con el ratón sobre un elemento de la interfaz para que esta muestre su mensaje de ayuda. De forma alternativa, se puede escoger mostrar estos mensajes al pulsar el botón derecho cuando el valor de esta opción ha sido establecido a 0. +STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Mantener ratón durante {COMMA} milisegundo{P 0 "" s} STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Click derecho -STR_CONFIG_SETTING_POPULATION_IN_LABEL :Muestra la población de un pueblo en su etiqueta: {STRING} -STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Muestra el número de habitantes de los pueblos en su etiqueta sobre el mapa +STR_CONFIG_SETTING_POPULATION_IN_LABEL :Muestra la población de un municipio en su etiqueta: {STRING} +STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Muestra la población de los municipios en su etiqueta sobre el mapa STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Grosor de las líneas en los gráficos: {STRING} STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Grosor de las líneas en los gráficos. Una línea fina es más precisa, una línea más gruesa es más fácil de distinguir +STR_CONFIG_SETTING_LANDSCAPE :Terreno: {STRING} +STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Los terrenos definen escenarios con diferentes tipos de carga y requisitos de crecimiento de municipios. Es posible modificarlos empleando NewGRF y scripts de juego STR_CONFIG_SETTING_LAND_GENERATOR :Generador terreno: {STRING} +STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :El generador original depende del tipo de gráficos base, y crea formas de terreno fijas. TerraGenesis es un generador basado en ruido Perlin que permite un mayor control de configuración STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Original STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis +STR_CONFIG_SETTING_TERRAIN_TYPE :Tipo de terreno: {STRING} +STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(Sólo TerraGenesis) Colinas del terreno +STR_CONFIG_SETTING_INDUSTRY_DENSITY :Densidad de industria: {STRING} +STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Permite fijar el número de industrias que deberían de generarse, y el nivel que debería mantenerse durante el juego STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Máxima distancia de Refinerías de Petróleo con los bordes: {STRING} STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Las refinerías de petróleo solamente se construyen cerca del borde del mapa, el cual es costa para los mapas con borde de océano STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Altura línea nieve: {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Aspereza del terreno (Sólo TerraGenesis) : {STRING} +STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Permite escoger la altura a la cual la nieve comienza en el clima subártico. La nieve también afecta a la generación de industrias y a los requisitos de crecimiento de municipios +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Rugosidad del terreno: {STRING} +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(Sólo TerraGenesis) Permite elegir la frecuencia de colinas: los terrenos más planos tienen un número menor de colinas, agrupadas. Los terrenos más accidentados tienen múltiples colinas, lo cual puede resultar repetitivo STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Muy Suave STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Suave STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Áspero STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Muy Áspero +STR_CONFIG_SETTING_VARIETY :Variedad: {STRING} +STR_CONFIG_SETTING_VARIETY_HELPTEXT :(Sólo TerraGenesis) Permite controlar si el mapa contendrá zonas montañosas y planas. Dado que esto únicamente hace que el mapa sea más plano, otras opciones deberían fijarse a Montañoso +STR_CONFIG_SETTING_RIVER_AMOUNT :Cantidad de ríos: {STRING} +STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Elegir el número de ríos a generar STR_CONFIG_SETTING_TREE_PLACER :Algoritmo de colocación de árboles: {STRING} +STR_CONFIG_SETTING_TREE_PLACER_HELPTEXT :Permite escoger la distribución de árboles en el mapa. 'Original' coloca los árboles distribuidos de forma uniforme, mientras que 'Mejorado' los planta en grupos STR_CONFIG_SETTING_TREE_PLACER_NONE :Ninguno STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :Original STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :Mejorado +STR_CONFIG_SETTING_ROAD_SIDE :Vehículos de carretera: {STRING} +STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :Elegir el lado de conducción STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Rotación de Mapa de altura: {STRING} STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :A la izquierda STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Sentido horario STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :El nivel de la altura del mapa plano tiene: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :Habilitar la modificación del terreno en los bordes del mapa: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES_HELPTEXT :Si se deshabilita, los bordes del mapa siempre serán océano STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}Una o más casillas del borde norte no están vacías STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}Una o más casillas en uno de los bordes no son agua @@ -1307,7 +1344,7 @@ STR_CONFIG_SETTING_SMOOTH_SCROLLING :Desplazamiento STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Controla la forma en la que la vista principal se mueve a una posición específica como resultado de hacer click en el mapa o al enviar la orden de moverse a un objeto determinado del mapa. Si se activa, la vista se mueve de forma suave. Si se desactiva, la vista se mueve directamente al destino STR_CONFIG_SETTING_MEASURE_TOOLTIP :Mostrar medidas usando las herramientas de construcción: {STRING} STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT :Muestra distancias en número de casillas y las diferencias de altura al arrastrar durante operaciones de construcción -STR_CONFIG_SETTING_LIVERIES :Ver estaciones de la empresa: {STRING} +STR_CONFIG_SETTING_LIVERIES :Ver tipos específicos para cada vehículo: {STRING} STR_CONFIG_SETTING_LIVERIES_HELPTEXT :Controla el uso de esquemas de color específicos para vehículos (en oposición a los específicos para compañías) STR_CONFIG_SETTING_LIVERIES_NONE :Ninguno STR_CONFIG_SETTING_LIVERIES_OWN :Propia empresa @@ -1337,17 +1374,15 @@ 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_AUTOSAVE :Autoguardado: {STRING} +STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Selecciona el intervalo entre guardados automáticos del juego + STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Usar formato de fecha {STRING} para los nombres de partidas guardadas STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Formato de la fecha en el nombre de partidas guardadas STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :largo (31 Dic 2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :corto (31-12-2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE :Paleta por defecto a asumir para NewGRF que no especifiquen una paleta: {STRING} -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_HELPTEXT :Paleta a usar por defecto para NewGRFs que no especifican la paleta que necesitan -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_DOS :Paleta por defecto (D) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_WIN :Paleta antigua (W) - STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Pausar automáticamente al comenzar un juego nuevo: {STRING} STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :Si se activa, el juego se pausará automáticamente al comenzar nuevas partidas para permitir revisar el mapa STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Al pausar el juego, permitir: {STRING} @@ -1356,7 +1391,7 @@ STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :Ninguna acción STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :Todas las acciones salvo las de construcción STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :Todas las acciones que no modifiquen el terreno STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_ACTIONS :Todas las acciones -STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Usar lista avanzada de vehículos: {STRING} +STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Usar grupos en la lista de vehículos: {STRING} STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Activa el uso de listas de vehículos avanzadas para agrupar vehículos STR_CONFIG_SETTING_LOADING_INDICATORS :Usar indicadores de carga: {STRING} STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Permite escoger si se deben de mostrar indicadores de carga encima de vehículos que estén en estaciones @@ -1371,7 +1406,7 @@ STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_HELPTEXT :Tipo de ferroca STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_FIRST :Primero disponible STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_LAST :Último disponible STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_MOST_USED :Más usado -STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :Ver rutas reservadas: {STRING} +STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :Ver rutas reservadas en las vías: {STRING} STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION_HELPTEXT :Da a las vías reservadas un color especial para asistir en problemas con señales de ruta STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Mantener activas las herramientas de construcción tras su uso: {STRING} STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Mantiene las herramientas de construcción de puentes, túneles, etcétera, abiertas después de su uso @@ -1393,13 +1428,13 @@ STR_CONFIG_SETTING_SOUND_DISASTER_HELPTEXT :Reproducir efec STR_CONFIG_SETTING_SOUND_VEHICLE :Vehículos: {STRING} STR_CONFIG_SETTING_SOUND_VEHICLE_HELPTEXT :Reproducir efectos de sonido de vehículos STR_CONFIG_SETTING_SOUND_AMBIENT :Ambiental: {STRING} -STR_CONFIG_SETTING_SOUND_AMBIENT_HELPTEXT :Reproducir sonidos ambientales de terreno, industrias y pueblos +STR_CONFIG_SETTING_SOUND_AMBIENT_HELPTEXT :Reproducir sonidos ambientales de terreno, industrias y municipios STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING :Deshabilitar construcción de infraestructuras cuando no haya vehículos apropiados disponibles: {STRING} STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING_HELPTEXT :Cuando se activa, solamente se pueden construir infraestructuras si hay vehículos disponibles para ellas, previniendo un gasto innecesario de tiempo y dinero STR_CONFIG_SETTING_MAX_TRAINS :Número máximo de trenes por empresa: {STRING} STR_CONFIG_SETTING_MAX_TRAINS_HELPTEXT :Número máximo de trenes que una compañía puede tener -STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :Número máximo de vehículos por empresa: {STRING} +STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :Número máximo de automóviles por empresa: {STRING} STR_CONFIG_SETTING_MAX_ROAD_VEHICLES_HELPTEXT :Número máximo de vehículos de carretera que una compañía puede tener STR_CONFIG_SETTING_MAX_AIRCRAFT :Número máximo de aeronaves por empresa: {STRING} STR_CONFIG_SETTING_MAX_AIRCRAFT_HELPTEXT :Número máximo de aeronaves que una compañía puede tener @@ -1407,21 +1442,21 @@ STR_CONFIG_SETTING_MAX_SHIPS :Número máximo STR_CONFIG_SETTING_MAX_SHIPS_HELPTEXT :Número máximo de barcos que una compañía puede tener STR_CONFIG_SETTING_AI_BUILDS_TRAINS :Desactivar trenes para el ordenador: {STRING} -STR_CONFIG_SETTING_AI_BUILDS_TRAINS_HELPTEXT :Activar esta opción deshabilita la construcción de trenes para IAs +STR_CONFIG_SETTING_AI_BUILDS_TRAINS_HELPTEXT :Activar esta opción deshabilita la construcción de trenes para las IA STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES :Desactivar vehículos de carretera para el ordenador: {STRING} -STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES_HELPTEXT :Activar esta opción deshabilita la construcción de vehículos de carretra para IAs +STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES_HELPTEXT :Activar esta opción deshabilita la construcción de vehículos de carretra para las IA STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT :Desactivar aeroplanos para el ordenador: {STRING} -STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT_HELPTEXT :Activar esta opción deshabilita la construcción de aeronaves para IAs +STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT_HELPTEXT :Activar esta opción deshabilita la construcción de aeronaves para las IA STR_CONFIG_SETTING_AI_BUILDS_SHIPS :Desactivar barcos para el ordenador: {STRING} -STR_CONFIG_SETTING_AI_BUILDS_SHIPS_HELPTEXT :Activar esta opción deshabilita la construcción de barcos para IAs +STR_CONFIG_SETTING_AI_BUILDS_SHIPS_HELPTEXT :Activar esta opción deshabilita la construcción de barcos para las IA STR_CONFIG_SETTING_AI_PROFILE :Perfil por defecto: {STRING} -STR_CONFIG_SETTING_AI_PROFILE_HELPTEXT :Permite decidir el perfil a emplear para IAs aleatorias o para los valores iniciales al añadir una nueva IA o un script de juego +STR_CONFIG_SETTING_AI_PROFILE_HELPTEXT :Permite decidir el perfil a emplear para IA aleatorias o para los valores iniciales al añadir una nueva IA o un script de juego STR_CONFIG_SETTING_AI_PROFILE_EASY :Fácil STR_CONFIG_SETTING_AI_PROFILE_MEDIUM :Intermedio STR_CONFIG_SETTING_AI_PROFILE_HARD :Difícil -STR_CONFIG_SETTING_AI_IN_MULTIPLAYER :Permitir IAs en multijugador: {STRING} +STR_CONFIG_SETTING_AI_IN_MULTIPLAYER :Permitir IA en multijugador: {STRING} STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Permite a los jugadores controlados por el ordenador participar en partidas multijugador STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :#opcodes antes de que los scripts sean suspendidos: {STRING} STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Número máximo de operaciones de computación que un script puede realizar por turno @@ -1430,7 +1465,7 @@ STR_CONFIG_SETTING_SERVINT_ISPERCENT :Intervalo de ma STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Permite escoger si el mantenimiento de vehículos comenzará debido al tiempo pasado desde el último mantenimiento o por una reducción de la fiabilidad más allá de un porcentaje determinado STR_CONFIG_SETTING_SERVINT_TRAINS :Intervalo de mantenimiento por defecto para trenes: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Fija el intervalo de mantenimiento por defecto para vehículos de ferrocarril nuevos, que se empleará si no se define un intervalo de forma explícita para ese vehículo -STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA} dia{P 0 "" s}/% +STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}día{P 0 "" s}/% STR_CONFIG_SETTING_SERVINT_DISABLED :Deshabilitado STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES :Intervalo de mantenimiento por defecto para vehículos de carretera: {STRING} STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES_HELPTEXT :Fija el intervalo de mantenimiento por defecto para vehículos de carretera nuevos, que se empleará si no se define un intervalo de forma explícita para ese vehículo @@ -1497,7 +1532,7 @@ STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT :Fija el comport STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE :Señales mecánicas por defecto antes de: {STRING} STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT :Fija el año a partir del cual se usarán señales eléctricas. Antes de ese año se usarán señales mecánicas (tienen la misma funcionalidad pero distinto aspecto) STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI :Activar la GUI de señales: {STRING} -STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI_HELPTEXT :Muestra una ventana para escoger los tipos de señales a construir, en lugar de no usar ventana y permitir cambiar de tipo de señal solamente mediante Ctrl+Click +STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI_HELPTEXT :Muestra una ventana para escoger los tipos de señales a construir, en lugar de no usar ventana y únicamente permitir el cambio de tipo de señal por rotación mediante Ctrl+Click sobre las señales ya construidas STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE :Tipo de señal a construir por defecto: {STRING} STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE_HELPTEXT :Tipo de señal a usar por defecto STR_CONFIG_SETTING_DEFAULT_SIGNAL_NORMAL :Señales de bloque @@ -1509,21 +1544,21 @@ STR_CONFIG_SETTING_CYCLE_SIGNAL_NORMAL :Solo señales d STR_CONFIG_SETTING_CYCLE_SIGNAL_PBS :Solo señales de ruta STR_CONFIG_SETTING_CYCLE_SIGNAL_ALL :Todas -STR_CONFIG_SETTING_TOWN_LAYOUT :Patrón de carreteras para los nuevos pueblos: {STRING} -STR_CONFIG_SETTING_TOWN_LAYOUT_HELPTEXT :Patrón de carreteras a usar para las redes de transporte de los pueblos +STR_CONFIG_SETTING_TOWN_LAYOUT :Patrón de carreteras para los nuevos municipios: {STRING} +STR_CONFIG_SETTING_TOWN_LAYOUT_HELPTEXT :Patrón de carreteras a usar para las redes de transporte de los municipios STR_CONFIG_SETTING_TOWN_LAYOUT_DEFAULT :Original STR_CONFIG_SETTING_TOWN_LAYOUT_BETTER_ROADS :Mejorado STR_CONFIG_SETTING_TOWN_LAYOUT_2X2_GRID :rejilla 2x2 STR_CONFIG_SETTING_TOWN_LAYOUT_3X3_GRID :rejilla 3x3 STR_CONFIG_SETTING_TOWN_LAYOUT_RANDOM :Aleatorio -STR_CONFIG_SETTING_ALLOW_TOWN_ROADS :Permitir que los pueblos construyan carreteras: {STRING} -STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT :Permite a los pueblos construir carreteras para crecer. Si se deshabilita, las autoridades del pueblo no podrán construir ninguna carretera +STR_CONFIG_SETTING_ALLOW_TOWN_ROADS :Permitir que los municipios construyan carreteras: {STRING} +STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT :Permite a los municipios construir carreteras para crecer. Si se deshabilita, las autoridades municipales no podrán construir ninguna carretera STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :Permitir a las ciudades construir pasos a nivel: {STRING} -STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Permite a los pueblos construir pasos a nivel -STR_CONFIG_SETTING_NOISE_LEVEL :Permitir al pueblo controlar el nivel de ruido de los aeropuertos: {STRING} -STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Con esta opción desactivada, solamente puede haber dos aeropuertos por pueblo. Si se activa, el número de aeropuertos en un pueblo depende del nivel de aceptación de ruido del mismo, el cual depende de la población, del tamaño de los aeropuertos y de la distancia a la que estén -STR_CONFIG_SETTING_TOWN_FOUNDING :Fundar pueblos: {STRING} -STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Permite a los jugadores crear nuevos pueblos durante la partida +STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Permite a los municipios construir pasos a nivel +STR_CONFIG_SETTING_NOISE_LEVEL :Permitir al municipio controlar el nivel de ruido de los aeropuertos: {STRING} +STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Con esta opción desactivada, solamente puede haber dos aeropuertos por municipio. Si se activa, el número de aeropuertos en el municipio depende del nivel de aceptación de ruido del mismo, el cual depende de la población, del tamaño de los aeropuertos y de la distancia a la que estén +STR_CONFIG_SETTING_TOWN_FOUNDING :Fundar municipios: {STRING} +STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Permite a los jugadores crear nuevos municipios durante la partida STR_CONFIG_SETTING_TOWN_FOUNDING_FORBIDDEN :Prohibido STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED :Permitido STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED_CUSTOM_LAYOUT :Permitido, patrón de carreteras personalizado @@ -1556,25 +1591,23 @@ STR_CONFIG_SETTING_ZOOM_LVL_NORMAL :Normal STR_CONFIG_SETTING_ZOOM_LVL_OUT_2X :2x STR_CONFIG_SETTING_ZOOM_LVL_OUT_4X :4x STR_CONFIG_SETTING_ZOOM_LVL_OUT_8X :8x -STR_CONFIG_SETTING_TOWN_GROWTH :Velocidad crecimiento pueblo: {STRING} -STR_CONFIG_SETTING_TOWN_GROWTH_HELPTEXT :Velocidad de crecimiento de los pueblos +STR_CONFIG_SETTING_TOWN_GROWTH :Velocidad crecimiento población: {STRING} +STR_CONFIG_SETTING_TOWN_GROWTH_HELPTEXT :Velocidad de crecimiento de los municipios STR_CONFIG_SETTING_TOWN_GROWTH_NONE :Ninguna STR_CONFIG_SETTING_TOWN_GROWTH_SLOW :Lenta STR_CONFIG_SETTING_TOWN_GROWTH_NORMAL :Normal STR_CONFIG_SETTING_TOWN_GROWTH_FAST :Rápida STR_CONFIG_SETTING_TOWN_GROWTH_VERY_FAST :Muy rápida -STR_CONFIG_SETTING_LARGER_TOWNS :Proporción de pueblos que se convertirán en ciudades: {STRING} +STR_CONFIG_SETTING_LARGER_TOWNS :Proporción de municipios que se convertirán en ciudades: {STRING} STR_CONFIG_SETTING_LARGER_TOWNS_HELPTEXT :Número de pueblos que se convertirán en ciudades. Las ciudades comienzan siendo más grandes y crecen más rápido STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 de cada {COMMA} STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Ninguna STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Multiplicador inicial tamaño de ciudad: {STRING} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Tamaño medio de las ciudades en relación a los pueblos normales al comienzo de la partida -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :Quitar absurdos de la carretera durante su construcción: {STRING} -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD_HELPTEXT :Elimina carreteras sin salida durante la reconstrucción de carreteras de los pueblos -STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Actualizar el grafo de distribución cada {STRING} día{P 0:2 "" s} +STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Actualizar el grafo de distribución cada {STRING}{NBSP}día{P 0:2 "" s} STR_CONFIG_SETTING_LINKGRAPH_INTERVAL_HELPTEXT :Periodo de tiempo entre cálculos del grafo de distribución consecutivos. Esta opción se refiere a los cálculos para cada uno de los componentes del grafo, por lo cual fijar un valor no quiere decir que el grafo completo se actualizará tras ese número de días. Cuanto menor sea, mayor tiempo de CPU será necesario para calcular el grafo de distribución. Cuanto mayor sea, más tardará el grafo de distribución en adaptarse a nuevas rutas -STR_CONFIG_SETTING_LINKGRAPH_TIME :Usar {STRING} día{P 0:2 "" s} para el cálculo del grafo de distribución +STR_CONFIG_SETTING_LINKGRAPH_TIME :Usar {STRING}{NBSP}día{P 0:2 "" s} para el cálculo del grafo de distribución STR_CONFIG_SETTING_LINKGRAPH_TIME_HELPTEXT :Tiempo a emplear en el cálculo de cada uno de los componentes del grafo de distribución. Cuanto menor sea este valor, más probable es que se produzca ralentización en el juego. Cuanto mayor sea, más tiempo tardará la distribución en actualizarse cuando se producen cambios en las rutas STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :manual STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :asimétrico @@ -1584,9 +1617,9 @@ STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :En una distribu STR_CONFIG_SETTING_DISTRIBUTION_MAIL :Modo de distribución para el correo: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :En una distribución simétrica, se envía la misma cantidad de carga de la estación A a la B que de B a A. En una distribución asimétrica se pueden enviar cantidades arbitrarias de carga en ambas direcciones. Manual significa que no se realiza una distribución automática para el correo STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Modo de distribución para la clase de carga BLINDADA: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :La clase de carga BLINDADA contiene los objetos de valor del clima templado, los diamantes del clima subtropical o el oro del clima subártico. Los NewGRFs pueden modificar las cargas BLINDADAS presentes en una partida. En una distribución simétrica, se envía la misma cantidad de carga de la estación A a la B que de B a A. En una distribución asimétrica se pueden enviar cantidades arbitrarias de carga en ambas direcciones. Manual significa que no se realiza una distribución automática para esta carga. Se recomienda fijar esta distribución a asimétrica o manual al jugar en subártico o subtropical. En el clima templado es posible escoger simétrica ya que los bancos pueden enviar de vuelta objetos de valor +STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :La clase de carga BLINDADA contiene objetos de valor en el clima templado, diamantes en el clima subtropical y oro en el clima subártico. Los NewGRFs pueden modificar esto. En una distribución "simétrica", se envía la misma cantidad de carga de la estación A a la B que de B a A. En una distribución "asimétrica" se pueden enviar cantidades arbitrarias de carga en ambas direcciones. "Manual" significa que no se realiza una distribución automática para esta carga. Se recomienda fijar esta distribución en "asimétrica" o en "manual" al jugar en subártico, y es que los bancos no enviarán oro de vuelta a sus minas de procedencia. En los climas templado y subtropical es factible escoger "simétrica" ya que los bancos pueden enviar de vuelta objetos de valor al banco origen de los mismos. STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Modo de distribución para otras clases de carga: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :La clase de carga BLINDADA contiene los objetos de valor del clima templado, los diamantes del clima subtropical o el oro del clima subártico. Los NewGRFs pueden modificar las cargas BLINDADAS presentes en una partida. En una distribución simétrica, se envía la misma cantidad de carga de la estación A a la B que de B a A. En una distribución asimétrica se pueden enviar cantidades arbitrarias de carga en ambas direcciones. Manual significa que no se realiza una distribución automática para esta carga. Se recomienda fijar esta distribución a asimétrica o manual al jugar en subártico o subtropical. En el clima templado es posible escoger simétrica ya que los bancos pueden enviar de vuelta objetos de valor +STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"Asimétrico" significa que se pueden mover cantidades arbitrarias de carga en ambas direcciones. "Manual" significa que no habrá distribución automática para estos tipos de carga. STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Precisión de la distribución: {STRING} STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Este valor determina el tiempo de CPU empleado en calcular el grafo de distribución. Si es demasiado elevado puede producir ralentización en el juego. Si es demasiado bajo la distribución puede ser poco precisa, causando que ocasionalmente se produzcan errores en los lugares a los que va la carga STR_CONFIG_SETTING_DEMAND_DISTANCE :Efecto de la distancia en la demanda: {STRING} @@ -1609,50 +1642,52 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_METRIC :Métrico (cv) STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_SI :SI (kW) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT :Unidades de peso: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_HELPTEXT :Cada vez que se muestren pesos en la interfaz de usuario, se emplearán estas unidades +STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_HELPTEXT :Cada vez que se muestre un peso en la interfaz de usuario, se mostrará en su unidad preestablecida STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_IMPERIAL :Imperial (t/tonelada) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_METRIC :Métrico (t/tonelada) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_SI :SI (kg) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME :Unidades de volumen: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_HELPTEXT :Cada vez que se muestren volúmenes en la interfaz de usuario, se emplearán estas unidades +STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_HELPTEXT :Cada vez que se muestre un volumen en la interfaz de usuario, se mostrará en su unidad preestablecida STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_IMPERIAL :Imperial (gal) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_METRIC :Métrico (l) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_SI :SI (m³) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE :Unidades de esfuerzo de tracción: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_HELPTEXT :Cada vez que se muestre esfuerzo de tracción en la interfaz de usuario, se emplearán estas unidades +STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_HELPTEXT :Cada vez que se muestre un esfuerzo de tracción (también conocido como fuerza de tracción) en la interfaz de usuario, se mostrará en su unidad preestablecida STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_IMPERIAL :Imperial (lbf) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_METRIC :Métrico (kp) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_SI :SI (kN) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT :Unidades de altura: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT :Cada vez que se muestren alturas en el interfaz de usuario, se emplearán estas medidas +STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT :Cada vez que se muestre una altura en la interfaz de usuario, se mostrará en su unidad preestablecida STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :Imperial (pies) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :Métrico (m) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :SI (m) -STR_CONFIG_SETTING_GUI :{ORANGE}Interfaz STR_CONFIG_SETTING_LOCALISATION :{ORANGE}Localización -STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}Construcción -STR_CONFIG_SETTING_VEHICLES :{ORANGE}Vehículos -STR_CONFIG_SETTING_STATIONS :{ORANGE}Estaciones -STR_CONFIG_SETTING_ECONOMY :{ORANGE}Economía -STR_CONFIG_SETTING_LINKGRAPH :{ORANGE}Distribución de Carga -STR_CONFIG_SETTING_AI :{ORANGE}Competidores -STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}Opciones de visualización -STR_CONFIG_SETTING_INTERACTION :{ORANGE}Interacción +STR_CONFIG_SETTING_GRAPHICS :{ORANGE}Gráficos STR_CONFIG_SETTING_SOUND :{ORANGE}Efectos de sonido -STR_CONFIG_SETTING_NEWS :{ORANGE}Noticias y mensajes -STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}Señales -STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE}Manejo de carga -STR_CONFIG_SETTING_AI_NPC :{ORANGE}Jugadores de la CPU (IAs) -STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE}Renovación automática -STR_CONFIG_SETTING_VEHICLES_SERVICING :{ORANGE}Servicio +STR_CONFIG_SETTING_INTERFACE :{ORANGE}Interfaz +STR_CONFIG_SETTING_INTERFACE_GENERAL :{ORANGE}General +STR_CONFIG_SETTING_INTERFACE_VIEWPORTS :{ORANGE}Ventanas de visualización +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Construcción +STR_CONFIG_SETTING_ADVISORS :{ORANGE}Noticias / Consejos +STR_CONFIG_SETTING_COMPANY :{ORANGE}Empresa +STR_CONFIG_SETTING_ACCOUNTING :{ORANGE}Contabilidad +STR_CONFIG_SETTING_VEHICLES :{ORANGE}Vehículos +STR_CONFIG_SETTING_VEHICLES_PHYSICS :{ORANGE}Leyes físicas STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Encaminamiento -STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}Trenes -STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}Pueblos -STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}Industrias +STR_CONFIG_SETTING_LIMITATIONS :{ORANGE}Limitaciones +STR_CONFIG_SETTING_ACCIDENTS :{ORANGE}Desastres / Accidentes +STR_CONFIG_SETTING_GENWORLD :{ORANGE}Generación de mundo +STR_CONFIG_SETTING_ENVIRONMENT :{ORANGE}Ambiente +STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :{ORANGE}Autoridades +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Municipios +STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}Industrias +STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :{ORANGE}Distribución de carga +STR_CONFIG_SETTING_AI :{ORANGE}Competidores +STR_CONFIG_SETTING_AI_NPC :{ORANGE}Jugadores de la CPU (IA) STR_CONFIG_SETTING_PATHFINDER_OPF :Original STR_CONFIG_SETTING_PATHFINDER_NPF :NPF @@ -1701,7 +1736,7 @@ STR_INTRO_MULTIPLAYER :{BLACK}Multijug STR_INTRO_GAME_OPTIONS :{BLACK}Opciones de Juego STR_INTRO_HIGHSCORE :{BLACK}Tabla de Puntuaciones -STR_INTRO_ADVANCED_SETTINGS :{BLACK}Opciones Avanzadas +STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Configuración STR_INTRO_NEWGRF_SETTINGS :{BLACK}Configuración NewGRF STR_INTRO_ONLINE_CONTENT :{BLACK}Contenido Online STR_INTRO_SCRIPT_SETTINGS :{BLACK}Configuración de Scripts @@ -1721,13 +1756,13 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Elegir e STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Muestra las opciones del juego STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Mostrar tabla de puntuaciones -STR_INTRO_TOOLTIP_ADVANCED_SETTINGS :{BLACK}Mostrar las opciones avanzadas +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Mostrar configuración STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Muestra ajustes de NewGRF STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Comprobar si hay nuevos contenidos actualizados para descargar STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Mostrar configuración de scripts de IA y Juego STR_INTRO_TOOLTIP_QUIT :{BLACK}Salir de 'OpenTTD' -STR_INTRO_TRANSLATION :{BLACK}A esta traducción le faltan {NUM} cadena{P "" s}. Considera ayudar a mejorar OpenTTD convirtiéndote en traductor. Consulta readme.txt para mas detalles. +STR_INTRO_TRANSLATION :{BLACK}A esta traducción le faltan {NUM} cadena{P "" s}. Considera ayudar a mejorar OpenTTD convirtiéndote en traductor. Consulta readme.txt para más detalles. # Quit window STR_QUIT_CAPTION :{WHITE}Salir @@ -1761,6 +1796,8 @@ STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Jugando STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Bulldózer mágico (elimina industrias, objetos inamovibles): {ORANGE}{STRING} STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}Los túneles pueden cruzarse: {ORANGE}{STRING} STR_CHEAT_NO_JETCRASH :{LTBLUE}Jets se estrellan menos en aeropuertos pequeños: {ORANGE}{STRING} +STR_CHEAT_EDIT_MAX_HL :{LTBLUE}Edita la altura máxima del mapa: {ORANGE}{NUM} +STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Edita la altura máxima de las montañas en el mapa STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE :Terreno templado STR_CHEAT_SWITCH_CLIMATE_SUB_ARCTIC_LANDSCAPE :Terreno subártico STR_CHEAT_SWITCH_CLIMATE_SUB_TROPICAL_LANDSCAPE :Terreno subtropical @@ -1809,6 +1846,7 @@ STR_LIVERY_FREIGHT_TRAM :Tranvía de Car STR_FACE_CAPTION :{WHITE}Selección de cara STR_FACE_CANCEL_TOOLTIP :{BLACK}Cancelar selección de nueva cara STR_FACE_OK_TOOLTIP :{BLACK}Aceptar selección de nueva cara +STR_FACE_RANDOM :{BLACK}Aleatorio STR_FACE_MALE_BUTTON :{BLACK}Hombre STR_FACE_MALE_TOOLTIP :{BLACK}Selecciona cara masculina @@ -1929,13 +1967,13 @@ STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}Protege STR_NETWORK_START_SERVER_UNADVERTISED :No STR_NETWORK_START_SERVER_ADVERTISED :Sí STR_NETWORK_START_SERVER_CLIENTS_SELECT :{BLACK}{NUM} cliente{P "" s} -STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Máximo de clientes: +STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Número máximo de clientes: STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS_TOOLTIP :{BLACK}Seleccione un número máximo de clientes. No es necesario ocupar todos los espacios STR_NETWORK_START_SERVER_COMPANIES_SELECT :{BLACK}{NUM} empresa{P "" s} -STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}Máximo de empresas: +STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}Número máximo de empresas: STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES_TOOLTIP :{BLACK}Limitar el servidor a un cierto número de empresas STR_NETWORK_START_SERVER_SPECTATORS_SELECT :{BLACK}{NUM} espectador{P "" es} -STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS :{BLACK}Espectadores máximos: +STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS :{BLACK}Número máximo de espectadores: STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS_TOOLTIP :{BLACK}Limitar el servidor a un cierto número de espectadores STR_NETWORK_START_SERVER_LANGUAGE_SPOKEN :{BLACK}Idioma hablado: STR_NETWORK_START_SERVER_LANGUAGE_TOOLTIP :{BLACK}Otros jugadores sabrán cual es el idioma hablado en este servidor @@ -2200,7 +2238,7 @@ STR_CONTENT_NO_ZLIB_SUB :{WHITE}... ¡No STR_CONTENT_TYPE_BASE_GRAPHICS :{G=m}Gráficos base STR_CONTENT_TYPE_NEWGRF :{G=m}NewGRF STR_CONTENT_TYPE_AI :{G=f}IA -STR_CONTENT_TYPE_AI_LIBRARY :{G=f}Librería de IAs +STR_CONTENT_TYPE_AI_LIBRARY :{G=f}Librería de IA STR_CONTENT_TYPE_SCENARIO :{G=m}Escenario STR_CONTENT_TYPE_HEIGHTMAP :{G=m}Mapa de alturas STR_CONTENT_TYPE_BASE_SOUNDS :{G=m}Sonidos base @@ -2211,7 +2249,7 @@ STR_CONTENT_TYPE_GS_LIBRARY :Librería SJ # Content downloading progress window STR_CONTENT_DOWNLOAD_TITLE :{WHITE}Descargando contenido... STR_CONTENT_DOWNLOAD_INITIALISE :{WHITE}Solicitando ficheros... -STR_CONTENT_DOWNLOAD_FILE :{WHITE}Descargando {STRING} ({NUM} of {NUM}) +STR_CONTENT_DOWNLOAD_FILE :{WHITE}Descargando {STRING} ({NUM} de {NUM}) STR_CONTENT_DOWNLOAD_COMPLETE :{WHITE}Descarga completada STR_CONTENT_DOWNLOAD_PROGRESS_SIZE :{WHITE}{BYTES} de {BYTES} descargadas ({NUM} %) @@ -2223,7 +2261,7 @@ STR_CONTENT_ERROR_COULD_NOT_DOWNLOAD_FILE_NOT_WRITABLE :{WHITE}... no s STR_CONTENT_ERROR_COULD_NOT_EXTRACT :{WHITE}No ha sido posible descomprimir el fichero descargado STR_MISSING_GRAPHICS_SET_CAPTION :{WHITE}Gráficos no encontrados -STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD necesita gráficos para funcionar pero no se pudo encontrar ninguno. ¿Desea permitir que OpenTTD descargue e instale dichos gráficos?. +STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD necesita gráficos para funcionar pero no se pudo encontrar ninguno. ¿Desea permitir que OpenTTD descargue e instale dichos gráficos? STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Sí, descargar los gráficos STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}No, salir de OpenTTD @@ -2278,7 +2316,7 @@ STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Construi STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Construir depósito de trenes (para comprar y dar servicio a trenes). Shift permite mostrar una estimación del precio STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Convertir ferrocarril a punto de ruta. Ctrl activa la unión de puntos de ruta. Shift permite mostrar una estimación del precio STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Construir estación de ferrocarril. Ctrl activa la unión de estaciones. Shift permite mostrar una estimación del precio -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Construir señales de ferrocarril. Ctrl cambia entre señales mecánicas y eléctricas{}Arrastrar construye señales en el trozo de ferrocarril recorrido. Arrastrar+Ctrl construye señales hasta el próximo cruce{}Ctrl+Click no abre la ventana de selección de señales. Shift permite mostrar una estimación del precio +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Construir señales de ferrocarril. Ctrl cambia entre señales mecánicas y eléctricas{}Arrastrar construye señales a lo largo del tramo recto de ferrocarril seleccionado. Ctrl construye señales hasta el siguiente cruce o señal{}Ctrl+Click cambia a la ventana de selección de señales. Shift cambia entre construir/mostrar el precio estimado STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Construir puente de ferrocarril. Shift permite mostrar una estimación del precio STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Construir túnel ferroviario. Shift permite mostrar una estimación del precio STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Cambiar entre construir/retirar ferrocarriles, señales, estaciones y puntos de ruta de ferrocarril. Mantener pulsado Ctrl retirará también el ferrocarril al retirar estaciones y puntos de ruta @@ -2451,7 +2489,7 @@ STR_OBJECT_CLASS_TRNS :Transmisor # Tree planting window (last two for SE only) STR_PLANT_TREE_CAPTION :{WHITE}Árboles -STR_PLANT_TREE_TOOLTIP :{BLACK}Seleccione el tipo de árboles a plantar. Si la casilla ya tiene un árbol, se añadirán mas árboles de distintos tipos sin importar el tipo elegido +STR_PLANT_TREE_TOOLTIP :{BLACK}Seleccione el tipo de árboles a plantar. Si la casilla ya tiene un árbol, se añadirán más árboles de distintos tipos sin importar el tipo elegido STR_TREES_RANDOM_TYPE :{BLACK}Tipo aleatorio STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Colocar distintos árboles al azar. Shift permite mostrar una estimación del precio STR_TREES_RANDOM_TREES_BUTTON :{BLACK}Árboles al azar @@ -2472,31 +2510,31 @@ STR_QUERY_RESET_LANDSCAPE_CAPTION :{WHITE}Reinicia STR_RESET_LANDSCAPE_CONFIRMATION_TEXT :{WHITE}¿Está seguro de querer eliminar todas las propiedades de empresas? # Town generation window (SE) -STR_FOUND_TOWN_CAPTION :{WHITE}Creación de Pueblos -STR_FOUND_TOWN_NEW_TOWN_BUTTON :{BLACK}Nuevo Pueblo -STR_FOUND_TOWN_NEW_TOWN_TOOLTIP :{BLACK}Fundar nuevo pueblo. Shift+Click muestra una estimación del precio -STR_FOUND_TOWN_RANDOM_TOWN_BUTTON :{BLACK}Pueblo al Azar -STR_FOUND_TOWN_RANDOM_TOWN_TOOLTIP :{BLACK}Fundar pueblo en lugar aleatorio -STR_FOUND_TOWN_MANY_RANDOM_TOWNS :{BLACK}Varios pueblos al azar -STR_FOUND_TOWN_RANDOM_TOWNS_TOOLTIP :{BLACK}Cubre el mapa con pueblos colocados al azar +STR_FOUND_TOWN_CAPTION :{WHITE}Creación de Municipios +STR_FOUND_TOWN_NEW_TOWN_BUTTON :{BLACK}Nuevo Municipio +STR_FOUND_TOWN_NEW_TOWN_TOOLTIP :{BLACK}Fundar nuevo municipio. Shift+Click muestra una estimación del precio +STR_FOUND_TOWN_RANDOM_TOWN_BUTTON :{BLACK}Municipio al Azar +STR_FOUND_TOWN_RANDOM_TOWN_TOOLTIP :{BLACK}Fundar municipio en lugar aleatorio +STR_FOUND_TOWN_MANY_RANDOM_TOWNS :{BLACK}Varios municipios al azar +STR_FOUND_TOWN_RANDOM_TOWNS_TOOLTIP :{BLACK}Cubre el mapa con municipios colocados al azar -STR_FOUND_TOWN_NAME_TITLE :{YELLOW}Nombre del pueblo: -STR_FOUND_TOWN_NAME_EDITOR_TITLE :{BLACK}Introducir nombre de pueblo -STR_FOUND_TOWN_NAME_EDITOR_HELP :{BLACK}Click para introducir nombre de pueblo +STR_FOUND_TOWN_NAME_TITLE :{YELLOW}Nombre del municipio: +STR_FOUND_TOWN_NAME_EDITOR_TITLE :{BLACK}Introducir nombre de municipio +STR_FOUND_TOWN_NAME_EDITOR_HELP :{BLACK}Click para introducir nombre del municipio STR_FOUND_TOWN_NAME_RANDOM_BUTTON :{BLACK}Nombre aleatorio STR_FOUND_TOWN_NAME_RANDOM_TOOLTIP :{BLACK}Generar nuevo nombre -STR_FOUND_TOWN_INITIAL_SIZE_TITLE :{YELLOW}Tamaño pueblo: +STR_FOUND_TOWN_INITIAL_SIZE_TITLE :{YELLOW}Tamaño municipio: STR_FOUND_TOWN_INITIAL_SIZE_SMALL_BUTTON :{BLACK}Pequeña STR_FOUND_TOWN_INITIAL_SIZE_MEDIUM_BUTTON :{BLACK}Mediana STR_FOUND_TOWN_INITIAL_SIZE_LARGE_BUTTON :{BLACK}Grande STR_FOUND_TOWN_SIZE_RANDOM :{BLACK}Aleatorio -STR_FOUND_TOWN_INITIAL_SIZE_TOOLTIP :{BLACK}Seleccione el tamaño del pueblo +STR_FOUND_TOWN_INITIAL_SIZE_TOOLTIP :{BLACK}Seleccione el tamaño del municipio STR_FOUND_TOWN_CITY :{BLACK}Ciudad STR_FOUND_TOWN_CITY_TOOLTIP :{BLACK}Las ciudades crecen más rápido que los pueblos{}Dependiendo de los ajustes, son mayores al ser fundadas STR_FOUND_TOWN_ROAD_LAYOUT :{YELLOW}Patrón de carretera: -STR_FOUND_TOWN_SELECT_TOWN_ROAD_LAYOUT :{BLACK}Seleccionar patrón de carreteras para este pueblo +STR_FOUND_TOWN_SELECT_TOWN_ROAD_LAYOUT :{BLACK}Seleccionar patrón de carreteras para este municipio STR_FOUND_TOWN_SELECT_LAYOUT_ORIGINAL :{BLACK}Original STR_FOUND_TOWN_SELECT_LAYOUT_BETTER_ROADS :{BLACK}Mejorado STR_FOUND_TOWN_SELECT_LAYOUT_2X2_GRID :{BLACK}Rejilla de 2x2 @@ -2650,7 +2688,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-2014 El equipo OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 El equipo OpenTTD # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Guardar Juego @@ -2669,6 +2707,7 @@ STR_SAVELOAD_SAVE_BUTTON :{BLACK}Guardar STR_SAVELOAD_SAVE_TOOLTIP :{BLACK}Guarda el juego actual, usando el nombre seleccionado STR_SAVELOAD_LOAD_BUTTON :{BLACK}Cargar STR_SAVELOAD_LOAD_TOOLTIP :{BLACK}Cargar la partida seleccionada +STR_SAVELOAD_LOAD_HEIGHTMAP_TOOLTIP :{BLACK}Cargar el mapa de alturas seleccionado STR_SAVELOAD_DETAIL_CAPTION :{BLACK}Detalles de la Partida STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}No hay información disponible STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING} @@ -2681,16 +2720,15 @@ STR_MAPGEN_WORLD_GENERATION_CAPTION :{WHITE}Generaci STR_MAPGEN_MAPSIZE :{BLACK}Tamaño del mapa: STR_MAPGEN_MAPSIZE_TOOLTIP :{BLACK}Permite seleccionar el tamaño del mapa en casillas. El número de casillas disponible en el mapa será ligeramente inferior STR_MAPGEN_BY :{BLACK}* -STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}No. de pueblos: +STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}No. de municipios: STR_MAPGEN_DATE :{BLACK}Fecha: STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}No. de industrias: +STR_MAPGEN_MAX_HEIGHTLEVEL :{BLACK}Altura máxima del mapa: +STR_MAPGEN_MAX_HEIGHTLEVEL_UP :{BLACK}Aumentar, una unidad, la altura máxima de las montañas del mapa +STR_MAPGEN_MAX_HEIGHTLEVEL_DOWN :{BLACK}Disminuir, una unidad, la altura máxima de las montañas del mapa STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}Altura línea nieve: STR_MAPGEN_SNOW_LINE_UP :{BLACK}Mover la línea de nieve hacia arriba STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}Mover la línea de nieve hacia abajo -STR_MAPGEN_RANDOM_SEED :{BLACK}Semilla Aleatoria: -STR_MAPGEN_RANDOM_SEED_HELP :{BLACK}Pulsa para introducir la semilla aleatoria -STR_MAPGEN_RANDOM :{BLACK}Aleatorio -STR_MAPGEN_RANDOM_HELP :{BLACK}Cambiar la semilla aleatoria usada por el Generador de Terrenos STR_MAPGEN_LAND_GENERATOR :{BLACK}Generador terreno: STR_MAPGEN_TREE_PLACER :{BLACK}Algoritmo árboles: STR_MAPGEN_TERRAIN_TYPE :{BLACK}Tipo de terreno @@ -2717,8 +2755,8 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Nombre d STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Tamaño: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} -STR_MAPGEN_RANDOM_SEED_OSKTITLE :{BLACK}Introducir una semilla aleatoria -STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}Cambiar altura de la línea de nieve +STR_MAPGEN_MAX_HEIGHTLEVEL_QUERY_CAPT :{WHITE}Cambiar la altura máxima del mapa +STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}Cambiar la altura de la línea de nieve STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Cambiar año de inicio # SE Map generation @@ -2730,7 +2768,7 @@ STR_SE_MAPGEN_FLAT_WORLD_HEIGHT :{BLACK}Altura t STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_DOWN :{BLACK}Reduce la altura de la tierra llana STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_UP :{BLACK}Aumenta la altura de la tierra llana -STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_QUERY_CAPT :{WHITE}Cambia la altura de la tierra llana +STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_QUERY_CAPT :{WHITE}Cambiar la altura de la tierra llana # Map generation progress STR_GENERATION_WORLD :{WHITE}Generando Mundo... @@ -2772,6 +2810,8 @@ STR_NEWGRF_SETTINGS_MOVEUP :{BLACK}Mover Ar STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP :{BLACK}Mueve el NewGRF seleccionado arriba en la lista STR_NEWGRF_SETTINGS_MOVEDOWN :{BLACK}Mover Abajo STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP :{BLACK}Mueve el NewGRF seleccionado abajo en la lista +STR_NEWGRF_SETTINGS_UPGRADE :{BLACK}Actualiza +STR_NEWGRF_SETTINGS_UPGRADE_TOOLTIP :{BLACK}Utiliza las versiones más nuevas de los archivos NewGRF que dispongan de diversas versiones instaladas STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}Una lista de los ficheros NewGRF instalados STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}Establecer parámetros @@ -2786,7 +2826,7 @@ STR_NEWGRF_SETTINGS_FIND_MISSING_CONTENT_TOOLTIP :{BLACK}Comproba STR_NEWGRF_SETTINGS_FILENAME :{BLACK}Fichero: {SILVER}{STRING} STR_NEWGRF_SETTINGS_GRF_ID :{BLACK}GRF ID: {SILVER}{STRING} STR_NEWGRF_SETTINGS_VERSION :{BLACK}Versión: {SILVER}{NUM} -STR_NEWGRF_SETTINGS_MIN_VERSION :{BLACK}Min. versión compatible: {SILVER}{NUM} +STR_NEWGRF_SETTINGS_MIN_VERSION :{BLACK}Mín. versión compatible: {SILVER}{NUM} STR_NEWGRF_SETTINGS_MD5SUM :{BLACK}MD5sum: {SILVER}{STRING} STR_NEWGRF_SETTINGS_PALETTE :{BLACK}Paleta: {SILVER}{STRING} STR_NEWGRF_SETTINGS_PARAMETER :{BLACK}Parámetros: {SILVER}{STRING} @@ -2796,6 +2836,16 @@ STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Fichero no STR_NEWGRF_SETTINGS_DISABLED :{RED}Desactivado STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Incompatible con esta versión de OpenTTD +# NewGRF save preset window +STR_SAVE_PRESET_CAPTION :{WHITE}Guardar perfil +STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK}Lista de perfiles disponibles; selecciona uno para copiar el nombre del perfil abajo +STR_SAVE_PRESET_TITLE :{BLACK}Introduce un nombre para el perfil +STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}Nombre actualmente seleccionado del perfil a guardar +STR_SAVE_PRESET_CANCEL :{BLACK}Cancelar +STR_SAVE_PRESET_CANCEL_TOOLTIP :{BLACK}No modificar el perfil +STR_SAVE_PRESET_SAVE :{BLACK}Guardar +STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}Guardar el perfil con el nombre seleccionado + # NewGRF parameters window STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Cambiar parámetros NewGRF STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Cerrar @@ -2819,14 +2869,17 @@ STR_NEWGRF_INSPECT_QUERY_CAPTION :{WHITE}Parámet # Sprite aligner window STR_SPRITE_ALIGNER_CAPTION :{WHITE}Alinear sprite {COMMA} ({STRING}) STR_SPRITE_ALIGNER_NEXT_BUTTON :{BLACK}Siguiente sprite -STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Ir al sprite siguiente, ignorando pseudosprites, sprites recoloreados y sprites de fuente +STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Ir al siguiente sprite (ignorando pseudosprites, sprites recoloreados y sprites de fuente) y pasar del último al primer sprite STR_SPRITE_ALIGNER_GOTO_BUTTON :{BLACK}Ir a sprite STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}Ir al sprite indicado. Si el sprite no es un sprite normal, ir al siguiente sprite normal STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Sprite anterior -STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Saltar al sprite anterior, ignorando pseudosprites, sprites recoloreados y sprites de fuente +STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Saltar al sprite anterior (ignorando pseudosprites, sprites recoloreados y sprites de fuente) y pasar del primer al último sprite STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Representación del sprite seleccionado. Su alineamiento es ignorado al dibujarlo STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Mover el sprite, cambiando los ajustes X e Y -STR_SPRITE_ALIGNER_OFFSETS :{BLACK}Ajuste X: {NUM}, Ajuste Y: {NUM} +STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Reiniciar coordenadas relativas +STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Reinicia las coordenadas relativas actuales +STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}Coordenada X: {NUM}, Coordenada Y: {NUM} (Absoluta) +STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}Coordenada X: {NUM}, Coordenada Y: {NUM} (Relativa) STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Seleccionar sprite STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Seleccionar un sprite de cualquier parte de la pantalla @@ -2853,7 +2906,7 @@ STR_NEWGRF_ERROR_UNKNOWN_PROPERTY :Propiedad de Ac STR_NEWGRF_ERROR_INVALID_ID :Intento de usar una ID inválida (sprite {3:NUM}) STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} contiene un sprite corrupto. Todos los sprites corruptos serán mostrados como un interrogante rojo (?) STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Contiene múltiples entradas de Acción 8 (sprite {3:NUM}) -STR_NEWGRF_ERROR_READ_BOUNDS :Lectura mas allá del fin de un pseudo-sprite (sprite {3:NUM}) +STR_NEWGRF_ERROR_READ_BOUNDS :Lectura más allá del fin de un pseudo-sprite (sprite {3:NUM}) STR_NEWGRF_ERROR_MISSING_SPRITES :{WHITE}Al conjunto de gráficos base actualmente en uso le faltan algunos sprites.{}El conjunto de gráficos base debe ser actualizado STR_NEWGRF_ERROR_MISSING_SPRITES_UNSTABLE :{WHITE}Al conjunto de gráficos base actualmente en uso le faltan algunos sprites.{}El conjunto de gráficos base debe ser actualizado.{}Dado que estás jugando una {YELLOW}versión de desarrollo de OpenTTD{WHITE}, es posible que también necesites una {YELLOW}versión de desarrollo del conjunto de gráficos base{WHITE} STR_NEWGRF_ERROR_GRM_FAILED :Recursos GRF solicitados no disponibles (sprite {3:NUM}) @@ -2903,7 +2956,7 @@ STR_INVALID_VEHICLE : STR_WARNING_LOADGAME_REMOVED_TRAMS :{WHITE}El juego ha sido guardado en una versión sin soporte para tranvías. Todos los tranvías serán eliminados # Map generation messages -STR_ERROR_COULD_NOT_CREATE_TOWN :{WHITE}Generación de mapa abortada...{}... no hay localizaciones apropiadas para pueblos -STR_ERROR_NO_TOWN_IN_SCENARIO :{WHITE}... no hay pueblos en el escenario +STR_ERROR_COULD_NOT_CREATE_TOWN :{WHITE}Generación de mapa abortada...{}... no hay localizaciones apropiadas para municipios +STR_ERROR_NO_TOWN_IN_SCENARIO :{WHITE}... no hay municipios en el escenario STR_ERROR_PNGMAP :{WHITE}No se pudo cargar mapa de alturas PNG... STR_ERROR_PNGMAP_FILE_NOT_FOUND :{WHITE}... fichero no encontrado @@ -4052,7 +4132,7 @@ STR_ERROR_NOT_ALLOWED_WHILE_PAUSED :{WHITE}No permi # Local authority errors STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS :{WHITE}Las autoridades locales de {TOWN} rechazan esto -STR_ERROR_LOCAL_AUTHORITY_REFUSES_AIRPORT :{WHITE}Las autoridades locales de {TOWN} rechazan la construcción de otro aeropuerto en este pueblo +STR_ERROR_LOCAL_AUTHORITY_REFUSES_AIRPORT :{WHITE}Las autoridades locales de {TOWN} rechazan la construcción de otro aeropuerto en este municipio STR_ERROR_LOCAL_AUTHORITY_REFUSES_NOISE :{WHITE}Las autoridades locales de {TOWN} rechazan el permiso para el aeropuerto debido a su preocupación por el ruido STR_ERROR_BRIBE_FAILED :{WHITE}Su intento de soborno ha sido descubierto por un investigador regional @@ -4064,6 +4144,7 @@ STR_ERROR_EXCAVATION_WOULD_DAMAGE :{WHITE}La excav STR_ERROR_ALREADY_AT_SEA_LEVEL :{WHITE}... ya está al nivel del mar STR_ERROR_TOO_HIGH :{WHITE}... demasiado alto STR_ERROR_ALREADY_LEVELLED :{WHITE}... ya está llano +STR_ERROR_BRIDGE_TOO_HIGH_AFTER_LOWER_LAND :{WHITE}Después del cambio, el puente sobre este terreno será demasiado alto. # Company related errors STR_ERROR_CAN_T_CHANGE_COMPANY_NAME :{WHITE}No se puede cambiar el nombre de la empresa... @@ -4082,18 +4163,18 @@ STR_ERROR_CAN_T_SELL_25_SHARE_IN :{WHITE}No se pu STR_ERROR_PROTECTED :{WHITE}Esta empresa es demasiado reciente como para comerciar con acciones... # Town related errors -STR_ERROR_CAN_T_GENERATE_TOWN :{WHITE}No se puede construir ningún pueblo -STR_ERROR_CAN_T_RENAME_TOWN :{WHITE}No se puede renombrar pueblo... -STR_ERROR_CAN_T_FOUND_TOWN_HERE :{WHITE}No se puede construir pueblo aquí... -STR_ERROR_CAN_T_EXPAND_TOWN :{WHITE}No se puede expandir pueblo... +STR_ERROR_CAN_T_GENERATE_TOWN :{WHITE}No se puede construir ningún municipio +STR_ERROR_CAN_T_RENAME_TOWN :{WHITE}No se puede renombrar el municipio... +STR_ERROR_CAN_T_FOUND_TOWN_HERE :{WHITE}No se puede construir un municipio aquí... +STR_ERROR_CAN_T_EXPAND_TOWN :{WHITE}No se puede expandir municipio... STR_ERROR_TOO_CLOSE_TO_EDGE_OF_MAP_SUB :{WHITE}... demasiado cercano al borde del mapa -STR_ERROR_TOO_CLOSE_TO_ANOTHER_TOWN :{WHITE}... demasiado cercano a otro pueblo -STR_ERROR_TOO_MANY_TOWNS :{WHITE}... demasiados pueblos +STR_ERROR_TOO_CLOSE_TO_ANOTHER_TOWN :{WHITE}... demasiado cercano a otro municipio +STR_ERROR_TOO_MANY_TOWNS :{WHITE}... demasiados municipios STR_ERROR_NO_SPACE_FOR_TOWN :{WHITE}... no hay más espacio en el mapa -STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}El pueblo no construirá carreteras. Puedes activar la función de construcción de carreteras en Opciones Avanzadas->Economía->Pueblos +STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}El municipio no construirá carreteras. Puedes activar la función de construcción de carreteras en Configuración->Ambiente->Municipios STR_ERROR_ROAD_WORKS_IN_PROGRESS :{WHITE}Trabajos de carretera en progreso -STR_ERROR_TOWN_CAN_T_DELETE :{WHITE}No se puede borrar este pueblo...{}Quedan estaciones o depósitos relacionados con la ciudad, o una propiedad del pueblo no puede ser retirada -STR_ERROR_STATUE_NO_SUITABLE_PLACE :{WHITE}... no existe un lugar apropiado para una estatua en el centro de este pueblo +STR_ERROR_TOWN_CAN_T_DELETE :{WHITE}No se puede borrar este municipio...{}Quedan estaciones o depósitos relacionados con él, o una propiedad suya no puede ser retirada +STR_ERROR_STATUE_NO_SUITABLE_PLACE :{WHITE}... no existe un lugar apropiado para una estatua en el centro de este municipio # Industry related errors STR_ERROR_TOO_MANY_INDUSTRIES :{WHITE}... demasiadas industrias @@ -4101,19 +4182,22 @@ STR_ERROR_CAN_T_GENERATE_INDUSTRIES :{WHITE}No se pu STR_ERROR_CAN_T_BUILD_HERE :{WHITE}No se puede construir {STRING} aquí... STR_ERROR_CAN_T_CONSTRUCT_THIS_INDUSTRY :{WHITE}No se puede construir este tipo de industria aquí... STR_ERROR_INDUSTRY_TOO_CLOSE :{WHITE}... demasiado cerca de otra industria -STR_ERROR_MUST_FOUND_TOWN_FIRST :{WHITE}... debe construirse un pueblo primero -STR_ERROR_ONLY_ONE_ALLOWED_PER_TOWN :{WHITE}... solo se permite uno por pueblo -STR_ERROR_CAN_ONLY_BE_BUILT_IN_TOWNS_WITH_POPULATION_OF_1200 :{WHITE}... sólo puede ser construido en pueblos con población superior a 1200 +STR_ERROR_MUST_FOUND_TOWN_FIRST :{WHITE}... debe construirse un municipio primero +STR_ERROR_ONLY_ONE_ALLOWED_PER_TOWN :{WHITE}... solo se permite uno por municipio +STR_ERROR_CAN_ONLY_BE_BUILT_IN_TOWNS_WITH_POPULATION_OF_1200 :{WHITE}... sólo puede ser construido en municipios de al menos 1.200 habitantes STR_ERROR_CAN_ONLY_BE_BUILT_IN_RAINFOREST :{WHITE}... sólo se puede construir en áreas de selva STR_ERROR_CAN_ONLY_BE_BUILT_IN_DESERT :{WHITE}... sólo se puede construir en áreas desérticas -STR_ERROR_CAN_ONLY_BE_BUILT_IN_TOWNS :{WHITE}... solo puede ser construido en pueblos (reemplazando casas) -STR_ERROR_CAN_ONLY_BE_BUILT_NEAR_TOWN_CENTER :{WHITE}... solamente puede construirse cerca del centro de un pueblo +STR_ERROR_CAN_ONLY_BE_BUILT_IN_TOWNS :{WHITE}... solo puede ser construido en municipios (reemplazando casas) +STR_ERROR_CAN_ONLY_BE_BUILT_NEAR_TOWN_CENTER :{WHITE}... solamente puede construirse cerca del centro de un municipio STR_ERROR_CAN_ONLY_BE_BUILT_IN_LOW_AREAS :{WHITE}... solo puede construirse en zonas bajas STR_ERROR_CAN_ONLY_BE_POSITIONED :{WHITE}... sólo se puede colocar cerca de los bordes del mapa STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... sólo se puede plantar bosques sobre la nieve STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... solamente puede construirse por encima de la línea de nieve STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... solamente puede construirse por debajo de la línea de nieve +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}No había sitios apropiados disponibles para industrias '{STRING}' +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Cambia los parámetros de generación del mapa para obtener un mapa mejor + # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}No se puede construir estación de tren aquí... STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}No se puede construir estación de autobuses... @@ -4133,7 +4217,7 @@ STR_ERROR_TOO_CLOSE_TO_ANOTHER_STATION :{WHITE}Demasiad 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 renombrar estación... -STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... esta carretera es propiedad de un pueblo +STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... esta carretera es propiedad de un municipio STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... carretera en la dirección incorrecta STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... las estaciones de autobús de paso no pueden tener esquinas STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... las estaciones de autobús de paso no pueden tener intersecciones @@ -4250,6 +4334,7 @@ STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Primero STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}No se puede comenzar y acabar en la misma posición STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}Las cabeceras del puente no están al mismo nivel STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}El puente es demasiado bajo para el terreno +STR_ERROR_BRIDGE_TOO_HIGH_FOR_TERRAIN :{WHITE}El puente es demasiado alto para este terreno. STR_ERROR_START_AND_END_MUST_BE_IN :{WHITE}Comienzo y final deben estar en línea STR_ERROR_ENDS_OF_BRIDGE_MUST_BOTH :{WHITE}... los dos extremos de un puente han de estar sobre tierra STR_ERROR_BRIDGE_TOO_LONG :{WHITE}... puente demasiado largo @@ -4276,6 +4361,7 @@ STR_ERROR_YOU_ALREADY_OWN_IT :{WHITE}... ¡ya STR_ERROR_GROUP_CAN_T_CREATE :{WHITE}No se puede crear grupo... STR_ERROR_GROUP_CAN_T_DELETE :{WHITE}No se puede borrar grupo... STR_ERROR_GROUP_CAN_T_RENAME :{WHITE}No se puede renombrar grupo... +STR_ERROR_GROUP_CAN_T_SET_PARENT :{WHITE}No se puede establecer la jerarquía de grupos... STR_ERROR_GROUP_CAN_T_REMOVE_ALL_VEHICLES :{WHITE}No se pueden quitar todos los vehículos de este grupo... STR_ERROR_GROUP_CAN_T_ADD_VEHICLE :{WHITE}No se puede añadir el vehículo a este grupo... STR_ERROR_GROUP_CAN_T_ADD_SHARED_VEHICLE :{WHITE}No se pueden añadir vehículos compartidos al grupo... @@ -4395,7 +4481,7 @@ STR_TOWN_BUILDING_NAME_OFFICE_BLOCK_1 :Bloque de ofici STR_TOWN_BUILDING_NAME_SMALL_BLOCK_OF_FLATS_1 :Bloque de viviendas pequeño STR_TOWN_BUILDING_NAME_CHURCH_1 :Iglesia STR_TOWN_BUILDING_NAME_LARGE_OFFICE_BLOCK_1 :Gran bloque de oficinas -STR_TOWN_BUILDING_NAME_TOWN_HOUSES_1 :Casas del pueblo +STR_TOWN_BUILDING_NAME_TOWN_HOUSES_1 :Casas del municipio STR_TOWN_BUILDING_NAME_HOTEL_1 :Hotel STR_TOWN_BUILDING_NAME_STATUE_1 :Estatua STR_TOWN_BUILDING_NAME_FOUNTAIN_1 :Fuente @@ -4813,6 +4899,7 @@ STR_COMPANY_NAME :{COMPANY} STR_COMPANY_NAME_COMPANY_NUM :{COMPANY} {COMPANY_NUM} STR_DEPOT_NAME :{DEPOT} STR_ENGINE_NAME :{ENGINE} +STR_HIDDEN_ENGINE_NAME :{ENGINE} (oculto) STR_GROUP_NAME :{GROUP} STR_INDUSTRY_NAME :{INDUSTRY} STR_PRESIDENT_NAME :{PRESIDENT_NAME} @@ -4848,8 +4935,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -4860,9 +4945,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/swedish.txt b/src/lang/swedish.txt index 1c01631160..1fbf1641fe 100644 --- a/src/lang/swedish.txt +++ b/src/lang/swedish.txt @@ -95,30 +95,30 @@ STR_CARGO_SINGULAR_FIZZY_DRINK :Läsk # Quantity of cargo STR_QUANTITY_NOTHING : -STR_QUANTITY_PASSENGERS :{COMMA} passagerare +STR_QUANTITY_PASSENGERS :{COMMA}{NBSP}passagerare STR_QUANTITY_COAL :{WEIGHT_LONG} kol -STR_QUANTITY_MAIL :{COMMA} postsäck{P "" ar} +STR_QUANTITY_MAIL :{COMMA}{NBSP}postsäck{P "" ar} STR_QUANTITY_OIL :{VOLUME_LONG} olja -STR_QUANTITY_LIVESTOCK :{COMMA} boskap -STR_QUANTITY_GOODS :{COMMA} låd{P a or} gods +STR_QUANTITY_LIVESTOCK :{COMMA}{NBSP}boskap +STR_QUANTITY_GOODS :{COMMA}{NBSP}låd{P a or} gods STR_QUANTITY_GRAIN :{WEIGHT_LONG} spannmål STR_QUANTITY_WOOD :{WEIGHT_LONG} timmer STR_QUANTITY_IRON_ORE :{WEIGHT_LONG} järnmalm STR_QUANTITY_STEEL :{WEIGHT_LONG} stål -STR_QUANTITY_VALUABLES :{COMMA} värdesäck{P "" ar} +STR_QUANTITY_VALUABLES :{COMMA}{NBSP}värdesäck{P "" ar} STR_QUANTITY_COPPER_ORE :{WEIGHT_LONG} kopparmalm STR_QUANTITY_MAIZE :{WEIGHT_LONG} majs STR_QUANTITY_FRUIT :{WEIGHT_LONG} frukt -STR_QUANTITY_DIAMONDS :{COMMA} diamantsäck{P "" ar} +STR_QUANTITY_DIAMONDS :{COMMA}{NBSP}diamantsäck{P "" ar} STR_QUANTITY_FOOD :{WEIGHT_LONG} mat STR_QUANTITY_PAPER :{WEIGHT_LONG} papper -STR_QUANTITY_GOLD :{COMMA} guldsäck{P "" ar} +STR_QUANTITY_GOLD :{COMMA}{NBSP}guldsäck{P "" ar} STR_QUANTITY_WATER :{VOLUME_LONG} vatten STR_QUANTITY_WHEAT :{WEIGHT_LONG} vete STR_QUANTITY_RUBBER :{VOLUME_LONG} gummi STR_QUANTITY_SUGAR :{WEIGHT_LONG} socker -STR_QUANTITY_TOYS :{COMMA} leksak{P "" er} -STR_QUANTITY_SWEETS :{COMMA} godispås{P e ar} +STR_QUANTITY_TOYS :{COMMA}{NBSP}leksak{P "" er} +STR_QUANTITY_SWEETS :{COMMA}{NBSP}godispås{P e ar} STR_QUANTITY_COLA :{VOLUME_LONG} kola STR_QUANTITY_CANDYFLOSS :{WEIGHT_LONG} sockervadd STR_QUANTITY_BUBBLES :{COMMA} bubbl{P a or} @@ -165,12 +165,12 @@ STR_ABBREV_NONE :{TINY_FONT}NEJ STR_ABBREV_ALL :{TINY_FONT}ALLA # 'Mode' of transport for cargoes -STR_PASSENGERS :{COMMA} passagerare -STR_BAGS :{COMMA} väsk{P a or} -STR_TONS :{COMMA} ton -STR_LITERS :{COMMA} liter -STR_ITEMS :{COMMA} föremål -STR_CRATES :{COMMA} låd{P a or} +STR_PASSENGERS :{COMMA}{NBSP}passagerare +STR_BAGS :{COMMA}{NBSP}väsk{P a or} +STR_TONS :{COMMA}{NBSP}ton +STR_LITERS :{COMMA}{NBSP}liter +STR_ITEMS :{COMMA}{NBSP}föremål +STR_CRATES :{COMMA}{NBSP}låd{P a or} # Colours, do not shuffle STR_COLOUR_DARK_BLUE :Mörkblå @@ -191,37 +191,37 @@ STR_COLOUR_GREY :Grå STR_COLOUR_WHITE :Vit # Units used in OpenTTD -STR_UNITS_VELOCITY_IMPERIAL :{COMMA} mph -STR_UNITS_VELOCITY_METRIC :{COMMA} km/h -STR_UNITS_VELOCITY_SI :{COMMA} m/s +STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}mph +STR_UNITS_VELOCITY_METRIC :{COMMA}{NBSP}km/h +STR_UNITS_VELOCITY_SI :{COMMA}{NBSP}m/s -STR_UNITS_POWER_IMPERIAL :{COMMA}hk -STR_UNITS_POWER_METRIC :{COMMA}hk -STR_UNITS_POWER_SI :{COMMA}kW +STR_UNITS_POWER_IMPERIAL :{COMMA}{NBSP}hk +STR_UNITS_POWER_METRIC :{COMMA}{NBSP}hk +STR_UNITS_POWER_SI :{COMMA}{NBSP}kW -STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}t -STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}t -STR_UNITS_WEIGHT_SHORT_SI :{COMMA}kg +STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_SI :{COMMA}{NBSP}kg -STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA} ton -STR_UNITS_WEIGHT_LONG_METRIC :{COMMA} ton -STR_UNITS_WEIGHT_LONG_SI :{COMMA} kg +STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA}{NBSP}ton +STR_UNITS_WEIGHT_LONG_METRIC :{COMMA}{NBSP}ton +STR_UNITS_WEIGHT_LONG_SI :{COMMA}{NBSP}kg -STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}gal -STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}l -STR_UNITS_VOLUME_SHORT_SI :{COMMA}m³ +STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}{NBSP}gal +STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}{NBSP}l +STR_UNITS_VOLUME_SHORT_SI :{COMMA}{NBSP}m³ -STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA} gallon{P "" s} -STR_UNITS_VOLUME_LONG_METRIC :{COMMA} liter -STR_UNITS_VOLUME_LONG_SI :{COMMA} m³ +STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA}{NBSP}gallon{P "" s} +STR_UNITS_VOLUME_LONG_METRIC :{COMMA}{NBSP}liter +STR_UNITS_VOLUME_LONG_SI :{COMMA}{NBSP}m³ -STR_UNITS_FORCE_IMPERIAL :{COMMA} lbf -STR_UNITS_FORCE_METRIC :{COMMA} kgf -STR_UNITS_FORCE_SI :{COMMA} kN +STR_UNITS_FORCE_IMPERIAL :{COMMA}{NBSP}lbf +STR_UNITS_FORCE_METRIC :{COMMA}{NBSP}kgf +STR_UNITS_FORCE_SI :{COMMA}{NBSP}kN -STR_UNITS_HEIGHT_IMPERIAL :{COMMA} fot -STR_UNITS_HEIGHT_METRIC :{COMMA} m -STR_UNITS_HEIGHT_SI :{COMMA} m +STR_UNITS_HEIGHT_IMPERIAL :{COMMA}{NBSP}fot +STR_UNITS_HEIGHT_METRIC :{COMMA}{NBSP}m +STR_UNITS_HEIGHT_SI :{COMMA}{NBSP}m # Common window strings STR_LIST_FILTER_TITLE :{BLACK}Sökfilter: @@ -248,6 +248,17 @@ STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Rullning STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Rullningslist - rullar listan höger/vänster STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Riv byggnader etc. på en markruta. Ctrl väljer yta diagonalt. Shift växlar mellan att riva/visa beräknad kostnad +# Show engines button +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}Visa dolda +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK}Visa dolda +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}Visa dolda +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}Visa dolda + +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}När denna knapp aktiveras visas även dolda lok och vagnar +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE_TOOLTIP :{BLACK}När denna knapp aktiveras visas även dolda vägfordon +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}När denna knapp aktiveras visas även dolda fartyg +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}När denna knapp aktiveras visas även dolda flygfarkoster + # Query window STR_BUTTON_DEFAULT :{BLACK}Standardinställning STR_BUTTON_CANCEL :{BLACK}Avbryt @@ -361,7 +372,7 @@ STR_SCENEDIT_FILE_MENU_QUIT :Avsluta ############ range for settings menu starts STR_SETTINGS_MENU_GAME_OPTIONS :Spelinställningar -STR_SETTINGS_MENU_CONFIG_SETTINGS :Avancerade inställningar +STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Inställningar STR_SETTINGS_MENU_SCRIPT_SETTINGS :Inställningar för AI / spelskript STR_SETTINGS_MENU_NEWGRF_SETTINGS :Inställningar för NewGRF STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Inställningar för genomskinlighet @@ -470,7 +481,7 @@ STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Slå av/på ytt STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Slå av/på färgläggning av smutsiga block ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window STR_ORDINAL_NUMBER_1ST :1 STR_ORDINAL_NUMBER_2ND :2 STR_ORDINAL_NUMBER_3RD :3 @@ -486,22 +497,40 @@ STR_ORDINAL_NUMBER_12TH :12 STR_ORDINAL_NUMBER_13TH :13 STR_ORDINAL_NUMBER_14TH :14 STR_ORDINAL_NUMBER_15TH :15 -STR_ORDINAL_NUMBER_16TH :16 -STR_ORDINAL_NUMBER_17TH :17 -STR_ORDINAL_NUMBER_18TH :18 -STR_ORDINAL_NUMBER_19TH :19 -STR_ORDINAL_NUMBER_20TH :20 -STR_ORDINAL_NUMBER_21ST :21 -STR_ORDINAL_NUMBER_22ND :22 -STR_ORDINAL_NUMBER_23RD :23 -STR_ORDINAL_NUMBER_24TH :24 -STR_ORDINAL_NUMBER_25TH :25 -STR_ORDINAL_NUMBER_26TH :26 -STR_ORDINAL_NUMBER_27TH :27 -STR_ORDINAL_NUMBER_28TH :28 -STR_ORDINAL_NUMBER_29TH :29 -STR_ORDINAL_NUMBER_30TH :30 -STR_ORDINAL_NUMBER_31ST :31 +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :1 +STR_DAY_NUMBER_2ND :2 +STR_DAY_NUMBER_3RD :3 +STR_DAY_NUMBER_4TH :4 +STR_DAY_NUMBER_5TH :5 +STR_DAY_NUMBER_6TH :6 +STR_DAY_NUMBER_7TH :7 +STR_DAY_NUMBER_8TH :8 +STR_DAY_NUMBER_9TH :9 +STR_DAY_NUMBER_10TH :10 +STR_DAY_NUMBER_11TH :11 +STR_DAY_NUMBER_12TH :12 +STR_DAY_NUMBER_13TH :13 +STR_DAY_NUMBER_14TH :14 +STR_DAY_NUMBER_15TH :15 +STR_DAY_NUMBER_16TH :16 +STR_DAY_NUMBER_17TH :17 +STR_DAY_NUMBER_18TH :18 +STR_DAY_NUMBER_19TH :19 +STR_DAY_NUMBER_20TH :20 +STR_DAY_NUMBER_21ST :21 +STR_DAY_NUMBER_22ND :22 +STR_DAY_NUMBER_23RD :23 +STR_DAY_NUMBER_24TH :24 +STR_DAY_NUMBER_25TH :25 +STR_DAY_NUMBER_26TH :26 +STR_DAY_NUMBER_27TH :27 +STR_DAY_NUMBER_28TH :28 +STR_DAY_NUMBER_29TH :29 +STR_DAY_NUMBER_30TH :30 +STR_DAY_NUMBER_31ST :31 ############ range for days ends ############ range for months starts @@ -739,7 +768,7 @@ STR_SMALLMAP_TOOLTIP_ENABLE_ALL_CARGOS :{BLACK}Visa all STR_STATUSBAR_TOOLTIP_SHOW_LAST_NEWS :{BLACK}Visa senaste meddelande eller nyhet STR_STATUSBAR_COMPANY_NAME :{SILVER}- - {COMPANY} - - STR_STATUSBAR_PAUSED :{YELLOW}* * PAUSAD * * -STR_STATUSBAR_AUTOSAVE :{RED}AUTOSPARNING +STR_STATUSBAR_AUTOSAVE :{RED}AUTOSPARA STR_STATUSBAR_SAVING_GAME :{RED}* * SPARAR SPEL * * # News message history @@ -810,13 +839,12 @@ STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}{VEHICLE STR_NEWS_SHIP_IS_WAITING :{WHITE}{VEHICLE} väntar i depån STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE} väntar i hangaren -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE +# Order review system / warnings STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE} har för få ordrar i schemat STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE} har en ogiltig order STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE} har dubblerade destinationer STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE} har en felaktig station bland destinationerna -# end of order system +STR_NEWS_PLANE_USES_TOO_SHORT_RUNWAY :{WHITE}{VEHICLE} har i sina beställningar en flygplats vars bana är för kort STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} börjar bli gammal STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} börjar bli mycket gammal @@ -899,10 +927,6 @@ STR_GAME_OPTIONS_CURRENCY_GEL :Georgisk lari ( STR_GAME_OPTIONS_CURRENCY_IRR :Iransk rial (IRR) ############ end of currency region - -############ start of measuring units region -############ end of measuring units region - STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Vägfordon STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}Välj sida av vägen som fordonen kör på STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :Kör på vänster sida @@ -938,11 +962,13 @@ STR_GAME_OPTIONS_TOWN_NAME_CATALAN :Katalanska STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Spara automatiskt STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Välj intervall mellan automatiskt sparande +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Avstängd STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :Varje månad STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :Var 3:e månad STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :Var 6:e månad STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :Var 12:e månad +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}Språk STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Välj språk att använda @@ -954,8 +980,12 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}Skärmup STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Välj skärmupplösning att använda STR_GAME_OPTIONS_RESOLUTION_OTHER :annan -STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}Skärmdumpsformat -STR_GAME_OPTIONS_SCREENSHOT_FORMAT_TOOLTIP :{BLACK}Välj filformat för skärmdump +STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Gränssnittstorlek +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Välj vilken gränssnittsstorlek som används + +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normal +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Dubbel storlek +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Fyrdubbel storlek STR_GAME_OPTIONS_BASE_GRF :{BLACK}Grafikpaket som standard STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Välj vilket grafikpaket som ska användas som standard @@ -971,6 +1001,7 @@ STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Välj vi STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} fil{P "" er} korrupt{P "" a} STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Yttligare information om musikpaketet +STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Det gick inte att hämta en lista över upplösningar som stöds STR_ERROR_FULLSCREEN_FAILED :{WHITE}Fullskärmsläge misslyckades # Custom currency window @@ -1049,6 +1080,7 @@ STR_TERRAIN_TYPE_VERY_FLAT :Väldigt platt STR_TERRAIN_TYPE_FLAT :Platt STR_TERRAIN_TYPE_HILLY :Kullig STR_TERRAIN_TYPE_MOUNTAINOUS :Bergig +STR_TERRAIN_TYPE_ALPINIST :Alpin STR_CITY_APPROVAL_PERMISSIVE :Eftergiven STR_CITY_APPROVAL_TOLERANT :Tolerant @@ -1056,8 +1088,8 @@ STR_CITY_APPROVAL_HOSTILE :Fientlig STR_WARNING_NO_SUITABLE_AI :{WHITE}Ingen passande datorspelare finns tillgänglig...{}Du kan ladda ner ett flertal datorspelare via 'Online Content'-systemet -# Advanced settings window -STR_CONFIG_SETTING_CAPTION :{WHITE}Avancerade inställningar +# Settings tree window +STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Inställningar STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Sökfilter: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Utöka alla STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Stäng alla @@ -1072,10 +1104,10 @@ STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :Företagsinstä STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK}Kategori: STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}Typ: -STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Begränsar listan till att endast visa ändrade inställningar -STR_CONFIG_SETTING_RESTRICT_BASIC :Grundläggande inställningar -STR_CONFIG_SETTING_RESTRICT_ADVANCED :Avancerade inställningar -STR_CONFIG_SETTING_RESTRICT_ALL :Expertinställningar / alla inställningar +STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Begränsar listan nedan med fördefinierade filter +STR_CONFIG_SETTING_RESTRICT_BASIC :Grundläggande (visa endast viktiga inställningar) +STR_CONFIG_SETTING_RESTRICT_ADVANCED :Avancerat (visa de flesta inställningarna) +STR_CONFIG_SETTING_RESTRICT_ALL :Expert (visa alla inställningar, inklusive de konstiga) STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :Inställningar med annat värde än standardvärdet STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :Inställningar med annat värde än dina inställningar för nytt spel @@ -1127,12 +1159,13 @@ STR_CONFIG_SETTING_TRAIN_REVERSING :Förbjud tåg a STR_CONFIG_SETTING_TRAIN_REVERSING_HELPTEXT :Om det är aktiverat så kommer tågen inte vända på genomfartsstationer, ens om vägen till deras destination skulle ha blivit kortare ifall de vände STR_CONFIG_SETTING_DISASTERS :Katastrofer: {STRING} STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Slår av/på katastrofer vilka då och då kan blockera eller förstöra fordon och infrastruktur -STR_CONFIG_SETTING_CITY_APPROVAL :Stadsfullmäktiges attityd mot ombyggantion av områden: {STRING} +STR_CONFIG_SETTING_CITY_APPROVAL :Stadsfullmäktiges attityd mot ombyggnation av områden: {STRING} STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Välj hur mycket ett företags oväsen och miljöpåverkan ska påverka dess anseende och möjlighet till vidare byggnationer i området -STR_CONFIG_SETTING_BUILDONSLOPES :Tillåt konstruktion på sluttningar och kuster: {STRING} -STR_CONFIG_SETTING_BUILDONSLOPES_HELPTEXT :Om det är aktiverat kan räls och stationer byggas på de flesta sluttningar. Om det är inaktiverat är de bara tillåtna att bygga på sluttningar som motsvarar spårens riktning och därför inte kräver någon grund -STR_CONFIG_SETTING_AUTOSLOPE :Tillåt landskapsarkitektur under byggnader, spår, etc. (autoslope): {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :Maximal karthöjd: {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :Välj maximala tillåtna höjd för berg på kartan +STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}Du kan inte ändra maximal karthöjd till detta värde. Åtminstone ett berg på kartan är högre +STR_CONFIG_SETTING_AUTOSLOPE :Tillåt landskapsarkitektur under byggnader, spår, etc.: {STRING} STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Tillåt landskapsarkitektur under byggnader och spår utan att ta bort dem STR_CONFIG_SETTING_CATCHMENT :Tillåt mer realistiska uppsamlingsområden för stationer: {STRING} STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Ha olika stora uppsamlingsområden för olika typer av stationer och flygplatser @@ -1156,16 +1189,12 @@ STR_CONFIG_SETTING_FORBID_90_DEG :Förbjud tåg o STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90-graderssvängar inträffar då ett horisontellt spår följs direkt av ett vertikalt spår på angränsande ruta och därmed gör så att tåget svänger 90-grader om de kör längs med spåret. Detta i motsats till andra kombinationer av spårbitar där tåget svänger 45 grader i taget. Denna inställning påverkar även svängradien för fartyg STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Tillåt att stationer som inte är byggda direkt brevid varandra slås ihop: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Tillåt att lägga till delar till en station utan att de är i direktkontakt med existerande delar. Kräver Ctrl+klick vid placering av nya stationsdelar. -STR_CONFIG_SETTING_IMPROVEDLOAD :Använd förbättrad algoritm: {STRING} -STR_CONFIG_SETTING_IMPROVEDLOAD_HELPTEXT :Om aktiverad och flera fordon befinner sig på stationen, kommer de att lastas på en efter en. Lastning av nästa fordon startar först när det finns tillräckligt med gods för att fylla det första fordonet. -STR_CONFIG_SETTING_GRADUAL_LOADING :Lasta fordon gradvis: {STRING} -STR_CONFIG_SETTING_GRADUAL_LOADING_HELPTEXT :Lasta på fordon gradvis genom att använda fordonsspecifika tider för lastning istället för att lasta på allt samtidigt med en fast tid som endast beror på mängden gods att lasta på. STR_CONFIG_SETTING_INFLATION :Inflation: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :Aktivera inflation i ekonomin. Kostnaderna stiger något fortare än inkomsterna. -STR_CONFIG_SETTING_SELECTGOODS :Leverera gods till en station enbart om någon frågar efter det: {STRING} -STR_CONFIG_SETTING_SELECTGOODS_HELPTEXT :Leverera endast gods till en station där godstypen har efterfrågats av ett fordon genom att försöka lasta på gods. Detta förhindrar dåliga värderingar för godstyper som inte betjänas på en station. STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Maximal brolängd: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Maximal längd för broar +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :Maximal brohöjd: {STRING} +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :Maximal höjd för att bygga broar STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Maximal tunnellängd: {STRING} STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :Maximal längd för tunnlar STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Metod för manuell konstruktion av primära industrier: {STRING} @@ -1191,8 +1220,6 @@ STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Grundinställni STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :början STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :mitten STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :slutet -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING :Vägfordonsköer (med kvanteffekter): {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING_HELPTEXT :Gör så att vägfordon väntar framför ett upptaget genomfarts-stopp tills dess att det är ledigt. STR_CONFIG_SETTING_AUTOSCROLL :Scrolla vyn när musen är vid kanten: {STRING} STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :När det är aktiverat börjar vyer scrolla när muspekaren är nära fönstrets kant STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Avstängd @@ -1223,10 +1250,6 @@ STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Tillåt genomfa STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Tillåt konstruktion av genomfarts-stopp på stadsägda vägar STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Tillåt dina fordon att köra genom motståndarens hållplatser: {STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Tillåt konstruktion av genomfarts-stopp på vägar som ägs av andra företag -STR_CONFIG_SETTING_ADJACENT_STATIONS :Tillåt konstruktion av närliggande stationer: {STRING} -STR_CONFIG_SETTING_ADJACENT_STATIONS_HELPTEXT :Tillåt att olika stationer rör vid varandra -STR_CONFIG_SETTING_DYNAMIC_ENGINES :Tillåt flera NewGRF-set: {STRING} -STR_CONFIG_SETTING_DYNAMIC_ENGINES_HELPTEXT :Kompabilitetsinställning för gamla NewGRFer. Inaktivera inte detta såvida du inte vet exakt vad du håller på med! STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Det är inte möjligt att ändra denna inställning när det finns fordon STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Underhåll av infrastruktur: {STRING} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Om det är aktiverat så kostar underhåll av infrastruktur. Kostnaden ökar mer än proportionellt mot nätverkets storlek, vilket innebär att större företag drabbas hårdare än små företag av underhållskostnader. @@ -1257,35 +1280,49 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :Visningstid fö STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Tid som felmeddelanden i ett rött fönster ska visas. Notera att vissa (kritiska) felmeddelanden inte stängs automatiskt efter denna tid, utan måste stängas manuellt STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{COMMA} sekund{P 0 "" er} STR_CONFIG_SETTING_HOVER_DELAY :Visa tooltips: {STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Fördröjning innan tooltips visas när muspekaren hålls över ett gränssnittselement. Alternativt kan tooltips bindas till den högra musknappen -STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Håll muspekaren i {COMMA} sekund{P 0 "" er} +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Fördröjning innan tooltips visas när muspekaren hålls över ett gränssnittselement. Alternativt kan tooltips bindas till den högra musknappen när detta värde är satt till 0. +STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Håll muspekaren i {COMMA} millisekund{P 0 "" er} STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Högerklick STR_CONFIG_SETTING_POPULATION_IN_LABEL :Visa invånarantal i stadsnamnet: {STRING} STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Visa antal invånare efter stadsnamnen på kartan STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Linjetjocklek i grafer: {STRING} STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Linjernas bredd i grafernas kurvor. En tunn linje är lättare att läsa av mer precist, medan en tjockare linje är lättare att se och gör det lättare att skilja mellan de olika färgerna +STR_CONFIG_SETTING_LANDSCAPE :Landskap: {STRING} +STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Landskap definiera grundläggande gameplay scenarier med olika last och krav stad tillväxt. NewGRF och Game skript tillåter finare kontroll. STR_CONFIG_SETTING_LAND_GENERATOR :Land generator: {STRING} +STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :Den ursprungliga generatorn beror på bas grafik set, och komponerar fasta landskapsformer. TerraGenesis är en Perlin buller baserad generator med finare inställningar kontroll STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Original STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis +STR_CONFIG_SETTING_TERRAIN_TYPE :Terrängtyp: {STRING} +STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(TerraGenesis endast) Hilliness av landskapet +STR_CONFIG_SETTING_INDUSTRY_DENSITY :Industri densitet: {STRING} +STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Ange hur många industrier ska genereras och vilken nivå bör bibehållas under spelet STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Maximalt avstånd mellan oljeraffinaderier och kartans kant: {STRING} STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Oljeraffinaderier byggs bara nära kartans kanter, alltså vid kusten om det är en ö-karta STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Snölinjeshöjd: {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Terrängens svårhetsgrad (TerraGenesis endast) : {STRING} +STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Kontroll på vilken höjd snön börjar i subarktiska landskapet. Snö påverkar också industrin generation och stad tillväxtkrav +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Terrängens svårhetsgrad: {STRING} +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(TerraGenesis endast) Välj frekvensen av kullar: Smooth landskap har färre, mer utbredda kullar. Rough landskap har många kullar, som kan se repetitiva STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Väldigt lätt STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Lätt STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Svår STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Väldigt svår +STR_CONFIG_SETTING_VARIETY :Varierad distribution: {STRING} +STR_CONFIG_SETTING_VARIETY_HELPTEXT :(TerraGenesis endast) Styr om kartan innehåller både bergs och flacka områden. Eftersom detta gör bara kartan flackare bör andra inställningar ställas in på bergiga +STR_CONFIG_SETTING_RIVER_AMOUNT :Antal floder: {STRING} +STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Välj hur många floder att generera STR_CONFIG_SETTING_TREE_PLACER :Trädplacerings-algoritm: {STRING} +STR_CONFIG_SETTING_TREE_PLACER_HELPTEXT :Välj fördelningen av träden på kartan: "Original" växter träd jämnt utspridda, "Förbättrad" växter dem i grupper STR_CONFIG_SETTING_TREE_PLACER_NONE :Inget STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :Original STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :Förbättrad +STR_CONFIG_SETTING_ROAD_SIDE :Väg fordon: {STRING} +STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :Välj kör sida STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Höjkartans rotation: {STRING} STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Motsols STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Medsols STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :Vilken nivåhöjd en platt scenario-karta får: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :Tillåt landskapsarkitektur på rutorna vid kartans kanter: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES_HELPTEXT :Om det är inaktiverat kommer kartans kanter alltid att vara hav STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}En eller fler rutor vid den norra gränsen är inte tomma STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}En eller fler rutor vid en av gränserna är inte vatten @@ -1306,7 +1343,7 @@ STR_CONFIG_SETTING_SMOOTH_SCROLLING :Mjuk scrollning STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Kontrollera hur huvudvyn skrollar till en specifik position vid klick på minikartan eller när ett kommando används för att skrolla till ett specifikt objekt på kartan. Om det är aktiverat skrollar vyn mjukt, om det är inaktiverat hoppar den direkt till målet STR_CONFIG_SETTING_MEASURE_TOOLTIP :Visa måtthjälptext vid användning av byggverktyg: {STRING} STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT :Visa rutavstånd och höjdskillnader vid dragning med musen under byggoperationer -STR_CONFIG_SETTING_LIVERIES :Visa färgschema för företag: {STRING} +STR_CONFIG_SETTING_LIVERIES :Visa fordonstypsspecifika färgscheman för företag: {STRING} STR_CONFIG_SETTING_LIVERIES_HELPTEXT :Kontrollera användning av fordonstyp-specifika färgscheman för fordon (till skillnad från företagsspecifika) STR_CONFIG_SETTING_LIVERIES_NONE :Inga STR_CONFIG_SETTING_LIVERIES_OWN :Egna företaget @@ -1336,17 +1373,15 @@ 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_AUTOSAVE :Autospara: {STRING} +STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Välj intervall mellan automatisk sparande + STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Använd {STRING} som datumformat för sparfilsnamn STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Format för datum i filnamnen för sparade spel STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :lång (31st Dec 2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :kort (31-12-2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE :Standardpalett för NewGRF när ingen annan palett är angiven: {STRING} -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_HELPTEXT :Standardpalett att använda med NewGRFer som inte anger vilken palett de behöver -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_DOS :Standardpalett (D) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_WIN :Tidigare versions (W) palett - STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Pausa automatiskt vid start av nytt spel: {STRING} STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :Om det är aktiverat kommer OpenTTD automatiskt att pausa vid start av ett nytt spel, så att kartan kan studeras noggrannare STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :När spelet är pausat, tillåt: {STRING} @@ -1355,7 +1390,7 @@ STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :Inga åtgärder STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :Allt förutom att bygga STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :Allt förutom landskapsarkitektur STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_ACTIONS :Alla åtgärder -STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Använd den avancerade fordonslistan: {STRING} +STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Använd grupper i fordonslistan: {STRING} STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Möjliggör användning av avancerade fordonslistor för gruppering av fordon STR_CONFIG_SETTING_LOADING_INDICATORS :Använd lastningsindikatorer: {STRING} STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Välj om lastningsindikatorer visas ovanför lastande och avlastande fordon, eller ej @@ -1429,7 +1464,7 @@ STR_CONFIG_SETTING_SERVINT_ISPERCENT :Visa serviceint STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Välj om fordonsservice ska triggas av hur lång tid som har gått sedan senaste service eller av att tillförlitligheten faller med en viss procentsats av den maximala tillförlitligheten STR_CONFIG_SETTING_SERVINT_TRAINS :Normalt serviceintervall för tåg: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Välj vilket serviceintervall som normalt sett ska användas för nya tåg, om inget annat serviceintervall uttryckligen anges -STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA} dag{P 0 "" ar}/% +STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}dag{P 0 "" ar}/% STR_CONFIG_SETTING_SERVINT_DISABLED :Inaktiverat STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES :Normalt serviceintervall för vägfordon: {STRING} STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES_HELPTEXT :Välj vilket serviceintervall som normalt sett ska användas för nya vägfordon, om inget annat serviceintervall uttryckligen anges @@ -1496,7 +1531,7 @@ STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT :Välj beteende STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE :Bygg automatiskt semaforer innan: {STRING} STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT :Välj vilket år elektriska signaler ska börja användas för spår. Innan detta årtal används icke-elektriska signaler (vilka har exakt samma funktion, men annorlunda utseende) STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI :Använd signal-GUI: {STRING} -STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI_HELPTEXT :Visa ett fönster med de signaltyper som går att bygga, istället för enbart fönsterlös signaltyps-rotation genom Ctrl+klick på byggda signaler +STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI_HELPTEXT :Visa ett fönster för att välja signaltyp att bygga, istället för enbart fönsterlös signaltyps-rotation genom Ctrl+klick på byggda signaler STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE :Standardsignal-typ: {STRING} STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE_HELPTEXT :Signaltyp att använda som standard STR_CONFIG_SETTING_DEFAULT_SIGNAL_NORMAL :Normal @@ -1568,12 +1603,10 @@ STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 av {COMMA} STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Inga STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Initial stadsstorleks-multiplikator: {STRING} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Storstäders genomsnittliga storlek i relation till vanliga städers vid spelets början -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :Ta bort absurda väg-element under vägkonstruktion: {STRING} -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD_HELPTEXT :Ta bort återvändsgränder vid bekostad vägombyggnad -STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Uppdatera distributionsgrafen var {STRING}:e dag{P 0:2 "" s} +STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Uppdatera distributionsgrafen var {STRING}:e{NBSP}dag{P 0:2 "" s} STR_CONFIG_SETTING_LINKGRAPH_INTERVAL_HELPTEXT :Tid mellan efterföljande omräkningar av länkgrafen. Varje omräkning beräknar planer för en komponent i grafen. Det medför att ett värde X för den här inställningen inte innebär att hela grafen uppdateras var X:e dag, bara vissa komponenter. Ju lägre värde du ställer in desto mer processorkraft kommer att behövas för beräkningarna. Ju högre värde du ställer in desto längre tid kommer det att ta innan distributionen av last börjar använda nya rutter. -STR_CONFIG_SETTING_LINKGRAPH_TIME :Avsätt {STRING} dag{P 0:2 "" ar} för omberäkning av distributionsgraf +STR_CONFIG_SETTING_LINKGRAPH_TIME :Avsätt {STRING}{NBSP}dag{P 0:2 "" ar} för omberäkning av distributionsgraf STR_CONFIG_SETTING_LINKGRAPH_TIME_HELPTEXT :Den tid varje omberäkning av en länkgrafkomponent tillåts ta. När en omberäkning startas skapas en tråd som tillåts löpa detta antal dagar. Ju kortare du sätter denna, desto mer troligt är det att tråden inte är hinner bli färdig i tid. Då kommer spelet att stanna tills den är klar (vilket gör att det laggar). Ju längre du sätter denna, desto längre tid tar det för distributionen att uppdateras när rutter ändras. STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :manuellt STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :asymmetriskt @@ -1626,32 +1659,34 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_METRIC :Metrisk (kgf) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_SI :SI (kN) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT :Höjdenhet: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT :Närhelst höjder visas i användargränssnittet, visa dem i den valda enheten +STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT :Närhelst en höjd visas i användargränssnittet, visa den i de valda enheterna STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :Brittisk (ft) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :Metrisk (m) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :SI (m) -STR_CONFIG_SETTING_GUI :{ORANGE}Gränssnitt STR_CONFIG_SETTING_LOCALISATION :{ORANGE}Lokalisering -STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}Konstruktion +STR_CONFIG_SETTING_GRAPHICS :{ORANGE}Grafik +STR_CONFIG_SETTING_SOUND :{ORANGE}Ljud +STR_CONFIG_SETTING_INTERFACE :{ORANGE}Gränssnitt +STR_CONFIG_SETTING_INTERFACE_GENERAL :{ORANGE}Generelt +STR_CONFIG_SETTING_INTERFACE_VIEWPORTS :{ORANGE}Vyportar +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Konstruktion +STR_CONFIG_SETTING_ADVISORS :{ORANGE} Nyheter / Rådgivare +STR_CONFIG_SETTING_COMPANY :{ORANGE}Företag +STR_CONFIG_SETTING_ACCOUNTING :{ORANGE} Redovisning STR_CONFIG_SETTING_VEHICLES :{ORANGE}Fordon -STR_CONFIG_SETTING_STATIONS :{ORANGE}Stationer -STR_CONFIG_SETTING_ECONOMY :{ORANGE}Ekonomi -STR_CONFIG_SETTING_LINKGRAPH :{ORANGE}Godsdistribution -STR_CONFIG_SETTING_AI :{ORANGE}Motståndare -STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}Skärminställningar -STR_CONFIG_SETTING_INTERACTION :{ORANGE}Interagera -STR_CONFIG_SETTING_SOUND :{ORANGE}Ljudeffekter -STR_CONFIG_SETTING_NEWS :{ORANGE}Nyheter och meddelanden -STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}Signaler -STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE}Frakthantering -STR_CONFIG_SETTING_AI_NPC :{ORANGE}Datorspelare -STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE}Autoförnya -STR_CONFIG_SETTING_VEHICLES_SERVICING :{ORANGE}Service +STR_CONFIG_SETTING_VEHICLES_PHYSICS :{ORANGE} Fysik STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Planering av resrutt -STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}Tåg -STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}Städer -STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}Industrier +STR_CONFIG_SETTING_LIMITATIONS :{ORANGE} Begränsningar +STR_CONFIG_SETTING_ACCIDENTS :{ORANGE} Katastrofer / Olyckor +STR_CONFIG_SETTING_GENWORLD :{ORANGE}Världsgenerering +STR_CONFIG_SETTING_ENVIRONMENT :{ORANGE}Miljö +STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :{ORANGE}Mydigheter +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Städer +STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}Industrier +STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :{ORANGE}Godsdistribution +STR_CONFIG_SETTING_AI :{ORANGE}Motståndare +STR_CONFIG_SETTING_AI_NPC :{ORANGE}Datorspelare STR_CONFIG_SETTING_PATHFINDER_OPF :Standard STR_CONFIG_SETTING_PATHFINDER_NPF :NPF @@ -1700,7 +1735,7 @@ STR_INTRO_MULTIPLAYER :{BLACK}Flera sp STR_INTRO_GAME_OPTIONS :{BLACK}Spelinställningar STR_INTRO_HIGHSCORE :{BLACK}Bästa spelresultat -STR_INTRO_ADVANCED_SETTINGS :{BLACK}Avancerade inställningar +STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Inställningar STR_INTRO_NEWGRF_SETTINGS :{BLACK}NewGRF-inställningar STR_INTRO_ONLINE_CONTENT :{BLACK}Kontrollera online-innehåll STR_INTRO_SCRIPT_SETTINGS :{BLACK}AI / spelskript-inställningar @@ -1720,7 +1755,7 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Välj 'l STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Visa spelinställningar STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Visar en topplista över de bästa spelresultaten -STR_INTRO_TOOLTIP_ADVANCED_SETTINGS :{BLACK}Visa avancerade inställningar +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Skärminställningar STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Visa inställningar för NewGRF STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Kolla efter nytt och nyuppdaterat innehåll för nedladdning STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Visa inställningar för datorspelare och spelskript @@ -1760,6 +1795,8 @@ STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Spelar STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Magisk Bulldozer (ta bort industrier, oflyttbara objekt etc.): {ORANGE}{STRING} STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}Tunnlar kan korsa varandra: {ORANGE}{STRING} STR_CHEAT_NO_JETCRASH :{LTBLUE}Jetplan kommer inte att störta (frekvent) på små flygplatser: {ORANGE} {STRING} +STR_CHEAT_EDIT_MAX_HL :{LTBLUE}Ändra maximal karthöjd: {ORANGE}{NUM} +STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Ändra maximal höjd för berg på kartan STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE :Tempererat landskap STR_CHEAT_SWITCH_CLIMATE_SUB_ARCTIC_LANDSCAPE :Sub-arktiskt landskap STR_CHEAT_SWITCH_CLIMATE_SUB_TROPICAL_LANDSCAPE :Sub-tropiskt landskap @@ -1808,6 +1845,7 @@ STR_LIVERY_FREIGHT_TRAM :Fraktspårvagn STR_FACE_CAPTION :{WHITE}Välj ansikte STR_FACE_CANCEL_TOOLTIP :{BLACK}Avbryt val av ansikte STR_FACE_OK_TOOLTIP :{BLACK}Acceptera nytt ansikte +STR_FACE_RANDOM :{BLACK}Slumpa STR_FACE_MALE_BUTTON :{BLACK}Man STR_FACE_MALE_TOOLTIP :{BLACK}Välj manliga ansikten @@ -1931,7 +1969,7 @@ STR_NETWORK_START_SERVER_CLIENTS_SELECT :{BLACK}{NUM} kl STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Max antal tillåtna klienter: STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS_TOOLTIP :{BLACK}Välj max antal tillåtna klienter. Alla platser måste inte fyllas. STR_NETWORK_START_SERVER_COMPANIES_SELECT :{BLACK}{NUM} företag{P y ies} -STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}Max företag: +STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}Max antal företag: STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES_TOOLTIP :{BLACK}Begränsa antalet företag på servern STR_NETWORK_START_SERVER_SPECTATORS_SELECT :{BLACK}{NUM} åskådare{P "" s} STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS :{BLACK}Max antal åskådare: @@ -2649,7 +2687,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Mark som ägs a STR_ABOUT_OPENTTD :{WHITE}Om OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Ursprunglig äganderä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-2014 OpenTTD-teamet +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 OpenTTD-teamet # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Spara spel @@ -2684,13 +2722,12 @@ STR_MAPGEN_BY :{BLACK}* STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Antal städer: STR_MAPGEN_DATE :{BLACK}Datum: STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Antal industrier: +STR_MAPGEN_MAX_HEIGHTLEVEL :{BLACK}Maximal karthöjd: +STR_MAPGEN_MAX_HEIGHTLEVEL_UP :{BLACK}Öka maximal bergshöjd med ett +STR_MAPGEN_MAX_HEIGHTLEVEL_DOWN :{BLACK}Minska maximal bergshöjd med ett STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}Snögränsens höjd: STR_MAPGEN_SNOW_LINE_UP :{BLACK}Höj snögränsens höjd ett upp STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}Sänk snögränsens höjd ett ner -STR_MAPGEN_RANDOM_SEED :{BLACK}Slumpnummer: -STR_MAPGEN_RANDOM_SEED_HELP :{BLACK}Klicka för att mata in ett slump-nummer -STR_MAPGEN_RANDOM :{BLACK}Slumpa -STR_MAPGEN_RANDOM_HELP :{BLACK}Ändra slumpnummer som används för terräng-generering STR_MAPGEN_LAND_GENERATOR :{BLACK}Landgenerator: STR_MAPGEN_TREE_PLACER :{BLACK}Trädalgoritm: STR_MAPGEN_TERRAIN_TYPE :{BLACK}Terrängtyp: @@ -2717,7 +2754,7 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Namn på STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Storlek: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} -STR_MAPGEN_RANDOM_SEED_OSKTITLE :{BLACK}Mata in ett slumpmässigt frö +STR_MAPGEN_MAX_HEIGHTLEVEL_QUERY_CAPT :{WHITE}Ändra maximal karthöjd STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}Ändra snögränsens höjd STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Ändra Startår @@ -2772,6 +2809,8 @@ STR_NEWGRF_SETTINGS_MOVEUP :{BLACK}Flytta u STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP :{BLACK}Flytta upp den markerade NewGRF-filen i listan STR_NEWGRF_SETTINGS_MOVEDOWN :{BLACK}Flytta ned STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP :{BLACK}Flytta ner den markerade NewGRF-filen i listan +STR_NEWGRF_SETTINGS_UPGRADE :{BLACK}Uppgradera +STR_NEWGRF_SETTINGS_UPGRADE_TOOLTIP :{BLACK}Uppgradera NewGRF-filer som du har en nyare version installerad STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}En lista med installerade NewGRF-filer STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}Parametrar @@ -2796,6 +2835,16 @@ STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Matchande STR_NEWGRF_SETTINGS_DISABLED :{RED}Avstängd STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Ej kompatibel med den här versionen av OpenTTD +# NewGRF save preset window +STR_SAVE_PRESET_CAPTION :{WHITE}Spara förinställning +STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK}Lista över tillgängliga förinställningar, väljer man att kopiera den till spara namn nedan +STR_SAVE_PRESET_TITLE :{BLACK}Skriv in ett namn +STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}För tillfället vald namn för förinställningen att spara +STR_SAVE_PRESET_CANCEL :{BLACK}Avbryt +STR_SAVE_PRESET_CANCEL_TOOLTIP :{BLACK}Ändra inte det förinställda +STR_SAVE_PRESET_SAVE :{BLACK}Spara +STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}Spara den inställda till den nuvarande valda namnet + # NewGRF parameters window STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Ändra NewGRF parametrar STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Stäng @@ -2819,14 +2868,17 @@ STR_NEWGRF_INSPECT_QUERY_CAPTION :{WHITE}NewGRF v # Sprite aligner window STR_SPRITE_ALIGNER_CAPTION :{WHITE}Justera spriteobjekt {COMMA} ({STRING}) STR_SPRITE_ALIGNER_NEXT_BUTTON :{BLACK}Nästa spriteobjekt -STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Fortsätt till nästa nomala spriteobjekt, ignorera eventuella pseudo/recolour/font spriteobjekt och börja om vid slutet +STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Fortsätt till nästa nomala spriteobjekt, ignorera eventuella pseudo/recolour/font spriteobjekt och börja om efter sista spriteobjektet STR_SPRITE_ALIGNER_GOTO_BUTTON :{BLACK}Gå till spriteobjekt STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}Gå till angivet spriteobjekt. Om objektet inte är ett normalt spriteobjekt, fortsätt till nästa normala spriteobjekt STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Tidigare spriteobjekt -STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Fortsätt till nästa normala spriteobjekt, ignorera eventuella pseudo/recolour/font spriteobjekt och börja om vid början +STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Fortsätt till föregående normala spriteobjekt, ignorera eventuella pseudo/recolour/font spriteobjekt och börja om från slutet efter första spriteobjektet STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Representation av det valda objektet. Justeringen ignoreras när objektet ritas. STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Flytta runt objektet, ändrar X och Y offsets -STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X offset: {NUM}, Y offset: {NUM} +STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Återställ relativ +STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Återställ den nuvarande relativa offsetten +STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}X offsett: {NUM}, Y offsett: {NUM} (Absolut) +STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}X offsett: {NUM}, Y offsett: {NUM} (Relativ) STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Välj objekt STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Välj ett objekt på bildskärmen @@ -2938,8 +2990,8 @@ STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} levererat STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (återstår) STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (levererat) -STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Orten växer var {ORANGE}{COMMA}{BLACK} dag -STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Orten växer var {ORANGE}{COMMA}{BLACK} dag (bekostad tillväxt) +STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Orten växer var {ORANGE}{COMMA}{BLACK}{NBSP}dag +STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Orten växer var {ORANGE}{COMMA}{BLACK}{NBSP}dag (bekostad tillväxt) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}Orten växer {RED}inte{BLACK} STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Bullernivågräns i stad: {ORANGE}{COMMA}{BLACK} max: {ORANGE}{COMMA} STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Centrera huvudvyn på staden. Ctrl+klick öppnar en ny vy över stadens läge @@ -2999,7 +3051,7 @@ STR_GOAL_QUESTION_CAPTION_INFORMATION :Information STR_GOAL_QUESTION_CAPTION_WARNING :Varning STR_GOAL_QUESTION_CAPTION_ERROR :Fel -### Start of Goal Question button list +############ Start of Goal Question button list STR_GOAL_QUESTION_BUTTON_CANCEL :Avbryt STR_GOAL_QUESTION_BUTTON_OK :Okej STR_GOAL_QUESTION_BUTTON_NO :Nej @@ -3018,6 +3070,7 @@ STR_GOAL_QUESTION_BUTTON_RESTART :Starta om STR_GOAL_QUESTION_BUTTON_POSTPONE :Skjut upp STR_GOAL_QUESTION_BUTTON_SURRENDER :Ge upp STR_GOAL_QUESTION_BUTTON_CLOSE :Stäng +############ End of Goal Question button list # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}Subventioner @@ -3053,7 +3106,6 @@ STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}Ingen so # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} -STR_STATION_VIEW_WAITING_TITLE :{BLACK}Väntar: {WHITE}{STRING} STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} från {STATION}) STR_STATION_VIEW_RESERVED :{YELLOW}({CARGO_SHORT} reserverat för lastning) @@ -3304,6 +3356,7 @@ STR_GROUP_RENAME_TOOLTIP :{BLACK}Byt namn STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Klicka för att skydda denna grupp mot allmän autoreplace STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Ta bort grupp +STR_GROUP_DELETE_QUERY_TEXT :{WHITE} Är du säker på att du vill ta bort denna grupp och alla efterkommande? STR_GROUP_ADD_SHARED_VEHICLE :Lägg till delade fordon STR_GROUP_REMOVE_ALL_VEHICLES :Ta bort alla fordon @@ -3342,10 +3395,10 @@ STR_PURCHASE_INFO_ALL_BUT :Allt utom {CARG STR_PURCHASE_INFO_MAX_TE :{BLACK}Maximal Dragkraft: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Räckvidd: {GOLD}{COMMA} rutor -STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Lista av tågvagnar - klicka på tågvagn för information -STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Vägfordonslista - klicka på fordon för information -STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Skeppslista - klicka på skepp för information -STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Flygplanslista - Klicka på flygplan för information +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 +STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Skeppslista. Klicka på skepp för information. Ctrl+klick visar eller döljer skeppstypen +STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Flygplanslista. Klicka på flygplan för information. Ctrl+klick visar eller döljer flygplanstypen STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}Köp fordon STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Köp Fordon @@ -3367,6 +3420,21 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Byt namn STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Byt namn på skeppstyp STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Byt namn på flygplanstyp +STR_BUY_VEHICLE_TRAIN_HIDE_TOGGLE_BUTTON :{BLACK}Dölj +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_TOGGLE_BUTTON :{BLACK}Dölj +STR_BUY_VEHICLE_SHIP_HIDE_TOGGLE_BUTTON :{BLACK}Dölj +STR_BUY_VEHICLE_AIRCRAFT_HIDE_TOGGLE_BUTTON :{BLACK}Dölj + +STR_BUY_VEHICLE_TRAIN_SHOW_TOGGLE_BUTTON :{BLACK}Visa +STR_BUY_VEHICLE_ROAD_VEHICLE_SHOW_TOGGLE_BUTTON :{BLACK}Visa +STR_BUY_VEHICLE_SHIP_SHOW_TOGGLE_BUTTON :{BLACK}Visa +STR_BUY_VEHICLE_AIRCRAFT_SHOW_TOGGLE_BUTTON :{BLACK}Visa + +STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Växla mellan att dölja och visa lok- och vagntyp +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Växla mellan att dölja och visa fordonstyp +STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Växla mellan att dölja och visa fartygstyp +STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Växla mellan att dölja och visa flygfarkoststyp + STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}Byt namn på tågets fordonstyp STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}Byt namn på vägfordonstyp STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}Byt namn på skeppstyp @@ -3471,6 +3539,11 @@ STR_REPLACE_VEHICLE_ROAD_VEHICLE :Vägfordon STR_REPLACE_VEHICLE_SHIP :Skepp STR_REPLACE_VEHICLE_AIRCRAFT :Flygplan +STR_REPLACE_VEHICLE_VEHICLES_IN_USE :{YELLOW}Fordon i bruk +STR_REPLACE_VEHICLE_VEHICLES_IN_USE_TOOLTIP :{BLACK}Kolumn med fordon du äger +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES :{YELLOW}Tillgängliga fordon +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES_TOOLTIP :{BLACK}Kolumn med fordon tillgängliga för att bytas ut + STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Välj fordonstyp att byta ut STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Välj den nya fordonstyp du vill använda i stället för den till vänster valda typen @@ -3595,7 +3668,7 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Kapacite STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK} Överför kredit: {LTBLUE}{CURRENCY_LONG} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Serviceintervall: {LTBLUE}{COMMA}dagar{BLACK} Senaste service: {LTBLUE}{DATE_LONG} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Serviceintervall: {LTBLUE}{COMMA}{NBSP}dagar{BLACK} Senaste service: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Serviceintervall: {LTBLUE}{COMMA}%{BLACK} Senaste service: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Öka serviceintervall med 10. Ctrl+klick ökar serviceintervall med 5 STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Minska serviceintervall med 10. Ctrl+klick minskar servinceintervall med 5 @@ -3693,8 +3766,8 @@ STR_ORDER_TOOLTIP_UNLOAD :{BLACK}Ändra a STR_ORDER_REFIT :{BLACK}Anpassa STR_ORDER_REFIT_TOOLTIP :{BLACK}Välj vilken godstyp anpassningen ska göras i denna order. Ctrl-klick för att ta bort anpassningsordern -STR_ORDER_REFIT_AUTO :{BLACK}Auto-anpassning -STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Välj vilket lasttyp att auto-anpassa till i den här ordern. Ctrl+klicka för att ta bort anpassningsinstruktionen. Auto-anpassning kommer enbart att utföras om fordonet tillåter det +STR_ORDER_REFIT_AUTO :{BLACK}Auto-anpassning vid station +STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Välj vilket lasttyp att auto-anpassa till i den här ordningen. Ctrl+klicka för att ta bort anpassningsinstruktionen. Auto-anpassning vid stationer kommer enbart att utföras om fordonet tillåter det STR_ORDER_DROP_REFIT_AUTO :Fast lasttyp STR_ORDER_DROP_REFIT_AUTO_ANY :Tillgängliga lasttyper @@ -3822,13 +3895,17 @@ STR_TIMETABLE_TOOLTIP :{BLACK}Tidtabel STR_TIMETABLE_NO_TRAVEL :Ingen resa STR_TIMETABLE_NOT_TIMETABLEABLE :Restid (automatisk; tidtabellen baseras på nästa manuella order) STR_TIMETABLE_TRAVEL_NOT_TIMETABLED :Restid (inte angiven) -STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Res högst i {2:VELOCITY} (not timetabled) +STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Res (utan tidtabell) högst i {2:VELOCITY} STR_TIMETABLE_TRAVEL_FOR :Res i {STRING} STR_TIMETABLE_TRAVEL_FOR_SPEED :Res i {STRING} med högsta hastighet {VELOCITY} +STR_TIMETABLE_TRAVEL_FOR_ESTIMATED :Resor (för {STRING}, ej schemalagd) +STR_TIMETABLE_TRAVEL_FOR_SPEED_ESTIMATED :Resor (för {STRING}, ej schemalagd) med högst {VELOCITY} +STR_TIMETABLE_STAY_FOR_ESTIMATED :(stanna {STRING}, ej schemalagd) +STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(resor för {STRING}, ej schemalagd) STR_TIMETABLE_STAY_FOR :och stanna i {STRING} STR_TIMETABLE_AND_TRAVEL_FOR :och res i {STRING} -STR_TIMETABLE_DAYS :{COMMA} dag{P "" ar} -STR_TIMETABLE_TICKS :{COMMA} tick{P "" s} +STR_TIMETABLE_DAYS :{COMMA}{NBSP}dag{P "" ar} +STR_TIMETABLE_TICKS :{COMMA}{NBSP}tick{P "" s} STR_TIMETABLE_TOTAL_TIME :{BLACK}Den här tidtabellen kommer ta {STRING} att slutföra STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}Denna tidtabell kommer att ta åtminstonde {STRING} att slutföra (allt är inte inlagt i en tidtabell) @@ -4066,6 +4143,7 @@ STR_ERROR_EXCAVATION_WOULD_DAMAGE :{WHITE}Utgrävn STR_ERROR_ALREADY_AT_SEA_LEVEL :{WHITE}Redan på havsnivå STR_ERROR_TOO_HIGH :{WHITE}För hög STR_ERROR_ALREADY_LEVELLED :{WHITE}... redan platt +STR_ERROR_BRIDGE_TOO_HIGH_AFTER_LOWER_LAND :{WHITE}Efteråt skulle bron ovanför vara för hög. # Company related errors STR_ERROR_CAN_T_CHANGE_COMPANY_NAME :{WHITE}Kan inte ändra företagsnamn... @@ -4092,7 +4170,7 @@ STR_ERROR_TOO_CLOSE_TO_EDGE_OF_MAP_SUB :{WHITE}... för STR_ERROR_TOO_CLOSE_TO_ANOTHER_TOWN :{WHITE}... för nära en annan stad STR_ERROR_TOO_MANY_TOWNS :{WHITE}... för många städer STR_ERROR_NO_SPACE_FOR_TOWN :{WHITE}... det finns ingen plats kvar på kartan -STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}Staden kommer inte bygga vägar. Du kan tillåta att staden bygger vägar via Avancerade Inställningar -> Ekonomi -> Städer +STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}Staden kommer inte bygga vägar. Du kan tillåta att staden bygger vägar via Inställningar->Miljö->Städer STR_ERROR_ROAD_WORKS_IN_PROGRESS :{WHITE}Vägarbete pågår STR_ERROR_TOWN_CAN_T_DELETE :{WHITE}Kan inte ta bort den här staden...{}En station eller depå refererar till staden eller så kan inte en stadsägd ruta tas bort. STR_ERROR_STATUE_NO_SUITABLE_PLACE :{WHITE}... det finns ingen lämplig plats för en staty i stadens centrum @@ -4116,6 +4194,9 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... skog STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... kan endast byggas ovanför snögränsen STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... kan endast byggas nedanför snögränsen +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}Det fanns inga lämpliga platser för '{STRING}'-industrier +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Ändra parametrarna för kartgenereringen för att skapa en bättre karta + # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Kan inte bygga järnvägsstation här... STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}Kan inte bygga busshållplats... @@ -4252,6 +4333,7 @@ STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Måste r STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}Kan inte börja och sluta på samma plats STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}Broändar ej på samma höjd STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}Bro är för låg för terrängen +STR_ERROR_BRIDGE_TOO_HIGH_FOR_TERRAIN :{WHITE}Bro är för hög för denna terräng. STR_ERROR_START_AND_END_MUST_BE_IN :{WHITE}Start- och slutpunkt måste ligga i linje STR_ERROR_ENDS_OF_BRIDGE_MUST_BOTH :{WHITE}... brons båda ändar måste vara på land STR_ERROR_BRIDGE_TOO_LONG :{WHITE}... för lång bro @@ -4278,6 +4360,7 @@ STR_ERROR_YOU_ALREADY_OWN_IT :{WHITE}... du STR_ERROR_GROUP_CAN_T_CREATE :{WHITE}Kan inte skapa grupp... STR_ERROR_GROUP_CAN_T_DELETE :{WHITE}Kan inte ta bort denna grupp... STR_ERROR_GROUP_CAN_T_RENAME :{WHITE}Kan inte döpa om grupp... +STR_ERROR_GROUP_CAN_T_SET_PARENT :{WHITE}Kan inte ställa föräldragrupp ... STR_ERROR_GROUP_CAN_T_REMOVE_ALL_VEHICLES :{WHITE}Kan inte ta bort alla fordon i denna grupp... STR_ERROR_GROUP_CAN_T_ADD_VEHICLE :{WHITE}Kan inte lägga till fordon i denna grupp... STR_ERROR_GROUP_CAN_T_ADD_SHARED_VEHICLE :{WHITE}Kan inte lägga till delade fordon i denna grupp... @@ -4815,6 +4898,7 @@ STR_COMPANY_NAME :{COMPANY} STR_COMPANY_NAME_COMPANY_NUM :{COMPANY} {COMPANY_NUM} STR_DEPOT_NAME :{DEPOT} STR_ENGINE_NAME :{ENGINE} +STR_HIDDEN_ENGINE_NAME :{ENGINE} (dold) STR_GROUP_NAME :{GROUP} STR_INDUSTRY_NAME :{INDUSTRY} STR_PRESIDENT_NAME :{PRESIDENT_NAME} @@ -4850,8 +4934,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -4862,9 +4944,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/tamil.txt b/src/lang/tamil.txt index ab4509e5bb..4d9e07efb0 100644 --- a/src/lang/tamil.txt +++ b/src/lang/tamil.txt @@ -95,9 +95,9 @@ STR_CARGO_SINGULAR_FIZZY_DRINK :குளிர # Quantity of cargo STR_QUANTITY_NOTHING : -STR_QUANTITY_PASSENGERS :{COMMA} பயணி{P "" கள்} +STR_QUANTITY_PASSENGERS :{COMMA}{NBSP} பயணி{P "" கள்} STR_QUANTITY_COAL :{WEIGHT_LONG} நிலக்கரி -STR_QUANTITY_MAIL :{COMMA} அஞ்சல் பை{P "" கள்} +STR_QUANTITY_MAIL :{COMMA}{NBSP} அஞ்சல் பை{P "" கள்} STR_QUANTITY_OIL :{VOLUME_LONG} எண்ணெய் STR_QUANTITY_LIVESTOCK :{COMMA} கால்நடை{P "" கள்} STR_QUANTITY_GOODS :{COMMA} சரக்குப் பெட்டி{P "" கள்} @@ -169,8 +169,8 @@ STR_PASSENGERS :{COMMA} பய STR_BAGS :{COMMA} பை{P "" கள்} STR_TONS :{COMMA} டன்{P "" கள்} STR_LITERS :{COMMA} லிட்டர்{P "" கள்} -STR_ITEMS :{COMMA} பொருட்கள்{P "" s} -STR_CRATES :{COMMA} பெட்டி{P "" கள்} +STR_ITEMS :{COMMA}{NBSP}பொருள்{P "" "பொருட்கள்"} +STR_CRATES :{COMMA}{NBSP}பெட்டி{P "" கள்} # Colours, do not shuffle STR_COLOUR_DARK_BLUE :கருநீலம் @@ -191,37 +191,37 @@ STR_COLOUR_GREY :சாம்ப STR_COLOUR_WHITE :வெள்ளை # Units used in OpenTTD -STR_UNITS_VELOCITY_IMPERIAL :{COMMA} mph -STR_UNITS_VELOCITY_METRIC :{COMMA} km/h -STR_UNITS_VELOCITY_SI :{COMMA} m/s +STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}mph +STR_UNITS_VELOCITY_METRIC :{COMMA}{NBSP}km/h +STR_UNITS_VELOCITY_SI :{COMMA}{NBSP}m/s -STR_UNITS_POWER_IMPERIAL :{COMMA}hp -STR_UNITS_POWER_METRIC :{COMMA}hp -STR_UNITS_POWER_SI :{COMMA}kW +STR_UNITS_POWER_IMPERIAL :{COMMA}{NBSP}hp +STR_UNITS_POWER_METRIC :{COMMA}{NBSP}hp +STR_UNITS_POWER_SI :{COMMA}{NBSP}kW -STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}டன் -STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}t -STR_UNITS_WEIGHT_SHORT_SI :{COMMA}kg +STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}{NBSP}டன் +STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}{NBSP}டன் +STR_UNITS_WEIGHT_SHORT_SI :{COMMA}{NBSP}கி.கி. -STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA} டன்{P "" கள்} -STR_UNITS_WEIGHT_LONG_METRIC :{COMMA} டன்{P "" கள்} -STR_UNITS_WEIGHT_LONG_SI :{COMMA} கிலோ +STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA}{NBSP}டன்{P "" கள்} +STR_UNITS_WEIGHT_LONG_METRIC :{COMMA}{NBSP}டன்{P "" கள்} +STR_UNITS_WEIGHT_LONG_SI :{COMMA}{NBSP}கி.கி. -STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}கேலன் -STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}l -STR_UNITS_VOLUME_SHORT_SI :{COMMA}m³ +STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}{NBSP}கேலன் +STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}{NBSP}லி +STR_UNITS_VOLUME_SHORT_SI :{COMMA}{NBSP}மீ³ -STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA} கேலன்{P "" கள்} -STR_UNITS_VOLUME_LONG_METRIC :{COMMA} லிட்டர்{P "" கள்} -STR_UNITS_VOLUME_LONG_SI :{COMMA} m³ +STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA}{NBSP}கேலன்{P "" கள்} +STR_UNITS_VOLUME_LONG_METRIC :{COMMA}{NBSP}லிட்டர்{P "" கள்} +STR_UNITS_VOLUME_LONG_SI :{COMMA}{NBSP}மீ³ -STR_UNITS_FORCE_IMPERIAL :{COMMA} lbf -STR_UNITS_FORCE_METRIC :{COMMA} kgf -STR_UNITS_FORCE_SI :{COMMA} kN +STR_UNITS_FORCE_IMPERIAL :{COMMA}{NBSP}lbf +STR_UNITS_FORCE_METRIC :{COMMA}{NBSP}kgf +STR_UNITS_FORCE_SI :{COMMA}{NBSP}kN -STR_UNITS_HEIGHT_IMPERIAL :{COMMA} அடி -STR_UNITS_HEIGHT_METRIC :{COMMA} மீ -STR_UNITS_HEIGHT_SI :{COMMA} m +STR_UNITS_HEIGHT_IMPERIAL :{COMMA}{NBSP}அடி +STR_UNITS_HEIGHT_METRIC :{COMMA}{NBSP}மீ +STR_UNITS_HEIGHT_SI :{COMMA}{NBSP}மீ # Common window strings STR_LIST_FILTER_TITLE :{BLACK}வடிகட்டி தொடர்: @@ -247,6 +247,13 @@ STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Scroll b STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Scroll bar - scrolls list left/right STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}சதுர நிலப்பகுதியில் கட்டிடம் போன்றவற்றை இடிக்க. Ctrl தேர்வுசெய்திட. Shift உத்தேச செலவை/கட்டிடத்தை காட்டிட +# Show engines button +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}மறைந்திருப்பதை காட்டு +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK}மறைந்திருப்பதை காட்டு +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}மறைந்திருப்பதை காட்டு +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}மறைந்திருப்பதை காட்டு + + # Query window STR_BUTTON_DEFAULT :{BLACK}Default STR_BUTTON_CANCEL :{BLACK}தவிர் @@ -360,7 +367,7 @@ STR_SCENEDIT_FILE_MENU_QUIT :வெளிய ############ range for settings menu starts STR_SETTINGS_MENU_GAME_OPTIONS :விளையாட்டு விருப்ப பேரம் -STR_SETTINGS_MENU_CONFIG_SETTINGS :அமைப்புகள் +STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :அமைப்புகள் STR_SETTINGS_MENU_SCRIPT_SETTINGS :AI / ஆட்ட அமைப்புகள் STR_SETTINGS_MENU_NEWGRF_SETTINGS :NewGRF அமைப்புகள் STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :ஒளி அமைப்புகள் @@ -386,6 +393,7 @@ STR_FILE_MENU_EXIT :வெளிய # map menu STR_MAP_MENU_MAP_OF_WORLD :உலகப் படம் STR_MAP_MENU_EXTRA_VIEW_PORT :கூடுதல் பார்வைபடம் +STR_MAP_MENU_LINGRAPH_LEGEND :சரக்கு செல்லும் வழிப் படம் STR_MAP_MENU_SIGN_LIST :குறிகளின் பட்டியல் ############ range for town menu starts @@ -468,7 +476,7 @@ STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :எல்லை STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :அழுக்கான கட்டங்களின் நிறத்தை மாற்று ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window STR_ORDINAL_NUMBER_1ST :1st STR_ORDINAL_NUMBER_2ND :2nd STR_ORDINAL_NUMBER_3RD :3rd @@ -484,22 +492,40 @@ STR_ORDINAL_NUMBER_12TH :12வது STR_ORDINAL_NUMBER_13TH :13வது STR_ORDINAL_NUMBER_14TH :14வது STR_ORDINAL_NUMBER_15TH :15வது -STR_ORDINAL_NUMBER_16TH :16வது -STR_ORDINAL_NUMBER_17TH :17வது -STR_ORDINAL_NUMBER_18TH :18வது -STR_ORDINAL_NUMBER_19TH :19வது -STR_ORDINAL_NUMBER_20TH :20வது -STR_ORDINAL_NUMBER_21ST :21வது -STR_ORDINAL_NUMBER_22ND :22வது -STR_ORDINAL_NUMBER_23RD :23வது -STR_ORDINAL_NUMBER_24TH :24வது -STR_ORDINAL_NUMBER_25TH :25வது -STR_ORDINAL_NUMBER_26TH :26வது -STR_ORDINAL_NUMBER_27TH :27வது -STR_ORDINAL_NUMBER_28TH :28வது -STR_ORDINAL_NUMBER_29TH :29வது -STR_ORDINAL_NUMBER_30TH :30வது -STR_ORDINAL_NUMBER_31ST :31வது +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :1st +STR_DAY_NUMBER_2ND :2nd +STR_DAY_NUMBER_3RD :3rd +STR_DAY_NUMBER_4TH :4th +STR_DAY_NUMBER_5TH :5வது +STR_DAY_NUMBER_6TH :6வது +STR_DAY_NUMBER_7TH :7வது +STR_DAY_NUMBER_8TH :8வது +STR_DAY_NUMBER_9TH :9வது +STR_DAY_NUMBER_10TH :10வது +STR_DAY_NUMBER_11TH :11வது +STR_DAY_NUMBER_12TH :12வது +STR_DAY_NUMBER_13TH :13வது +STR_DAY_NUMBER_14TH :14வது +STR_DAY_NUMBER_15TH :15வது +STR_DAY_NUMBER_16TH :16வது +STR_DAY_NUMBER_17TH :17வது +STR_DAY_NUMBER_18TH :18வது +STR_DAY_NUMBER_19TH :19வது +STR_DAY_NUMBER_20TH :20வது +STR_DAY_NUMBER_21ST :21வது +STR_DAY_NUMBER_22ND :22வது +STR_DAY_NUMBER_23RD :23வது +STR_DAY_NUMBER_24TH :24வது +STR_DAY_NUMBER_25TH :25வது +STR_DAY_NUMBER_26TH :26வது +STR_DAY_NUMBER_27TH :27வது +STR_DAY_NUMBER_28TH :28வது +STR_DAY_NUMBER_29TH :29வது +STR_DAY_NUMBER_30TH :30வது +STR_DAY_NUMBER_31ST :31வது ############ range for days ends ############ range for months starts @@ -791,13 +817,11 @@ STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}{VEHICLE STR_NEWS_SHIP_IS_WAITING :{WHITE}{VEHICLE} பணிமனையில் காத்துக்கொண்டிருக்கிறது STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE} பணிமனையில் காத்துக்கொண்டிருக்கிறது -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE +# Order review system / warnings STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE} அட்டவனையில் மிக குறைவாக கட்டளைகளைக் கொண்டுள்ளது STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE} பிழையான கட்டளையைக் கொண்டுள்ளது STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE} இரட்டடிப்பு கட்டளைகளைக் கொண்டுள்ளது STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE} பிழையான நிலையத்தினை கட்டளைகளில் கொண்டுள்ளது -# end of order system STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} பழையதாகிறது STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} பழையதாகிறது @@ -869,10 +893,6 @@ STR_GAME_OPTIONS_CURRENCY_ZAR :தென் STR_GAME_OPTIONS_CURRENCY_CUSTOM :புதிதாக... ############ end of currency region - -############ start of measuring units region -############ end of measuring units region - STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}சாலை வாகனங்கள் STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}வாகனங்கள் சாலையின் எந்தப்பக்கத்தில் செல்ல வேண்டும் STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :இடப்பக்கம் ஒட்டு @@ -907,11 +927,13 @@ STR_GAME_OPTIONS_TOWN_NAME_CATALAN :கடலன் STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}தானாக சேமி +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Off STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :ஒவ்வொரு மாதமும் STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :மூன்று மாதங்களுக்கு ஒரு முறை STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :ஆறு மாதங்களுக்கு ஒரு முறை STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :ஒவ்வொரு வருடமும் +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}மொழி STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}பயன்படுத்தப்போகும் மொழியினை தேர்ந்தெடு @@ -922,7 +944,10 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}தி STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}திரை அளவினைத் தேர்ந்தெடுக்கவும் STR_GAME_OPTIONS_RESOLUTION_OTHER :மற்றவை -STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}திரைப்பிடிப்பு ஃபார்மேட் + +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :சராசரி +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :இரண்டு மடங்கு +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :நான்கு மடங்கு STR_GAME_OPTIONS_BASE_GRF :{BLACK}அடிப்படை அசைவூட்டம் STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}பயன்படுத்தப்போகும் அடிப்படை அசைவூட்டத்தினை தேர்ந்தெடுக்கவும் @@ -1015,14 +1040,15 @@ STR_TERRAIN_TYPE_VERY_FLAT :மிகவு STR_TERRAIN_TYPE_FLAT :சமமான STR_TERRAIN_TYPE_HILLY :உயர்ந்து STR_TERRAIN_TYPE_MOUNTAINOUS :மலைகளாக +STR_TERRAIN_TYPE_ALPINIST :அல்பைனிசிட்டு STR_CITY_APPROVAL_PERMISSIVE :அனுமதிதரும் STR_CITY_APPROVAL_TOLERANT :பொறுத்துக்கொள்ளும் STR_CITY_APPROVAL_HOSTILE :அனுமதிக்காது -# Advanced settings window -STR_CONFIG_SETTING_CAPTION :{WHITE}சிறப்பு அமைப்புகள் +# Settings tree window +STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}அமைப்புகள் STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}வடிகட்டி: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}அனைத்தையும் விரிவாக்கு STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}அனைத்தையும் மூடு @@ -1037,7 +1063,7 @@ STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :நிறுவ STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK}பகுப்பு: STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}வகை: -STR_CONFIG_SETTING_RESTRICT_BASIC :அடிப்படை அமைப்புகள் +STR_CONFIG_SETTING_RESTRICT_BASIC :அடிப்படை அமைப்புகளை மட்டுமே காட்டு STR_CONFIG_SETTING_RESTRICT_ADVANCED :சிறப்பு அமைப்புகள் STR_CONFIG_SETTING_RESTRICT_ALL :அதிக / அனைத்து அமைப்புகள் STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :முதலில் இருந்த மதிப்பினை மாற்றம் செய்யப்பட்ட அமைப்புகள் @@ -1086,7 +1112,8 @@ STR_CONFIG_SETTING_TRAIN_REVERSING :நிலைய STR_CONFIG_SETTING_DISASTERS :பேரழிவுகள்: {STRING} STR_CONFIG_SETTING_CITY_APPROVAL :நகர மறு அமைப்பின் மீது நகராட்சியின் நிலை: {STRING} -STR_CONFIG_SETTING_BUILDONSLOPES :கரைகளிலும் சரிவுகளிலும் கட்ட அனுமதி: {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :அதிகபட்ச வரைபட உயரம்: {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :இந்த வரைபடத்திலுள்ள மலைகளின் அதிகபட்ச உயரத்தினை அமை STR_CONFIG_SETTING_EXTRADYNAMITE :நகரத்தின் சாலைகள், பாலங்கள் மற்றும் சுரங்கங்களை நீக்க அனுமதிக்கவும்: {STRING} STR_CONFIG_SETTING_EXTRADYNAMITE_HELPTEXT :நகராட்சியின் கட்டடங்கள் நீக்குவதை எளிதாக்கவும் STR_CONFIG_SETTING_TRAIN_LENGTH :இரயில்களின் அதிகபட்ச நீளம்: {STRING} @@ -1101,13 +1128,12 @@ STR_CONFIG_SETTING_PERCENTAGE :{COMMA}% STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS :சாலை வாகங்களின் மலையேறுதல் வேகத்தடை: {STRING} STR_CONFIG_SETTING_FORBID_90_DEG :இரயில் மற்றும் கப்பல்களை 90° வளைவுகள் எடுப்பதை அனுமதிக்காதே: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :நேரடியாக இணைக்கப்படாத நிலையங்களை இணைக்க அனுமதி: {STRING} -STR_CONFIG_SETTING_IMPROVEDLOAD :புதிய சீரமைக்கப்பட்ட சரக்கேற்றுதலினைப் பயன்படுத்தவும்: {STRING} -STR_CONFIG_SETTING_GRADUAL_LOADING :பொறுமையாக வாகனங்களை ஏற்று: {STRING} STR_CONFIG_SETTING_INFLATION :விலைவாசி ஏற்றம்: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :பண வீக்கத்தினை செயல்படுத்து, இதனால் செலவுகள் வளர்ச்சி வரவுகளின் வளர்ச்சியைவிட அதிகமாகும் -STR_CONFIG_SETTING_SELECTGOODS :தேவை இருந்தால் மட்டுமே அச்சரக்குகளை நிலையத்தில் இறக்கு: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :அதிகபட்ச பால நீளம்: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :கட்டப்படும் பாலங்களின் அதிகபட்ச நீளம் +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :பாலத்தின் அதிகபட்ச உயரம்: {STRING} +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :பாலம் கட்டுவதற்கான அதிகபட்ச உயரம் STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :அதிகபட்ச சுரங்க நீளம்: {STRING} STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :கட்டப்படும் சுரங்கங்களின் அதிகபட்ச நீளம் STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :மனித அடிப்படை தொழிற்சாலை கட்டுமான வழி: {STRING} @@ -1127,7 +1153,6 @@ STR_CONFIG_SETTING_STOP_LOCATION :பிளாட STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :அருகே உள்ள முடிவில் STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :நடு STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :தொலைவில் உள்ள முடிவில் -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING :சாலை வாகன வரிசைப்படுத்துதல் (with quantum effects): {STRING} STR_CONFIG_SETTING_AUTOSCROLL :ஒட்டில் எலி இருக்கும்பொழுது திரையினை நகர்த்தவும் : {STRING} STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :செயலிழக்க செய்யப்பட்டது STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT_FULLSCREEN :முக்கிய திரைபார்வை, முழுத்திரையில் மட்டும் @@ -1148,9 +1173,6 @@ STR_CONFIG_SETTING_PLANE_CRASHES_NONE :ஒன்று STR_CONFIG_SETTING_PLANE_CRASHES_REDUCED :குறைக்கப்பட்ட STR_CONFIG_SETTING_PLANE_CRASHES_NORMAL :இயல்பான STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :வழிசெல்லக்கூடிய சாலை நிறுத்தங்களை நகராட்சியின் சாலைகளில் அமைக்க அனுமதி: {STRING} -STR_CONFIG_SETTING_ADJACENT_STATIONS :நிலையங்களை ஒட்டி கட்ட அனுமதி: {STRING} -STR_CONFIG_SETTING_ADJACENT_STATIONS_HELPTEXT :வெவ்வேறு நிலையங்கள் ஒட்டி கட்டுவதற்கு அனுமதிக்கவும் -STR_CONFIG_SETTING_DYNAMIC_ENGINES :பல்வேறு NewGRF பொறிகளை செயற்படுத்தவும்: {STRING} STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}வாகனங்கள் இருக்கும் பொது இந்த அமைப்பினை மாற்ற இயலாது STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :கட்டட பராமரிப்பு: {STRING} @@ -1172,7 +1194,7 @@ STR_CONFIG_SETTING_AUTORENEW_MONEY :காலாவ STR_CONFIG_SETTING_ERRMSG_DURATION :பிழை செய்திக்கான கால அளவு: {STRING} STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{COMMA} விநாடி{P 0 "" கள்} STR_CONFIG_SETTING_HOVER_DELAY :tooltips இனை காட்டு: {STRING} -STR_CONFIG_SETTING_HOVER_DELAY_VALUE :காட்டவும் {COMMA} விநாடி{P 0 "" கள்} +STR_CONFIG_SETTING_HOVER_DELAY_VALUE :{COMMA} விநாடி{P 0 "" கள்} காட்டவும் STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :வலது சொடுக்கு STR_CONFIG_SETTING_POPULATION_IN_LABEL :நகரத்தின் மக்கள்த் தொகையினை அதன் பெயருடன் காட்டு: {STRING} STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :நகரத்தின் மக்கள்தொகையினை வரைபடத்தில் காட்டவும் @@ -1197,8 +1219,6 @@ STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :உயர்ப STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :வலமிருந்து இடமாக செல் STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :இடமிலிருந்து வலஞ்செல் STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :சமமான சித்திரக்காட்சியின் உயர அளவு: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :வரைபட எல்லைகளில் நில மாற்றங்களை செயற்படுத்தவும்: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES_HELPTEXT :முடக்கப்பட்டால், வரைபடத்தின் எல்லைகள் கடலாகவே இருக்கும் STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}வடதுருவத்தில் ஒன்று அல்லது அதற்கு மேற்பட்ட கட்டங்கள் காலியாக இல்லை STR_CONFIG_SETTING_STATION_SPREAD :அதிக. நிலைய விரிப்பு: {STRING} @@ -1230,13 +1250,13 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_CONTROL :Ctrl+Click STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :அணை + STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :{STRING} தேதி வகையினை பதிவுஆட்டங்கள் பெயர்களுக்கு பயன்படுத்தவும் STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :பதிவு ஆட்டங்கள் கோப்புப் பெயர்களில் உள்ள தேதி வகையினை அமை STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :நீளமான (31 திசம்பர் 2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :சுருக்கமான (31-12-2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31) - STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :புதிய ஆட்டத்தினை தொடங்கும்போது தானாக நிறுத்தவும்: {STRING} STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :ஆட்டம் நிருத்தபட்டிருக்கம்போது அனுமதிக்கவும்: {STRING} STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_HELPTEXT :ஆட்டம் நிறுத்தப்பட்டிருக்கும்போது செய்யக்கூடிய செயல்களைத் தேர்ந்தெடுக்கவும் @@ -1293,7 +1313,7 @@ STR_CONFIG_SETTING_AI_PROFILE_HARD :கடுமை STR_CONFIG_SETTING_SERVINT_ISPERCENT :பழுதுபார்த்தல்கள் இடையே உள்ள காலத்தினை சதவிகிதத்தில் காட்டவும்: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS :இரயிகளின் பழுதுபார்த்தல் இடைவேளி: {STRING} -STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA} நாள்{P "நாள்" நாட்கள்}/% +STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}நாள்{P "நாள்" நாட்கள்}/% STR_CONFIG_SETTING_SERVINT_DISABLED :செயலிழக்க செய்யப்பட்டது STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES :சாலை வாகனங்களின் பழுதுபார்த்தல் இடைவேளி: {STRING} STR_CONFIG_SETTING_SERVINT_AIRCRAFT :விமாங்களின் பழுதுபார்த்தல் இடைவேளி: {STRING} @@ -1426,26 +1446,16 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :இம்பீ STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :மெட்ரிக் (மீ) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :SI (மீ) -STR_CONFIG_SETTING_GUI :{ORANGE}Interface -STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}கட்டுமானம் -STR_CONFIG_SETTING_VEHICLES :{ORANGE}வாகனங்கள் -STR_CONFIG_SETTING_STATIONS :{ORANGE}நிலையங்கள் -STR_CONFIG_SETTING_ECONOMY :{ORANGE}பொருளாதாரம் -STR_CONFIG_SETTING_LINKGRAPH :{ORANGE}சரக்கு பரிமாற்றம் -STR_CONFIG_SETTING_AI :{ORANGE}போட்டியாளர்கள் -STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}திரை அமைப்புகள் -STR_CONFIG_SETTING_INTERACTION :{ORANGE}Interaction STR_CONFIG_SETTING_SOUND :{ORANGE}ஒலிகள் -STR_CONFIG_SETTING_NEWS :{ORANGE}செய்திகள் மற்றும் தகவல்கள் -STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}சிக்னல்கள் -STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE}சரக்கு பரிமாற்றம் -STR_CONFIG_SETTING_AI_NPC :{ORANGE}கணினி வீரர்கள் -STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE}தானியங்கி புதுப்பித்தல் -STR_CONFIG_SETTING_VEHICLES_SERVICING :{ORANGE}பராமரிப்பு +STR_CONFIG_SETTING_INTERFACE :{ORANGE}Interface +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}கட்டுமானம் +STR_CONFIG_SETTING_VEHICLES :{ORANGE}வாகனங்கள் STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}வழி மாற்றல் -STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}இரயில் வண்டிகள் -STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}நகரங்கள் -STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}தொழிற்சாலைகள் +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}நகரங்கள் +STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}தொழிற்சாலைகள் +STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :{ORANGE}சரக்கு பரிமாற்றம் +STR_CONFIG_SETTING_AI :{ORANGE}போட்டியாளர்கள் +STR_CONFIG_SETTING_AI_NPC :{ORANGE}கணினி வீரர்கள் STR_CONFIG_SETTING_PATHFINDER_OPF :அசல் STR_CONFIG_SETTING_PATHFINDER_NPF :NPF @@ -1486,7 +1496,7 @@ STR_INTRO_SCENARIO_EDITOR :{BLACK}சி STR_INTRO_GAME_OPTIONS :{BLACK}ஆட்டத்தின் அமைப்புகள் STR_INTRO_HIGHSCORE :{BLACK}புள்ளிகள் பட்டியல் -STR_INTRO_ADVANCED_SETTINGS :{BLACK}அமைப்புகள் +STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}அமைப்புகள் STR_INTRO_NEWGRF_SETTINGS :{BLACK}NewGRF அமைப்புகள் STR_INTRO_ONLINE_CONTENT :{BLACK}கோப்புகளை இணையதளத்தில் தேடு STR_INTRO_SCRIPT_SETTINGS :{BLACK}AI / ஆட்டம் அமைப்புகள் @@ -1502,7 +1512,7 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}'பொ STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}ஆட்டம் அமைப்புகளைக் காட்டு STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}புள்ளிகள் பட்டியலினைக் காட்டவும் -STR_INTRO_TOOLTIP_ADVANCED_SETTINGS :{BLACK}சிறப்பு அமைப்புகளைக் காட்டு +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}திரை அமைப்புகள் STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}NewGRF அமைப்புகளைக் காட்டு STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}AI/வரிவடிவங்கள் அமைப்புகளைக் காட்டு STR_INTRO_TOOLTIP_QUIT :{BLACK} 'OpenTTD'ஐ விட்டு வெளியேறு @@ -1538,6 +1548,8 @@ STR_CHEAT_CHANGE_COMPANY :{LTBLUE}இந STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}அதிசய நிலச்சமனி (தொழிற்சாலைகள் மற்றும் பொருட்களை நீக்குவதற்கு): {ORANGE}{STRING} STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}சுரங்கங்கள் ஒன்றுக்கொன்று குறுக்கிடலாம்: {ORANGE}{STRING} STR_CHEAT_NO_JETCRASH :{LTBLUE}சிறிய விமான நிலையங்களில் ஜெட்விமானங்கள் நொறுங்காது: {ORANGE}{STRING} +STR_CHEAT_EDIT_MAX_HL :{LTBLUE}வரைபடத்திலுள்ள மலைகளின் அதிகபட்ச உயரத்தினை மாற்று: {ORANGE}{NUM} +STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}வரைபடத்திலுள்ள மலைகளின் அதிகபட்ச உயரத்தினை மாற்று STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE :மிதமான நிலவெளி STR_CHEAT_SWITCH_CLIMATE_SUB_ARCTIC_LANDSCAPE :வட துருவ நிலவெளி STR_CHEAT_SWITCH_CLIMATE_SUB_TROPICAL_LANDSCAPE :மிதவெப்பமண்டல நிலவெளி @@ -1583,6 +1595,7 @@ STR_LIVERY_FREIGHT_TRAM :சரக்க STR_FACE_CAPTION :{WHITE}முகம் தேர்ந்தெடுத்தல் STR_FACE_CANCEL_TOOLTIP :{BLACK}புதிய முக தேர்ந்தெடுத்தலை இரத்து செய் STR_FACE_OK_TOOLTIP :{BLACK}புதிய முக தேந்தெடுத்தலை ஏற்றுக்கொள் +STR_FACE_RANDOM :{BLACK}ஏதோவொன்று STR_FACE_MALE_BUTTON :{BLACK}ஆண் STR_FACE_MALE_TOOLTIP :{BLACK}ஆண் முகங்களை தேர்ந்தெடு @@ -2352,7 +2365,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-2014 OpenTTD குழுமம் +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 OpenTTD குழுமம் # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}ஆட்டத்தை பதிவு செய் @@ -2383,11 +2396,12 @@ STR_MAPGEN_BY :{BLACK}* STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}நகரங்களின் எண்ணிக்கை: STR_MAPGEN_DATE :{BLACK}தேதி: STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}தொழிற்சாலைகளின் எண்ணிக்கை: +STR_MAPGEN_MAX_HEIGHTLEVEL :{BLACK}அதிகபட்ச வரைபட உயரம்: +STR_MAPGEN_MAX_HEIGHTLEVEL_UP :{BLACK}வரைபடத்திலுள்ள மலைகளின் அதிகபட்ச உயரத்தினை ஒரு அலகு உயர்த்து +STR_MAPGEN_MAX_HEIGHTLEVEL_DOWN :{BLACK}வரைபடத்திலுள்ள மலைகளின் அதிகபட்ச உயரத்தினை ஒரு அலகு குறை STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}பனிக் கோடின் உயரம்: STR_MAPGEN_SNOW_LINE_UP :{BLACK}பனி கோடின் உயரத்தை ஒரு அடி உயர்த்து STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}பனி கோடின் உயரத்தை ஒரு அடி இறக்கு -STR_MAPGEN_RANDOM_SEED :{BLACK}ஏதோவொன்று: -STR_MAPGEN_RANDOM :{BLACK}ஏதோவொன்று STR_MAPGEN_LAND_GENERATOR :{BLACK}பூமி உருவாக்குனர்: STR_MAPGEN_TREE_PLACER :{BLACK}மரம் நடுதல்: STR_MAPGEN_TERRAIN_TYPE :{BLACK}நிலவகை: @@ -2413,6 +2427,7 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}உய STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}அளவு: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} +STR_MAPGEN_MAX_HEIGHTLEVEL_QUERY_CAPT :{WHITE}வரைபடத்தின் அதிகபட்ச உயரத்தினை மாற்று STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}பனிக் கோடின் உயரத்தினை மாற்று STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}தொடங்கும் வருடத்தினை மாற்று @@ -2489,6 +2504,8 @@ STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}பொர STR_NEWGRF_SETTINGS_DISABLED :{RED}செயலிழக்க செய்யப்பட்டது STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}இந்த OpenTTD பதிப்புடன் பயன்படுத்த இயலாது +# NewGRF save preset window + # NewGRF parameters window STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}NewGRF குணாதிசயங்களை மாற்று STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}மூடு @@ -2512,7 +2529,6 @@ STR_SPRITE_ALIGNER_CAPTION :{WHITE}ஸ் STR_SPRITE_ALIGNER_NEXT_BUTTON :{BLACK}அடுத்த ஸ்பிரைட்டு STR_SPRITE_ALIGNER_GOTO_BUTTON :{BLACK}ஸ்பிரைட்டுயிற்கு செல்லவும் STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}முந்தைய ஸ்பிரைட்டு -STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X offset: {NUM}, Y offset: {NUM} STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}ஸ்பிரைட்டினைத் தேர்ந்தெடுக்கவும் STR_SPRITE_ALIGNER_GOTO_CAPTION :{WHITE}ஸ்பிரைட்டிற்கு செல்லவும் @@ -2603,8 +2619,8 @@ STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} சேர்க்கப்பட்டவை STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (இன்னும் தேவை) STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (சேர்க்கப்பட்டது) -STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}நகரம் ஒவ்வொரு {ORANGE}{COMMA}{BLACK} நாட்களுக்கும் வளர்கிறது -STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}நகரம் ஒவ்வொரு {ORANGE}{COMMA}{BLACK} நாட்களுக்கும் வளர்கிறது (நிதியதவியால்) +STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}நகரம் ஒவ்வொரு {ORANGE}{COMMA}{BLACK}{NBSP}நாட்களுக்கும் வளர்கிறது +STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}நகரம் ஒவ்வொரு {ORANGE}{COMMA}{BLACK}{NBSP}நாட்களுக்கும் வளர்கிறது (நிதியதவியால்) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}நகரம் {RED}வளருவதில்லை{BLACK} STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}நகரத்தில் ஒலி இரைச்சல் அளவு: {ORANGE}{COMMA}{BLACK} அதிகம்: {ORANGE}{COMMA} STR_TOWN_VIEW_LOCAL_AUTHORITY_BUTTON :{BLACK}நகராட்சி @@ -2658,7 +2674,7 @@ STR_GOAL_QUESTION_CAPTION_INFORMATION :தகவல் STR_GOAL_QUESTION_CAPTION_WARNING :எச்சரிக்கை STR_GOAL_QUESTION_CAPTION_ERROR :பிழை -### Start of Goal Question button list +############ Start of Goal Question button list STR_GOAL_QUESTION_BUTTON_CANCEL :இரத்து செய் STR_GOAL_QUESTION_BUTTON_OK :சரி STR_GOAL_QUESTION_BUTTON_NO :இல்லை @@ -2677,6 +2693,7 @@ STR_GOAL_QUESTION_BUTTON_RESTART :மீண்ட STR_GOAL_QUESTION_BUTTON_POSTPONE :தள்ளிவை STR_GOAL_QUESTION_BUTTON_SURRENDER :சரணடை STR_GOAL_QUESTION_BUTTON_CLOSE :மூடு +############ End of Goal Question button list # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}மானியங்கள் @@ -2709,7 +2726,6 @@ STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}எந # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} -STR_STATION_VIEW_WAITING_TITLE :{BLACK}காத்திருக்கிறது: {WHITE}{STRING} STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} {STATION} இலிருந்து வந்துக்கொண்டிருக்கிறது) STR_STATION_VIEW_RESERVED :{YELLOW}({CARGO_SHORT} ஏற்றுவதற்காக ஒதுக்கப்பட்டுள்ளது) @@ -2942,6 +2958,7 @@ STR_GROUP_CREATE_TOOLTIP :{BLACK}ஓர STR_GROUP_DELETE_TOOLTIP :{BLACK}தேர்ந்தெடுக்கப்பட்ட குழுவின் பெயரினை நீக்கவும் STR_GROUP_RENAME_TOOLTIP :{BLACK}தேர்ந்தெடுக்கப்பட்ட குழுவின் பெயரினை மாற்றவும் + STR_GROUP_ADD_SHARED_VEHICLE :பகிர்ந்த வாகனங்களை சேர்க்கவும் STR_GROUP_REMOVE_ALL_VEHICLES :அனைத்து வாகனங்களையும் நீக்கு @@ -3004,6 +3021,9 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}சா STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}கப்பல் வகையின் பெயரினை மாற்றவும் STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}விமான வகையின் பெயரினை மாற்றவும் + + + STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}இரயில் வாகன வகையின் பெயரினை மாற்றவும் STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}சாலை வாகன வகையின் பெயரினை மாற்றவும் STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}கப்பல் வகையின் பெயரினை மாற்றவும் @@ -3098,6 +3118,7 @@ STR_REPLACE_VEHICLE_ROAD_VEHICLE :சாலை STR_REPLACE_VEHICLE_SHIP :கப்பல் STR_REPLACE_VEHICLE_AIRCRAFT :விமானம் + STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}மாற்றியமைக்க பொறி வகையினை தேர்ந்தெடுக்க STR_REPLACE_VEHICLES_START :{BLACK}வாகனங்களை மாற்றுவதை ஆரம்பி @@ -3211,7 +3232,7 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}கொ STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}இடமாற்றம் வரவுகள்: {LTBLUE}{CURRENCY_LONG} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}பராமரிப்புகளுக்கிடையேயான காலம்: {LTBLUE}{COMMA}நாட்கள்{BLACK} கடைசி பராமரிப்பு: {LTBLUE}{DATE_LONG} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}பராமரிப்புகளுக்கிடையேயான காலம்: {LTBLUE}{COMMA}{NBSP}நாட்கள்{BLACK} கடைசி பராமரிப்பு: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}பராமரிப்புகளுக்கிடையேயான காலம்: {LTBLUE}{COMMA}%{BLACK} கடைசி பராமரிப்பு: {LTBLUE}{DATE_LONG} STR_SERVICE_INTERVAL_DROPDOWN_TOOLTIP :{BLACK}பழுதுபார்த்தல் இடைவேளி வகையினை மாற்றவும் @@ -3431,8 +3452,8 @@ STR_TIMETABLE_TRAVEL_FOR :{STRING} கா STR_TIMETABLE_TRAVEL_FOR_SPEED :{STRING} காலத்திற்கு பயணி, அதிகபட்ச வேகம் {VELOCITY} STR_TIMETABLE_STAY_FOR :மற்றும் {STRING} இற்கு நிற்கவும் STR_TIMETABLE_AND_TRAVEL_FOR :மற்றும் {STRING} இற்கு பயணிக்கவும் -STR_TIMETABLE_DAYS :{COMMA} நாள்{P "" கள்} -STR_TIMETABLE_TICKS :{COMMA} நொடி{P "" கள்} +STR_TIMETABLE_DAYS :{COMMA}{NBSP}நாள்{P "" "நாட்கள்"} +STR_TIMETABLE_TICKS :{COMMA}{NBSP}நொடி{P "" கள்} STR_TIMETABLE_TOTAL_TIME :{BLACK}இந்த கால அட்டவணை முடிய {STRING} காலமாகும் STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}இந்த கால அட்டவணை முடிய குரைந்தபட்சம் {STRING} காலமாவது ஆகும்.(ஏனெனில் அனைத்தும் கால அட்டவணைபடவில்லை) @@ -3711,6 +3732,7 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... ப STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... பனி-கோடின் மேலே மட்டுமே கட்ட முடியும் STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... பனி-கோடின் கீழே மட்டுமே கட்ட முடியும் + # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}இங்கே இரயில் நிலையம் கட்ட முடியாது... STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}பேருந்து நிலையத்தினை கட்ட இயலாது... @@ -3847,6 +3869,7 @@ STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}மு STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}ஆரம்பித்த இடத்திலிருந்தே முடியக் கூடாது STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}பாலத்தின் முனைகள் ஒரே உயரத்தில் இல்லை STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}பாலம் மிகவும் உயரம் மிகவும் குறைவாக உள்ளது +STR_ERROR_BRIDGE_TOO_HIGH_FOR_TERRAIN :{WHITE}இந்த நிலப்பரப்பிற்கு இப்பாலம் அதிகமான உயரத்திலுள்ளது. STR_ERROR_START_AND_END_MUST_BE_IN :{WHITE}ஆரம்பம் மற்றும் முடிவு ஒரே கோடில் இருக்க வேண்டும் STR_ERROR_ENDS_OF_BRIDGE_MUST_BOTH :{WHITE}... பாலத்தின் முடிவுகள் இரண்டும் நிலத்திலேயே இருக்க வேண்டும் STR_ERROR_BRIDGE_TOO_LONG :{WHITE}... பாலம் மிக நீளமாக உள்ளது @@ -4410,6 +4433,7 @@ STR_COMPANY_NAME :{COMPANY} STR_COMPANY_NAME_COMPANY_NUM :{COMPANY} {COMPANY_NUM} STR_DEPOT_NAME :{DEPOT} STR_ENGINE_NAME :{ENGINE} +STR_HIDDEN_ENGINE_NAME :{ENGINE} (மறைக்கப்பட்டுள்ளது) STR_GROUP_NAME :{GROUP} STR_INDUSTRY_NAME :{INDUSTRY} STR_PRESIDENT_NAME :{PRESIDENT_NAME} @@ -4445,8 +4469,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -4457,9 +4479,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/thai.txt b/src/lang/thai.txt index 14bcca3098..9b6b2780bd 100644 --- a/src/lang/thai.txt +++ b/src/lang/thai.txt @@ -248,6 +248,9 @@ STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}แถ STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}แถบเลื่อน - ใช้เลื่อนรายการ ซ้าย/ขวา STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}ทำลายสิ่งก่อสร้าง และสิ่งต่างๆ ในพื้นที่ช่องหนึ่ง. กด Ctrl เพื่อเลือกพื้นที่แบบทะแยง. กด Shift เพื่อสลับระหว่างสิ่งปลูกสร้างและแสดงมูลค่า +# Show engines button + + # Query window STR_BUTTON_DEFAULT :{BLACK}ค่าปกติ STR_BUTTON_CANCEL :{BLACK}ยกเลิก @@ -361,7 +364,6 @@ STR_SCENEDIT_FILE_MENU_QUIT :ออก ############ range for settings menu starts STR_SETTINGS_MENU_GAME_OPTIONS :ตัวเลือกเกม -STR_SETTINGS_MENU_CONFIG_SETTINGS :กำหนดค่าขั้นสูง STR_SETTINGS_MENU_SCRIPT_SETTINGS :กำหนดค่าสคริปต์ AI/Game STR_SETTINGS_MENU_NEWGRF_SETTINGS :กำหนดค่า NewGRF STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :แถบเมนูตั้งค่าวัตถุโปร่งใส @@ -470,7 +472,7 @@ STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :เปิด/ STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :เปิด/เปิด สีของ dirty blocks ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window STR_ORDINAL_NUMBER_1ST :วันที่ 1 STR_ORDINAL_NUMBER_2ND :วันที่ 2 STR_ORDINAL_NUMBER_3RD :วันที่ 3 @@ -486,22 +488,40 @@ STR_ORDINAL_NUMBER_12TH :วันที STR_ORDINAL_NUMBER_13TH :วันที่ 13 STR_ORDINAL_NUMBER_14TH :วันที่ 14 STR_ORDINAL_NUMBER_15TH :วันที่ 15 -STR_ORDINAL_NUMBER_16TH :วันที่ 16 -STR_ORDINAL_NUMBER_17TH :วันที่ 17 -STR_ORDINAL_NUMBER_18TH :วันที่ 18 -STR_ORDINAL_NUMBER_19TH :วันที่ 19 -STR_ORDINAL_NUMBER_20TH :วันที่ 20 -STR_ORDINAL_NUMBER_21ST :วันที่ 21 -STR_ORDINAL_NUMBER_22ND :วันที่ 22 -STR_ORDINAL_NUMBER_23RD :วันที่ 23 -STR_ORDINAL_NUMBER_24TH :วันที่ 24 -STR_ORDINAL_NUMBER_25TH :วันที่ 25 -STR_ORDINAL_NUMBER_26TH :วันที่ 26 -STR_ORDINAL_NUMBER_27TH :วันที่ 27 -STR_ORDINAL_NUMBER_28TH :วันที่ 28 -STR_ORDINAL_NUMBER_29TH :วันที่ 29 -STR_ORDINAL_NUMBER_30TH :วันที่ 30 -STR_ORDINAL_NUMBER_31ST :วันที่ 31 +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :วันที่ 1 +STR_DAY_NUMBER_2ND :วันที่ 2 +STR_DAY_NUMBER_3RD :วันที่ 3 +STR_DAY_NUMBER_4TH :วันที่ 4 +STR_DAY_NUMBER_5TH :วันที่ 5 +STR_DAY_NUMBER_6TH :วันที่ 6 +STR_DAY_NUMBER_7TH :วันที่ 7 +STR_DAY_NUMBER_8TH :วันที่ 8 +STR_DAY_NUMBER_9TH :วันที่ 9 +STR_DAY_NUMBER_10TH :วันที่ 10 +STR_DAY_NUMBER_11TH :วันที่ 11 +STR_DAY_NUMBER_12TH :วันที่ 12 +STR_DAY_NUMBER_13TH :วันที่ 13 +STR_DAY_NUMBER_14TH :วันที่ 14 +STR_DAY_NUMBER_15TH :วันที่ 15 +STR_DAY_NUMBER_16TH :วันที่ 16 +STR_DAY_NUMBER_17TH :วันที่ 17 +STR_DAY_NUMBER_18TH :วันที่ 18 +STR_DAY_NUMBER_19TH :วันที่ 19 +STR_DAY_NUMBER_20TH :วันที่ 20 +STR_DAY_NUMBER_21ST :วันที่ 21 +STR_DAY_NUMBER_22ND :วันที่ 22 +STR_DAY_NUMBER_23RD :วันที่ 23 +STR_DAY_NUMBER_24TH :วันที่ 24 +STR_DAY_NUMBER_25TH :วันที่ 25 +STR_DAY_NUMBER_26TH :วันที่ 26 +STR_DAY_NUMBER_27TH :วันที่ 27 +STR_DAY_NUMBER_28TH :วันที่ 28 +STR_DAY_NUMBER_29TH :วันที่ 29 +STR_DAY_NUMBER_30TH :วันที่ 30 +STR_DAY_NUMBER_31ST :วันที่ 31 ############ range for days ends ############ range for months starts @@ -810,13 +830,11 @@ STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}{VEHICLE STR_NEWS_SHIP_IS_WAITING :{WHITE}{VEHICLE} กำลังรออยู่ในอู่ STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE} กำลังรออยู่ในโรงจอด -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE +# Order review system / warnings STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE} มีคำสั่งน้อยเกินไปในกำหนดการเดินทาง STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE} มีคำสั่งว่าง STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE} มีคำสั่งซ้ำซ้อน STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE} มีสถานีที่ใช้ไม่ได้ในคำสั่ง -# end of order system STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} เริ่มเก่าแล้ว STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} เก่ามากแล้ว @@ -899,10 +917,6 @@ STR_GAME_OPTIONS_CURRENCY_GEL :Georgian Lari ( STR_GAME_OPTIONS_CURRENCY_IRR :Iranian Rial (IRR) ############ end of currency region - -############ start of measuring units region -############ end of measuring units region - STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}ยานยนต์ STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}เลือกฝั่งถนนในการขับยานพาหนะ STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :ขับชิดซ้าย @@ -938,11 +952,13 @@ STR_GAME_OPTIONS_TOWN_NAME_CATALAN :คาตาล STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}บันทึกเกมอัตโนมัติ STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}เลือกระยะห่างระหว่างการบันทึกเกมอัตโนมัติแต่ละครั้ง +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :ปิด STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :ทุกๆเดือน STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :ทุก 3 เดือน STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :ทุก 6 เดือน STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :ทุก 12 เดือน +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}ภาษา STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}เลือกภาษาที่จะใช้ @@ -954,8 +970,7 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}คว STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}เลือกความละเอียดของหน้าจอที่จะใช้ STR_GAME_OPTIONS_RESOLUTION_OTHER :อื่นๆ -STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}สกุลไฟล์ของ Screenshot -STR_GAME_OPTIONS_SCREENSHOT_FORMAT_TOOLTIP :{BLACK}เลือกรูปแบบหน้าจอที่จะใช้ + STR_GAME_OPTIONS_BASE_GRF :{BLACK}ตั้งค่า Graphic พื้นฐาน STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}เลือกและตั้งค่าฐานกราฟิกที่จะใช้ @@ -1056,8 +1071,7 @@ STR_CITY_APPROVAL_HOSTILE :ไม่เป STR_WARNING_NO_SUITABLE_AI :{WHITE}ไม่มี AI ที่เหมาะสมปรากฎ...{}คุณสามารถดาวน์โหลด AI จากระบบ 'Online Content' -# Advanced settings window -STR_CONFIG_SETTING_CAPTION :{WHITE}การตั้งค่าขั้นสูง +# Settings tree window STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}เติม string: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}ขยายทั้งหมด STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}ยุบลงทั้งหมด @@ -1124,8 +1138,6 @@ STR_CONFIG_SETTING_DISASTERS_HELPTEXT :ภัยพิ STR_CONFIG_SETTING_CITY_APPROVAL :ทัศนคติสภาเทศบาลเมืองที่มีต่อการปรับโครงสร้างพื้นที่: {STRING} STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :เลือกความรุนแรงของการทำลายสิ่งแวดล้อมและเสียงรบกวนจากบริษัทที่ส่งผลต่อความนิยมในเมืองและการก่อสร้างของพวกเขา -STR_CONFIG_SETTING_BUILDONSLOPES :อนุญาตให้สร้างบนทางลาดและตลิ่งชายฝั่ง: {STRING} -STR_CONFIG_SETTING_BUILDONSLOPES_HELPTEXT :เมื่อเปิดใช้งาน จะทำให้สามารถสร้างเส้นทางหรือสถานีบนพื้นที่ลาดเอียงได้ STR_CONFIG_SETTING_AUTOSLOPE :อนุญาตให้เปลี่ยนสภาพพื้นผิวใต้สิ่งก่อสร้าง, ราง, ฯลฯ (ปรับความชันอัตโนมัติ): {STRING} STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :อนุญาตให้ปรับสภาพพื้นที่ได้โดยไม่ต้องรื้อถอนสาธารณูปโภค STR_CONFIG_SETTING_CATCHMENT :อนุญาตให้มีขนาดของพื้นที่บริการของสถานีที่สมเหตุสมผลมากขึ้น: {STRING} @@ -1150,14 +1162,8 @@ STR_CONFIG_SETTING_FORBID_90_DEG :ห้ามร STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :ไม่อนุญาตให้รถไฟเลี้ยวโค้งแบบ 90 องศาได้ STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :อนุญาตให้เป็นสถานีเดียวกันแม้ไม่ได้ติดกัน: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :อนุญาตให้มีการสร้างชิ้นส่วนที่เป็นของสถานีให้แยกออกจากกันโดยไม่ต้องมีชิ้นส่วนอื่นๆที่เชื่อมต่อถึงกันได้ ต้องกด Ctrl+Click ในการใช้งาน -STR_CONFIG_SETTING_IMPROVEDLOAD :ใช้รูปแบบการขนถ่ายสินค้าที่มีการปรับปรุงประสิทธิภาพแล้ว: {STRING} -STR_CONFIG_SETTING_IMPROVEDLOAD_HELPTEXT :โดยปกติ หากมียานพาหนะ 2 คัน/ลำ เทียบอยู่เพื่อขนถ่ายสินค้า ระบบจะให้สิืทธิ์ผู้ที่มาก่อนเสมอ แต่หากเปิดใช้งานส่วนนี้ระบบจะทำการกระจายสินค้าออกไปอย่างเหมาะสม -STR_CONFIG_SETTING_GRADUAL_LOADING :บรรจุเข้าไปในพาหนะทีละน้อยๆ: {STRING} -STR_CONFIG_SETTING_GRADUAL_LOADING_HELPTEXT :ยานพาหนะจะใช้เวลาในการโหลดสินค้าและสัมภาระมากขึ้นเพื่อความสมจริง สำหรับรถไฟหากชานชาลามีความยาวไม่เพียงพอจะทำให้ระยะเวลาในการโหลดสินค้าเพิ่มมากขึ้น STR_CONFIG_SETTING_INFLATION :ภาวะเงินเฟ้อ: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :เมื่อเปิดการใช้งานอัตราเงินเฟ้อ ค่าเงินจะถูกลงและต้องใช้เงินมากขึ้นในการซื้อหรือสร้าง แต่ผลตอบแทนจากการขนส่งก็จะเพิ่มขึ้นด้วยเช่นกัน -STR_CONFIG_SETTING_SELECTGOODS :ส่งสินค้าที่บรรทุกลงที่สถานีที่มีความต้องการเท่านั้น: {STRING} -STR_CONFIG_SETTING_SELECTGOODS_HELPTEXT :จะสามารถขนส่งสินค้าไปยังสถานีได้ต่อเมื่อมีการเรียกจากยานพาหนะที่ขนส่ง การที่มีความนิยมต่ำจะทำให้สินค้าไม่ใช้บริการที่สถานี STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :ความยาวสูงสุดของสะพาน: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :ปรับความยาวสูงสุดสำหรับการสร้างสะพาน STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :ความยาวสูงสุดของอุโมงค์: {STRING} @@ -1185,8 +1191,6 @@ STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :เลือก STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :ฝั่งใกล้ STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :ตรงกลาง STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :ฝั่งไกล -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING :การเข้าคิวรถ (มี quantum effects): {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING_HELPTEXT :ทำให้รถ รออยู่ที่ทางแยกจนกว่าถนนข้างหน้าที่การจราจรจะโล่ง STR_CONFIG_SETTING_AUTOSCROLL :เลื่อนหน้าต่างเมื่อเม้าส์อยู่ใกล้ขอบหน้าจอ: {STRING} STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :เมื่อเปิดใช้งานจะสามารถเลื่อนหน้าจอโดยการใช้เมาส์ไปแตะที่ขอบจอได้ STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :ไม่ใช้งาน @@ -1217,10 +1221,6 @@ STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :อนุญา STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :สามารถสร้างป้ายหยุดรถบนถนนของเมืองได้ STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :อนุญาตให้มีที่หยุดรถแบบขับผ่านบนถนนของบริษัทอื่นๆ: {STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :สามารถสร้างป้ายหยุดรถบนถนนที่สร้างโดยบริษัทอื่นได้ -STR_CONFIG_SETTING_ADJACENT_STATIONS :อนุญาตให้สร้างสถานีที่ไม่มีส่วนที่ติดกันได้: {STRING} -STR_CONFIG_SETTING_ADJACENT_STATIONS_HELPTEXT :สามารถสร้างสถานีรับส่งประเภทอื่นๆติดกันได้ -STR_CONFIG_SETTING_DYNAMIC_ENGINES :เปิดใช้งาน NewGRF ประเภทเดียวกัน หลายชุดพร้อมกัน: {STRING} -STR_CONFIG_SETTING_DYNAMIC_ENGINES_HELPTEXT :ความเข้ากันได้ของ NewGRFs เก่าๆ ไม่ควรทำการปิดระบบนี้ STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}ไม่สามารถเปลี่ยนการตั้งค่านี้ได้เมื่อมียานพาหนะ STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :ค่าบำรุงรักษาโครงสร้างพื้นฐาน: {STRING} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :เมื่อเปิดใช้งาน สาธารณูประโภคที่สร้างโดยบริษัทจะมีค่าบำรุงรักษา ยิ่งเครือข่ายยิ่งมากจะยิ่งเสียค่าใช้จ่ายมากขึ้น @@ -1278,8 +1278,6 @@ STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :ทิศกา STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :ทวนเข็มนาฬิกา STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :ตามเข็มนาฬิกา STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :ค่าระดับความสูงต่ำสุดของพื้นราบ: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :ยอมให้เปลี่ยนสภาพพื้นผิวบริเวณช่องริมขอบแผนที่: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES_HELPTEXT :ถ้าปิด ขอบแผนที่จะเป็นน้ำเสมอ STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}ขอบทางเหนือมีอย่างน้อยหนึ่งช่องหรือมากกว่านั้นที่ไม่ว่าง STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}หนึ่งช่องหรือมากกว่านั้นที่ขอบด้านในด้านหนึ่งไม่ใช่น้ำ @@ -1330,17 +1328,13 @@ 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_DATE_FORMAT_IN_SAVE_NAMES :ใช้รูปแบบวันที่ {STRING} เป็นชื่อเซฟของเกม STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :เพิ่มวันที่ในเกมลงไปในชื่อเซฟเกม เมื่อมีการเซฟเกมจะแนบวันที่ในเกมลงไปในชื่อเซฟเกมด้วยโดยอัตโนมัติ แต่หากผู้เล่นต้องการเปลี่ยนแปลงชื่อเซฟเกมก็สามารถกระทำได้ตามสะดวก STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :ยาว (31 ธันวาคม 2013) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :สั้น (31-12-2013) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :มาตรฐาน (2013-12-31) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE :เลือกใช้ Palette ของ NewGRFs ที่ไม่สามารถระบุประเภทได้ (Dos/Windows): {STRING} -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_HELPTEXT :จะมี NewGRFs บางตัวที่ไม่สามารถระบุประเภทว่าใช้ Pelette ของ Dos หรือของ Windows การเลือกตัวเลือกนี้จะเป็นการเลือกค้าแรกเริ่มให้กับ NewGRFs เหล่านั้น -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_DOS :มาตรฐาน (D) ชุดสี -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_WIN :เลกาซี่ (W) ชุดสี - STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :หยุดเกมอัตโนมัติเมื่อเริ่มเกมใหม่: {STRING} STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :เมื่อเปิดใช้งาน เกมจะหยุดอัตโนมัติเมื่อมีการเริ่มเกมใหม่ STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :อนุญาตให้ทำสิ่งเหล่านี้เมื่อหยุดเกม: {STRING} @@ -1562,8 +1556,6 @@ STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 ใน {COMMA STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :ไม่มี STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :ตัวคูณขนาดเมืองเริ่มต้น: {STRING} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :ขนาดโดยเฉลี่ยของเมืองใหญ่ที่สัมพันธ์กับเมืองปกติ -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :นำสิ่งที่เป็นอุปสรรคของถนนออกระหว่างการก่อสร้างถนน: {STRING} -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD_HELPTEXT :ลบทางตันของถนนระหว่างการใช้งานการปรับปรุงถนนในท้องถิ่น STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :อัพเดทกราฟการกระจายสินค้าทุกๆ {STRING} วัน STR_CONFIG_SETTING_LINKGRAPH_INTERVAL_HELPTEXT :เวลาระหว่างการคำนวณหาเส้นทางการเชื่อมต่อของกราฟ. ทุกครั้งที่มีำการคำนวณใหม่ มีการวางแผนสำหรับหนึ่งชิ้นส่วนในกราฟ ค่าที่ตั้งไว้นี้ คือค่าที่จะให้มีการอัพเดททุกๆเวลากี่วัน การตั้งให้คำนวณถี่มากๆจะกินทรัพยากรเครื่องของท่าน @@ -1625,27 +1617,17 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :อิมพี STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :เมตริก (เมตร) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :มาตรฐานสากล (เมตร) -STR_CONFIG_SETTING_GUI :{ORANGE}ส่วนเชื่อมต่อผู้ใช้ STR_CONFIG_SETTING_LOCALISATION :{ORANGE}มาตราวัดต่างๆ -STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}การก่อสร้าง -STR_CONFIG_SETTING_VEHICLES :{ORANGE}ยานพาหนะ -STR_CONFIG_SETTING_STATIONS :{ORANGE}สถานี -STR_CONFIG_SETTING_ECONOMY :{ORANGE}เศรฐกิจ -STR_CONFIG_SETTING_LINKGRAPH :{ORANGE}การกระจายสินค้า -STR_CONFIG_SETTING_AI :{ORANGE}คู่แข่ง -STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}ตัวเลือกการแสดงผล -STR_CONFIG_SETTING_INTERACTION :{ORANGE}การโต้ตอบ STR_CONFIG_SETTING_SOUND :{ORANGE}เสียงเอฟเฟกต์ -STR_CONFIG_SETTING_NEWS :{ORANGE}ข่าวสารและข้อความ -STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}อาณัติสัญญาณ -STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE}การขนถ่าย -STR_CONFIG_SETTING_AI_NPC :{ORANGE}ผู้เล่นคอมพิวเตอร์ -STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE}การแทนที่อัตโนมัติ -STR_CONFIG_SETTING_VEHICLES_SERVICING :{ORANGE}เกี่ยวกับการซ่อมบำรุง +STR_CONFIG_SETTING_INTERFACE :{ORANGE}ส่วนเชื่อมต่อผู้ใช้ +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}การก่อสร้าง +STR_CONFIG_SETTING_VEHICLES :{ORANGE}ยานพาหนะ STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}การค้นหาเส้นทางของพาหนะ -STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}รถไฟ -STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}เมือง -STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}อุตสาหกรรม +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}เมือง +STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}อุตสาหกรรม +STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :{ORANGE}การกระจายสินค้า +STR_CONFIG_SETTING_AI :{ORANGE}คู่แข่ง +STR_CONFIG_SETTING_AI_NPC :{ORANGE}ผู้เล่นคอมพิวเตอร์ STR_CONFIG_SETTING_PATHFINDER_OPF :ดั้งเดิม STR_CONFIG_SETTING_PATHFINDER_NPF :NPF @@ -1694,7 +1676,6 @@ STR_INTRO_MULTIPLAYER :{BLACK}เล STR_INTRO_GAME_OPTIONS :{BLACK}ตัวเลือกเกม STR_INTRO_HIGHSCORE :{BLACK}ตารางคะแนนสูงสุด -STR_INTRO_ADVANCED_SETTINGS :{BLACK}การตั้งค่าขั้นสูง STR_INTRO_NEWGRF_SETTINGS :{BLACK}การตั้งค่า NewGRF STR_INTRO_ONLINE_CONTENT :{BLACK}ตรวจสอบเนื้อหาออนไลน์ STR_INTRO_SCRIPT_SETTINGS :{BLACK}ตั้งค่า AI/Game Script @@ -1714,7 +1695,6 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}เล STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}แสดงตัวเลือกเกม STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}แสดงตารางคะแนนสูงสุด -STR_INTRO_TOOLTIP_ADVANCED_SETTINGS :{BLACK}แสดงการกำหนดค่าขั้นสูง STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}แสดงการกำหนดค่า NewGRF STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}ตรวจสอบเนื้อหาใหม่และการปรับปรุงสำหรับดาวโหลด STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}แสดงการตั้งค่า AI/Game script @@ -1802,6 +1782,7 @@ STR_LIVERY_FREIGHT_TRAM :รถราง STR_FACE_CAPTION :{WHITE}เลือกใบหน้า STR_FACE_CANCEL_TOOLTIP :{BLACK}ยกเลิการเลือกใบหน้าใหม่ STR_FACE_OK_TOOLTIP :{BLACK}ยอมรับการเลือกใบหน้าใหม่ +STR_FACE_RANDOM :{BLACK}สุ่ม STR_FACE_MALE_BUTTON :{BLACK}ผู้ชาย STR_FACE_MALE_TOOLTIP :{BLACK}เลือกใบหน้าผู้ชาย @@ -2642,7 +2623,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-2014 ของ The OpenTTD team +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}ลิขสิทธิ์ OpenTTD {COPYRIGHT}2002-2015 ของ The OpenTTD team # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}บันทึกเกม @@ -2679,10 +2660,6 @@ STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}จำ STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}เส้นความสูงเขตหิมะ: STR_MAPGEN_SNOW_LINE_UP :{BLACK}ปรับเปลี่ยนความสูงของหิมะขึ้นไป 1 ระดับ STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}ปรับเปลี่ยนความสูงของหิมะลงมา 1 ระดับ -STR_MAPGEN_RANDOM_SEED :{BLACK}Random seed: -STR_MAPGEN_RANDOM_SEED_HELP :{BLACK}คลิ๊กเมาส์เพื่อ random seed -STR_MAPGEN_RANDOM :{BLACK}สุ่ม -STR_MAPGEN_RANDOM_HELP :{BLACK}เปลี่ยนการ random seed สำหรับการสร้างพื้นดิน STR_MAPGEN_LAND_GENERATOR :{BLACK}เครื่องมือสร้างสภาพพื้นดิน: STR_MAPGEN_TREE_PLACER :{BLACK}Tอัลกอริธึมต้นไม้: STR_MAPGEN_TERRAIN_TYPE :{BLACK}ประเภทภูมิประเทศ: @@ -2709,7 +2686,6 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}ชื STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}ขนาด: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} -STR_MAPGEN_RANDOM_SEED_OSKTITLE :{BLACK}ป้อนค่า random seed STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}ปรับเปลี่ยนความสูงของระดับหิมะ STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}เปลี่ยนปีที่เริ่มต้นเกม @@ -2788,6 +2764,8 @@ STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}หาไ STR_NEWGRF_SETTINGS_DISABLED :{RED}ไม่ใช้งาน STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}ไม่รองรับกับ OpenTTD เวอร์ชั่นนี้ +# NewGRF save preset window + # NewGRF parameters window STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}เปลี่ยนแปลง NewGRF parameters STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}ปิด @@ -2818,7 +2796,6 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}sprite STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}เคลื่อนไปยัง sprite ปกติอันก่อนหน้า โดยข้าม pseudo/recolour/font และวกกลับเมื่อถึงจุดเริ่มต้น STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}แสดง sprite ที่เลือกใหม่อีกครั้ง STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}ย้าย sprite wxiv[q, แก้ไขแกน X และ Y สำหรับความคลาดเคลื่อน -STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X คลาดเคลื่อน: {NUM}, Y คลาดเคลื่อน: {NUM} STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}หยิบ sprite STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}หยิบ sprite จากที่ใดก็ตามในหน้าจอ @@ -2990,7 +2967,7 @@ STR_GOAL_QUESTION_CAPTION_INFORMATION :ข้อมู STR_GOAL_QUESTION_CAPTION_WARNING :คำเตือน STR_GOAL_QUESTION_CAPTION_ERROR :ข้อผิดพลาด -### Start of Goal Question button list +############ Start of Goal Question button list STR_GOAL_QUESTION_BUTTON_CANCEL :ยกเลิก STR_GOAL_QUESTION_BUTTON_OK :OK STR_GOAL_QUESTION_BUTTON_NO :ไม่ @@ -3009,6 +2986,7 @@ STR_GOAL_QUESTION_BUTTON_RESTART :เริ่ม STR_GOAL_QUESTION_BUTTON_POSTPONE :เลื่อนออกไป STR_GOAL_QUESTION_BUTTON_SURRENDER :ยอมจำนน STR_GOAL_QUESTION_BUTTON_CLOSE :ปิด +############ End of Goal Question button list # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}เงินอุดหนุน @@ -3044,7 +3022,6 @@ STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}ไม # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} -STR_STATION_VIEW_WAITING_TITLE :{BLACK}กำลังรอ: {WHITE}{STRING} STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} จาก {STATION}) STR_STATION_VIEW_RESERVED :{YELLOW}({CARGO_SHORT} สำรองไว้สำหรับการขนถ่าย) @@ -3294,6 +3271,7 @@ STR_GROUP_DELETE_TOOLTIP :{BLACK}ลบ STR_GROUP_RENAME_TOOLTIP :{BLACK}เปลี่ยนชื่อกลุ่มที่เลือก STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}กดเพื่อป้องกันกลุ่มนี้จากการใช้งาน แทนที่ใหม่อัตโนมัติ + STR_GROUP_ADD_SHARED_VEHICLE :เพิ่มยานพาหนะที่ใช้รายการคำสั่งเดียวกัน STR_GROUP_REMOVE_ALL_VEHICLES :ลบยานพาหนะทั้งหมด @@ -3356,6 +3334,9 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}เป STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}เปลี่ยนชื่อชนิดของเรือ STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}เปลี่ยนชื่อชนิดของเครื่องบิน + + + STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}เปลี่ยนชื่อชนิดของรถไฟ STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}เปลี่ยนชื่อชนิดของรถ STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}เปลี่ยนชื่อชนิดของเรือ @@ -3460,6 +3441,7 @@ STR_REPLACE_VEHICLE_ROAD_VEHICLE :ยานพา STR_REPLACE_VEHICLE_SHIP :ยานพาหนะทางน้ำ STR_REPLACE_VEHICLE_AIRCRAFT :อากาศยาน + STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}เลือกประเภทของรถจักรที่จะแทนที่ STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}เลือกประเภทของพาหนะที่จะแทนที่ทางซ้ายมือ @@ -4105,6 +4087,7 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... ส STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... สามารถสร้างได้ที่ระดับเหนือกว่าระดับหิมะเท่านั้น STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... สามารถสร้างได้ที่ระดับต่ำกว่าระดับหิมะเท่านั้น + # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}บริเวณนี้ไม่สามารถสร้างสถานีรถไฟได้ STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}ไม่สามารถสร้าง ป้ายหยุดรถ/สถานีขนส่ง @@ -4839,8 +4822,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE} {CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -4851,9 +4832,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/traditional_chinese.txt b/src/lang/traditional_chinese.txt index b3059cf9c2..56bba19acb 100644 --- a/src/lang/traditional_chinese.txt +++ b/src/lang/traditional_chinese.txt @@ -95,30 +95,30 @@ STR_CARGO_SINGULAR_FIZZY_DRINK :汽水 # Quantity of cargo STR_QUANTITY_NOTHING : -STR_QUANTITY_PASSENGERS :{COMMA} 名乘客 +STR_QUANTITY_PASSENGERS :{COMMA}{NBSP}名乘客 STR_QUANTITY_COAL :{WEIGHT_LONG} 煤碳 -STR_QUANTITY_MAIL :{COMMA} 包郵件 +STR_QUANTITY_MAIL :{COMMA}{NBSP}包郵件 STR_QUANTITY_OIL :{VOLUME_LONG} 石油 -STR_QUANTITY_LIVESTOCK :{COMMA} 頭牲畜 -STR_QUANTITY_GOODS :{COMMA} 箱商品 +STR_QUANTITY_LIVESTOCK :{COMMA}{NBSP}頭牲畜 +STR_QUANTITY_GOODS :{COMMA}{NBSP}箱商品 STR_QUANTITY_GRAIN :{WEIGHT_LONG} 穀物 STR_QUANTITY_WOOD :{WEIGHT_LONG} 木材 STR_QUANTITY_IRON_ORE :{WEIGHT_LONG} 鐵礦 STR_QUANTITY_STEEL :{WEIGHT_LONG} 鋼鐵 -STR_QUANTITY_VALUABLES :{COMMA} 包貴重物品 +STR_QUANTITY_VALUABLES :{COMMA}{NBSP}包貴重物品 STR_QUANTITY_COPPER_ORE :{WEIGHT_LONG} 銅礦 STR_QUANTITY_MAIZE :{WEIGHT_LONG} 玉米 STR_QUANTITY_FRUIT :{WEIGHT_LONG} 水果 -STR_QUANTITY_DIAMONDS :{COMMA} 包鑽石 +STR_QUANTITY_DIAMONDS :{COMMA}{NBSP}包鑽石 STR_QUANTITY_FOOD :{WEIGHT_LONG} 食物 STR_QUANTITY_PAPER :{WEIGHT_LONG} 紙張 -STR_QUANTITY_GOLD :{COMMA} 包黃金 +STR_QUANTITY_GOLD :{COMMA}{NBSP}包黃金 STR_QUANTITY_WATER :{VOLUME_LONG} 淡水 STR_QUANTITY_WHEAT :{WEIGHT_LONG} 小麥 STR_QUANTITY_RUBBER :{VOLUME_LONG} 橡膠 STR_QUANTITY_SUGAR :{WEIGHT_LONG} 砂糖 -STR_QUANTITY_TOYS :{COMMA} 件玩具 -STR_QUANTITY_SWEETS :{COMMA} 包甜點 +STR_QUANTITY_TOYS :{COMMA}{NBSP}件玩具 +STR_QUANTITY_SWEETS :{COMMA}{NBSP}包糖果 STR_QUANTITY_COLA :{VOLUME_LONG} 可樂 STR_QUANTITY_CANDYFLOSS :{WEIGHT_LONG} 棉花糖 STR_QUANTITY_BUBBLES :{COMMA} 個泡泡 @@ -165,12 +165,12 @@ STR_ABBREV_NONE :{TINY_FONT}無 STR_ABBREV_ALL :{TINY_FONT}全 # 'Mode' of transport for cargoes -STR_PASSENGERS :{COMMA} 乘客 -STR_BAGS :{COMMA} 包 -STR_TONS :{COMMA} 噸 -STR_LITERS :{COMMA} 公升 -STR_ITEMS :{COMMA} 件 -STR_CRATES :{COMMA} 箱 +STR_PASSENGERS :{COMMA}{NBSP}名乘客 +STR_BAGS :{COMMA}{NBSP}包 +STR_TONS :{COMMA}{NBSP}噸 +STR_LITERS :{COMMA}{NBSP}公升 +STR_ITEMS :{COMMA}{NBSP}頭 +STR_CRATES :{COMMA}{NBSP}箱 # Colours, do not shuffle STR_COLOUR_DARK_BLUE :暗藍 @@ -191,42 +191,42 @@ STR_COLOUR_GREY :灰 STR_COLOUR_WHITE :白 # Units used in OpenTTD -STR_UNITS_VELOCITY_IMPERIAL :{COMMA} 英里/小時 -STR_UNITS_VELOCITY_METRIC :{COMMA} 公里/小時 -STR_UNITS_VELOCITY_SI :{COMMA} 米/秒 +STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}英里/小時 +STR_UNITS_VELOCITY_METRIC :{COMMA}{NBSP}公里/小時 +STR_UNITS_VELOCITY_SI :{COMMA}{NBSP}米/秒 -STR_UNITS_POWER_IMPERIAL :{COMMA}匹 -STR_UNITS_POWER_METRIC :{COMMA}匹 -STR_UNITS_POWER_SI :{COMMA}千瓦 +STR_UNITS_POWER_IMPERIAL :{COMMA}{NBSP}匹 +STR_UNITS_POWER_METRIC :{COMMA}{NBSP}匹 +STR_UNITS_POWER_SI :{COMMA}{NBSP}千瓦 -STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA} 短噸 -STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}噸 -STR_UNITS_WEIGHT_SHORT_SI :{COMMA}kg +STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}{NBSP}短噸 +STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}{NBSP}噸 +STR_UNITS_WEIGHT_SHORT_SI :{COMMA}{NBSP}公斤 -STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA} 短噸 -STR_UNITS_WEIGHT_LONG_METRIC :{COMMA}公噸 -STR_UNITS_WEIGHT_LONG_SI :{COMMA} 千克 +STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA}{NBSP}短噸 +STR_UNITS_WEIGHT_LONG_METRIC :{COMMA}{NBSP}公噸 +STR_UNITS_WEIGHT_LONG_SI :{COMMA}{NBSP}公斤 -STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA} 加侖 -STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}升 -STR_UNITS_VOLUME_SHORT_SI :{COMMA}米³ +STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}{NBSP}加侖 +STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}{NBSP}升 +STR_UNITS_VOLUME_SHORT_SI :{COMMA}{NBSP}米³ -STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA} 加侖 -STR_UNITS_VOLUME_LONG_METRIC :{COMMA} 公升 -STR_UNITS_VOLUME_LONG_SI :{COMMA} 立方米 +STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA}{NBSP}加侖 +STR_UNITS_VOLUME_LONG_METRIC :{COMMA}{NBSP}公升 +STR_UNITS_VOLUME_LONG_SI :{COMMA}{NBSP}立方米 -STR_UNITS_FORCE_IMPERIAL :{COMMA} 磅力 -STR_UNITS_FORCE_METRIC :{COMMA} 公斤力 -STR_UNITS_FORCE_SI :{COMMA} kN +STR_UNITS_FORCE_IMPERIAL :{COMMA}{NBSP}磅力 +STR_UNITS_FORCE_METRIC :{COMMA}{NBSP}公斤力 +STR_UNITS_FORCE_SI :{COMMA}{NBSP}千牛頓 -STR_UNITS_HEIGHT_IMPERIAL :{COMMA} 英呎 -STR_UNITS_HEIGHT_METRIC :{COMMA} 米 -STR_UNITS_HEIGHT_SI :{COMMA} 公尺 +STR_UNITS_HEIGHT_IMPERIAL :{COMMA}{NBSP}英呎 +STR_UNITS_HEIGHT_METRIC :{COMMA}{NBSP}米 +STR_UNITS_HEIGHT_SI :{COMMA}{NBSP}公尺 # Common window strings STR_LIST_FILTER_TITLE :{BLACK}篩選字串: STR_LIST_FILTER_OSKTITLE :{BLACK}輸入篩選字串 -STR_LIST_FILTER_TOOLTIP :{BLACK}輸入篩選所使用的關鍵字,對於清單…… +STR_LIST_FILTER_TOOLTIP :{BLACK}輸入關鍵字以篩選您想查閱或更改的選項 STR_TOOLTIP_GROUP_ORDER :{BLACK}選擇群組次序 STR_TOOLTIP_SORT_ORDER :{BLACK}選擇排序 (逆序/順序) @@ -248,6 +248,17 @@ STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}捲軸 - STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}捲軸 - 左右捲動清單 STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}拆卸建築物等。在格子裡的土地。按Ctrl以對角選擇區域。Shift切換建築或顯示預估成本。 +# Show engines button +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}顯示被隱藏的 +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK}顯示被隱藏的 +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}顯示被隱藏的 +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}顯示被隱藏的 + +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}如啟用此按鈕,系統會顯示本應被隱藏的機車或車廂 +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE_TOOLTIP :{BLACK}如啟用此按鈕,系統會顯示本應被隱藏的車輛 +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}如啟用此按鈕,系統會顯示本應被隱藏的船舶 +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}如啟用此按鈕,系統會顯示本應被隱藏的飛機 + # Query window STR_BUTTON_DEFAULT :{BLACK}預設值 STR_BUTTON_CANCEL :{BLACK}取消 @@ -361,7 +372,7 @@ STR_SCENEDIT_FILE_MENU_QUIT :離開 ############ range for settings menu starts STR_SETTINGS_MENU_GAME_OPTIONS :遊戲選項 -STR_SETTINGS_MENU_CONFIG_SETTINGS :進階設定 +STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :設定 STR_SETTINGS_MENU_SCRIPT_SETTINGS :AI / 遊戲腳本設定 STR_SETTINGS_MENU_NEWGRF_SETTINGS :NewGRF 設定 STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :透明度選項 @@ -465,12 +476,12 @@ STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :最近鏡截圖 STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :在預設的縮放範圍截圖 STR_ABOUT_MENU_GIANT_SCREENSHOT :擷取全場景畫面 STR_ABOUT_MENU_ABOUT_OPENTTD :關於「OpenTTD」 -STR_ABOUT_MENU_SPRITE_ALIGNER :Sprite 定位工具 +STR_ABOUT_MENU_SPRITE_ALIGNER :子畫面定位工具 STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :切換邊界框 STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :切換骯髒區塊的配色 ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window STR_ORDINAL_NUMBER_1ST :1 STR_ORDINAL_NUMBER_2ND :2 STR_ORDINAL_NUMBER_3RD :3 @@ -486,22 +497,40 @@ STR_ORDINAL_NUMBER_12TH :12 STR_ORDINAL_NUMBER_13TH :13 STR_ORDINAL_NUMBER_14TH :14 STR_ORDINAL_NUMBER_15TH :15 -STR_ORDINAL_NUMBER_16TH :16 -STR_ORDINAL_NUMBER_17TH :17 -STR_ORDINAL_NUMBER_18TH :18 -STR_ORDINAL_NUMBER_19TH :19 -STR_ORDINAL_NUMBER_20TH :20 -STR_ORDINAL_NUMBER_21ST :21 -STR_ORDINAL_NUMBER_22ND :22 -STR_ORDINAL_NUMBER_23RD :23 -STR_ORDINAL_NUMBER_24TH :24 -STR_ORDINAL_NUMBER_25TH :25 -STR_ORDINAL_NUMBER_26TH :26 -STR_ORDINAL_NUMBER_27TH :27 -STR_ORDINAL_NUMBER_28TH :28 -STR_ORDINAL_NUMBER_29TH :29 -STR_ORDINAL_NUMBER_30TH :30 -STR_ORDINAL_NUMBER_31ST :31 +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :1 +STR_DAY_NUMBER_2ND :2 +STR_DAY_NUMBER_3RD :3 +STR_DAY_NUMBER_4TH :4 +STR_DAY_NUMBER_5TH :5 +STR_DAY_NUMBER_6TH :6 +STR_DAY_NUMBER_7TH :7 +STR_DAY_NUMBER_8TH :8 +STR_DAY_NUMBER_9TH :9 +STR_DAY_NUMBER_10TH :10 +STR_DAY_NUMBER_11TH :11 +STR_DAY_NUMBER_12TH :12 +STR_DAY_NUMBER_13TH :13 +STR_DAY_NUMBER_14TH :14 +STR_DAY_NUMBER_15TH :15 +STR_DAY_NUMBER_16TH :16 +STR_DAY_NUMBER_17TH :17 +STR_DAY_NUMBER_18TH :18 +STR_DAY_NUMBER_19TH :19 +STR_DAY_NUMBER_20TH :20 +STR_DAY_NUMBER_21ST :21 +STR_DAY_NUMBER_22ND :22 +STR_DAY_NUMBER_23RD :23 +STR_DAY_NUMBER_24TH :24 +STR_DAY_NUMBER_25TH :25 +STR_DAY_NUMBER_26TH :26 +STR_DAY_NUMBER_27TH :27 +STR_DAY_NUMBER_28TH :28 +STR_DAY_NUMBER_29TH :29 +STR_DAY_NUMBER_30TH :30 +STR_DAY_NUMBER_31ST :31 ############ range for days ends ############ range for months starts @@ -810,13 +839,12 @@ STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}{VEHICLE STR_NEWS_SHIP_IS_WAITING :{WHITE}{VEHICLE} 正在船塢待命 STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE} 正在機棚待命 -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE +# Order review system / warnings STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE} 的調度任務太少 STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE} 有錯誤的計劃指令 STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE} 有重複的指令 STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE} 有無法到達的車站 -# end of order system +STR_NEWS_PLANE_USES_TOO_SHORT_RUNWAY :{WHITE}{VEHICLE}之計劃中有機場跑道太短無法起降 STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} 即將退役 STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} 應當馬上退役 @@ -899,10 +927,6 @@ STR_GAME_OPTIONS_CURRENCY_GEL :喬治亞拉里 STR_GAME_OPTIONS_CURRENCY_IRR :伊朗里亞爾 (IRR) ############ end of currency region - -############ start of measuring units region -############ end of measuring units region - STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}車輛 STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}選擇車輛在路上的行駛位置 STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :靠左行駛 @@ -938,11 +962,13 @@ STR_GAME_OPTIONS_TOWN_NAME_CATALAN :加泰隆尼亞 STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}自動存檔 STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}選擇自動存檔頻率 +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :關閉 STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :每個月 STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :每 3 個月 STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :每 6 個月 STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :每 12 個月 +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}語言 STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}選擇要用的介面語言 @@ -954,8 +980,12 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}螢幕 STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}選擇螢幕解析度 STR_GAME_OPTIONS_RESOLUTION_OTHER :其它 -STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}畫面擷取檔案格式 -STR_GAME_OPTIONS_SCREENSHOT_FORMAT_TOOLTIP :{BLACK}選擇畫面擷取檔案格式 +STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}介面大小 +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}選擇使用的介面元素大小 + +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :正常大小 +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :兩倍大小 +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :四倍大小 STR_GAME_OPTIONS_BASE_GRF :{BLACK}基本圖形集 STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}選擇要使用的基本圖形集 @@ -971,6 +1001,7 @@ STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}選擇 STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} 檔案已損毀 STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}關於基本音樂集的額外資訊 +STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}無法擷取可用的螢幕解析度清單 STR_ERROR_FULLSCREEN_FAILED :{WHITE}無法切換全螢幕模式 # Custom currency window @@ -1049,6 +1080,7 @@ STR_TERRAIN_TYPE_VERY_FLAT :非常平坦 STR_TERRAIN_TYPE_FLAT :平坦 STR_TERRAIN_TYPE_HILLY :丘陵 STR_TERRAIN_TYPE_MOUNTAINOUS :高山 +STR_TERRAIN_TYPE_ALPINIST :多山 STR_CITY_APPROVAL_PERMISSIVE :寬容 STR_CITY_APPROVAL_TOLERANT :能忍受 @@ -1056,8 +1088,8 @@ STR_CITY_APPROVAL_HOSTILE :抱敵意 STR_WARNING_NO_SUITABLE_AI :{WHITE}無適合的 AI 可使用...{}您可以從「線上內容」系統中下載各種 AI。 -# Advanced settings window -STR_CONFIG_SETTING_CAPTION :{WHITE}進階設定 +# Settings tree window +STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}顯示設定 STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}篩選字串: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}展開所有選項 STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}折疊所有選項 @@ -1073,9 +1105,9 @@ STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :公司設定 ( STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK}篩選設定: STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}適用範圍: STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}限制以下列表僅顯示曾被更改的設定 -STR_CONFIG_SETTING_RESTRICT_BASIC :基本設定 -STR_CONFIG_SETTING_RESTRICT_ADVANCED :進階設定 -STR_CONFIG_SETTING_RESTRICT_ALL :專業設定 / 所有設定 +STR_CONFIG_SETTING_RESTRICT_BASIC :基本 (僅顯示重要設定) +STR_CONFIG_SETTING_RESTRICT_ADVANCED :進階 (顯示大部份設定) +STR_CONFIG_SETTING_RESTRICT_ALL :專業 (顯示所有設定) STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :與預設值有所不同的設定 STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :與您開始新遊戲時所選擇的值有所不同的設定 @@ -1130,8 +1162,9 @@ STR_CONFIG_SETTING_DISASTERS_HELPTEXT :切換那些有 STR_CONFIG_SETTING_CITY_APPROVAL :地方政府對地區結構重組的態度: {STRING} STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :選擇公司所製造的噪音和環境傷害對其在市鎮的評比及未來的建設行動會造成多大影響 -STR_CONFIG_SETTING_BUILDONSLOPES :可在斜坡及岸邊興建:{STRING} -STR_CONFIG_SETTING_BUILDONSLOPES_HELPTEXT :如果啟用此選項,路軌和車站都可在大部份斜坡上建造。如果停用此選項,則只能在符合其方向的斜坡上建造路軌,且不能在斜坡上建造車站,但這樣它們就毋需額外的地基 +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :最大地圖高度: {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :設定該地圖上山丘最多能有多高 +STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}您不能把地圖的最高高度設成此值。至少有一座山比這個高度更高。 STR_CONFIG_SETTING_AUTOSLOPE :允許在建築物或軌道底下改變地形斜度 (autoslope):{STRING} STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :可以在建築物或軌道底下改變地形而不需移除它們 STR_CONFIG_SETTING_CATCHMENT :容許更真實的服務範圍設定:{STRING} @@ -1156,16 +1189,12 @@ STR_CONFIG_SETTING_FORBID_90_DEG :禁止列車及 STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :列車於縱向路軌與橫向路軌交接之處轉向稱為「直角轉向」;列車於其他的路軌配置上轉向稱為「45度轉向」。如啟用此設定,所有列車皆不會進行直角轉向。除列車外,此設定同樣適用於船舶 STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :允許將不相鄰的車站與附近的車站結合:{STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :容許以「CTRL 鍵 + 點選」的方式,加入與現有部份不相連接的車站部件。 -STR_CONFIG_SETTING_IMPROVEDLOAD :使用改善後的裝載演算法:{STRING} -STR_CONFIG_SETTING_IMPROVEDLOAD_HELPTEXT :如啟用此設定,在車站內等候的多部運輸工具會依其進站次序裝載:只有當站內的乘客或貨物足夠令第一部運輸工具滿載時,下一部運輸工具才會開始裝載 -STR_CONFIG_SETTING_GRADUAL_LOADING :運輸工具逐步裝載貨物:{STRING} -STR_CONFIG_SETTING_GRADUAL_LOADING_HELPTEXT :如啟用此設定,運輸工具會根據其裝載設定逐步裝載貨物。否則,所有運輸工具都會在特定時間內裝載所有乘客或貨物,而裝載所用的時間則取決於所裝載的乘客或貨物之數量 STR_CONFIG_SETTING_INFLATION :通貨膨脹:{STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :啟用通貨膨脹,而且成本的增長會稍為比收入的增長快 -STR_CONFIG_SETTING_SELECTGOODS :有需求才向車站供貨:{STRING} -STR_CONFIG_SETTING_SELECTGOODS_HELPTEXT :車站只會在能運送有關乘客或貨物的運輸工具停靠後,才開始接收附近建築物供應的乘客或貨物。這樣可避免車站評價因為未有運輸工具使用而下降 STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :橋樑長度上限: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :建造橋樑長度的上限 +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :橋樑高度上限: {STRING} +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :橋樑與地面之間的最大高度 STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :隧道長度上限: {STRING} STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :設定建造隧道長度的上限 STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :修改基礎工業的建造方式:{STRING} @@ -1191,8 +1220,6 @@ STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :預設列車在 STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :近端 STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :中間 STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :遠端 -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING :車輛排隊 (量子效應):{STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING_HELPTEXT :強制進入站點的公路車輛在未有空位時停在站前排隊等候,而非調頭離開。請注意:過多車輛等候會造成交通擠塞(此即設定標籤中所指的「量子效應」) STR_CONFIG_SETTING_AUTOSCROLL :滑鼠在視窗邊緣時移動視窗:{STRING} STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :如啟用此選項,額外視野的畫面會在游標接近其視窗邊緣時捲動 STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :停用 @@ -1223,10 +1250,6 @@ STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :可在市鎮所 STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :容許在市鎮擁有的道路上建造直通型車站 STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :可在競爭對手所有的道路上建設路邊車站:{STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :容許在其他公司擁有的道路上建造直通型車站 -STR_CONFIG_SETTING_ADJACENT_STATIONS :允許按 Ctrl 鍵興建相鄰車站: {STRING} -STR_CONFIG_SETTING_ADJACENT_STATIONS_HELPTEXT :容許不同車站相互鄰接 -STR_CONFIG_SETTING_DYNAMIC_ENGINES :允許載入多個 NewGRF 車輛組:{STRING} -STR_CONFIG_SETTING_DYNAMIC_ENGINES_HELPTEXT :此為對舊版 NewGRF 包的相容設定。如果您並非完全清楚其功用,請勿停用。 STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}當有運輸工具運轉時不能修改此設定 STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :基礎建設維護: {STRING} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :如啟用此選項,基礎建設會產生維護成本。該成本的增長會根據公司基礎建設的規模而加倍增大,因此該設定對大公司的影響比對小公司更大 @@ -1257,7 +1280,7 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :錯誤訊息持 STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :設定所有以紅色對話窗顯示的錯誤訊息之持續時間。請注意有些較嚴重的錯誤訊息必須手動關閉 STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{COMMA} 秒 STR_CONFIG_SETTING_HOVER_DELAY :顯示工具提示: {STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :設定是否在游標處於工具按鈕之上時顯示工具使用提示。如停用此選項,玩家仍可在工具按鈕上右撳鼠键以顯示工具使用提示 +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :設定游標需在工具按鈕之上停留多久才會顯示工具使用提示。如此選項的值為 0,您需在工具按鈕上右撳鼠键以顯示工具使用提示 STR_CONFIG_SETTING_HOVER_DELAY_VALUE :游標在按鈕之上停留 {COMMA} 秒 STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :右撳 STR_CONFIG_SETTING_POPULATION_IN_LABEL :於標籤顯示市鎮人口:{STRING} @@ -1265,27 +1288,41 @@ STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :在地圖的市 STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :圖像上的線條之粗細值: {STRING} STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :設定圖像上的線條之粗細值。較幼細的線條能較準確地顯示數值,而較粗大的線較容易看到和分辨 +STR_CONFIG_SETTING_LANDSCAPE :場景:{STRING} +STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :此設定決定基本的遊戲場景、可供運輸的貨物種類,以及城鎮發展的條件。然而,NewGRF 及遊戲腳本可提供更加細緻的設定 STR_CONFIG_SETTING_LAND_GENERATOR :地形產生器:{STRING} +STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :「原版」地圖產生器根據所使用的基本圖形集來產生固定的地形。TerraGenesis 則是一個建基於 Perlin 噪音原理的地形產生程序,支援較為細緻的地形設定 STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :原版 STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis +STR_CONFIG_SETTING_TERRAIN_TYPE :地形種類:{STRING} +STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(只適用於 TerraGenesis) 此設定控制產生的地圖是平坦還是峰巒起伏 +STR_CONFIG_SETTING_INDUSTRY_DENSITY :工業設施密度: {STRING} +STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :此設定控制工業設定出現的密度。遊戲進行時,系統仍會根據此設定來決定工業設施的數量 STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :煉油廠與地圖邊緣之最遠距離: {STRING} STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :僅於地圖邊緣建造煉油廠,在島嶼型地圖中它們將處於海邊 STR_CONFIG_SETTING_SNOWLINE_HEIGHT :雪線高度:{STRING} +STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :此設定控制在「寒帶」地圖中雪地開始出現的高度。除了外觀的不同外,雪地也會影響工業設施的分佈以及市鎮成長的條件 STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :地形起伏度 (只適用於 TerraGenesis):{STRING} +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(只適用於 TerraGenesis) 此設定控制地圖上的山丘密度。「平滑」的地形會包含較少而且相互距離較遠的山丘;較粗糙的地形會包含密集的山丘,但可能會使地圖顯得重複 STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :非常平滑 STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :平滑 STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :高低不平 STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :非常粗糙 +STR_CONFIG_SETTING_VARIETY :地形起伏分佈:{STRING} +STR_CONFIG_SETTING_VARIETY_HELPTEXT :(只適用於 TerraGenesis) 此設定控制地圖是否同時包含多山及平坦的地帶。由於此設定只會使地圖的部份區域變得平坦,請把其他地形設定設為「高山」 +STR_CONFIG_SETTING_RIVER_AMOUNT :河流數量: {STRING} +STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :選擇欲產生的河流數量 STR_CONFIG_SETTING_TREE_PLACER :樹木分佈演算法:{STRING} +STR_CONFIG_SETTING_TREE_PLACER_HELPTEXT :選擇地圖上樹木的分布方式:如選擇「原版」設定,系統會把樹木均勻地散佈在地圖上;如選擇「改進版」,系統會在地圖上產生若干樹林 STR_CONFIG_SETTING_TREE_PLACER_NONE :無 STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :原版 STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :改進版 +STR_CONFIG_SETTING_ROAD_SIDE :公路車輛: {STRING} +STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :選擇行車方向 STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :旋轉高度圖:{STRING} STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :逆時針 STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :順時針 STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :平面地圖高度:{STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :啟用地圖邊緣區塊平整化:{STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES_HELPTEXT :如果停用此選項,地圖的邊緣必然是海洋 STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}北邊的地圖邊緣有一格以上的區塊非空地 STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}邊緣有一格以上的區塊非水域 @@ -1336,17 +1373,15 @@ 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_AUTOSAVE :自動儲存: {STRING} +STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :選擇自動存檔的週期 + STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :使用 {STRING} 時間格式作為存檔檔名 STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :在存檔的檔名中使用的日期格式 STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :長格式 (31st Dec 2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :短格式 (31-12-2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :國際格式 (2008-12-31) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE :當 NewGRF 套包沒有指定配色時,使用的預設配色: {STRING} -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_HELPTEXT :為沒有指定配色的 NewGRF 套包設定預設配色 -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_DOS :預設的 (D) 色盤 -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_WIN :原裝 (W) 色盤 - STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :自動在開始新遊戲時暫停:{STRING} STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :如啟用此選項,遊戲在開始時會自動暫停,方便玩家詳細觀察地圖 STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :當暫停時允許: {STRING} @@ -1370,7 +1405,7 @@ STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_HELPTEXT :設定開始新 STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_FIRST :最先可用的軌道 STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_LAST :最新可用的軌道 STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_MOST_USED :最常用的軌道 -STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :顯示列車佔用的路徑:{STRING} +STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :顯示列車預留佔用的路徑:{STRING} STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION_HELPTEXT :設定是否在有列車預留的軌道著色,使玩家更清楚觀察到列車經過路徑號誌時預留的路徑 STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :使建設工具在建造後仍保持啟用狀態:{STRING} STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :設定是否在完成建造橋樑、隧道或其他基礎建設後保持點選有關的工具按鈕 @@ -1429,7 +1464,7 @@ STR_CONFIG_SETTING_SERVINT_ISPERCENT :維護間隔以 STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :選擇啟動運輸工具自動前往維修設施進行維護的條件:要麼以上次進行維修的時距決定,要麼以可靠度下降的百分比(相對於其最大可靠度而言)決定 STR_CONFIG_SETTING_SERVINT_TRAINS :預設的列車維護作業時距: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :設定預設的列車維護作業時距。所有沒有指定維護作業時距的列車都會使用這個預設值 -STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA} 日/% +STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}日/% STR_CONFIG_SETTING_SERVINT_DISABLED :停用 STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES :預設的公路車輛維護作業時距: {STRING} STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES_HELPTEXT :設定預設的公路車輛維護作業時距。所有沒有指定維護作業時距的公路車輛都會使用這個預設值 @@ -1496,7 +1531,7 @@ STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT :選擇當進行 STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE :自動在指定年份前建造懸臂號誌:{STRING} STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT :設定使用燈號號誌的年份。在遊戲進行到那一年之前,系統會預設豎立懸臂號誌 STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI :啟用號誌介面:{STRING} -STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI_HELPTEXT :設定是否顯示「號誌工具列」。如否,玩家須按下 Ctrl 鍵並同時單撳已建置的號誌以更換號誌類型 +STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI_HELPTEXT :此設定讓您在興建號誌時,看到一個包括所有號誌種類的窗口,從而毋需按住 Ctrl 鍵再反覆點選已建置的號誌以更換號誌類型 STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE :預設的號誌種類:{STRING} STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE_HELPTEXT :預設建造的號誌種類 STR_CONFIG_SETTING_DEFAULT_SIGNAL_NORMAL :閉塞號誌 @@ -1568,12 +1603,10 @@ STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :每 {COMMA} 座 STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :無 STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :初始城市規模倍率:{STRING} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :設定遊戲開始時城市的大小 (相對於一般市鎮而言) -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :鋪設道路時移除不合理的路面:{STRING} -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD_HELPTEXT :設定是否在資助市鎮重建道路時移除死路 STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :每{STRING}日更新貨物分配圖 STR_CONFIG_SETTING_LINKGRAPH_INTERVAL_HELPTEXT :指定每次計算貨物分配圖之間的時間。由於每次重新計算只會處理一個貨物分配圖元件,因此本設定不代表「每若干日重新計算整個貨物分配圖」。{}如果此設定賦值越小,則系統需要使用更多處理器時間計算貨物分配圖。相反,如果此設定賦值越大,則貨物被派往新路線所需的時間越長。 -STR_CONFIG_SETTING_LINKGRAPH_TIME :每次更新貨物分配圖持續 {STRING} 天 +STR_CONFIG_SETTING_LINKGRAPH_TIME :用 {STRING}{NBSP}天更新貨物分配圖 STR_CONFIG_SETTING_LINKGRAPH_TIME_HELPTEXT :當更新貨物分配圖時,系統會衍生一條執行緒。本設定的值即為執行緒的持續時間。{}這設定賦值越小,執行緒越有可能在應當停止的時候仍未完成運算,遊戲會暫停運行至執行緒完成工作。相反,這設定賦值越大,則貨物分配功能需要較長時間反映路線網絡變動的影響。 STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :手動 STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :不對稱 @@ -1583,7 +1616,7 @@ STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :設使有交通 STR_CONFIG_SETTING_DISTRIBUTION_MAIL :郵件分配方式:{STRING} STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :設使有交通路線連接甲、乙兩站。「對稱」指甲站往乙站的郵件數量與乙站往甲站的郵件數量大致相同。「不對稱」指任何一站往另一站的郵件數量皆由系統隨意決定。「手動」指系統不會自動分配郵件的目的地。 STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :裝甲貨物分配方式:{STRING} -STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :依原有設定,「裝甲貨物」包括溫帶場景的「貴重物品」、寒帶場景的「金塊」及亞熱帶場景的「鑽石」。一些 NewGRF 可能有不同設定。{} 設使有交通路線連接甲、乙兩站。「對稱」指甲站往乙站的郵件數量與乙站往甲站的裝甲貨物數量大致相同。「不對稱」指任何一站往另一站的裝甲貨物數量皆由系統隨意決定。「手動」指系統不會自動分配裝甲貨物的目的地。{} 建議的設定:在溫帶場景應使用「對稱」,因為銀行會互相運送貴重物品;而在寒帶場景及亞熱帶場景應使用「不對稱」,因為銀行不會把金塊或鑽石送回礦場。 +STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :「裝甲貨物」包括溫帶場景的「貴重物品」、寒帶場景的「金塊」及亞熱帶場景的「鑽石」。使用 NewGRF 可能會改變以上設定。{} 設使有交通路線連接甲、乙兩站。「對稱」指甲站往乙站的郵件數量與乙站往甲站的裝甲貨物數量大致相同。「不對稱」指任何一站往另一站的裝甲貨物數量皆由系統隨意決定。「手動」指系統不會自動分配裝甲貨物的目的地。{} 建議在溫帶及亞熱帶場景應使用「對稱」,因為銀行會互相發送貴重物品或鑽石;而在寒帶場景應使用「不對稱」,因為銀行不會把金塊送回礦場。 STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :其他貨物分配方式:{STRING} STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :如設定此值為「不對稱」,則任何一站往另一站的貨物數量皆由系統隨意決定。如設定此值為「手動」,則系統不會自動分配貨物的目的地。 STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :分配精確度:{STRING} @@ -1631,27 +1664,29 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :英制(英呎 STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :米制(米) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :國際單位(米) -STR_CONFIG_SETTING_GUI :{ORANGE}介面 STR_CONFIG_SETTING_LOCALISATION :{ORANGE}本地化 -STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}建造 -STR_CONFIG_SETTING_VEHICLES :{ORANGE}運輸工具 -STR_CONFIG_SETTING_STATIONS :{ORANGE}車站 -STR_CONFIG_SETTING_ECONOMY :{ORANGE}經濟 -STR_CONFIG_SETTING_LINKGRAPH :{ORANGE}貨物分配 -STR_CONFIG_SETTING_AI :{ORANGE}競爭對手 -STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}顯示選項 -STR_CONFIG_SETTING_INTERACTION :{ORANGE}互動 +STR_CONFIG_SETTING_GRAPHICS :{ORANGE}圖形 STR_CONFIG_SETTING_SOUND :{ORANGE}音效 -STR_CONFIG_SETTING_NEWS :{ORANGE}新聞與訊息 -STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}號誌 -STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE}貨物裝載 -STR_CONFIG_SETTING_AI_NPC :{ORANGE}電腦玩家 -STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE}自動更新 -STR_CONFIG_SETTING_VEHICLES_SERVICING :{ORANGE}維修 +STR_CONFIG_SETTING_INTERFACE :{ORANGE}介面 +STR_CONFIG_SETTING_INTERFACE_GENERAL :{ORANGE}基本顯示 +STR_CONFIG_SETTING_INTERFACE_VIEWPORTS :{ORANGE}顯示設定 +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}建造 +STR_CONFIG_SETTING_ADVISORS :{ORANGE}訊息提示 +STR_CONFIG_SETTING_COMPANY :{ORANGE}預設的基建及運具選項 +STR_CONFIG_SETTING_ACCOUNTING :{ORANGE}財務 +STR_CONFIG_SETTING_VEHICLES :{ORANGE}運輸工具 +STR_CONFIG_SETTING_VEHICLES_PHYSICS :{ORANGE}物理 STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}路線 -STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}列車 -STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}市鎮 -STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}工業 +STR_CONFIG_SETTING_LIMITATIONS :{ORANGE}遊戲限制 +STR_CONFIG_SETTING_ACCIDENTS :{ORANGE}災難/事故 +STR_CONFIG_SETTING_GENWORLD :{ORANGE}地圖的產生 +STR_CONFIG_SETTING_ENVIRONMENT :{ORANGE}環境 +STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :{ORANGE}地方政府 +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}市鎮 +STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}工業 +STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :{ORANGE}貨物分配 +STR_CONFIG_SETTING_AI :{ORANGE}競爭對手 +STR_CONFIG_SETTING_AI_NPC :{ORANGE}電腦玩家 STR_CONFIG_SETTING_PATHFINDER_OPF :預設 STR_CONFIG_SETTING_PATHFINDER_NPF :NPF @@ -1700,7 +1735,7 @@ STR_INTRO_MULTIPLAYER :{BLACK}多人 STR_INTRO_GAME_OPTIONS :{BLACK}遊戲選項 STR_INTRO_HIGHSCORE :{BLACK}積分排行榜 -STR_INTRO_ADVANCED_SETTINGS :{BLACK}進階設定 +STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}設定 STR_INTRO_NEWGRF_SETTINGS :{BLACK}NewGRF 設定 STR_INTRO_ONLINE_CONTENT :{BLACK}檢查線上內容 STR_INTRO_SCRIPT_SETTINGS :{BLACK}AI / 遊戲腳本設定 @@ -1720,7 +1755,7 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}選擇 STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}顯示遊戲選項 STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}顯示積分排行榜 -STR_INTRO_TOOLTIP_ADVANCED_SETTINGS :{BLACK}顯示進階設定 +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}顯示設定 STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}顯示 NewGRF 設定 STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}檢查有無最新或可更新的內容可下載 STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}顯示AI和遊戲腳本設定 @@ -1760,6 +1795,8 @@ STR_CHEAT_CHANGE_COMPANY :{LTBLUE}切換 STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}神奇推土機 (可摧毀工業、無法移除的物件):{ORANGE}{STRING} STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}允許隧道互相交叉:{ORANGE}{STRING} STR_CHEAT_NO_JETCRASH :{LTBLUE}噴射機不會 (經常) 在小機場墜毀:{ORANGE} {STRING} +STR_CHEAT_EDIT_MAX_HL :{LTBLUE}修改地圖最高高度: {ORANGE}{NUM} +STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}修改地圖上山丘的最高高度 STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE :溫帶 STR_CHEAT_SWITCH_CLIMATE_SUB_ARCTIC_LANDSCAPE :寒帶 STR_CHEAT_SWITCH_CLIMATE_SUB_TROPICAL_LANDSCAPE :亞熱帶 @@ -1808,6 +1845,7 @@ STR_LIVERY_FREIGHT_TRAM :載貨電車 STR_FACE_CAPTION :{WHITE}選擇臉孔 STR_FACE_CANCEL_TOOLTIP :{BLACK}取消選擇新臉孔 STR_FACE_OK_TOOLTIP :{BLACK}接受新臉孔 +STR_FACE_RANDOM :{BLACK}亂數化 STR_FACE_MALE_BUTTON :{BLACK}男性 STR_FACE_MALE_TOOLTIP :{BLACK}選擇男性臉孔 @@ -2277,7 +2315,7 @@ STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}以自 STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}興建鐵路機廠 (用來購置及維修列車)。按Shift可切換建築/顯示預估成本。 STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}將軌道轉成號誌站。 按住 Ctrl 可興建相鄰車站。按Shift可切換建築/顯示預估成本。 STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}興建火車站。 按住 Ctrl 可興建相鄰車站。按Shift可切換建築/顯示預估成本。 -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}興建鐵路號誌。 按住 Ctrl 點選可切換懸臂/燈號號誌{} 於直線鐵路上拖曳可興建多個號誌。 按住 Ctrl 拖曳則只興建號誌至下個岔道{} 於選單按鈕。按住 Ctrl 點選可切換顯示號誌選擇視窗。按Shift可切換建築/顯示預估成本。 +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}興建鐵路號誌。{} 按住 Ctrl 鍵再點選鐵路,系統會切換懸臂/燈號號誌,或者更改被點選號誌的種類{} 在直線鐵路上拖曳,系統會依照設定的號誌間距,沿路興建多個號誌。按住 Ctrl 鍵再拖曳,系統會興建號誌至下個岔道{} 如果按住 Shift 鍵再點選鐵路或在鐵路上拖曳,系統會顯示興建號誌所需成本,但不會建造號誌{} 如果按住 Ctrl 再點選此鍵,系統會切換號誌選擇視窗的顯示狀態。 STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}興建鐵路橋樑。按Shift可切換建築/顯示預估成本。 STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}挖掘鐵路隧道。按Shift可切換建築/顯示預估成本。 STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}切換建築/移除鐵軌、號誌、號誌站及車站。 按住 Ctrl 點選可移除號誌站及車站中的鐵軌 @@ -2559,7 +2597,7 @@ STR_LAI_CLEAR_DESCRIPTION_ROCKS :石頭 STR_LAI_CLEAR_DESCRIPTION_ROUGH_LAND :粗地 STR_LAI_CLEAR_DESCRIPTION_BARE_LAND :裸地 STR_LAI_CLEAR_DESCRIPTION_GRASS :草地 -STR_LAI_CLEAR_DESCRIPTION_FIELDS :農場 +STR_LAI_CLEAR_DESCRIPTION_FIELDS :田地 STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND :覆雪地 STR_LAI_CLEAR_DESCRIPTION_DESERT :沙漠 @@ -2649,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-2014 OpenTTD 開發小組 +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 OpenTTD 開發小組 # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}儲存遊戲 @@ -2684,13 +2722,12 @@ STR_MAPGEN_BY :{BLACK}* STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}市鎮數量: STR_MAPGEN_DATE :{BLACK}日期: STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}工業數量: +STR_MAPGEN_MAX_HEIGHTLEVEL :{BLACK}地圖最高高度 +STR_MAPGEN_MAX_HEIGHTLEVEL_UP :{BLACK}將地圖上山丘的最高高度加 1 +STR_MAPGEN_MAX_HEIGHTLEVEL_DOWN :{BLACK}將地圖上山丘的最高高度減去 1 STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}雪線高度: STR_MAPGEN_SNOW_LINE_UP :{BLACK}將雪線高度上移一層 STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}將雪線高度下移一層 -STR_MAPGEN_RANDOM_SEED :{BLACK}亂數種子: -STR_MAPGEN_RANDOM_SEED_HELP :{BLACK}點選可輸入亂數種子 -STR_MAPGEN_RANDOM :{BLACK}亂數化 -STR_MAPGEN_RANDOM_HELP :{BLACK}改變地形產生的亂數種子 STR_MAPGEN_LAND_GENERATOR :{BLACK}地形產生器: STR_MAPGEN_TREE_PLACER :{BLACK}植樹演算法: STR_MAPGEN_TERRAIN_TYPE :{BLACK}地形種類: @@ -2717,7 +2754,7 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}高度 STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}大小: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} -STR_MAPGEN_RANDOM_SEED_OSKTITLE :{BLACK}輸入亂數種子 +STR_MAPGEN_MAX_HEIGHTLEVEL_QUERY_CAPT :{WHITE}改變地圖最高高度 STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}修改雪線高度 STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}修改開始年份 @@ -2772,6 +2809,8 @@ STR_NEWGRF_SETTINGS_MOVEUP :{BLACK}上移 STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP :{BLACK}將選定的 NewGRF 檔往清單上方移動 STR_NEWGRF_SETTINGS_MOVEDOWN :{BLACK}下移 STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP :{BLACK}將選定的 NewGRF 檔往清單下方移動 +STR_NEWGRF_SETTINGS_UPGRADE :{BLACK}更新 +STR_NEWGRF_SETTINGS_UPGRADE_TOOLTIP :{BLACK}為您已經安裝的新版本更新NewGRF檔案 STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}已安裝的 NewGRF 檔案列表。 STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}設定參數 @@ -2796,6 +2835,16 @@ STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}找不到 STR_NEWGRF_SETTINGS_DISABLED :{RED}停用 STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}與此版本的OpenTTD不相容 +# NewGRF save preset window +STR_SAVE_PRESET_CAPTION :{WHITE}儲存設定值 +STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK}現有的預設值名稱。點選一個預設值名稱,它會被複製到下方的輸入欄 +STR_SAVE_PRESET_TITLE :{BLACK}輸入預設值名稱 +STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}預設值會儲存成現時選定的名稱 +STR_SAVE_PRESET_CANCEL :{BLACK}取消 +STR_SAVE_PRESET_CANCEL_TOOLTIP :{BLACK}請勿修改預設值 +STR_SAVE_PRESET_SAVE :{BLACK}存檔 +STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}儲存預設值到選擇的名稱 + # NewGRF parameters window STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}變更 NewGRF 參數 STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}關閉 @@ -2818,19 +2867,22 @@ STR_NEWGRF_INSPECT_QUERY_CAPTION :{WHITE}NewGRF v # Sprite aligner window STR_SPRITE_ALIGNER_CAPTION :{WHITE}定位 Sprite {COMMA} ({STRING}) -STR_SPRITE_ALIGNER_NEXT_BUTTON :{BLACK}下一個 Sprite -STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}繼續處理下個正常的 sprite,略過任何偽 (pseudo)/重新著色/文字 sprite 及結尾的換行標記 -STR_SPRITE_ALIGNER_GOTO_BUTTON :{BLACK}前往 Sprite +STR_SPRITE_ALIGNER_NEXT_BUTTON :{BLACK}下一個子畫面 +STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}繼續處理下個正常的子畫面,略過任何虛位/重新著色/文字字型相關的子畫面,並在到達最後的子畫面後,返回第一個子畫面繼續進行處理。 +STR_SPRITE_ALIGNER_GOTO_BUTTON :{BLACK}前往子畫面 STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}前往選定的 sprite。若該 sprite 不是正常的 sprite,則繼續前進到下個 sprite -STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}上一個 Sprite -STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}繼續處理上個正常的 sprite,略過任何偽 (pseudo)/重新著色/文字 sprite 及開頭的換行標記 +STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}上一個子畫面 +STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}繼續處理上一個正常的子畫面,略過任何虛位/重新著色/文字字型相關的子畫面,並在到達第一個子畫面後,返回最後的子畫面繼續進行處理。 STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}顯示目前選取的 sprite。當 sprite 正在描繪時會忽略其定位 STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}移動 sprite 到指定的 X 及 Y 座標位移 -STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X 座標位移:{NUM}, Y 座標位移:{NUM} +STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}重設相對值 +STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}重設目前的相對位移值 +STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}X 位移:{NUM},Y 位移:{NUM}(絕對值) +STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}X 位移:{NUM},Y 位移:{NUM}(相對值) STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}選取 Sprite STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}請從畫面中任意選取一個 sprite -STR_SPRITE_ALIGNER_GOTO_CAPTION :{WHITE}前往 Sprite +STR_SPRITE_ALIGNER_GOTO_CAPTION :{WHITE}前往子畫面 # NewGRF (self) generated warnings/errors STR_NEWGRF_ERROR_MSG_INFO :{SILVER}{STRING} @@ -2938,8 +2990,8 @@ STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} 已運送 STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (仍然需要) STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN}(已運送) -STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}該市鎮每隔 {ORANGE}{COMMA}{BLACK} 天擴張一次 -STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}該市鎮每隔 {ORANGE}{COMMA}{BLACK} 天擴張一次 (有資金協助) +STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}該市鎮每隔 {ORANGE}{COMMA}{BLACK}{NBSP}天擴張一次 +STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}該市鎮每隔 {ORANGE}{COMMA}{BLACK}{NBSP}天擴張一次 (正接受資助) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}市鎮{RED}不在{BLACK}成長 STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}市鎮噪音限制:{ORANGE}{COMMA}{BLACK} 最大:{ORANGE}{COMMA} STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}將市鎮置於畫面中央。按住 Ctrl 點選可於市鎮位置開啟新視窗視野 @@ -2999,7 +3051,7 @@ STR_GOAL_QUESTION_CAPTION_INFORMATION :資訊 STR_GOAL_QUESTION_CAPTION_WARNING :警告 STR_GOAL_QUESTION_CAPTION_ERROR :錯誤 -### Start of Goal Question button list +############ Start of Goal Question button list STR_GOAL_QUESTION_BUTTON_CANCEL :取消 STR_GOAL_QUESTION_BUTTON_OK :確定 STR_GOAL_QUESTION_BUTTON_NO :否 @@ -3018,6 +3070,7 @@ STR_GOAL_QUESTION_BUTTON_RESTART :重新啟動 STR_GOAL_QUESTION_BUTTON_POSTPONE :延遲 STR_GOAL_QUESTION_BUTTON_SURRENDER :投降 STR_GOAL_QUESTION_BUTTON_CLOSE :關閉 +############ End of Goal Question button list # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}補助資訊 @@ -3053,7 +3106,6 @@ STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}無任 # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} -STR_STATION_VIEW_WAITING_TITLE :{BLACK}等候:{WHITE}{STRING} STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} 來自 {STATION}) STR_STATION_VIEW_RESERVED :{YELLOW}(已預留裝載{CARGO_SHORT}) @@ -3303,6 +3355,8 @@ STR_GROUP_DELETE_TOOLTIP :{BLACK}移除 STR_GROUP_RENAME_TOOLTIP :{BLACK}重新命名群組 STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}點選可保護此群組排除在全域自動替換設定之外 +STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}刪除群組 +STR_GROUP_DELETE_QUERY_TEXT :{WHITE}您是否決定刪除此群組及其所有子群組? STR_GROUP_ADD_SHARED_VEHICLE :加入共享指令的運具 STR_GROUP_REMOVE_ALL_VEHICLES :移去所有運具 @@ -3341,10 +3395,10 @@ STR_PURCHASE_INFO_ALL_BUT :所有貨物( STR_PURCHASE_INFO_MAX_TE :{BLACK}最大牽引力:{GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}範圍: {GOLD}{COMMA} 方格 -STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}列車選單 - 點選列車檢視資訊 -STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}車輛清單 - 點選車輛可看到詳細資料 -STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}船舶清單 - 點選船舶顯示詳細資料 -STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}飛機清單 - 點選飛機檢視詳細資料 +STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}列車選單。點選機車或車卡檢視詳細資訊,或者按住 Ctrl 鍵再點選機車或車卡以切換是否顯示機車或車卡的種類 +STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}車輛選單。點選車輛檢視詳細資訊,或者按住 Ctrl 鍵再點選車輛以切換是否顯示車輛的種類 +STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}船舶選單。點選船舶檢視詳細資訊,或者按住 Ctrl 鍵再點選船舶以切換是否顯示船舶的種類 +STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}飛機選單。點選飛機檢視詳細資訊,或者按住 Ctrl 鍵再點選飛機以切換是否顯示飛機的種類 STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}購買運具 STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}購買車輛 @@ -3366,6 +3420,21 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}重新 STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}重新命名船舶種類 STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}重新命名飛機種類 +STR_BUY_VEHICLE_TRAIN_HIDE_TOGGLE_BUTTON :{BLACK}隱藏 +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_TOGGLE_BUTTON :{BLACK}隱藏 +STR_BUY_VEHICLE_SHIP_HIDE_TOGGLE_BUTTON :{BLACK}隱藏 +STR_BUY_VEHICLE_AIRCRAFT_HIDE_TOGGLE_BUTTON :{BLACK}隱藏 + +STR_BUY_VEHICLE_TRAIN_SHOW_TOGGLE_BUTTON :{BLACK}顯示 +STR_BUY_VEHICLE_ROAD_VEHICLE_SHOW_TOGGLE_BUTTON :{BLACK}顯示 +STR_BUY_VEHICLE_SHIP_SHOW_TOGGLE_BUTTON :{BLACK}顯示 +STR_BUY_VEHICLE_AIRCRAFT_SHOW_TOGGLE_BUTTON :{BLACK}顯示 + +STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}切換是否顯示列車類型 +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}切換是否顯示車輛類型 +STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}切換是否顯示船舶類型 +STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}切換是否顯示飛機類型 + STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}重新命名列車種類 STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}重新命名車輛種類 STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}重新命名船舶種類 @@ -3419,7 +3488,7 @@ STR_DEPOT_CLONE_ROAD_VEHICLE :{BLACK}複製 STR_DEPOT_CLONE_SHIP :{BLACK}複製船舶 STR_DEPOT_CLONE_AIRCRAFT :{BLACK}複製飛機 -STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}這會購買一列相同的列車,包含所有車廂。按下按鈕之後再點選機廠内外的其他列車,按住 CTRL 點選還可共享指令,按住 Shift 點選則只會顯示預估的購買費用 +STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}點選此按鈕,然後再點選列車,系統會建造一列跟它一樣的列車。{}如果點選此按鈕之後,按住 Ctrl 鍵點選列車,則新列車會與舊列車共享指令。{}如果點選此按鈕之後,按住 Shift 鍵點選列車,系統會顯示建造新列車的費用,而不建造列車。 STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}點選此按鈕,然後點選任何一部於車廠内或外的車輛,會購買一部屬性與指令清單皆相同的車輛。如按住 Ctrl 掣點選車輛,新車輛會與原有車輛共享指令;如按住 Shift 掣點選車輛,系統會顯示預估的購買費用但不作任何購買 STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}這會購買一艘相同的船舶。按下按鈕之後再點選船塢内或外的船舶,按住 CTRL 點選還可共享指令,按住 Shift 點選則只會顯示預估的購買費用 STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}這會購買一架相同的飛機。按下此鈕之後再點選機棚内或外的飛機,按住 CTRL 點選還可共享指令,按住 Shift 點選則只會顯示預估的購買費用 @@ -3470,6 +3539,11 @@ STR_REPLACE_VEHICLE_ROAD_VEHICLE :車輛 STR_REPLACE_VEHICLE_SHIP :船舶 STR_REPLACE_VEHICLE_AIRCRAFT :飛機 +STR_REPLACE_VEHICLE_VEHICLES_IN_USE :{YELLOW}使用中的運輸工具 +STR_REPLACE_VEHICLE_VEHICLES_IN_USE_TOOLTIP :{BLACK}此行顯示您正在擁有的運輸工具 +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES :{YELLOW}可用的運輸工具 +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES_TOOLTIP :{BLACK}此行顯示可供替換的運輸工具 + STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}選擇要替換的車頭種類 STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}選擇您想替換左方選定車頭的新車頭種類 @@ -3594,7 +3668,7 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}容量 STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}轉運潛在收入:{LTBLUE}{CURRENCY_LONG} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}維護間隔:{LTBLUE}{COMMA} 天{BLACK} 上次維護:{LTBLUE}{DATE_LONG} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}每隔 {LTBLUE}{COMMA}{NBSP}天進行維護{BLACK} 上次維護日期:{LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}維護間隔:{LTBLUE}{COMMA}%{BLACK} 上次維護:{LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}以 10 為單位延長維護間隔。 按住 Ctrl 點選可以 5 為單位 STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}以 10 為單位縮短維護間隔。 按住 Ctrl 點選可以 5 為單位 @@ -3824,10 +3898,14 @@ STR_TIMETABLE_TRAVEL_NOT_TIMETABLED :運行中 (未 STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :以不超過 {2:VELOCITY} 的速度運行 (未指定時間) STR_TIMETABLE_TRAVEL_FOR :運行需時 {STRING} STR_TIMETABLE_TRAVEL_FOR_SPEED :以不超過 {1:VELOCITY} 的速度運行 {0:STRING} +STR_TIMETABLE_TRAVEL_FOR_ESTIMATED :運行 {STRING} (未指定時間) +STR_TIMETABLE_TRAVEL_FOR_SPEED_ESTIMATED :運行 {STRING} (速度不超過 {VELOCITY},未指定時間) +STR_TIMETABLE_STAY_FOR_ESTIMATED :等待 {STRING} (未指定時間) +STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(運行 {STRING} ,未指定時間) STR_TIMETABLE_STAY_FOR :並等待 {STRING} STR_TIMETABLE_AND_TRAVEL_FOR :並運行 {STRING} -STR_TIMETABLE_DAYS :{COMMA} 日 -STR_TIMETABLE_TICKS :{COMMA} tick +STR_TIMETABLE_DAYS :{COMMA}{NBSP}日 +STR_TIMETABLE_TICKS :{COMMA}{NBSP}個時間標記 STR_TIMETABLE_TOTAL_TIME :{BLACK}此時刻表跑完全程需時 {STRING} STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}此時刻表跑完全程至少需時 {STRING} (此表尚未完成) @@ -4065,6 +4143,7 @@ STR_ERROR_EXCAVATION_WOULD_DAMAGE :{WHITE}挖掘 STR_ERROR_ALREADY_AT_SEA_LEVEL :{WHITE}已到海平面 STR_ERROR_TOO_HIGH :{WHITE}... 太高 STR_ERROR_ALREADY_LEVELLED :{WHITE}... 已經平了 +STR_ERROR_BRIDGE_TOO_HIGH_AFTER_LOWER_LAND :{WHITE}這樣做的話,在它上面的橋樑會太高 # Company related errors STR_ERROR_CAN_T_CHANGE_COMPANY_NAME :{WHITE}無法修改公司名稱... @@ -4091,7 +4170,7 @@ STR_ERROR_TOO_CLOSE_TO_EDGE_OF_MAP_SUB :{WHITE}... 太 STR_ERROR_TOO_CLOSE_TO_ANOTHER_TOWN :{WHITE}... 太接近另一個市鎮 STR_ERROR_TOO_MANY_TOWNS :{WHITE}... 已有太多市鎮 STR_ERROR_NO_SPACE_FOR_TOWN :{WHITE}... 地圖沒有足夠空間 -STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}此市鎮不會自動興建道路。你可以到 [進階設定] -> [經濟] -> [市鎮] 中啟用 [市鎮可以興建道路] 選項。 +STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}市鎮不會自動興建道路。你可以在 [設定] -> [環境] -> [市鎮] 啟用市鎮自行興建道路的功能。 STR_ERROR_ROAD_WORKS_IN_PROGRESS :{WHITE}道路施工中 STR_ERROR_TOWN_CAN_T_DELETE :{WHITE}無法刪除此市鎮...{}市鎮範圍內還有車站或機廠或無法移除的區塊 STR_ERROR_STATUE_NO_SUITABLE_PLACE :{WHITE}... 市中心沒有適合的空間建造雕像 @@ -4115,6 +4194,9 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... 森 STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... 只能在雪線以上建造 STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... 只能在雪線以下建造 +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}無適當地點興建「{STRING}」工業 +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}請更改參數以產生較佳的地圖 + # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}無法在此興建火車站... STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}無法興建公車站... @@ -4251,6 +4333,7 @@ STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}必須 STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}開始與結束的位置必須不同 STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}橋樑兩端不在同個海拔 STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}橋樑太接近地面 +STR_ERROR_BRIDGE_TOO_HIGH_FOR_TERRAIN :{WHITE}這座橋對這個地形而言太高了 STR_ERROR_START_AND_END_MUST_BE_IN :{WHITE}開始與結束位置必須在同一直線上 STR_ERROR_ENDS_OF_BRIDGE_MUST_BOTH :{WHITE}... 橋樑的兩端應在陸地上 STR_ERROR_BRIDGE_TOO_LONG :{WHITE}... 橋樑過長 @@ -4277,6 +4360,7 @@ STR_ERROR_YOU_ALREADY_OWN_IT :{WHITE}... 您 STR_ERROR_GROUP_CAN_T_CREATE :{WHITE}無法建立群組... STR_ERROR_GROUP_CAN_T_DELETE :{WHITE}無法移除群組... STR_ERROR_GROUP_CAN_T_RENAME :{WHITE}無法修改群組名稱... +STR_ERROR_GROUP_CAN_T_SET_PARENT :{WHITE}無法指定母群組 STR_ERROR_GROUP_CAN_T_REMOVE_ALL_VEHICLES :{WHITE}無法從此群組移去所有運輸工具... STR_ERROR_GROUP_CAN_T_ADD_VEHICLE :{WHITE}無法加入該運輸工具到此群組... STR_ERROR_GROUP_CAN_T_ADD_SHARED_VEHICLE :{WHITE}無法加入共享指令的運輸工具到此群組... @@ -4814,6 +4898,7 @@ STR_COMPANY_NAME :{COMPANY} STR_COMPANY_NAME_COMPANY_NUM :{COMPANY} {COMPANY_NUM} STR_DEPOT_NAME :{DEPOT} STR_ENGINE_NAME :{ENGINE} +STR_HIDDEN_ENGINE_NAME :{ENGINE} (隱藏) STR_GROUP_NAME :{GROUP} STR_INDUSTRY_NAME :{INDUSTRY} STR_PRESIDENT_NAME :{PRESIDENT_NAME} @@ -4849,8 +4934,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -4861,9 +4944,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/turkish.txt b/src/lang/turkish.txt index cd339d8f3a..319961d6e6 100644 --- a/src/lang/turkish.txt +++ b/src/lang/turkish.txt @@ -96,30 +96,30 @@ STR_CARGO_SINGULAR_FIZZY_DRINK :Gazlı İçecek # Quantity of cargo STR_QUANTITY_NOTHING : -STR_QUANTITY_PASSENGERS :{COMMA} yolcu +STR_QUANTITY_PASSENGERS :{COMMA}{NBSP}yolcu STR_QUANTITY_COAL :{WEIGHT_LONG} kömür -STR_QUANTITY_MAIL :{COMMA} çanta posta +STR_QUANTITY_MAIL :{COMMA}{NBSP}çanta posta STR_QUANTITY_OIL :{VOLUME_LONG} petrol -STR_QUANTITY_LIVESTOCK :{COMMA} tane hayvan -STR_QUANTITY_GOODS :{COMMA} kasa eşya +STR_QUANTITY_LIVESTOCK :{COMMA}{NBSP}tane hayvan +STR_QUANTITY_GOODS :{COMMA}{NBSP}kasa eşya STR_QUANTITY_GRAIN :{WEIGHT_LONG} tahıl STR_QUANTITY_WOOD :{WEIGHT_LONG} odun STR_QUANTITY_IRON_ORE :{WEIGHT_LONG} demir STR_QUANTITY_STEEL :{WEIGHT_LONG} çelik -STR_QUANTITY_VALUABLES :{COMMA} çanta değerli eşya +STR_QUANTITY_VALUABLES :{COMMA}{NBSP}çanta değerli eşya STR_QUANTITY_COPPER_ORE :{WEIGHT_LONG} bakır STR_QUANTITY_MAIZE :{WEIGHT_LONG} mısır STR_QUANTITY_FRUIT :{WEIGHT_LONG} meyve -STR_QUANTITY_DIAMONDS :{COMMA} çanta elmas +STR_QUANTITY_DIAMONDS :{COMMA}{NBSP}çanta elmas STR_QUANTITY_FOOD :{WEIGHT_LONG} gıda STR_QUANTITY_PAPER :{WEIGHT_LONG} kağıt -STR_QUANTITY_GOLD :{COMMA} çanta altın +STR_QUANTITY_GOLD :{COMMA}{NBSP}çanta altın STR_QUANTITY_WATER :{VOLUME_LONG} su STR_QUANTITY_WHEAT :{WEIGHT_LONG} buğday STR_QUANTITY_RUBBER :{VOLUME_LONG} kauçuk STR_QUANTITY_SUGAR :{WEIGHT_LONG} şeker -STR_QUANTITY_TOYS :{COMMA} oyuncak -STR_QUANTITY_SWEETS :{COMMA} çanta tatlı +STR_QUANTITY_TOYS :{COMMA}{NBSP}oyuncak +STR_QUANTITY_SWEETS :{COMMA}{NBSP}çanta tatlı STR_QUANTITY_COLA :{VOLUME_LONG} kola STR_QUANTITY_CANDYFLOSS :{WEIGHT_LONG} pamuk şeker STR_QUANTITY_BUBBLES :{COMMA} baloncuk @@ -166,12 +166,12 @@ STR_ABBREV_NONE :{TINY_FONT}YOK STR_ABBREV_ALL :{TINY_FONT}HEPSİ # 'Mode' of transport for cargoes -STR_PASSENGERS :{COMMA} yolcu -STR_BAGS :{COMMA} çanta -STR_TONS :{COMMA} ton -STR_LITERS :{COMMA} litre -STR_ITEMS :{COMMA} adet -STR_CRATES :{COMMA} kasa +STR_PASSENGERS :{COMMA}{NBSP}yolcu +STR_BAGS :{COMMA}{NBSP}çanta +STR_TONS :{COMMA}{NBSP}ton +STR_LITERS :{COMMA}{NBSP}litre +STR_ITEMS :{COMMA}{NBSP}adet +STR_CRATES :{COMMA}{NBSP}kasa # Colours, do not shuffle STR_COLOUR_DARK_BLUE :Koyu Mavi @@ -192,37 +192,37 @@ STR_COLOUR_GREY :Gri STR_COLOUR_WHITE :Beyaz # Units used in OpenTTD -STR_UNITS_VELOCITY_IMPERIAL :{COMMA} mil/s -STR_UNITS_VELOCITY_METRIC :{COMMA} km/s -STR_UNITS_VELOCITY_SI :{COMMA} m/s +STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}mil/s +STR_UNITS_VELOCITY_METRIC :{COMMA}{NBSP}km/s +STR_UNITS_VELOCITY_SI :{COMMA}{NBSP}m/s -STR_UNITS_POWER_IMPERIAL :{COMMA}bg -STR_UNITS_POWER_METRIC :{COMMA}bg -STR_UNITS_POWER_SI :{COMMA}kW +STR_UNITS_POWER_IMPERIAL :{COMMA}{NBSP}bg +STR_UNITS_POWER_METRIC :{COMMA}{NBSP}bg +STR_UNITS_POWER_SI :{COMMA}{NBSP}kW -STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}t -STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}t -STR_UNITS_WEIGHT_SHORT_SI :{COMMA}kg +STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_SI :{COMMA}{NBSP}kg -STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA} ton -STR_UNITS_WEIGHT_LONG_METRIC :{COMMA} ton -STR_UNITS_WEIGHT_LONG_SI :{COMMA} kg +STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA}{NBSP}ton +STR_UNITS_WEIGHT_LONG_METRIC :{COMMA}{NBSP}ton +STR_UNITS_WEIGHT_LONG_SI :{COMMA}{NBSP}kg -STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}gal -STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}l -STR_UNITS_VOLUME_SHORT_SI :{COMMA}m³ +STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}{NBSP}gal +STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}{NBSP}l +STR_UNITS_VOLUME_SHORT_SI :{COMMA}{NBSP}m³ -STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA} galon -STR_UNITS_VOLUME_LONG_METRIC :{COMMA} litre -STR_UNITS_VOLUME_LONG_SI :{COMMA} m³ +STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA}{NBSP}galon +STR_UNITS_VOLUME_LONG_METRIC :{COMMA}{NBSP}litre +STR_UNITS_VOLUME_LONG_SI :{COMMA}{NBSP}m³ -STR_UNITS_FORCE_IMPERIAL :{COMMA} lbf -STR_UNITS_FORCE_METRIC :{COMMA} kgf -STR_UNITS_FORCE_SI :{COMMA} kN +STR_UNITS_FORCE_IMPERIAL :{COMMA}{NBSP}lbf +STR_UNITS_FORCE_METRIC :{COMMA}{NBSP}kgf +STR_UNITS_FORCE_SI :{COMMA}{NBSP}kN -STR_UNITS_HEIGHT_IMPERIAL :{COMMA} ft -STR_UNITS_HEIGHT_METRIC :{COMMA} m -STR_UNITS_HEIGHT_SI :{COMMA} m +STR_UNITS_HEIGHT_IMPERIAL :{COMMA}{NBSP}ft +STR_UNITS_HEIGHT_METRIC :{COMMA}{NBSP}m +STR_UNITS_HEIGHT_SI :{COMMA}{NBSP}m # Common window strings STR_LIST_FILTER_TITLE :{BLACK}Süzgeç metni: @@ -249,6 +249,9 @@ STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Kaydırm STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Kaydırma çubuğu - listeyi sağa/sola kaydır STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Bir arazi üzerinde bulunan binaları ve benzeri yapıları yık. Ctrl bir alanı köşeden köşeye seçer. Shift ile tıklama maliyet tahminini gösterir +# Show engines button + + # Query window STR_BUTTON_DEFAULT :{BLACK}Varsayılan STR_BUTTON_CANCEL :{BLACK}İptal @@ -362,7 +365,6 @@ STR_SCENEDIT_FILE_MENU_QUIT :Oyundan Çık ############ range for settings menu starts STR_SETTINGS_MENU_GAME_OPTIONS :Seçenekler -STR_SETTINGS_MENU_CONFIG_SETTINGS :Gelişmiş ayarlar STR_SETTINGS_MENU_SCRIPT_SETTINGS :YZ/Oyun betik ayarları STR_SETTINGS_MENU_NEWGRF_SETTINGS :NewGRF ayarları STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Şeffaflık seçenekleri @@ -471,7 +473,7 @@ STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Çerçeveleri a STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Kirli blokları renklendir/renklendirme ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window STR_ORDINAL_NUMBER_1ST :1. STR_ORDINAL_NUMBER_2ND :2. STR_ORDINAL_NUMBER_3RD :3. @@ -487,22 +489,40 @@ STR_ORDINAL_NUMBER_12TH :12. STR_ORDINAL_NUMBER_13TH :13. STR_ORDINAL_NUMBER_14TH :14. STR_ORDINAL_NUMBER_15TH :15. -STR_ORDINAL_NUMBER_16TH :16. -STR_ORDINAL_NUMBER_17TH :17. -STR_ORDINAL_NUMBER_18TH :18. -STR_ORDINAL_NUMBER_19TH :19. -STR_ORDINAL_NUMBER_20TH :20. -STR_ORDINAL_NUMBER_21ST :21. -STR_ORDINAL_NUMBER_22ND :22. -STR_ORDINAL_NUMBER_23RD :23. -STR_ORDINAL_NUMBER_24TH :24. -STR_ORDINAL_NUMBER_25TH :25. -STR_ORDINAL_NUMBER_26TH :26. -STR_ORDINAL_NUMBER_27TH :27. -STR_ORDINAL_NUMBER_28TH :28. -STR_ORDINAL_NUMBER_29TH :29. -STR_ORDINAL_NUMBER_30TH :30. -STR_ORDINAL_NUMBER_31ST :31. +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :1. +STR_DAY_NUMBER_2ND :2. +STR_DAY_NUMBER_3RD :3. +STR_DAY_NUMBER_4TH :4. +STR_DAY_NUMBER_5TH :5. +STR_DAY_NUMBER_6TH :6. +STR_DAY_NUMBER_7TH :7. +STR_DAY_NUMBER_8TH :8. +STR_DAY_NUMBER_9TH :9. +STR_DAY_NUMBER_10TH :10. +STR_DAY_NUMBER_11TH :11. +STR_DAY_NUMBER_12TH :12. +STR_DAY_NUMBER_13TH :13. +STR_DAY_NUMBER_14TH :14. +STR_DAY_NUMBER_15TH :15. +STR_DAY_NUMBER_16TH :16. +STR_DAY_NUMBER_17TH :17. +STR_DAY_NUMBER_18TH :18. +STR_DAY_NUMBER_19TH :19. +STR_DAY_NUMBER_20TH :20. +STR_DAY_NUMBER_21ST :21. +STR_DAY_NUMBER_22ND :22. +STR_DAY_NUMBER_23RD :23. +STR_DAY_NUMBER_24TH :24. +STR_DAY_NUMBER_25TH :25. +STR_DAY_NUMBER_26TH :26. +STR_DAY_NUMBER_27TH :27. +STR_DAY_NUMBER_28TH :28. +STR_DAY_NUMBER_29TH :29. +STR_DAY_NUMBER_30TH :30. +STR_DAY_NUMBER_31ST :31. ############ range for days ends ############ range for months starts @@ -811,13 +831,11 @@ STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}{VEHICLE STR_NEWS_SHIP_IS_WAITING :{WHITE}{VEHICLE} tersanede bekliyor STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE} hangarda bekliyor -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE +# Order review system / warnings STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE} aracının programında çok az talimat var STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE} aracının boş bir emri var STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE} talimatları arasında tekrarlanmış olanlar var STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE} aracının geçersiz talimatları var -# end of order system STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} eskiyor STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} çok eskidi @@ -900,10 +918,6 @@ STR_GAME_OPTIONS_CURRENCY_GEL :Gürcistan Lari STR_GAME_OPTIONS_CURRENCY_IRR :İran Riyali (IRR) ############ end of currency region - -############ start of measuring units region -############ end of measuring units region - STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Karayolu taşıtları STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}Trafik akış yönünü seçin STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :Soldan trafik @@ -939,11 +953,13 @@ STR_GAME_OPTIONS_TOWN_NAME_CATALAN :Katalan STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Otomatik Kaydet STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Otomatik kaydetme sıklığını seçin +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Kapalı STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :Her ay STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :Her üç ayda bir STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :Her altı ayda bir STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :Her oniki ayda bir +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}Dil STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Görünen dili seçin @@ -955,8 +971,7 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}Ekran Ç STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Kullanılacak ekran çözünürlüğünü seçin STR_GAME_OPTIONS_RESOLUTION_OTHER :diğer -STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}Ekran görüntüsü biçimi -STR_GAME_OPTIONS_SCREENSHOT_FORMAT_TOOLTIP :{BLACK}Kullanılacak ekran görüntüsü biçimini seçin + STR_GAME_OPTIONS_BASE_GRF :{BLACK}Temel grafik kümesi STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Kullanılacak temel grafik kümesini seçin @@ -1057,8 +1072,7 @@ STR_CITY_APPROVAL_HOSTILE :Düşman STR_WARNING_NO_SUITABLE_AI :{WHITE}Uygun YZ'ler yok...{}'Çevrimiçi içerik' sistemiyle pek çok YZ indirebilirsiniz -# Advanced settings window -STR_CONFIG_SETTING_CAPTION :{WHITE}Gelişmiş Ayarlar +# Settings tree window STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Süzgeç metni: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Tümünü genişlet STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Tümünü kısalt @@ -1073,20 +1087,20 @@ STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :Şirket ayarlar STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK}Kategori: STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}Tür: -STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Aşağıdaki listeyi yalnızca değişen ayarları göstererek sınırlandırır -STR_CONFIG_SETTING_RESTRICT_BASIC :Temel ayarlar -STR_CONFIG_SETTING_RESTRICT_ADVANCED :Gelişmiş ayarlar -STR_CONFIG_SETTING_RESTRICT_ALL :Uzman ayarları / tüm ayarlar +STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Aşağıdaki listeyi önceden tanımlı filtreler kullanarak sınırlandırır +STR_CONFIG_SETTING_RESTRICT_BASIC :Temel (sadece önemli ayarları göster) +STR_CONFIG_SETTING_RESTRICT_ADVANCED :Gelişmiş (çoğu ayarı göster) +STR_CONFIG_SETTING_RESTRICT_ALL :Uzman (garip olanlar dahil tüm ayarları göster) STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :Geçerli değerden farklı bir değere sahip ayarlama STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :Yeni oyun ayarlarınızdan farklı bir değere sahip ayarlar STR_CONFIG_SETTING_TYPE_DROPDOWN_HELPTEXT :{BLACK}Aşağıdaki liste belirli bir ayar türüne göre kısıtlanır STR_CONFIG_SETTING_TYPE_DROPDOWN_ALL :Tüm ayar türleri -STR_CONFIG_SETTING_TYPE_DROPDOWN_CLIENT :Kullanıcı ayarları (kayıtlı dosyada saklanmaz; tüm oyunları etkilemektedir) -STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :Oyun ayarları (kayıtlı dosyada saklanır; sadece yeni oyunu etkilemektedir) -STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :Oyun ayarları (kayıtlı dosyada saklanır; sadece yeni oyunu etkilemektedir) -STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :Şirket ayarları (kayıtlı dosyada saklanır; sadece yeni oyunu etkilemektedir) -STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :Şirket ayarları (kayıtlı dosyada saklanır; sadece yeni oyunu etkilemektedir) +STR_CONFIG_SETTING_TYPE_DROPDOWN_CLIENT :İstemci ayarları (kayıtlı dosyada saklanmaz; tüm oyunları etkilemektedir) +STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :Oyun ayarları (kayıtlı dosyada saklanır; sadece yeni oyunları etkilemektedir) +STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :Oyun ayarları (kayıtlı dosyada saklanır; sadece geçerli oyunu etkilemektedir) +STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :Şirket ayarları (kayıtlı dosyada saklanır; sadece yeni oyunları etkilemektedir) +STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :Şirket ayarları (kayıtlı dosyada saklanır; sadece geçerli şirketi etkilemektedir) STR_CONFIG_SETTING_CATEGORY_HIDES :{BLACK}Tüm arama sonuçlarını{}{SILVER}Kategoriyi {BLACK}{WHITE}{STRING} ayarlayarak göster STR_CONFIG_SETTING_TYPE_HIDES :{BLACK}Tüm arama sonuçlarını{}{SILVER}Türü {BLACK} {WHITE}Tüm ayar türleri olarak ayarlayarak göster STR_CONFIG_SETTING_CATEGORY_AND_TYPE_HIDES :{BLACK}Tüm arama sonuçlarını{}{SILVER}Kategoriyi {BLACK} {WHITE}{STRING} {BLACK}ve {SILVER}Türü {BLACK} {WHITE}Tüm ayar türleri olarak ayarlayarak göster @@ -1131,9 +1145,7 @@ STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Araçları ya d STR_CONFIG_SETTING_CITY_APPROVAL :Arazi şekillendirmeye karşı belediye meclisinin tavrı: {STRING} STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Şirketlerin sebep olduğu gürültü ve çevreye zararın kasaba beğenilerini ve ilerideki inşaatlarını nasıl etkileyeceğini seçin -STR_CONFIG_SETTING_BUILDONSLOPES :Kıyılara ve eğimli araziye inşaat izni: {STRING} -STR_CONFIG_SETTING_BUILDONSLOPES_HELPTEXT :Etkinleştirilirse raylar ve istasyonlar çoğu zaman eğimlerin üzerine inşa edilebilir. Etkinliği kaldırılırsa raylar ve istasyonlar sadece raylarla aynı doğrultuda olan eğimlerin üzerine inşa edilebilir, böylelikle altyapı gerektirmez -STR_CONFIG_SETTING_AUTOSLOPE :Binaların, yolların, rayların v.b. altındaki araziyi değiştirmeye izin ver (otomatik eğim): {STRING} +STR_CONFIG_SETTING_AUTOSLOPE :Binaların, yolların vb. altındaki araziyi değiştirmeye izin ver: {STRING} STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Binaları ve yolları kaldırmaksızın altlarında yeryüzü şekillendirmesi yapılmasına izin ver STR_CONFIG_SETTING_CATCHMENT :İstasyon kapsama alanlarının daha gerçeğe yakın ölçülerde olmasına izin ver: {STRING} STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Farklı istasyon ve hava limanları için farklı büyüklükte alanlar gerekir @@ -1157,14 +1169,8 @@ STR_CONFIG_SETTING_FORBID_90_DEG :Tren ve gemiler STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90 derece dönüşler yatay bir rayı bitişik karede dikey bir ray parçası takip ettiği zaman gerçekleşir, böylelikle trenin diğer ray kombinasyonlarındaki alışılagelmiş 45 derecelik dönüşü yerine karenin kenarından geçerken 90 derecelik dönüş yapmasını sağlar. Bu aynı zamanda gemilerin dönme açısına da uygulanır STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Doğrudan bitişik olmayan istasyonları birleştirme izni: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Mevcut parçalarına doğrudan temas etmeksizin bir istasyona parçalar eklenmesine müsaade et. Yeni parçalar eklenirken Ctrl+Tıklama gerekir -STR_CONFIG_SETTING_IMPROVEDLOAD :Geliştirilmiş yükleme algoritması kullan: {STRING} -STR_CONFIG_SETTING_IMPROVEDLOAD_HELPTEXT :Etkinleştirilirse istasyonda bekleyen araçlar sırayla yüklenecektir. Bir sonraki aracın yüklenmesi ancak istasyonda bekleyen ilk aracı tamamen doldurmaya yetecek kadar kargo olduğunda başlar -STR_CONFIG_SETTING_GRADUAL_LOADING :Araçlar yavaş yavaş dolsun: {STRING} -STR_CONFIG_SETTING_GRADUAL_LOADING_HELPTEXT :Sadece yüklenen kargo miktarına bağlı olarak belirli bir zaman içerisinde her şeyin tek seferde yüklenmesi yerine, araçları kendilerine özel yükleme sürelerini kullanarak teker teker yükle STR_CONFIG_SETTING_INFLATION :Enflasyon: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :Maliyetlerin ödemelerden biraz daha hızlı arttığı ekonomide enflasyonu etkinleştir -STR_CONFIG_SETTING_SELECTGOODS :Sadece istek varsa kargo kabul edilsin: {STRING} -STR_CONFIG_SETTING_SELECTGOODS_HELPTEXT :Bir istasyona sadece bir yükleme aracından talep edilen kargoyu ulaştır. Bu ayarlama bir istasyona getirilmeyen kargolar yüzünden kötü derecelendirmeyi önler STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Azami köprü uzunluğu: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Köprü inşası için azami uzunluk STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Azami tünel uzunluğu: {STRING} @@ -1192,8 +1198,6 @@ STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Bir trenin plat STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :yakın uç STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :orta STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :uzak uç -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING :Karayolu taşıtları kuyruğa girsin (iç içe geçerek): {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING_HELPTEXT :Kara taşıtlarını meşgul olan duraklar boşalana kadar önlerinde bekleyecek şekilde ayarlayın STR_CONFIG_SETTING_AUTOSCROLL :Fare kenardayken pencere etkin: {STRING} STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Etkinleştirilirse fare pencerenin kenarına yaklaştığında görüş alanı kaymaya başlayacaktır STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Kapalı @@ -1224,10 +1228,6 @@ STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Şehiriçi yoll STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Kasabanın sahip olduğu yollarda yol üstü durakların inşasına izin verir STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Rakiplerin yolu üzerinde durak yapmaya izin ver: {STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Başka şirketlerin sahip olduğu yollarda yol üstü durakların inşasına izin verir -STR_CONFIG_SETTING_ADJACENT_STATIONS :Bitişik istasyonlar izinli: {STRING} -STR_CONFIG_SETTING_ADJACENT_STATIONS_HELPTEXT :Farklı istasyonların birbirine değmesine izin verir -STR_CONFIG_SETTING_DYNAMIC_ENGINES :Birden çok NewGRF lokomotif setini etkinleştir: {STRING} -STR_CONFIG_SETTING_DYNAMIC_ENGINES_HELPTEXT :Eski NewGRF'ler için uyumluluk seçeneği. Ne yaptığınızı kesin olarak bilmiyorsanız, bu seçeneği kapatmayın! STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Araçlar varken bu ayarı değiştirmezsiniz STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Altyapı bakımları: {STRING} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Etkinleştirildiğinde; altyapı, bakım giderine neden olur. Maliyet ağ büyüklüğüne göre daha hızlı yükselir, dolayısıyla büyük şirketleri küçüklere göre daha çok etkiler @@ -1259,7 +1259,7 @@ STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Kırmızı penc STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{COMMA} saniye STR_CONFIG_SETTING_HOVER_DELAY :Araçlara dair bilgileri göster: {STRING} STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Fare bir arayüz elemanının üzerine getirildiğinde o araca dair bilgilerin gösterilmesi için geçmesi gereken süre. Alternatif olarak bu işlem için sağ fare tuşu da kullanılabilir. -STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Fareyi {COMMA} saniye boyunca üzerinde bekletin +STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Fareyi {COMMA} milisaniye üzerinde tutun STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Sağ tıklama STR_CONFIG_SETTING_POPULATION_IN_LABEL :Şehir nüfusunu isminin yanına yaz: {STRING} STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Haritadaki şehir etiketlerinde nüfus bilgisini görüntüle @@ -1272,7 +1272,7 @@ STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Petrol rafinerilerinin kenarlardan azami uzaklığı: {STRING} STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Petrol rafinerileri sadece haritanın sınırlarında inşa edilir; ada haritalarında sahillere kurulurlar. STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Kar kalınlığı: {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Arazinin engebesi (sadece TerraGenesis) : {STRING} +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Arazinin engebesi: {STRING} STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Dümdüz STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Düzgün STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Engebeli @@ -1285,8 +1285,6 @@ STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Yükseklik hari STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Saat yönünün tersi STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Saat yönü STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :Düzlük bir senaryonun yükseklik seviyesi: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :Harita kenarlarındaki karelerde bulunan araziyi şekillendirmeye izin ver: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES_HELPTEXT :Kapatıldığı takdirde haritanın kenarları daima okyanusla çevrili olur. STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}Kuzey kenarda bir veya daha fazla kare boş değil STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}Kenarlardan birinde bir veya daha fazla kare su değil @@ -1307,7 +1305,7 @@ STR_CONFIG_SETTING_SMOOTH_SCROLLING :Düzgün viewpo STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Küçük haritaya tıklandığında veya harita üzerindeki belli bir nesneye gidilmesi için komut verildiğinde ana görüntünün nasıl kaydırılacağını kontrol eder. Etkinleştirildiğinde harita kayarak ilerler, kapatıldığında ise doğrudan hedeflenen noktaya atlama yapar. STR_CONFIG_SETTING_MEASURE_TOOLTIP :İnşa araçları kullanılırken ölçüm ipucu göster: {STRING} STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT :İnşaat işlemleri sırasında fareyi sürükleyince kare-uzaklıkları ve yükseklik farklarını göster. -STR_CONFIG_SETTING_LIVERIES :Şirketin renklerini göster: {STRING} +STR_CONFIG_SETTING_LIVERIES :Araç türüne özel logolar göster: {STRING} STR_CONFIG_SETTING_LIVERIES_HELPTEXT :Araç türüne özel görünümlerin kullanımını kontrol et (şirkete özel olanın tam tersine) STR_CONFIG_SETTING_LIVERIES_NONE :Hiçbiri STR_CONFIG_SETTING_LIVERIES_OWN :Şirketi al @@ -1337,17 +1335,13 @@ 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_DATE_FORMAT_IN_SAVE_NAMES :Kaydedilen oyun isimlerinde {STRING} tarih biçimini kullan STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Kaydedilen oyun isimlerinde kullanılan tarih biçimi STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :uzun (31 Ara 2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :kısa (31-12-2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE :Palet belirtmeyen NewGRF'ler için varsayılan palet: {STRING} -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_HELPTEXT :Hangi paleti kullandığını belirtmeyen NewGRF dosyaları için kullanılacak varsayılan palet. -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_DOS :Öntanımlı (D) palet -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_WIN :Eski (W) palet - STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Yeni bir oyun başlatırken zamanı duraklat: {STRING} STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :Etkinleştirildiğinde, haritaya ayrıntılı bir bakış atabilmek için yeni oyuna başlarken otomatik olarak oyun duraklatılır. STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Oyun durakladığında izin verilenler: {STRING} @@ -1356,7 +1350,7 @@ STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :Hiçbir hareket STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :İnşa içermeyen tüm hareketler STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :Yer şekillendirme hareketleri dışında tüm hareketler STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_ACTIONS :Tüm hareketler -STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Gelişmiş araç listesini kullan: {STRING} +STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Araç listesinde gruplar kullan: {STRING} STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Araçları gruplamak için gelişmiş araç listelerinin kullanımını etkinleştirir STR_CONFIG_SETTING_LOADING_INDICATORS :Araç yükleme bilgisini göster: {STRING} STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Yükleme veya boşaltma yapan araçların üzerinde yükleme işaretlerinin görünüp görünmeyeceğini seçin @@ -1371,7 +1365,7 @@ STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_HELPTEXT :Oyuna başland STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_FIRST :En eskisi STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_LAST :En yenisi STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_MOST_USED :En çok kullanılan -STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :Ayrılan rayları göster: {STRING} +STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :Raylar için yol ayrılmalarını göster: {STRING} STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION_HELPTEXT :Trenlerin güzergah tabanlı bloklara girmeyi reddetmesine dair sorunları engellemek için ayrılmış (rezerve) raylar için farklı bir renk kullan. STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Yapı araçlarını kullanımdan sonra aktif tut: {STRING} STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Köprü, tünel vb. için kullanılan inşa araçlarını kullanımdan sonra da açık tut @@ -1399,7 +1393,7 @@ STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING :Uygun araç bul STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING_HELPTEXT :Etkinleştirildiğinde, eğer kullanılabilecek araçlar mevcutsa altyapıyı kullanılabilir hale getirir, böylece altyapıya boş yere zaman ve para harcanmasını engeller STR_CONFIG_SETTING_MAX_TRAINS :Şirket başına azami tren sayısı: {STRING} STR_CONFIG_SETTING_MAX_TRAINS_HELPTEXT :Bir şirketin sahip olabileceği azami tren sayısı -STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :Şirket başına azami karayolu aracı: {STRING} +STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :Şirket başına azami karayolu aracı sayısı: {STRING} STR_CONFIG_SETTING_MAX_ROAD_VEHICLES_HELPTEXT :Bir şirketin sahip olabileceği azami karayolu aracı sayısı STR_CONFIG_SETTING_MAX_AIRCRAFT :Şirket başına azami uçak sayısı: {STRING} STR_CONFIG_SETTING_MAX_AIRCRAFT_HELPTEXT :Bir şirketin sahip olabileceği azami hava aracı sayısı @@ -1430,7 +1424,7 @@ STR_CONFIG_SETTING_SERVINT_ISPERCENT :Servis gecikmel STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Araçlara bakım yapılmasına bir önceki bakımın üzerinden geçen zamana göre mi, yoksa aracın güvenilirlik değerinin azami güvenilirliğe kıyasla belli bir yüzde oranında düşmesine bağlı olarak mı karar verileceğini seçin STR_CONFIG_SETTING_SERVINT_TRAINS :Trenler için varsayılan bakım aralığı: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Yeni tren yolu araçları için varsayılan bakım aralığını ayarlar, eğer araç için özel bir bakım aralığı belirtilmemişse geçerlidir -STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA} gün/% +STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}gün/% STR_CONFIG_SETTING_SERVINT_DISABLED :Etkisiz STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES :Yol araçları için varsayılan bakım aralığı: {STRING} STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES_HELPTEXT :Yeni karayolu araçları için varsayılan bakım aralığını ayarlar, eğer araç için özel bir bakım aralığı belirtilmemişse geçerlidir @@ -1569,12 +1563,10 @@ STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :{COMMA}'de 1 STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Hiçbiri STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Birincil şehir büyüklüğü çarpanı: {STRING} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Oyun başlangıcında şehirlerin normal kasabalara kıyasla ortalama büyüklüğü -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :Yol yapımı sırasında gerçekçi olmayan yerleri kaldır: {STRING} -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD_HELPTEXT :Yolların yeniden yapılmasını finanse ederken çıkmaz sokakları kaldır -STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Dağıtım grafiğini her {STRING} günde bir güncelle +STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Dağıtım grafiğini her {STRING}{NBSP}günde bir güncelle STR_CONFIG_SETTING_LINKGRAPH_INTERVAL_HELPTEXT :Bağlantı grafiğinin tekrar hesaplamaları arasında geçen süre. Her tekrar hesaplama grafiğin öğelerinden biri için planları hesaplar. Yani bu ayar için girdiğiniz X değeri tüm grafiğin her X günde bir güncelleneceği manasına gelmez; sadece grafiğin öğelerinden biri güncellenir. Daha kısa sürelere ayarladıkça hesaplamalar için daha fazla işlemci süresi gerekir. Daha uzun süreler seçtikçe yeni güzergahlardaki kargo dağıtımının başlaması da daha uzun sürer. -STR_CONFIG_SETTING_LINKGRAPH_TIME :Dağıtım grafiğini {STRING} güne göre tekrar hesapla +STR_CONFIG_SETTING_LINKGRAPH_TIME :Dağıtım grafiğini {STRING}{NBSP}güne göre tekrar hesapla STR_CONFIG_SETTING_LINKGRAPH_TIME_HELPTEXT :Bağlantı grafiğini oluşturan parçaların her tekrar hesaplaması için kullanılan zaman. Tekrar hesaplama başlatıldığında bu kadar gün sürecek bir işlem başlatılmış olur. Buraya daha kısa süreler girdikçe işlemin bitmesi gerekirken bitmemiş olma ihtimali artar. Ardından oyun ("lag") olana dek durur. Daha uzun süreler girdiğinizde güzergahlar değiştikçe dağıtımın güncellenmesi daha uzun sürer. STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :el ile (manual) STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :asimetrik @@ -1609,50 +1601,40 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_METRIC :Metrik (hp/beyg STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_SI :SI (Uluslararası Ölçüm Sistemi) (kW) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT :Ağırlık ölçü birimi: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_HELPTEXT :Kullanıcı arayüzünde ağırlıklar görüntülendiğinde, bunları seçili ölçü biriminde göster. +STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_HELPTEXT :Kullanıcı arayüzünde ağırlıklar görüntülendiğinde, bunları seçili ölçü biriminde göster STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_IMPERIAL :Imperial (Ingiliz ölçü birimleri) (kısa t/ton) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_METRIC :Metrik (t/ton) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_SI :SI (Uluslararası Ölçüm Sistemi) (kg) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME :Hacim ölçü birimi: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_HELPTEXT :Kullanıcı arayüzünde hacimler görüntülendiğinde, bunları seçili ölçü biriminde göster. +STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_HELPTEXT :Kullanıcı arayüzünde hacimler görüntülendiğinde, bunları seçili ölçü biriminde göster STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_IMPERIAL :Imperial (Ingiliz ölçü birimleri) (gal) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_METRIC :Metrik (l) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_SI :SI (Uluslararası Ölçüm Sistemi) (m³) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE :Çekici güç ölçü birimi: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_HELPTEXT :Kullanıcı arayüzünde çekici güç görüntülendiğinde, bunları seçili ölçü biriminde göster. +STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_HELPTEXT :Kullanıcı arayüzünde çekici güç görüntülendiğinde (çekici yük olarak da bilinir), bunları seçili ölçü biriminde göster STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_IMPERIAL :Imperial (Ingiliz ölçü birimleri) (lbf) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_METRIC :Metrik (kgf) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_SI :SI (Uluslararası Ölçüm Sistemi) (kN) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT :Yükseklik ölçü birimi: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT :Kullanıcı arayüzünde yükseklikler görüntülendiğinde, bunları seçili ölçü biriminde göster. +STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT :Kullanıcı arayüzünde yükseklikler görüntülendiğinde, bunları seçili ölçü biriminde göster STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :Imperial (Ingiliz ölçü birimleri) (ft) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :Metrik (m) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :SI (Uluslararası Ölçüm Sistemi) (m) -STR_CONFIG_SETTING_GUI :{ORANGE}Arayüz STR_CONFIG_SETTING_LOCALISATION :{ORANGE}Yerelleştirme -STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}İnşaat +STR_CONFIG_SETTING_SOUND :{ORANGE}Ses +STR_CONFIG_SETTING_INTERFACE :{ORANGE}Arayüz +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}İnşaat STR_CONFIG_SETTING_VEHICLES :{ORANGE}Araçlar -STR_CONFIG_SETTING_STATIONS :{ORANGE}İstasyonlar -STR_CONFIG_SETTING_ECONOMY :{ORANGE}Ekonomi -STR_CONFIG_SETTING_LINKGRAPH :{ORANGE}Kargo Dağılımı -STR_CONFIG_SETTING_AI :{ORANGE}Rakipler -STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}Görüntü seçenekleri -STR_CONFIG_SETTING_INTERACTION :{ORANGE}Etkileşim -STR_CONFIG_SETTING_SOUND :{ORANGE}Ses efektleri -STR_CONFIG_SETTING_NEWS :{ORANGE}Haberler ve mesajlar -STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}Sinyaller -STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE}Kargo idaresi -STR_CONFIG_SETTING_AI_NPC :{ORANGE}Bilgisayar oyuncuları -STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE}Otomatik yenileme -STR_CONFIG_SETTING_VEHICLES_SERVICING :{ORANGE}Bakımlar STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Yönlenme -STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}Trenler -STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}Şehirler -STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}Endüstri +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Şehirler +STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}Endüstri +STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :{ORANGE}Kargo dağılımı +STR_CONFIG_SETTING_AI :{ORANGE}Rakipler +STR_CONFIG_SETTING_AI_NPC :{ORANGE}Bilgisayar oyuncuları STR_CONFIG_SETTING_PATHFINDER_OPF :Özgün STR_CONFIG_SETTING_PATHFINDER_NPF :NPF @@ -1701,7 +1683,6 @@ STR_INTRO_MULTIPLAYER :{BLACK}Çok Oyu STR_INTRO_GAME_OPTIONS :{BLACK}Seçenekler STR_INTRO_HIGHSCORE :{BLACK}Puan Tablosu -STR_INTRO_ADVANCED_SETTINGS :{BLACK}Gelişmiş Ayarlar STR_INTRO_NEWGRF_SETTINGS :{BLACK}NewGRF Ayarları STR_INTRO_ONLINE_CONTENT :{BLACK}Çevrimiçi İçeriği Kontrol Et STR_INTRO_SCRIPT_SETTINGS :{BLACK}YZ/Oyun Betik Ayarları @@ -1721,7 +1702,6 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}'Oyuncak STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Seçenekleri göster STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Puan tablosunu göster -STR_INTRO_TOOLTIP_ADVANCED_SETTINGS :{BLACK}Gelişmiş ayarları görüntüle STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}NewGRF ayarlarını göster STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}İndirilecek yeni ve güncellenmiş içeriği kontrol et STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}YZ ve Oyun betik ayarlarını göster @@ -1809,6 +1789,7 @@ STR_LIVERY_FREIGHT_TRAM :Yük Tramvayı STR_FACE_CAPTION :{WHITE}Surat Seçimi STR_FACE_CANCEL_TOOLTIP :{BLACK}Seçimi iptal et STR_FACE_OK_TOOLTIP :{BLACK}Seçimi Kabul et +STR_FACE_RANDOM :{BLACK}Rastgele STR_FACE_MALE_BUTTON :{BLACK}Erkek STR_FACE_MALE_TOOLTIP :{BLACK}Erkek suratlarıni seç @@ -1929,13 +1910,13 @@ STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}Erişimi STR_NETWORK_START_SERVER_UNADVERTISED :Hayır STR_NETWORK_START_SERVER_ADVERTISED :Evet STR_NETWORK_START_SERVER_CLIENTS_SELECT :{BLACK}{NUM} istemci -STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}İzin verilen en fazla oyuncu: +STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Azami istemci sayısı: STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS_TOOLTIP :{BLACK}İzin verilen en fazla oyuncu sayısını seç. Her yerin dolması gerekmez STR_NETWORK_START_SERVER_COMPANIES_SELECT :{BLACK}{NUM} şirket -STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}En fazla şirket: +STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}En fazla şirket sayısı: STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES_TOOLTIP :{BLACK}Sunucudaki şirket sayısını sınırla STR_NETWORK_START_SERVER_SPECTATORS_SELECT :{BLACK}{NUM} seyirci -STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS :{BLACK}En fazla izleyici: +STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS :{BLACK}En fazla izleyici sayısı: STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS_TOOLTIP :{BLACK}Sunucudaki izleyici sayısını sınırla STR_NETWORK_START_SERVER_LANGUAGE_SPOKEN :{BLACK}Konuşulan dil: STR_NETWORK_START_SERVER_LANGUAGE_TOOLTIP :{BLACK}Diğer oyuncular sunucuda hangi dilin konuşulacağını bilecek @@ -2650,7 +2631,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-2014 OpenTTD ekibi +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 OpenTTD ekibi # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Oyunu Kaydet @@ -2688,10 +2669,6 @@ STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Fabrika STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}Kar yüksekliği: STR_MAPGEN_SNOW_LINE_UP :{BLACK}Kar yüksekliğini bir arttır STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}Kar yüksekliğini bir azalt -STR_MAPGEN_RANDOM_SEED :{BLACK}Rastgele sayı: -STR_MAPGEN_RANDOM_SEED_HELP :{BLACK}Rastgele bir sayı girmek için tıklayın -STR_MAPGEN_RANDOM :{BLACK}Rastgele -STR_MAPGEN_RANDOM_HELP :{BLACK}Harita yapımı için kullanılan rastgele sayıyı değiştir STR_MAPGEN_LAND_GENERATOR :{BLACK}Harita üretici: STR_MAPGEN_TREE_PLACER :{BLACK}Ağaç algoritması: STR_MAPGEN_TERRAIN_TYPE :{BLACK}Arazi türü: @@ -2718,7 +2695,6 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Yüksekl STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Boyut: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} -STR_MAPGEN_RANDOM_SEED_OSKTITLE :{BLACK}Rastgele bir tohum girin STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}Kar yüksekliğini değiştir STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Başlangıç yılını değiştir @@ -2797,6 +2773,8 @@ STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Eşleşen STR_NEWGRF_SETTINGS_DISABLED :{RED}Etkisiz STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}OpenTTD'nin bu sürümüyle uyumlu değil +# NewGRF save preset window + # NewGRF parameters window STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}NewGRF parametrelerini değiştir STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Kapat @@ -2820,14 +2798,13 @@ STR_NEWGRF_INSPECT_QUERY_CAPTION :{WHITE}NewGRF d # Sprite aligner window STR_SPRITE_ALIGNER_CAPTION :{WHITE}Nesne hizalanıyor {COMMA} ({STRING}) STR_SPRITE_ALIGNER_NEXT_BUTTON :{BLACK}Sonraki nesne -STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Tüm sahte/yeniden renklendirme/yazı tipi nesnelerini ve sondaki sargıyı atlayarak bir sonraki normal nesneye geç +STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Tüm sahte/yeniden renklendirme/yazı tipi nesnelerini ve sondaki nesneden atlayarak bir sonraki normal nesneye geç STR_SPRITE_ALIGNER_GOTO_BUTTON :{BLACK}Nesneye git STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}Verilen nesneye git. Eğer normal bir nesne değilse, bir sonraki normal nesneye geç STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Önceki nesne STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Tüm sahte/yeniden renklendirme/yazı tipi nesnelerini ve baştaki sargıyı atlayarak bir önceki normal nesneye geç STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Seçili nesnenin mevcut gösterimi. Bu nesneyi çizerken hizalama ihmal edilir STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Nesneyi X ve Y ofsetlerini değiştirerek gezdir -STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X ofseti: {NUM}, Y ofseti: {NUM} STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Nesne seç STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Ekrandaki herhangi bir yerden bir nesne seçin @@ -2939,8 +2916,8 @@ STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} taşındı STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (hala ihtiyaç var) STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (taşındı) -STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Kasaba {ORANGE}{COMMA}{BLACK} günde bir büyür -STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Kasaba {ORANGE}{COMMA}{BLACK} günde bir büyür (finanse edildiğinde) +STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Kasaba her {ORANGE}{COMMA}{BLACK}{NBSP}günde bir büyür +STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Kasaba her {ORANGE}{COMMA}{BLACK}{NBSP}günde bir büyür (finanse edildiğinde) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}Kasaba {RED}büyümüyor{BLACK} STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Kasabadaki gürültü sınırı: {ORANGE}{COMMA}{BLACK} En fazla: {ORANGE}{COMMA} STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Ana görüntüyü şehrin üzerine ortala. Ctrl ile tıklama şehrin konumunu gösteren yeni bir pencere açar @@ -3000,7 +2977,7 @@ STR_GOAL_QUESTION_CAPTION_INFORMATION :Bilgi STR_GOAL_QUESTION_CAPTION_WARNING :Uyarı STR_GOAL_QUESTION_CAPTION_ERROR :Hata -### Start of Goal Question button list +############ Start of Goal Question button list STR_GOAL_QUESTION_BUTTON_CANCEL :İptal STR_GOAL_QUESTION_BUTTON_OK :Tamam STR_GOAL_QUESTION_BUTTON_NO :Hayır @@ -3019,6 +2996,7 @@ STR_GOAL_QUESTION_BUTTON_RESTART :Yeniden başlat STR_GOAL_QUESTION_BUTTON_POSTPONE :Ertele STR_GOAL_QUESTION_BUTTON_SURRENDER :Yenilgiyi kabul et STR_GOAL_QUESTION_BUTTON_CLOSE :Kapat +############ End of Goal Question button list # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}Teşvikler @@ -3054,7 +3032,6 @@ STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}Hiç kar # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} -STR_STATION_VIEW_WAITING_TITLE :{BLACK}Bekleyen: {WHITE}{STRING} STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} {STATION}'dan) STR_STATION_VIEW_RESERVED :{YELLOW}({CARGO_SHORT} yükleme için rezerve edilmiş) @@ -3298,7 +3275,7 @@ STR_GROUP_DEFAULT_ROAD_VEHICLES :Gruplanmamış STR_GROUP_DEFAULT_SHIPS :Gruplanmamış gemiler STR_GROUP_DEFAULT_AIRCRAFTS :Gruplanmamış uçaklar -STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Gruplar - gruba ait araçları listelemek için grubun üzerine tıklayın +STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Gruplar - gruba ait araçları listelemek için grubun üzerine tıklayın. Hiyerarşiyi düzenlemek için grupları sürükleyip bırakın. STR_GROUP_CREATE_TOOLTIP :{BLACK}Grup oluşturmak için tıklayın STR_GROUP_DELETE_TOOLTIP :{BLACK}Seçili grubu sil STR_GROUP_RENAME_TOOLTIP :{BLACK}Seçili grubun ismini değiştir @@ -3344,10 +3321,10 @@ STR_PURCHASE_INFO_ALL_BUT :Şunlar hariç STR_PURCHASE_INFO_MAX_TE :{BLACK}Aza. Çekim Gücü: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Menzil: {GOLD}{COMMA} kare -STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Tren seçim listesi - daha fazla bilgi için araca tıklayın -STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Karayolu araçları listesi - bilgi için araca tıklayın -STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Gemi seçim listesi - bilgi için gemiye tıkla -STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Uçak listesi - bilgi için uçaga tıklayın +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 +STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Gemi seçim listesi. Bilgi için gemiye tıklayın. Ctrl+Tıklama gemi türünün gizlenmesini açar/kapatır +STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Uçak seçim listesi. Bilgi için uçağa tıklayın. Ctrl+Tıklama, uçak türünün gizliliğini açar/kapatır STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}Araç Satın Al STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Araç Satın Al @@ -3369,6 +3346,9 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Araç t STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Gemi türünü adlandır STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Uçak türünü adlandır + + + STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}Tren yeniden adlandırılamaz STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}Araç türünü yeniden adlandır STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}Gemi türünü adlandır @@ -3422,7 +3402,7 @@ STR_DEPOT_CLONE_ROAD_VEHICLE :{BLACK}Aracı K STR_DEPOT_CLONE_SHIP :{BLACK}Gemiyi kopyala STR_DEPOT_CLONE_AIRCRAFT :{BLACK}Uçağı kopyala -STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Tüm vagonlarla birlikte treni kopyalar. Önce bu düğmeye sonra da garın içindeki veya dışındaki bir araca tıklayın. Ctrl-tıklama talimatları paylaştırır. Shift ile tıklama satın almadan tahmini maliyeti gösterir. +STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Tüm vagonlarla birlikte treni kopyalar. Önce bu düğmeye sonra da garın içindeki veya dışındaki bir trene tıklayın. Ctrl+tıklama talimatları paylaştırır. Shift+tıklama satın almadan tahmini maliyeti gösterir. STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Karayolu aracının bir kopyasını yapar. Önce bu düğmeye sonra da garın içindeki veya dışındaki bir araca tıklayın. Ctrl+Tıklama talimatları paylaştırır. Shift+Tıklama satın almadan tahmini maliyeti gösterir STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Geminin bir kopyasını oluşturur. Önce bu düğmeye sonra da tersanenin içindeki veya dışındaki bir gemiye tıklayın. Ctrl-tıklama talimatları paylaştırır. Shift ile tıklama satın almadan tahmini maliyeti gösterir STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Uçağın bir kopyasını oluşturur. Önce bu düğmeye sonra da hangarın içindeki veya dışındaki bir uçaga tıklayın. Ctrl-tıklama talimatları paylaştırır. Shift ile tıklama satın almadan tahmini maliyeti gösterir @@ -3473,6 +3453,7 @@ STR_REPLACE_VEHICLE_ROAD_VEHICLE :Karayolu taşı STR_REPLACE_VEHICLE_SHIP :Gemi STR_REPLACE_VEHICLE_AIRCRAFT :Uçak + STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Değiştirilecek türü seçin STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Değiştirilecek türün yerine geçecek türü seçin @@ -3597,7 +3578,7 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Kapasite STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Aktarma Maliyeti: {LTBLUE}{CURRENCY_LONG} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Bakım zamanı: {LTBLUE}{COMMA}günde bir{BLACK} Son bakım: {LTBLUE}{DATE_LONG} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Bakım aralığı: {LTBLUE}{COMMA}{NBSP}günde bir{BLACK} Son bakım: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Bakım zamanı: {LTBLUE}%{COMMA}{BLACK} Son bakım: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Bakım periyodunu 10 arttır. Ctrl-tıklama bakım periyodunu 5 arttırır. STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Bakım periyodunu 10 azalt. Ctrl+Tıklama bakım periyodunu 5 azaltır @@ -3695,8 +3676,8 @@ STR_ORDER_TOOLTIP_UNLOAD :{BLACK}Seçili STR_ORDER_REFIT :{BLACK}Modifiye STR_ORDER_REFIT_TOOLTIP :{BLACK}Bu talimatta değiştirilecek kargo türünü seçin. Değiştirmeyi kaldırmak için Ctrl ile tıklayın -STR_ORDER_REFIT_AUTO :{BLACK}Otomatik modifiye et -STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Bu talimatta hangi kargo türünün otomatik onarılacağını seçin. Ctrl+Tıklama ile otomatik onarım talimatını kaldırın. Otomatik onarım izin verilen araçlarda mümkündür +STR_ORDER_REFIT_AUTO :{BLACK}İstasyonda taşı +STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Bu talimatta hangi kargo türünün taşınacağını seçin. Ctrl+Tıklama ile taşıma talimatını kaldırın. İstasyonlarda taşıma sadece izin verilen araçlarda mümkündür STR_ORDER_DROP_REFIT_AUTO :Sabit kargo STR_ORDER_DROP_REFIT_AUTO_ANY :Kullanılabilir kargo @@ -3787,18 +3768,18 @@ STR_ORDER_NO_UNLOAD_FULL_LOAD :(Boşaltma ve t STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY :(Boşaltma ve herhangi bir tam dolduruşu bekle) STR_ORDER_NO_UNLOAD_NO_LOAD :(Boşaltma ve yükleme yok) -STR_ORDER_AUTO_REFIT :({STRING} taşımak için otomatik modifiye et) -STR_ORDER_FULL_LOAD_REFIT :({STRING} taşımak için otomatik modifiye et ve tam doldur) -STR_ORDER_FULL_LOAD_ANY_REFIT :({STRING} taşımak için otomatik modifiye et ve herhangi bir kargoyu tam doldur) -STR_ORDER_UNLOAD_REFIT :({STRING} taşımak için otomatik modifiye et ve boşalt) -STR_ORDER_UNLOAD_FULL_LOAD_REFIT :({STRING} taşımak için otomatik modifiye et, boşalt ve tam doldur) -STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :({STRING} taşımak için otomatik modifiye et, boşalt ve herhangi bir kargoyu tam doldur) -STR_ORDER_TRANSFER_REFIT :({STRING} taşımak için otomatik modifiye et, aktar ve kargo al) -STR_ORDER_TRANSFER_FULL_LOAD_REFIT :({STRING} taşımak için otomatik modifiye et, aktar ve tam doldur) -STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :({STRING} taşımak için otomatik modifiye et, aktar ve herhangi bir kargoyu tam doldur) -STR_ORDER_NO_UNLOAD_REFIT :({STRING} taşımak için otomatik modifiye et, boşaltmadan kargo al) -STR_ORDER_NO_UNLOAD_FULL_LOAD_REFIT :({STRING} taşımak için otomatik modifiye et ve boşaltmadan tam doldur) -STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY_REFIT :({STRING} taşımak için otomatik modifiye et, boşaltmadan herhangi bir kargoyu tam doldur) +STR_ORDER_AUTO_REFIT :({STRING} taşımak için) +STR_ORDER_FULL_LOAD_REFIT :({STRING} taşımak için tam doldur) +STR_ORDER_FULL_LOAD_ANY_REFIT :({STRING} taşımak için herhangi bir kargoyu tam doldur) +STR_ORDER_UNLOAD_REFIT :({STRING} taşımak için boşalt ve kargoyu al) +STR_ORDER_UNLOAD_FULL_LOAD_REFIT :({STRING} taşımak için boşalt ve tam doldur) +STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :({STRING} taşımak için boşalt ve herhangi bir kargoyu tam doldur) +STR_ORDER_TRANSFER_REFIT :({STRING} taşımak için aktar ve kargo al) +STR_ORDER_TRANSFER_FULL_LOAD_REFIT :({STRING} taşımak için aktar ve tam doldur) +STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :({STRING} taşımak için aktar ve herhangi bir kargoyu tam doldur) +STR_ORDER_NO_UNLOAD_REFIT :({STRING} taşımak için boşaltmadan kargo al) +STR_ORDER_NO_UNLOAD_FULL_LOAD_REFIT :({STRING} taşımak için boşaltmadan tam doldur) +STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY_REFIT :({STRING} taşımak için boşaltmadan herhangi bir kargoyu tam doldur) STR_ORDER_AUTO_REFIT_ANY :kullanılabilir kargo @@ -3829,8 +3810,8 @@ STR_TIMETABLE_TRAVEL_FOR :{STRING} boyunc STR_TIMETABLE_TRAVEL_FOR_SPEED :{STRING} boyunca en çok {VELOCITY} hız ile git STR_TIMETABLE_STAY_FOR :{STRING} bekle STR_TIMETABLE_AND_TRAVEL_FOR :ve şuraya sefer yap: {STRING} -STR_TIMETABLE_DAYS :{COMMA} gün -STR_TIMETABLE_TICKS :{COMMA} birim +STR_TIMETABLE_DAYS :{COMMA}{NBSP}gün +STR_TIMETABLE_TICKS :{COMMA}{NBSP}birim STR_TIMETABLE_TOTAL_TIME :{BLACK}Bu zaman çizelgesinin bitmesi {STRING} sürecek STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}Bu zaman çizelgesinin bitmesi en az {STRING} sürecek (tamamı hesaplanmadı) @@ -4094,7 +4075,7 @@ STR_ERROR_TOO_CLOSE_TO_EDGE_OF_MAP_SUB :{WHITE}... hari STR_ERROR_TOO_CLOSE_TO_ANOTHER_TOWN :{WHITE}... başka bir şehire çok yakın STR_ERROR_TOO_MANY_TOWNS :{WHITE}... çok fazla şehir var STR_ERROR_NO_SPACE_FOR_TOWN :{WHITE}... haritada boş yer yok -STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}Şehir yol yapmayacak. Yol yapımını Gelişmiş Ayarlar->Ekonomi->Şehirler'den etkinleştirebilirsiniz +STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}Kasaba yol yapmayacak. Yol yapımını Gelişmiş Ayarlar->Ekonomi->Şehirler'den etkinleştirebilirsiniz STR_ERROR_ROAD_WORKS_IN_PROGRESS :{WHITE}Yol çalışmaları STR_ERROR_TOWN_CAN_T_DELETE :{WHITE}Bu kasaba silinemiyor...{}Bir istasyon veya garaj kasabaya atıfta bulunuyor ya da bir kasaba karesi kaldırılamıyor STR_ERROR_STATUE_NO_SUITABLE_PLACE :{WHITE}... bu şehrin merkezinde heykel için uygun bir yer yok @@ -4118,6 +4099,7 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... orma STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... yalnız kar çizgisinin üzerinde yapılabilir STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... yalnız kar çizgisinin altında yapılabilir + # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Buraya tren istasyonu yapılamıyor... STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}Otobüs durağı yapılamıyor... @@ -4863,8 +4845,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -4875,9 +4855,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/ukrainian.txt b/src/lang/ukrainian.txt index 1ae1f1202a..f5ff1162fd 100644 --- a/src/lang/ukrainian.txt +++ b/src/lang/ukrainian.txt @@ -220,30 +220,30 @@ STR_CARGO_SINGULAR_FIZZY_DRINK.z :газован # Quantity of cargo STR_QUANTITY_NOTHING : -STR_QUANTITY_PASSENGERS :{COMMA} пасажир{P "" и iв} +STR_QUANTITY_PASSENGERS :{COMMA}{NBSP}пасажир{P "" и iв} STR_QUANTITY_COAL :{WEIGHT_LONG} вугілля -STR_QUANTITY_MAIL :{COMMA} сум{P ка ки ок} пошти +STR_QUANTITY_MAIL :{COMMA}{NBSP}міш{P ок ка ків} пошти STR_QUANTITY_OIL :{VOLUME_LONG} нафти -STR_QUANTITY_LIVESTOCK :{COMMA} гол{P ова ови ів} худоби -STR_QUANTITY_GOODS :{COMMA} ящи{P к ки ків} товарів +STR_QUANTITY_LIVESTOCK :{COMMA}{NBSP}гол{P ова ови ів} худоби +STR_QUANTITY_GOODS :{COMMA}{NBSP}ящи{P к ки ків} товарів STR_QUANTITY_GRAIN :{WEIGHT_LONG} зерна STR_QUANTITY_WOOD :{WEIGHT_LONG} деревини STR_QUANTITY_IRON_ORE :{WEIGHT_LONG} залізної руди STR_QUANTITY_STEEL :{WEIGHT_LONG} сталі -STR_QUANTITY_VALUABLES :{COMMA} сум{P ка ки ок} коштовностей +STR_QUANTITY_VALUABLES :{COMMA}{NBSP}міш{P ок ка ків} коштовностей STR_QUANTITY_COPPER_ORE :{WEIGHT_LONG} мідної руди STR_QUANTITY_MAIZE :{WEIGHT_LONG} кукурудзи STR_QUANTITY_FRUIT :{WEIGHT_LONG} фруктів -STR_QUANTITY_DIAMONDS :{COMMA} сум{P ка ки ок} діамантів +STR_QUANTITY_DIAMONDS :{COMMA}{NBSP}міш{P ок ки ків} діамантів STR_QUANTITY_FOOD :{WEIGHT_LONG} продуктів STR_QUANTITY_PAPER :{WEIGHT_LONG} паперу -STR_QUANTITY_GOLD :{COMMA} міш{P ок ки ків} золота +STR_QUANTITY_GOLD :{COMMA}{NBSP}міш{P ок ки ків} золота STR_QUANTITY_WATER :{VOLUME_LONG} води STR_QUANTITY_WHEAT :{WEIGHT_LONG} пшениці STR_QUANTITY_RUBBER :{VOLUME_LONG} каучуку STR_QUANTITY_SUGAR :{WEIGHT_LONG} цукру -STR_QUANTITY_TOYS :{COMMA} іграш{P ка ки ок} -STR_QUANTITY_SWEETS :{COMMA} пакун{P ок ки ків} цукерок +STR_QUANTITY_TOYS :{COMMA}{NBSP}іграш{P ка ки ок} +STR_QUANTITY_SWEETS :{COMMA}{NBSP}пакун{P ок ки ків} цукерок STR_QUANTITY_COLA :{VOLUME_LONG} Коли STR_QUANTITY_CANDYFLOSS :{WEIGHT_LONG} солодкої вати STR_QUANTITY_BUBBLES :{COMMA} бульбаш{P ка ки ок} @@ -290,12 +290,12 @@ STR_ABBREV_NONE :{TINY_FONT}НІ STR_ABBREV_ALL :{TINY_FONT}Все # 'Mode' of transport for cargoes -STR_PASSENGERS :{COMMA} пасажир{P "" и ів} -STR_BAGS :{COMMA} міш{P ок ка ків} -STR_TONS :{COMMA} тон{P а и ""} -STR_LITERS :{COMMA} літр{P "" а ів} -STR_ITEMS :{COMMA} штук{P а и ""} -STR_CRATES :{COMMA} ящик{P "" а ів} +STR_PASSENGERS :{COMMA}{NBSP}пасажир{P "" и ів} +STR_BAGS :{COMMA}{NBSP}міш{P ок ка ків} +STR_TONS :{COMMA}{NBSP}тон{P "а" "и" ""} +STR_LITERS :{COMMA}{NBSP}літр{P "" "а" "ів"} +STR_ITEMS :{COMMA}{NBSP}штук{P "а" "и" ""} +STR_CRATES :{COMMA}{NBSP}ящик{P "" а ів} # Colours, do not shuffle STR_COLOUR_DARK_BLUE :Темно-синій @@ -316,37 +316,37 @@ STR_COLOUR_GREY :Сірий STR_COLOUR_WHITE :Білий # Units used in OpenTTD -STR_UNITS_VELOCITY_IMPERIAL :{COMMA} миль/год -STR_UNITS_VELOCITY_METRIC :{COMMA} км/год -STR_UNITS_VELOCITY_SI :{COMMA} м/с +STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}миль/год +STR_UNITS_VELOCITY_METRIC :{COMMA}{NBSP}км/год +STR_UNITS_VELOCITY_SI :{COMMA}{NBSP}м/с -STR_UNITS_POWER_IMPERIAL :{COMMA}к.с. -STR_UNITS_POWER_METRIC :{COMMA}к.с. -STR_UNITS_POWER_SI :{COMMA}кВт +STR_UNITS_POWER_IMPERIAL :{COMMA}{NBSP}к.с. +STR_UNITS_POWER_METRIC :{COMMA}{NBSP}к.с. +STR_UNITS_POWER_SI :{COMMA}{NBSP}кВт -STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}т -STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}т -STR_UNITS_WEIGHT_SHORT_SI :{COMMA}кг +STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}{NBSP}т +STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}{NBSP}т +STR_UNITS_WEIGHT_SHORT_SI :{COMMA}{NBSP}кг -STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA} тонн{P "а" "и" ""} -STR_UNITS_WEIGHT_LONG_METRIC :{COMMA} тон{P а и ""} -STR_UNITS_WEIGHT_LONG_SI :{COMMA} кг +STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA}{NBSP}тонн{P "а" "и" ""} +STR_UNITS_WEIGHT_LONG_METRIC :{COMMA}{NBSP}тон{P а и ""} +STR_UNITS_WEIGHT_LONG_SI :{COMMA}{NBSP}кг -STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA} гал -STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}л -STR_UNITS_VOLUME_SHORT_SI :{COMMA}м³ +STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}{NBSP}гал +STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}{NBSP}л +STR_UNITS_VOLUME_SHORT_SI :{COMMA}{NBSP}м³ -STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA} галон{P "" и ів} -STR_UNITS_VOLUME_LONG_METRIC :{COMMA} літр{P "" а ів} -STR_UNITS_VOLUME_LONG_SI :{COMMA} м³ +STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA}{NBSP}галон{P "" и ів} +STR_UNITS_VOLUME_LONG_METRIC :{COMMA}{NBSP}літр{P "" "а" "ів"} +STR_UNITS_VOLUME_LONG_SI :{COMMA}{NBSP}м³ -STR_UNITS_FORCE_IMPERIAL :{COMMA} фунт-сили -STR_UNITS_FORCE_METRIC :{COMMA} кгс -STR_UNITS_FORCE_SI :{COMMA} кН +STR_UNITS_FORCE_IMPERIAL :{COMMA}{NBSP}фунт-сила +STR_UNITS_FORCE_METRIC :{COMMA}{NBSP}кгс +STR_UNITS_FORCE_SI :{COMMA}{NBSP}кН -STR_UNITS_HEIGHT_IMPERIAL :{COMMA} фт -STR_UNITS_HEIGHT_METRIC :{COMMA} м -STR_UNITS_HEIGHT_SI :{COMMA} м +STR_UNITS_HEIGHT_IMPERIAL :{COMMA}{NBSP}фт +STR_UNITS_HEIGHT_METRIC :{COMMA}{NBSP}м +STR_UNITS_HEIGHT_SI :{COMMA}{NBSP}м # Common window strings STR_LIST_FILTER_TITLE :{BLACK}Фільтр: @@ -366,13 +366,24 @@ STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS :{BLACK}Заго STR_TOOLTIP_SHADE :{BLACK}Згорнути вікно - показувати тільки заголовок STR_TOOLTIP_DEBUG :{BLACK}Показати інформацію для відлагодження NewGRF STR_TOOLTIP_DEFSIZE :{BLACK}Повернути розмір вікна до типового. Ctrl+Click робить поточний розмір типовим -STR_TOOLTIP_STICKY :{BLACK}Не закривати вікно кнопкою "Закрити всі вікна". Ctrl+клік зберігає налаштування як базове +STR_TOOLTIP_STICKY :{BLACK}Не закривати вікно кнопкою "Закрити всі вікна". Ctrl+клац мишою зберігає налаштування як базове STR_TOOLTIP_RESIZE :{BLACK}Натисніть і тягніть для зміни розміру вікна STR_TOOLTIP_TOGGLE_LARGE_SMALL_WINDOW :{BLACK}Розмір вікна великий/малий STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Смуга прокрутки - прокручує список вверх/вниз STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Смуга прокрутки - прокручує список вліво/вправо STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Зруйнувати будинки, дороги і т.п. Утримуйте Ctrl для виділення клітинок по діагоналі, або Shift - для показу витрат на руйнування +# Show engines button +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}Показати сховане +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK}Показати сховане +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}Показати сховане +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}Показати сховане + +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}натискання цієї кнопки зробить видимими приховані потяги +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE_TOOLTIP :{BLACK}натискання цієї кнопки зробить видимим прихований колісний транспорт +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}натискання цієї кнопки зробить видимими приховані кораблі +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}натискання цієї кнопки зробить видимими приховані літальні апарати + # Query window STR_BUTTON_DEFAULT :{BLACK}Стандартно STR_BUTTON_CANCEL :{BLACK}Відміна @@ -437,15 +448,15 @@ STR_TOOLBAR_TOOLTIP_DISPLAY_SUBSIDIES :{BLACK}Пока STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_STATIONS :{BLACK}Показати список станцій компанії STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_FINANCES :{BLACK}Фінансова інформація STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_GENERAL :{BLACK}Головна інформація -STR_TOOLBAR_TOOLTIP_DISPLAY_STORY_BOOK :{BLACK}Показати список завдань +STR_TOOLBAR_TOOLTIP_DISPLAY_STORY_BOOK :{BLACK}Показати історію STR_TOOLBAR_TOOLTIP_DISPLAY_GOALS_LIST :{BLACK}Показати список завдань STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}Показати графіки STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_LEAGUE :{BLACK}Показати таблицю компаній STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}Фінансувати будівництво нової промисловості -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}Показати список поїздів компанії. Ctrl+клік переключає відкриття звичайного/розширенного списку -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_ROAD_VEHICLES :{BLACK}Показати список дорожнього транспорту компанії. Ctrl+клік переключає відкриття звичайного/розширенного списку. -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :{BLACK}Показати список кораблів компанії. Ctrl+клік переключає відкриття звичайного/розширенного списку. -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_AIRCRAFT :{BLACK}Показати список повітряного транспорту компанії. Ctrl+клік переключає відкриття звичайного/розширенного списку. +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}Показати список поїздів компанії. Ctrl+клац мишою переключає відкриття звичайного/розширенного списку +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_ROAD_VEHICLES :{BLACK}Показати список дорожнього транспорту компанії. Ctrl+клац мишою переключає відкриття звичайного/розширенного списку +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :{BLACK}Показати список кораблів компанії. Ctrl+клац мишою переключає відкриття звичайного/розширенного списку +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_AIRCRAFT :{BLACK}Показати список повітряного транспорту компанії. Ctrl+клац мишою переключає відкриття звичайного/розширенного списку STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_IN :{BLACK}Збільшити STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_OUT :{BLACK}Зменшити STR_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Будувати залізницю @@ -486,7 +497,7 @@ STR_SCENEDIT_FILE_MENU_QUIT :Вихід ############ range for settings menu starts STR_SETTINGS_MENU_GAME_OPTIONS :Налаштування гри -STR_SETTINGS_MENU_CONFIG_SETTINGS :Розширені налаштування +STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Налаштування STR_SETTINGS_MENU_SCRIPT_SETTINGS :Налаштування AI / Ігрового скрипта STR_SETTINGS_MENU_NEWGRF_SETTINGS :Налаштування NewGRF STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Налаштування прозорості @@ -504,7 +515,7 @@ STR_SETTINGS_MENU_TRANSPARENT_SIGNS :Прозорі ############ range for file menu starts STR_FILE_MENU_SAVE_GAME :Зберегти гру STR_FILE_MENU_LOAD_GAME :Завантажити гру -STR_FILE_MENU_QUIT_GAME :Залишити гру +STR_FILE_MENU_QUIT_GAME :Покинути гру STR_FILE_MENU_SEPARATOR : STR_FILE_MENU_EXIT :Вихід ############ range ends here @@ -595,7 +606,7 @@ STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Вкл./від STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Вкл./відкл. підсвічування застарілих блоків ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window STR_ORDINAL_NUMBER_1ST :1 STR_ORDINAL_NUMBER_2ND :2 STR_ORDINAL_NUMBER_3RD :3 @@ -611,22 +622,40 @@ STR_ORDINAL_NUMBER_12TH :12 STR_ORDINAL_NUMBER_13TH :13 STR_ORDINAL_NUMBER_14TH :14 STR_ORDINAL_NUMBER_15TH :15 -STR_ORDINAL_NUMBER_16TH :16 -STR_ORDINAL_NUMBER_17TH :17 -STR_ORDINAL_NUMBER_18TH :18 -STR_ORDINAL_NUMBER_19TH :19 -STR_ORDINAL_NUMBER_20TH :20 -STR_ORDINAL_NUMBER_21ST :21 -STR_ORDINAL_NUMBER_22ND :22 -STR_ORDINAL_NUMBER_23RD :23 -STR_ORDINAL_NUMBER_24TH :24 -STR_ORDINAL_NUMBER_25TH :25 -STR_ORDINAL_NUMBER_26TH :26 -STR_ORDINAL_NUMBER_27TH :27 -STR_ORDINAL_NUMBER_28TH :28 -STR_ORDINAL_NUMBER_29TH :29 -STR_ORDINAL_NUMBER_30TH :30 -STR_ORDINAL_NUMBER_31ST :31 +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :1 +STR_DAY_NUMBER_2ND :2 +STR_DAY_NUMBER_3RD :3 +STR_DAY_NUMBER_4TH :4 +STR_DAY_NUMBER_5TH :5 +STR_DAY_NUMBER_6TH :6 +STR_DAY_NUMBER_7TH :7 +STR_DAY_NUMBER_8TH :8 +STR_DAY_NUMBER_9TH :9 +STR_DAY_NUMBER_10TH :10 +STR_DAY_NUMBER_11TH :11 +STR_DAY_NUMBER_12TH :12 +STR_DAY_NUMBER_13TH :13 +STR_DAY_NUMBER_14TH :14 +STR_DAY_NUMBER_15TH :15 +STR_DAY_NUMBER_16TH :16 +STR_DAY_NUMBER_17TH :17 +STR_DAY_NUMBER_18TH :18 +STR_DAY_NUMBER_19TH :19 +STR_DAY_NUMBER_20TH :20 +STR_DAY_NUMBER_21ST :21 +STR_DAY_NUMBER_22ND :22 +STR_DAY_NUMBER_23RD :23 +STR_DAY_NUMBER_24TH :24 +STR_DAY_NUMBER_25TH :25 +STR_DAY_NUMBER_26TH :26 +STR_DAY_NUMBER_27TH :27 +STR_DAY_NUMBER_28TH :28 +STR_DAY_NUMBER_29TH :29 +STR_DAY_NUMBER_30TH :30 +STR_DAY_NUMBER_31ST :31 ############ range for days ends ############ range for months starts @@ -778,7 +807,7 @@ STR_PLAYLIST_PROGRAM :{TINY_FONT}{BLA STR_PLAYLIST_CLEAR :{TINY_FONT}{BLACK}Очистити STR_PLAYLIST_TOOLTIP_CLEAR_CURRENT_PROGRAM_CUSTOM1 :{BLACK}Очистити програму (тільки для Набору 1 або Набору 2) STR_PLAYLIST_TOOLTIP_CLICK_TO_ADD_TRACK :{BLACK}Виберіть доріжку, щоб додати до програми (тільки для Набору 1 або Набору 2) -STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Клікніть на мелодії для її видалення зі списку (лише Набір1 та Набір2) +STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Клацніть мишою на мелодії для її видалення зі списку (лише Набір1 та Набір2) # Highscore window STR_HIGHSCORE_TOP_COMPANIES_WHO_REACHED :{BIG_FONT}{BLACK}Кращі компанії, які досягли {NUM} @@ -813,9 +842,9 @@ STR_SMALLMAP_TOOLTIP_SHOW_LINK_STATS_ON_MAP :{BLACK}Пока STR_SMALLMAP_TOOLTIP_SHOW_TRANSPORT_ROUTES_ON :{BLACK}Показати маршрути на карті STR_SMALLMAP_TOOLTIP_SHOW_VEGETATION_ON_MAP :{BLACK}Показати рослинність на карті STR_SMALLMAP_TOOLTIP_SHOW_LAND_OWNERS_ON_MAP :{BLACK}Показати власників землі на карті -STR_SMALLMAP_TOOLTIP_INDUSTRY_SELECTION :{BLACK}Щоб відобразити певний вид підприємств, клацніть на ньому мишкою. Ctrl + клік мишкою вмикає/вимикає відображення всіх видів, окрім обраного. -STR_SMALLMAP_TOOLTIP_COMPANY_SELECTION :{BLACK}Натисніть на компанію аби відобразити її власність. Ctrl + клік мишкою вмикає/вимикає відображення власності всіх компаній, окрім обраної. -STR_SMALLMAP_TOOLTIP_CARGO_SELECTION :{BLACK}Натискання на вантаж покаже його власника. Ctrl+клік відключить усі вантажі, крім одного обраного. Повторний Ctrl+клік підключить усі вантажі +STR_SMALLMAP_TOOLTIP_INDUSTRY_SELECTION :{BLACK}Щоб відобразити певний вид підприємств, клацніть на ньому мишою. Ctrl+клац мишою вмикає/вимикає відображення всіх видів, окрім обраного +STR_SMALLMAP_TOOLTIP_COMPANY_SELECTION :{BLACK}Натисніть на компанію аби відобразити її власність. Ctrl+клац мишою вмикає/вимикає відображення власності всіх компаній, окрім обраної +STR_SMALLMAP_TOOLTIP_CARGO_SELECTION :{BLACK}Натискання на вантаж покаже його власника. Ctrl+клац мишою відключить усі вантажі, крім одного обраного. Повторний Ctrl+клац мишою підключить усі вантажі STR_SMALLMAP_LEGENDA_ROADS :{TINY_FONT}{BLACK}Дороги STR_SMALLMAP_LEGENDA_RAILROADS :{TINY_FONT}{BLACK}Залізниці @@ -938,13 +967,12 @@ STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}{VEHICLE STR_NEWS_SHIP_IS_WAITING :{WHITE}{VEHICLE} чекає в депо STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE} чекає в ангарі -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE +# Order review system / warnings STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE} має замало завдань STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE} має недійсне завдання STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE} має подвоєння завдань STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE} має невірну станцію в завданнях -# end of order system +STR_NEWS_PLANE_USES_TOO_SHORT_RUNWAY :{WHITE} Один із пунктів призначення {VEHICLE} має закоротку злітну смугу STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} застарів STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} дуже застарів @@ -1027,10 +1055,6 @@ STR_GAME_OPTIONS_CURRENCY_GEL :Грузинс STR_GAME_OPTIONS_CURRENCY_IRR :Іранський ріал (IRR) ############ end of currency region - -############ start of measuring units region -############ end of measuring units region - STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Сторона руху транспорту STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}Виберіть, по якій стороні рухається дорожній транспорт STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :лівосторонній рух @@ -1066,11 +1090,13 @@ STR_GAME_OPTIONS_TOWN_NAME_CATALAN :Каталон STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Автозбереження STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Виберіть період автозбереження гри +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :вимкнено STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :щомісяця STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :кожні три місяці STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :кожні півроку STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :щороку +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}Мова STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Виберіть мову інтерфейса користувача @@ -1082,8 +1108,12 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}Розд STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Виберіть роздільну здатність екрану STR_GAME_OPTIONS_RESOLUTION_OTHER :інша -STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}Формат знімків екрану -STR_GAME_OPTIONS_SCREENSHOT_FORMAT_TOOLTIP :{BLACK}Виберіть формат для створення копій екрану +STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Розмір інтерфейсу +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Оберіть розмір елементів інтерфейсу + +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Нормальний розмір +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Подвійний розмір +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Почетверний розмір STR_GAME_OPTIONS_BASE_GRF :{BLACK}Базовий набір графіки STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Оберіть, яку основну графіку використовувати @@ -1099,6 +1129,7 @@ STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Обер STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} зіпсовани{P й х х} файл{P "" а ів} STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Допоміжна інформація про базовий музичний набір +STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Не вдалося отримати список підтримуваних дозволів STR_ERROR_FULLSCREEN_FAILED :{WHITE}Повноекранний режим не працює # Custom currency window @@ -1159,10 +1190,10 @@ STR_SEA_LEVEL_HIGH :високий STR_SEA_LEVEL_CUSTOM :вибірковий STR_SEA_LEVEL_CUSTOM_PERCENTAGE :вибірковий ({NUM}%) -STR_RIVERS_NONE :Нема -STR_RIVERS_FEW :Кілька -STR_RIVERS_MODERATE :Середньо -STR_RIVERS_LOT :Багато +STR_RIVERS_NONE :немає +STR_RIVERS_FEW :кілька +STR_RIVERS_MODERATE :середньо +STR_RIVERS_LOT :багато STR_DISASTER_NONE :відкл. STR_DISASTER_REDUCED :знижено @@ -1177,6 +1208,7 @@ STR_TERRAIN_TYPE_VERY_FLAT :плаский STR_TERRAIN_TYPE_FLAT :рівнинний STR_TERRAIN_TYPE_HILLY :пагористий STR_TERRAIN_TYPE_MOUNTAINOUS :гористий +STR_TERRAIN_TYPE_ALPINIST :скелястий STR_CITY_APPROVAL_PERMISSIVE :допустиме STR_CITY_APPROVAL_TOLERANT :терпиме @@ -1184,8 +1216,8 @@ STR_CITY_APPROVAL_HOSTILE :вороже STR_WARNING_NO_SUITABLE_AI :{WHITE}Немає відповідних AI...{}Ви можете завантажити кілька AI через систему 'Вмісту в Інтернеті' -# Advanced settings window -STR_CONFIG_SETTING_CAPTION :{WHITE}Розширені налаштування +# Settings tree window +STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Налаштування STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Фільтр: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Розгорнути всі STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Згорнути всі @@ -1193,27 +1225,30 @@ STR_CONFIG_SETTING_NO_EXPLANATION_AVAILABLE_HELPTEXT :(пояснен STR_CONFIG_SETTING_DEFAULT_VALUE :{LTBLUE}Стандартне значення: {ORANGE}{STRING} STR_CONFIG_SETTING_TYPE :{LTBLUE}Тип: {ORANGE}{STRING} STR_CONFIG_SETTING_TYPE_CLIENT :Налаштування клієнта (не присутні в збережених іграх; впливають на будь-яку гру) -STR_CONFIG_SETTING_TYPE_GAME_MENU :Налаштування гри (знаходяться в збережених іграх; впливають тільки на нову гру) -STR_CONFIG_SETTING_TYPE_GAME_INGAME :Налаштування гри (знаходяться в збережених іграх; впливають тільки на поточну гру) -STR_CONFIG_SETTING_TYPE_COMPANY_MENU :Налаштування компанії (знаходяться в збережених іграх; впливають тільки на нову гру) +STR_CONFIG_SETTING_TYPE_GAME_MENU :Налаштування гри (залишаються при збереженні; впливають тільки на нову гру) +STR_CONFIG_SETTING_TYPE_GAME_INGAME :Налаштування гри (залишаються при збереженні; впливають тільки на поточну гру) +STR_CONFIG_SETTING_TYPE_COMPANY_MENU :Налаштування компанії (залишаються при збереженні; впливають тільки на нові ігри) STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :Налаштування компанії (знаходяться в збережених іграх; впливають тільки на поточну гру) STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK}Категорія: STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}Тип: -STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Показати лише налаштування, які було змінено -STR_CONFIG_SETTING_RESTRICT_BASIC :Основні налаштування -STR_CONFIG_SETTING_RESTRICT_ADVANCED :Розширені налаштування -STR_CONFIG_SETTING_RESTRICT_ALL :Всі / експертні налаштування -STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :Налаштування, що відрізняються від дефолтних +STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Показати лише відфільтровані налаштування +STR_CONFIG_SETTING_RESTRICT_BASIC :Основні (показує лише найважливіші налаштування) +STR_CONFIG_SETTING_RESTRICT_ADVANCED :Розширені (показати основні налаштування) +STR_CONFIG_SETTING_RESTRICT_ALL :Експертні / (показати всі налаштування, в тому числі незвичні) +STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :Налаштування, що відрізняються від стандартних STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :Налаштування, що відрізняються від налаштувань нової гри STR_CONFIG_SETTING_TYPE_DROPDOWN_HELPTEXT :{BLACK}Обмежує перелік нижче визначеними типами налаштувань STR_CONFIG_SETTING_TYPE_DROPDOWN_ALL :Усі типи налаштувань -STR_CONFIG_SETTING_TYPE_DROPDOWN_CLIENT :Налаштування клієнта (не присутні в збережених іграх; впливають на всі ігри) -STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :Налаштування гри (знаходяться в збережених іграх; впливають лише на нові ігри) -STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :Налаштування гри (знаходяться в збережених іграх; впливають лише на поточну гру) +STR_CONFIG_SETTING_TYPE_DROPDOWN_CLIENT :Налаштування клієнта (не залишаються при збереженні; впливають на всі ігри) +STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :Налаштування гри (залишаються при збереженні; впливають лише на нові ігри) +STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :Налаштування гри (залишаються при збереженні; впливають лише на поточну гру) STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :Налаштування компанії (знаходяться в збережених іграх; впливають лише на нові ігри) STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :Налаштування компанії (знаходяться у збережених іграх; впливають лише на поточну компанію) +STR_CONFIG_SETTING_CATEGORY_HIDES :{BLACK}Показати всі результати пошуку встановивши{}{SILVER}Категорію {BLACK}на {WHITE}{STRING} +STR_CONFIG_SETTING_TYPE_HIDES :{BLACK}Показати всі результати пошуку встановивши{}{SILVER}Тип {BLACK}на {WHITE}Всі типи налаштувань +STR_CONFIG_SETTING_CATEGORY_AND_TYPE_HIDES :{BLACK}Показати всі результати пошуку встановивши{}{SILVER}Категорію {BLACK}на {WHITE}{STRING} {BLACK}і {SILVER}Тип {BLACK}на {WHITE}Всі типи налаштувань STR_CONFIG_SETTINGS_NONE :{WHITE}- немає - STR_CONFIG_SETTING_OFF :ні @@ -1252,11 +1287,12 @@ STR_CONFIG_SETTING_TRAIN_REVERSING :Заборон STR_CONFIG_SETTING_TRAIN_REVERSING_HELPTEXT :Якщо увімкнено, поїзди не будуть розвертатися на некінцевих станціях, навіть якщо є коротший шлях до їх наступного пункту призначення, який вимагає розвороту STR_CONFIG_SETTING_DISASTERS :Стихійні лиха: {STRING} STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Перемкнути стихійні лиха, які можуть випадково зруйнувати транспорт або інфраструктуру -STR_CONFIG_SETTING_CITY_APPROVAL :Ставлення ради міста до реструктуризації його території: {STRING} +STR_CONFIG_SETTING_CITY_APPROVAL :Ставлення ради міста до зміни його території: {STRING} STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Виберіть, який рівень шуму та руйнування довкілля компаніями впливає на їх рейтинг для міст та подальші будівельні дії в їх межах -STR_CONFIG_SETTING_BUILDONSLOPES :Дозволити будівництво на схилах та узбережжях: {STRING} -STR_CONFIG_SETTING_BUILDONSLOPES_HELPTEXT :При включенні шляхи та станції можна будувати на більшості схилів. При відключенні допускається лише будівництво, що не потребує добудови фундаментів (шляхи за напрямом схилу, станції на повністю рівній землі) +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :Максимальна висота карти: {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :Встановити максимально дозволену висоту гір на карті +STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}Неможливо встановити таку висоти карти. Як мінімум одна гора на карті є вищою STR_CONFIG_SETTING_AUTOSLOPE :Дозволити зміну схилів під будівлями, дорогами тощо: {STRING} STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Можливість змінювати ландшафт під будівлями та дорогами без необхідності їх зносу STR_CONFIG_SETTING_CATCHMENT :Більш реалістічні зони покриття станцій: {STRING} @@ -1281,16 +1317,12 @@ STR_CONFIG_SETTING_FORBID_90_DEG :Заборон STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :При включенні прямокутні перетини шляхів не будуть вважатися поворотами. Для повороту необходно прокладати шляхи під кутом 45°. STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Станції можуть складатися з не суміжних частин: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Дозволяє об'єднання в одну станцію частин, що не примикають одна до одної. Щоб приєднати нову станцію до існуючої необхідно використовувати Ctrl+Click при будівництві. -STR_CONFIG_SETTING_IMPROVEDLOAD :Використовувати поліпшений алгоритм вантаження: {STRING} -STR_CONFIG_SETTING_IMPROVEDLOAD_HELPTEXT :При включенні вантаження декількох транспортних засобів на станції здійснюється по черзі. Вантаження наступного транспортного засобу починається тільки після завантаження попереднього. -STR_CONFIG_SETTING_GRADUAL_LOADING :Поступове вантаження: {STRING} -STR_CONFIG_SETTING_GRADUAL_LOADING_HELPTEXT :При включенні транспортні засоби завантажуються поступово, а час вантаження залежить від типу транспорту. Інакше весь вантаж переміщується одразу за час, що залежить від його кількості. STR_CONFIG_SETTING_INFLATION :Інфляція: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :Дозволяє інфляцію в економіці. При цьому витрати з часом зростають дещо швидше за прибутки -STR_CONFIG_SETTING_SELECTGOODS :Постачати вантаж на станцію тільки якщо на нього був попит: {STRING} -STR_CONFIG_SETTING_SELECTGOODS_HELPTEXT :Дозволити постачання на станцію тільки тих вантажів, які можуть перевозити транспортні засоби, що прибували до цієї станції. Це запобігає низькому рейтингу відносно вантажів, що не обслуговуються. STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Максимальна довжина мостів: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Максимально допустима довжина мостів +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :Максимальна висота моста: {STRING} +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :Максимальна висота при будівництві мостів STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Максимальна довжина тунелів: {STRING} STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :Максимально допустима довжина тунелів STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Спосіб створення сировинних підприємств: {STRING} @@ -1316,8 +1348,6 @@ STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Задайте, STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :на початку STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :посередині STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :наприкінці -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING :Автотранспорт шикується в чергу на зупинках: {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING_HELPTEXT :При включенні дорожній транспорт буде очікувати в черзі перед зайнятими зупинками. STR_CONFIG_SETTING_AUTOSCROLL :Прокручувати вікно, коли курсор з краю: {STRING} STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :При включенні вміст вікон огляду буде прокручуватись при підведенні курсора до краю вікна STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Вимкнено @@ -1348,13 +1378,9 @@ STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Дозволи STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Дозволяє встановлення зупинок на дорогах, якими володіє місто. STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Дозволити встановлення зупинок на дорогах конкурентів: {STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Дозволяє встановлення зупинок на дорогах, якими володіють конкуренти. -STR_CONFIG_SETTING_ADJACENT_STATIONS :Різні станції можуть примикати одна до одної: {STRING} -STR_CONFIG_SETTING_ADJACENT_STATIONS_HELPTEXT :Різні станції можуть примикати одна до одної -STR_CONFIG_SETTING_DYNAMIC_ENGINES :Дозволити декілька NewGRF наборів транспорту: {STRING} -STR_CONFIG_SETTING_DYNAMIC_ENGINES_HELPTEXT :Налаштування для сумісності зі старими файлами NewGRF. Не відключайте, якщо не впевнені в необхідності цього! STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Цю настройку не можливо змінити при наявності транспорту у грі STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Витрати на утримання інфраструктури: {STRING} -STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :При включенні інфраструктура потребує коштів для утримання. Витрати збільшуються не пропорційно з ростом розміру мережі, більше впливаючи на великі компанії ніж на малі. +STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :При включенні інфраструктура потребує коштів для утримання. Витрати збільшуються не пропорційно з ростом розміру мережі, більше впливаючи на великі компанії ніж на малі STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Аеропорти не застарівають: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :При включенні кожен аеропорт буде доступним для будівництва безстроково після його впровадження. @@ -1372,7 +1398,7 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Транспо STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :При включенні будь-яка модель транспортного засобу буде доступна для придбання безстроково після її впровадження. STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Автозаміна зношених транспортних засобів: {STRING} STR_CONFIG_SETTING_AUTORENEW_VEHICLE_HELPTEXT :При включенні транспортні засоби з вичерпаним строком служби автоматично замінюються на нові (при виконанні умов автозаміни). -STR_CONFIG_SETTING_AUTORENEW_MONTHS :Автозаміна транспрорту {STRING} закінчення строку експлуатаціі +STR_CONFIG_SETTING_AUTORENEW_MONTHS :Автозаміна транспрорту {STRING} закінчення строку експлуатації STR_CONFIG_SETTING_AUTORENEW_MONTHS_HELPTEXT :Момент з якого транспортний засіб підлягає автоматичній заміні. STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_BEFORE :{COMMA} місяц{P ь я ів} до STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_AFTER :{COMMA} місяц{P ь я ів} після @@ -1382,35 +1408,49 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :Тривалі STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Тривалість відображення повідомлень про помилки (червоне вікно повідомлень). Деякі (критичні) повідомлення необхідно закривати власноруч. STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{COMMA} секунд{P а и ""} STR_CONFIG_SETTING_HOVER_DELAY :Відображати підказки: {STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Затримка перед відображенням підказок при наведенні курсором на елементи інтерфейса. Окрім того, відображення підказок можна призначити на праву кнопку миші. -STR_CONFIG_SETTING_HOVER_DELAY_VALUE :При наведенні, через {COMMA} секунд{P у и ""} -STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :По правому кліку +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Затримка перед відображенням підказок при наведенні курсором на елементи інтерфейса. Окрім того, відображення підказок можна призначити на праву кнопку миші, якщо це значення поставити на 0. +STR_CONFIG_SETTING_HOVER_DELAY_VALUE :При наведенні, через {COMMA} мілісекунд{P у и ""} +STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :По правому клацу миші STR_CONFIG_SETTING_POPULATION_IN_LABEL :Показувати населення в назві міста: {STRING} STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Відображати кількість населення міста поряд з його назвою на карті STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Товщина ліній на графіках: {STRING} STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Товщина ліній на графіках. Тонкі лінії дають більш точне відображення, а товстіші - більш розбірливі. +STR_CONFIG_SETTING_LANDSCAPE :Ландшафт: {STRING} +STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Пейзажі визначають базові ігрові сценарії з різними вантажами, необхідними для зростання міст. NewGRF'и й ігрові скрипти дозволяють тонший контроль STR_CONFIG_SETTING_LAND_GENERATOR :Генератор ландшафту: {STRING} +STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :Стандартний залежить від базового набору графіки і створює стандартні форми ландшафту. TerraGenesis базується на генераторі шумів Перлина з тоншими налаштуваннями управління STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :стандартний STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis +STR_CONFIG_SETTING_TERRAIN_TYPE :Тип ландшафту: {STRING} +STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(Тільки TerraGenesis) Горбистість ландшафту +STR_CONFIG_SETTING_INDUSTRY_DENSITY :Густота підприємств: {STRING} +STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Встановіть кількість підприємств, що будуть створені і кількість підприємств, що існуватимуть впродовж гри STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Макс. відстань від краю карти до нафтопереробних заводів: {STRING} STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Нафтопереробні заводи завжди будуються не далеко від краю карти або узбережжя. STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Рівень снігової шапки: {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Грубість ландшафту (TerraGenesis) : {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :дуже плавний -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :плавний -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :грубий -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :дуже грубий +STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Контроль висоти, вище якої лежить сніг в субарктичному ландшафті. Сніг впливає на генерування підприємств та на умови росту міст +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Грубість ландшафту: {STRING} +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(Тільки для TerraGenesis) Оберіть частоту пагорбів: Плавний пейзаж має менше пагорбів, вони менш круті. Грубий ландшафт має багато пагорбів, що можуть повторюватись один за одним +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :дуже плавно +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :плавно +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :грубо +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :дуже грубо +STR_CONFIG_SETTING_VARIETY :Розподіл різноманітності: {STRING} +STR_CONFIG_SETTING_VARIETY_HELPTEXT :(Тільки для TerraGenesis) Перевірка наявності на карті гір і рівнин. Оскільки це робить карту плоскішою, інші налаштування необхідно встановити гірськими +STR_CONFIG_SETTING_RIVER_AMOUNT :Кількість річок: {STRING} +STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Виберіть кількість річок STR_CONFIG_SETTING_TREE_PLACER :Алгоритм розміщення дерев: {STRING} +STR_CONFIG_SETTING_TREE_PLACER_HELPTEXT :Виберіть модель розподілу дерев на карті: "Стандартно" розподіляє дерева рівномірно, "Покращено" розташовує їх групами STR_CONFIG_SETTING_TREE_PLACER_NONE :немає -STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :стандартний -STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :покращений +STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :стандартно +STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :покращено +STR_CONFIG_SETTING_ROAD_SIDE :Автотранспорт: {STRING} +STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :Виберіть сторону, по якій рухається автотранспорт STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Поворот карти висот: {STRING} STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :проти годинникової стрілки STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :за годинниковою стрілкою STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :Основний рівень суші плаского рельєфу: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :Дозволити зміну рельєфу на краю карти: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES_HELPTEXT :В разі відключення краї карти завжди будуть водними STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}Одна або більше клітинок з північного краю не є вільними STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}Одна або більше клітинок на одному з країв не є водними @@ -1428,10 +1468,10 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :фіолето STR_CONFIG_SETTING_REVERSE_SCROLLING :Змінити напрямок прокрутки: {STRING} STR_CONFIG_SETTING_REVERSE_SCROLLING_HELPTEXT :Налаштування переміщення по карті правою кнопкою миші. При включенні переміщується карта. При виключенні - камера. STR_CONFIG_SETTING_SMOOTH_SCROLLING :Плавна прокрутка у вікні: {STRING} -STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Налаштування способу прокрутки основного екрану при кліках по зменшенній карті, або інших діях, що призводять до переміщення по карті (кнопки "Оглянути", тощо). При включенні опції переміщення карти відбувається плавно. При виключенні - відбувається моментальне переміщення в необхідну точку. +STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Налаштування способу прокрутки основного екрану при клацанні мишою по зменшенній карті, або інших діях, що призводять до переміщення по карті (кнопки "Оглянути", тощо). При включенні опції переміщення карти відбувається плавно. При виключенні - відбувається моментальне переміщення в необхідну точку STR_CONFIG_SETTING_MEASURE_TOOLTIP :Показувати підказки про розміри під час будівництва: {STRING} STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT :Відображати довжини та різниці висот в підказках в процесі будівництва. -STR_CONFIG_SETTING_LIVERIES :Індивідуальні кольорові схеми: {STRING} +STR_CONFIG_SETTING_LIVERIES :Показувати кольорові схеми видів транспорту: {STRING} STR_CONFIG_SETTING_LIVERIES_HELPTEXT :Використовувати індивідуальні кольорові схеми різних типів транспорту замість загальної кольорової схеми компанії. STR_CONFIG_SETTING_LIVERIES_NONE :не використовувати STR_CONFIG_SETTING_LIVERIES_OWN :тільки для своєї компанії @@ -1448,30 +1488,28 @@ STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER_HELPTEXT :Налашту STR_CONFIG_SETTING_OSK_ACTIVATION :Екранна клавіатура: {STRING} STR_CONFIG_SETTING_OSK_ACTIVATION_HELPTEXT :Виберіть спосіб відкриття екранної клавіатури для введення тексту у поля тільки за допомогою вказівного пристрою. Це призначено для невеликих пристроїв без фактичної клавіатури STR_CONFIG_SETTING_OSK_ACTIVATION_DISABLED :Вимкнено -STR_CONFIG_SETTING_OSK_ACTIVATION_DOUBLE_CLICK :Подвійний клік -STR_CONFIG_SETTING_OSK_ACTIVATION_SINGLE_CLICK_FOCUS :Одиночний клік (коли виділено) -STR_CONFIG_SETTING_OSK_ACTIVATION_SINGLE_CLICK :Одиночний клік (негайно) +STR_CONFIG_SETTING_OSK_ACTIVATION_DOUBLE_CLICK :Подвійний клац мишою +STR_CONFIG_SETTING_OSK_ACTIVATION_SINGLE_CLICK_FOCUS :Одиночний клац мишою (коли виділено) +STR_CONFIG_SETTING_OSK_ACTIVATION_SINGLE_CLICK :Одиночний клац мишою (негайно) -STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU :Емуляція правого кліку: {STRING} -STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_HELPTEXT :Задає спосіб емуляції правого кліку -STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_COMMAND :Command+клік -STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_CONTROL :Ctrl+клік +STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU :Емуляція правого клацу миші: {STRING} +STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_HELPTEXT :Задає спосіб емуляції правого клацу миші +STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_COMMAND :Команда+клац мишою +STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_CONTROL :Ctrl+клац мишою STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :не емулювати -STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Прокрутка по лівому кліку: {STRING} +STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Прокрутка по лівому клацу миші: {STRING} STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :Дозволяє "тягати" карту утримуючи ліву кнопку миші, що дає можливість використовувати сенсорні екрани природнім способом.. +STR_CONFIG_SETTING_AUTOSAVE :Автозбереження: {STRING} +STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Оберіть проміжок між автоматичними збереженнями гри + STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Формат дати в іменах файлів збереження: {STRING} STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Формат дати в іменах файлів збереження STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :довгий (31 Гру 2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :короткий (31-12-2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE :Стандартна палітра файлів NewGRF: {STRING} -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_HELPTEXT :Налаштування палітри для файлів NewGRF, в яких вона не вказана. -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_DOS :Визначена палітра (D) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_WIN :Стара палітра (W) - STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Пауза на початку нової гри: {STRING} STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :При включенні на початку гри автоматично вмикається пауза. STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Дозволити в режимі паузи: {STRING} @@ -1480,7 +1518,7 @@ STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :Ніяких д STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :Всі дії, крім будівництва STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :Всі дії, крім зміни ландшафту STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_ACTIONS :Всі дії -STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Відкривати розширенний список транспорту: {STRING} +STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Використовувати групи у списку транспорту: {STRING} STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Вмикає використання розширенного інтерфейсу списків транспорту, що має інструменти групування транспортних засобів. STR_CONFIG_SETTING_LOADING_INDICATORS :Показувати індикатори завантаження: {STRING} STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Вмикає\вимикає відображення індикатора процесу завантаження над транспортними засобами. @@ -1495,7 +1533,7 @@ STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_HELPTEXT :Тип колі STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_FIRST :перший доступний STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_LAST :останній доступний STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_MOST_USED :найбільш вживаний -STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :Показувати зарезервовану колію: {STRING} +STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :Показувати зарезервований шлях для колій: {STRING} STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION_HELPTEXT :Вмикає відображення зарезервованної потягом ділянки колії, що може допомогти при наявності проблем з маршрутними сигналами. STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Залишати інструменти активними після використання: {STRING} STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Залишати інструменти будівництва активними після використання. @@ -1554,7 +1592,7 @@ STR_CONFIG_SETTING_SERVINT_ISPERCENT :Інтерва STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Налаштування способу визначення необхідності проведення техогляду: через вказаний проміжок часу після попереднього техогляду чи коли поточна надійність транспортного засобу стане нижчою від максимальної його надійності на вказаний процент. STR_CONFIG_SETTING_SERVINT_TRAINS :Інтервал техогляду залізничного транспорту: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Налаштування інтервалу техогляду для нового залізничного транспорту (встановлений інтервал може бути змінено окремо для кожного транспортного засобу в його інтерфейсі). -STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA} д{P ень ні нів}/% +STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}д{P 0 "ень" "ні" "нів"}/% STR_CONFIG_SETTING_SERVINT_DISABLED :Відключено STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES :Інтервал техогляду дорожнього транспорту: {STRING} STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES_HELPTEXT :Налаштування інтервалу техогляду для нового дорожнього транспорту (встановлений інтервал може бути змінено окремо для кожного транспортного засобу в його інтерфейсі). @@ -1617,18 +1655,18 @@ STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY :При прот STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_HELPTEXT :Налаштування відстані між сигналами при будівництві сигналів протягуванням. STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_VALUE :{COMMA} клітин{P ку ки ок} STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE :При протягуванні дотримуватись фіксованої дистанціі між сигналами: {STRING} -STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT :Вибрати спосіб встановлення сигналів при протягуванні з утриманням Ctrl. Якщо опція відключена, то сигнали встановлюються на кінцях мостів та тунелів. При включенні опції заданий інтервал встановлювання сигналів витримується більш строго (з метою вирівнювання сигналів на паралельних коліях). +STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT :Вибрати спосіб встановлення сигналів при протягуванні мишою з утриманням Ctrl. Якщо опція вимкнена, то сигнали встановлюються навколо мостів та тунелів аби не було великих відрізків шляху без сигналів. Якщо увімкнено, заданий інтервал встановлювання сигналів витримується більш строго - через кожні n клітинок (веде до легшого вирівнювання сигналів на паралельних коліях) STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE :Автоматично будувати семафори до {STRING} року STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT :Налаштування року впровадження світлофорів замість семафорів. До цього року будуть встановлюватись лише семафори. STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI :Використовувати меню сигналів: {STRING} -STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI_HELPTEXT :При включенні відображає допоміжну панель інструментів для вибору типу сигналу при їх встановленні. При відключенні доступна лише заміна типу вже встановлених сигналів за допомогою Ctrl+кліка. +STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI_HELPTEXT :Показувати вікно для вибору типу сигналів для будівництва, замість безвіконної зміни сигнал-типу з Ctrl+клацанням мишою на побудованих сигналах STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE :Тип сигналів за умовчанням: {STRING} STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE_HELPTEXT :Тип сигналу, що встановлюється за замовчанням. STR_CONFIG_SETTING_DEFAULT_SIGNAL_NORMAL :блок-сигнали STR_CONFIG_SETTING_DEFAULT_SIGNAL_PBS :маршрутні STR_CONFIG_SETTING_DEFAULT_SIGNAL_PBSOWAY :односторонні маршрутні STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES :Сигнали, доступні при циклічному переборі: {STRING} -STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES_HELPTEXT :Налаштування типів сигналів, що доступні при ротації за допомогою Ctrl+кліка. +STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES_HELPTEXT :Налаштування типу сигналів, що доступні при зміні типу за допомогою Ctrl+клацання мишою STR_CONFIG_SETTING_CYCLE_SIGNAL_NORMAL :тільки блок-сигнали STR_CONFIG_SETTING_CYCLE_SIGNAL_PBS :тільки маршрутні STR_CONFIG_SETTING_CYCLE_SIGNAL_ALL :всі @@ -1645,7 +1683,7 @@ STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT :Дозволя STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :Міська влада може будувати переїзди: {STRING} STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Дозволяє містам самостійно будувати залізничні переїзди. STR_CONFIG_SETTING_NOISE_LEVEL :Міська влада може контролювати рівень шуму аеропортів: {STRING} -STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :При відключенні дозволяється будувати два аеропорти на місто. Інакше кількість аеропортів буде залежати від допустимого рівня шуму, що в свою чергу залежить від населення міста, розміру аеропорта та відстані між аеропортами. +STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :При відключенні дозволяється будувати два аеропорти у кожному місті. При увімкненні кількість аеропортів залежить від допустимого рівня шуму, що в свою чергу залежить від кількості населення міста, розміру аеропорта та відстані STR_CONFIG_SETTING_TOWN_FOUNDING :Засновування нових міст під час гри: {STRING} STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Дозволяє заснування нових міст гравцями під час гри. STR_CONFIG_SETTING_TOWN_FOUNDING_FORBIDDEN :Заборонено @@ -1693,12 +1731,11 @@ STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 з {COMMA} STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Жодного STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Множник розміру мегаполісів: {STRING} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Середньостатистичне відношення початкового розміру мегаполісів порівняно зі звичайними містами. -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :Прибрати безглузді елементи доріг під час їх будівництва: {STRING} -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD_HELPTEXT :Дозволяє видаляти тупіки на дорогах міста під час рекострукції доріг. -STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Оновлювати графік доставки раз на {STRING} д{P 0:2 "ень" "ні" "нів"} +STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Оновлювати графік доставки раз на {STRING}{NBSP}д{P 0:2 "ень" "ні" "нів"} STR_CONFIG_SETTING_LINKGRAPH_INTERVAL_HELPTEXT :Час між послідовними обрахунками зв'язків на графіку. Кожен обрахунок здійснюється для одного параметра графіку. Тобто значення Х у налаштуваннях не означає, що графік оновлюється кожні Х днів. Лише деякі складові. При виборі параметру "часто" ЦП потрібно більше часу для обрахунку. При виборі параметру "рідко" наступний обрахунок почнеться після запуску доставки за новим маршрутом. -STR_CONFIG_SETTING_LINKGRAPH_TIME :Обраховувати графік доставки раз на {STRING} д{P 0:2 "ень" "ні" "нів"} +STR_CONFIG_SETTING_LINKGRAPH_TIME :Обраховувати графік доставки раз на {STRING}{NBSP}д{P 0:2 "ень" "ні" "нів"} +STR_CONFIG_SETTING_LINKGRAPH_TIME_HELPTEXT :Час, який займає переобчислення кожного зв'язку з компонентом графу. При запуску переобчислення створюється потік, якому дозволяється працювати декілька днів. Чим менше ви поставите це, тим більш можливо, що потік не буде завершено вчасно. Тоді гра зупиниться на час "лагу". Чим довше ви поставите, тим довше займе розподіл доставки при зміні маршрутів. STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :ручний STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :асиметричний STR_CONFIG_SETTING_DISTRIBUTION_SYMMETRIC :симетричний @@ -1707,13 +1744,15 @@ STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :В "симет STR_CONFIG_SETTING_DISTRIBUTION_MAIL :Режим розподілу для пошти: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :В "симетричному" режимі від станції A до станції B надсилатиметься приблизно стільки ж пошти, як від B до A. В "асиметричному" режимі дозволяється надсилати довільну кількість пошти в обох напрямках. Ручний режим означає, що розподіл пошти не здійснюватиметься автоматично. STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Режим розподілу для броньованого транспорту: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :Вантажем для броньованого транспорту є: коштовності — в помірному кліматі, діаманти — в субтропічному та золото — в арктичному. Це можуть змінювати пакунки NewGRF. В "симетричному" режимі від станції A до станції B надсилатиметься приблизно стільки ж вантажів, як від B до A. В "асиметричному" режимі дозволяється надсилати довільну кількість вантажів в обох напрямках. Ручний режим означає, що розподіл цих вантажів не здійснюватиметься автоматично. Рекомендується встановити "асиметричний" або ручний режим, якщо гра відбувається в арктичному кліматі, тому що банки не надсилають золото назад до шахт. В помірному або субтропічному кліматі можна також вибрати симетричний режим, оскільки банки також надсилають коштовності до інших банків. +STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :БРОНЬОВАНИЙ клас вантажу містить: коштовності — в помірному ландшафті, діаманти — в субтропічному чи золото — в субарктичному. NewGRF може змінювати це. В "симетричному" режимі від станції A до станції B надсилатиметься приблизно стільки ж вантажів, як від B до A. В "асиметричному" режимі дозволяється надсилати довільну кількість вантажів в обох напрямках. "Ручний" режим означає, що розподіл цих вантажів не здійснюватиметься автоматично. Рекомендується встановити "асиметричний" або "ручний" режим, якщо гра відбувається в субарктичному ландшафті, тому що банки не надсилають золото назад до шахт. В помірному або субтропічному ландшафті можна також вибрати "симетричний" режим, оскільки банки будуть надсилають коштовності назад до оригінального банку у вигляді вантажу з якимись цінностями. STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Режим розподілу для інших видів вантажу: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :В "симетричному" режимі від станції A до станції B надсилатиметься приблизно стільки ж вантажів, як від B до A. В "асиметричному" режимі дозволяється надсилати довільну кількість вантажів в обох напрямках. Ручний режим означає, що розподіл цих вантажів не здійснюватиметься автоматично. Рекомендується встановити "асиметричний" або ручний режим. +STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :«Асиметричний» означає можливість відправки довільної кількості вантажу в будь-якому напрямку. «Ручний» означає, неавтоматичний розподіл для цих вантажів. STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Точність розподілу: {STRING} STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Чим більше значення буде встановлено, тим більше часу процесора буде витрачатися на розрахунок графа зв’язків. Якщо це буде тривати довго, ви можете зауважити гальмування. Якщо встановити тут мале значення, розподіл буде неточним і вантаж, можливо, надсилатиметься не в ті місця, куди ви очікуєте. STR_CONFIG_SETTING_DEMAND_DISTANCE :Сила впливу відстані на попит: {STRING} STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Якщо це значення встановити більшим за 0, відстань між відправною станцією A якогось вантажу та приймаючою станцією B впливатиме на кількість вантажу, який надсилатиметься від A до B. Чим більша відстань від A до B, тим менше вантажу надсилатиметься. Чим більшим буде це значення, тим менше вантажу буде надсилатися до дальніх станцій і тим більше — до ближніх. +STR_CONFIG_SETTING_DEMAND_SIZE :Кількість вантажу, що повертається у симетричному режимі: {STRING} +STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Встановивши це на менше ніж 100% можна зробити симетричну доставку схожою на асиметричну. Менше вантажу буде примусово повертатися назад, якщо певна його кількість надсилається на станцію. При 0% - симетрична доставка поводить себе зовсім як асиметрична. STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Рівень заповнення коротких маршрутів перед переходом до містких: {STRING} STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Часто між двома заданими станціями є більше, ніж один шлях. Cargodist заповнить спочатку найкоротший маршрут, потім другий після найкоротшого і т. д. Рівень заповнення визначається за допомогою оцінки місткості та запланованого використання. Якщо всі маршрути буде заповнено, а джерело вантажу не вичерпається, алгоритм почне переповнювати маршрути, починаючи з наймісткіших. Ця настройка дозволяє задати рівень заповнення в процентах, якого треба досягнути на першому маршруті перед тим, як перейти до заповнення наступного. Варто встановити цей рівень меншим за 100%, щоб уникнути переповнення станцій в разі переоцінки місткості маршруту. @@ -1730,50 +1769,52 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_METRIC :Метричн STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_SI :СІ (кВт) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT :Одиниці маси: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_HELPTEXT :Показувати маси в таких одиницях +STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_HELPTEXT :Якщо вага відображається на інтерфейсі: показувати її в обраній системі виміру STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_IMPERIAL :Імперські (короткі тонни) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_METRIC :Метричні (т) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_SI :СІ (кг) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME :Одиниці об’єму: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_HELPTEXT :Показувати об’єми в таких одиницях +STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_HELPTEXT :Якщо об'єм відображається на інтерфейсі: показувати його в обраній системі виміру STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_IMPERIAL :Імперські (галони) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_METRIC :Метричні (л) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_SI :СІ (м³) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE :Одиниці тяглової сили: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_HELPTEXT :Показувати тяглову силу в таких одиницях: +STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_HELPTEXT :Якщо тяглова сила відображається на інтерфейсі: показувати її в обраній одиниці виміру STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_IMPERIAL :Імперські (фунт-сили) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_METRIC :Метричні (кгс) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_SI :СІ (кН) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT :Одиниці висоти: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT :Показувати висоти в таких одиницях: +STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT :Якщо висоти відображаються на інтерфейсі: показувати в обраній одиниці виміру STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :Імперські (фути) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :Метричні (м) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :СІ (м) -STR_CONFIG_SETTING_GUI :{ORANGE}Інтерфейс STR_CONFIG_SETTING_LOCALISATION :{ORANGE}Локалізація -STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}Будівництво +STR_CONFIG_SETTING_GRAPHICS :{ORANGE}Графіки +STR_CONFIG_SETTING_SOUND :{ORANGE}Звук +STR_CONFIG_SETTING_INTERFACE :{ORANGE}Інтерфейс +STR_CONFIG_SETTING_INTERFACE_GENERAL :{ORANGE}Загальні +STR_CONFIG_SETTING_INTERFACE_VIEWPORTS :{ORANGE}Точки огляду +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Будівництво +STR_CONFIG_SETTING_ADVISORS :{ORANGE}Новини / Поради +STR_CONFIG_SETTING_COMPANY :{ORANGE}Компанія +STR_CONFIG_SETTING_ACCOUNTING :{ORANGE}Облік STR_CONFIG_SETTING_VEHICLES :{ORANGE}Транспорт -STR_CONFIG_SETTING_STATIONS :{ORANGE}Станції -STR_CONFIG_SETTING_ECONOMY :{ORANGE}Економіка -STR_CONFIG_SETTING_LINKGRAPH :{ORANGE}Розподіл вантажів -STR_CONFIG_SETTING_AI :{ORANGE}Конкуренти -STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}Параметри відображення -STR_CONFIG_SETTING_INTERACTION :{ORANGE}Параметри взаємодії -STR_CONFIG_SETTING_SOUND :{ORANGE}Звукові ефекти -STR_CONFIG_SETTING_NEWS :{ORANGE}Новини та повідомлення -STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}Сигнали -STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE}Обробка вантажів -STR_CONFIG_SETTING_AI_NPC :{ORANGE}Віртуальні гравці -STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE}Автозаміна -STR_CONFIG_SETTING_VEHICLES_SERVICING :{ORANGE}Техогляд +STR_CONFIG_SETTING_VEHICLES_PHYSICS :{ORANGE}Фізика STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Маршрути -STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}Поїзди -STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}Міста -STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}Підприємства +STR_CONFIG_SETTING_LIMITATIONS :{ORANGE}Обмеження +STR_CONFIG_SETTING_ACCIDENTS :{ORANGE}Катастрофи +STR_CONFIG_SETTING_GENWORLD :{ORANGE}Створення світу +STR_CONFIG_SETTING_ENVIRONMENT :{ORANGE}Довкілля +STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :{ORANGE}Органи влади +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Міста +STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}Підприємства +STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :{ORANGE}Розподіл вантажів +STR_CONFIG_SETTING_AI :{ORANGE}Конкуренти +STR_CONFIG_SETTING_AI_NPC :{ORANGE}Віртуальні гравці STR_CONFIG_SETTING_PATHFINDER_OPF :стандартний STR_CONFIG_SETTING_PATHFINDER_NPF :NPF @@ -1808,6 +1849,7 @@ STR_CONFIG_ERROR_INVALID_BASE_GRAPHICS_NOT_FOUND :{WHITE}... ба STR_CONFIG_ERROR_INVALID_BASE_SOUNDS_NOT_FOUND :{WHITE}... базовий набір звуків '{STRING}' не знайдено STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... базовий набір музики '{STRING}' не знайдено STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Не вистачає пам'яті +STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Не вдалося розподілити {BYTES} спрайт-кешу. Спрайт кеш було зменшено до {BYTES}. Це зменшить швидкість роботи OpenTTD. Аби зменшити використання пам'яті спробуйте заборонити 32-бітну графіку і/або ступені масшатабування екрану # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -1821,28 +1863,28 @@ STR_INTRO_MULTIPLAYER :{BLACK}Мере STR_INTRO_GAME_OPTIONS :{BLACK}Налаштування гри STR_INTRO_HIGHSCORE :{BLACK}Таблиця рекордів -STR_INTRO_ADVANCED_SETTINGS :{BLACK}Розширені налаштування +STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Налаштування STR_INTRO_NEWGRF_SETTINGS :{BLACK}Налаштування NewGRF STR_INTRO_ONLINE_CONTENT :{BLACK}Додатковий контент STR_INTRO_SCRIPT_SETTINGS :{BLACK}Налаштування AI / GS STR_INTRO_QUIT :{BLACK}Вихід -STR_INTRO_TOOLTIP_NEW_GAME :{BLACK}Почати нову гру. Ctrl+клік пропускає конфігурацію карти +STR_INTRO_TOOLTIP_NEW_GAME :{BLACK}Почати нову гру. Ctrl+клац мишою пропускає конфігурацію карти STR_INTRO_TOOLTIP_LOAD_GAME :{BLACK}Продовжити збережену гру STR_INTRO_TOOLTIP_PLAY_HEIGHTMAP :{BLACK}Почати нову гру з використанням готової карти висот (рельєфу) STR_INTRO_TOOLTIP_PLAY_SCENARIO :{BLACK}Почати нову гру з використанням готового сценарію STR_INTRO_TOOLTIP_SCENARIO_EDITOR :{BLACK}Створити свій сценарій STR_INTRO_TOOLTIP_MULTIPLAYER :{BLACK}Почати мережеву гру -STR_INTRO_TOOLTIP_TEMPERATE :{BLACK}Вибрати 'помірний' клімат -STR_INTRO_TOOLTIP_SUB_ARCTIC_LANDSCAPE :{BLACK}Вибрати 'субарктичний' клімат -STR_INTRO_TOOLTIP_SUB_TROPICAL_LANDSCAPE :{BLACK}Вибрати 'тропічний' клімат -STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Вибрати 'іграшковий' варіант +STR_INTRO_TOOLTIP_TEMPERATE :{BLACK}Вибрати 'помірний' ландшафт +STR_INTRO_TOOLTIP_SUB_ARCTIC_LANDSCAPE :{BLACK}Вибрати 'субарктичний' ландшафт +STR_INTRO_TOOLTIP_SUB_TROPICAL_LANDSCAPE :{BLACK}Вибрати 'тропічний' ландшафт +STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Вибрати 'іграшковий' ландшафт STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Показати налаштування гри STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Показати таблицю рекордів -STR_INTRO_TOOLTIP_ADVANCED_SETTINGS :{BLACK}Показати розширені налаштування -STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Показати настройки NewGRF +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Налаштування відображення +STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Показати налаштування NewGRF STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Перевірити доступний для завантаження додатковий контент STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Показати налаштування AI / Ігрового Скрипта STR_INTRO_TOOLTIP_QUIT :{BLACK}Вийти з OpenTTD @@ -1868,8 +1910,8 @@ STR_OSNAME_OS2 :OS/2 STR_OSNAME_SUNOS :SunOS # Abandon game -STR_ABANDON_GAME_CAPTION :{WHITE}Залишити гру -STR_ABANDON_GAME_QUERY :{YELLOW}Ви дійсно хочете залишити гру? +STR_ABANDON_GAME_CAPTION :{WHITE}Покинути гру +STR_ABANDON_GAME_QUERY :{YELLOW}Ви дійсно хочете покинути гру? STR_ABANDON_SCENARIO_QUERY :{YELLOW}Ви дійсно бажаєте вийти з цього сценарію? # Cheat window @@ -1881,6 +1923,8 @@ STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Гра STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Супербульдозер (руйнує все): {ORANGE}{STRING} STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}Тунелі перетинаються: {ORANGE}{STRING} STR_CHEAT_NO_JETCRASH :{LTBLUE}Реактивні літаки не будуть (часто) розбиватися в малих аеропортах: {ORANGE}{STRING} +STR_CHEAT_EDIT_MAX_HL :{LTBLUE}Змінити максимальну висоту карти: {ORANGE}{NUM} +STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Змінити максимальну висоту гір на карті STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE :Помірний ландшафт STR_CHEAT_SWITCH_CLIMATE_SUB_ARCTIC_LANDSCAPE :Субарктичний ландшафт STR_CHEAT_SWITCH_CLIMATE_SUB_TROPICAL_LANDSCAPE :Субтропічний ландшафт @@ -1897,9 +1941,9 @@ STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Пока STR_LIVERY_ROAD_VEHICLE_TOOLTIP :{BLACK}Показати фарбування автотранспорта STR_LIVERY_SHIP_TOOLTIP :{BLACK}Показати фарбування кораблів STR_LIVERY_AIRCRAFT_TOOLTIP :{BLACK}Показати фарбування авіації -STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Оберіть основний колір для обраної схеми. Ctrl+клік встановить обраний колір для всіх схем. -STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Оберіть другорядний колір для обраної схеми. Ctrl+клік встановить обраний колір для всіх схем. -STR_LIVERY_PANEL_TOOLTIP :{BLACK}Оберіть кольорову схему для зміни, чи декілька з Ctrl+клік. Клікніть на прямокутнику, щоб ввімкнути/вимкнути використання схем +STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Оберіть основний колір для обраної схеми. Ctrl+клац мишою встановить обраний колір для всіх схем +STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Оберіть другорядний колір для обраної схеми. Ctrl+клац мишою встановить обраний колір для всіх схем +STR_LIVERY_PANEL_TOOLTIP :{BLACK}Оберіть кольорову схему для зміни, чи декілька з Ctrl+клац мишою. Клацніть на прямокутнику, щоб ввімкнути/вимкнути використання схем STR_LIVERY_DEFAULT :Стандартний колір STR_LIVERY_STEAM :Паровоз @@ -1929,6 +1973,7 @@ STR_LIVERY_FREIGHT_TRAM :Вантажн STR_FACE_CAPTION :{WHITE}Вибір обличчя STR_FACE_CANCEL_TOOLTIP :{BLACK}Відмінити вибір нового обличчя STR_FACE_OK_TOOLTIP :{BLACK}Підтвердити вибір нового обличчя +STR_FACE_RANDOM :{BLACK}Випадково STR_FACE_MALE_BUTTON :{BLACK}Чоловік STR_FACE_MALE_TOOLTIP :{BLACK}Вибрати чоловіче обличчя @@ -1984,7 +2029,7 @@ STR_FACE_TIE_EARRING_TOOLTIP :{BLACK}Змін # Network server list STR_NETWORK_SERVER_LIST_CAPTION :{WHITE}Мережева гра -STR_NETWORK_SERVER_LIST_ADVERTISED :{BLACK}Рекламована +STR_NETWORK_SERVER_LIST_ADVERTISED :{BLACK}Інтернет STR_NETWORK_SERVER_LIST_ADVERTISED_TOOLTIP :{BLACK}Вибір між рекламованою (інтернет) і не рекламованою (локальна мережа, LAN) грою STR_NETWORK_SERVER_LIST_ADVERTISED_NO :Ні STR_NETWORK_SERVER_LIST_ADVERTISED_YES :Так @@ -1998,7 +2043,7 @@ STR_NETWORK_SERVER_LIST_CLIENTS_CAPTION :{BLACK}Кліє STR_NETWORK_SERVER_LIST_CLIENTS_CAPTION_TOOLTIP :{BLACK}Клієнти в мережі/макс.клієнтів{}Компанії в мережі/макс.компаній STR_NETWORK_SERVER_LIST_MAP_SIZE_SHORT :{BLACK}{COMMA}x{COMMA} STR_NETWORK_SERVER_LIST_MAP_SIZE_CAPTION :{BLACK}Розмір карти -STR_NETWORK_SERVER_LIST_MAP_SIZE_CAPTION_TOOLTIP :{BLACK}Розмір карти гри{}Клікніть для сортування за районом +STR_NETWORK_SERVER_LIST_MAP_SIZE_CAPTION_TOOLTIP :{BLACK}Розмір карти гри{}Клацніть мишою для сортування за районом STR_NETWORK_SERVER_LIST_DATE_CAPTION :{BLACK}Дата STR_NETWORK_SERVER_LIST_DATE_CAPTION_TOOLTIP :{BLACK}Поточна дата STR_NETWORK_SERVER_LIST_YEARS_CAPTION :{BLACK}Роки @@ -2122,7 +2167,7 @@ STR_NETWORK_GAME_LOBBY_PLAYERS :{SILVER}Гра STR_NETWORK_GAME_LOBBY_NEW_COMPANY :{BLACK}Нова компанія STR_NETWORK_GAME_LOBBY_NEW_COMPANY_TOOLTIP :{BLACK}Створити нову компанію -STR_NETWORK_GAME_LOBBY_SPECTATE_GAME :{BLACK}Гра глядачем +STR_NETWORK_GAME_LOBBY_SPECTATE_GAME :{BLACK}Спостерігати гру STR_NETWORK_GAME_LOBBY_SPECTATE_GAME_TOOLTIP :{BLACK}Спостерігати за грою як глядач STR_NETWORK_GAME_LOBBY_JOIN_COMPANY :{BLACK}Приєднатись до компанії STR_NETWORK_GAME_LOBBY_JOIN_COMPANY_TOOLTIP :{BLACK}Допомогти керувати цією компанією @@ -2218,7 +2263,7 @@ STR_NETWORK_ERROR_CHEATER :{WHITE}На ц STR_NETWORK_ERROR_TOO_MANY_COMMANDS :{WHITE}Ви посилали забагато команд серверу STR_NETWORK_ERROR_TIMEOUT_PASSWORD :{WHITE}Ви занадто довго вводили пароль STR_NETWORK_ERROR_TIMEOUT_COMPUTER :{WHITE}Ви дуже довго приєднувалися -STR_NETWORK_ERROR_TIMEOUT_MAP :{WHITE}Ви дуже довго завантажували мапу +STR_NETWORK_ERROR_TIMEOUT_MAP :{WHITE}Ви дуже довго завантажували карту STR_NETWORK_ERROR_TIMEOUT_JOIN :{WHITE}Ви дуже довго приєднувалися до серверу ############ Leave those lines in this order!! @@ -2240,8 +2285,8 @@ STR_NETWORK_ERROR_CLIENT_SERVER_FULL :сервер п STR_NETWORK_ERROR_CLIENT_TOO_MANY_COMMANDS :посилав забагато команд STR_NETWORK_ERROR_CLIENT_TIMEOUT_PASSWORD :пароль не отримано за відведений час STR_NETWORK_ERROR_CLIENT_TIMEOUT_COMPUTER :час вийшов -STR_NETWORK_ERROR_CLIENT_TIMEOUT_MAP :мапа дуже довго завантажувалась -STR_NETWORK_ERROR_CLIENT_TIMEOUT_JOIN :мапа дуже довго оброблювалась +STR_NETWORK_ERROR_CLIENT_TIMEOUT_MAP :карта дуже довго завантажувалась +STR_NETWORK_ERROR_CLIENT_TIMEOUT_JOIN :карта дуже довго оброблювалась ############ End of leave-in-this-order STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Можлива втрата з'єднання @@ -2280,14 +2325,17 @@ STR_CONTENT_TYPE_CAPTION :{BLACK}Тип STR_CONTENT_TYPE_CAPTION_TOOLTIP :{BLACK}Тип вмісту STR_CONTENT_NAME_CAPTION :{BLACK}Назва STR_CONTENT_NAME_CAPTION_TOOLTIP :{BLACK}Назва вмісту -STR_CONTENT_MATRIX_TOOLTIP :{BLACK}Клікніть на рядку, щоб побачити деталі{}Клікніть позначку, щоб обрати його для завантаження +STR_CONTENT_MATRIX_TOOLTIP :{BLACK}Клацніть мишою на рядку, щоб побачити деталі{}Клацніть позначку, щоб обрати його для завантаження STR_CONTENT_SELECT_ALL_CAPTION :{BLACK}Вибрати всі STR_CONTENT_SELECT_ALL_CAPTION_TOOLTIP :{BLACK}Позначити для завантаження весь вміст STR_CONTENT_SELECT_UPDATES_CAPTION :{BLACK}Вибрати оновлення STR_CONTENT_SELECT_UPDATES_CAPTION_TOOLTIP :{BLACK}Позначити весь вміст, що є оновленням існуючого, для завантаження STR_CONTENT_UNSELECT_ALL_CAPTION :{BLACK}Зняти позначки STR_CONTENT_UNSELECT_ALL_CAPTION_TOOLTIP :{BLACK}Не завантажувати нічого +STR_CONTENT_SEARCH_EXTERNAL :{BLACK}Шукати на сторонніх веб-сайтах +STR_CONTENT_SEARCH_EXTERNAL_TOOLTIP :{BLACK}Шукати додатки, недоступні на серверах OpenTTD на сторонніх веб-сайтах STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER_CAPTION :{WHITE}Ви виходите з OpenTTD! +STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER :{WHITE}Умови використання додатків з зовнішніх веб-сайтів можуть відрізнятися.{}Інструкції по встановленню даних додатків у OpenTTD шукайте на відповідних веб-сайтах.{}Продовжити? STR_CONTENT_FILTER_TITLE :{BLACK}Фільтр за назвою: STR_CONTENT_OPEN_URL :{BLACK}Відвідати вебсайт STR_CONTENT_OPEN_URL_TOOLTIP :{BLACK}Відвітати вебсайт цього контенту @@ -2358,10 +2406,14 @@ STR_TRANSPARENT_LOADING_TOOLTIP :{BLACK}Змін STR_TRANSPARENT_INVISIBLE_TOOLTIP :{BLACK}Зробити об'єкти невидимими, а не прозорими # Linkgraph legend window +STR_LINKGRAPH_LEGEND_CAPTION :{BLACK}Легенда вантажопотоку +STR_LINKGRAPH_LEGEND_ALL :{BLACK}Усе STR_LINKGRAPH_LEGEND_NONE :{BLACK}Немає STR_LINKGRAPH_LEGEND_SELECT_COMPANIES :{BLACK}Виберіть компанії для відображення # Linkgraph legend window and linkgraph legend in smallmap +STR_LINKGRAPH_LEGEND_UNUSED :{TINY_FONT}{BLACK}не використовується +STR_LINKGRAPH_LEGEND_SATURATED :{TINY_FONT}{BLACK}заповнений STR_LINKGRAPH_LEGEND_OVERLOADED :{G=m}{TINY_FONT}{BLACK}перевантажений STR_LINKGRAPH_LEGEND_OVERLOADED.r :{G=m}{TINY_FONT}{BLACK}перевантаженого STR_LINKGRAPH_LEGEND_OVERLOADED.d :{G=m}{TINY_FONT}{BLACK}перевантаженому @@ -2394,7 +2446,7 @@ STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Буду STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Будувати залізничне депо (для купівлі та обслуговування поїздів). Утримуйте Shift для показу витрат на будівництво STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Перетворити колію на точку маршруту. Ctrl дозволяє об'єднання точок маршруту. Утримуйте Shift для показу очікуваних витрат STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Будувати станцію. Ctrl дозволяє об'єднання станцій. Утримуйте Shift для показу витрат на будівництво -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Будувати сигнали. Ctrl переключає семафори/світлові сигнали{}Протяжка будує сигнали вздовж прямої ділянки рейок. Ctrl будує сигнали до наступної розв'язки{}Ctrl+клік перемикає показ вікна вибору сигналів. Утримуйте Shift для показу витрат на будівництво +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Будувати залізничні сигнали. Ctrl переключає семафори/світлові сигнали{}Протяжка мишою будує сигнали вздовж прямої ділянки рейок. Ctrl будує сигнали до наступної розв'язки чи сигналу{}Ctrl+клац мишою вмикає показ вікна вибору сигналів. Утримуйте Shift для показу витрат на будівництво STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Будувати міст. Утримуйте Shift для показу витрат на будівництво STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Будувати тунель. Утримуйте Shift для показу витрат на будівництво STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Будувати/демонтувати колію, сигнали, точки маршруту і станції. Утримання Ctrl також демонтує колію з точок маршрутів і станцій @@ -2766,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-2014 команда OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 команда OpenTTD # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Зберегти гру @@ -2785,6 +2837,7 @@ STR_SAVELOAD_SAVE_BUTTON :{BLACK}Збер STR_SAVELOAD_SAVE_TOOLTIP :{BLACK}Зберегти поточну гру, використовуючи вибране ім'я файлу STR_SAVELOAD_LOAD_BUTTON :{BLACK}Завантажити STR_SAVELOAD_LOAD_TOOLTIP :{BLACK}Завантажити обрану гру +STR_SAVELOAD_LOAD_HEIGHTMAP_TOOLTIP :{BLACK}Завантажити вибрану карту висот STR_SAVELOAD_DETAIL_CAPTION :{BLACK}Деталі гри STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}Інформація відсутня STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING} @@ -2800,13 +2853,12 @@ STR_MAPGEN_BY :{BLACK}* STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Міста: STR_MAPGEN_DATE :{BLACK}Дата: STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Кількість виробництв: +STR_MAPGEN_MAX_HEIGHTLEVEL :{BLACK}Максимальна висота карти +STR_MAPGEN_MAX_HEIGHTLEVEL_UP :{BLACK}Збільшити максимальну висоту гір на карті на одиницю +STR_MAPGEN_MAX_HEIGHTLEVEL_DOWN :{BLACK}Зменшити максимальну висоту гір на карті на одиницю STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}Висота лінії снігу: STR_MAPGEN_SNOW_LINE_UP :{BLACK}Підвищити лінію снігу STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}Понизити лінію снігу -STR_MAPGEN_RANDOM_SEED :{BLACK}Випадкове число: -STR_MAPGEN_RANDOM_SEED_HELP :{BLACK}Клік для вводу значення -STR_MAPGEN_RANDOM :{BLACK}Випадково -STR_MAPGEN_RANDOM_HELP :{BLACK}Змінити початкове значення для генератора STR_MAPGEN_LAND_GENERATOR :{BLACK}Ландшафт: STR_MAPGEN_TREE_PLACER :{BLACK}Насадження дерев: STR_MAPGEN_TERRAIN_TYPE :{BLACK}Тип ландшафту: @@ -2833,7 +2885,7 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Назв STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Розмір: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} -STR_MAPGEN_RANDOM_SEED_OSKTITLE :{BLACK}Введіть випадкове число +STR_MAPGEN_MAX_HEIGHTLEVEL_QUERY_CAPT :{WHITE}Змінити максимальну висоту карти STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}Змінити висоту лінії снігу STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Змінити рік початку гри @@ -2872,12 +2924,12 @@ STR_NEWGRF_SETTINGS_ACTIVE_LIST :{WHITE}Акти STR_NEWGRF_SETTINGS_INACTIVE_LIST :{WHITE}Неактивні файли NewGRF STR_NEWGRF_SETTINGS_SELECT_PRESET :{ORANGE}Обрати набір: STR_NEWGRF_FILTER_TITLE :{ORANGE}Фільтр за строкою: -STR_NEWGRF_SETTINGS_PRESET_LIST_TOOLTIP :{BLACK}Завантажити обрані настройки -STR_NEWGRF_SETTINGS_PRESET_SAVE :{BLACK}Записати настройки -STR_NEWGRF_SETTINGS_PRESET_SAVE_TOOLTIP :{BLACK}Записати поточний список як настройки +STR_NEWGRF_SETTINGS_PRESET_LIST_TOOLTIP :{BLACK}Завантажити обрані налаштування +STR_NEWGRF_SETTINGS_PRESET_SAVE :{BLACK}Записати налаштування +STR_NEWGRF_SETTINGS_PRESET_SAVE_TOOLTIP :{BLACK}Записати поточний список як профіль налаштування STR_NEWGRF_SETTINGS_PRESET_SAVE_QUERY :{BLACK}Введіть назву настройок -STR_NEWGRF_SETTINGS_PRESET_DELETE :{BLACK}Видалити настройки -STR_NEWGRF_SETTINGS_PRESET_DELETE_TOOLTIP :{BLACK}Видалити обрані настройки +STR_NEWGRF_SETTINGS_PRESET_DELETE :{BLACK}Видалити налаштування +STR_NEWGRF_SETTINGS_PRESET_DELETE_TOOLTIP :{BLACK}Видалити обрані налаштування STR_NEWGRF_SETTINGS_ADD :{BLACK}Додати STR_NEWGRF_SETTINGS_ADD_FILE_TOOLTIP :{BLACK}Додати вибраний NewGRF файл до Вашої конфігурації STR_NEWGRF_SETTINGS_RESCAN_FILES :{BLACK}Пересканувати файли @@ -2888,6 +2940,8 @@ STR_NEWGRF_SETTINGS_MOVEUP :{BLACK}Вище STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP :{BLACK}Перемістити вибрані файли вверх по списку STR_NEWGRF_SETTINGS_MOVEDOWN :{BLACK}Нижче STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP :{BLACK}Перемістити вибрані файли вниз по списку +STR_NEWGRF_SETTINGS_UPGRADE :{BLACK}Оновити +STR_NEWGRF_SETTINGS_UPGRADE_TOOLTIP :{BLACK}Оновити новішими версіями файли встановлених NewGRF'ів STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}Список встановлених файлів NewGRF STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}Встановлення параметрів @@ -2912,6 +2966,16 @@ STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Таких STR_NEWGRF_SETTINGS_DISABLED :{RED}Вимкнено STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Несумісне з поточною версією OpenTTD +# NewGRF save preset window +STR_SAVE_PRESET_CAPTION :{WHITE}Зберегти шаблон +STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK}Список доступних шаблонів, скопіюйте один для збереження імені нижче +STR_SAVE_PRESET_TITLE :{BLACK}Введіть ім'я для шаблону +STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}Обране поточне ім'я для збереження в шаблоні +STR_SAVE_PRESET_CANCEL :{BLACK}Скасувати +STR_SAVE_PRESET_CANCEL_TOOLTIP :{BLACK}Не змінювати шаблон +STR_SAVE_PRESET_SAVE :{BLACK}Зберегти +STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}Зберегти шаблон для поточного обраного імені + # NewGRF parameters window STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Змінити параметри NewGRF STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Закрити @@ -2935,14 +2999,17 @@ STR_NEWGRF_INSPECT_QUERY_CAPTION :{WHITE}Пара # Sprite aligner window STR_SPRITE_ALIGNER_CAPTION :{WHITE}Вирівнювання спрайту {COMMA} ({STRING}) STR_SPRITE_ALIGNER_NEXT_BUTTON :{BLACK}Наступний спрайт -STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Йти до наступного нормального спрайту, пропускаючи будь-які псевдоспрайти, спрайти зі зміненими кольорами та шрифтові спрайти, а також обгортки (wrap) навколо на початку +STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Йти до наступного нормального спрайту, пропускаючи будь-які псевдо/перемальовані/шрифтові спрайти і загортаючи навколо (wrap) починаючи з останнього спрайту закінчуючи першим STR_SPRITE_ALIGNER_GOTO_BUTTON :{BLACK}Йти до спрайту STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}Йти до заданого спрайту. Якщо він не є нормальним, йти до наступного нормального STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Попередній спрайт -STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Повернутися до попереднього нормального спрайту, пропускаючи будь-які псевдоспрайти, спрайти зі зміненими кольорами та шрифтові спрайти, а також обгортки (wrap) навколо на початку +STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Повернутися до попереднього нормального спрайту, пропускаючи будь-які псевдо/перемальовані/шрифтові спрайти і обгортаючи (wrap) навколо починаючи з першого спрайту і закінчуючи останнім STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Відображення обраного спрайту (вирівнювання ігнорується) STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Рухайте спрайт навколо, змінюючи його зміщення за X та Y -STR_SPRITE_ALIGNER_OFFSETS :{BLACK}Зміщення за X: {NUM}, Зміщення за Y: {NUM} +STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Відновити відносні +STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Відновити поточні зсуви (відносні) +STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}Зсув по осі X: {NUM}, Зсув по осі Y: {NUM} (Абсолютно) +STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}Зсув по осі X: {NUM}, Зсув по осі Y: {NUM} (Відносно) STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Вибрати спрайт STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Оберіть будь-який спрайт на екрані @@ -2999,6 +3066,7 @@ STR_NEWGRF_LIST_MISSING :{RED}Відсу STR_NEWGRF_BROKEN :{WHITE}Поведінка NewGRF '{0:STRING}' може спричинити розсинхронізацію та/або аварійне завершення STR_NEWGRF_BROKEN_POWERED_WAGON :{WHITE}Це змінило стан локомотиву '{1:ENGINE}', коли він не у депо STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Це змінило довжину транспорту для '{1:ENGINE}', якщо він не в депо +STR_NEWGRF_BROKEN_CAPACITY :{WHITE}Було змінено вантажомісткість транспорту для '{1:ENGINE}' поза гаражом чи рембазою STR_BROKEN_VEHICLE_LENGTH :{WHITE}Потяг '{VEHICLE}', який належить '{COMPANY}', має неправильну довжину. Можливо, це спричинено проблемами з NewGRFs. Гра може розсинхронізуватись або аварійно завершитись STR_NEWGRF_BUGGY :{WHITE}NewGRF '{0:STRING}' надає невірну інформацію @@ -3038,7 +3106,7 @@ STR_EDIT_SIGN_SIGN_OSKTITLE :{BLACK}Введ STR_TOWN_DIRECTORY_CAPTION :{WHITE}Міста STR_TOWN_DIRECTORY_NONE :{ORANGE}- немає - STR_TOWN_DIRECTORY_TOWN :{ORANGE}{TOWN}{BLACK} ({COMMA}) -STR_TOWN_DIRECTORY_LIST_TOOLTIP :{BLACK}Назви міст - натисніть на назву, щоб показати місто у центрі екрану. Утримання Ctrl відкриває нове вікно з видом на місто +STR_TOWN_DIRECTORY_LIST_TOOLTIP :{BLACK}Назви міст - натисніть на назву, щоб показати місто у центрі екрану. Ctrl+клац мишою відкриває нове вікно з видом на місто STR_TOWN_POPULATION :{BLACK}Населення світу: {COMMA} # Town view window @@ -3053,11 +3121,11 @@ STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} доставлено STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (потрібно ще) STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (доставлено) -STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Місто зростає кожен {ORANGE}{COMMA}{BLACK} день -STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Місто зростає кожен {ORANGE}{COMMA}{BLACK} день (профінансовано) +STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Місто зростає раз на {ORANGE}{COMMA}{BLACK} д{P ень ні нів} +STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Місто зростає раз на {ORANGE}{COMMA}{BLACK}{NBSP}д{P ень ні нів} (профінансовано) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}Місто {RED}не{BLACK} зростає STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Ліміт шуму в місті: {ORANGE}{COMMA}{BLACK} макс: {ORANGE}{COMMA} -STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Показати місто у центрі екрану. Утримання Ctrl відкриє нове вікно з видом на місто +STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Показати місто у центрі екрану. Ctrl+клац мишою відкриє нове вікно з видом на місто STR_TOWN_VIEW_LOCAL_AUTHORITY_BUTTON :{BLACK}Місцева влада STR_TOWN_VIEW_LOCAL_AUTHORITY_TOOLTIP :{BLACK}Інформація про місцеву владу STR_TOWN_VIEW_RENAME_TOOLTIP :{BLACK}Змінити назву міста @@ -3097,7 +3165,7 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}Куп STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Підкупити місцеву владу для збільшення вашого рейтингу, при викритті загрожує суворим покаранням.{}Вартість: {CURRENCY_LONG} # Goal window -STR_GOALS_CAPTION :{WHITE}{COMPANY} Цілі +STR_GOALS_CAPTION :{WHITE}Цілі {COMPANY} STR_GOALS_SPECTATOR_CAPTION :{WHITE}Глобальні цілі: STR_GOALS_GLOBAL_TITLE :{BLACK}Глобальні цілі: STR_GOALS_TEXT :{ORANGE}{STRING} @@ -3106,7 +3174,7 @@ STR_GOALS_SPECTATOR_NONE :{ORANGE}- Не STR_GOALS_PROGRESS :{ORANGE}{STRING} STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING} STR_GOALS_COMPANY_TITLE :{BLACK}Цілі компанії: -STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Клік мишкою на цілі (меті) відобразить по центру виробництва/місто/клітинку у головному вікні. Ctrl+клік відкриє міні-вікно +STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Клац мишою на цілі (меті) відобразить по центру виробництва/місто/клітинку у головному вікні. Ctrl+клац мишою відкриє міні-вікно # Goal question window STR_GOAL_QUESTION_CAPTION_QUESTION :Питання @@ -3114,7 +3182,7 @@ STR_GOAL_QUESTION_CAPTION_INFORMATION :Інформа STR_GOAL_QUESTION_CAPTION_WARNING :Попередження STR_GOAL_QUESTION_CAPTION_ERROR :Помилка -### Start of Goal Question button list +############ Start of Goal Question button list STR_GOAL_QUESTION_BUTTON_CANCEL :Відмінити STR_GOAL_QUESTION_BUTTON_OK :Гаразд STR_GOAL_QUESTION_BUTTON_NO :Ні @@ -3133,6 +3201,7 @@ STR_GOAL_QUESTION_BUTTON_RESTART :Перезап STR_GOAL_QUESTION_BUTTON_POSTPONE :Відкласти STR_GOAL_QUESTION_BUTTON_SURRENDER :Здатися STR_GOAL_QUESTION_BUTTON_CLOSE :Закрити +############ End of Goal Question button list # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}Субсидії @@ -3141,9 +3210,11 @@ STR_SUBSIDIES_OFFERED_FROM_TO :{ORANGE}Пер STR_SUBSIDIES_NONE :{ORANGE}- немає - STR_SUBSIDIES_SUBSIDISED_TITLE :{BLACK}Призначені субсидії: STR_SUBSIDIES_SUBSIDISED_FROM_TO :{ORANGE}Перевезення {STRING.r} з {STRING} до {STRING}{YELLOW} ({COMPANY}{YELLOW}, по {DATE_SHORT}) -STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Натисніть на субсидії, щоб показати підприємство/місто у центрі екрану. Утримання Ctrl відкриває нове вікно з видом на підприємство/місто +STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Натисніть на субсидії, щоб показати підприємство/місто у центрі екрану. Ctrl+клац мишою відкриває нове вікно з видом на підприємство/місто # Story book window +STR_STORY_BOOK_CAPTION :{WHITE}Історія {COMPANY} +STR_STORY_BOOK_SPECTATOR_CAPTION :{WHITE}Світова історія STR_STORY_BOOK_TITLE :{YELLOW}{STRING} STR_STORY_BOOK_GENERIC_PAGE_ITEM :Стор. {NUM} STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Перейти до сторінки, вибраної в цьому списку. @@ -3151,9 +3222,10 @@ STR_STORY_BOOK_PREV_PAGE :{BLACK}Попе STR_STORY_BOOK_PREV_PAGE_TOOLTIP :{BLACK}На попередню сторінку STR_STORY_BOOK_NEXT_PAGE :{BLACK}Далі STR_STORY_BOOK_NEXT_PAGE_TOOLTIP :{BLACK}Наступна сторінка +STR_STORY_BOOK_INVALID_GOAL_REF :{RED}Невірне посилання на завдання # Station list window -STR_STATION_LIST_TOOLTIP :{BLACK}Назви станцій - натисніть на назву, щоб показати станцію в центрі екрану. Утримання Ctrl відкриває нове вікно з видом на станцію +STR_STATION_LIST_TOOLTIP :{BLACK}Назви станцій - натисніть на назву, щоб показати станцію в центрі екрану. Ctrl+клац мишою відкриває нове вікно з видом на станцію STR_STATION_LIST_USE_CTRL_TO_SELECT_MORE :{BLACK}Утримуйте Ctrl для вибору декількох пунктів STR_STATION_LIST_CAPTION :{WHITE}{COMPANY} - {COMMA} станці{P я ї й} STR_STATION_LIST_STATION :{YELLOW}{STATION} {STATION_FEATURES} @@ -3165,9 +3237,9 @@ STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}Звід # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} -STR_STATION_VIEW_WAITING_TITLE :{BLACK}Чекає: {WHITE}{STRING} STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} з {STATION}) +STR_STATION_VIEW_RESERVED :{YELLOW}({CARGO_SHORT} зарезервовано для завантаження) STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Приймає STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Показати список приймання вантажів @@ -3178,9 +3250,14 @@ STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPAN STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Рейтинг STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Показати рейтинг станції +STR_STATION_VIEW_SUPPLY_RATINGS_TITLE :{BLACK}Щомісячна пропозиція і місцевий рейтинг: STR_STATION_VIEW_CARGO_SUPPLY_RATING :{WHITE}{STRING}: {YELLOW}{COMMA} / {STRING} ({COMMA}%) STR_STATION_VIEW_GROUP :{BLACK}Групувати по +STR_STATION_VIEW_WAITING_STATION :Станція: Очікується +STR_STATION_VIEW_WAITING_AMOUNT :Кількість: Очікується +STR_STATION_VIEW_PLANNED_STATION :Станція: Заплановано +STR_STATION_VIEW_PLANNED_AMOUNT :Кількість: Заплановано STR_STATION_VIEW_FROM :{YELLOW}{CARGO_SHORT} з {STATION} STR_STATION_VIEW_VIA :{YELLOW}{CARGO_SHORT} через {STATION} STR_STATION_VIEW_TO :{YELLOW}{CARGO_SHORT} до {STATION} @@ -3188,9 +3265,16 @@ STR_STATION_VIEW_FROM_ANY :{RED}{CARGO_SHO STR_STATION_VIEW_TO_ANY :{RED}{CARGO_SHORT} до будь-якої станції STR_STATION_VIEW_VIA_ANY :{RED}{CARGO_SHORT} через будь-яку станцію STR_STATION_VIEW_FROM_HERE :{GREEN}{CARGO_SHORT} з цієї станції +STR_STATION_VIEW_VIA_HERE :{GREEN}{CARGO_SHORT} зупиняється на цій станції STR_STATION_VIEW_TO_HERE :{GREEN}{CARGO_SHORT} до цієї станції STR_STATION_VIEW_NONSTOP :{YELLOW}{CARGO_SHORT} без зупинки +STR_STATION_VIEW_GROUP_S_V_D :Джерело-Через-Місце призначення +STR_STATION_VIEW_GROUP_S_D_V :Джерело-Місце призначення-Через +STR_STATION_VIEW_GROUP_V_S_D :Через-Джерело-Місце призначення +STR_STATION_VIEW_GROUP_V_D_S :Через-Місце призначення-Джерело +STR_STATION_VIEW_GROUP_D_S_V :Місце призначення-Джерело-Через +STR_STATION_VIEW_GROUP_D_V_S :Місце призначення-Через-Джерело ############ range for rating starts STR_CARGO_RATING_APPALLING :жахливо @@ -3203,7 +3287,7 @@ STR_CARGO_RATING_EXCELLENT :відмінн STR_CARGO_RATING_OUTSTANDING :найкраще ############ range for rating ends -STR_STATION_VIEW_CENTER_TOOLTIP :{BLACK}Показати станцію в центрі екрану. Утримання Ctrl відкриє нове вікно з видом на станцію +STR_STATION_VIEW_CENTER_TOOLTIP :{BLACK}Показати станцію в центрі екрану. Ctrl+клац мишою відкриє нове вікно з видом на станцію STR_STATION_VIEW_RENAME_TOOLTIP :{BLACK}Перейменувати станцію STR_STATION_VIEW_SCHEDULED_TRAINS_TOOLTIP :{BLACK}Показати всі поїзди, які заходять на цю станцію @@ -3218,15 +3302,15 @@ STR_STATION_VIEW_CLOSE_AIRPORT_TOOLTIP :{BLACK}Забо # Waypoint/buoy view window STR_WAYPOINT_VIEW_CAPTION :{WHITE}{WAYPOINT} -STR_WAYPOINT_VIEW_CENTER_TOOLTIP :{BLACK}Показати точку маршруту в центрі єкрану. Ctrl+клік відкриє нове вікно у місці розташування точки маршруту +STR_WAYPOINT_VIEW_CENTER_TOOLTIP :{BLACK}Показати точку маршруту в центрі екрану. Ctrl+клац мишою відкриє нове вікно у місці розташування точки маршруту STR_WAYPOINT_VIEW_CHANGE_WAYPOINT_NAME :{BLACK}Перейменувати точку маршруту -STR_BUOY_VIEW_CENTER_TOOLTIP :{BLACK}Показати буй в центрі екрану. Ctrl+клік відкриє нове вікно у місці розташування буя +STR_BUOY_VIEW_CENTER_TOOLTIP :{BLACK}Показати буй в центрі екрану. Ctrl+клац мишою відкриє нове вікно у місці розташування буя STR_BUOY_VIEW_CHANGE_BUOY_NAME :{BLACK}Перейменувати буй STR_EDIT_WAYPOINT_NAME :{WHITE}Перейменуйте точку маршруту # Finances window -STR_FINANCES_CAPTION :{WHITE}{COMPANY} - фінанси {BLACK}{COMPANY_NUM} +STR_FINANCES_CAPTION :{WHITE}Фінанси {COMPANY} {BLACK}{COMPANY_NUM} STR_FINANCES_EXPENDITURE_INCOME_TITLE :{WHITE}Витрати/доходи STR_FINANCES_YEAR :{WHITE}{NUM} STR_FINANCES_SECTION_CONSTRUCTION :{GOLD}Будівництво @@ -3250,9 +3334,9 @@ STR_FINANCES_LOAN_TITLE :{WHITE}Пози STR_FINANCES_MAX_LOAN :{WHITE}Макс. позика: {BLACK}{CURRENCY_LONG} STR_FINANCES_TOTAL_CURRENCY :{BLACK}{CURRENCY_LONG} STR_FINANCES_BORROW_BUTTON :{BLACK}Позичити {CURRENCY_LONG} -STR_FINANCES_BORROW_TOOLTIP :{BLACK}Збільшити розмір позики. Ctrl+клік позичає якнайбільше +STR_FINANCES_BORROW_TOOLTIP :{BLACK}Збільшити розмір позики. Ctrl+клац мишою позичає якнайбільше STR_FINANCES_REPAY_BUTTON :{BLACK}Повернути {CURRENCY_LONG} -STR_FINANCES_REPAY_TOOLTIP :{BLACK}Повернути частину позики. Ctrl+клік повертає якнайбільше +STR_FINANCES_REPAY_TOOLTIP :{BLACK}Повернути частину позики. Ctrl+клац мишою повертає якнайбільше STR_FINANCES_INFRASTRUCTURE_BUTTON :{BLACK}Інфраструктура # Company view @@ -3325,13 +3409,13 @@ STR_INDUSTRY_DIRECTORY_NONE :{ORANGE}- не STR_INDUSTRY_DIRECTORY_ITEM :{ORANGE}{INDUSTRY}{BLACK} ({CARGO_LONG}{STRING}){YELLOW} ({COMMA}% перевезено) STR_INDUSTRY_DIRECTORY_ITEM_TWO :{ORANGE}{INDUSTRY}{BLACK} ({CARGO_LONG}{STRING}/{CARGO_LONG}{STRING}){YELLOW} ({COMMA}%/{COMMA}% перевезено) STR_INDUSTRY_DIRECTORY_ITEM_NOPROD :{ORANGE}{INDUSTRY} -STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Назви підприємств - клікніть на назву, щоб показати підприємство у центрі екрану. Утримання Ctrl відкриває нове вікно з видом на підприємство +STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Назви підприємств - клацніть мишою на назву, щоб показати підприємство у центрі екрану. Ctrl+клац мишою відкриває нове вікно з видом на підприємство # Industry view STR_INDUSTRY_VIEW_CAPTION :{WHITE}{INDUSTRY} STR_INDUSTRY_VIEW_PRODUCTION_LAST_MONTH_TITLE :{BLACK}Вироблено за місяць: STR_INDUSTRY_VIEW_TRANSPORTED :{YELLOW}{CARGO_LONG}{STRING}{BLACK} ({COMMA}% перевезено) -STR_INDUSTRY_VIEW_LOCATION_TOOLTIP :{BLACK}Показати підприємство у центрі екрану. Утримання Ctrl відкриє нове вікно з видом на підприємство +STR_INDUSTRY_VIEW_LOCATION_TOOLTIP :{BLACK}Показати підприємство у центрі екрану. Ctrl+клац мишою відкриє нове вікно з видом на підприємство STR_INDUSTRY_VIEW_PRODUCTION_LEVEL :{BLACK}Обсяг виробництва: {YELLOW}{COMMA}% STR_INDUSTRY_VIEW_INDUSTRY_ANNOUNCED_CLOSURE :{YELLOW}Підприємство оголосило про близьке закриття! @@ -3357,7 +3441,7 @@ STR_VEHICLE_LIST_ROAD_VEHICLE_CAPTION :{WHITE}{STRING} STR_VEHICLE_LIST_SHIP_CAPTION :{WHITE}{STRING} - {COMMA} кораб{P ель лі лів} STR_VEHICLE_LIST_AIRCRAFT_CAPTION :{WHITE}{STRING} - {COMMA} літак{P "" и ів} -STR_VEHICLE_LIST_TRAIN_LIST_TOOLTIP :{BLACK}Поїзди - клікніть на поїзді для детальної інформації +STR_VEHICLE_LIST_TRAIN_LIST_TOOLTIP :{BLACK}Поїзди - клацніть на поїзд для детальної інформації STR_VEHICLE_LIST_ROAD_VEHICLE_TOOLTIP :{BLACK}Авто - натисніть на авто для інформації STR_VEHICLE_LIST_SHIP_TOOLTIP :{BLACK}Кораблі - натисніть для інформації STR_VEHICLE_LIST_AIRCRAFT_TOOLTIP :{BLACK}Літаки - натисніть на літак для інформації @@ -3396,11 +3480,14 @@ STR_GROUP_DEFAULT_ROAD_VEHICLES :Незгруп STR_GROUP_DEFAULT_SHIPS :Незгруповані кораблі STR_GROUP_DEFAULT_AIRCRAFTS :Незгруповані літаки -STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Групи - клікніть на групі, щоб побачити список транспорту цієї групи -STR_GROUP_CREATE_TOOLTIP :{BLACK}Клікніть, щоб створити групу +STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Групи - клацніть мишою на групі, щоб побачити список транспорту цієї групи. Перетягуйте групи, щоб змінити ієрархію. +STR_GROUP_CREATE_TOOLTIP :{BLACK}Клацніть мишою, щоб створити групу STR_GROUP_DELETE_TOOLTIP :{BLACK}Стерти вибрану групу STR_GROUP_RENAME_TOOLTIP :{BLACK}Перейменувати вибрану групу -STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Клікніть, щоб захистити групу від глобальної автозаміни +STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Клацніть мишою, щоб захистити групу від глобальної автозаміни + +STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Видалити групу +STR_GROUP_DELETE_QUERY_TEXT :{WHITE}Ви впевнені, що хочете видалити цю групу та всі вкладені групи? STR_GROUP_ADD_SHARED_VEHICLE :Додати спільний транспорт STR_GROUP_REMOVE_ALL_VEHICLES :Позбутися всього транспорту @@ -3439,10 +3526,10 @@ STR_PURCHASE_INFO_ALL_BUT :Всі, крі STR_PURCHASE_INFO_MAX_TE :{BLACK}Максимальна тягова сила: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Дальність: {GOLD}{COMMA} клітинок -STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Список поїздів - клацніть на поїзді для інформації -STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Список авто - клацніть на авто для інформації -STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Список вибору кораблів - клацніть на корабель для інформації -STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Список вибору літаків - клацніть на літак для інформації +STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Список поїздів. Клацніть на поїзд для інформації. Ctrl+клац мишою вимикає показ типу транспорту +STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Список автомобілів. Клацніть на авто для отримання інформації. Ctrl+клац мишою вимикає показ типу транспорту +STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Список кораблів. Клацніть на корабель для отримання інформації. Ctrl+клац мишою вимикає показ типу транспорту +STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Список літальних апаратів. Клацніть на літальному апараті для отримання інформації. Ctrl+клац мишою вимикає показ типу транспорту STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}Купити STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Купити @@ -3464,6 +3551,21 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Пере STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Перейменувати тип корабля STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Перейменувати тип літака +STR_BUY_VEHICLE_TRAIN_HIDE_TOGGLE_BUTTON :{BLACK}Сховати +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_TOGGLE_BUTTON :{BLACK}Сховати +STR_BUY_VEHICLE_SHIP_HIDE_TOGGLE_BUTTON :{BLACK}Сховати +STR_BUY_VEHICLE_AIRCRAFT_HIDE_TOGGLE_BUTTON :{BLACK}Сховати + +STR_BUY_VEHICLE_TRAIN_SHOW_TOGGLE_BUTTON :{BLACK}Показати +STR_BUY_VEHICLE_ROAD_VEHICLE_SHOW_TOGGLE_BUTTON :{BLACK}Показати +STR_BUY_VEHICLE_SHIP_SHOW_TOGGLE_BUTTON :{BLACK}Показати +STR_BUY_VEHICLE_AIRCRAFT_SHOW_TOGGLE_BUTTON :{BLACK}Показати + +STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Увімкнути/вимкнути відображення типів залізничного транспорту +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Увімкнути/вимкнути відображення типів автотранспорту +STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Увімкнути/вимкнути відображення типів кораблів +STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Увімкнути/вимкнути відображення типів авіації + STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}Перейменувати тип поїзда STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}Перейменувати тип авто STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}Перейменувати тип корабля @@ -3517,15 +3619,15 @@ STR_DEPOT_CLONE_ROAD_VEHICLE :{BLACK}Клон STR_DEPOT_CLONE_SHIP :{BLACK}Клонувати STR_DEPOT_CLONE_AIRCRAFT :{BLACK}Клонувати -STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Купити копію поїзда з усіма вагонами. Натисніть на цю кнопку і потім на поїзд в депо або ззовні. Утримуйте Ctrl для спільного завдання. Утримуйте Shift для показу витрат на придбання +STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Купити копію поїзда, включно з усіма автомобілями. Натисніть на цю кнопку, а потім на поїзд в депо або ззовні. Ctrl+клац мишою дозволить поділитися спільними завданнями. Shift+клац мишою покаже орієнтовні витрати на придбання STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Купити копію авто. Натисніть на цю кнопку і потім на авто в депо або ззовні. Утримуйте Ctrl для спільного завдання. Утримуйте Shift для показу витрат на придбання STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Купити копію корабля. Натисніть на цю кнопку, і потім на корабель в депо або ззовні. Утримуйте Ctrl для спільного завдання. Утримуйте Shift для показу витрат на придбання STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Купити копію літака. Натисніть на цю кнопку і потім на літак в ангарі або ззовні. Утримуйте Ctrl для спільного завдання. Утримуйте Shift для показу витрат на придбання -STR_DEPOT_TRAIN_LOCATION_TOOLTIP :{BLACK}Показати залізничне депо у центрі екрану. Утримання Ctrl відкриє нове вікно з видом на залізничне депо -STR_DEPOT_ROAD_VEHICLE_LOCATION_TOOLTIP :{BLACK}Показати гараж у центрі екрану. Утримання Ctrl вікдриває нове вікно з видом на гараж -STR_DEPOT_SHIP_LOCATION_TOOLTIP :{BLACK}Показати док у центрі екрану. Утримання Ctrl відкриє нове вікно з видом на док -STR_DEPOT_AIRCRAFT_LOCATION_TOOLTIP :{BLACK}Показати ангар в центрі екрану. Утримання Ctrl відкриє нове вікно з видом на ангар +STR_DEPOT_TRAIN_LOCATION_TOOLTIP :{BLACK}Показати залізничне депо у центрі екрану. Ctrl+клац мишою відкриє нове вікно з видом на залізничне депо +STR_DEPOT_ROAD_VEHICLE_LOCATION_TOOLTIP :{BLACK}Показати гараж у центрі екрану. Ctrl+клац мишою вікдриває нове вікно з видом на гараж +STR_DEPOT_SHIP_LOCATION_TOOLTIP :{BLACK}Показати док у центрі екрану. Ctrl+клац мишою відкриє нове вікно з видом на док +STR_DEPOT_AIRCRAFT_LOCATION_TOOLTIP :{BLACK}Показати ангар в центрі екрану. Ctrl+клац мишою відкриє нове вікно з видом на ангар STR_DEPOT_VEHICLE_ORDER_LIST_TRAIN_TOOLTIP :{BLACK}Отримати список усіх поїздів, що заходять до цього депо STR_DEPOT_VEHICLE_ORDER_LIST_ROAD_VEHICLE_TOOLTIP :{BLACK}Отримати список усіх автомобілів, що заходять до цього депо @@ -3568,6 +3670,11 @@ STR_REPLACE_VEHICLE_ROAD_VEHICLE :Авто STR_REPLACE_VEHICLE_SHIP :Корабель STR_REPLACE_VEHICLE_AIRCRAFT :Літак +STR_REPLACE_VEHICLE_VEHICLES_IN_USE :{YELLOW}Транспорт, що використовується +STR_REPLACE_VEHICLE_VEHICLES_IN_USE_TOOLTIP :{BLACK}Стовпчик з наявними транспортними засобами +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES :{YELLOW}Доступний транспорт +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES_TOOLTIP :{BLACK}Стовпчик з транспортними засобами, доступними для заміни + STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Виберіть транспорт для оновлення STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Виберіть новий транспорт, яким ви бажаєте замінити старий @@ -3599,10 +3706,10 @@ STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Дозв # Vehicle view STR_VEHICLE_VIEW_CAPTION :{WHITE}{VEHICLE} -STR_VEHICLE_VIEW_TRAIN_LOCATION_TOOLTIP :{BLACK}Показати поїзд у центрі екрану. Утримання Ctrl спричинить слідкування за ним у головному вікні -STR_VEHICLE_VIEW_ROAD_VEHICLE_LOCATION_TOOLTIP :{BLACK}Показати автомобіль у центрі екрану. Утримання Ctrl спричинить слідкування за ним у головному вікні -STR_VEHICLE_VIEW_SHIP_LOCATION_TOOLTIP :{BLACK}Показати корабель у центрі екрану. Утримання Ctrl спричинить слідкування за ним у головному вікні -STR_VEHICLE_VIEW_AIRCRAFT_LOCATION_TOOLTIP :{BLACK}Показати літак у центрі екрану. Утримання Ctrl спричинить слідкування за ним у головному вікні +STR_VEHICLE_VIEW_TRAIN_LOCATION_TOOLTIP :{BLACK}Показати поїзд у центрі екрану. Ctrl+клац мишою спричинить слідкування за ним у головному вікні +STR_VEHICLE_VIEW_ROAD_VEHICLE_LOCATION_TOOLTIP :{BLACK}Показати автомобіль у центрі екрану. Ctrl+клац мишою спричинить слідкування за ним у головному вікні +STR_VEHICLE_VIEW_SHIP_LOCATION_TOOLTIP :{BLACK}Показати корабель у центрі екрану. Ctrl+клац мишою спричинить слідкування за ним у головному вікні +STR_VEHICLE_VIEW_AIRCRAFT_LOCATION_TOOLTIP :{BLACK}Показати літак у центрі екрану. Ctrl+клац мишою спричинить слідкування за ним у головному вікні STR_VEHICLE_VIEW_TRAIN_SEND_TO_DEPOT_TOOLTIP :{BLACK}Направити поїзд у депо STR_VEHICLE_VIEW_ROAD_VEHICLE_SEND_TO_DEPOT_TOOLTIP :{BLACK}Направити авто в депо @@ -3692,10 +3799,10 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Міст STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Плата за трансфер: {LTBLUE}{CURRENCY_LONG} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Інтервал техогляду: {LTBLUE}{COMMA} днів{BLACK} Останній техогляд: {LTBLUE}{DATE_LONG} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Інтервал техогляду: {LTBLUE}{COMMA}{NBSP}днів{BLACK} Останній техогляд: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Інтервал техогляду: {LTBLUE}{COMMA}%{BLACK} Останній техогляд: {LTBLUE}{DATE_LONG} -STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Збільшити інтервал техогляду на 10. Ctrl+клік збільшує інтервал техогляду на 5 -STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Зменшити період техогляду на 10. Ctrl+клік зменшує інтервал техогляду на 5 +STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Збільшити інтервал техогляду на 10. Ctrl+клац мишою збільшує інтервал техогляду на 5 +STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Зменшити період техогляду на 10. Ctrl+клац мишою зменшує інтервал техогляду на 5 STR_SERVICE_INTERVAL_DROPDOWN_TOOLTIP :Відлік інтервалу між техоглядами STR_VEHICLE_DETAILS_DEFAULT :Стандартно @@ -3737,7 +3844,7 @@ STR_REFIT_NEW_CAPACITY_COST_OF_REFIT :{BLACK}Нова STR_REFIT_NEW_CAPACITY_INCOME_FROM_REFIT :{BLACK}Нова місткість: {GOLD}{CARGO_LONG}{}{BLACK}Прибуток від переобладнання: {GREEN}{CURRENCY_LONG} STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT :{BLACK}Нова місткість: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Вартість переобладнання: {RED}{CURRENCY_LONG} STR_REFIT_NEW_CAPACITY_INCOME_FROM_AIRCRAFT_REFIT :{BLACK}Нова місткість: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Прибуток від переобладнання: {GREEN}{CURRENCY_LONG} -STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}Вибрати транспорт для переобладнання. Перетягування мишкою дозволяє виділити декілька одиниць транспорту. Клік на порожньому місці виділить усю одиницю транспорту. Ctrl+клік мишкою виділить транспорт та ланцюжок перевезень за ним +STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}Вибрати транспорт для переобладнання. Перетягування мишою дозволяє виділити декілька одиниць транспорту. Клац мишою на порожньому місці виділить усю одиницю транспорту. Ctrl+клац мишою виділить транспорт та ланцюжок перевезень за ним STR_REFIT_TRAIN_LIST_TOOLTIP :{BLACK}Виберіть вид вантажу для перевезення STR_REFIT_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Оберіть тип вантажу для перевезення @@ -3759,7 +3866,7 @@ STR_ORDERS_CAPTION :{WHITE}{VEHICLE STR_ORDERS_TIMETABLE_VIEW :{BLACK}Розклад STR_ORDERS_TIMETABLE_VIEW_TOOLTIP :{BLACK}Переключитись на розклад -STR_ORDERS_LIST_TOOLTIP :{BLACK}Маршрутний лист - клацніть на завданні для його вибору. CTRL+клік мишкою показує станцію +STR_ORDERS_LIST_TOOLTIP :{BLACK}Маршрутний лист - клацніть на завданні для його вибору. Ctrl+клац мишою показує станцію призначення STR_ORDER_INDEX :{COMMA}:{NBSP} STR_ORDER_TEXT :{STRING} {STRING} {STRING} @@ -3789,9 +3896,9 @@ STR_ORDER_DROP_NO_UNLOADING :Не розва STR_ORDER_TOOLTIP_UNLOAD :{BLACK}Змінити поведінку розвантаження виділеного пункту STR_ORDER_REFIT :{BLACK}Переобладнати -STR_ORDER_REFIT_TOOLTIP :{BLACK}Оберіть, на який тип вантажу переобладнати у цьому завданні. Ctrl+клік для видалення команди переобладнання -STR_ORDER_REFIT_AUTO :{BLACK}Авто-переобладнання -STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Вибирає тип вантажу, для якого треба автопереобладнати транспорт в цьому наказі. Ctrl+клік видаляє автопереобладнання. Автопереобладнання буде виконано, тільки якщо транспорт підтримує його +STR_ORDER_REFIT_TOOLTIP :{BLACK}Оберіть, на який тип вантажу переобладнати у цьому завданні. Ctrl+клац мишою для видалення команди переобладнання +STR_ORDER_REFIT_AUTO :{BLACK}Переобладнати на станції +STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Обрати тип вантажу, для якого треба переобладнати транспорт. Ctrl+клац мишою скасовує переобладнання. Переобладнання на станції відбудеться, тільки якщо транспорт допускає це STR_ORDER_DROP_REFIT_AUTO :Зазначений вантаж STR_ORDER_DROP_REFIT_AUTO_ANY :Доступний вантаж @@ -3826,20 +3933,20 @@ STR_ORDER_CONDITIONAL_VALUE_TOOLTIP :{BLACK}Знач STR_ORDER_CONDITIONAL_VALUE_CAPT :{WHITE}Введіть значення для порівняння STR_ORDERS_SKIP_BUTTON :{BLACK}Пропуск -STR_ORDERS_SKIP_TOOLTIP :{BLACK}Пропустити поточний наказ, і виконувати наступний. CTRL + клік переходить до вибраного наказу +STR_ORDERS_SKIP_TOOLTIP :{BLACK}Пропустити поточний наказ, і виконувати наступний. Ctrl+клац мишою переходить до вибраного наказу STR_ORDERS_DELETE_BUTTON :{BLACK}Видалити STR_ORDERS_DELETE_TOOLTIP :{BLACK}Видалити виділене завдання STR_ORDERS_DELETE_ALL_TOOLTIP :{BLACK}Видалити всі накази STR_ORDERS_STOP_SHARING_BUTTON :{BLACK}Відмінити спільні накази -STR_ORDERS_STOP_SHARING_TOOLTIP :{BLACK}Перестати використовути спільні накази. Ctrl+клік мишкою видаляє всі накази для цього транспорту. +STR_ORDERS_STOP_SHARING_TOOLTIP :{BLACK}Перестати використовути спільні накази. Ctrl+клац мишою видаляє всі накази для цього транспорту STR_ORDERS_GO_TO_BUTTON :{BLACK}Прямувати STR_ORDER_GO_TO_NEAREST_DEPOT :Прямувати до найближчого депо STR_ORDER_GO_TO_NEAREST_HANGAR :Прямувати в найближчий ангар STR_ORDER_CONDITIONAL :Зміна наказу з умовою STR_ORDER_SHARE :Спільні накази -STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Вставити новий наказ перед вибраним, або додати в кінець списку. Утримуйте Ctrl аби створити наказ як "повне завантаження будь-якого вантажу", для точок маршруту - "без зупинок", і для депо - "обслуговування". Пункт "Спільні накази" або утримування Ctrl дозволяє поділитися спільними наказами з виділеним транспортом. Клік на транспорті копіює з нього накази +STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Вставити новий наказ перед вибраним, або додати в кінець списку. Утримуйте Ctrl аби створити наказ як "повне завантаження будь-якого вантажу", для точок маршруту - "без зупинок", і для депо - "обслуговування". Пункт "Спільні накази" або утримування Ctrl дозволяє поділитися спільними наказами з виділеним транспортом. Клац мишою на транспорті копіює з нього накази STR_ORDERS_VEH_WITH_SHARED_ORDERS_LIST_TOOLTIP :{BLACK}Показати транспорт з таким самим маршрутом @@ -3882,17 +3989,17 @@ STR_ORDER_NO_UNLOAD_FULL_LOAD :(Не розв STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY :(Не розвантажуватись і чекати повного завантаження будь-якого виду) STR_ORDER_NO_UNLOAD_NO_LOAD :(Не розвантажуватись і не завантажуватись) -STR_ORDER_AUTO_REFIT :(Автоматично переобладнати в {STRING}) -STR_ORDER_FULL_LOAD_REFIT :(Завантажити все з автопереобладнанням в {STRING}) -STR_ORDER_FULL_LOAD_ANY_REFIT :(Повністю завантажити будь-який вид вантажу з автопереобладнанням в {STRING}) -STR_ORDER_UNLOAD_REFIT :(Розвантажити і взяти вантаж з автопереобладнанням в {STRING}) -STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(Розвантажити і чекати повного завантаження вантажу з автопереобладнанням в {STRING}) -STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(Розвантажити і чекати повного завантаження будь-якого вантажу з автопереобладнанням в {STRING}) -STR_ORDER_TRANSFER_REFIT :(Передати і взяти вантаж з автопереобладнанням в {STRING}) -STR_ORDER_TRANSFER_FULL_LOAD_REFIT :(Передати і чекати повного завантаження з автопереобладнанням в {STRING}) -STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :(Передати і чекати повного завантаження будь-якого вантажу з автопереобладнанням в {STRING}) -STR_ORDER_NO_UNLOAD_REFIT :(Не розвантажуватись і взяти вантаж з автопереобладнанням в {STRING}) -STR_ORDER_NO_UNLOAD_FULL_LOAD_REFIT :(Не розвантажуватись і чекати повного завантаження з автопереобладнанням в {STRING}) +STR_ORDER_AUTO_REFIT :(Переобладнати в {STRING}) +STR_ORDER_FULL_LOAD_REFIT :(Завантажити все з переобладнанням в {STRING}) +STR_ORDER_FULL_LOAD_ANY_REFIT :(Повністю завантажити будь-який вид вантажу з переобладнанням в {STRING}) +STR_ORDER_UNLOAD_REFIT :(Розвантажити і взяти вантаж з переобладнанням в {STRING}) +STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(Розвантажитись і чекати повного завантаження вантажу з переобладнанням в {STRING}) +STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(Розвантажитись і чекати повного завантаження будь-якого вантажу з переобладнанням в {STRING}) +STR_ORDER_TRANSFER_REFIT :(Передати і взяти вантаж з переобладнанням в {STRING}) +STR_ORDER_TRANSFER_FULL_LOAD_REFIT :(Передати і чекати повного завантаження з переобладнанням в {STRING}) +STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :(Передати і чекати повного завантаження будь-якого вантажу з переобладнанням в {STRING}) +STR_ORDER_NO_UNLOAD_REFIT :(Не розвантажуватись і взяти вантаж з переобладнанням в {STRING}) +STR_ORDER_NO_UNLOAD_FULL_LOAD_REFIT :(Не розвантажуватись і чекати повного завантаження з переобладнанням в {STRING}) STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY_REFIT :(Не розвантажуватись і чекати повного завантаження будь-якого вантажу з автопереобладнанням в {STRING}) STR_ORDER_AUTO_REFIT_ANY :доступний вантаж @@ -3914,18 +4021,22 @@ STR_TIMETABLE_TITLE :{WHITE}{VEHICLE STR_TIMETABLE_ORDER_VIEW :{BLACK}Завдання STR_TIMETABLE_ORDER_VIEW_TOOLTIP :{BLACK}Переключитись до вікна завдань -STR_TIMETABLE_TOOLTIP :{BLACK}Розклад - клікніть на наказ, щоб виділити його +STR_TIMETABLE_TOOLTIP :{BLACK}Розклад - клацніть мишою на наказ, щоб виділити його STR_TIMETABLE_NO_TRAVEL :Не прямувати STR_TIMETABLE_NOT_TIMETABLEABLE :В дорозі (час руху враховано в наступному не автоматичному наказі) STR_TIMETABLE_TRAVEL_NOT_TIMETABLED :В дорозі (час не вказано) -STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :В дорозі зі швидкістю, що не перевищує {2:VELOCITY} (час не вказано) +STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Прямувати (без розкладу) зі швидкістю, що не перевищує {2:VELOCITY} (час не вказано) STR_TIMETABLE_TRAVEL_FOR :В дорозі {STRING} STR_TIMETABLE_TRAVEL_FOR_SPEED :В дорозі {STRING} зі швидкістю, що не перевищує {VELOCITY} +STR_TIMETABLE_TRAVEL_FOR_ESTIMATED :Поїздка (для {STRING}, без розкладу) +STR_TIMETABLE_TRAVEL_FOR_SPEED_ESTIMATED :Їхати (протягом {STRING}, без розкладу) зі швидкістю не більше {VELOCITY} +STR_TIMETABLE_STAY_FOR_ESTIMATED :(стояти протягом {STRING}, без розкладу) +STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(їхати протягом {STRING}, без розкладу) STR_TIMETABLE_STAY_FOR :і стояти {STRING} STR_TIMETABLE_AND_TRAVEL_FOR :і прямувати до {STRING} -STR_TIMETABLE_DAYS :{COMMA} д{P ень ні нів} -STR_TIMETABLE_TICKS :{COMMA} одиниц{P я і ь} +STR_TIMETABLE_DAYS :{COMMA}{NBSP}д{P ень ні нів} +STR_TIMETABLE_TICKS :{COMMA}{NBSP}одиниц{P я і ь} STR_TIMETABLE_TOTAL_TIME :{BLACK}Цей розклад займе {STRING} STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}Цей розклад займе якнайменше {STRING} (не все враховано) @@ -3937,6 +4048,7 @@ STR_TIMETABLE_STATUS_NOT_STARTED :{BLACK}Цей STR_TIMETABLE_STATUS_START_AT :{BLACK}Цей розклад почнеться о {STRING} STR_TIMETABLE_STARTING_DATE :{BLACK}Дата початку +STR_TIMETABLE_STARTING_DATE_TOOLTIP :{BLACK}Оберіть дату як точку відліку даного розкладу. Ctrl+клац мишою встановлює точку відліку даного розкладу і рівномірно розподіляє весь транспорт, що виконує це завдання згідно його відносного порядку розміщення, якщо порядок повністю розписаний у розкладі STR_TIMETABLE_CHANGE_TIME :{BLACK}Змінити час STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Змінити час, впродовж якого має виконуватись наказ @@ -4025,7 +4137,7 @@ STR_AI_CONFIG_CONFIGURE_TOOLTIP :{BLACK}Наст STR_AI_LIST_CAPTION :{WHITE}Доступні {STRING} STR_AI_LIST_CAPTION_AI :Модулі АІ STR_AI_LIST_CAPTION_GAMESCRIPT :Ігрові Скрипти -STR_AI_LIST_TOOLTIP :{BLACK}Клікніть, щоб вибрати скрипт +STR_AI_LIST_TOOLTIP :{BLACK}Клацніть мишою, щоб вибрати скрипт STR_AI_LIST_AUTHOR :{LTBLUE}Автор: {ORANGE}{STRING} STR_AI_LIST_VERSION :{LTBLUE}Версія: {ORANGE}{NUM} @@ -4074,6 +4186,10 @@ STR_INCOME_FLOAT_INCOME_SMALL :{TINY_FONT}{GRE STR_INCOME_FLOAT_INCOME :{GREEN}Прибуток: {CURRENCY_LONG} STR_FEEDER_TINY :{TINY_FONT}{YELLOW}Пересадка: {CURRENCY_LONG} STR_FEEDER :{YELLOW}Пересадка: {CURRENCY_LONG} +STR_FEEDER_INCOME_TINY :{TINY_FONT}{YELLOW}Перерахувати: {CURRENCY_LONG}{WHITE} / {GREEN}Дохід: {CURRENCY_LONG} +STR_FEEDER_INCOME :{YELLOW}Перерахувати: {CURRENCY_LONG}{WHITE} / {GREEN}Дохід: {CURRENCY_LONG} +STR_FEEDER_COST_TINY :{TINY_FONT}{YELLOW}Перерахувати: {CURRENCY_LONG}{WHITE} / {RED}Вартість: {CURRENCY_LONG} +STR_FEEDER_COST :{YELLOW}Перерахувати: {CURRENCY_LONG}{WHITE} / {RED}Вартість: {CURRENCY_LONG} STR_MESSAGE_ESTIMATED_COST :{WHITE}Приблизні витрати: {CURRENCY_LONG} STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Приблизний прибуток: {CURRENCY_LONG} @@ -4158,6 +4274,7 @@ STR_ERROR_EXCAVATION_WOULD_DAMAGE :{WHITE}Робо STR_ERROR_ALREADY_AT_SEA_LEVEL :{WHITE}Вже понижено до рівня моря STR_ERROR_TOO_HIGH :{WHITE}Дуже високо STR_ERROR_ALREADY_LEVELLED :{WHITE}... вже рівна +STR_ERROR_BRIDGE_TOO_HIGH_AFTER_LOWER_LAND :{WHITE}Пізніше, міст над цим місцем буде занадто високо. # Company related errors STR_ERROR_CAN_T_CHANGE_COMPANY_NAME :{WHITE}Неможливо змінити назву компанії... @@ -4184,7 +4301,7 @@ STR_ERROR_TOO_CLOSE_TO_EDGE_OF_MAP_SUB :{WHITE}... на STR_ERROR_TOO_CLOSE_TO_ANOTHER_TOWN :{WHITE}... надто близько до іншого міста STR_ERROR_TOO_MANY_TOWNS :{WHITE}... забагато міст STR_ERROR_NO_SPACE_FOR_TOWN :{WHITE}... на карті немає вільного місця -STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}Місто не буде будувати дороги. Ви можете дозволити будівництво доріг у вікні Розширені налаштування->Економіка->Міста +STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}Місто не будуватиме дороги. Ви можете дозволити будівництво доріг через налаштування->Довкілля->Міста STR_ERROR_ROAD_WORKS_IN_PROGRESS :{WHITE}Дорога ремонтується STR_ERROR_TOWN_CAN_T_DELETE :{WHITE}Не можна видалити це місто...{}Станція або депо, що відносяться до міста або знаходяться на землі у власності міста, не можуть бути видалені STR_ERROR_STATUE_NO_SUITABLE_PLACE :{WHITE}... немає придатного місця для статуї в центрі цього міста @@ -4208,6 +4325,9 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... са STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... можна будувати тільки вище рівня снігу STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... можна будувати тільки нижче рівня снігу +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}Відсутні місця, придатні для '{STRING}' виробництва +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Змініть параметри генерування карти, щоб отримати кращу карту + # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Неможливо будувати станцію тут... STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}Неможливо будувати зупинку тут... @@ -4344,6 +4464,7 @@ STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Споч STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}Початок та кінець не можуть бути в одному місці STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}Кінці мостів на різних рівнях STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}Міст дуже низький для цього місця +STR_ERROR_BRIDGE_TOO_HIGH_FOR_TERRAIN :{WHITE}Висота мосту є занадто великою для даного ландшафту STR_ERROR_START_AND_END_MUST_BE_IN :{WHITE}Початок та кінець мають бути на одній лінії STR_ERROR_ENDS_OF_BRIDGE_MUST_BOTH :{WHITE}... обидва кінці мосту мають бути на землі STR_ERROR_BRIDGE_TOO_LONG :{WHITE}... міст надто довгий @@ -4370,6 +4491,7 @@ STR_ERROR_YOU_ALREADY_OWN_IT :{WHITE}... це STR_ERROR_GROUP_CAN_T_CREATE :{WHITE}Не можна створити групу... STR_ERROR_GROUP_CAN_T_DELETE :{WHITE}Не можна стерти групу... STR_ERROR_GROUP_CAN_T_RENAME :{WHITE}Не можна перейменувати групу... +STR_ERROR_GROUP_CAN_T_SET_PARENT :{WHITE}Неможливо встановити головну групу... STR_ERROR_GROUP_CAN_T_REMOVE_ALL_VEHICLES :{WHITE}Не можна позбутися всього транспорту цієї групи... STR_ERROR_GROUP_CAN_T_ADD_VEHICLE :{WHITE}Не можна додати цей транспорт у групу... STR_ERROR_GROUP_CAN_T_ADD_SHARED_VEHICLE :{WHITE}Не можна додати спільний транспорт у групу... @@ -4944,6 +5066,7 @@ STR_COMPANY_NAME :{COMPANY} STR_COMPANY_NAME_COMPANY_NUM :{COMPANY} {COMPANY_NUM} STR_DEPOT_NAME :{DEPOT} STR_ENGINE_NAME :{ENGINE} +STR_HIDDEN_ENGINE_NAME :{ENGINE} (приховано) STR_GROUP_NAME :{GROUP} STR_INDUSTRY_NAME :{INDUSTRY} STR_PRESIDENT_NAME :{PRESIDENT_NAME} @@ -4979,8 +5102,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -4991,9 +5112,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/unfinished/chuvash.txt b/src/lang/unfinished/chuvash.txt index b8e2c62dd7..a76dd73c35 100644 --- a/src/lang/unfinished/chuvash.txt +++ b/src/lang/unfinished/chuvash.txt @@ -171,6 +171,9 @@ STR_BUTTON_RENAME :{BLACK}Ята STR_TOOLTIP_CLOSE_WINDOW :{BLACK}Чӳречене хуп +# Show engines button + + # Query window STR_BUTTON_DEFAULT :{BLACK}Пӳрнӗ пек STR_BUTTON_CANCEL :{BLACK}Улӑштар @@ -275,7 +278,7 @@ STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Яланхил STR_ABOUT_MENU_ABOUT_OPENTTD :'OpenTTD' çинчен ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window STR_ORDINAL_NUMBER_1ST :1мӗш STR_ORDINAL_NUMBER_2ND :2мӗш STR_ORDINAL_NUMBER_3RD :3-мӗш @@ -291,22 +294,40 @@ STR_ORDINAL_NUMBER_12TH :12-мӗш STR_ORDINAL_NUMBER_13TH :13-мӗш STR_ORDINAL_NUMBER_14TH :14-мӗш STR_ORDINAL_NUMBER_15TH :15-мӗш -STR_ORDINAL_NUMBER_16TH :16-мӗш -STR_ORDINAL_NUMBER_17TH :17-мӗш -STR_ORDINAL_NUMBER_18TH :18-мӗш -STR_ORDINAL_NUMBER_19TH :19-мӗш -STR_ORDINAL_NUMBER_20TH :20-мӗш -STR_ORDINAL_NUMBER_21ST :21-мӗш -STR_ORDINAL_NUMBER_22ND :22-мӗш -STR_ORDINAL_NUMBER_23RD :23-мӗш -STR_ORDINAL_NUMBER_24TH :24-мӗш -STR_ORDINAL_NUMBER_25TH :25-мӗш -STR_ORDINAL_NUMBER_26TH :26-мӗш -STR_ORDINAL_NUMBER_27TH :27-мӗш -STR_ORDINAL_NUMBER_28TH :28-мӗш -STR_ORDINAL_NUMBER_29TH :29-мӗш -STR_ORDINAL_NUMBER_30TH :30-мӗш -STR_ORDINAL_NUMBER_31ST :31-мӗш +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :1мӗш +STR_DAY_NUMBER_2ND :2мӗш +STR_DAY_NUMBER_3RD :3-мӗш +STR_DAY_NUMBER_4TH :4-мӗш +STR_DAY_NUMBER_5TH :5-мӗш +STR_DAY_NUMBER_6TH :6-мӗш +STR_DAY_NUMBER_7TH :7-мӗш +STR_DAY_NUMBER_8TH :8-мӗш +STR_DAY_NUMBER_9TH :9-мӗш +STR_DAY_NUMBER_10TH :10-мӗш +STR_DAY_NUMBER_11TH :11-мӗш +STR_DAY_NUMBER_12TH :12-мӗш +STR_DAY_NUMBER_13TH :13-мӗш +STR_DAY_NUMBER_14TH :14-мӗш +STR_DAY_NUMBER_15TH :15-мӗш +STR_DAY_NUMBER_16TH :16-мӗш +STR_DAY_NUMBER_17TH :17-мӗш +STR_DAY_NUMBER_18TH :18-мӗш +STR_DAY_NUMBER_19TH :19-мӗш +STR_DAY_NUMBER_20TH :20-мӗш +STR_DAY_NUMBER_21ST :21-мӗш +STR_DAY_NUMBER_22ND :22-мӗш +STR_DAY_NUMBER_23RD :23-мӗш +STR_DAY_NUMBER_24TH :24-мӗш +STR_DAY_NUMBER_25TH :25-мӗш +STR_DAY_NUMBER_26TH :26-мӗш +STR_DAY_NUMBER_27TH :27-мӗш +STR_DAY_NUMBER_28TH :28-мӗш +STR_DAY_NUMBER_29TH :29-мӗш +STR_DAY_NUMBER_30TH :30-мӗш +STR_DAY_NUMBER_31ST :31-мӗш ############ range for days ends ############ range for months starts @@ -440,9 +461,7 @@ STR_NEWS_MESSAGE_CAPTION :{WHITE}Пӗлт -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE -# end of order system +# Order review system / warnings @@ -459,10 +478,6 @@ STR_GAME_OPTIONS_CURRENCY_RUR :Вырӑсла ############ end of currency region -############ start of measuring units region -############ end of measuring units region - - ############ start of townname region STR_GAME_OPTIONS_TOWN_NAME_ORIGINAL_ENGLISH :Акӑлчан @@ -488,7 +503,9 @@ STR_GAME_OPTIONS_TOWN_NAME_CATALAN :Катталу STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Хӑй управ +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Сӳнтер +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}Чӗлхи @@ -497,7 +514,7 @@ STR_GAME_OPTIONS_FULLSCREEN :{BLACK}Тулл STR_GAME_OPTIONS_RESOLUTION :{BLACK}Экрана сӑнарлама пултарни STR_GAME_OPTIONS_RESOLUTION_OTHER :расна -STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}Формат экран сӑнӗ + @@ -535,7 +552,7 @@ STR_SUBSIDY_X4 :x4 -# Advanced settings window +# Settings tree window @@ -572,6 +589,7 @@ STR_CONFIG_SETTING_SCROLLWHEEL_OFF :Сӳнтер STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Сӳнтер + STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :вӑрӑм (2008 раш 31меш) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :кӗске (2008-12-31) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31) @@ -583,7 +601,6 @@ STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31 - STR_CONFIG_SETTING_NEWS_SUBSIDIES :Грантсем: {STRING} STR_CONFIG_SETTING_NEWS_MESSAGES_OFF :Сӳнтер @@ -611,14 +628,11 @@ STR_CONFIG_SETTING_TOWN_GROWTH_VERY_FAST :Питӗ хӑв -STR_CONFIG_SETTING_GUI :{ORANGE}Интерфейс -STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}Лартӑм +STR_CONFIG_SETTING_INTERFACE :{ORANGE}Интерфейс +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Лартӑм STR_CONFIG_SETTING_VEHICLES :{ORANGE}Ҫул-йӗр: -STR_CONFIG_SETTING_STATIONS :{ORANGE}Станцисем: +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Хуласем STR_CONFIG_SETTING_AI :{ORANGE}Ӑмӑртуҫӑсем -STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE}Автоҫӗнет -STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}Пуйӑссем -STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}Хуласем STR_CONFIG_SETTING_PATHFINDER_NPF :NPF @@ -981,6 +995,8 @@ STR_GENERATION_OBJECT_GENERATION :{BLACK}Объе STR_NEWGRF_SETTINGS_VERSION :{BLACK}Верси: {SILVER}{NUM} +# NewGRF save preset window + # NewGRF parameters window STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Хуп STR_NEWGRF_PARAMETERS_RESET :{BLACK}Сикӗ @@ -1039,7 +1055,8 @@ STR_GOALS_TEXT :{ORANGE}{STRING # Goal question window -### Start of Goal Question button list +############ Start of Goal Question button list +############ End of Goal Question button list # Subsidies window STR_SUBSIDIES_NONE :{ORANGE}- Ҫук - @@ -1114,6 +1131,7 @@ STR_INDUSTRY_DIRECTORY_NONE :{ORANGE}- Ҫу + # Build vehicle window @@ -1124,6 +1142,9 @@ STR_INDUSTRY_DIRECTORY_NONE :{ORANGE}- Ҫу + + + # Depot window STR_DEPOT_CAPTION :{WHITE}{DEPOT} @@ -1156,6 +1177,7 @@ STR_DEPOT_VEHICLE_TOOLTIP_CARGO :{}{CARGO_LONG} + # Vehicle view STR_VEHICLE_VIEW_CAPTION :{WHITE}{VEHICLE} @@ -1311,6 +1333,7 @@ STR_ERROR_MESSAGE_CAPTION :{YELLOW}Пӗл # Industry related errors + # Station construction related errors @@ -1469,8 +1492,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -1481,9 +1502,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/unfinished/frisian.txt b/src/lang/unfinished/frisian.txt index 4b27de62aa..b99af4e20d 100644 --- a/src/lang/unfinished/frisian.txt +++ b/src/lang/unfinished/frisian.txt @@ -95,30 +95,30 @@ STR_CARGO_SINGULAR_FIZZY_DRINK :Frisdrinken # Quantity of cargo STR_QUANTITY_NOTHING : -STR_QUANTITY_PASSENGERS :{COMMA} passazjier{P "" s} +STR_QUANTITY_PASSENGERS :{COMMA}{NBSP}passazjier{P "" s} STR_QUANTITY_COAL :{WEIGHT_LONG} fan stienkoal -STR_QUANTITY_MAIL :{COMMA} tas{P "" sen} mei post +STR_QUANTITY_MAIL :{COMMA}{NBSP}tas{P "" sen} mei post STR_QUANTITY_OIL :{VOLUME_LONG} fan oalje -STR_QUANTITY_LIVESTOCK :{COMMA} In stikmennich bist{P "" en} -STR_QUANTITY_GOODS :{COMMA} krat{P "" ten} guod +STR_QUANTITY_LIVESTOCK :{COMMA}{NBSP}Bist{P "" en} +STR_QUANTITY_GOODS :{COMMA}{NBSP}kret{P "" ten} guod STR_QUANTITY_GRAIN :{WEIGHT_LONG} fan nôt STR_QUANTITY_WOOD :{WEIGHT_LONG} fan hout STR_QUANTITY_IRON_ORE :{WEIGHT_LONG} fan izererts STR_QUANTITY_STEEL :{WEIGHT_LONG} fan stiel -STR_QUANTITY_VALUABLES :{COMMA} sek{P "" ken} kostberheden +STR_QUANTITY_VALUABLES :{COMMA}{NBSP}sek{P "" ken} kostberheden STR_QUANTITY_COPPER_ORE :{WEIGHT_LONG} fan kopererts STR_QUANTITY_MAIZE :{WEIGHT_LONG} stynske weet STR_QUANTITY_FRUIT :{WEIGHT_LONG} fan fruit -STR_QUANTITY_DIAMONDS :{COMMA} sek{P "" ken} diamanten +STR_QUANTITY_DIAMONDS :{COMMA}{NBSP}sek{P "" ken} diamanten STR_QUANTITY_FOOD :{WEIGHT_LONG} fan iten STR_QUANTITY_PAPER :{WEIGHT_LONG} fan papier -STR_QUANTITY_GOLD :{COMMA} sek{P "" ken} goud +STR_QUANTITY_GOLD :{COMMA}{NBSP}sek{P "" ken} goud STR_QUANTITY_WATER :{VOLUME_LONG} fan wetter STR_QUANTITY_WHEAT :{WEIGHT_LONG} fan weet STR_QUANTITY_RUBBER :{VOLUME_LONG} fan rubber STR_QUANTITY_SUGAR :{WEIGHT_LONG} fan sûker -STR_QUANTITY_TOYS :{COMMA} boartersguod -STR_QUANTITY_SWEETS :{COMMA} sek{P "" ken} snobbersguod +STR_QUANTITY_TOYS :{COMMA}{NBSP}kret{P "" ten} boartersguod +STR_QUANTITY_SWEETS :{COMMA}{NBSP}sek{P "" ken} snobbersguod STR_QUANTITY_COLA :{VOLUME_LONG} fan kola STR_QUANTITY_CANDYFLOSS :{WEIGHT_LONG} fan sûkerspin STR_QUANTITY_BUBBLES :{COMMA} bûle{P "" n} @@ -165,12 +165,12 @@ STR_ABBREV_NONE :{TINY_FONT}NE STR_ABBREV_ALL :{TINY_FONT}AL # 'Mode' of transport for cargoes -STR_PASSENGERS :{COMMA} passazjier{P "" s} -STR_BAGS :{COMMA} sek{P "" ken} -STR_TONS :{COMMA} Ton -STR_LITERS :{COMMA} liter{P "" s} -STR_ITEMS :{COMMA} foarwerp{P "" en} -STR_CRATES :{COMMA} kret{P "" ten} +STR_PASSENGERS :{COMMA}{NBSP}passazjier{P "" s} +STR_BAGS :{COMMA}{NBSP}sek{P "" ken} +STR_TONS :{COMMA}{NBSP}Ton +STR_LITERS :{COMMA}{NBSP}liter{P "" s} +STR_ITEMS :{COMMA}{NBSP}foarwerp{P "" en} +STR_CRATES :{COMMA}{NBSP}kret{P "" ten} # Colours, do not shuffle STR_COLOUR_DARK_BLUE :Donkerblau @@ -191,37 +191,37 @@ STR_COLOUR_GREY :Griis STR_COLOUR_WHITE :Wyt # Units used in OpenTTD -STR_UNITS_VELOCITY_IMPERIAL :{COMMA} mpo -STR_UNITS_VELOCITY_METRIC :{COMMA} km/o -STR_UNITS_VELOCITY_SI :{COMMA} m/s +STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}mpo +STR_UNITS_VELOCITY_METRIC :{COMMA}{NBSP}km/o +STR_UNITS_VELOCITY_SI :{COMMA}{NBSP}m/s -STR_UNITS_POWER_IMPERIAL :{COMMA}hk -STR_UNITS_POWER_METRIC :{COMMA}hk -STR_UNITS_POWER_SI :{COMMA}kW +STR_UNITS_POWER_IMPERIAL :{COMMA}{NBSP}hp +STR_UNITS_POWER_METRIC :{COMMA}{NBSP}hp +STR_UNITS_POWER_SI :{COMMA}{NBSP}kW -STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}t -STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}t -STR_UNITS_WEIGHT_SHORT_SI :{COMMA}kg +STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_SI :{COMMA}{NBSP}kg -STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA} ton -STR_UNITS_WEIGHT_LONG_METRIC :{COMMA} ton{P "" nen} -STR_UNITS_WEIGHT_LONG_SI :{COMMA} kg +STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA}{NBSP}ton +STR_UNITS_WEIGHT_LONG_METRIC :{COMMA}{NBSP}ton{P "" nen} +STR_UNITS_WEIGHT_LONG_SI :{COMMA}{NBSP}kg -STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}gal -STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}l -STR_UNITS_VOLUME_SHORT_SI :{COMMA}m³ +STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}{NBSP}gal +STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}{NBSP}l +STR_UNITS_VOLUME_SHORT_SI :{COMMA}{NBSP}m³ -STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA} gallon -STR_UNITS_VOLUME_LONG_METRIC :{COMMA} liter{P "" s} -STR_UNITS_VOLUME_LONG_SI :{COMMA} m³ +STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA}{NBSP}gallon{P "" s} +STR_UNITS_VOLUME_LONG_METRIC :{COMMA}{NBSP}liter{P "" s} +STR_UNITS_VOLUME_LONG_SI :{COMMA}{NBSP}m³ -STR_UNITS_FORCE_IMPERIAL :{COMMA} lbf -STR_UNITS_FORCE_METRIC :{COMMA} kgf -STR_UNITS_FORCE_SI :{COMMA} kN +STR_UNITS_FORCE_IMPERIAL :{COMMA}{NBSP}lbf +STR_UNITS_FORCE_METRIC :{COMMA}{NBSP}kgf +STR_UNITS_FORCE_SI :{COMMA}{NBSP}kN -STR_UNITS_HEIGHT_IMPERIAL :{COMMA} ft -STR_UNITS_HEIGHT_METRIC :{COMMA} m -STR_UNITS_HEIGHT_SI :{COMMA} m +STR_UNITS_HEIGHT_IMPERIAL :{COMMA}{NBSP}ft +STR_UNITS_HEIGHT_METRIC :{COMMA}{NBSP}m +STR_UNITS_HEIGHT_SI :{COMMA}{NBSP}m # Common window strings STR_LIST_FILTER_TITLE :{BLACK}Filtertekst: @@ -248,6 +248,17 @@ STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Skowbalk STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Skowbalke - skow list links/rjochts STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Brek gebouen ensafierder ôf op in stikje lân. Ctrl selektearet it gebiet diagonaal. Shift skeakelt tusken bouwe/taksearje fan de kosten +# Show engines button +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}Ferburgen treinen sjen litte +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK}Ferburgen weinen sjen litte +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}Ferburgen skepen sjen litte +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}Ferburgen fleanmasines sjen litte + +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}Mei it ynskeakelje fan dizze knop wurde ek ferburgen treinen toand +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE_TOOLTIP :{BLACK}Mei it ynskeakelje fan dizze knop wurde ek ferburgen weinen toand +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}Mei it ynskeakelje fan dizze knop wurde ek ferburgen skepen toand +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Mei it ynskeakelje fan dizze knop wurde ek ferburgen fleantúgen toand + # Query window STR_BUTTON_DEFAULT :{BLACK}Standert STR_BUTTON_CANCEL :{BLACK}Annulearje @@ -361,7 +372,7 @@ STR_SCENEDIT_FILE_MENU_QUIT :Ofslute ############ range for settings menu starts STR_SETTINGS_MENU_GAME_OPTIONS :Spulopsjes -STR_SETTINGS_MENU_CONFIG_SETTINGS :Wiidweidiche ynstellings +STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Ynstellings STR_SETTINGS_MENU_SCRIPT_SETTINGS :AI/Spulskriptynstellings STR_SETTINGS_MENU_NEWGRF_SETTINGS :NewGRF-ynstellings STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Trochsichtigensopsjes @@ -470,7 +481,7 @@ STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Skeakel seleksj STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Kleurjen smoarge tegels oan/út ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window STR_ORDINAL_NUMBER_1ST :1st STR_ORDINAL_NUMBER_2ND :2e STR_ORDINAL_NUMBER_3RD :3e @@ -486,22 +497,40 @@ STR_ORDINAL_NUMBER_12TH :12e STR_ORDINAL_NUMBER_13TH :13e STR_ORDINAL_NUMBER_14TH :14e STR_ORDINAL_NUMBER_15TH :15e -STR_ORDINAL_NUMBER_16TH :16e -STR_ORDINAL_NUMBER_17TH :17e -STR_ORDINAL_NUMBER_18TH :18e -STR_ORDINAL_NUMBER_19TH :19e -STR_ORDINAL_NUMBER_20TH :20e -STR_ORDINAL_NUMBER_21ST :21e -STR_ORDINAL_NUMBER_22ND :22e -STR_ORDINAL_NUMBER_23RD :23e -STR_ORDINAL_NUMBER_24TH :24e -STR_ORDINAL_NUMBER_25TH :25e -STR_ORDINAL_NUMBER_26TH :26e -STR_ORDINAL_NUMBER_27TH :27e -STR_ORDINAL_NUMBER_28TH :28e -STR_ORDINAL_NUMBER_29TH :29e -STR_ORDINAL_NUMBER_30TH :30e -STR_ORDINAL_NUMBER_31ST :31e +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :1st +STR_DAY_NUMBER_2ND :2e +STR_DAY_NUMBER_3RD :3e +STR_DAY_NUMBER_4TH :4e +STR_DAY_NUMBER_5TH :5e +STR_DAY_NUMBER_6TH :6e +STR_DAY_NUMBER_7TH :7e +STR_DAY_NUMBER_8TH :8e +STR_DAY_NUMBER_9TH :9e +STR_DAY_NUMBER_10TH :10e +STR_DAY_NUMBER_11TH :11e +STR_DAY_NUMBER_12TH :12e +STR_DAY_NUMBER_13TH :13e +STR_DAY_NUMBER_14TH :14e +STR_DAY_NUMBER_15TH :15e +STR_DAY_NUMBER_16TH :16e +STR_DAY_NUMBER_17TH :17e +STR_DAY_NUMBER_18TH :18e +STR_DAY_NUMBER_19TH :19e +STR_DAY_NUMBER_20TH :20e +STR_DAY_NUMBER_21ST :21e +STR_DAY_NUMBER_22ND :22e +STR_DAY_NUMBER_23RD :23e +STR_DAY_NUMBER_24TH :24e +STR_DAY_NUMBER_25TH :25e +STR_DAY_NUMBER_26TH :26e +STR_DAY_NUMBER_27TH :27e +STR_DAY_NUMBER_28TH :28e +STR_DAY_NUMBER_29TH :29e +STR_DAY_NUMBER_30TH :30e +STR_DAY_NUMBER_31ST :31e ############ range for days ends ############ range for months starts @@ -810,13 +839,12 @@ STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}{VEHICLE STR_NEWS_SHIP_IS_WAITING :{WHITE}{VEHICLE} stiet opsteld yn depot STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE} stiet opsteld yn hangar -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE +# Order review system / warnings STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE} hat te min opdrachten yn it skema stean STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE} hat in leeche opdracht STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE} hat dûbele opdrachten STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE} hat in in ûnjildich stasjon yn syn opdrachten -# end of order system +STR_NEWS_PLANE_USES_TOO_SHORT_RUNWAY :{WHITE}{VEHICLE}Hat in fleanfjild in syn tjinstregeling wêrfan de lâningsbaan te koart is STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} begjint âld te wurden STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} begjint tige âld te wurden @@ -899,10 +927,6 @@ STR_GAME_OPTIONS_CURRENCY_GEL :Georgyske Lari STR_GAME_OPTIONS_CURRENCY_IRR :Iraanske Rial (IRR) ############ end of currency region - -############ start of measuring units region -############ end of measuring units region - STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Weinen STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}Selektearje de kant fan de dyk dêr't weinen ride moatte STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :Lofts ride @@ -938,11 +962,13 @@ STR_GAME_OPTIONS_TOWN_NAME_CATALAN :Katalaansk STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Automatysk opslaan STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Selektearje de interval foar automatysk opslaan +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Ut STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :Eltse moanne STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :Eltse 3 moannen STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :Eltse 6 moannen STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :Eltse 12 moannen +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}Taal STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Selektearje de interfacetaal @@ -954,8 +980,11 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}Skermres STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Selektearje de skermresolutje om te brûken STR_GAME_OPTIONS_RESOLUTION_OTHER :oars -STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}Skermôfbyldingsformaat -STR_GAME_OPTIONS_SCREENSHOT_FORMAT_TOOLTIP :{BLACK}Selektearje it skermôfbyldingsformaat om te brûken +STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Interfacegrutte + +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normaal +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Dûbele grutte +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Fjouwerdûbele grutte STR_GAME_OPTIONS_BASE_GRF :{BLACK}Basisset for ôfbyldings STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Selektearje de basis ôfbyldingsset om te brûken @@ -971,6 +1000,7 @@ STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Selektea STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} korrupt{P "" e} bestân{P "" en} STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Oanfoljende ynformaasje oer de basisset foar musyk +STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Koe gjin list mei brûkbere resolúsjes ophelje STR_ERROR_FULLSCREEN_FAILED :{WHITE}Folslein skermmodus mislearre # Custom currency window @@ -1049,6 +1079,7 @@ STR_TERRAIN_TYPE_VERY_FLAT :Hiel Sljocht STR_TERRAIN_TYPE_FLAT :Sljocht STR_TERRAIN_TYPE_HILLY :Heuvelich STR_TERRAIN_TYPE_MOUNTAINOUS :Bergich +STR_TERRAIN_TYPE_ALPINIST :Alpinist STR_CITY_APPROVAL_PERMISSIVE :Tajouwend STR_CITY_APPROVAL_TOLERANT :Tolerant @@ -1056,8 +1087,8 @@ STR_CITY_APPROVAL_HOSTILE :Fijannich STR_WARNING_NO_SUITABLE_AI :{WHITE}Gjin brûkbere AIs beskikber...{}jo kinne ferskillende AIs downloade fia it 'Online Content' systeem -# Advanced settings window -STR_CONFIG_SETTING_CAPTION :{WHITE}Avansearre ynstellings +# Settings tree window +STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Ynstellings STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Filtertekst: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Alles útklappe STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Alles ynklappe @@ -1073,9 +1104,9 @@ STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :Bedriuwynstelli STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK}Kategory: STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}Type: STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Behein de ûndersteande list ta feroare ynstellings -STR_CONFIG_SETTING_RESTRICT_BASIC :Basisynstellings -STR_CONFIG_SETTING_RESTRICT_ADVANCED :Wiidweidige ynstellings -STR_CONFIG_SETTING_RESTRICT_ALL :Ekspêrynstelltings / alle ynstellings +STR_CONFIG_SETTING_RESTRICT_BASIC :Basisynstellings (allinich wichtige ynstellings sjen litte) +STR_CONFIG_SETTING_RESTRICT_ADVANCED :Wiidweidige ynstellings (measte ynstellings sjen litte) +STR_CONFIG_SETTING_RESTRICT_ALL :Ekspêrynstelltings (alle ynstellings sjen litte, wêrûnder fremde) STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :Ynstellings dy't net op de standerdwaarde stean STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :Ynstellings dy't in oare waarde hawwe as dy foar it nije spul @@ -1130,9 +1161,9 @@ STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Skeakel rampen STR_CONFIG_SETTING_CITY_APPROVAL :Hâlding gemeenten tsjinoer werstrukturearring: {STRING} STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Kies hoe grut ympact fan lûdsoerlêst en omwrâldskea toch bedriuwen is op har reputaasje by de lokale bestjoeren en takomstige konstruksje yn harren mêd -STR_CONFIG_SETTING_BUILDONSLOPES :It boue op in helling tastean: {STRING} -STR_CONFIG_SETTING_BUILDONSLOPES_HELPTEXT :By ynskeakeljen kinne spoarbanen en stasjon op de measte skeantes bout wurde. Oars meie sy allinich bout wurde op skeantes dy't in oerienkommende rjochting hawwe en dêrtroch gjin fûndearrings nedich binne -STR_CONFIG_SETTING_AUTOSLOPE :Omkriten oanpasse under gebouen, spoaren, ensafuorthinne tastean (autoslope): {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :Maksimale kaarthichte: {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :Maksimale tastiene hichte fan bergen op 'e kaart ynstelle +STR_CONFIG_SETTING_AUTOSLOPE :Omkriten oanpasse under gebouen, spoaren, ensafuorthinne tastean: {STRING} STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Stean lânskipsbewurkings ûnder gebouwen en spoarbanen ta sûnder dat dizze ferwidere wurde STR_CONFIG_SETTING_CATCHMENT :Gebrûk meer realistyske hannelsgebieten: {STRING} STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Brûk ferskillende opheinbewâlden foar ferskillende typen stasjons en fleanfjilden @@ -1156,16 +1187,12 @@ STR_CONFIG_SETTING_FORBID_90_DEG :Ferbied treinen STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Bochten fan 90 graden komme foar op it spoar at in horizontale spoarwei folge wurdt troch in fertikaal stik sparwei. In trein soe yn dizze sitewaasje in bocht fan 90 graden meitsje yn stee fan de normale 45 graden. Dizze opsje hat ek effect op de swaaisirkel fan skippen STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Stean it gearfoegjen fan stasjon dy't elkoar net reitsje ta: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Stean it ta nije parten oan in stasjon ta foegjen sûnder dat dizze in besteand diel fan it stasjon oanrekje. Brûk Ctrl+Klik om dizze parten de pleatsen -STR_CONFIG_SETTING_IMPROVEDLOAD :Brûk in ferbetterd laadalgoritme: {STRING} -STR_CONFIG_SETTING_IMPROVEDLOAD_HELPTEXT :By ynskeakeljen wurde meardere fiertugen op ien stasjon efter elkoar laden yn stee fan tagelyk. It laden fan de oare fiertugen begjint pas at der genôch fracht is om it earste fiertúch fol te laden -STR_CONFIG_SETTING_GRADUAL_LOADING :Fiertúgen stadich lade: {STRING} -STR_CONFIG_SETTING_GRADUAL_LOADING_HELPTEXT :Laad fiertugen stadich en op basis fan hja spesifyke eigenskippen yn stee fan allinich op basis fan de hoemannichte fracht dy't oerset wurdt STR_CONFIG_SETTING_INFLATION :Ynflaasje: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :Skeakel ynflaasje foar de ekonomy yn, hjirby gean de kosten justjes hurder omheech as de ynkomsten -STR_CONFIG_SETTING_SELECTGOODS :Fracht allinnich ôflevere op in stasjon at dêr in fraach foar bestiet: {STRING} -STR_CONFIG_SETTING_SELECTGOODS_HELPTEXT :Fracht allinnich oant it stasjon levere at der in oer fiertúch deselde fracht oan it laden is. Dit foarkomt minne wurdearrings foar frachten dy't net troch it stasjon sels ôfhannele wurde STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Maksimale brêgelingte: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Maksimumlingte wêroerst brêgen oanlizze kinst +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :Maksimale brêgehichte: {STRING} +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :Maksimale hichte foar brêgen STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Maksimale tunnellingte: {STRING} STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :Maksimumlingte wêroerst tunnels oanlizze kinst STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Mei de hân te betsjinjen boumetoade foar primêre yndustryen: {STRING} @@ -1191,8 +1218,6 @@ STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Plak wêr't tre STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :oan it ein STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :yn it midden STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :oan it ein -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING :Wachtrijfoarming foar dykfiertugen (mei bywurkingen): {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING_HELPTEXT :Lit dykfiertugen wachtsje by besette haltes oant dizze wer frijkomme STR_CONFIG_SETTING_AUTOSCROLL :Ferskow it skerm at de mûs op de râne is: {STRING} STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :By ynskeakeljen sil it loaitsfinster scrolle at de mûs by de râne fan it finster komt STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Utskeakele @@ -1223,10 +1248,6 @@ STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Stean it bouwen STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Stean it bouwen fan haltes op troch de stêd behearde diken ta STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Stean it bouwen fan haltes op troch in tsjinstanner behearde diken ta {STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Stiet it bouwen fan haltes op troch in tsjinstanner behearde diken ta -STR_CONFIG_SETTING_ADJACENT_STATIONS :Bouwe fan oanbuorjende stasjons tastean: {STRING} -STR_CONFIG_SETTING_ADJACENT_STATIONS_HELPTEXT :Stean ta dat ûnderkate stasjons harren oanreitsje -STR_CONFIG_SETTING_DYNAMIC_ENGINES :Meitsje it mooglik meardere NewGRF-fiertúchsets te brûken: {STRING} -STR_CONFIG_SETTING_DYNAMIC_ENGINES_HELPTEXT :Kompatibiliteitsopsje foar âlde NewGRF's. Feroarje dizze opsje net at jo net witte wat jo dogge! STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}At der fiertugen yn it spul binne kin dizze ynstelling net feroare wurde STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Ynfrastruktuerûnderhâld: {STRING} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :By ynskeakeljen binne der koster ferbûn oan it ûnderhâld fan ynfrastruktuer. De kosten wurde heger by gruttere netwurken wêrtoch gruttere bedriuwen hjir mear lêst fan hawwe @@ -1247,7 +1268,7 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Fiertugen ferin STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :By ynskeakeljen bliuwe alle fiertugen foar ivich beskikber STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Ferfang âlde fiertugen automatysk: {STRING} STR_CONFIG_SETTING_AUTORENEW_VEHICLE_HELPTEXT :By ynskeakeljen wurden fiertugen dy't hast op harren ein binne automatyske ferfongen -STR_CONFIG_SETTING_AUTORENEW_MONTHS :Ferfang in fiertúch at dizze {STRING} +STR_CONFIG_SETTING_AUTORENEW_MONTHS :Ferfang in fiertúch automatysk nei {STRING} maksimale âldens STR_CONFIG_SETTING_AUTORENEW_MONTHS_HELPTEXT :Leeftiid wêrop in fiertúch yn oanmerking komt foar automatysk fernije STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_BEFORE :{COMMA} moanne fan te foaren STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_AFTER :{COMMA} moannen letter @@ -1257,35 +1278,41 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :Doer flatermeld STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Doer fan reade flatermeldings. Guon krityske flater wurde net automatysk ôfsluten STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{COMMA} seconde{P "" s} STR_CONFIG_SETTING_HOVER_DELAY :Arktips sjen litte: {STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Tiid wernei arktips sjen litten wurde at jo de mûs de boppe hâlde. Arktips kinne ek oan de rjochtermûsknop bûn wurde -STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Sweve foar {COMMA} seconde {P "" s} +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Tiid wernei arktips sjen litten wurde at jo de mûs de boppe hâlde. Arktips kinne ek oan de rjochtermûsknop bûn wurde asto dizze wearde op 0 set +STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Sweve foar {COMMA} milliseconde{P "" s} STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Rjochtsklikje STR_CONFIG_SETTING_POPULATION_IN_LABEL :Ynwennertal sjen litte by steden: {STRING} STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Lit it ynwennteral fan steden in harren labels sjen STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Groute fan grafyklijnen: {STRING} STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Widens dan de linen yn de grafiken. Tinne linen binne presyser, groutere linen binne makliker te sjen +STR_CONFIG_SETTING_LANDSCAPE :Lânskip: {STRING} STR_CONFIG_SETTING_LAND_GENERATOR :Lângenerator: {STRING} STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Orizjineel STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis +STR_CONFIG_SETTING_TERRAIN_TYPE :Terreintype: {STRING} +STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(Allinich TerraGenesis) Heuvelichhied fan it lânskip +STR_CONFIG_SETTING_INDUSTRY_DENSITY :Yndustry tichtens: {STRING} STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Maksimale ôfstan fanôf de râne fan 'e kaart foar oaljeraffinaderijen: {STRING} STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Oaljeraffinaderijen wurde allinnich tichtoan de râne fan 'e kaart bout STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Sniehichte: {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Rûgens fan it terrein (allinnich TerraGenesis) : {STRING} +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Rûgens fan it terrein: {STRING} STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Tige glêd STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Glêd STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Rûch STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Tige rûch +STR_CONFIG_SETTING_VARIETY :Fariaasjedistribusje: {STRING} +STR_CONFIG_SETTING_RIVER_AMOUNT :Tal rivieren: {STRING} STR_CONFIG_SETTING_TREE_PLACER :Algoritme foar pleatsing beamen: {STRING} STR_CONFIG_SETTING_TREE_PLACER_NONE :Gjin STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :Orizjineel STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :Ferbettere +STR_CONFIG_SETTING_ROAD_SIDE :Weinen: {STRING} +STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :Kies riidkant STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Hichtekaartrotaasje: {STRING} STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Tsjin de klok yn STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Mei de klok mei STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :De hichte fan in plat senario wurdt: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :Stean it bewurkjen fan de teilen oan de râne fan 'e kaart ta: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES_HELPTEXT :By útskeakeljen sille de de rânen fan de kaart altyd oseaan wêze STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}Ien as meardere teilen oan de noardkant binne net leech STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}Ien as meardere teilen oan de kant binne gjin wetter @@ -1336,17 +1363,15 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Ut STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Scrolle mei lofter mûsknop: {STRING} STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :Skeakel scrollen mei de lofter mûsknop oan. Dit is brûksum foar scollen op oanreitsskermen +STR_CONFIG_SETTING_AUTOSAVE :Automatysk bewarje: {STRING} +STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Selektearje de tiid tusken automatysk bewarje fan it spul + STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Brûk it {STRING} datumformaat yn de nammen fan opsleine splullen STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Datumformaat foar de bestânsnammen fan opsleine spullen STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :lang (31 Dec 2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :koart (31-12-2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE :Standerdpalet dy't brûkt wurde moat foar NewGRF's dy't sels gjin palet spesifisearre: {STRING} -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_HELPTEXT :Standerdpalet dy't brûkt wurde moat foar NewGRF's dy't sels gjin palet spesifisearre -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_DOS :Standerdpalet (D) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_WIN :Erfskippalet (W) - STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Automatysk skoftsje by de start fan in nij spul: {STRING} STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :By ynskeakeljen sil it spul autmatysk skofte wurde at der in nij spul starte wurdt. Dit jout tiid om earst de kaart te besjen STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Under skoft tastean: {STRING} @@ -1355,7 +1380,7 @@ STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :Gjin aksjes STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :Alle net-konstruksje-aksjes STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :Alles útsein lânskipsoanpassings STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_ACTIONS :Alle aksjes -STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Brûk de avansearre fiertugenlist: {STRING} +STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Brûk groepen yn fiertugenlist: {STRING} STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Skeakelje de avansearre fiertugenlist yn foar it groepearren fan fiertugen STR_CONFIG_SETTING_LOADING_INDICATORS :Brûk laadyndikators: {STRING} STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :By ynskeakeljen sille ydikators sjen litten wurde boppe fiertugen dy't oan it yn- as útladen binne @@ -1398,7 +1423,7 @@ STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING :Stean bouwen fa STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING_HELPTEXT :By ynkeakeljen kinst allinnich ynfrastruktuer bouwe foar typen ynfrastruktuer dêr't ek fiertúgen foar beskikber binne. STR_CONFIG_SETTING_MAX_TRAINS :Maksimaal oantal treinen per bedriuw: {STRING} STR_CONFIG_SETTING_MAX_TRAINS_HELPTEXT :Maksimaal oantal treinen dat in bedriuw hawwe mei -STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :Maksimaal oantal auto's per bedriuw: {STRING} +STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :Maksimaal oantal weinen per bedriuw: {STRING} STR_CONFIG_SETTING_MAX_ROAD_VEHICLES_HELPTEXT :Maksimaal oantal auto's dat in bedriuw hawwe kin STR_CONFIG_SETTING_MAX_AIRCRAFT :Maksimaal oantal fleanmasines per bedriuw: {STRING} STR_CONFIG_SETTING_MAX_AIRCRAFT_HELPTEXT :Maksimaal oantal fleanmasines dat in bedriuw hawwe kin @@ -1423,6 +1448,14 @@ STR_CONFIG_SETTING_AI_PROFILE_HARD :Dreech STR_CONFIG_SETTING_AI_IN_MULTIPLAYER :Stea AIs ta yn multiplayer: {STRING} STR_CONFIG_SETTING_SERVINT_ISPERCENT :reperaasje skemas binne yn procenten: {STRING} +STR_CONFIG_SETTING_SERVINT_TRAINS :Standert reparaasjeskema foar treinen: {STRING} +STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Stel it standert reparaasjeskema yn foar nije treinen dy't gjin eigen reparaasjeskema kenne +STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}{P 0 dei dagen}/% +STR_CONFIG_SETTING_SERVINT_DISABLED :Útskeakele +STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES :Standert reparaasjeskema foar weinen: {STRING} +STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES_HELPTEXT :Stel it standert reparaasjeskema yn foar nije weinen dy't gjin eigen reparaasjeskema kenne +STR_CONFIG_SETTING_SERVINT_AIRCRAFT :Standert reparaasjeskema foar fleantúgen: {STRING} +STR_CONFIG_SETTING_SERVINT_AIRCRAFT_HELPTEXT :Stel it standert reparaasjeskema yn foar nije fleantugen dy't gjin eigen reparaasjeskema kenne STR_CONFIG_SETTING_SERVINT_SHIPS :Standerd reparaasjeskema foar skippen: {STRING} STR_CONFIG_SETTING_SERVINT_SHIPS_HELPTEXT :Stel it standerd reparaasjeskema yn foar nije skippen dy't gjin eigen reparaasjeskema kenne STR_CONFIG_SETTING_NOSERVICE :Gjin ûnderhald as stikken gean út steat: {STRING} @@ -1472,6 +1505,9 @@ STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :It jier wêrop STR_CONFIG_SETTING_STARTING_YEAR :Begjin jier: {STRING} STR_CONFIG_SETTING_SMOOTH_ECONOMY :Jou de ekonomy mear lytse veroarings: {STRING} STR_CONFIG_SETTING_ALLOW_SHARES :Stea it keapjen fan oandielen ta: {STRING} +STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY :By slepe, pleats seinen eltse: {STRING} +STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_VALUE :{COMMA} tegel{P 0 "" s} +STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE :By slepe, fêste ôfstân hâlde tusken seinen: {STRING} STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE :Bou semafoor seinen foar it jier: {STRING} STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI :Brûk sein wurkbalk: {STRING} STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE :Type sein dat standaard boud wurdt: {STRING} @@ -1504,7 +1540,13 @@ STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_ALL :Oerol STR_CONFIG_SETTING_TOOLBAR_POS :Plak fan de haad wurkbalk: {STRING} STR_CONFIG_SETTING_STATUSBAR_POS :Posysje fan statusbalke: {STRING} -STR_CONFIG_SETTING_SOFT_LIMIT :Maximum oantal non-sticky finsters: {STRING} +STR_CONFIG_SETTING_SNAP_RADIUS_VALUE :{COMMA} pixel{P 0 "" s} +STR_CONFIG_SETTING_SNAP_RADIUS_DISABLED :Útskeakele +STR_CONFIG_SETTING_SOFT_LIMIT :Maksimaal oantal non-sticky finsters: {STRING} +STR_CONFIG_SETTING_SOFT_LIMIT_VALUE :{COMMA} +STR_CONFIG_SETTING_SOFT_LIMIT_DISABLED :útskeakele +STR_CONFIG_SETTING_ZOOM_MIN :Maksimum zoom in nivo: {STRING} +STR_CONFIG_SETTING_ZOOM_MAX :Maksimum zoom out nivo: {STRING} STR_CONFIG_SETTING_ZOOM_LVL_MIN :4x STR_CONFIG_SETTING_ZOOM_LVL_IN_2X :2x STR_CONFIG_SETTING_ZOOM_LVL_NORMAL :Normaal @@ -1512,13 +1554,14 @@ STR_CONFIG_SETTING_ZOOM_LVL_OUT_2X :2x STR_CONFIG_SETTING_ZOOM_LVL_OUT_4X :4x STR_CONFIG_SETTING_ZOOM_LVL_OUT_8X :8x STR_CONFIG_SETTING_TOWN_GROWTH :Tempo fan stêdsútwreiding: {STRING} +STR_CONFIG_SETTING_TOWN_GROWTH_HELPTEXT :Tempo fan stêdsútwreiding STR_CONFIG_SETTING_TOWN_GROWTH_NONE :gjin STR_CONFIG_SETTING_TOWN_GROWTH_SLOW :langsaam STR_CONFIG_SETTING_TOWN_GROWTH_NORMAL :gewoan STR_CONFIG_SETTING_TOWN_GROWTH_FAST :snel STR_CONFIG_SETTING_TOWN_GROWTH_VERY_FAST :Hiel snel +STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Gjin STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Begjin stêdgrutte fermenigfuldiger: {STRING} -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :Helje frjemde stikken dyk fourt by it bouen fan nije routes: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :hânmjittich STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :asymmetrysk @@ -1554,6 +1597,8 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_SI :SI (kg) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME :Folume-ienheid: {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_HELPTEXT :Wannear't der folumes sichtber binne yn de interface de selektearre ienheiden brûke STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_IMPERIAL :Ymperiaal (gal) +STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_METRIC :Metrysk (l) +STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_SI :SI (m³) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_IMPERIAL :Ymperiaal (lbf) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_METRIC :Metrysk (kgf) @@ -1565,25 +1610,27 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :Ymperiaal (ft) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :Metrysk (m) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :SI (m) -STR_CONFIG_SETTING_GUI :{ORANGE}Interface STR_CONFIG_SETTING_LOCALISATION :{ORANGE}Lokalisaasje -STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}konstruksje +STR_CONFIG_SETTING_GRAPHICS :{ORANGE}Ôfbyldings +STR_CONFIG_SETTING_SOUND :{ORANGE}Lûd +STR_CONFIG_SETTING_INTERFACE :{ORANGE}Interface +STR_CONFIG_SETTING_INTERFACE_GENERAL :{ORANGE}Algemien +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}konstruksje +STR_CONFIG_SETTING_ADVISORS :{ORANGE}Nijs / Adviseurs +STR_CONFIG_SETTING_COMPANY :{ORANGE}Bedriuw STR_CONFIG_SETTING_VEHICLES :{ORANGE}Auto's -STR_CONFIG_SETTING_STATIONS :{ORANGE}Stasjons -STR_CONFIG_SETTING_ECONOMY :{ORANGE}Ekonomy -STR_CONFIG_SETTING_LINKGRAPH :{ORANGE}Frachtdistribusje -STR_CONFIG_SETTING_AI :{ORANGE}Tsjinstânners -STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}Lit moglikheden sjen -STR_CONFIG_SETTING_INTERACTION :{ORANGE}Interaksje -STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}Seinen -STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE}Fracht ôfhanneling -STR_CONFIG_SETTING_AI_NPC :{ORANGE}Computer spilers -STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE}Automatysk fernije -STR_CONFIG_SETTING_VEHICLES_SERVICING :{ORANGE}Ûnderhâld +STR_CONFIG_SETTING_VEHICLES_PHYSICS :{ORANGE}Natuerkundig model STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Route -STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}Treinen -STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}Stêd -STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}yndustryen +STR_CONFIG_SETTING_LIMITATIONS :{ORANGE}Beheinings +STR_CONFIG_SETTING_ACCIDENTS :{ORANGE}Rampen / Ûngelokken +STR_CONFIG_SETTING_GENWORLD :{ORANGE}Wrâldgeneraasje +STR_CONFIG_SETTING_ENVIRONMENT :{ORANGE}Omwrâld +STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :{ORANGE}Autoriteiten +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Stêd +STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}yndustryen +STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :{ORANGE}Frachtdistribusje +STR_CONFIG_SETTING_AI :{ORANGE}Tsjinstânners +STR_CONFIG_SETTING_AI_NPC :{ORANGE}Computer spilers STR_CONFIG_SETTING_PATHFINDER_OPF :Orizjiniel STR_CONFIG_SETTING_PATHFINDER_NPF :NPF @@ -1594,9 +1641,13 @@ STR_CONFIG_SETTING_PATHFINDER_FOR_ROAD_VEHICLES :Pathfinder foar STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS :Pathfinder foar skippen: {STRING} STR_CONFIG_SETTING_REVERSE_AT_SIGNALS :Omkeare fan treinen by seinen: {STRING} -STR_CONFIG_SETTING_QUERY_CAPTION :{WHITE}veroarje wearde +STR_CONFIG_SETTING_QUERY_CAPTION :{WHITE}Feroarje wearde # Config errors +STR_CONFIG_ERROR_ARRAY :{WHITE}... flater in reeks '{STRING}' +STR_CONFIG_ERROR_INVALID_VALUE :{WHITE}... ûnjildige wearde '{STRING}' foar '{STRING}' +STR_CONFIG_ERROR_INVALID_GRF_INCOMPATIBLE :Dat strykt net mei dizze ferzje fan OpenTTD +STR_CONFIG_ERROR_INVALID_GRF_UNKNOWN :ûnbekind # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -1609,9 +1660,11 @@ STR_INTRO_SCENARIO_EDITOR :{BLACK}Lânskip STR_INTRO_MULTIPLAYER :{BLACK}Multispiler STR_INTRO_GAME_OPTIONS :{BLACK}Spul Opsjes -STR_INTRO_ADVANCED_SETTINGS :{BLACK}Avansearre ynstellings +STR_INTRO_HIGHSCORE :{BLACK}Topskoretabel +STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Ynstellings STR_INTRO_NEWGRF_SETTINGS :{BLACK}NewGRF ynstellings STR_INTRO_ONLINE_CONTENT :{BLACK}Sikje online ynhâld +STR_INTRO_SCRIPT_SETTINGS :{BLACK}AI/Spulskriptynstellings STR_INTRO_QUIT :{BLACK}Ôfslúte STR_INTRO_TOOLTIP_NEW_GAME :{BLACK}Begjin in nei spul. Ctrl + klik slaat kaartynstelling oer @@ -1627,9 +1680,11 @@ STR_INTRO_TOOLTIP_SUB_TROPICAL_LANDSCAPE :{BLACK}Selektea STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Selektear 'boartersguodlân' lânskip STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Lit spul opsjes sjen -STR_INTRO_TOOLTIP_ADVANCED_SETTINGS :{BLACK}Lit avansearre ynstellings sjen +STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Topskoretabel sjen litte +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Ynstellings sjen litte STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Lit NewGRF ynstellings sjen STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Strún ynternet ôf om nije ynhâld del te heljen +STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}AI/Spulskriptynstellings sjen litte STR_INTRO_TOOLTIP_QUIT :{BLACK}Slút 'OpenTTD' ôf @@ -1664,6 +1719,7 @@ STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Spielje STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Gigantyske sloopmodus: {ORANGE}{STRING} STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}Tunnels Meie inoar krúse: {ORANGE}{STRING} STR_CHEAT_NO_JETCRASH :{LTBLUE}Grutte fleantúgen stoarte net faak del op lytse fleanfjilden: {ORANGE}{STRING} +STR_CHEAT_EDIT_MAX_HL :{LTBLUE}Feroarje de maksimale kaarthichte: {ORANGE}{NUM} STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE :Gêrs lânskip STR_CHEAT_SWITCH_CLIMATE_SUB_ARCTIC_LANDSCAPE :Snie lânskip STR_CHEAT_SWITCH_CLIMATE_SUB_TROPICAL_LANDSCAPE :Sub-tropysk lânskip @@ -1710,18 +1766,23 @@ STR_LIVERY_FREIGHT_TRAM :Fracht Tram STR_FACE_CAPTION :{WHITE}Gesicthseleksje STR_FACE_CANCEL_TOOLTIP :{BLACK}Nije gesichtseleksje annulearje STR_FACE_OK_TOOLTIP :{BLACK}Akseptear nije gesichtseleksje +STR_FACE_RANDOM :{BLACK}Samar wat STR_FACE_MALE_BUTTON :{BLACK}Man STR_FACE_MALE_TOOLTIP :{BLACK}Selektear manlike gesichten STR_FACE_FEMALE_BUTTON :{BLACK}Frou STR_FACE_FEMALE_TOOLTIP :{BLACK}Selektear froulike gesichten STR_FACE_NEW_FACE_BUTTON :{BLACK}Nei Gesicht -STR_FACE_NEW_FACE_TOOLTIP :{BLACK}Meistje willekeurich nij gesicht +STR_FACE_NEW_FACE_TOOLTIP :{BLACK}Meitsje samar in nij gesicht STR_FACE_ADVANCED :{BLACK}Afansjearre +STR_FACE_ADVANCED_TOOLTIP :{BLACK}Wiidweidige gesichtseleksje +STR_FACE_SIMPLE :{BLACK}Simpel +STR_FACE_SIMPLE_TOOLTIP :{BLACK}Ienfâldige gesichtseleksje STR_FACE_LOAD :{BLACK}Laad STR_FACE_LOAD_TOOLTIP :{BLACK}Laad standaard gesicht STR_FACE_FACECODE :{BLACK}Spielers gesicht noemer STR_FACE_SAVE :{BLACK}Opslaan +STR_FACE_SAVE_TOOLTIP :{BLACK}Favorite gesicht opslaan STR_FACE_EUROPEAN :{BLACK}Jeropeesk STR_FACE_SELECT_EUROPEAN :{BLACK}Selektearje jeropeeske gesichten STR_FACE_AFRICAN :{BLACK}Afrikaans @@ -1731,8 +1792,27 @@ STR_FACE_NO :# STR_FACE_MOUSTACHE_EARRING_TOOLTIP :{BLACK}Snorren en earbellen STR_FACE_HAIR :Hier: STR_FACE_HAIR_TOOLTIP :{BLACK}Veroarje hier +STR_FACE_EYEBROWS :Wynbrauwen: +STR_FACE_EYEBROWS_TOOLTIP :{BLACK}Wynbrauwen feroarje STR_FACE_EYECOLOUR :Kleur eagen: +STR_FACE_EYECOLOUR_TOOLTIP :{BLACK}Feroarje eechkleur STR_FACE_GLASSES :Bril: +STR_FACE_GLASSES_TOOLTIP :{BLACK}Bril oansette +STR_FACE_GLASSES_TOOLTIP_2 :{BLACK}Bril feroarje +STR_FACE_NOSE :Noas: +STR_FACE_NOSE_TOOLTIP :{BLACK}Noas feroarje +STR_FACE_LIPS :Lippen: +STR_FACE_MOUSTACHE :Snor: +STR_FACE_LIPS_MOUSTACHE_TOOLTIP :{BLACK}Feroarje lippen of snor +STR_FACE_CHIN :Kin: +STR_FACE_CHIN_TOOLTIP :{BLACK}Feroarje kin +STR_FACE_JACKET :Jas: +STR_FACE_JACKET_TOOLTIP :{BLACK}Feroarje jas +STR_FACE_COLLAR :Kraach: +STR_FACE_COLLAR_TOOLTIP :{BLACK}Feroarje kraach +STR_FACE_TIE :Strik: +STR_FACE_EARRING :Earbel: +STR_FACE_TIE_EARRING_TOOLTIP :{BLACK}Feroarje strik of earbel # Network server list STR_NETWORK_SERVER_LIST_CAPTION :{WHITE}Multiplayer @@ -1757,28 +1837,36 @@ STR_NETWORK_SERVER_LIST_LANGUAGE :{SILVER}Taal: { STR_NETWORK_SERVER_LIST_LANDSCAPE :{SILVER}Lânskip: {WHITE}{STRING} STR_NETWORK_SERVER_LIST_MAP_SIZE :{SILVER}Lângrutte: {WHITE}{COMMA}x{COMMA} STR_NETWORK_SERVER_LIST_SERVER_VERSION :{SILVER}Tsjinnerferzje: {WHITE}{STRING} -STR_NETWORK_SERVER_LIST_SERVER_ADDRESS :{SILVER}Server adres: {WHITE}{STRING} +STR_NETWORK_SERVER_LIST_SERVER_ADDRESS :{SILVER}Tsjinneradres: {WHITE}{STRING} STR_NETWORK_SERVER_LIST_START_DATE :{SILVER}Start datum: {WHITE}{DATE_SHORT} STR_NETWORK_SERVER_LIST_SERVER_OFFLINE :{SILVER}SERVER NET BESKIKBER STR_NETWORK_SERVER_LIST_SERVER_FULL :{SILVER}SERVER VOL STR_NETWORK_SERVER_LIST_VERSION_MISMATCH :{SILVER}FERKEARDE FERZJE +STR_NETWORK_SERVER_LIST_GRF_MISMATCH :{SILVER}FERKEARDE NEWGRF +STR_NETWORK_SERVER_LIST_FIND_SERVER :{BLACK}Server sykje STR_NETWORK_SERVER_LIST_ADD_SERVER :{BLACK}Tsjinner tafoegje STR_NETWORK_SERVER_LIST_START_SERVER :{BLACK}Start tsjinner STR_NETWORK_SERVER_LIST_START_SERVER_TOOLTIP :{BLACK}Start dien eigen tsjinner +STR_NETWORK_SERVER_LIST_PLAYER_NAME_OSKTITLE :{BLACK}Fier dyn namme in # Start new multiplayer server STR_NETWORK_START_SERVER_CAPTION :{WHITE}Start in spul foar multispilers STR_NETWORK_START_SERVER_NEW_GAME_NAME :{BLACK}Spulnamme: +STR_NETWORK_START_SERVER_SET_PASSWORD :{BLACK}Wachtwurd ynstelle STR_NETWORK_START_SERVER_UNADVERTISED :Nee STR_NETWORK_START_SERVER_ADVERTISED :Ja +STR_NETWORK_START_SERVER_COMPANIES_SELECT :{BLACK}{NUM} bedriuw{P "" en} +STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}Maksimaal tal bedriuwen: STR_NETWORK_START_SERVER_SPECTATORS_SELECT :{BLACK}{NUM} taskôger{P "" s} STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS :{BLACK}Maksimaal tal taskôgers: +STR_NETWORK_START_SERVER_LANGUAGE_SPOKEN :{BLACK}Sprutsen taal: +STR_NETWORK_START_SERVER_NEW_GAME_NAME_OSKTITLE :{BLACK}Fier in namme yn foar it networkspul # Network game languages ############ Leave those lines in this order!! @@ -1823,25 +1911,41 @@ STR_NETWORK_LANG_LATVIAN :Letsk # Network game lobby +STR_NETWORK_GAME_LOBBY_COMPANY_INFO :{SILVER}BEDRIUWSYNFORMAASJE +STR_NETWORK_GAME_LOBBY_COMPANY_NAME :{SILVER}Bedriuwsnamme: {WHITE}{STRING} +STR_NETWORK_GAME_LOBBY_VALUE :{SILVER}Bedriuwswearde: {WHITE}{CURRENCY_LONG} STR_NETWORK_GAME_LOBBY_PERFORMANCE :{SILVER}Prestaasje: {WHITE}{NUM} STR_NETWORK_GAME_LOBBY_VEHICLES :{SILVER}Auto's: {WHITE}{NUM} {TRAIN}, {NUM} {LORRY}, {NUM} {BUS}, {NUM} {SHIP}, {NUM} {PLANE} STR_NETWORK_GAME_LOBBY_STATIONS :{SILVER}Stasjons: {WHITE}{NUM} {TRAIN}, {NUM} {LORRY}, {NUM} {BUS}, {NUM} {SHIP}, {NUM} {PLANE} STR_NETWORK_GAME_LOBBY_PLAYERS :{SILVER}Spilers: {WHITE}{STRING} +STR_NETWORK_GAME_LOBBY_NEW_COMPANY :{BLACK}Nei Bedriuw +STR_NETWORK_GAME_LOBBY_NEW_COMPANY_TOOLTIP :{BLACK}Nei bedriuw oprjochtsje +STR_NETWORK_GAME_LOBBY_SPECTATE_GAME :{BLACK}Spul taskôgje +STR_NETWORK_GAME_LOBBY_SPECTATE_GAME_TOOLTIP :{BLACK}Spul besjen as taskôger # Network connecting window STR_NETWORK_CONNECTING_CAPTION :{WHITE}Ferbyning meitsje... ############ Leave those lines in this order!! STR_NETWORK_CONNECTING_1 :{BLACK}(1/6) Ferbyning meitsje... +STR_NETWORK_CONNECTING_2 :{BLACK}(2/6) Autorisearje... +STR_NETWORK_CONNECTING_3 :{BLACK}(3/6) Wachtsje... STR_NETWORK_CONNECTING_4 :{BLACK}(4/6) Lân delhelje... +STR_NETWORK_CONNECTING_5 :{BLACK}(5/6) Data ferwurkje... +STR_NETWORK_CONNECTING_6 :{BLACK}(6/6) Registrearje... +STR_NETWORK_CONNECTING_SPECIAL_1 :{BLACK}Spulynformaasje ophelje... +STR_NETWORK_CONNECTING_SPECIAL_2 :{BLACK}Bedriuwsynformaasje ophelje... ############ End of leave-in-this-order STR_NETWORK_CONNECTING_DOWNLOADING_1 :{BLACK}{BYTES} Delhelle oant STR_NETWORK_CONNECTING_DOWNLOADING_2 :{BLACK}{BYTES} / {BYTES} delhelle +STR_NETWORK_CONNECTION_DISCONNECT :{BLACK}Ferbining ferbrekke +STR_NETWORK_NEED_GAME_PASSWORD_CAPTION :{WHITE}Tsjinner is beskerme. Fier wachtwurd yn +STR_NETWORK_NEED_COMPANY_PASSWORD_CAPTION :{WHITE}Bedriuw is beskerme. Fier wachtwurd yn # Network company list added strings STR_NETWORK_COMPANY_LIST_SPECTATE :{WHITE}Taskôgje @@ -1850,15 +1954,20 @@ STR_NETWORK_COMPANY_LIST_NEW_COMPANY :{WHITE}Nei Bedr # Network client list STR_NETWORK_CLIENTLIST_KICK :Skoppe STR_NETWORK_CLIENTLIST_GIVE_MONEY :Jouw jild +STR_NETWORK_CLIENTLIST_SPEAK_TO_CLIENT :Priveeberjocht STR_NETWORK_SERVER :Tsjinner +STR_NETWORK_SPECTATORS :Taskôgers STR_NETWORK_TOOLBAR_LIST_SPECTATOR :{BLACK}Taskôger # Network set password +STR_COMPANY_PASSWORD_CAPTION :{WHITE}Bedriuwswachtwurd # Network company info join/password STR_COMPANY_VIEW_JOIN :{BLACK}Mei spielje +STR_COMPANY_VIEW_PASSWORD :{BLACK}Wachtwurd +STR_COMPANY_VIEW_SET_PASSWORD :{BLACK}Bedriuwswachtwurd ynstelle # Network chat STR_NETWORK_CHAT_SEND :{BLACK}Stjoer @@ -1873,30 +1982,53 @@ STR_NETWORK_CHAT_TO_CLIENT :[Privee] Nei {S STR_NETWORK_CHAT_ALL :[Yderiin] {STRING}: {WHITE}{STRING} # Network messages +STR_NETWORK_ERROR_NOSERVER :{WHITE}Koe gjin networkspullen fine +STR_NETWORK_ERROR_LOSTCONNECTION :{WHITE}Networkspul ferbining kwyt +STR_NETWORK_ERROR_SAVEGAMEERROR :{WHITE}Koe opslein spul net laden STR_NETWORK_ERROR_SERVER_START :{WHITE}Koe de tsjinner net starte STR_NETWORK_ERROR_CLIENT_START :{WHITE}Koe gjin ferbyning meitsje +STR_NETWORK_ERROR_TIMEOUT :{WHITE}Ferbining #{NUM} ferrûn +STR_NETWORK_ERROR_WRONG_PASSWORD :{WHITE}Ferkeard wachtwurd +STR_NETWORK_ERROR_SERVER_FULL :{WHITE}De tsjinner is vol STR_NETWORK_ERROR_TOO_MANY_COMMANDS :{WHITE}Do stjoerst tevolle opdrachten ny de server ############ Leave those lines in this order!! STR_NETWORK_ERROR_CLIENT_GENERAL :algemiene flater STR_NETWORK_ERROR_CLIENT_SAVEGAME :koe it lân net lade +STR_NETWORK_ERROR_CLIENT_CONNECTION_LOST :ferbining kwyt +STR_NETWORK_ERROR_CLIENT_NEWGRF_MISMATCH :Ferkearde NewGRF +STR_NETWORK_ERROR_CLIENT_NOT_AUTHORIZED :net autorisearre +STR_NETWORK_ERROR_CLIENT_NOT_EXPECTED :ûnjildich of ûnferwacht pakket ûnfange +STR_NETWORK_ERROR_CLIENT_WRONG_REVISION :ferkearde revyzje +STR_NETWORK_ERROR_CLIENT_NAME_IN_USE :namme is al beset +STR_NETWORK_ERROR_CLIENT_WRONG_PASSWORD :ferkeard wachtwurd STR_NETWORK_ERROR_CLIENT_TOO_MANY_COMMANDS :joech tevolle opdrachten +STR_NETWORK_ERROR_CLIENT_TIMEOUT_MAP :kaart delheljen duorret te lang +STR_NETWORK_ERROR_CLIENT_TIMEOUT_JOIN :kaart ferwurkje duorret te lang ############ End of leave-in-this-order STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Mooglik ferbinning kwyt -STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}De lêste{NUM} secondes {P "" s} is gjin data oankom fan e server +STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}De lêste{NUM} seconde{P "" s} is gjin data oankom fan e server # Network related errors STR_NETWORK_SERVER_MESSAGE :*** {1:STRING} ############ Leave those lines in this order!! +STR_NETWORK_SERVER_MESSAGE_GAME_REASON_MANUAL :hânmjittich +STR_NETWORK_SERVER_MESSAGE_GAME_REASON_GAME_SCRIPT :spulskript ############ End of leave-in-this-order STR_NETWORK_MESSAGE_CLIENT_JOINED_ID :*** {STRING} der is ien bykommen(Client #{2:NUM}) STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} is in neie taskôger STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} hat syn/har namme oanpast nei {STRING} +STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Tsjinner hat de ferbining sluten # Content downloading window +STR_CONTENT_TITLE :{WHITE}Ynhâld delheljen STR_CONTENT_TYPE_CAPTION :{BLACK}Type STR_CONTENT_NAME_CAPTION :{BLACK}Namme +STR_CONTENT_SELECT_ALL_CAPTION :{BLACK}Alles selektearje +STR_CONTENT_UNSELECT_ALL_CAPTION :{BLACK}Alles deselektearje +STR_CONTENT_OPEN_URL :{BLACK}Webside besykje +STR_CONTENT_OPEN_URL_TOOLTIP :{BLACK}Webside foar dizze ynhâld besykje STR_CONTENT_DOWNLOAD_CAPTION :{BLACK}Delhelje STR_CONTENT_DETAIL_NAME :{SILVER}Namme: {WHITE}{STRING} STR_CONTENT_DETAIL_VERSION :{SILVER}Ferzje: {WHITE}{STRING} @@ -1904,14 +2036,17 @@ STR_CONTENT_DETAIL_DESCRIPTION :{SILVER}Beskriu STR_CONTENT_DETAIL_URL :{SILVER}URL: {WHITE}{STRING} STR_CONTENT_DETAIL_TYPE :{SILVER}Type: {WHITE}{STRING} STR_CONTENT_DETAIL_FILESIZE :{SILVER}Bestângrutte: {WHITE}{BYTES} +STR_CONTENT_NO_ZLIB_SUB :{WHITE}... delheljen fan dizze ynhâld is net mooglik # Order of these is important! STR_CONTENT_TYPE_NEWGRF :NewGRF STR_CONTENT_TYPE_AI :AI STR_CONTENT_TYPE_SCENARIO :Lânskip STR_CONTENT_TYPE_HEIGHTMAP :Hichtemap +STR_CONTENT_TYPE_GAME_SCRIPT :Spulskript # Content downloading progress window +STR_CONTENT_DOWNLOAD_TITLE :{WHITE}Ynhâld delheljen... STR_CONTENT_DOWNLOAD_INITIALISE :{WHITE}Freechet bestânen an... STR_CONTENT_DOWNLOAD_FILE :{WHITE}Besich met delheljen fan {STRING} ({NUM} fan {NUM}) STR_CONTENT_DOWNLOAD_COMPLETE :{WHITE}Delheljen dien @@ -1923,8 +2058,12 @@ STR_CONTENT_ERROR_COULD_NOT_DOWNLOAD_CONNECTION_LOST :{WHITE}... ferb STR_CONTENT_ERROR_COULD_NOT_DOWNLOAD_FILE_NOT_WRITABLE :{WHITE}... bestân koe net opslein wurde STR_CONTENT_ERROR_COULD_NOT_EXTRACT :{WHITE}Kin it delhelle bestân net útpakke +STR_MISSING_GRAPHICS_SET_CAPTION :{WHITE}Missende ôfbyldings +STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Ja, ôfbyldings delheljen +STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}Nee, OpenTTD ôfslute # Transparency settings window +STR_TRANSPARENCY_CAPTION :{WHITE}Trochsichtigenopsjes # Linkgraph legend window STR_LINKGRAPH_LEGEND_CAPTION :{BLACK}Frachtstreamleginda @@ -1944,12 +2083,15 @@ STR_STATION_BUILD_ACCEPTS_CARGO :{BLACK}Akseptea STR_STATION_BUILD_SUPPLIES_CARGO :{BLACK}Levert: {GOLD}{CARGO_LIST} # Join station window +STR_JOIN_STATION_CAPTION :{WHITE}Stasjon gearfoegje +STR_JOIN_STATION_CREATE_SPLITTED_STATION :{YELLOW}In apart stasjon bouwe STR_JOIN_WAYPOINT_CAPTION :{WHITE}Kontrôlepost gearfoegje STR_JOIN_WAYPOINT_CREATE_SPLITTED_WAYPOINT :{YELLOW}In apart kontrôlepost bouwe # Rail construction toolbar STR_RAIL_TOOLBAR_RAILROAD_CONSTRUCTION_CAPTION :Spoarwei Konstruksje +STR_RAIL_TOOLBAR_ELRAIL_CONSTRUCTION_CAPTION :Elektrifisearre Spoarwei Bouwe STR_RAIL_TOOLBAR_MONORAIL_CONSTRUCTION_CAPTION :Monorail Konstruksje STR_RAIL_TOOLBAR_MAGLEV_CONSTRUCTION_CAPTION :Maglev Konstruksje @@ -1962,6 +2104,10 @@ STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Bou in s STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Bou in spoartunnel STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Set bouen/fuortheljen foar spoaren en stopljochten oan/út +STR_RAIL_NAME_RAILROAD :Spoarwei +STR_RAIL_NAME_ELRAIL :Elektrifisearre spoarwei +STR_RAIL_NAME_MONORAIL :Monorail +STR_RAIL_NAME_MAGLEV :Maglev # Rail depot construction window STR_BUILD_DEPOT_TRAIN_ORIENTATION_CAPTION :{WHITE}Treindepot Rjochting @@ -1974,15 +2120,20 @@ STR_WAYPOINT_GRAPHICS_TOOLTIP :{BLACK}Selectea # Rail station construction window STR_STATION_BUILD_RAIL_CAPTION :{WHITE}Treinstasjon Seleksje STR_STATION_BUILD_ORIENTATION :{BLACK}Rjochting +STR_STATION_BUILD_RAILROAD_ORIENTATION_TOOLTIP :{BLACK}Selektearje oriïntaasje fan treinstasjon STR_STATION_BUILD_NUMBER_OF_TRACKS :{BLACK}Oantal banen STR_STATION_BUILD_NUMBER_OF_TRACKS_TOOLTIP :{BLACK}Selektear oantal banen foar treinstasjon STR_STATION_BUILD_PLATFORM_LENGTH :{BLACK}Stasjon lengte STR_STATION_BUILD_PLATFORM_LENGTH_TOOLTIP :{BLACK}Selektear lengte fan treinstasjon +STR_STATION_BUILD_STATION_TYPE_TOOLTIP :{BLACK}Selektearje type stasjon om te bouwe +STR_STATION_CLASS_DFLT :Standert stasjon STR_STATION_CLASS_WAYP :Kontrôleposten # Signal window +STR_BUILD_SIGNAL_CAPTION :{WHITE}Seinseleksje +STR_BUILD_SIGNAL_SEMAPHORE_NORM_TOOLTIP :{BLACK}Bloksein (semafoar){}Dit is it ienfâldigste type sein wat mar ien trein in in blok tasteat # Bridge selection window STR_SELECT_RAIL_BRIDGE_CAPTION :{WHITE}Selektear Spoarbrêge @@ -2001,6 +2152,7 @@ STR_BRIDGE_NAME_TUBULAR_STEEL :Buis, Stiel # Road construction toolbar STR_ROAD_TOOLBAR_ROAD_CONSTRUCTION_CAPTION :{WHITE}Wegenbou +STR_ROAD_TOOLBAR_TRAM_CONSTRUCTION_CAPTION :{WHITE}Tramwei Konstruksje STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_SECTION :{BLACK}Bou wei STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Bou autodepot (om auto's te bouen en te únderhâlden) STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}Bou busstasjon @@ -2012,10 +2164,20 @@ STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_ROAD :{BLACK}Wikselje # Road depot construction window STR_BUILD_DEPOT_ROAD_ORIENTATION_CAPTION :{WHITE}Autodepot rjochting STR_BUILD_DEPOT_ROAD_ORIENTATION_SELECT_TOOLTIP :{BLACK}Kies rjochting foar autodepot +STR_BUILD_DEPOT_TRAM_ORIENTATION_CAPTION :{WHITE}Tramdepot Rjochting +STR_BUILD_DEPOT_TRAM_ORIENTATION_SELECT_TOOLTIP :{BLACK}Kies rjochting foar tramdepot # Road vehicle station construction window +STR_STATION_BUILD_BUS_ORIENTATION :{WHITE}Busstation Rjochting +STR_STATION_BUILD_BUS_ORIENTATION_TOOLTIP :{BLACK}Selektearje rjochting fan busstasjon +STR_STATION_BUILD_TRUCK_ORIENTATION :{WHITE}Frachtstasjon Rjochting +STR_STATION_BUILD_CARGO_TRAM_ORIENTATION :{WHITE}Rjochting fan Tramstasjon +STR_STATION_BUILD_CARGO_TRAM_ORIENTATION_TOOLTIP :{BLACK}Kies rjochting fan frachttramstasjon # Waterways toolbar (last two for SE only) +STR_WATERWAYS_TOOLBAR_CAPTION :{WHITE}Wetterwei Konstruksje +STR_WATERWAYS_TOOLBAR_CAPTION_SE :{WHITE}Wetterwei +STR_WATERWAYS_TOOLBAR_BUILD_AQUEDUCT_TOOLTIP :{BLACK}Bou akwadukt. Shift skeakelt tusken bouwe/taksearje fan de kosten STR_WATERWAYS_TOOLBAR_CREATE_LAKE_TOOLTIP :{BLACK}Tsjut wettergebied oan.{}Meitsje in kanaal, of ast' Ctrl op seenivo yndrukst, dan oerstreamt it gebied deromhinne STR_WATERWAYS_TOOLBAR_CREATE_RIVER_TOOLTIP :{BLACK}Rivier pleatse. @@ -2025,9 +2187,11 @@ STR_WATERWAYS_TOOLBAR_CREATE_RIVER_TOOLTIP :{BLACK}Rivier p STR_STATION_BUILD_DOCK_CAPTION :{WHITE}Haven # Airport toolbar +STR_TOOLBAR_AIRCRAFT_CAPTION :{WHITE}Fleanfjilden # Airport construction window STR_STATION_BUILD_AIRPORT_CAPTION :{WHITE}Fleanfjild Seleksje +STR_STATION_BUILD_AIRPORT_TOOLTIP :{BLACK}Kies grutte/type fleanfjild STR_STATION_BUILD_AIRPORT_LAYOUT_NAME :{BLACK}Patroan {NUM} STR_AIRPORT_SMALL :Lyts @@ -2073,6 +2237,7 @@ STR_TERRAFORM_TOOLTIP_DEFINE_DESERT_AREA :{BLACK}Definiea STR_TERRAFORM_TOOLTIP_INCREASE_SIZE_OF_LAND_AREA :{BLACK}Fergrutsje gebiet om te ferheegjen/ferleegjen STR_TERRAFORM_TOOLTIP_DECREASE_SIZE_OF_LAND_AREA :{BLACK}Ferlyts gebiet om te ferheegjen/ferleegjen STR_TERRAFORM_TOOLTIP_GENERATE_RANDOM_LAND :{BLACK}Meitsje samar wat lân +STR_TERRAFORM_SE_NEW_WORLD :{BLACK}Nij senario meitsje STR_TERRAFORM_RESET_LANDSCAPE :{BLACK}Set it lânskip werom STR_TERRAFORM_RESET_LANDSCAPE_TOOLTIP :{BLACK}Alle spilerbesittings fan'e kaart fuortsmite @@ -2112,6 +2277,8 @@ STR_FOUND_TOWN_SELECT_LAYOUT_RANDOM :{BLACK}Samar # Fund new industry window STR_FUND_INDUSTRY_CAPTION :{WHITE}Betelje nije yndustry STR_FUND_INDUSTRY_INDUSTRY_BUILD_COST :{BLACK}Kostet: {YELLOW}{CURRENCY_LONG} +STR_FUND_INDUSTRY_BUILD_NEW_INDUSTRY :{BLACK}Bouwe +STR_FUND_INDUSTRY_FUND_NEW_INDUSTRY :{BLACK}Finansierje # Industry cargoes window STR_INDUSTRY_CARGOES_CUSTOMERS :{WHITE}Yndustry aksepteare @@ -2119,6 +2286,10 @@ STR_INDUSTRY_CARGOES_HOUSES :{WHITE}Hûzen STR_INDUSTRY_DISPLAY_CHAIN :{BLACK}Lit produksjeketting sjen STR_INDUSTRY_DISPLAY_CHAIN_TOOLTIP :{BLACK}Lit it oanbod en akseptaasje fan yndustrie sjen STR_INDUSTRY_CARGOES_NOTIFY_SMALLMAP :{BLACK}Link ny de lytse map +STR_INDUSTRY_CARGOES_SELECT_CARGO :{BLACK}Fracht selektearje +STR_INDUSTRY_CARGOES_SELECT_CARGO_TOOLTIP :{BLACK}Selektearje de fracht om sjen te litte +STR_INDUSTRY_CARGOES_SELECT_INDUSTRY :{BLACK}Selektearje yndustry +STR_INDUSTRY_CARGOES_SELECT_INDUSTRY_TOOLTIP :{BLACK}Selektearje de yndustry om sjen te litte # Land area window STR_LAND_AREA_INFORMATION_CAPTION :{WHITE}Lân Gebiet Ynformaasje @@ -2132,9 +2303,11 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Tramdyke STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Treinsporteigener: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Gemiente: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Neat +STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Boud: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_AIRPORT_CLASS :{BLACK}Fleanfjild klasse: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_AIRPORT_NAME :{BLACK}Fleanfjild namme: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_AIRPORTTILE_NAME :{BLACK}Fleanfjild tile namme: {LTBLUE}{STRING} +STR_LAND_AREA_INFORMATION_NEWGRF_NAME :{BLACK}NewGRF: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Akseptearre fracht: {LTBLUE} STR_LAND_AREA_INFORMATION_CARGO_EIGHTS :({COMMA}/8 {STRING}) STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Faasjelimyt spoar: {LTBLUE}{VELOCITY} @@ -2235,7 +2408,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-2014 It OpenTTD team +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2015 It OpenTTD team # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Spul Opslaan @@ -2253,7 +2426,8 @@ STR_SAVELOAD_DELETE_TOOLTIP :{BLACK}It no se STR_SAVELOAD_SAVE_BUTTON :{BLACK}Opslaan STR_SAVELOAD_SAVE_TOOLTIP :{BLACK}It hjoeddeisk spul opslaan ûnder de selektearre namme STR_SAVELOAD_LOAD_BUTTON :{BLACK}Laad -STR_SAVELOAD_LOAD_TOOLTIP :{BLACK}Laad selektjeare spul +STR_SAVELOAD_LOAD_TOOLTIP :{BLACK}Laad selektearre spul +STR_SAVELOAD_LOAD_HEIGHTMAP_TOOLTIP :{BLACK}Laad de selektearre hichtekaart STR_SAVELOAD_DETAIL_CAPTION :{BLACK}Spul Details STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}Gjin ynformaasje beskikber STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING} @@ -2269,13 +2443,12 @@ STR_MAPGEN_BY :{BLACK}* STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Oantal stêden: STR_MAPGEN_DATE :{BLACK}Datum: STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Oantal yndustrien: +STR_MAPGEN_MAX_HEIGHTLEVEL :{BLACK}Maksimale kaarthichte: +STR_MAPGEN_MAX_HEIGHTLEVEL_UP :{BLACK}Ferheegje de maksimale hichte fan bergen op de kaart mei 1 +STR_MAPGEN_MAX_HEIGHTLEVEL_DOWN :{BLACK}Ferleegje de maksimale hichte fan bergen op de kaart mei 1 STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}Hichte sniegrins: STR_MAPGEN_SNOW_LINE_UP :{BLACK}Sniegrins ien omheech ferpleatsje: STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}Sniegrins ien nei beneden ferpleatsje: -STR_MAPGEN_RANDOM_SEED :{BLACK}Samar in getal: -STR_MAPGEN_RANDOM_SEED_HELP :{BLACK}Klik om sels in getal yn te fieren -STR_MAPGEN_RANDOM :{BLACK}Meitsje eigenwillich -STR_MAPGEN_RANDOM_HELP :{BLACK}Feroarje it getal hokker brûkt wurdt foar de terreingeneraasje STR_MAPGEN_LAND_GENERATOR :{BLACK}Lângenerator: STR_MAPGEN_TREE_PLACER :{BLACK}Boskalgoritme: STR_MAPGEN_TERRAIN_TYPE :{BLACK}Terreintype: @@ -2302,7 +2475,7 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Namme hi STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Grutte: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} -STR_MAPGEN_RANDOM_SEED_OSKTITLE :{BLACK}Samar in getal ynfiere +STR_MAPGEN_MAX_HEIGHTLEVEL_QUERY_CAPT :{WHITE}Maksimale kaarthichte oanpasse STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{BLACK}Sniehichte oanpasse STR_MAPGEN_START_DATE_QUERY_CAPT :{BLACK}Startjier oanpasse @@ -2345,18 +2518,19 @@ STR_NEWGRF_SETTINGS_PRESET_LIST_TOOLTIP :{BLACK}Selektea STR_NEWGRF_SETTINGS_PRESET_SAVE :{BLACK}Sla ynstellings op STR_NEWGRF_SETTINGS_PRESET_SAVE_TOOLTIP :{BLACK}Sla dizze list op as foarynstelling STR_NEWGRF_SETTINGS_PRESET_SAVE_QUERY :{BLACK}Jou dizze ynstellings in namme -STR_NEWGRF_SETTINGS_PRESET_DELETE :{BLACK}Verwiderje ynstellings -STR_NEWGRF_SETTINGS_PRESET_DELETE_TOOLTIP :{BLACK}Verwiderje de selektjere ynstellings +STR_NEWGRF_SETTINGS_PRESET_DELETE :{BLACK}Ferwiderje ynstellings +STR_NEWGRF_SETTINGS_PRESET_DELETE_TOOLTIP :{BLACK}Ferwiderje de selektearre ynstellings STR_NEWGRF_SETTINGS_ADD :{BLACK}Tafoeging STR_NEWGRF_SETTINGS_ADD_FILE_TOOLTIP :{BLACK}Foeg de selektjere NewGRF ta oan dyn ynstellings STR_NEWGRF_SETTINGS_RESCAN_FILES :{BLACK}Lit sykje ny nije bestanden STR_NEWGRF_SETTINGS_RESCAN_FILES_TOOLTIP :{BLACK}Fernij list my beskikbere NewGRF bestanden -STR_NEWGRF_SETTINGS_REMOVE :{BLACK}Fourthelje +STR_NEWGRF_SETTINGS_REMOVE :{BLACK}Fuorthelje STR_NEWGRF_SETTINGS_REMOVE_TOOLTIP :{BLACK}Smyt de selektearre NewGRF út de list STR_NEWGRF_SETTINGS_MOVEUP :{BLACK}Pleats heger STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP :{BLACK}Set selektjere NewGRF boppe oan de list STR_NEWGRF_SETTINGS_MOVEDOWN :{BLACK}Pleats leger STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP :{BLACK}Set selektjere NewGRF ûnderoan de list +STR_NEWGRF_SETTINGS_UPGRADE :{BLACK}Upwurdearje STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}In list fan ynstalearre NewGRF bestânen STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}Parameters ynstelle @@ -2381,6 +2555,13 @@ STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Keppelt be STR_NEWGRF_SETTINGS_DISABLED :{RED}Útskeakele STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Dat strykt net mei dizze ferzje fan OpenTTD +# NewGRF save preset window +STR_SAVE_PRESET_CAPTION :{WHITE}Sla ynstellings op +STR_SAVE_PRESET_TITLE :{BLACK}Jou dizze ynstellings in namme +STR_SAVE_PRESET_CANCEL :{BLACK}Annulearje +STR_SAVE_PRESET_CANCEL_TOOLTIP :{BLACK}Ynstellings net feroarje +STR_SAVE_PRESET_SAVE :{BLACK}Opslaan + # NewGRF parameters window STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Feroarje NewGRF-parameters STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Slút @@ -2411,7 +2592,8 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Foarig f STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Gean tebek nei de foarige ôfbylding, sla pseudo/werkleure/lettertype ôfbyldings oer en begjin wer oernei at it begjin berikke is STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Represintaasje fan de no selektearre ôfbylding. Dizze wurdt net rjochte by it tekenjen STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Ferweech de ôfbylding, feroarje de X en Y útslach -STR_SPRITE_ALIGNER_OFFSETS :{BLACK}Utslach X: {NUM}, Utslach Y: {NUM} +STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}X útslach: {NUM}, Y útslach: {NUM} (Absolút) +STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}X útslach: {NUM}, Y útslach: {NUM} (Relatyf) STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Kies ôfbylding STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Pak in ôfbylding fan alle lokaasjes op it skerm ôf @@ -2510,8 +2692,8 @@ STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} ôflevere STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (noch nedich) STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (ôflevere) -STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Stêd groeit eltse {ORANGE}{COMMA}{BLACK} {P dei dagen} -STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Stêd groeit eltse {ORANGE}{COMMA}{BLACK} {P dei dagen} (subsidearre) +STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Stêd groeit eltse {ORANGE}{COMMA}{BLACK}{NBSP}{P dei dagen} +STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Stêd groeit eltse {ORANGE}{COMMA}{BLACK}{NBSP}{P dei dagen} (subsidearre) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}Stêd groeit{RED}net{BLACK} STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Lûdslimyt yn dizze stêd: {ORANGE}{COMMA}{BLACK} maks: {ORANGE}{COMMA} STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Sintrearje it byld op de lokaasje fan dizze stêd @@ -2554,13 +2736,36 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}Subside # Goal window STR_GOALS_SPECTATOR_CAPTION :{WHITE}Globalde doelen STR_GOALS_TEXT :{ORANGE}{STRING} +STR_GOALS_NONE :{ORANGE}- Gjin - STR_GOALS_SPECTATOR_NONE :{ORANGE}- Net fan tapassing - STR_GOALS_PROGRESS :{ORANGE}{STRING} STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING} # Goal question window +STR_GOAL_QUESTION_CAPTION_QUESTION :Fraach +STR_GOAL_QUESTION_CAPTION_INFORMATION :Ynformaasje +STR_GOAL_QUESTION_CAPTION_WARNING :Warskôging +STR_GOAL_QUESTION_CAPTION_ERROR :Flater -### Start of Goal Question button list +############ Start of Goal Question button list +STR_GOAL_QUESTION_BUTTON_CANCEL :Annulearje +STR_GOAL_QUESTION_BUTTON_OK :Okee +STR_GOAL_QUESTION_BUTTON_NO :Nee +STR_GOAL_QUESTION_BUTTON_YES :Ja +STR_GOAL_QUESTION_BUTTON_DECLINE :Ofwize +STR_GOAL_QUESTION_BUTTON_ACCEPT :Akseptearje +STR_GOAL_QUESTION_BUTTON_IGNORE :Negearje +STR_GOAL_QUESTION_BUTTON_RETRY :Opnij +STR_GOAL_QUESTION_BUTTON_PREVIOUS :Foarrige +STR_GOAL_QUESTION_BUTTON_NEXT :Folgjende +STR_GOAL_QUESTION_BUTTON_STOP :Stopje +STR_GOAL_QUESTION_BUTTON_START :Start +STR_GOAL_QUESTION_BUTTON_GO :Gean +STR_GOAL_QUESTION_BUTTON_CONTINUE :Trjochgean +STR_GOAL_QUESTION_BUTTON_POSTPONE :Utstelle +STR_GOAL_QUESTION_BUTTON_SURRENDER :Oerjaan +STR_GOAL_QUESTION_BUTTON_CLOSE :Slute +############ End of Goal Question button list # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}Subsydzjes @@ -2583,20 +2788,26 @@ STR_STORY_BOOK_NEXT_PAGE :{BLACK}Folgjend STR_STORY_BOOK_NEXT_PAGE_TOOLTIP :{BLACK}Gean nei de folgjende pagina # Station list window +STR_STATION_LIST_USE_CTRL_TO_SELECT_MORE :{BLACK}Hâld CTRL yndrukt om meardere objekten te selektearje +STR_STATION_LIST_CAPTION :{WHITE}{COMPANY} - {COMMA} Stasjon{P "" s} STR_STATION_LIST_STATION :{YELLOW}{STATION} {STATION_FEATURES} STR_STATION_LIST_WAYPOINT :{YELLOW}{WAYPOINT} STR_STATION_LIST_NONE :{YELLOW}- Gjin - # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} -STR_STATION_VIEW_WAITING_TITLE :{BLACK}Wachtsjend: {WHITE}{STRING} STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} ûnderweis fan {STATION} ôf) +STR_STATION_VIEW_RESERVED :{YELLOW}({CARGO_SHORT} reservearre foar laden) 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_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Stasjonwurdearing sjen litte +STR_STATION_VIEW_CARGO_SUPPLY_RATING :{WHITE}{STRING}: {YELLOW}{COMMA} / {STRING} ({COMMA}%) STR_STATION_VIEW_GROUP :{BLACK}Groepearje by STR_STATION_VIEW_WAITING_STATION :Stasjon: Wachtsjend @@ -2625,15 +2836,20 @@ STR_STATION_VIEW_GROUP_D_V_S :Bestimming-Fia- STR_CARGO_RATING_APPALLING :Ferskriklik STR_CARGO_RATING_VERY_POOR :Hiel Min STR_CARGO_RATING_POOR :Min +STR_CARGO_RATING_MEDIOCRE :Midsmjittich STR_CARGO_RATING_GOOD :Goed STR_CARGO_RATING_VERY_GOOD :Hiel Goed +STR_CARGO_RATING_EXCELLENT :Geweldich +STR_CARGO_RATING_OUTSTANDING :Poerbêst ############ range for rating ends STR_STATION_VIEW_CENTER_TOOLTIP :{BLACK}Sintrearje it byld op de lokaasje fan dit stasjon +STR_STATION_VIEW_RENAME_TOOLTIP :{BLACK}Feroarje stasjonsnamme STR_STATION_VIEW_RENAME_STATION_CAPTION :Jow stasjon in nije namme +STR_STATION_VIEW_CLOSE_AIRPORT :{BLACK}Fleanfjild slute # Waypoint/buoy view window STR_WAYPOINT_VIEW_CAPTION :{WHITE}{WAYPOINT} @@ -2666,11 +2882,13 @@ STR_FINANCES_POSITIVE_INCOME :{BLACK}+{CURREN STR_FINANCES_TOTAL_CAPTION :{WHITE}Totaal: STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}Jild STR_FINANCES_LOAN_TITLE :{WHITE}Liening +STR_FINANCES_MAX_LOAN :{WHITE}Maksimale Liening: {BLACK}{CURRENCY_LONG} STR_FINANCES_TOTAL_CURRENCY :{BLACK}{CURRENCY_LONG} STR_FINANCES_BORROW_BUTTON :{BLACK}Lien {CURRENCY_LONG} STR_FINANCES_BORROW_TOOLTIP :{BLACK}Lien mear jild. Ctrl+Klik om it maksimale te lienen STR_FINANCES_REPAY_BUTTON :{BLACK}Betelje {CURRENCY_LONG} werom STR_FINANCES_REPAY_TOOLTIP :{BLACK}Betelje in diel fan de liening werom. Ctrl+Klik om it maksimale werom te beteljen +STR_FINANCES_INFRASTRUCTURE_BUTTON :{BLACK}Ynfrastruktuer # Company view STR_COMPANY_VIEW_CAPTION :{WHITE}{COMPANY} {BLACK}{COMPANY_NUM} @@ -2679,12 +2897,22 @@ STR_COMPANY_VIEW_PRESIDENT_MANAGER_TITLE :{WHITE}{PRESIDE STR_COMPANY_VIEW_INAUGURATED_TITLE :{GOLD}Oprjochte: {WHITE}{NUM} STR_COMPANY_VIEW_COLOUR_SCHEME_TITLE :{GOLD}Kleurenskema: STR_COMPANY_VIEW_VEHICLES_TITLE :{GOLD}Fiertúchen: +STR_COMPANY_VIEW_TRAINS :{WHITE}{COMMA} trein{P "" en} +STR_COMPANY_VIEW_ROAD_VEHICLES :{WHITE}{COMMA} Wein{P "" en} +STR_COMPANY_VIEW_AIRCRAFT :{WHITE}{COMMA} fleantugen STR_COMPANY_VIEW_VEHICLES_NONE :{WHITE}Gjin STR_COMPANY_VIEW_COMPANY_VALUE :{GOLD}Bedriuwswearde: {WHITE}{CURRENCY_LONG} STR_COMPANY_VIEW_SHARES_OWNED_BY :{WHITE}({COMMA}% besit fan {COMPANY}) +STR_COMPANY_VIEW_INFRASTRUCTURE :{GOLD}Ynfrastruktuer: +STR_COMPANY_VIEW_INFRASTRUCTURE_AIRPORT :{WHITE}{COMMA} fleanfjild{P "" en} +STR_COMPANY_VIEW_INFRASTRUCTURE_NONE :{WHITE}Gjin STR_COMPANY_VIEW_BUILD_HQ_BUTTON :{BLACK}Bou haadkantoar +STR_COMPANY_VIEW_BUILD_HQ_TOOLTIP :{BLACK}Haadkantoar bouwe STR_COMPANY_VIEW_VIEW_HQ_BUTTON :{BLACK}Sjoch haadkantoar +STR_COMPANY_VIEW_VIEW_HQ_TOOLTIP :{BLACK}Haadkantoar besjen +STR_COMPANY_VIEW_RELOCATE_HQ :{BLACK}Haadkantoar ferpleatse +STR_COMPANY_VIEW_INFRASTRUCTURE_BUTTON :{BLACK}Details STR_COMPANY_VIEW_NEW_FACE_BUTTON :{BLACK}Nei Gesicht STR_COMPANY_VIEW_NEW_FACE_TOOLTIP :{BLACK}Selektear nei gesicht foar de bedriuwslieder @@ -2706,8 +2934,19 @@ STR_COMPANY_VIEW_PRESIDENT_S_NAME_QUERY_CAPTION :Namme fan Direk STR_BUY_COMPANY_MESSAGE :{WHITE}Wy sykje in transportbedriuw om ús bedriuw oer te nimmen.{}{}Wolsto {COMPANY} foar {CURRENCY_LONG} keapje? # Company infrastructure window +STR_COMPANY_INFRASTRUCTURE_VIEW_CAPTION :{WHITE}Ynfrastruktuer fan {COMPANY} +STR_COMPANY_INFRASTRUCTURE_VIEW_SIGNALS :{WHITE}Seinen +STR_COMPANY_INFRASTRUCTURE_VIEW_ROAD :{WHITE}Dyk +STR_COMPANY_INFRASTRUCTURE_VIEW_TRAMWAY :{WHITE}Tramwei +STR_COMPANY_INFRASTRUCTURE_VIEW_STATION_SECT :{GOLD}Stasjons: +STR_COMPANY_INFRASTRUCTURE_VIEW_AIRPORTS :{WHITE}Fleanfjilden +STR_COMPANY_INFRASTRUCTURE_VIEW_TOTAL :{WHITE}{CURRENCY_LONG}/jr # Industry directory +STR_INDUSTRY_DIRECTORY_CAPTION :{WHITE}Yndustryen +STR_INDUSTRY_DIRECTORY_NONE :{ORANGE}- Gjin - +STR_INDUSTRY_DIRECTORY_ITEM :{ORANGE}{INDUSTRY}{BLACK} ({CARGO_LONG}{STRING}){YELLOW} ({COMMA}% transportearre) +STR_INDUSTRY_DIRECTORY_ITEM_TWO :{ORANGE}{INDUSTRY}{BLACK} ({CARGO_LONG}{STRING}/{CARGO_LONG}{STRING}){YELLOW} ({COMMA}%/{COMMA}% transportearre) STR_INDUSTRY_DIRECTORY_ITEM_NOPROD :{ORANGE}{INDUSTRY} # Industry view @@ -2733,11 +2972,24 @@ STR_INDUSTRY_VIEW_PRODUCES_CARGO_CARGO :{BLACK}Produsea STR_CONFIG_GAME_PRODUCTION_LEVEL :{WHITE}Feroaring produksje nivo (percentage, up to 800%) # Vehicle lists +STR_VEHICLE_LIST_TRAIN_CAPTION :{WHITE}{STRING} - {COMMA} Trein{P "" en} +STR_VEHICLE_LIST_ROAD_VEHICLE_CAPTION :{WHITE}{STRING} - {COMMA} Wein{P "" en} +STR_VEHICLE_LIST_SHIP_CAPTION :{WHITE}{STRING} - {COMMA} {P Skip Skepen} +STR_VEHICLE_LIST_AIRCRAFT_CAPTION :{WHITE}{STRING} - {COMMA} Fleantúch +STR_VEHICLE_LIST_TRAIN_LIST_TOOLTIP :{BLACK}Treinen - klik op trein foar ynformaasje +STR_VEHICLE_LIST_ROAD_VEHICLE_TOOLTIP :{BLACK}Weinen - klik op wein foar ynformaasje +STR_VEHICLE_LIST_SHIP_TOOLTIP :{BLACK}Skepen - klik op skip foar ynformaasje +STR_VEHICLE_LIST_AIRCRAFT_TOOLTIP :{BLACK}Fleantúgen - klik op fleantúch foar ynformaasje STR_VEHICLE_LIST_PROFIT_THIS_YEAR_LAST_YEAR :{TINY_FONT}{BLACK}Fertsjinste dit jier: {CURRENCY_LONG} (ferline jier: {CURRENCY_LONG}) +STR_VEHICLE_LIST_AVAILABLE_TRAINS :Beskikbere Treinen +STR_VEHICLE_LIST_AVAILABLE_ROAD_VEHICLES :Beskikbere Weinen +STR_VEHICLE_LIST_AVAILABLE_SHIPS :Beskikbere Skepen +STR_VEHICLE_LIST_AVAILABLE_AIRCRAFT :Beskikbere Fleantúgen +STR_VEHICLE_LIST_REPLACE_VEHICLES :Fiertugen ferfange STR_VEHICLE_LIST_SEND_FOR_SERVICING :Stjoer foar ûnderhâldsbeurt STR_VEHICLE_LIST_SEND_TRAIN_TO_DEPOT :Stjoer nei depot @@ -2748,14 +3000,40 @@ STR_VEHICLE_LIST_SEND_AIRCRAFT_TO_HANGAR :Stjoer nei hang # Group window +STR_GROUP_ALL_TRAINS :Alle treinen +STR_GROUP_ALL_ROAD_VEHICLES :Alle weinen +STR_GROUP_ALL_SHIPS :Alle skepen +STR_GROUP_ALL_AIRCRAFTS :Alle fleantugen +STR_GROUP_CREATE_TOOLTIP :{BLACK}Klik om in groep oan te meitsje +STR_GROUP_DELETE_TOOLTIP :{BLACK}Smit de selektearre groep fuort +STR_GROUP_RENAME_TOOLTIP :{BLACK}Feroarje de namme fan de selektearre groep +STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Ferwiderje groep + +STR_GROUP_REMOVE_ALL_VEHICLES :Alle fiertugen weihelje # Build vehicle window +STR_BUY_VEHICLE_ROAD_VEHICLE_CAPTION :Nije Weinen +STR_BUY_VEHICLE_SHIP_CAPTION :Nije Skepen +STR_BUY_VEHICLE_AIRCRAFT_CAPTION :Nije fleantugen +STR_PURCHASE_INFO_SPEED_POWER :{BLACK}Snelheid: {GOLD}{VELOCITY}{BLACK} Kracht: {GOLD}{POWER} +STR_PURCHASE_INFO_SPEED :{BLACK}Snelheid: {GOLD}{VELOCITY} +STR_PURCHASE_INFO_RUNNINGCOST :{BLACK}Underhâldskosten: {GOLD}{CURRENCY_LONG}/jr +STR_PURCHASE_INFO_CAPACITY :{BLACK}Kapasiteit: {GOLD}{CARGO_LONG} {STRING} +STR_PURCHASE_INFO_REFITTABLE :(kin omboud wurde) +STR_PURCHASE_INFO_DESIGNED_LIFE :{BLACK}Ûntwurpen: {GOLD}{NUM}{BLACK} Libbensdoer: {GOLD}{COMMA} jier +STR_PURCHASE_INFO_RELIABILITY :{BLACK}Maks. Betrouberens: {GOLD}{COMMA}% +STR_PURCHASE_INFO_COST :{BLACK}Kosten: {GOLD}{CURRENCY_LONG} +STR_PURCHASE_INFO_WEIGHT_CWEIGHT :{BLACK}Gewicht: {GOLD}{WEIGHT_SHORT} ({WEIGHT_SHORT}) +STR_PURCHASE_INFO_COST_SPEED :{BLACK}Kosten: {GOLD}{CURRENCY_LONG}{BLACK} Snelheid: {GOLD}{VELOCITY} +STR_PURCHASE_INFO_AIRCRAFT_CAPACITY :{BLACK}Kapasiteit: {GOLD}{CARGO_LONG}, {CARGO_LONG} +STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Kin omboud wurde nei: {GOLD}{STRING} +STR_PURCHASE_INFO_ALL_TYPES :Alle frachttypen STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}Keapje auto @@ -2778,6 +3056,21 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Jow auto STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Jow boat type in nije namme STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Jow fleantúg type in nije namme +STR_BUY_VEHICLE_TRAIN_HIDE_TOGGLE_BUTTON :{BLACK}Ferbergje +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_TOGGLE_BUTTON :{BLACK}Ferbergje +STR_BUY_VEHICLE_SHIP_HIDE_TOGGLE_BUTTON :{BLACK}Ferbergje +STR_BUY_VEHICLE_AIRCRAFT_HIDE_TOGGLE_BUTTON :{BLACK}Ferbergje + +STR_BUY_VEHICLE_TRAIN_SHOW_TOGGLE_BUTTON :{BLACK}Sjen litte +STR_BUY_VEHICLE_ROAD_VEHICLE_SHOW_TOGGLE_BUTTON :{BLACK}Sjen litte +STR_BUY_VEHICLE_SHIP_SHOW_TOGGLE_BUTTON :{BLACK}Sjen litte +STR_BUY_VEHICLE_AIRCRAFT_SHOW_TOGGLE_BUTTON :{BLACK}Sjen litte + +STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Wikselje tusken it ferbergje/sjen litte fan it soart trein +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Wikselje tusken it ferbergje/sjen litte fan it soart wein +STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Wikselje tusken it ferbergje/sjen litte fan it soart skip +STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Wikselje tusken it ferbergje/sjen litte fan it soart fleanmasine + # Depot window STR_DEPOT_CAPTION :{WHITE}{DEPOT} @@ -2794,7 +3087,14 @@ STR_DEPOT_VEHICLE_TOOLTIP_CARGO :{}{CARGO_LONG} +STR_DEPOT_TRAIN_NEW_VEHICLES_BUTTON :{BLACK}Nije fiertugen +STR_DEPOT_ROAD_VEHICLE_NEW_VEHICLES_BUTTON :{BLACK}Nije Weinen +STR_DEPOT_SHIP_NEW_VEHICLES_BUTTON :{BLACK}Nije Skepen +STR_DEPOT_AIRCRAFT_NEW_VEHICLES_BUTTON :{BLACK}Nije Fleantugen +STR_DEPOT_ROAD_VEHICLE_NEW_VEHICLES_TOOLTIP :{BLACK}Nije wein keapje +STR_DEPOT_SHIP_NEW_VEHICLES_TOOLTIP :{BLACK}Nij skip keapje +STR_DEPOT_AIRCRAFT_NEW_VEHICLES_TOOLTIP :{BLACK}Nij fleantúch keapje @@ -2804,7 +3104,16 @@ STR_DEPOT_VEHICLE_TOOLTIP_CARGO :{}{CARGO_LONG} # Engine preview window +STR_ENGINE_PREVIEW_CAPTION :{WHITE}Berjocht fan fiertúgenfabrikant +STR_ENGINE_PREVIEW_MESSAGE :{GOLD}Wy hawwe sakrekt in nije {STRING} ûntwurpen - bisto ynteressearre yn in jier lang eksklusyf gebrûk fan dit fiertúch, sadat wy kinne sjen oft it goed wurket foardat wy it wrâldwiid beskikber meitsjen? +STR_ENGINE_PREVIEW_RAILROAD_LOCOMOTIVE :lokomotyf +STR_ENGINE_PREVIEW_ROAD_VEHICLE :wein +STR_ENGINE_PREVIEW_AIRCRAFT :fleantúch +STR_ENGINE_PREVIEW_SHIP :skip +STR_ENGINE_PREVIEW_MONORAIL_LOCOMOTIVE :monorail lokomotyf +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} # Autoreplace window STR_REPLACE_VEHICLE_TRAIN :Trein @@ -2812,6 +3121,9 @@ STR_REPLACE_VEHICLE_ROAD_VEHICLE :Auto STR_REPLACE_VEHICLE_SHIP :Skip STR_REPLACE_VEHICLE_AIRCRAFT :Fleanmasine +STR_REPLACE_VEHICLE_VEHICLES_IN_USE :{YELLOW}Fiertúgen dy't yn gebrûk binne +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES :{YELLOW}Beskikbere fiertugen + @@ -2820,6 +3132,7 @@ STR_REPLACE_VEHICLE_AIRCRAFT :Fleanmasine # Vehicle view STR_VEHICLE_VIEW_CAPTION :{WHITE}{VEHICLE} +STR_VEHICLE_VIEW_AIRCRAFT_LOCATION_TOOLTIP :{BLACK}Sintrearje it byld op de lokaasje fan dit fleantúch @@ -2830,14 +3143,24 @@ STR_VEHICLE_VIEW_CAPTION :{WHITE}{VEHICLE # Messages in the start stop button in the vehicle view +STR_VEHICLE_STATUS_LOADING_UNLOADING :{LTBLUE}Laden / Losse +STR_VEHICLE_STATUS_BROKEN_DOWN :{RED}Stikken +STR_VEHICLE_STATUS_STOPPED :{RED}Stoppe +STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}Stoppet, {VELOCITY} +STR_VEHICLE_STATUS_TRAIN_NO_POWER :{RED}Gjin enerzjy +STR_VEHICLE_STATUS_AIRCRAFT_TOO_FAR :{ORANGE}Te fier nei folgjende bestimming +STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}Ûnderweis nei {STATION}, {VELOCITY} STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}Ûnderweis nei {WAYPOINT}, {VELOCITY} STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}Ûnderweis nei{DEPOT}, {VELOCITY} STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}ûnderhâld yn {DEPOT}, {VELOCITY} # Vehicle stopped/started animations +STR_VEHICLE_COMMAND_STOPPED_SMALL :{TINY_FONT}{RED}Stoppe +STR_VEHICLE_COMMAND_STOPPED :{RED}Stoppe # Vehicle details +STR_VEHICLE_DETAILS_CAPTION :{WHITE}{VEHICLE} (Details) STR_VEHICLE_NAME_BUTTON :{BLACK}Namme @@ -2845,12 +3168,28 @@ STR_VEHICLE_NAME_BUTTON :{BLACK}Namme STR_VEHICLE_INFO_AGE :{COMMA} jier{P "" ren} ({COMMA}) STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} jier{P "" ren} ({COMMA}) +STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Maks. snelheid: {LTBLUE}{VELOCITY} +STR_VEHICLE_INFO_NO_CAPACITY :{BLACK}Kapasiteit: {LTBLUE}Gjin{STRING} +STR_VEHICLE_INFO_CAPACITY :{BLACK}Kapasiteit: {LTBLUE}{CARGO_LONG}{3:STRING} +STR_VEHICLE_INFO_CAPACITY_MULT :{BLACK}Kapasiteit: {LTBLUE}{CARGO_LONG}{3:STRING} (x{4:NUM}) +STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Kapasiteit: {LTBLUE}{CARGO_LONG}, {CARGO_LONG}{STRING} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Underhâldsinterval: {LTBLUE}{COMMA}{NBSP}dagen{BLACK} Lêste underhâld: {LTBLUE}{DATE_LONG} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Underhâldsinterval: {LTBLUE}{COMMA}%{BLACK} Lêste underhâld: {LTBLUE}{DATE_LONG} +STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Underhâldsinterval ferheegje mei 10. Ctrl+Klik ferheegt underhâldsinterval mei 5 +STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Tiid tusken ûnderhâldsbeurten ferleegje mei 10. Ctrl+Klik ferleegt de tiid tusken ûnderhâldsbeurten mei 5. +STR_VEHICLE_DETAILS_DEFAULT :Standert +STR_VEHICLE_DETAILS_DAYS :Dagen +STR_VEHICLE_DETAILS_PERCENT :Persintaazje +STR_QUERY_RENAME_TRAIN_CAPTION :{WHITE}Treinnamme feroarje +STR_QUERY_RENAME_ROAD_VEHICLE_CAPTION :{WHITE}Namme fan wein feroarje +STR_QUERY_RENAME_SHIP_CAPTION :{WHITE}Namme fan skip feroarje +STR_QUERY_RENAME_AIRCRAFT_CAPTION :{WHITE}Namme fan fleantúch feroarje # Extra buttons for train details windows @@ -2858,18 +3197,26 @@ STR_VEHICLE_DETAILS_TRAIN_TOTAL_CAPACITY_TEXT :{BLACK}Totale k STR_VEHICLE_DETAILS_TRAIN_TOTAL_CAPACITY :{LTBLUE}- {CARGO_LONG} ({CARGO_SHORT}) STR_VEHICLE_DETAILS_TRAIN_TOTAL_CAPACITY_MULT :{LTBLUE}- {CARGO_LONG} ({CARGO_SHORT}) (x{NUM}) +STR_VEHICLE_DETAILS_CARGO_EMPTY :{LTBLUE}Leech +STR_VEHICLE_DETAILS_CARGO_FROM :{LTBLUE}{CARGO_LONG} fan {STATION} +STR_VEHICLE_DETAILS_CARGO_FROM_MULT :{LTBLUE}{CARGO_LONG} fan {STATION} (x{NUM}) STR_VEHICLE_DETAIL_TAB_CARGO :{BLACK}Fracht STR_VEHICLE_DETAIL_TAB_INFORMATION :{BLACK}Ynformaasje STR_VEHICLE_DETAIL_TAB_CAPACITIES :{BLACK}Kapasiteit STR_VEHICLE_DETAIL_TAB_TOTAL_CARGO :{BLACK}Totale Fracht +STR_VEHICLE_DETAILS_TRAIN_ARTICULATED_RV_CAPACITY :{BLACK}Kapasiteit: {LTBLUE} # Vehicle refit STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT :{BLACK}Nije kapasiteit: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}kosten fan werfolje: {RED}{CURRENCY_LONG} STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}Selektearje in ferfiermiddel foar reparaasje. sleep mei de mûs om meardere ferfiermiddels te selekttearjen. Ctrl+klick sil in ferfiermiddel selektearje en de neikommende rige +STR_REFIT_TRAIN_REFIT_BUTTON :{BLACK}Trein ombouwe +STR_REFIT_ROAD_VEHICLE_REFIT_BUTTON :{BLACK}Wein ombouwe +STR_REFIT_SHIP_REFIT_BUTTON :{BLACK}Skip ombouwe +STR_REFIT_AIRCRAFT_REFIT_BUTTON :{BLACK}Fleantúch ombouwe # Order view @@ -2879,21 +3226,42 @@ STR_ORDER_TEXT :{STRING} {STRIN # Order bottom buttons +STR_ORDER_GO_TO :Gean nei +STR_ORDER_GO_NON_STOP_TO :Gean non-stop nei +STR_ORDER_GO_VIA :Gean via +STR_ORDER_GO_NON_STOP_VIA :Gean non-stop fia +STR_ORDER_DROP_NO_LOADING :Net laden +STR_ORDER_TOGGLE_UNLOAD :{BLACK}Alles losse +STR_ORDER_DROP_UNLOAD :Alles losse +STR_ORDER_DROP_TRANSFER :Oerlade +STR_ORDER_DROP_NO_UNLOADING :Net losse +STR_ORDER_REFIT :{BLACK}Ombouwe +STR_ORDER_DROP_REFIT_AUTO_ANY :Beskikbere fracht +STR_ORDER_SERVICE :{BLACK}Tsjinst +STR_ORDER_DROP_GO_ALWAYS_DEPOT :Gean altyd +STR_ORDER_DROP_HALT_DEPOT :Stop # Conditional order variables, must follow order of OrderConditionVariable enum +STR_ORDER_CONDITIONAL_RELIABILITY :Betrouberens +STR_ORDER_CONDITIONAL_MAX_SPEED :Maksimale snelheid +STR_ORDER_CONDITIONAL_UNCONDITIONALLY :Altyd +STR_ORDERS_SKIP_BUTTON :{BLACK}Oerslaan -STR_ORDERS_DELETE_ALL_TOOLTIP :{BLACK}Verwiderje alle bestimmingen +STR_ORDERS_DELETE_BUTTON :{BLACK}Fuortsmite +STR_ORDERS_DELETE_TOOLTIP :{BLACK}Selektearre oarder fuortsmite +STR_ORDERS_DELETE_ALL_TOOLTIP :{BLACK}Ferwiderje alle bestimmingen STR_ORDERS_STOP_SHARING_BUTTON :{BLACK}Stop dielde bestimmingen STR_ORDERS_STOP_SHARING_TOOLTIP :{BLACK}Stopje mei dielde bestimmingen +STR_ORDERS_GO_TO_BUTTON :{BLACK}Gean Nei STR_ORDER_SHARE :Dielde Bestimmingen @@ -2905,6 +3273,7 @@ STR_ORDER_GO_NON_STOP_TO_WAYPOINT :Oanienwei lâns STR_ORDER_GO_TO_NEAREST_DEPOT_FORMAT :{STRING} {STRING} {STRING} STR_ORDER_GO_TO_DEPOT_FORMAT :{STRING} {DEPOT} +STR_ORDER_STOP_ORDER :(Stop) STR_ORDER_GO_TO_STATION :{STRING} {STATION} {STRING} @@ -2917,24 +3286,39 @@ STR_ORDER_UNLOAD :(Afladen en nim STR_ORDER_UNLOAD_FULL_LOAD :(Afladen en wacht foar folle fracht) STR_ORDER_UNLOAD_FULL_LOAD_ANY :(Afladen en wacht foar elke folle fracht) STR_ORDER_UNLOAD_NO_LOAD :(Oflade en lit leech) +STR_ORDER_TRANSFER :(Oerladen en fracht meinimme) +STR_ORDER_TRANSFER_NO_LOAD :(Oerladen en lit leech) +STR_ORDER_NO_UNLOAD :(Net losse en fracht meinimme) +STR_ORDER_NO_UNLOAD_FULL_LOAD :(Net losse en wacht foar folle fracht) STR_ORDER_NO_UNLOAD_NO_LOAD :(net lade of losse) +STR_ORDER_AUTO_REFIT :(Ombouwe nei {STRING}) +STR_ORDER_AUTO_REFIT_ANY :beskikbere fracht # Time table window +STR_TIMETABLE_ORDER_VIEW :{BLACK}Opdrachten STR_TIMETABLE_NOT_TIMETABLEABLE :Reizgje (automatic; timetabled by next manual order) STR_TIMETABLE_TRAVEL_FOR_SPEED :Reis {STRING} mei maksimum {VELOCITY} +STR_TIMETABLE_TRAVEL_FOR_ESTIMATED :Reizgje (foar {STRING}, sûnder tsjinstregeling) +STR_TIMETABLE_TRAVEL_FOR_SPEED_ESTIMATED :Reizgje (foar {STRING}, sûnder tjinstregeling) mei maksimaal {VELOCITY} +STR_TIMETABLE_STAY_FOR_ESTIMATED :(bliuw foar {STRING}, sûnder tjinstregeling) +STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(reizgje foar {STRING}, sûnder tjinstregeling) +STR_TIMETABLE_DAYS :{COMMA}{NBSP}{P dei dagen} +STR_TIMETABLE_TICKS :{COMMA}{NBSP}tik{P "" ken} +STR_TIMETABLE_CHANGE_TIME :{BLACK}Tiid Feroarje +STR_TIMETABLE_CLEAR_TIME :{BLACK}Tiid Weihelje STR_TIMETABLE_CHANGE_SPEED :{BLACK}Feroarje maksimumfaasje STR_TIMETABLE_CHANGE_SPEED_TOOLTIP :{BLACK}Feroarje de maksimum reissnelheid fan de opljochte oarder @@ -2944,44 +3328,71 @@ STR_TIMETABLE_CLEAR_SPEED_TOOLTIP :{BLACK}Helje de +STR_TIMETABLE_EXPECTED :{BLACK}Ferwachte +STR_TIMETABLE_SCHEDULED :{BLACK}Pland +STR_TIMETABLE_ARRIVAL_ABBREVIATION :A: +STR_TIMETABLE_DEPARTURE_ABBREVIATION :F: # Date window (for timetable) +STR_DATE_CAPTION :{WHITE}Datum ynstelle +STR_DATE_SET_DATE :{BLACK}Datum ynstelle +STR_DATE_DAY_TOOLTIP :{BLACK}Dag selektearje +STR_DATE_MONTH_TOOLTIP :{BLACK}Moanne selektearje +STR_DATE_YEAR_TOOLTIP :{BLACK}Jier selektearje # AI debug window STR_AI_DEBUG_NAME_AND_VERSION :{BLACK}{STRING} (v{NUM}) +STR_AI_DEBUG_NAME_TOOLTIP :{BLACK}Skriptnamme STR_AI_DEBUG_SETTINGS :{BLACK}Ynstellings +STR_AI_DEBUG_SETTINGS_TOOLTIP :{BLACK}Ynstellings fan it skript feroarje STR_AI_DEBUG_CONTINUE :{BLACK}Trjochgean STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Lit debug output fan dizze AI sjen +STR_AI_GAME_SCRIPT :{BLACK}Spulskript STR_ERROR_AI_NO_AI_FOUND :Gjin geskikte compjûterspiler fûn.{}Disse compjûterspiler is in dummy en docht neat.{}Jo kinne compjûterspilers delhelje fan 'Online Inhâld' ôf. +STR_ERROR_AI_DEBUG_SERVER_ONLY :{YELLOW}AI/Spulskript debugskerm is allinich beskikber foar de tsjinner # AI configuration window +STR_AI_CONFIG_CAPTION :{WHITE}AI/Spulskript konfiguraasje +STR_AI_CONFIG_HUMAN_PLAYER :Minslike spiler +STR_AI_CONFIG_RANDOM_AI :Samar in AI +STR_AI_CONFIG_NONE :(gjin) +STR_AI_CONFIG_GAMESCRIPT :{SILVER}Spulskript STR_AI_CONFIG_AI :{SILVER}AIs STR_AI_CONFIG_CHANGE_NONE : STR_AI_CONFIG_CHANGE_AI :AI +STR_AI_CONFIG_CHANGE_GAMESCRIPT :Spulskript # Available AIs window +STR_AI_LIST_CAPTION :{WHITE}Beskikber {STRING} STR_AI_LIST_CAPTION_AI :AIs +STR_AI_LIST_CAPTION_GAMESCRIPT :Spulskripten STR_AI_LIST_VERSION :{LTBLUE}Ferzje: {ORANGE}{NUM} STR_AI_LIST_URL :{LTBLUE}URL: {ORANGE}{STRING} STR_AI_LIST_ACCEPT :{BLACK}Akseptearje STR_AI_LIST_CANCEL :{BLACK}Annulearje +STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}Skript net feroare # AI Parameters +STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} Parameters STR_AI_SETTINGS_CAPTION_AI :AI +STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Spulskript STR_AI_SETTINGS_CLOSE :{BLACK}Slúte +STR_AI_SETTINGS_RESET :{BLACK}Weromsette STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING} # Textfile window +STR_TEXTFILE_LICENCE_CAPTION :{WHITE}{STRING} lisinsje fan {STRING} +STR_TEXTFILE_VIEW_LICENCE :{BLACK}Lisinsje # Vehicle loading indicators @@ -2991,6 +3402,8 @@ STR_PERCENT_DOWN_SMALL :{TINY_FONT}{WHI STR_PERCENT_DOWN :{WHITE}{NUM}%{DOWN_ARROW} STR_PERCENT_UP_DOWN_SMALL :{TINY_FONT}{WHITE}{NUM}%{UP_ARROW}{DOWN_ARROW} STR_PERCENT_UP_DOWN :{WHITE}{NUM}%{UP_ARROW}{DOWN_ARROW} +STR_PERCENT_NONE_SMALL :{TINY_FONT}{WHITE}{NUM}% +STR_PERCENT_NONE :{WHITE}{NUM}% # Income 'floats' STR_INCOME_FLOAT_COST_SMALL :{TINY_FONT}{RED}Kostet: {CURRENCY_LONG} @@ -3001,14 +3414,17 @@ STR_MESSAGE_ESTIMATED_COST :{WHITE}Dit gjit STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Dit gjit {CURRENCY_LONG} opbringen. # Saveload messages +STR_ERROR_AUTOSAVE_FAILED :{WHITE}Automatysk opslaan net slagge STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Koe net fan 'e skiif lêze STR_ERROR_GAME_SAVE_FAILED :{WHITE}Opslaan Mislearre{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Kin bestân net fuortsmite STR_ERROR_GAME_LOAD_FAILED :{WHITE}Laden Mislearre{}{STRING} +STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Interne flater: {STRING} STR_GAME_SAVELOAD_NOT_AVAILABLE : # Map generation messages +STR_ERROR_PNGMAP_FILE_NOT_FOUND :{WHITE}... bestând koe net fûn wurde @@ -3039,6 +3455,7 @@ STR_ERROR_OWNED_BY :{WHITE}... is f STR_ERROR_AREA_IS_OWNED_BY_ANOTHER :{WHITE}... gebiet is fan in oar bedriuw STR_ERROR_TERRAFORM_LIMIT_REACHED :{WHITE}... lânskip kreëar limyt berikt STR_ERROR_CLEARING_LIMIT_REACHED :{WHITE}... tegel oprom limyt berikt +STR_ERROR_NAME_MUST_BE_UNIQUE :{WHITE}Namme moat unyk wêze STR_ERROR_GENERIC_OBJECT_IN_THE_WAY :{WHITE}{1:STRING} yn it paad STR_ERROR_NOT_ALLOWED_WHILE_PAUSED :{WHITE}Net tastean. Pausearre @@ -3082,6 +3499,7 @@ STR_ERROR_STATUE_NO_SUITABLE_PLACE :{WHITE}... Gjin STR_ERROR_TOO_MANY_INDUSTRIES :{WHITE}... te folle yndustryen STR_ERROR_CAN_T_BUILD_HERE :{WHITE}Kin hjir gjin {STRING} boue... STR_ERROR_CAN_T_CONSTRUCT_THIS_INDUSTRY :{WHITE}Kin dit type yndustry hjir net boue... +STR_ERROR_INDUSTRY_TOO_CLOSE :{WHITE}... te ticht by in oare yndustry STR_ERROR_MUST_FOUND_TOWN_FIRST :{WHITE}... stêd moat earst bout wurde STR_ERROR_ONLY_ONE_ALLOWED_PER_TOWN :{WHITE}.. mei mar ien per stêd wêze STR_ERROR_CAN_ONLY_BE_BUILT_IN_TOWNS_WITH_POPULATION_OF_1200 :{WHITE}... kin allinnich bout wurde yn stêden mei 1200 ynwenners of mear @@ -3091,11 +3509,18 @@ STR_ERROR_CAN_ONLY_BE_BUILT_IN_TOWNS :{WHITE}... kin STR_ERROR_CAN_ONLY_BE_BUILT_IN_LOW_AREAS :{WHITE}... kin allinnich yn lege plakken bout wurde STR_ERROR_CAN_ONLY_BE_POSITIONED :{WHITE}... kin allinich pleatse wurde by de rân fan'e kaart STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... bosk kin allinich boppe snieline boud wurde +STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... kin allinich boppe snieline boud wurde +STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... kin allinich ûnder snieline boud wurde + # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Kin hjir gjin treinstasjon boue... STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}Kin hjir gjin busstasjon boue... STR_ERROR_CAN_T_BUILD_TRUCK_STATION :{WHITE}Kin hjir gjin frachtweinstasjon boue... +STR_ERROR_CAN_T_BUILD_PASSENGER_TRAM_STATION :{WHITE}Kin gjin passazjiertramstasjon boue... +STR_ERROR_CAN_T_BUILD_CARGO_TRAM_STATION :{WHITE}Kin hjir gjin frachttramstasjon boue... +STR_ERROR_CAN_T_BUILD_DOCK_HERE :(WHITE}Kin hjir gjin haven boue... +STR_ERROR_CAN_T_BUILD_AIRPORT_HERE :{WHITE}Kin hjir gjin fleanfjild boue... STR_ERROR_ADJOINS_MORE_THAN_ONE_EXISTING :{WHITE}Ferbynt mear dan ien stasjon STR_ERROR_STATION_TOO_SPREAD_OUT :{WHITE}... stasjon is te grut @@ -3108,12 +3533,18 @@ STR_ERROR_TOO_CLOSE_TO_ANOTHER_AIRPORT :{WHITE}Te ticht STR_ERROR_CAN_T_RENAME_STATION :{WHITE}Kin namme fan stasjon net feroarje # Station destruction related errors +STR_ERROR_MUST_REMOVE_RAILWAY_STATION_FIRST :{WHITE}Treinstasjon moat earst fuorthelle wurde +STR_ERROR_CAN_T_REMOVE_BUS_STATION :{WHITE}Kin busstasjon net fuorthelje... +STR_ERROR_CAN_T_REMOVE_TRUCK_STATION :{WHITE}Kin frachtstasjon net fuorthelje... +STR_ERROR_CAN_T_REMOVE_PASSENGER_TRAM_STATION :{WHITE}Kin passazjiertramstasjon net fuorthelje... +STR_ERROR_CAN_T_REMOVE_CARGO_TRAM_STATION :{WHITE}Kin frachttramstasjon net fuorthelje... STR_ERROR_MUST_REMOVE_ROAD_STOP_FIRST :{WHITE}Weistop moat earst fuorthelle wurde STR_ERROR_THERE_IS_NO_STATION :{WHITE}... Dêr is gjin statsjon STR_ERROR_MUST_DEMOLISH_RAILROAD :{WHITE}Treinspoar moat earst fuorthelle wurde STR_ERROR_MUST_DEMOLISH_BUS_STATION_FIRST :{WHITE}Bushalte moat earst fuorthelle wurde STR_ERROR_MUST_DEMOLISH_TRUCK_STATION_FIRST :{WHITE}Frachtstasjon moat earst fuorthelle wurde +STR_ERROR_MUST_DEMOLISH_PASSENGER_TRAM_STATION_FIRST :{WHITE}Passazjiertramstasjon moat earst fuorthelle wurde STR_ERROR_MUST_DEMOLISH_CARGO_TRAM_STATION_FIRST :{WHITE}Frachttramstasjon moat earst fuorthelle wurde STR_ERROR_MUST_DEMOLISH_DOCK_FIRST :{WHITE}Haven moat earst fuorthelle wurde STR_ERROR_MUST_DEMOLISH_AIRPORT_FIRST :{WHITE}Fleanfjild moat earst fuorthelle wurde @@ -3134,15 +3565,19 @@ STR_ERROR_BUOY_IS_IN_USE :{WHITE}... boei # Depot related errors STR_ERROR_CAN_T_BUILD_TRAIN_DEPOT :{WHITE}Kin hjir gjin trein depot boue... STR_ERROR_CAN_T_BUILD_ROAD_DEPOT :{WHITE}Kin hjir gjin auto depot boue... +STR_ERROR_CAN_T_BUILD_TRAM_DEPOT :{WHITE}Kin hjir gjin tramdepot boue... STR_ERROR_CAN_T_BUILD_SHIP_DEPOT :{WHITE}Kin hjir gjin skipdepot boue... STR_ERROR_CAN_T_RENAME_DEPOT :{WHITE}kin depot gjin nije namme jaan... STR_ERROR_TRAIN_MUST_BE_STOPPED_INSIDE_DEPOT :{WHITE}... Trein moat stopt wêze yn depot +STR_ERROR_ROAD_VEHICLE_MUST_BE_STOPPED_INSIDE_DEPOT :{WHITE}... moat stopt wêze yn in depot STR_ERROR_SHIP_MUST_BE_STOPPED_INSIDE_DEPOT :{WHITE}... moat stopt wêze yn depot STR_ERROR_AIRCRAFT_MUST_BE_STOPPED_INSIDE_HANGAR :{WHITE}... moat stopt wêze yn hangar +STR_ERROR_TRAINS_CAN_ONLY_BE_ALTERED_INSIDE_A_DEPOT :{WHITE}Treinen kinne allinich oanpast wurde wannear't ze yn in depot stean STR_ERROR_TRAIN_TOO_LONG :{WHITE}Trein te lang +STR_ERROR_CAN_T_REVERSE_DIRECTION_RAIL_VEHICLE :{WHITE}Kin rydrjochting fan de trein net omkeare... STR_ERROR_CAN_T_REVERSE_DIRECTION_RAIL_VEHICLE_MULTIPLE_UNITS :{WHITE}... bestiet út meardere weinen STR_ERROR_INCOMPATIBLE_RAIL_TYPES :Net te ferienigjen spoartypes @@ -3208,6 +3643,7 @@ STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Brêge m STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}Begjin en ein kin net op itselde plak wêze STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}Útein fan de brêge is net op deselde hichte STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}Brêge is te leech foar it terrein +STR_ERROR_BRIDGE_TOO_HIGH_FOR_TERRAIN :{WHITE}Brêge is te heech foar dit terrein STR_ERROR_START_AND_END_MUST_BE_IN :{WHITE}Begjin en ein moatte op ien lijn wêze STR_ERROR_ENDS_OF_BRIDGE_MUST_BOTH :{WHITE}... beide úteinden fan'e brêge moatte op lân lizze STR_ERROR_BRIDGE_TOO_LONG :{WHITE}... brêge te lang @@ -3234,6 +3670,7 @@ STR_ERROR_YOU_ALREADY_OWN_IT :{WHITE}... it i STR_ERROR_GROUP_CAN_T_CREATE :{WHITE}Kin gjin groep oanmeitsje... STR_ERROR_GROUP_CAN_T_DELETE :{WHITE}Kin dizze groep net fuortsmite STR_ERROR_GROUP_CAN_T_RENAME :{WHITE}Kin de namme net feroarje... +STR_ERROR_GROUP_CAN_T_SET_PARENT :{WHITE}Kin haadgroep net ynstelle... STR_ERROR_GROUP_CAN_T_REMOVE_ALL_VEHICLES :{WHITE}Kin net alle fiertugen út dizze groep fuortsmite... STR_ERROR_GROUP_CAN_T_ADD_VEHICLE :{WHITE}Kin dit fiertúch net oan dizze groep taheakje... STR_ERROR_GROUP_CAN_T_ADD_SHARED_VEHICLE :{WHITE}Kin dielde auto's oan groep ta foege... @@ -3337,6 +3774,9 @@ STR_ERROR_CAN_T_DELETE_SIGN :{WHITE}Kin stop STR_DESKTOP_SHORTCUT_COMMENT :Spul basjeare op Transport Tycoon Deluxe # Translatable descriptions in media/baseset/*.ob* files +STR_BASEGRAPHICS_DOS_DESCRIPTION :Orizjinele ôfbyldings fan de Transport Tycoon Deluxe Windows-edysje +STR_BASEGRAPHICS_DOS_DE_DESCRIPTION :Orizjinele ôfbyldings fan de Transport Tycoon Deluxe (dútse) DOS-edysje +STR_BASEGRAPHICS_WIN_DESCRIPTION :Orizjinele ôfbyldings fan de Transport Tycoon Deluxe Windows-edysje. STR_BASESOUNDS_DOS_DESCRIPTION :Orizjinele musyk fan de Transport Tycoon Deluxe DOS-edysje. STR_BASESOUNDS_WIN_DESCRIPTION :Orizjinele lûden fan de Transport Tycoon Deluxe Windows-edysje. STR_BASESOUNDS_NONE_DESCRIPTION :In lûdspakket sûnder lûden. @@ -3768,6 +4208,7 @@ STR_COMPANY_NAME :{COMPANY} STR_COMPANY_NAME_COMPANY_NUM :{COMPANY} {COMPANY_NUM} STR_DEPOT_NAME :{DEPOT} STR_ENGINE_NAME :{ENGINE} +STR_HIDDEN_ENGINE_NAME :{ENGINE} (ferburgen) STR_GROUP_NAME :{GROUP} STR_INDUSTRY_NAME :{INDUSTRY} STR_PRESIDENT_NAME :{PRESIDENT_NAME} @@ -3803,8 +4244,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -3815,9 +4254,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/unfinished/ido.txt b/src/lang/unfinished/ido.txt index d2f5df3269..3ec243f079 100644 --- a/src/lang/unfinished/ido.txt +++ b/src/lang/unfinished/ido.txt @@ -224,6 +224,9 @@ STR_BUTTON_RENAME :{BLACK}Rinomiza STR_TOOLTIP_CLOSE_WINDOW :{BLACK}Klozas fenestro STR_TOOLTIP_TOGGLE_LARGE_SMALL_WINDOW :{BLACK}Baskulas granda/mikra fenestro grandeso +# Show engines button + + # Query window STR_BUTTON_CANCEL :{BLACK}Anular STR_BUTTON_OK :{BLACK}OK @@ -337,7 +340,10 @@ STR_GRAPH_MENU_DELIVERED_CARGO_GRAPH :Livrita kargajo ############ range for about menu starts ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window +############ range for ordinal numbers ends + +############ range for days starts ############ range for days ends ############ range for months starts @@ -441,9 +447,7 @@ STR_NEWS_MESSAGE_CAPTION :{WHITE}Sendajo -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE -# end of order system +# Order review system / warnings @@ -460,15 +464,13 @@ STR_GAME_OPTIONS_CAPTION :{WHITE}Ludo Sel ############ end of currency region -############ start of measuring units region -############ end of measuring units region - - ############ start of townname region ############ end of townname region +############ start of autosave dropdown +############ end of autosave dropdown @@ -479,6 +481,7 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :altra + # Custom currency window @@ -515,7 +518,7 @@ STR_SEA_LEVEL_CUSTOM_PERCENTAGE :Kustumigita ({N -# Advanced settings window +# Settings tree window @@ -773,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-2014 La kruo OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2015 La kruo OpenTTD # Save/load game/scenario STR_SAVELOAD_DETAIL_CAPTION :{BLACK}Ludo Detali @@ -800,6 +803,8 @@ STR_MAPGEN_BY :{BLACK}* STR_NEWGRF_SETTINGS_VERSION :{BLACK}Versiono: {SILVER}{NUM} +# NewGRF save preset window + # NewGRF parameters window STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Klozas STR_NEWGRF_PARAMETERS_SETTING :{STRING}: {ORANGE}{STRING} @@ -860,7 +865,8 @@ STR_GOALS_TEXT :{ORANGE}{STRING # Goal question window -### Start of Goal Question button list +############ Start of Goal Question button list +############ End of Goal Question button list # Subsidies window @@ -872,7 +878,6 @@ STR_STATION_LIST_WAYPOINT :{YELLOW}{WAYPOI # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} -STR_STATION_VIEW_WAITING_TITLE :{BLACK}Vartabas: {WHITE}{STRING} STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Aceptas: {WHITE}{CARGO_LIST} @@ -960,6 +965,7 @@ STR_GROUP_DEFAULT_AIRCRAFTS :Negrupigita aer + # Build vehicle window @@ -970,6 +976,9 @@ STR_GROUP_DEFAULT_AIRCRAFTS :Negrupigita aer + + + # Depot window STR_DEPOT_CAPTION :{WHITE}{DEPOT} @@ -1008,6 +1017,7 @@ STR_REPLACE_VEHICLE_AIRCRAFT :Aeronavo + # Vehicle view STR_VEHICLE_VIEW_CAPTION :{WHITE}{VEHICLE} @@ -1179,6 +1189,7 @@ STR_ERROR_TOO_CLOSE_TO_EDGE_OF_MAP_SUB :{WHITE}... tro # Industry related errors STR_ERROR_TOO_MANY_INDUSTRIES :{WHITE}... tro multa industrii + # Station construction related errors @@ -1342,8 +1353,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -1354,9 +1363,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/unfinished/macedonian.txt b/src/lang/unfinished/macedonian.txt index 917509e464..7df355626d 100644 --- a/src/lang/unfinished/macedonian.txt +++ b/src/lang/unfinished/macedonian.txt @@ -238,6 +238,9 @@ STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Поме STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Лизгач - свитоци листата лево / десно STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Уривање згради итн. на квадратна област +# Show engines button + + # Query window STR_BUTTON_DEFAULT :{BLACK}Зададено STR_BUTTON_CANCEL :{BLACK}Откажи @@ -347,7 +350,6 @@ STR_SCENEDIT_FILE_MENU_QUIT :Напушти ############ range for settings menu starts STR_SETTINGS_MENU_GAME_OPTIONS :игра опции -STR_SETTINGS_MENU_CONFIG_SETTINGS :напредни поставувања STR_SETTINGS_MENU_SCRIPT_SETTINGS :АИ / игри поставувања STR_SETTINGS_MENU_NEWGRF_SETTINGS :NewGRF подесувања STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :транспарентност опции @@ -451,7 +453,7 @@ STR_ABOUT_MENU_SPRITE_ALIGNER :самовил STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Вклучи одблеснува кутии ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window STR_ORDINAL_NUMBER_1ST :1-в STR_ORDINAL_NUMBER_2ND :2-ор STR_ORDINAL_NUMBER_3RD :3-ет @@ -467,22 +469,40 @@ STR_ORDINAL_NUMBER_12TH :12-ти STR_ORDINAL_NUMBER_13TH :13-ти STR_ORDINAL_NUMBER_14TH :14-ти STR_ORDINAL_NUMBER_15TH :15-ти -STR_ORDINAL_NUMBER_16TH :16-ти -STR_ORDINAL_NUMBER_17TH :17-ти -STR_ORDINAL_NUMBER_18TH :18-ти -STR_ORDINAL_NUMBER_19TH :19-ти -STR_ORDINAL_NUMBER_20TH :20-ти -STR_ORDINAL_NUMBER_21ST :21-ви -STR_ORDINAL_NUMBER_22ND :22-ри -STR_ORDINAL_NUMBER_23RD :23-ти -STR_ORDINAL_NUMBER_24TH :24-ти -STR_ORDINAL_NUMBER_25TH :25-ти -STR_ORDINAL_NUMBER_26TH :26-ти -STR_ORDINAL_NUMBER_27TH :27-ми -STR_ORDINAL_NUMBER_28TH :28-ми -STR_ORDINAL_NUMBER_29TH :29-ти -STR_ORDINAL_NUMBER_30TH :30-ти -STR_ORDINAL_NUMBER_31ST :31-ви +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :1-в +STR_DAY_NUMBER_2ND :2-ор +STR_DAY_NUMBER_3RD :3-ет +STR_DAY_NUMBER_4TH :4-рт +STR_DAY_NUMBER_5TH :5-ти +STR_DAY_NUMBER_6TH :6-ти +STR_DAY_NUMBER_7TH :7-ми +STR_DAY_NUMBER_8TH :8-ми +STR_DAY_NUMBER_9TH :9-ти +STR_DAY_NUMBER_10TH :10-ти +STR_DAY_NUMBER_11TH :11-ти +STR_DAY_NUMBER_12TH :12-ти +STR_DAY_NUMBER_13TH :13-ти +STR_DAY_NUMBER_14TH :14-ти +STR_DAY_NUMBER_15TH :15-ти +STR_DAY_NUMBER_16TH :16-ти +STR_DAY_NUMBER_17TH :17-ти +STR_DAY_NUMBER_18TH :18-ти +STR_DAY_NUMBER_19TH :19-ти +STR_DAY_NUMBER_20TH :20-ти +STR_DAY_NUMBER_21ST :21-ви +STR_DAY_NUMBER_22ND :22-ри +STR_DAY_NUMBER_23RD :23-ти +STR_DAY_NUMBER_24TH :24-ти +STR_DAY_NUMBER_25TH :25-ти +STR_DAY_NUMBER_26TH :26-ти +STR_DAY_NUMBER_27TH :27-ми +STR_DAY_NUMBER_28TH :28-ми +STR_DAY_NUMBER_29TH :29-ти +STR_DAY_NUMBER_30TH :30-ти +STR_DAY_NUMBER_31ST :31-ви ############ range for days ends ############ range for months starts @@ -752,9 +772,7 @@ STR_NEWS_DISASTER_FLOOD_VEHICLE :{BIG_FONT}{BLAC -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE -# end of order system +# Order review system / warnings STR_NEWS_AIRCRAFT_DEST_TOO_FAR :{WHITE}{VEHICLE} не може да се стигне до следната дестинација, бидејќи тоа е надвор од опсегот @@ -772,16 +790,15 @@ STR_GAME_OPTIONS_CAPTION :{WHITE}Опци ############ end of currency region -############ start of measuring units region -############ end of measuring units region - - ############ start of townname region ############ end of townname region +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :Секој месец +############ end of autosave dropdown + @@ -812,7 +829,7 @@ STR_SEA_LEVEL_CUSTOM_PERCENTAGE :Прилаго -# Advanced settings window +# Settings tree window STR_CONFIG_SETTING_TYPE_DROPDOWN_ALL :Сите подесувања @@ -1185,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-2014 OpenTTD тимот +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2015 OpenTTD тимот # Save/load game/scenario STR_SAVELOAD_LOAD_BUTTON :{BLACK}Оптоварување @@ -1232,6 +1249,8 @@ STR_NEWGRF_SETTINGS_VERSION :{BLACK}Верз STR_NEWGRF_SETTINGS_MIN_VERSION :{BLACK}Мин. компатибилна верзија: {SILVER}{NUM} +# NewGRF save preset window + # NewGRF parameters window STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Промена НовGRF параметри STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Затвори @@ -1311,7 +1330,8 @@ STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Клик # Goal question window -### Start of Goal Question button list +############ Start of Goal Question button list +############ End of Goal Question button list # Subsidies window STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Кликни на сервис за да се центрира погледот на индустријата/градот @@ -1327,7 +1347,6 @@ STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}Не ч # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} -STR_STATION_VIEW_WAITING_TITLE :{BLACK}Чекање: {WHITE}{STRING} STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} пренасочено од {STATION}) @@ -1428,6 +1447,7 @@ STR_VEHICLE_LIST_SEND_SHIP_TO_DEPOT :Испрати + # Build vehicle window STR_BUY_VEHICLE_TRAIN_ALL_CAPTION :Шински возила @@ -1445,6 +1465,9 @@ STR_BUY_VEHICLE_AIRCRAFT_RENAME_BUTTON :{BLACK}Преи STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Преименувај го типот на авиони + + + STR_QUERY_RENAME_AIRCRAFT_TYPE_CAPTION :{WHITE}Преименувај го типот на авиони # Depot window @@ -1492,6 +1515,7 @@ STR_REPLACE_VEHICLE_AIRCRAFT :Летало + # Vehicle view STR_VEHICLE_VIEW_CAPTION :{WHITE}{VEHICLE} @@ -1713,6 +1737,7 @@ STR_ERROR_STATUE_NO_SUITABLE_PLACE :{WHITE}... не # Industry related errors + # Station construction related errors STR_ERROR_CAN_T_BUILD_AIRPORT_HERE :{WHITE}Не може да се изгради аеродром на оваа локација... @@ -1902,8 +1927,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -1914,9 +1937,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/unfinished/maltese.txt b/src/lang/unfinished/maltese.txt index 89dbed57c1..8796505385 100644 --- a/src/lang/unfinished/maltese.txt +++ b/src/lang/unfinished/maltese.txt @@ -191,6 +191,9 @@ STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Faxxa bi STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Faxxa biex tiskrolja - iskrolja l-lista lejn ix-xellug jew lemin STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Waqqa bini, etc.., Ctrl tagħzel zona dijagonali. Shift taqleb bejn bini/turija ta' stima ta' l-ispiza +# Show engines button + + # Query window STR_BUTTON_DEFAULT :{BLACK}Default STR_BUTTON_CANCEL :{BLACK}Ikkanċella @@ -306,7 +309,10 @@ STR_FILE_MENU_SEPARATOR : ############ range for about menu starts ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window +############ range for ordinal numbers ends + +############ range for days starts ############ range for days ends ############ range for months starts @@ -374,9 +380,7 @@ STR_STATUSBAR_COMPANY_NAME :{SILVER}- - {C -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE -# end of order system +# Order review system / warnings STR_NEWS_VEHICLE_IS_LOST :{WHITE}{VEHICLE} mitluf @@ -393,15 +397,13 @@ STR_NEWS_VEHICLE_IS_LOST :{WHITE}{VEHICLE ############ end of currency region -############ start of measuring units region -############ end of measuring units region - - ############ start of townname region ############ end of townname region +############ start of autosave dropdown +############ end of autosave dropdown @@ -412,6 +414,7 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :oħrajn + # Custom currency window @@ -430,7 +433,7 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :oħrajn -# Advanced settings window +# Settings tree window @@ -708,6 +711,8 @@ STR_NEWGRF_SETTINGS_RESCAN_FILES_TOOLTIP :{BLACK}Aġġorn STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Ma jaqblux ma din il-verzjoni ta' OpenTTD +# NewGRF save preset window + # NewGRF parameters window # NewGRF inspect window @@ -760,7 +765,8 @@ STR_GOALS_TEXT :{ORANGE}{STRING # Goal question window -### Start of Goal Question button list +############ Start of Goal Question button list +############ End of Goal Question button list # Subsidies window @@ -831,6 +837,7 @@ STR_FINANCES_POSITIVE_INCOME :{BLACK}+{CURREN + # Build vehicle window @@ -841,6 +848,9 @@ STR_FINANCES_POSITIVE_INCOME :{BLACK}+{CURREN + + + # Depot window STR_DEPOT_CAPTION :{WHITE}{DEPOT} @@ -875,6 +885,7 @@ STR_DEPOT_VEHICLE_TOOLTIP_CARGO :{}{CARGO_LONG} + # Vehicle view STR_VEHICLE_VIEW_CAPTION :{WHITE}{VEHICLE} @@ -1039,6 +1050,7 @@ STR_WARNING_SCREENSHOT_SIZE_MESSAGE :{YELLOW}L-istam # Industry related errors + # Station construction related errors @@ -1383,8 +1395,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -1395,9 +1405,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/unfinished/marathi.txt b/src/lang/unfinished/marathi.txt index d4e80d9ae1..3125899304 100644 --- a/src/lang/unfinished/marathi.txt +++ b/src/lang/unfinished/marathi.txt @@ -238,6 +238,9 @@ STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}स् STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}स्क्रोल पट्टी - स्क्रोल यादी डाव्या/उजव्या STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}जमिनीच्या एका चौकोनावरील इमारत नष्ट करणे इ. Ctrl ने तिरका प्रदेश निवडता येतो. Shift नं इमारती किंवा किंमतीचा अंदाज दिसणं चालू/बंद होतं. +# Show engines button + + # Query window STR_BUTTON_DEFAULT :{BLACK}स्थिर STR_BUTTON_CANCEL :{BLACK}रद्द करा @@ -341,7 +344,6 @@ STR_SCENEDIT_FILE_MENU_QUIT :बंद क ############ range for settings menu starts STR_SETTINGS_MENU_GAME_OPTIONS :खेळाचे पर्याय -STR_SETTINGS_MENU_CONFIG_SETTINGS :प्रगत सेटिंग STR_SETTINGS_MENU_SCRIPT_SETTINGS :ए.आय. / गेम स्क्रिप्ट सेटिंग्ज STR_SETTINGS_MENU_NEWGRF_SETTINGS :NewGRF पर्याय STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :पारदर्शकता पर्याय @@ -442,7 +444,7 @@ STR_ABOUT_MENU_GIANT_SCREENSHOT :संपूर STR_ABOUT_MENU_ABOUT_OPENTTD :ओपेन टीटीडी बद्दल ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window STR_ORDINAL_NUMBER_1ST :१ STR_ORDINAL_NUMBER_2ND :२ STR_ORDINAL_NUMBER_3RD :३ @@ -458,22 +460,40 @@ STR_ORDINAL_NUMBER_12TH :१२ STR_ORDINAL_NUMBER_13TH :१३ STR_ORDINAL_NUMBER_14TH :१४ STR_ORDINAL_NUMBER_15TH :१५ -STR_ORDINAL_NUMBER_16TH :१६ -STR_ORDINAL_NUMBER_17TH :१७ -STR_ORDINAL_NUMBER_18TH :१८ -STR_ORDINAL_NUMBER_19TH :१९ -STR_ORDINAL_NUMBER_20TH :२० -STR_ORDINAL_NUMBER_21ST :२१ -STR_ORDINAL_NUMBER_22ND :२२ -STR_ORDINAL_NUMBER_23RD :२३ -STR_ORDINAL_NUMBER_24TH :२४ -STR_ORDINAL_NUMBER_25TH :२५ -STR_ORDINAL_NUMBER_26TH :२६ -STR_ORDINAL_NUMBER_27TH :२७ -STR_ORDINAL_NUMBER_28TH :२८ -STR_ORDINAL_NUMBER_29TH :२९ -STR_ORDINAL_NUMBER_30TH :३० -STR_ORDINAL_NUMBER_31ST :३१ +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :१ +STR_DAY_NUMBER_2ND :२ +STR_DAY_NUMBER_3RD :३ +STR_DAY_NUMBER_4TH :४ +STR_DAY_NUMBER_5TH :५ +STR_DAY_NUMBER_6TH :६ +STR_DAY_NUMBER_7TH :७ +STR_DAY_NUMBER_8TH :८ +STR_DAY_NUMBER_9TH :९ +STR_DAY_NUMBER_10TH :१० +STR_DAY_NUMBER_11TH :११ +STR_DAY_NUMBER_12TH :१२ +STR_DAY_NUMBER_13TH :१३ +STR_DAY_NUMBER_14TH :१४ +STR_DAY_NUMBER_15TH :१५ +STR_DAY_NUMBER_16TH :१६ +STR_DAY_NUMBER_17TH :१७ +STR_DAY_NUMBER_18TH :१८ +STR_DAY_NUMBER_19TH :१९ +STR_DAY_NUMBER_20TH :२० +STR_DAY_NUMBER_21ST :२१ +STR_DAY_NUMBER_22ND :२२ +STR_DAY_NUMBER_23RD :२३ +STR_DAY_NUMBER_24TH :२४ +STR_DAY_NUMBER_25TH :२५ +STR_DAY_NUMBER_26TH :२६ +STR_DAY_NUMBER_27TH :२७ +STR_DAY_NUMBER_28TH :२८ +STR_DAY_NUMBER_29TH :२९ +STR_DAY_NUMBER_30TH :३० +STR_DAY_NUMBER_31ST :३१ ############ range for days ends ############ range for months starts @@ -658,9 +678,7 @@ STR_PRESIDENT_NAME_MANAGER :{BLACK}{PRESIDE -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE -# end of order system +# Order review system / warnings STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} जुनी होत आहे STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} खूप जुनी होत आहे @@ -705,10 +723,6 @@ STR_GAME_OPTIONS_CURRENCY_SKK :स्लोव ############ end of currency region -############ start of measuring units region -############ end of measuring units region - - ############ start of townname region STR_GAME_OPTIONS_TOWN_NAME_FRENCH :फ्रेंच @@ -730,10 +744,12 @@ STR_GAME_OPTIONS_TOWN_NAME_ITALIAN :ईटेलि ############ end of townname region +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :दर महिने STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :दर ३ महिने STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :दर ६ महिने STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :दर १२ महिने +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}भाषा @@ -745,6 +761,7 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :अन्य + # Custom currency window @@ -767,7 +784,7 @@ STR_SUBSIDY_X4 :x४ -# Advanced settings window +# Settings tree window @@ -1121,6 +1138,8 @@ STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / +# NewGRF save preset window + # NewGRF parameters window STR_NEWGRF_PARAMETERS_SETTING :{STRING}: {ORANGE}{STRING} @@ -1177,7 +1196,8 @@ STR_GOALS_TEXT :{ORANGE}{STRING # Goal question window -### Start of Goal Question button list +############ Start of Goal Question button list +############ End of Goal Question button list # Subsidies window @@ -1286,6 +1306,7 @@ STR_GROUP_ALL_AIRCRAFTS :सर्व + STR_GROUP_REMOVE_ALL_VEHICLES :सगळे वाहने काढा @@ -1308,6 +1329,9 @@ STR_PURCHASE_INFO_COST_SPEED :{BLACK}कि + + + # Depot window STR_DEPOT_CAPTION :{WHITE}{DEPOT} @@ -1344,6 +1368,7 @@ STR_REPLACE_VEHICLE_AIRCRAFT :विमान + # Vehicle view STR_VEHICLE_VIEW_CAPTION :{WHITE}{VEHICLE} @@ -1509,6 +1534,7 @@ STR_ERROR_NOT_ALLOWED_WHILE_PAUSED :{WHITE} स् # Industry related errors + # Station construction related errors @@ -1791,8 +1817,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -1803,9 +1827,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/unfinished/persian.txt b/src/lang/unfinished/persian.txt index 4818aa2a50..b8f10533e3 100644 --- a/src/lang/unfinished/persian.txt +++ b/src/lang/unfinished/persian.txt @@ -65,8 +65,8 @@ STR_CARGO_SINGULAR_PASSENGER :مسافر STR_CARGO_SINGULAR_COAL :ذغال STR_CARGO_SINGULAR_MAIL :نامه STR_CARGO_SINGULAR_OIL :نفت -STR_CARGO_SINGULAR_LIVESTOCK :چارپایان -STR_CARGO_SINGULAR_GOODS :محصولات مصرفی +STR_CARGO_SINGULAR_LIVESTOCK :دام +STR_CARGO_SINGULAR_GOODS :کالا STR_CARGO_SINGULAR_GRAIN :غله STR_CARGO_SINGULAR_WOOD :چوب STR_CARGO_SINGULAR_IRON_ORE :سنگ آهن @@ -97,28 +97,28 @@ STR_CARGO_SINGULAR_FIZZY_DRINK :نوشابه گ STR_QUANTITY_NOTHING : STR_QUANTITY_PASSENGERS :{COMMA} مسافر{P "" ان} STR_QUANTITY_COAL :{WEIGHT_LONG} از زغال سنگ -STR_QUANTITY_MAIL :{COMMA}بسته نامه +STR_QUANTITY_MAIL :{COMMA}بسته پستی STR_QUANTITY_OIL :{VOLUME_LONG} نفت -STR_QUANTITY_LIVESTOCK :{COMMA} فقره از جارپایان -STR_QUANTITY_GOODS :{COMMA} جعبه{P ی های} محموله تجاری -STR_QUANTITY_GRAIN :{WEIGHT_LONG}حبوبات +STR_QUANTITY_LIVESTOCK :{COMMA}{NBSP}راس دام +STR_QUANTITY_GOODS :{COMMA}{NBSP}صندوق کالا +STR_QUANTITY_GRAIN :{WEIGHT_LONG} غله STR_QUANTITY_WOOD :{WEIGHT_LONG} چوب STR_QUANTITY_IRON_ORE :{WEIGHT_LONG} سنگ آهن STR_QUANTITY_STEEL :{WEIGHT_LONG} فولاد -STR_QUANTITY_VALUABLES :{COMMA} بسته{P "" های} اشیای قیمتی +STR_QUANTITY_VALUABLES :{COMMA}{NBSP}کیسه ارقام گرانبها STR_QUANTITY_COPPER_ORE :{WEIGHT_LONG} سنگ مس STR_QUANTITY_MAIZE :{WEIGHT_LONG} ذرت STR_QUANTITY_FRUIT :{WEIGHT_LONG} میوه -STR_QUANTITY_DIAMONDS :{COMMA} بسته{P "" های} الماس +STR_QUANTITY_DIAMONDS :{COMMA}{NBSP}کیسه الماس STR_QUANTITY_FOOD :{WEIGHT_LONG} غذا -STR_QUANTITY_PAPER :{WEIGHT_LONG}از کاغذ -STR_QUANTITY_GOLD :{COMMA} بسته‌ی طلا +STR_QUANTITY_PAPER :{WEIGHT_LONG} کاغذ +STR_QUANTITY_GOLD :{COMMA}{NBSP}کیسه طلا STR_QUANTITY_WATER :{VOLUME_LONG}از آب STR_QUANTITY_WHEAT :{WEIGHT_LONG} گندم STR_QUANTITY_RUBBER :{VOLUME_LONG} کائوچو STR_QUANTITY_SUGAR :{WEIGHT_LONG} شکر -STR_QUANTITY_TOYS :{COMMA} اسباب بازی -STR_QUANTITY_SWEETS :{COMMA} {P "" s}بسته شیرینی +STR_QUANTITY_TOYS :{COMMA}{NBSP}اسباب بازی +STR_QUANTITY_SWEETS :{COMMA}{NBSP}کیسه شیرینی STR_QUANTITY_COLA :{VOLUME_LONG} نوشابه STR_QUANTITY_CANDYFLOSS :{WEIGHT_LONG} پشمک STR_QUANTITY_BUBBLES :{COMMA} حباب @@ -165,12 +165,12 @@ STR_ABBREV_NONE :{TINY_FONT}NO STR_ABBREV_ALL :{TINY_FONT}همه # 'Mode' of transport for cargoes -STR_PASSENGERS :{COMMA} مسافر -STR_BAGS :{COMMA} کیف -STR_TONS :{COMMA} تن -STR_LITERS :{COMMA} لیتر -STR_ITEMS :{COMMA} فقره -STR_CRATES :{COMMA} جعبه +STR_PASSENGERS :{COMMA}{NBSP}مسافر{P "" s} +STR_BAGS :{COMMA}{NBSP}کیسه +STR_TONS :{COMMA}{NBSP}تن +STR_LITERS :{COMMA}{NBSP}لیتر +STR_ITEMS :{COMMA}{NBSP}عدد{P "" s} +STR_CRATES :{COMMA}{NBSP}صندوق} # Colours, do not shuffle STR_COLOUR_DARK_BLUE :آبی تیره @@ -191,30 +191,30 @@ STR_COLOUR_GREY :خاکستری STR_COLOUR_WHITE :سفید # Units used in OpenTTD -STR_UNITS_VELOCITY_IMPERIAL :{COMMA} مایل در ساعت -STR_UNITS_VELOCITY_METRIC :{COMMA} کیلومتر/ساعت -STR_UNITS_VELOCITY_SI :{COMMA} متر/ثانیه +STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}مایل بر ساعت +STR_UNITS_VELOCITY_METRIC :{COMMA}{NBSP}کیلومتر بر ساعت +STR_UNITS_VELOCITY_SI :{COMMA}{NBSP}متر بر ثانیه -STR_UNITS_POWER_IMPERIAL :{COMMA}اسب بخار -STR_UNITS_POWER_METRIC :{COMMA}اسب بخار -STR_UNITS_POWER_SI :{COMMA}کیلو وات +STR_UNITS_POWER_IMPERIAL :{COMMA}{NBSP}اسب بخار +STR_UNITS_POWER_METRIC :{COMMA}{NBSP}اسب بخار +STR_UNITS_POWER_SI :{COMMA}{NBSP}کیلووات -STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}تن -STR_UNITS_WEIGHT_SHORT_SI :{COMMA}کیلوگرم +STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}{NBSP}تن +STR_UNITS_WEIGHT_SHORT_SI :{COMMA}{NBSP}کیلوگرم -STR_UNITS_WEIGHT_LONG_METRIC :{COMMA} تن -STR_UNITS_WEIGHT_LONG_SI :{COMMA} کیلو گرم +STR_UNITS_WEIGHT_LONG_METRIC :{COMMA}{NBSP}تن +STR_UNITS_WEIGHT_LONG_SI :{COMMA}{NBSP}کیلوگرم -STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}لیتر -STR_UNITS_VOLUME_SHORT_SI :{COMMA}متر مکعب +STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}{NBSP}لیتر +STR_UNITS_VOLUME_SHORT_SI :{COMMA}{NBSP}متر مکعب -STR_UNITS_VOLUME_LONG_METRIC :{COMMA} لیتر -STR_UNITS_VOLUME_LONG_SI :{COMMA} متر مکعب +STR_UNITS_VOLUME_LONG_METRIC :{COMMA}{NBSP}لیتر{P "" s} +STR_UNITS_VOLUME_LONG_SI :{COMMA}{NBSP}متر مکعب -STR_UNITS_FORCE_SI :{COMMA} کیلو نیوتن +STR_UNITS_FORCE_SI :{COMMA}{NBSP}کیلو نیوتن -STR_UNITS_HEIGHT_IMPERIAL :{COMMA} پا -STR_UNITS_HEIGHT_SI :{COMMA} متر +STR_UNITS_HEIGHT_IMPERIAL :{COMMA}{NBSP}پا +STR_UNITS_HEIGHT_SI :{COMMA}{NBSP}متر # Common window strings STR_LIST_FILTER_TITLE :{BLACK}متن فیلتر: @@ -240,6 +240,17 @@ STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}نوار STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}نوار اسکرول - لیست را چپ و راست می کند STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}تخریب ساختمان و ... در بخشی از زمین.با فشردن همزمان دکمه Ctrl به طور مورب می توانید تخریب کنید.فشردن همزمان دکمه Shift برآورد هزینه را نمایش می دهد. +# Show engines button +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK} نمایش مخفی ها +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK} نمایش مخفی ها +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK} نمایش مخفی ها +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK} نمایش مخفی ها + +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}با فعال کردن این دکمه قطارهای مخفی نیز نمایش داده می شوند +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE_TOOLTIP :{BLACK}با فعال کردن این دکمه خودروهای مخفی نیز نمایش داده می شوند +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}با فعال کردن این دکمه کشتی های مخفی نیز نمایش داده می شوند +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}با فعال کردن این دکمه هواپیماهای مخفی نیز نمایش داده می شوند + # Query window STR_BUTTON_DEFAULT :{BLACK}حالت قراردادی STR_BUTTON_CANCEL :{BLACK}لغو @@ -292,7 +303,7 @@ STR_SORT_BY_POPULATION :جمعیت STR_SORT_BY_RATING :نرخ # Tooltips for the main toolbar -STR_TOOLBAR_TOOLTIP_PAUSE_GAME :{BLACK}متوقف کردن بازی +STR_TOOLBAR_TOOLTIP_PAUSE_GAME :{BLACK}وقفه موقت بازی STR_TOOLBAR_TOOLTIP_FORWARD :{BLACK}بالا بردن سرعت بازی STR_TOOLBAR_TOOLTIP_OPTIONS :{BLACK}تنضیمات STR_TOOLBAR_TOOLTIP_SAVE_GAME_ABANDON_GAME :{BLACK}ذخیره بازی، ترک بازی، خروج از بازی @@ -304,7 +315,7 @@ STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_FINANCES :{BLACK}اطلا STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_GENERAL :{BLACK}توضیحات کلی راجع به شرکت را نشان می دهد STR_TOOLBAR_TOOLTIP_DISPLAY_STORY_BOOK :{BLACK}نمایش کتابچه راهنما STR_TOOLBAR_TOOLTIP_DISPLAY_GOALS_LIST :{BLACK}نمایش لیست اهداف -STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}نمودار ها را نشان می دهد +STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}نمایش نمودارها STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_LEAGUE :{BLACK}جدول رده بندی شرکت ها را نشان می دهد STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}ساخت صنایع جدید یا لیست همه صنایع موجود STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}نمایش لیست قطار های شرکت، Ctrl+Click نمابش را بین گروه ها و قطار ها تغییر می دهد @@ -351,7 +362,6 @@ STR_SCENEDIT_FILE_MENU_QUIT :خروج ############ range for settings menu starts STR_SETTINGS_MENU_GAME_OPTIONS :تنظیمات بازی -STR_SETTINGS_MENU_CONFIG_SETTINGS :تنظیمات پیشرفته STR_SETTINGS_MENU_SCRIPT_SETTINGS :هوش مصنوعی / تنظیمات بازی STR_SETTINGS_MENU_NEWGRF_SETTINGS :تنظیمات NewGRF STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :گزینه های شفافیت @@ -460,7 +470,7 @@ STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :باز/بسته STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :نمایش/حذف بلوکهای کثیف ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window STR_ORDINAL_NUMBER_1ST :1 STR_ORDINAL_NUMBER_2ND :2 STR_ORDINAL_NUMBER_3RD :3 @@ -476,22 +486,40 @@ STR_ORDINAL_NUMBER_12TH :12 STR_ORDINAL_NUMBER_13TH :13 STR_ORDINAL_NUMBER_14TH :14 STR_ORDINAL_NUMBER_15TH :15 -STR_ORDINAL_NUMBER_16TH :16 -STR_ORDINAL_NUMBER_17TH :17 -STR_ORDINAL_NUMBER_18TH :18 -STR_ORDINAL_NUMBER_19TH :19 -STR_ORDINAL_NUMBER_20TH :20 -STR_ORDINAL_NUMBER_21ST :21 -STR_ORDINAL_NUMBER_22ND :22 -STR_ORDINAL_NUMBER_23RD :23 -STR_ORDINAL_NUMBER_24TH :24 -STR_ORDINAL_NUMBER_25TH :25 -STR_ORDINAL_NUMBER_26TH :26 -STR_ORDINAL_NUMBER_27TH :27 -STR_ORDINAL_NUMBER_28TH :28 -STR_ORDINAL_NUMBER_29TH :29 -STR_ORDINAL_NUMBER_30TH :30 -STR_ORDINAL_NUMBER_31ST :31 +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :1 +STR_DAY_NUMBER_2ND :2 +STR_DAY_NUMBER_3RD :3 +STR_DAY_NUMBER_4TH :4 +STR_DAY_NUMBER_5TH :5 +STR_DAY_NUMBER_6TH :6 +STR_DAY_NUMBER_7TH :7 +STR_DAY_NUMBER_8TH :8 +STR_DAY_NUMBER_9TH :9 +STR_DAY_NUMBER_10TH :10 +STR_DAY_NUMBER_11TH :11 +STR_DAY_NUMBER_12TH :12 +STR_DAY_NUMBER_13TH :13 +STR_DAY_NUMBER_14TH :14 +STR_DAY_NUMBER_15TH :15 +STR_DAY_NUMBER_16TH :16 +STR_DAY_NUMBER_17TH :17 +STR_DAY_NUMBER_18TH :18 +STR_DAY_NUMBER_19TH :19 +STR_DAY_NUMBER_20TH :20 +STR_DAY_NUMBER_21ST :21 +STR_DAY_NUMBER_22ND :22 +STR_DAY_NUMBER_23RD :23 +STR_DAY_NUMBER_24TH :24 +STR_DAY_NUMBER_25TH :25 +STR_DAY_NUMBER_26TH :26 +STR_DAY_NUMBER_27TH :27 +STR_DAY_NUMBER_28TH :28 +STR_DAY_NUMBER_29TH :29 +STR_DAY_NUMBER_30TH :30 +STR_DAY_NUMBER_31ST :31 ############ range for days ends ############ range for months starts @@ -524,7 +552,7 @@ STR_MONTH_DEC :دسامبر # Graph window STR_GRAPH_KEY_BUTTON :{BLACK}کلید -STR_GRAPH_KEY_TOOLTIP :{BLACK}نمایش کلید نمودار +STR_GRAPH_KEY_TOOLTIP :{BLACK}نمایش راهنمای نمودار STR_GRAPH_X_LABEL_MONTH :{TINY_FONT}{STRING}{} {STRING} STR_GRAPH_X_LABEL_MONTH_YEAR :{TINY_FONT}{STRING}{} {STRING}{}{NUM} STR_GRAPH_Y_LABEL :{TINY_FONT}{STRING} @@ -800,13 +828,12 @@ STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}{VEHICLE STR_NEWS_SHIP_IS_WAITING :{WHITE}{VEHICLE} در گاراژ منتظر است STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE}در آشیانه در حال انتظار است -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE +# Order review system / warnings STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :تعداد دستورهای نسبت داده ی {WHITE}{VEHICLE} کم تر از حد می باشد STR_NEWS_VEHICLE_HAS_VOID_ORDER :برنامه حرکت {WHITE}{VEHICLE} باطل شده است STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :برنامه جابجایی {WHITE}{VEHICLE} دستور تکراری دارد STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE} یک ایستگاه نا معتبر در برنامه جابجایی خود دارد -# end of order system +STR_NEWS_PLANE_USES_TOO_SHORT_RUNWAY :{WHITE}{VEHICLE} در دستور کارش فرودگاهی با طول باند کوتاه تر از حد لازم دارد. STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} قدیمی شده است STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} بسیار قدیمی شده است @@ -889,10 +916,6 @@ STR_GAME_OPTIONS_CURRENCY_GEL :لیره گرج STR_GAME_OPTIONS_CURRENCY_IRR :ریال ایران (IRR) ############ end of currency region - -############ start of measuring units region -############ end of measuring units region - STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK} خودروی جاده ای STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}انتخاب جهت فرمان ماشین ها STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :چپ فرمان @@ -928,11 +951,13 @@ STR_GAME_OPTIONS_TOWN_NAME_CATALAN :کاتالان STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK} ذخیره اتوماتیک STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK} انتخاب فاصله زمانی بین ذخیره کردن های اتوماتیک +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :خاموش STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :هر ماه STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :هر ۳ ماه STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :هر ۶ ماه STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :هر ۱۲ ماه +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}زبان STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}زبان واسط کاربری را برای استفاده انتخاب کنید @@ -944,8 +969,7 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}وضوح STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}وضوح تصویر دلخواه را انتخاب کنید STR_GAME_OPTIONS_RESOLUTION_OTHER :دیگر -STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}قالب ذخیره تصویر بازی -STR_GAME_OPTIONS_SCREENSHOT_FORMAT_TOOLTIP :{BLACK}قالب ذخیره تصویر بازی را انتخاب نمایید + STR_GAME_OPTIONS_BASE_GRF :{BLACK}بسته گرافیک پایه STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}بسته گرافیک پایه را انتخاب کنید @@ -961,6 +985,7 @@ STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}بسته STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} فایل خراب است STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}اطلاعات اضافه درباره بسته ی موسیقی پایه +STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}ناتوان در گرفتن تنظیمات نمایش STR_ERROR_FULLSCREEN_FAILED :{WHITE}حالت تمام صفحه با شکست مواجه شد # Custom currency window @@ -1046,8 +1071,7 @@ STR_CITY_APPROVAL_HOSTILE :دشمنانه STR_WARNING_NO_SUITABLE_AI :{WHITE}هیچ بسته هوش مصنوعی موجود نیست...{}شما می توانید چندین بسته هوش مصنوعی(AI) را از قسمت محتویات برخط بارگیری کنید -# Advanced settings window -STR_CONFIG_SETTING_CAPTION :{WHITE}تنظیمات پیشرفته +# Settings tree window STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}متن فیلتر: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}نمایش همه STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}جمع کردن همه @@ -1097,7 +1121,6 @@ STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS :خرابی وس STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER :ضریب سوبسید: {STRING} STR_CONFIG_SETTING_CONSTRUCTION_COSTS :هزینه های ساخت و ساز: {STRING} -STR_CONFIG_SETTING_BUILDONSLOPES :اجازه ساخت در دامنه ها و سواحل: {STRING} STR_CONFIG_SETTING_AUTOSLOPE :اجازه محوطه سازی در زیر ساختمان ، ریلها، و غیره (شیب خودکار): {STRING} STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :اجازه محوطه سازی در زیر ساختمان ، ریلها، و غیره بدون نیاز به تخریب STR_CONFIG_SETTING_CATCHMENT :واقع بینانه تر شدن اندازه حوضه آبریز: {STRING} @@ -1110,10 +1133,7 @@ STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL :روش سرعت STR_CONFIG_SETTING_PERCENTAGE :{COMMA}% STR_CONFIG_SETTING_FORBID_90_DEG :غیر قابل پیچیدن سر پیچ های ۹۰° برای قطار و کشتی ها: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :قابلیت اتصال ایستگاه هایی که مستقیما به هم وصل نیستند: {STRING} -STR_CONFIG_SETTING_IMPROVEDLOAD :استفاده از الگوریتم بهبود یافته برای بارگذاری : {STRING} -STR_CONFIG_SETTING_GRADUAL_LOADING :بارگیری وسایل نقلیه به تدریج: {STRING} STR_CONFIG_SETTING_INFLATION :تورم: {STRING} -STR_CONFIG_SETTING_SELECTGOODS :بار را فقط زمانی به ایستگاه تحویل بده که درخواستی برای آن باشد: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :حداکثر طول پل: {STRING} STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :حداکثر طول تونل: {STRING} STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :روش ساخت و ساز اولیه صنعت توسط کاربر: {STRING} @@ -1132,7 +1152,6 @@ STR_CONFIG_SETTING_STOP_LOCATION :توقف قطا STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :ابتدا STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :میانه STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :انتها -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING :جاده صف‌بندی خودروی جاده‌ای (با اثرات کوانتومی): {STRING} STR_CONFIG_SETTING_AUTOSCROLL :جابجا‌شدن نمایش هنگام نزدیک شدن نشانگر موس به لبه ها: {STRING} STR_CONFIG_SETTING_BRIBE :قابلیت رشوه دادن به مقامات محلی: {STRING} STR_CONFIG_SETTING_ALLOW_EXCLUSIVE :قابلیت انحصاری کردن حقوق حمل و نقل: {STRING} @@ -1147,8 +1166,6 @@ STR_CONFIG_SETTING_PLANE_CRASHES_REDUCED :کاهش STR_CONFIG_SETTING_PLANE_CRASHES_NORMAL :عادی STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :اجازه رانندگی در خیابان‌های شهر{STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :اجازه استفاده از جاده یک بازیکن توسط دیگر رقیبان: {STRING} -STR_CONFIG_SETTING_ADJACENT_STATIONS :قابلیت ساخت ایستگاه‌های متصل به هم: {STRING} -STR_CONFIG_SETTING_DYNAMIC_ENGINES :قابلیت استفاده از چندین بسته NewGRF: {STRING} STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}تغییر دادن این تنظیم هنگامی که خودرو وجود دارد ممکن نیست STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :تعمیر و نگهداری زیرساخت ها: {STRING} @@ -1166,26 +1183,40 @@ STR_CONFIG_SETTING_AUTORENEW_MONEY :کمترین ا STR_CONFIG_SETTING_POPULATION_IN_LABEL :نمایش جمعیت شهر در عنوان شهر: {STRING} STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :صخامت خط ها در گراف: {STRING} +STR_CONFIG_SETTING_LANDSCAPE :چشم انداز: {STRING} +STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :چشم اندازها سناریوهای پایه بازی را تعریف میکنند که شامل انواع مختلف محموله و نیز ضروریات رشد شهر میباشند.اما NewGRF و اسکریپت ها اجازه کنترل بر جزئیات بیشتری را میدهند. STR_CONFIG_SETTING_LAND_GENERATOR :طراح زمین: {STRING} +STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :نقشه ساز اوریجینال وابسته به ست پایه گرافیک بازی است و شامل اشکال ثابت چشم انداز میباشد. تراجنسیس نقشه سازی برپایه نویز پرلین است که امکانات کنترل جزئیات بیشتری در اختیار میگذارد. STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :اصلی STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :پیدایش زمین +STR_CONFIG_SETTING_TERRAIN_TYPE :نوع زمین: {STRING} +STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(فقط تراجنسیس) تپه دار بودن چشم انداز +STR_CONFIG_SETTING_INDUSTRY_DENSITY :تراکم مراکز تولید: {STRING} +STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :چند کارخانه باید ایجاد شود و در چه درجه ای باید در بازی نگهداری شود STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :تمام پالایشگاه ها در لبه های تقشه ساخته می شوند که ساحل جزیره است STR_CONFIG_SETTING_SNOWLINE_HEIGHT :ارتفاع خط برف: {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :پستی و بلندی های شدید (فقط در حالت «پیدایش زمین») : {STRING} +STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :ارتفاع خط برف را در مناطق نیمه قطبی کنترل کنید. وجود برف بر ایجاد صنایع و اقلام ضروری رشد شهر تاثیر میگذارد. +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :پستی و بلندی های زمین: {STRING} +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(فقط ترا جنسیس) چگونگی تکرار تپه ها را انتخاب کنید: چشم انداز آرام تعداد کمتری تپه با پراکندگی بیشتر دارد. چشم انداز خشن تپه های فراوانی دارد که ممکن است تکرار شده باشند. STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :بسیار هموار STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :هموار STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :ناهموار STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :بسیار ناهموار +STR_CONFIG_SETTING_VARIETY :توضیع انواع : {STRING} +STR_CONFIG_SETTING_VARIETY_HELPTEXT :(فقط TerraGenesis) کنترل آب و هوای نقشه شامل کوه و مناطق هموار می باشد. این فقط نقشه را هموارتر می سازد.تغییرات دیگر مربوط به کوه ها است +STR_CONFIG_SETTING_RIVER_AMOUNT :تعداد رودخانه ها: {STRING} +STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :تعداد رودخانه ها برای ساخت را مشخص نمایید STR_CONFIG_SETTING_TREE_PLACER :الگوریتم قرار دهنده مکان درخت‌ها: {STRING} +STR_CONFIG_SETTING_TREE_PLACER_HELPTEXT :نحوه توزیع درختان در نقشه را انتخاب کنید: "اوریجینال" درختان را به صورت یکسان پخش میکند. "بهبود یافته" درختان را به صورت گروهی میکارد STR_CONFIG_SETTING_TREE_PLACER_NONE :هیچکدام STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :اصلی STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :بهبودیافته +STR_CONFIG_SETTING_ROAD_SIDE :خودروهای جاده ای: {STRING} +STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :انتخاب جهت رانندگی STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :جهت چرخش نقشه بلندی: {STRING} STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :پادساعت‌گرد STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :ساعت‌گرد STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :سطح ارتفاعی که نقشه‌ی سناریو می‌تواند داشته باشد: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :فعال کردن محوطه سازی با قطعه‌ها در مرزهای نقشه: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES_HELPTEXT :در صورت غیر فعال شدن، تمامی لبه های نقشه دریا خواهد بود STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}یک یا چند قطعه در لبه شمالی که خالی نیست STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}یک یا چند قطعه در لبه شمالی که آب نیست @@ -1198,11 +1229,12 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :بنفش STR_CONFIG_SETTING_REVERSE_SCROLLING :برعکس کردن جهت حرکت کردن صفحه: {STRING} STR_CONFIG_SETTING_SMOOTH_SCROLLING :تصویر صاف در نمای اضافه: {STRING} STR_CONFIG_SETTING_MEASURE_TOOLTIP :نمایش متن کمکی وقتی از چندین ابزار استفاده می شود: {STRING} -STR_CONFIG_SETTING_LIVERIES :نمایش دخل و خرج شرکت: {STRING} +STR_CONFIG_SETTING_LIVERIES :نمایش طراحی مخصوص وسیله نقلیه : {STRING} +STR_CONFIG_SETTING_LIVERIES_HELPTEXT :کنترل موارد قابل استفاده برای طراحی مخصوص ماشین‌های جاده‌ای (در مقابل طراحی شرکت) STR_CONFIG_SETTING_LIVERIES_NONE :هیچکدام STR_CONFIG_SETTING_LIVERIES_OWN :شرکت خود STR_CONFIG_SETTING_LIVERIES_ALL :همه شرکت‌ها -STR_CONFIG_SETTING_PREFER_TEAMCHAT :چت با تیم با دکمه «Enter»: {STRING} +STR_CONFIG_SETTING_PREFER_TEAMCHAT :ترجیح برای چت با تیمِ «Enter»: {STRING} STR_CONFIG_SETTING_SCROLLWHEEL_SCROLLING :عمل غلطک ماوس: {STRING} STR_CONFIG_SETTING_SCROLLWHEEL_ZOOM :بزرگنمایی نقشه STR_CONFIG_SETTING_SCROLLWHEEL_SCROLL :جابجا کردن نقشه @@ -1216,22 +1248,22 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :خاموش STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :حرکت در نقشه با کلیک چپ:: {STRING} +STR_CONFIG_SETTING_AUTOSAVE :ذخیره خودکار: {STRING} +STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :انتخاب فاصله زمانی بین ذخیره کردن های خودکار + STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :از این {STRING} برای نام فایل‌های ذخیره استفاده کن STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :طولانی (31st Dec 2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :کوتاه(31-12-2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE :پالت پیش فرض برای NewGRF هایی که پالتی برایشان مشخص نگردیده: {STRING} -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_DOS :پالت سیستم عامل داس -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_WIN :پالت ویندوز - STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :توقف خودکار هنگام آغاز بازی جدید: {STRING} STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :قابلیت ها در زمان متوقف بودن بازی: {STRING} +STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_HELPTEXT :انتخاب کارکرد مورد نظر در هنگام متوقف کردن بازی STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :هیچ کار STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :همه کارها غیر از ساخت و ساز STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :همه کارها به جز تغییر پستی/بلندی زمین STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_ACTIONS :همه کارها -STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :اسنفاده از لیست پیشرفته خودرو: {STRING} +STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :اسنفاده گروهی از لیست خودرو: {STRING} STR_CONFIG_SETTING_LOADING_INDICATORS :استفاده از نشانه‌های بارگیری/بارگذاری: {STRING} STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :استفاده از تیک(هزارم ثانیه) به جای روز در برنامه ساعتی: {STRING} STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE :نشان دادن ورود و خروج در جدول زمانی: {STRING} @@ -1337,7 +1369,6 @@ STR_CONFIG_SETTING_TOWN_GROWTH_NORMAL :عادی STR_CONFIG_SETTING_TOWN_GROWTH_FAST :تند STR_CONFIG_SETTING_TOWN_GROWTH_VERY_FAST :بسیار تند STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :مضرب ابتدایی اندازه شهرستان: {STRING} -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :حذف عناصر پوچ جاده در طول ساخت و ساز جاده: {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :واحدهای سرعت: {STRING} @@ -1371,25 +1402,18 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :امپریال STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :متریک (m) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :متر (m) -STR_CONFIG_SETTING_GUI :{ORANGE}واسط کاربری STR_CONFIG_SETTING_LOCALISATION :{ORANGE}بومی سازی -STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}ساخت و ساز +STR_CONFIG_SETTING_INTERFACE :{ORANGE}واسط کاربری +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}ساخت و ساز STR_CONFIG_SETTING_VEHICLES :{ORANGE}وسایل نقلیه -STR_CONFIG_SETTING_STATIONS :{ORANGE}ایستگاه ها -STR_CONFIG_SETTING_ECONOMY :{ORANGE}اقتصاد -STR_CONFIG_SETTING_LINKGRAPH :{ORANGE}توزیع محموله -STR_CONFIG_SETTING_AI :{ORANGE}رقیبان -STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}نمایش گزینه ها -STR_CONFIG_SETTING_INTERACTION :{ORANGE}اثرمتقابل -STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}نشانگرها -STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE}مدیریت محموله -STR_CONFIG_SETTING_AI_NPC :{ORANGE}بازیگران رایانه -STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE}نوسازی خودکار -STR_CONFIG_SETTING_VEHICLES_SERVICING :{ORANGE}تعمیر و بازبینی STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}مسیریابی -STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}قطارها -STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}شهرها -STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}صنایع +STR_CONFIG_SETTING_ENVIRONMENT :{ORANGE}محیط زیست +STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :{ORANGE}مقامات +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}شهرها +STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}صنایع +STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :{ORANGE}توزیع محموله +STR_CONFIG_SETTING_AI :{ORANGE}رقیبان +STR_CONFIG_SETTING_AI_NPC :{ORANGE}بازیگران رایانه STR_CONFIG_SETTING_PATHFINDER_OPF :اصلی STR_CONFIG_SETTING_PATHFINDER_NPF :NPF @@ -1421,14 +1445,13 @@ STR_CONFIG_ERROR_INVALID_SAVEGAME_COMPRESSION_ALGORITHM :{WHITE}... قا STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} STR_INTRO_NEW_GAME :{BLACK}بازی جدید -STR_INTRO_LOAD_GAME :{BLACK}ادامه بازی های قبلی +STR_INTRO_LOAD_GAME :{BLACK}بارگذاری بازی های ذخیره شده STR_INTRO_PLAY_SCENARIO :{BLACK}بازی سناریو STR_INTRO_PLAY_HEIGHTMAP :{BLACK}بازی نقشه پستی/بلندی STR_INTRO_SCENARIO_EDITOR :{BLACK}ساخت سناریو STR_INTRO_MULTIPLAYER :{BLACK}بازی چند نفره STR_INTRO_GAME_OPTIONS :{BLACK}تنضیمات بازی -STR_INTRO_ADVANCED_SETTINGS :{BLACK}تنظیمات پیشرفته STR_INTRO_NEWGRF_SETTINGS :{BLACK}تنظیمات NewGRF STR_INTRO_ONLINE_CONTENT :{BLACK}چک کردن محتوی آنلاین STR_INTRO_SCRIPT_SETTINGS :{BLACK} تنظیمات هوش مصنوعی / اسکریپت @@ -1447,7 +1470,6 @@ STR_INTRO_TOOLTIP_SUB_TROPICAL_LANDSCAPE :{BLACK}انتخ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}انتخاب «سرزمین اسباب بازی‌ها» برای سبک بازی STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}نشان دادن تنظیمات بازی -STR_INTRO_TOOLTIP_ADVANCED_SETTINGS :{BLACK}نمایش تنظیمات پیشرفته STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}نمایش تنظیمات NewGRF STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}بررسی وجود مجموعه ها و به روز رسانی های جدید در اینترنت STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}نمایش تنظیمات هوش مصنوعی و اسکریپت های بازی @@ -1629,7 +1651,7 @@ STR_NETWORK_SERVER_LIST_SERVER_FULL :{SILVER}سرو STR_NETWORK_SERVER_LIST_VERSION_MISMATCH :{SILVER}عدم مطابقت ویرایش STR_NETWORK_SERVER_LIST_GRF_MISMATCH :{SILVER}عدم مطابقت NewGRF -STR_NETWORK_SERVER_LIST_JOIN_GAME :{BLACK}ورود به بازی +STR_NETWORK_SERVER_LIST_JOIN_GAME :{BLACK}الحاق به بازی STR_NETWORK_SERVER_LIST_REFRESH :{BLACK}تازه سازی سرویس دهنده STR_NETWORK_SERVER_LIST_REFRESH_TOOLTIP :{BLACK}تازه سازی اطلاعات سرویس دهنده @@ -1977,8 +1999,8 @@ STR_STATION_BUILD_COVERAGE_OFF :{BLACK}خامو STR_STATION_BUILD_COVERAGE_ON :{BLACK}روشن STR_STATION_BUILD_COVERAGE_AREA_OFF_TOOLTIP :{BLACK}منطقه تحت پوشش از سایت پیشنهادی را نشان نده STR_STATION_BUILD_COVERAGE_AREA_ON_TOOLTIP :{BLACK}منطقه تحت پوشش از سایت پیشنهادی را نشان بده -STR_STATION_BUILD_ACCEPTS_CARGO :{GOLD}{CARGO_LIST}{BLACK}قبول می کند: -STR_STATION_BUILD_SUPPLIES_CARGO :{GOLD}{CARGO_LIST}{BLACK}تدارکات: +STR_STATION_BUILD_ACCEPTS_CARGO :{BLACK}قبول میکند: {GOLD}{CARGO_LIST} +STR_STATION_BUILD_SUPPLIES_CARGO :{BLACK}تدارکات: {GOLD}{CARGO_LIST} # Join station window STR_JOIN_STATION_CAPTION :{WHITE}پیوستن ایستگاه @@ -2366,7 +2388,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-2014 The OpenTTD team +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2015 The OpenTTD team # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}ذخیره ی بازی @@ -2393,7 +2415,7 @@ STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}NewGRF: STR_SAVELOAD_OSKTITLE :{BLACK}نام فایل ذخیره بازی را وارد کنید # World generation -STR_MAPGEN_WORLD_GENERATION_CAPTION :{WHITE}سازنده دنیا +STR_MAPGEN_WORLD_GENERATION_CAPTION :{WHITE}ساخت دنیا STR_MAPGEN_MAPSIZE :{BLACK}اندازه نقشه: STR_MAPGEN_BY :{BLACK}* STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}تعداد شهرها: @@ -2402,10 +2424,6 @@ STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}تعدا STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}ارتفاع خط برف: STR_MAPGEN_SNOW_LINE_UP :{BLACK}اضافه کردن یک واحد به ارتفاع خط برف STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}کم کردن یک واحد از ارتفاع خط برف -STR_MAPGEN_RANDOM_SEED :{BLACK}شماره ساخت تصادفی: -STR_MAPGEN_RANDOM_SEED_HELP :{BLACK}برای وارد کردن شماره تصادفی کلیک کنید -STR_MAPGEN_RANDOM :{BLACK}انتخاب تصادفی -STR_MAPGEN_RANDOM_HELP :{BLACK}شماره ساخت تصادفی برای ساخت زمین و پستی و بلندی ها به کار می رود STR_MAPGEN_LAND_GENERATOR :{BLACK}سازنده زمین: STR_MAPGEN_TREE_PLACER :{BLACK}الگوریتم درخت ها: STR_MAPGEN_TERRAIN_TYPE :{BLACK}نوع پستی/بلندی: @@ -2432,7 +2450,6 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}نام STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}اندازه: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} -STR_MAPGEN_RANDOM_SEED_OSKTITLE :{BLACK}یک عدد تصادفی وارد کنید STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}تغییر ارتفاع خط برف STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}تغییر سال آغاز @@ -2454,7 +2471,7 @@ STR_GENERATION_ABORT_CAPTION :{WHITE}لغو STR_GENERATION_ABORT_MESSAGE :{YELLOW}آیا مطمئنید که می خواهید روند ساخت را متوقف کنید؟ STR_GENERATION_PROGRESS :{WHITE}{NUM}% کامل شده STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} -STR_GENERATION_WORLD_GENERATION :{BLACK}ساختن دنیا +STR_GENERATION_WORLD_GENERATION :{BLACK}ساخت دنیا STR_GENERATION_RIVER_GENERATION :{BLACK}ساخت رودخانه STR_GENERATION_TREE_GENERATION :{BLACK}ساختن درخت STR_GENERATION_OBJECT_GENERATION :{BLACK}ساختن اشیاء @@ -2487,6 +2504,8 @@ STR_NEWGRF_SETTINGS_MOVEUP :{BLACK}حرکت STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP :{BLACK}NewGRF انتخاب شده را به بالا می فرستد STR_NEWGRF_SETTINGS_MOVEDOWN :{BLACK}حرکت به پایین STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP :{BLACK}NewGRF انتخاب شده را به پایین می فرستد +STR_NEWGRF_SETTINGS_UPGRADE :{BLACK}بروزرسانی +STR_NEWGRF_SETTINGS_UPGRADE_TOOLTIP :{BLACK}NewGRF هایی که ویرایش جدیدترشان را دارید به روزرسانی کنید STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}یک لیست از فایلهای NewGRF که نصب شده است STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}ثبت پارامترها @@ -2511,6 +2530,16 @@ STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}فایل STR_NEWGRF_SETTINGS_DISABLED :{RED}غیرفعال STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}با این ورژن از OpenTTD همخوانی ندارد +# NewGRF save preset window +STR_SAVE_PRESET_CAPTION :{WHITE}ذخیره لیست +STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK}لیست های موجود،برای کپی یکی را انتخاب کنید +STR_SAVE_PRESET_TITLE :{BLACK}یک نام برای لیست وارد کنید +STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}لیست انتخاب شده برای ذخیره +STR_SAVE_PRESET_CANCEL :{BLACK}لغو +STR_SAVE_PRESET_CANCEL_TOOLTIP :{BLACK}تغییر ندادن لیست +STR_SAVE_PRESET_SAVE :{BLACK}ذخیره +STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}ذخیره لیست در نام انتخاب شده + # NewGRF parameters window STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}تغییر پارامترهای NewGRF STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}بسته @@ -2538,10 +2567,9 @@ STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}نمای STR_SPRITE_ALIGNER_GOTO_BUTTON :{BLACK}رفتن به تصویر STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}رفتن به تصویر بعد. اگر تصویر معمولی نیست به تصویر معمولی بعدی می رود STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}تصویر قبلی -STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}نمایش تصویر عادی قبلی، بدون انجام دادن هر گونه تغییرات بر آخر +STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}نمایش تصویر عادی قبلی، بدون انجام دادن هر گونه تغییرات STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}نمایش تصویر انتخاب شده. تغییر مکان تصویر در زمان بارگزاری اعمال نمی شود STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}تغییر مکان تصویر، تغییر مقدار اضافه شونده به X و Y -STR_SPRITE_ALIGNER_OFFSETS :{BLACK}مقدار اضافه شونده به X: {NUM}, مقدار اضافه شونده به Y: {NUM} STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}برداشتن تصویر STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}برداشتن یک تصویر از یک نقطه از صفحه نمایش @@ -2644,7 +2672,7 @@ STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (هنوز نیاز است) STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (دریافت گردیده) STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}رشد شهر هر {ORANGE}{COMMA}{BLACK} روز -STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}رشد شهر هر {ORANGE}{COMMA}{BLACK} روز (ساخته شده) +STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}رشد شهر هر {ORANGE}{COMMA}{BLACK} روز (بنیان شده) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}شهر رشد {RED}نمی {BLACK} کند STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}حد سروصدا در شهر: {ORANGE}{COMMA}{BLACK} بیشینه: {ORANGE}{COMMA} STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}نمایش شهر در وسط صفحه نمایش. کنترل+کلیک یک نمای اضافه از شهر باز می کند @@ -2701,7 +2729,7 @@ STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}روی # Goal question window STR_GOAL_QUESTION_CAPTION_QUESTION :سوال -### Start of Goal Question button list +############ Start of Goal Question button list STR_GOAL_QUESTION_BUTTON_CANCEL :لغو STR_GOAL_QUESTION_BUTTON_OK :باشد STR_GOAL_QUESTION_BUTTON_NO :خیر @@ -2720,6 +2748,7 @@ STR_GOAL_QUESTION_BUTTON_RESTART :راه‌اند STR_GOAL_QUESTION_BUTTON_POSTPONE :به تاخیر انداختن STR_GOAL_QUESTION_BUTTON_SURRENDER :تسلیم STR_GOAL_QUESTION_BUTTON_CLOSE :بستن +############ End of Goal Question button list # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}یارانه ها @@ -2747,7 +2776,6 @@ STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}هیچ # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} -STR_STATION_VIEW_WAITING_TITLE :{BLACK}در انتظار: {WHITE}{STRING} STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} منشعب شده از {STATION}) @@ -2919,6 +2947,7 @@ STR_VEHICLE_LIST_SEND_AIRCRAFT_TO_HANGAR :فرستادن + # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :قطار جدید STR_BUY_VEHICLE_TRAIN_MONORAIL_CAPTION :قطار جدید مونوریل @@ -2933,8 +2962,8 @@ STR_PURCHASE_INFO_SPEED_CANAL :{BLACK}سرعت STR_PURCHASE_INFO_REFITTABLE :(قابل تعمیر) STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}برد: {GOLD}{COMMA} قطعه -STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}لیست انتخاب قطار - برای اطلاعات بیشتر روی وسیله کلیک کنید -STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}لیست انتخاب کشتی - برای اطلاعات بیشتر روی کشتی کلیک کنید +STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}لیست انتخاب قطار - برای اطلاعات بیشتر روی وسیله کلیک کنید. برای مخفی یا پدیدار کردن انواع قطار کنترل+کلیک کنید +STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}لیست انتخاب کشتی - برای اطلاعات بیشتر روی کشتی کلیک کنید. برای مخفی یا دوباره پدیدار کردن نوع کشتی ها، کنترل+کلیک کنید STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}لیست انتخاب هواپیما - برای اطلاعات بیشتر روی هواپیما کلیک کنید STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}ساخت وسیله نقلیه @@ -2955,6 +2984,21 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}تغیی STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}نام گذاری مجدد نوع کشتی STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}نامگذاری مجدد نوع هواپیما +STR_BUY_VEHICLE_TRAIN_HIDE_TOGGLE_BUTTON :{BLACK}مخفی +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_TOGGLE_BUTTON :{BLACK}مخفی +STR_BUY_VEHICLE_SHIP_HIDE_TOGGLE_BUTTON :{BLACK}مخفی +STR_BUY_VEHICLE_AIRCRAFT_HIDE_TOGGLE_BUTTON :{BLACK}مخفی + +STR_BUY_VEHICLE_TRAIN_SHOW_TOGGLE_BUTTON :{BLACK}نمایش +STR_BUY_VEHICLE_ROAD_VEHICLE_SHOW_TOGGLE_BUTTON :{BLACK}نمایش +STR_BUY_VEHICLE_SHIP_SHOW_TOGGLE_BUTTON :{BLACK}نمایش +STR_BUY_VEHICLE_AIRCRAFT_SHOW_TOGGLE_BUTTON :{BLACK}نمایش + +STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}میخ مخفی کردن/ نمایش دادن مدل قطار ها +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}میخ مخفی کردن/ نمایش دادن مدل خودرو ها +STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}میخ مخفی کردن/ نمایش دادن مدل کشتی ها +STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :میخ مخفی کردن/نمایش دادن مدل های هواپیما + STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}تغییر نام انواع قطار ها STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}تغییر نام انواع ماشین ها STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}نام گذاری مجدد نوع کشتی @@ -3016,6 +3060,11 @@ STR_REPLACE_VEHICLE_ROAD_VEHICLE :ماشین STR_REPLACE_VEHICLE_SHIP :کشتی STR_REPLACE_VEHICLE_AIRCRAFT :هواپیما +STR_REPLACE_VEHICLE_VEHICLES_IN_USE :{YELLOW}وسیله در حال استفاده است +STR_REPLACE_VEHICLE_VEHICLES_IN_USE_TOOLTIP :{BLACK}ستون وسیله های شما +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES :{YELLOW}وسیله های موجود +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES_TOOLTIP :{BLACK} ستون با وسیله نقلیه آماده جایگزینی می باشد + @@ -3080,7 +3129,7 @@ STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}بیشی STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}ظرفیت: {LTBLUE}{CARGO_LONG}, {CARGO_LONG}{STRING} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}فاصله ی زمانی بین تعمیرات دوره ای: {LTBLUE}{COMMA}روز {BLACK} آخیرین تعمسرات: {LTBLUE}{DATE_LONG} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}فاصله ی زمانی بین تعمیرات دوره ای: {LTBLUE}{COMMA}روز {BLACK} آخیرین تعمیرات: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}افزایش مدت سرویس به مقدار 10. برای افزایش به مقدار 5 باید Ctrl+Click کنید STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}کاهش مدت سرویس به مقدار 10، برای کاهش به مقدار 5 باید Ctrl+Click کنید @@ -3178,6 +3227,10 @@ STR_ORDER_OUT_OF_RANGE :{RED} (مقصد # Time table window +STR_TIMETABLE_TRAVEL_FOR_ESTIMATED :حرکت ({STRING}, برنامه ریزی نشده است) +STR_TIMETABLE_TRAVEL_FOR_SPEED_ESTIMATED :حرکت ({STRING}, برنامه ریزی نشده است) با حداکثر {VELOCITY} +STR_TIMETABLE_STAY_FOR_ESTIMATED :(توقف برای {STRING}, برنامه ریزی نشده است) +STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(دستور کار {STRING}, برنامه ریزی نشده است) @@ -3342,6 +3395,9 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... جن STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... فقط روی خط برف می توان ساخت STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... فقط زیر خط برف می توان ساخت +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}این منطقه مکان خوبی برای ایجاد '{STRING}' نمی باشد +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}تنظیمات نقشه را برای بهتر کردن آن تغییر دهید + # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}اینجا نمی شود ایستگاه راه آهن ساخت STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}اینجا ایستگاه اتوبوس نمی شود ساخت @@ -3711,8 +3767,8 @@ STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_PASSENGER_CAR :واگن مسا STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_MAIL_VAN :واگن نامه STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_COAL_CAR :واگن ذغال STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_OIL_TANKER :تانکر نفت -STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_LIVESTOCK_VAN :واگن فرآورده های حیوانی -STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_GOODS_VAN :واگن محصولات +STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_LIVESTOCK_VAN :کامیون حمل دام +STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_GOODS_VAN :کامیون حمل کالا STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_GRAIN_HOPPER :واگن حمل حبوبات STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_WOOD_TRUCK :واگن چوب بری STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_IRON_ORE_HOPPER :واگن سنگ آهن @@ -3815,7 +3871,7 @@ STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_MAIL_TRUCK :کامیون ح STR_VEHICLE_NAME_ROAD_VEHICLE_WITCOMBE_OIL_TANKER :تانکر نفت Witcombe STR_VEHICLE_NAME_ROAD_VEHICLE_FOSTER_OIL_TANKER :تانکر نفت Foster STR_VEHICLE_NAME_ROAD_VEHICLE_PERRY_OIL_TANKER :تانکر نفت Perry -STR_VEHICLE_NAME_ROAD_VEHICLE_TALBOTT_LIVESTOCK_VAN :واگن حمل فرآورده های حیوانی Talbott +STR_VEHICLE_NAME_ROAD_VEHICLE_TALBOTT_LIVESTOCK_VAN :واگن حمل دام تالبوت STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_LIVESTOCK_VAN :واگن حمل فرآورده های حیوانی Uhl STR_VEHICLE_NAME_ROAD_VEHICLE_FOSTER_LIVESTOCK_VAN :واگن حمل فرآورده های حیوانی Foster STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_GOODS_TRUCK :کامیون محصولات Balogh @@ -3987,6 +4043,7 @@ STR_COMPANY_NAME :{COMPANY} STR_COMPANY_NAME_COMPANY_NUM :{COMPANY} {COMPANY_NUM} STR_DEPOT_NAME :{DEPOT} STR_ENGINE_NAME :{ENGINE} +STR_HIDDEN_ENGINE_NAME :{ENGINE} (مخفی) STR_GROUP_NAME :{GROUP} STR_INDUSTRY_NAME :{INDUSTRY} STR_PRESIDENT_NAME :{PRESIDENT_NAME} @@ -4022,8 +4079,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -4034,9 +4089,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/unfinished/urdu.txt b/src/lang/unfinished/urdu.txt index 3bae28dce7..6c06797e66 100644 --- a/src/lang/unfinished/urdu.txt +++ b/src/lang/unfinished/urdu.txt @@ -206,16 +206,16 @@ STR_UNITS_WEIGHT_SHORT_SI :{COMMA} kg STR_UNITS_WEIGHT_LONG_METRIC :{COMMA} من STR_UNITS_WEIGHT_LONG_SI :{COMMA} kg -STR_UNITS_VOLUME_SHORT_METRIC :{COMMA} l -STR_UNITS_VOLUME_SHORT_SI :{COMMA}m³ +STR_UNITS_VOLUME_SHORT_METRIC :I{NBSP}{COMMA} +STR_UNITS_VOLUME_SHORT_SI :{NBSP}{COMMA}کیوبک میٹر -STR_UNITS_VOLUME_LONG_METRIC :{COMMA} لیٹر -STR_UNITS_VOLUME_LONG_SI :{COMMA} m³ +STR_UNITS_VOLUME_LONG_METRIC :{NBSP}{COMMA} لیٹر +STR_UNITS_VOLUME_LONG_SI :{NBSP}{COMMA}کیوبک میٹر -STR_UNITS_FORCE_SI :{COMMA} kN +STR_UNITS_FORCE_SI :{NBSP}{COMMA}کلو نیوٹن -STR_UNITS_HEIGHT_IMPERIAL :{COMMA} فٹ -STR_UNITS_HEIGHT_SI :{COMMA} میٹر +STR_UNITS_HEIGHT_IMPERIAL :{NBSP}{COMMA} فٹ +STR_UNITS_HEIGHT_SI :{NBSP}{COMMA} میٹر # Common window strings STR_LIST_FILTER_OSKTITLE :{BLACK} چھان کے الفاظ درج کیجیئے @@ -239,6 +239,17 @@ STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK} فھر STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK} فھرستی پٹی - فھرست کو دایئں بایئں کرنے کے لیے STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}زمین کے ایک مربے پر عمارتیں وغیرہ گرائیں. Ctrl ترچھے انداز میں علاقے کا انتخاب کرتا ہے. عمارتیں یا انکی لاگت تخمینہ دیکھنے کے لئے Shift کا استعمال کیجیے. +# Show engines button +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}پوشیدہ دکهایں +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK}پوشیدہ دکهایں +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}پوشیدہ دکهایں +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}پوشیدہ دکهایں + +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}اس بٹن سے پوشیدہ ٹرینیں نظر آیں گی +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE_TOOLTIP :{BLACK}اس بٹن سے پوشیدہ گاڑیاں نظر آیں گی +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}اس بٹن سے پوشیدہ بہری جہاز نظر آیں گے +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}اس بٹن سے پوشیدہ طیارے نظر آیں گے + # Query window STR_BUTTON_DEFAULT :{BLACK}طے شدہ STR_BUTTON_CANCEL :{BLACK} ترک کیجیئے @@ -311,9 +322,9 @@ STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_IN :{BLACK}بڑا STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_OUT :{BLACK}چھوٹا کر کے دکھاو STR_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}ریل کی پٹری بچھاو STR_TOOLBAR_TOOLTIP_BUILD_ROADS :{BLACK}سڑکیں بناو -STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}بندرگاہیں بناو -STR_TOOLBAR_TOOLTIP_BUILD_AIRPORTS :{BLACK}ہوای اڈے بناو -STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK} منظر کشی ٹول بآر کھولیئے اور زمین اوپر نیچے، درخت لگایئے، وغیرھ +STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}بندرگاہیں بنایں +STR_TOOLBAR_TOOLTIP_BUILD_AIRPORTS :{BLACK}ہوای اڈے بنایں +STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}منظر کشی ٹول بآر کھولیئے اور زمین اوپر نیچےکریں، درخت لگایئے، وغیره STR_TOOLBAR_TOOLTIP_SHOW_SOUND_MUSIC_WINDOW :{BLACK} آواز/موسیقی ونڈو دکھایئے STR_TOOLBAR_TOOLTIP_SHOW_LAST_MESSAGE_NEWS :{BLACK} آخری پیغام/ خبر دکھایئے، پیغام کے اختیارات کھولیئے STR_TOOLBAR_TOOLTIP_LAND_BLOCK_INFORMATION :{BLACK}زمینی رقبہ کی معلومات، کانسول،AI debug ،اسکرین شاٹس، Open TTD کے بارے میں @@ -347,7 +358,6 @@ STR_SCENEDIT_FILE_MENU_QUIT :باہر نکل ############ range for settings menu starts STR_SETTINGS_MENU_GAME_OPTIONS :کھیل کے اختیارات -STR_SETTINGS_MENU_CONFIG_SETTINGS :اعلی اختیارات STR_SETTINGS_MENU_SCRIPT_SETTINGS :AI / کھیل کے اختیارات STR_SETTINGS_MENU_NEWGRF_SETTINGS :NewGRF اختیارات STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Transparency کے اختیارات @@ -453,7 +463,7 @@ STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :احاطہ کر STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :گندے بلاکوں کا رنگ تبدیل کرو ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window STR_ORDINAL_NUMBER_1ST :پھل STR_ORDINAL_NUMBER_2ND :دوسر STR_ORDINAL_NUMBER_3RD :تیسر @@ -469,22 +479,40 @@ STR_ORDINAL_NUMBER_12TH :بارھو STR_ORDINAL_NUMBER_13TH :تیرھو STR_ORDINAL_NUMBER_14TH :چودھو STR_ORDINAL_NUMBER_15TH :پندھرو -STR_ORDINAL_NUMBER_16TH :سولھو -STR_ORDINAL_NUMBER_17TH :سترھو -STR_ORDINAL_NUMBER_18TH :اٹھارو -STR_ORDINAL_NUMBER_19TH :انیسو -STR_ORDINAL_NUMBER_20TH :بیسو -STR_ORDINAL_NUMBER_21ST :اکیسو -STR_ORDINAL_NUMBER_22ND :بایئسو -STR_ORDINAL_NUMBER_23RD :تیئسو -STR_ORDINAL_NUMBER_24TH :چوبیسو -STR_ORDINAL_NUMBER_25TH :پچیسو -STR_ORDINAL_NUMBER_26TH :چھبیسو -STR_ORDINAL_NUMBER_27TH :ستایئسو -STR_ORDINAL_NUMBER_28TH :اٹھایئسو -STR_ORDINAL_NUMBER_29TH :انتیسو -STR_ORDINAL_NUMBER_30TH :تیسو -STR_ORDINAL_NUMBER_31ST :اکتیسو +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :پھل +STR_DAY_NUMBER_2ND :دوسر +STR_DAY_NUMBER_3RD :تیسر +STR_DAY_NUMBER_4TH :چوتھ +STR_DAY_NUMBER_5TH :پانچھو +STR_DAY_NUMBER_6TH :چھٹ +STR_DAY_NUMBER_7TH :ساتو +STR_DAY_NUMBER_8TH :آٹھو +STR_DAY_NUMBER_9TH :نو +STR_DAY_NUMBER_10TH :دسو +STR_DAY_NUMBER_11TH :گیارھو +STR_DAY_NUMBER_12TH :بارھو +STR_DAY_NUMBER_13TH :تیرھو +STR_DAY_NUMBER_14TH :چودھو +STR_DAY_NUMBER_15TH :پندھرو +STR_DAY_NUMBER_16TH :سولھو +STR_DAY_NUMBER_17TH :سترھو +STR_DAY_NUMBER_18TH :اٹھارو +STR_DAY_NUMBER_19TH :انیسو +STR_DAY_NUMBER_20TH :بیسو +STR_DAY_NUMBER_21ST :اکیسو +STR_DAY_NUMBER_22ND :بایئسو +STR_DAY_NUMBER_23RD :تیئسو +STR_DAY_NUMBER_24TH :چوبیسو +STR_DAY_NUMBER_25TH :پچیسو +STR_DAY_NUMBER_26TH :چھبیسو +STR_DAY_NUMBER_27TH :ستایئسو +STR_DAY_NUMBER_28TH :اٹھایئسو +STR_DAY_NUMBER_29TH :انتیسو +STR_DAY_NUMBER_30TH :تیسو +STR_DAY_NUMBER_31ST :اکتیسو ############ range for days ends ############ range for months starts @@ -783,13 +811,11 @@ STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}{VEHICLE STR_NEWS_SHIP_IS_WAITING :{WHITE}{VEHICLE} اڈے میں انتظار کر رہا یے STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE} ہوائی یینگر میں انتظار کر رہا یے -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE +# Order review system / warnings STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE} کے پاس اوقات کے جدول کے مطابق احکامات بہت کم ہیں STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE} کے پاس غلط (بے کار) حکم ہے STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE} کے پاس ایسا ہی حکم پہلے سے ہے STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE} کے پاس احکامات میں ایک ختم شدہ اسٹیشن ہے -# end of order system STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} پرانا ہو رہا ہے STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} بہت پرانا ہو رہا ہے @@ -868,10 +894,6 @@ STR_GAME_OPTIONS_CURRENCY_ZAR :جنوبی اف STR_GAME_OPTIONS_CURRENCY_CUSTOM :اپنی مرضی کی ۔۔۔ ############ end of currency region - -############ start of measuring units region -############ end of measuring units region - STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}گاڑیاں STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}اختیار کریں کہ گاڑی سڑک کی کس طرف چلے STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :بائیں طرف چلے @@ -907,11 +929,13 @@ STR_GAME_OPTIONS_TOWN_NAME_CATALAN :کاٹالن STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}خود مختار بچاو STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}خودمختار کھیل بچانے کے درمیان وقفہ اختیار کریں +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :بند STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :ہر مہینے STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :ہر سہ ماہی STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :ہر شش ماہی STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :ہر سال +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}زبان STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}استعمال کرنے کےلئے زبان اختیار کئیجیے @@ -923,8 +947,7 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}اسکر STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}اسکرین کی resolution اختیار کریں STR_GAME_OPTIONS_RESOLUTION_OTHER :دیگر -STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}اسکرین کی تصویر کا فارمیٹ -STR_GAME_OPTIONS_SCREENSHOT_FORMAT_TOOLTIP :{BLACK}اسکرین کی تصویر کے استعال کے لئے فارمیٹ اختیار کریں + STR_GAME_OPTIONS_BASE_GRF :{BLACK}بُنیادی گرافک سیٹ STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}بُنیادی گرافک سیٹ اختیار کریں @@ -1024,8 +1047,7 @@ STR_CITY_APPROVAL_TOLERANT :برداشت ک STR_CITY_APPROVAL_HOSTILE :مخالفانہ -# Advanced settings window -STR_CONFIG_SETTING_CAPTION :{WHITE}ایڈوانسڈ سیٹنگ +# Settings tree window STR_CONFIG_SETTING_NO_EXPLANATION_AVAILABLE_HELPTEXT :(کوئی وضاحت موجود نہیں) @@ -1047,7 +1069,6 @@ STR_CONFIG_SETTING_HORIZONTAL_POS_CENTER :درمیان STR_CONFIG_SETTING_HORIZONTAL_POS_RIGHT :دائیں -STR_CONFIG_SETTING_BUILDONSLOPES :ڈھلان اور ساحل پر تعمیر کی اجازت: {STRING} STR_CONFIG_SETTING_AUTOSLOPE :تعمیرات کے نیچے منظر کشی کی اجازت: {STRING} STR_CONFIG_SETTING_CATCHMENT :کوریج کے علاقے کے حقیقت پسندانہ سائز کی اجازت: {STRING} STR_CONFIG_SETTING_EXTRADYNAMITE :شہروں کی ملکیت زیادہ سڑکوں، پلوں اور سرنگوں کو توڑنے کی اجازت: {STRING} @@ -1060,10 +1081,7 @@ STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL :گاڑی کو STR_CONFIG_SETTING_PERCENTAGE :{COMMA}% STR_CONFIG_SETTING_FORBID_90_DEG :ریل گاڑیوں اور بحری جہازوں کو 90° مڑنے سے روکیں: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :اسٹیشنوں کو جوڑنے کی اجازت: {STRING} -STR_CONFIG_SETTING_IMPROVEDLOAD :سامان لوڈ کرنے کا بہتر طریقہ استعمال کریں: {STRING} -STR_CONFIG_SETTING_GRADUAL_LOADING :گاڑیوں کو آہستہ آہستہ بھریں: {STRING} STR_CONFIG_SETTING_INFLATION :افراط زر: {STRING} -STR_CONFIG_SETTING_SELECTGOODS :سامان صرف اُسی صورت میں کسی اسٹیشن تک پہنچایا جب وہ اُسے قبول کرتا ہو: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :پل کی زیادہ سے زیادہ لمبائی: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :پل بنانے کی زیادہ سے زیادہ لمبائی STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :سرنگ کی زیادہ سے زیادہ لمبائی: {STRING} @@ -1081,7 +1099,6 @@ STR_CONFIG_SETTING_STOP_LOCATION :نئے احکا STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :شروع میں STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :درمیان میں STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :آخر میں -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING :گاڑیوں کی قطار: {STRING} STR_CONFIG_SETTING_AUTOSCROLL :ونڈو کو پین کرو جب ماؤس کنارے پر ہو: {STRING} STR_CONFIG_SETTING_BRIBE :مقامی اتھارٹی کی رشوت کی اجازت دیں: {STRING} STR_CONFIG_SETTING_ALLOW_EXCLUSIVE :خصوصی نقل و حمل کے حقوق کو خریدنے کی اجازت: {STRING} @@ -1095,8 +1112,6 @@ STR_CONFIG_SETTING_PLANE_CRASHES_REDUCED :کم STR_CONFIG_SETTING_PLANE_CRASHES_NORMAL :نارمل STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :شہر کی ملکیت سڑکوں پر ڈرائیو تھرو اڈے بنانے کی اجازت: {STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :مد مقابلوں کی ملکیت سڑکوں پر ڈرائیو تھرو اڈے بنانے کی اجازت: {STRING} -STR_CONFIG_SETTING_ADJACENT_STATIONS :اسٹیشن کے ساتھ اسٹیشں بنانے کی اجازت: {STRING} -STR_CONFIG_SETTING_DYNAMIC_ENGINES :ایک سے زیادہ NewGRF انجن سیٹوں کو فعال کریں: {STRING} STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}جب گاڑیاں موجود ہوں تو یہ سیٹنگ بدلنا ممکن نہیں STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :انفراسٹرکچر کی بحالی: {STRING} @@ -1132,8 +1147,6 @@ STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :اونچائی STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :الٹی گھڑی وار STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :گھڑی وار STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :ایک سیدھے scenario والا نقشہ کتنا اونچا ہو گا: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :نقشے کے کناروں پر منظر کشی فعال کریں: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES_HELPTEXT :اگر منع کر دیا، تو نقسے کی حدود ہمیشہ سمندر ہوں گی STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}جنوبی کنارے پر ایک یا ایک سے زیادہ ٹائلیں خالی نہیں ہیں STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}کسی کنارے پر ایک یا ایک سے زیادہ ٹائلیں پانی کی نہیں ہیں @@ -1160,14 +1173,14 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_CONTROL :Ctrl+Click STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :آف +STR_CONFIG_SETTING_AUTOSAVE :Autosave: {STRING} +STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :گیم بچانے کا وقفا چنیں + STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :کھیل کو محفوظ کرنے کے لئے تاریخ کا {STRING} طریقہ استعمال کریں STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :long (31st Dec 2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :short (31-12-2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_DOS :DOS palette -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_WIN :Windows palette - STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :نیا کھیل شروع کرنے پر خودکار توقف: {STRING} STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :توقف کے دوران اجازت دیں: {STRING} STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :کوئی فعل نہیں @@ -1279,7 +1292,6 @@ STR_CONFIG_SETTING_TOWN_GROWTH_NORMAL :نارمل STR_CONFIG_SETTING_TOWN_GROWTH_FAST :تیز STR_CONFIG_SETTING_TOWN_GROWTH_VERY_FAST :بہت تیز STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :شہر کا شروعاتی ضارب: {STRING} -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :سڑک کی تعمیر کے دوران غلط تعمیر شدہ حصوں کو ہٹا دے: {STRING} @@ -1288,23 +1300,14 @@ STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :سڑک کی ت -STR_CONFIG_SETTING_GUI :{ORANGE}انٹرفیس -STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}تعمیرات +STR_CONFIG_SETTING_INTERFACE :{ORANGE}انٹرفیس +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}تعمیرات STR_CONFIG_SETTING_VEHICLES :{ORANGE}گاڑیاں -STR_CONFIG_SETTING_STATIONS :{ORANGE} اسٹیشن -STR_CONFIG_SETTING_ECONOMY :{ORANGE}معیشت -STR_CONFIG_SETTING_AI :{ORANGE}مد مقابل -STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}ڈسپلے کے اختیارات -STR_CONFIG_SETTING_INTERACTION :{ORANGE}چوراہا -STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}اشعارے -STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE}سامان کو سنبھالنا -STR_CONFIG_SETTING_AI_NPC :{ORANGE}کمپیوٹر کے کھلاڑی -STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE}خودکار تبدیلی -STR_CONFIG_SETTING_VEHICLES_SERVICING :{ORANGE}مرمت STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}روٹنگ -STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}ریل گاڑیاں -STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}شہر -STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}صنعتیں +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}شہر +STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}صنعتیں +STR_CONFIG_SETTING_AI :{ORANGE}مد مقابل +STR_CONFIG_SETTING_AI_NPC :{ORANGE}کمپیوٹر کے کھلاڑی STR_CONFIG_SETTING_PATHFINDER_OPF :اصلی STR_CONFIG_SETTING_PATHFINDER_NPF :NPF @@ -1343,7 +1346,6 @@ STR_INTRO_SCENARIO_EDITOR :{BLACK}منظر STR_INTRO_MULTIPLAYER :{BLACK}زیادہ کھلاڑی STR_INTRO_GAME_OPTIONS :{BLACK}کھیل کے اختیارات -STR_INTRO_ADVANCED_SETTINGS :{BLACK}ایڈوانسڈ سیٹنگ STR_INTRO_NEWGRF_SETTINGS :{BLACK}NewGRF چنئے STR_INTRO_ONLINE_CONTENT :{BLACK}آن لائن مواد دیکھیں STR_INTRO_SCRIPT_SETTINGS :{BLACK}AI / کھیل کے اختیارات @@ -1362,7 +1364,6 @@ STR_INTRO_TOOLTIP_SUB_TROPICAL_LANDSCAPE :{BLACK}منظر STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}منظر کشی کا 'toyland' طریقہ چُنئیے STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}کھیل کے اختیارات دکھائیں -STR_INTRO_TOOLTIP_ADVANCED_SETTINGS :{BLACK}ایڈوانسڈ سیتنگز دیکھیئے STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}NewGRF سیٹنگز دیکھیئے STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}نئے اور ترمیم شدہ مواد کو ڈاون لوڈ کرنے کے لئے چیک کریں STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK} AI اور کھیل کے اختیارات دکھائیں @@ -2147,11 +2148,17 @@ STR_NEWGRF_SETTINGS_INACTIVE_LIST :{WHITE} غیر STR_NEWGRF_SETTINGS_ADD_FILE_TOOLTIP :{BLACK} منتخب NewGRF فائل اپنے configuration میں شامل کیجئے STR_NEWGRF_SETTINGS_RESCAN_FILES :{BLACK} فائلوں کو دوبارھ اسکین کیجئے STR_NEWGRF_SETTINGS_RESCAN_FILES_TOOLTIP :{BLACK} نئی دستیاب NewGRF فائلوں کی فھرست حاصل کیجئے +STR_NEWGRF_SETTINGS_UPGRADE :{BLACK}اپگریڈ +# NewGRF save preset window +STR_SAVE_PRESET_CANCEL :{BLACK}منسوخ +STR_SAVE_PRESET_CANCEL_TOOLTIP :{BLACK}پریسیٹ تبدیل نہ کریں +STR_SAVE_PRESET_SAVE :{BLACK}بچایں + # NewGRF parameters window # NewGRF inspect window @@ -2231,7 +2238,8 @@ STR_GOAL_QUESTION_CAPTION_INFORMATION :معلومات STR_GOAL_QUESTION_CAPTION_WARNING :انتباہ STR_GOAL_QUESTION_CAPTION_ERROR :خرابی -### Start of Goal Question button list +############ Start of Goal Question button list +############ End of Goal Question button list # Subsidies window @@ -2246,7 +2254,6 @@ STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}کسی # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} -STR_STATION_VIEW_WAITING_TITLE :{BLACK}منتظر: {WHITE}{STRING} STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} سے براستہ ہے {STATION}) @@ -2274,9 +2281,9 @@ STR_FINANCES_POSITIVE_INCOME :{BLACK}+{CURREN # Company view -STR_COMPANY_VIEW_INFRASTRUCTURE_RAIL :{WHITE}{COMMA} ریل کے ٹکڑے -STR_COMPANY_VIEW_INFRASTRUCTURE_ROAD :{WHITE}{COMMA} سڑک کے ٹکڑے -STR_COMPANY_VIEW_INFRASTRUCTURE_WATER :{WHITE}{COMMA} پانی کی ٹائلیں +STR_COMPANY_VIEW_INFRASTRUCTURE_RAIL :{WHITE}{COMMA}پٹڑی { "کا" "کے" P} { "ٹکڑا" "ٹکڑے" P} +STR_COMPANY_VIEW_INFRASTRUCTURE_ROAD :{WHITE}{COMMA} سڑک { "کا" "کے" P} { "ٹکڑا" "ٹکڑے" P} +STR_COMPANY_VIEW_INFRASTRUCTURE_WATER :{WHITE}{COMMA} پانی { "کا" "کے" P} { "ٹکڑا" "ٹکڑے" P} STR_COMPANY_VIEW_INFRASTRUCTURE_STATION :{WHITE}{COMMA} اسٹیشن کی ٹائلیں STR_COMPANY_VIEW_INFRASTRUCTURE_AIRPORT :{COMMA}{WHITE} ہوائی اڈے STR_COMPANY_VIEW_INFRASTRUCTURE_NONE :{WHITE}کوئی نہیں @@ -2332,6 +2339,7 @@ STR_VEHICLE_LIST_MANAGE_LIST :{BLACK}فہرس + # Build vehicle window @@ -2342,6 +2350,24 @@ STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}پہنچ +STR_BUY_VEHICLE_TRAIN_HIDE_TOGGLE_BUTTON :{BLACK}چهپایں +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_TOGGLE_BUTTON :{BLACK}چهپایں +STR_BUY_VEHICLE_SHIP_HIDE_TOGGLE_BUTTON :{BLACK}چهپایں +STR_BUY_VEHICLE_AIRCRAFT_HIDE_TOGGLE_BUTTON :{BLACK}چهپایں + +STR_BUY_VEHICLE_TRAIN_SHOW_TOGGLE_BUTTON :{BLACK}دکهایں +STR_BUY_VEHICLE_ROAD_VEHICLE_SHOW_TOGGLE_BUTTON :{BLACK}دکهایں +STR_BUY_VEHICLE_SHIP_SHOW_TOGGLE_BUTTON :{BLACK}دکهایں +STR_BUY_VEHICLE_AIRCRAFT_SHOW_TOGGLE_BUTTON :{BLACK}دکهایں + +STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}ٹرین کا قسم دکهایں یه نا +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}گاڑی کا قسم دکهایں یه نا +STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}سمندری جہاز کا قسم دکهایں یه نا +STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}ہوائی جہاز کا قسم دکهایں یه نا + +STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}ٹرین کےقسم کا نام تبدیل کریں +STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}گاڑی کےقسم کا نام تبدیل کریں +STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}بہری جہاز کےقسم کا نام تبدیل کریں # Depot window STR_DEPOT_CAPTION :{WHITE}{DEPOT} @@ -2374,6 +2400,9 @@ STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}قیمت # Autoreplace window +STR_REPLACE_VEHICLE_VEHICLES_IN_USE :{YELLOW}استعمالکردہ گاڑیاں +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES :{YELLOW}میسر گاڑیاں + @@ -2566,6 +2595,7 @@ STR_ERROR_LOCAL_AUTHORITY_REFUSES_AIRPORT :{WHITE}{TOWN} # Industry related errors STR_ERROR_CAN_ONLY_BE_BUILT_IN_TOWNS_WITH_POPULATION_OF_1200 :{G=m}{WHITE}... صرف ان شہروں میں بن سکتا ہے جن کی آبادی ۱۲۰۰ سے زیادہ ہے + # Station construction related errors @@ -2705,17 +2735,57 @@ STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_POWERNAUT_CHOO_CHOO :Powernaut Choo- STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_MIGHTYMOVER_CHOO_CHOO :MightyMover Choo-Choo STR_VEHICLE_NAME_TRAIN_ENGINE_MONORAIL_WIZZOWOW_Z99 :Wizzowow Z99 STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_WIZZOWOW_ROCKETEER :Wizzowow Rocketeer +STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_COAL_TRUCK :Balogh کوئلے کا ٹرک +STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_COAL_TRUCK :Uhl کوئلے کا ٹرک +STR_VEHICLE_NAME_ROAD_VEHICLE_DW_COAL_TRUCK :DW کوئلے کا ٹرک +STR_VEHICLE_NAME_ROAD_VEHICLE_MPS_MAIL_TRUCK :MPS ڈاک کا ٹرک +STR_VEHICLE_NAME_ROAD_VEHICLE_REYNARD_MAIL_TRUCK :Reynard ڈاک کا ٹرک +STR_VEHICLE_NAME_ROAD_VEHICLE_PERRY_MAIL_TRUCK :Perry ڈاک کا ٹرک +STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_MAIL_TRUCK :MightyMover ڈاک کا ٹرک +STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_MAIL_TRUCK :Powernaught ڈاک کا ٹرک +STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_MAIL_TRUCK :Wizzowow ڈاک کا ٹرک +STR_VEHICLE_NAME_ROAD_VEHICLE_WITCOMBE_OIL_TANKER :Witcombe تیل کا ٹینکر +STR_VEHICLE_NAME_ROAD_VEHICLE_FOSTER_OIL_TANKER :Foster تیل کا ٹینکر +STR_VEHICLE_NAME_ROAD_VEHICLE_PERRY_OIL_TANKER :Perry تیل کا ٹینکر +STR_VEHICLE_NAME_ROAD_VEHICLE_TALBOTT_LIVESTOCK_VAN :Talbott مویشی وین +STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_LIVESTOCK_VAN :Uhl مویشی وین +STR_VEHICLE_NAME_ROAD_VEHICLE_FOSTER_LIVESTOCK_VAN :Foster مویشی وین +STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_GOODS_TRUCK :Balogh عام اشیاء کا ٹرک +STR_VEHICLE_NAME_ROAD_VEHICLE_CRAIGHEAD_GOODS_TRUCK :Craighead عام اشیاء کا ٹرک +STR_VEHICLE_NAME_ROAD_VEHICLE_GOSS_GOODS_TRUCK :Goss عام اشیاء کا ٹرک +STR_VEHICLE_NAME_ROAD_VEHICLE_HEREFORD_GRAIN_TRUCK :Hereford اناج کا ٹرک +STR_VEHICLE_NAME_ROAD_VEHICLE_THOMAS_GRAIN_TRUCK :Thomas اناج کا ٹرک +STR_VEHICLE_NAME_ROAD_VEHICLE_GOSS_GRAIN_TRUCK :Goss اناج کا ٹرک +STR_VEHICLE_NAME_ROAD_VEHICLE_WITCOMBE_WOOD_TRUCK :Witcombe لکڑی کا ٹرک +STR_VEHICLE_NAME_ROAD_VEHICLE_FOSTER_WOOD_TRUCK :Foster لکڑی کا ٹرک +STR_VEHICLE_NAME_ROAD_VEHICLE_MORELAND_WOOD_TRUCK :Moreland لکڑی کا ٹرک +STR_VEHICLE_NAME_ROAD_VEHICLE_MPS_IRON_ORE_TRUCK :MPS لوہے کی دھات کا ٹرک STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_IRON_ORE_TRUCK :Uhl لوہے کی دھات کا ٹرک STR_VEHICLE_NAME_ROAD_VEHICLE_CHIPPY_IRON_ORE_TRUCK :Chippy لوہے کی دھات کا ٹرک STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_STEEL_TRUCK :Balogh فولاد کا ٹرک STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_STEEL_TRUCK :Uhl فولاد کا ٹرک STR_VEHICLE_NAME_ROAD_VEHICLE_KELLING_STEEL_TRUCK :Kelling فولاد کا ٹرک +STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_ARMORED_TRUCK :Balogh بکتربند ٹرک +STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_ARMORED_TRUCK :Uhl بکتربند ٹرک +STR_VEHICLE_NAME_ROAD_VEHICLE_FOSTER_ARMORED_TRUCK :Foster بکتربند ٹرک STR_VEHICLE_NAME_ROAD_VEHICLE_FOSTER_FOOD_VAN :Foster خوراک کی ویگن STR_VEHICLE_NAME_ROAD_VEHICLE_PERRY_FOOD_VAN :Perry خوراک کی ویگن STR_VEHICLE_NAME_ROAD_VEHICLE_CHIPPY_FOOD_VAN :Chippy خوراک کی ویگن STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_PAPER_TRUCK :Uhl کاغذ کا ٹرک STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_PAPER_TRUCK :Balogh کاغذ کا ٹرک STR_VEHICLE_NAME_ROAD_VEHICLE_MPS_PAPER_TRUCK :MPS کاغذ کا ٹرک +STR_VEHICLE_NAME_ROAD_VEHICLE_MPS_COPPER_ORE_TRUCK :MPS تانبے کی دهات کا ٹرک +STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_COPPER_ORE_TRUCK :Uhl تانبے کی دهات کا ٹرک +STR_VEHICLE_NAME_ROAD_VEHICLE_GOSS_COPPER_ORE_TRUCK :Goss تانبے کی دهات کا ٹرک +STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_WATER_TANKER :Uhl پانی کا ٹینکر +STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_WATER_TANKER :Balogh پانی کا ٹینکر +STR_VEHICLE_NAME_ROAD_VEHICLE_MPS_WATER_TANKER :MPS پانی کا ٹینکر +STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_FRUIT_TRUCK :Balogh پھلوں کا ٹرک +STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_FRUIT_TRUCK :Uhl پھلوں کا ٹرک +STR_VEHICLE_NAME_ROAD_VEHICLE_KELLING_FRUIT_TRUCK :Kelling پھلوں کا ٹرک +STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_RUBBER_TRUCK :Balogh کہریا(ربر) کا ٹرک +STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_RUBBER_TRUCK :Uhl کہریا(ربر) کا ٹرک +STR_VEHICLE_NAME_ROAD_VEHICLE_RMT_RUBBER_TRUCK :RMT کہریا(ربر) کا ٹرک STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_SUGAR_TRUCK :MightyMover چینی کا ٹرک STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_SUGAR_TRUCK :Powernaught چینی کا ٹرک STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_SUGAR_TRUCK :Wizzowow چینی کا ٹرک @@ -2847,6 +2917,7 @@ STR_COMPANY_NAME :{COMPANY} STR_COMPANY_NAME_COMPANY_NUM :{COMPANY} {COMPANY_NUM} STR_DEPOT_NAME :{DEPOT} STR_ENGINE_NAME :{ENGINE} +STR_HIDDEN_ENGINE_NAME :{ENGINE}(پوشیدہ) STR_GROUP_NAME :{GROUP} STR_INDUSTRY_NAME :{INDUSTRY} STR_PRESIDENT_NAME :{PRESIDENT_NAME} @@ -2881,8 +2952,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -2893,9 +2962,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} @@ -2918,4 +2985,4 @@ STR_LORRY :{BLACK}{LORRY} STR_PLANE :{BLACK}{PLANE} STR_SHIP :{BLACK}{SHIP} -STR_TOOLBAR_RAILTYPE_VELOCITY :{STRING} ({VELOCITY}) +STR_TOOLBAR_RAILTYPE_VELOCITY :({STRING} ({VELOCITY} diff --git a/src/lang/vietnamese.txt b/src/lang/vietnamese.txt index 599f8d7eb7..534f9accd5 100644 --- a/src/lang/vietnamese.txt +++ b/src/lang/vietnamese.txt @@ -28,9 +28,9 @@ STR_JUST_NOTHING :Rỗng # Plural cargo name STR_CARGO_PLURAL_NOTHING : STR_CARGO_PLURAL_PASSENGERS :Hành khách -STR_CARGO_PLURAL_COAL :Than +STR_CARGO_PLURAL_COAL :Than đá STR_CARGO_PLURAL_MAIL :Bưu kiện -STR_CARGO_PLURAL_OIL :Dầu +STR_CARGO_PLURAL_OIL :Dầu thô STR_CARGO_PLURAL_LIVESTOCK :Gia súc STR_CARGO_PLURAL_GOODS :Hàng tiêu dùng STR_CARGO_PLURAL_GRAIN :Ngũ cốc @@ -62,9 +62,9 @@ STR_CARGO_PLURAL_FIZZY_DRINKS :Đồ uống c # Singular cargo name STR_CARGO_SINGULAR_NOTHING : STR_CARGO_SINGULAR_PASSENGER :Hành khách -STR_CARGO_SINGULAR_COAL :Than +STR_CARGO_SINGULAR_COAL :Than đá STR_CARGO_SINGULAR_MAIL :Bưu kiện -STR_CARGO_SINGULAR_OIL :Dầu +STR_CARGO_SINGULAR_OIL :Dầu thô STR_CARGO_SINGULAR_LIVESTOCK :Gia súc STR_CARGO_SINGULAR_GOODS :Hàng tiêu dùng STR_CARGO_SINGULAR_GRAIN :Ngũ cốc @@ -95,35 +95,35 @@ STR_CARGO_SINGULAR_FIZZY_DRINK :Đồ uống c # Quantity of cargo STR_QUANTITY_NOTHING : -STR_QUANTITY_PASSENGERS :{COMMA} hành khách -STR_QUANTITY_COAL :{WEIGHT_LONG} than -STR_QUANTITY_MAIL :{COMMA} túi bưu kiện -STR_QUANTITY_OIL :{VOLUME_LONG} dầu -STR_QUANTITY_LIVESTOCK :{COMMA} đầu gia súc -STR_QUANTITY_GOODS :{COMMA} thùng hàng tiêu dùng +STR_QUANTITY_PASSENGERS :{COMMA}{NBSP}hành khách +STR_QUANTITY_COAL :{WEIGHT_LONG} than đá +STR_QUANTITY_MAIL :{COMMA}{NBSP}túi bưu kiện +STR_QUANTITY_OIL :{VOLUME_LONG} dầu thô +STR_QUANTITY_LIVESTOCK :{COMMA}{NBSP}đầu gia súc +STR_QUANTITY_GOODS :{COMMA}{NBSP}thùng hàng tiêu dùng STR_QUANTITY_GRAIN :{WEIGHT_LONG} ngũ cốc STR_QUANTITY_WOOD :{WEIGHT_LONG} gỗ STR_QUANTITY_IRON_ORE :{WEIGHT_LONG} quặng sắt STR_QUANTITY_STEEL :{WEIGHT_LONG} thép -STR_QUANTITY_VALUABLES :{COMMA} túi đồ quý giá +STR_QUANTITY_VALUABLES :{COMMA}{NBSP}túi đồ quý giá STR_QUANTITY_COPPER_ORE :{WEIGHT_LONG} quặng đồng STR_QUANTITY_MAIZE :{WEIGHT_LONG} ngô STR_QUANTITY_FRUIT :{WEIGHT_LONG} hoa quả -STR_QUANTITY_DIAMONDS :{COMMA} túi kim cương +STR_QUANTITY_DIAMONDS :{COMMA}{NBSP}túi kim cương STR_QUANTITY_FOOD :{WEIGHT_LONG} thực phẩm STR_QUANTITY_PAPER :{WEIGHT_LONG} giấy -STR_QUANTITY_GOLD :{COMMA} túi vàng +STR_QUANTITY_GOLD :{COMMA}{NBSP}túi vàng STR_QUANTITY_WATER :{VOLUME_LONG} nước STR_QUANTITY_WHEAT :{WEIGHT_LONG} bột mì STR_QUANTITY_RUBBER :{VOLUME_LONG} cao su STR_QUANTITY_SUGAR :{WEIGHT_LONG} đường -STR_QUANTITY_TOYS :{COMMA} đồ chơi -STR_QUANTITY_SWEETS :{COMMA} túi kẹo +STR_QUANTITY_TOYS :{COMMA}{NBSP}đồ chơi +STR_QUANTITY_SWEETS :{COMMA}{NBSP}túi kẹo STR_QUANTITY_COLA :{VOLUME_LONG} nước cola STR_QUANTITY_CANDYFLOSS :{WEIGHT_LONG} kẹo bông STR_QUANTITY_BUBBLES :{COMMA} bong bóng STR_QUANTITY_TOFFEE :{WEIGHT_LONG} kẹo bơ cứng -STR_QUANTITY_BATTERIES :{COMMA} cái pin +STR_QUANTITY_BATTERIES :{COMMA} viên pin STR_QUANTITY_PLASTIC :{VOLUME_LONG} chất dẻo STR_QUANTITY_FIZZY_DRINKS :{COMMA} chai đồ uống có ga STR_QUANTITY_N_A :N/A @@ -165,12 +165,12 @@ STR_ABBREV_NONE :{TINY_FONT}K0 STR_ABBREV_ALL :{TINY_FONT}Tất # 'Mode' of transport for cargoes -STR_PASSENGERS :{COMMA} hành khách -STR_BAGS :{COMMA} túi -STR_TONS :{COMMA} tấn -STR_LITERS :{COMMA} lít -STR_ITEMS :{COMMA} cái -STR_CRATES :{COMMA} thùng +STR_PASSENGERS :{COMMA}{NBSP}hành khách +STR_BAGS :{COMMA}{NBSP}túi +STR_TONS :{COMMA}{NBSP}tấn +STR_LITERS :{COMMA}{NBSP}lít +STR_ITEMS :{COMMA}{NBSP}cái +STR_CRATES :{COMMA}{NBSP}thùng # Colours, do not shuffle STR_COLOUR_DARK_BLUE :Xanh da trời đậm @@ -191,37 +191,37 @@ STR_COLOUR_GREY :Xám STR_COLOUR_WHITE :Trắng # Units used in OpenTTD -STR_UNITS_VELOCITY_IMPERIAL :{COMMA} mph -STR_UNITS_VELOCITY_METRIC :{COMMA} km/h -STR_UNITS_VELOCITY_SI :{COMMA} m/s +STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}mph +STR_UNITS_VELOCITY_METRIC :{COMMA}{NBSP}km/h +STR_UNITS_VELOCITY_SI :{COMMA}{NBSP}m/s -STR_UNITS_POWER_IMPERIAL :{COMMA}hp -STR_UNITS_POWER_METRIC :{COMMA}hp -STR_UNITS_POWER_SI :{COMMA}kW +STR_UNITS_POWER_IMPERIAL :{COMMA}{NBSP}hp +STR_UNITS_POWER_METRIC :{COMMA}{NBSP}hp +STR_UNITS_POWER_SI :{COMMA}{NBSP}kW -STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}t -STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}t -STR_UNITS_WEIGHT_SHORT_SI :{COMMA}kg +STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_SI :{COMMA}{NBSP}kg -STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA} ton -STR_UNITS_WEIGHT_LONG_METRIC :{COMMA} tấn -STR_UNITS_WEIGHT_LONG_SI :{COMMA} kg +STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA}{NBSP}ton +STR_UNITS_WEIGHT_LONG_METRIC :{COMMA}{NBSP}tấn +STR_UNITS_WEIGHT_LONG_SI :{COMMA}{NBSP}kg -STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}gal -STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}l -STR_UNITS_VOLUME_SHORT_SI :{COMMA}m³ +STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}{NBSP}gal +STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}{NBSP}l +STR_UNITS_VOLUME_SHORT_SI :{COMMA}{NBSP}m³ -STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA} gallon -STR_UNITS_VOLUME_LONG_METRIC :{COMMA} lít -STR_UNITS_VOLUME_LONG_SI :{COMMA} m³ +STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA}{NBSP}gallon +STR_UNITS_VOLUME_LONG_METRIC :{COMMA}{NBSP}lít +STR_UNITS_VOLUME_LONG_SI :{COMMA}{NBSP}m³ -STR_UNITS_FORCE_IMPERIAL :{COMMA} lbf -STR_UNITS_FORCE_METRIC :{COMMA} kgf -STR_UNITS_FORCE_SI :{COMMA} kN +STR_UNITS_FORCE_IMPERIAL :{COMMA}{NBSP}lbf +STR_UNITS_FORCE_METRIC :{COMMA}{NBSP}kgf +STR_UNITS_FORCE_SI :{COMMA}{NBSP}kN -STR_UNITS_HEIGHT_IMPERIAL :{COMMA} ft -STR_UNITS_HEIGHT_METRIC :{COMMA} m -STR_UNITS_HEIGHT_SI :{COMMA} m +STR_UNITS_HEIGHT_IMPERIAL :{COMMA}{NBSP}ft +STR_UNITS_HEIGHT_METRIC :{COMMA}{NBSP}m +STR_UNITS_HEIGHT_SI :{COMMA}{NBSP}m # Common window strings STR_LIST_FILTER_TITLE :{BLACK}Lọc chuỗi: @@ -248,6 +248,17 @@ STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Thanh cu STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Thanh cuộn sang trái/phải STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Phá hủy các tòa nhà v.v... trên 1 lô đất. Ctrl để chọn vùng theo đường chéo. Shift để chọn hiển thị chi phí xây dựng/phá hủy +# Show engines button +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}Hiện ẩn +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK}Hiện ẩn +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}Hiện ẩn +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}Hiện ẩn + +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}Khi bật nút này, những tàu hỏa bị ẩn cũng được hiển thị +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE_TOOLTIP :{BLACK}Khi bật nút này, những xe bị ẩn cũng được hiển thị +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}Khi bật nút này, những tàu thủy bị ẩn cũng được hiển thị +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Khi bật nút này, những máy bay bị ẩn cũng được hiển thị + # Query window STR_BUTTON_DEFAULT :{BLACK}Mặc định STR_BUTTON_CANCEL :{BLACK}Thôi @@ -294,8 +305,8 @@ STR_SORT_BY_COST :Chi phí STR_SORT_BY_POWER :Lực STR_SORT_BY_TRACTIVE_EFFORT :Lực kéo STR_SORT_BY_INTRO_DATE :Ngày ra mắt -STR_SORT_BY_RUNNING_COST :Chi phí chạy -STR_SORT_BY_POWER_VS_RUNNING_COST :Năng lượng/Chi phí chạy +STR_SORT_BY_RUNNING_COST :Phí hoạt động +STR_SORT_BY_POWER_VS_RUNNING_COST :Năng lượng/Phí hoạt động STR_SORT_BY_CARGO_CAPACITY :Tải trọng STR_SORT_BY_RANGE :Tầm xa STR_SORT_BY_POPULATION :Dân số @@ -304,7 +315,7 @@ STR_SORT_BY_RATING :Đánh giá # Tooltips for the main toolbar STR_TOOLBAR_TOOLTIP_PAUSE_GAME :{BLACK}Tạm dừng trò chơi STR_TOOLBAR_TOOLTIP_FORWARD :{BLACK}Tua nhanh trò chơi -STR_TOOLBAR_TOOLTIP_OPTIONS :{BLACK}Tuỳ chọn +STR_TOOLBAR_TOOLTIP_OPTIONS :{BLACK}Tùy chọn STR_TOOLBAR_TOOLTIP_SAVE_GAME_ABANDON_GAME :{BLACK}Lưu, bỏ ván chơi, thoát chương trình STR_TOOLBAR_TOOLTIP_DISPLAY_MAP :{BLACK}Hiển thị bản đồ STR_TOOLBAR_TOOLTIP_DISPLAY_TOWN_DIRECTORY :{BLACK}Hiển thị danh sách đô thị @@ -317,10 +328,10 @@ STR_TOOLBAR_TOOLTIP_DISPLAY_GOALS_LIST :{BLACK}Hiển t STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}Hiển thị biểu đồ STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_LEAGUE :{BLACK}Hiện bảng tầm cỡ các công ty STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}Bỏ vốn cho những ngành mới hoặc hiện tất cả các ngành -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}Hiện danh sách tàu hoả của công ty.Ctrl+Click vào chốt néo để mở danh sách nhóm/phương tiện -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_ROAD_VEHICLES :{BLACK}Hiện danh sách xe cộ của công ty.Ctrl+Click vào chốt néo để mở danh sách nhóm/phương tiện -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :{BLACK}Hiện danh sách tàu thủy của công ty.Ctrl+Click vào chốt néo để mở danh sách nhóm/phương tiện -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_AIRCRAFT :{BLACK}Hiện danh sách máy bay của công ty.Ctrl+Click vào chốt néo để mở dạnh sách nhóm/phương tiện +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}Hiện danh sách tàu hỏa của công ty. Ctrl+Click vào chốt néo để mở danh sách nhóm/phương tiện +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_ROAD_VEHICLES :{BLACK}Hiện danh sách xe cộ của công ty. Ctrl+Click vào chốt néo để mở danh sách nhóm/phương tiện +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :{BLACK}Hiện danh sách tàu thủy của công ty. Ctrl+Click vào chốt néo để mở danh sách nhóm/phương tiện +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_AIRCRAFT :{BLACK}Hiện danh sách máy bay của công ty. Ctrl+Click vào chốt néo để mở dạnh sách nhóm/phương tiện STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_IN :{BLACK}Thu nhỏ tầm nhìn STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_OUT :{BLACK}Nới rộng tầm nhìn STR_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Lắp đường ray @@ -361,7 +372,7 @@ STR_SCENEDIT_FILE_MENU_QUIT :Thoát ############ range for settings menu starts STR_SETTINGS_MENU_GAME_OPTIONS :Cấu hình trò chơi -STR_SETTINGS_MENU_CONFIG_SETTINGS :Thiết lập nâng cao +STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Thiết lập STR_SETTINGS_MENU_SCRIPT_SETTINGS :Thiết lập AI / Game script STR_SETTINGS_MENU_NEWGRF_SETTINGS :Thông số NewGRF STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Thiết lập hiệu ứng trong suốt @@ -464,13 +475,13 @@ STR_ABOUT_MENU_SCREENSHOT :Ảnh chụp m STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Phóng to đầy đủ ảnh chụp màn hình STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Phóng to mặc định ảnh chụp màn hình STR_ABOUT_MENU_GIANT_SCREENSHOT :Ảnh màn hình toàn bản đồ -STR_ABOUT_MENU_ABOUT_OPENTTD :Về 'OpenTTD' +STR_ABOUT_MENU_ABOUT_OPENTTD :Giới thiệu 'OpenTTD' STR_ABOUT_MENU_SPRITE_ALIGNER :Trình điều chỉnh sprite STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Bật/tắt hiển thị khối nhà STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Bật/tắt màu sắc trên các ô 'bẩn' ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window STR_ORDINAL_NUMBER_1ST :1 STR_ORDINAL_NUMBER_2ND :2 STR_ORDINAL_NUMBER_3RD :3 @@ -486,22 +497,40 @@ STR_ORDINAL_NUMBER_12TH :12 STR_ORDINAL_NUMBER_13TH :13 STR_ORDINAL_NUMBER_14TH :14 STR_ORDINAL_NUMBER_15TH :15 -STR_ORDINAL_NUMBER_16TH :16 -STR_ORDINAL_NUMBER_17TH :17 -STR_ORDINAL_NUMBER_18TH :18 -STR_ORDINAL_NUMBER_19TH :19 -STR_ORDINAL_NUMBER_20TH :20 -STR_ORDINAL_NUMBER_21ST :21 -STR_ORDINAL_NUMBER_22ND :22 -STR_ORDINAL_NUMBER_23RD :23 -STR_ORDINAL_NUMBER_24TH :24 -STR_ORDINAL_NUMBER_25TH :25 -STR_ORDINAL_NUMBER_26TH :26 -STR_ORDINAL_NUMBER_27TH :27 -STR_ORDINAL_NUMBER_28TH :28 -STR_ORDINAL_NUMBER_29TH :29 -STR_ORDINAL_NUMBER_30TH :30 -STR_ORDINAL_NUMBER_31ST :31 +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :1 +STR_DAY_NUMBER_2ND :2 +STR_DAY_NUMBER_3RD :3 +STR_DAY_NUMBER_4TH :4 +STR_DAY_NUMBER_5TH :5 +STR_DAY_NUMBER_6TH :6 +STR_DAY_NUMBER_7TH :7 +STR_DAY_NUMBER_8TH :8 +STR_DAY_NUMBER_9TH :9 +STR_DAY_NUMBER_10TH :10 +STR_DAY_NUMBER_11TH :11 +STR_DAY_NUMBER_12TH :12 +STR_DAY_NUMBER_13TH :13 +STR_DAY_NUMBER_14TH :14 +STR_DAY_NUMBER_15TH :15 +STR_DAY_NUMBER_16TH :16 +STR_DAY_NUMBER_17TH :17 +STR_DAY_NUMBER_18TH :18 +STR_DAY_NUMBER_19TH :19 +STR_DAY_NUMBER_20TH :20 +STR_DAY_NUMBER_21ST :21 +STR_DAY_NUMBER_22ND :22 +STR_DAY_NUMBER_23RD :23 +STR_DAY_NUMBER_24TH :24 +STR_DAY_NUMBER_25TH :25 +STR_DAY_NUMBER_26TH :26 +STR_DAY_NUMBER_27TH :27 +STR_DAY_NUMBER_28TH :28 +STR_DAY_NUMBER_29TH :29 +STR_DAY_NUMBER_30TH :30 +STR_DAY_NUMBER_31ST :31 ############ range for days ends ############ range for months starts @@ -758,7 +787,7 @@ STR_NEWS_FIRST_CARGO_TRAM_ARRIVAL :{BIG_FONT}{BLAC STR_NEWS_FIRST_SHIP_ARRIVAL :{BIG_FONT}{BLACK}Người dân chào đón . . .{}Tàu thủy đầu tiên đến {STATION}! STR_NEWS_FIRST_AIRCRAFT_ARRIVAL :{BIG_FONT}{BLACK}Người dân chào đón . . .{}Máy bay đầu tiên đến {STATION}! -STR_NEWS_TRAIN_CRASH :{BIG_FONT}{BLACK}Tàu hoả bị đụng nhau!{}{COMMA} người chết sau tai nạn đáng tiếc này +STR_NEWS_TRAIN_CRASH :{BIG_FONT}{BLACK}Tàu hỏa bị đụng nhau!{}{COMMA} người chết sau tai nạn đáng tiếc này STR_NEWS_ROAD_VEHICLE_CRASH_DRIVER :{BIG_FONT}{BLACK}Ôtô bị tàu hoả đụng!{}Người lái xe đã tử nạn sau tai nạn này. STR_NEWS_ROAD_VEHICLE_CRASH :{BIG_FONT}{BLACK}Ôtô bị tàu hoả đụng!{}{COMMA} người đã tử nạn sau tai nạn đáng tiếc này STR_NEWS_AIRCRAFT_CRASH :{BIG_FONT}{BLACK}Tai Nạn Máy Bay!{}{COMMA} người chết tại {STATION} @@ -810,13 +839,11 @@ STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}{VEHICLE STR_NEWS_SHIP_IS_WAITING :{WHITE}{VEHICLE} đang chờ tại xưởng STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE} đang chờ tại sân bay -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE +# Order review system / warnings STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE} có quá ít lệnh trong lộ trình STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE} chưa có lệnh STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE} có các lệnh trùng lặp STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE} có trạm bất hợp lệ trong lệnh -# end of order system STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} đang cũ đi STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} đang xuống cấp @@ -899,10 +926,6 @@ STR_GAME_OPTIONS_CURRENCY_GEL :Lari Georgia (G STR_GAME_OPTIONS_CURRENCY_IRR :Rial Iran (IRR) ############ end of currency region - -############ start of measuring units region -############ end of measuring units region - STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Xe cộ STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}Chọn phía đường lái xe STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :Lái bên trái @@ -938,11 +961,13 @@ STR_GAME_OPTIONS_TOWN_NAME_CATALAN :Catalan STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Lưu tự động STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Lựa chọn khoảng thời gian tự động lưu +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Tắt STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :Hàng tháng STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :Hàng quý STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :Hàng nửa năm STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :Hàng năm +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}Ngôn ngữ STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Lựa chọn sử dụng ngôn ngữ giao diện @@ -954,8 +979,12 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}Độ ph STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Chọn độ phân giải màn hình để sử dụng STR_GAME_OPTIONS_RESOLUTION_OTHER :khác -STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}Định dạng ảnh màn hình -STR_GAME_OPTIONS_SCREENSHOT_FORMAT_TOOLTIP :{BLACK}Chọn định dạng ảnh màn hình để sử dụng +STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Kích thước giao diện +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Chọn kích thước của các đối tượng trên giao diện + +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Bình thường +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Gấp 2 lần +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Gấp 4 lần STR_GAME_OPTIONS_BASE_GRF :{BLACK}Gói đồ họa STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Chọn gói đồ họa để sử dụng @@ -971,6 +1000,7 @@ STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Chọn g STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} file bị hỏng STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Thông tin thêm về gói nhạc chuẩn +STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Không thể lấy danh sách độ phân giải được hỗ trợ STR_ERROR_FULLSCREEN_FAILED :{WHITE}Thất bại khi bật chế độ fullscreen # Custom currency window @@ -1049,6 +1079,7 @@ STR_TERRAIN_TYPE_VERY_FLAT :Rất Phẳng STR_TERRAIN_TYPE_FLAT :Phẳng STR_TERRAIN_TYPE_HILLY :Núi STR_TERRAIN_TYPE_MOUNTAINOUS :Núi Cao +STR_TERRAIN_TYPE_ALPINIST :Đồi núi STR_CITY_APPROVAL_PERMISSIVE :Dễ dãi STR_CITY_APPROVAL_TOLERANT :Vừa phải @@ -1056,8 +1087,8 @@ STR_CITY_APPROVAL_HOSTILE :Khó khăn STR_WARNING_NO_SUITABLE_AI :{WHITE}Không có AI nào phù hợp...{}Bạn có thể tải các AI từ mục 'Online Content' -# Advanced settings window -STR_CONFIG_SETTING_CAPTION :{WHITE}Thiết Lập Nâng Cao +# Settings tree window +STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Thiết lập STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Lọc chuỗi: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Mở xuống tất cả STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Đóng lại tất cả @@ -1072,7 +1103,7 @@ STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :Thiết lập c STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK}Phân loại: STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}Kiểu: -STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Chỉ hiển thị danh sách các thiết lập đã bị thay đổi +STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Giới hạn danh sách bên dưới bằng những bộ lọc định sẵn STR_CONFIG_SETTING_RESTRICT_BASIC :Tùy chọn cơ bản STR_CONFIG_SETTING_RESTRICT_ADVANCED :Tùy chọn nâng cao STR_CONFIG_SETTING_RESTRICT_ALL :Thiết lập chuyên gia/tất cả thiết lập @@ -1130,8 +1161,9 @@ STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Thay đổi tù STR_CONFIG_SETTING_CITY_APPROVAL :Thái độ của hội đồng thành phố với việc xây dựng lại địa phương: {STRING} STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Lựa chọn mức độ ảnh hưởng môi trường và tiếng ồn gây ra bởi các công ty sẽ ảnh hưởng uy tín của công ty đối với chính quyền địa phương và các hoạt động xây dựng của họ trong địa bàn -STR_CONFIG_SETTING_BUILDONSLOPES :Cho phép xây dựng trên dốc và bờ biển: {STRING} -STR_CONFIG_SETTING_BUILDONSLOPES_HELPTEXT :Nếu bật, đường đi và trạm có thể được xây trên hầu hết các loại dốc. Nếu tắt, chúng chỉ có thể được xây trên đoạn dốc có cùng chiều với đường đi +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :Chiều cao tối đa của bản đồ: {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :Thay đổi chiều cao tối đa cho phép cho các núi đồi trên bản đồ +STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}Bạn không thể đặt giá trị chiều cao tối đa này cho bản đổ. Phải có ít nhất 1 ngọn núi cao hơn bản đồ STR_CONFIG_SETTING_AUTOSLOPE :Cho phép thay đổi nền đất dưới công trình, đường.. (tự làm dốc): {STRING} STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Cho phép thay đổi nền đất dưới công trình và đường mà không cần phá hủy chúng STR_CONFIG_SETTING_CATCHMENT :Mô phỏng thực tế diện tích khu vực đón hàng: {STRING} @@ -1156,16 +1188,12 @@ STR_CONFIG_SETTING_FORBID_90_DEG :Ngăn tàu hỏ STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :quay 90 độ chỉ xảy ra khi một ray ngang nối với một ray dọc ở 2 ô liền kề, khiến cho tàu hỏa cua 90 khi đến ô rẽ thay vì 45 độ như bình thường. Việc này cũng áp dụng với tàu thủy. STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Cho phép gộp ga, bến, cảng không sát nhau: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Cho phép thêm đoạn vào ga mà không phải sửa cái hiện có. Phải bấm Ctrl+Click để thêm đoạn vào ga -STR_CONFIG_SETTING_IMPROVEDLOAD :Sử dụng thuật toán bốc/dỡ hàng cải tiến: {STRING} -STR_CONFIG_SETTING_IMPROVEDLOAD_HELPTEXT :Nếu mở, các toa xe ở ga được bốc xếp tuần tự. Toa xe tiếp theo chỉ được bốc hàng khi tòa đầu tiên đã đầy hàng hóa -STR_CONFIG_SETTING_GRADUAL_LOADING :Bốc/dỡ hàng lên phương tiện dần dần: {STRING} -STR_CONFIG_SETTING_GRADUAL_LOADING_HELPTEXT :Bốc xết tuần tự lên toa xe với thời gian được chỉ ra, thay vì bốc xếp tất cả mọi thứ một lúc thì thời gian bốc xếp định sẵn theo khối lượng hàng hóa mang theo STR_CONFIG_SETTING_INFLATION :Lạm phát: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :Cho phép lạm phát đối với kinh tế, khi mà chi phí tăng nhanh hơn một chút so với khoản thu -STR_CONFIG_SETTING_SELECTGOODS :Dỡ hàng hóa tại ga, bến, cảng chỉ khi nơi đó có nhu cầu: {STRING} -STR_CONFIG_SETTING_SELECTGOODS_HELPTEXT :Chỉ có hàng hóa chỉ định cho ga/bến mới được bốc xếp. Tùy chọn này ngăn việc đặt tỉ lệ xấu cho hàng hóa không phục vụ tại ga/bến đó STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Độ dài tối đa của cầu: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Độ dài tối đa khi xây cầu +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :Chiều cao tối đa của cầu: {STRING} +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :Chiều cao tối đa khi xây cầu STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Độ dài tối đa của hầm: {STRING} STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :Độ dài tối đa khi xây hầm STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Tuỳ chỉnh phương thức xây dựng nhà máy: {STRING} @@ -1176,7 +1204,7 @@ STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_PROSPECTING :hứa hẹn STR_CONFIG_SETTING_INDUSTRY_PLATFORM :Vùng đất phẳng xung quanh nhà máy: {STRING} STR_CONFIG_SETTING_INDUSTRY_PLATFORM_HELPTEXT :Khoảng không gian bằng phẳng quanh nhà máy. Điều này đảm bảo rằng không gian trống quanh nhà máy để xây đường ray và công trình STR_CONFIG_SETTING_MULTIPINDTOWN :Cho phép nhiều nhà máy tương tự nhau trong mỗi đô thị: {STRING} -STR_CONFIG_SETTING_MULTIPINDTOWN_HELPTEXT :Bình thường mỗi đo thị không có quá một nhà máy mỗi loại. Tùy chọn này cho phép nhiều nhà máy cùng một loại trong phạm vi mỗi đô thị +STR_CONFIG_SETTING_MULTIPINDTOWN_HELPTEXT :Bình thường mỗi đô thị không có quá một nhà máy mỗi loại. Tùy chọn này cho phép nhiều nhà máy cùng một loại trong phạm vi mỗi đô thị STR_CONFIG_SETTING_SIGNALSIDE :Hiện đèn báo: {STRING} STR_CONFIG_SETTING_SIGNALSIDE_HELPTEXT :Chọn bên của đường ray để đặt đèn tín hiệu STR_CONFIG_SETTING_SIGNALSIDE_LEFT :Phía bên trái @@ -1191,8 +1219,6 @@ STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Vị trí mà t STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :đầu gần STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :giữa STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :đầu xa -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING :Xe ôtô xếp hàng (với hiệu ứng quantum): {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING_HELPTEXT :Tùy chọn sẽ khiến ôtô đứng đợi ở trước điểm dừng cho tới khi có chỗ vào STR_CONFIG_SETTING_AUTOSCROLL :Cuộn cửa sổ chính khi con trỏ gần mép: {STRING} STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Khi bật, vùng nhìn sẽ cuộn khi con trỏ đến cạnh cửa sổ STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Tắt @@ -1215,7 +1241,7 @@ STR_CONFIG_SETTING_PLANE_SPEED :Tỉ lệ tốc STR_CONFIG_SETTING_PLANE_SPEED_HELPTEXT :Thiết lập tốc độ tương đối của máy bay với phương tiện khác, nhằm giảm thu nhập của việc vận chuyển đường hàng không STR_CONFIG_SETTING_PLANE_SPEED_VALUE :1 / {COMMA} STR_CONFIG_SETTING_PLANE_CRASHES :Số vụ tai nạn máy bay: {STRING} -STR_CONFIG_SETTING_PLANE_CRASHES_HELPTEXT :Tỉ lệ xác suất xảy ra tai nạn máy bay +STR_CONFIG_SETTING_PLANE_CRASHES_HELPTEXT :Tỉ lệ / xác suất xảy ra tai nạn máy bay STR_CONFIG_SETTING_PLANE_CRASHES_NONE :không STR_CONFIG_SETTING_PLANE_CRASHES_REDUCED :giảm bớt STR_CONFIG_SETTING_PLANE_CRASHES_NORMAL :bình thường @@ -1223,10 +1249,6 @@ STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Cho phép xây STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Cho phép xây dựng điểm dừng xe bus trên đường sở hữu bởi địa phương STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Cho phép xây điểm dừng xe buýt trên đường của đối thủ: {STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Cho phép xây dựng điểm dừng xe bus trên đường sở hữu bởi công ty khác -STR_CONFIG_SETTING_ADJACENT_STATIONS :Cho phép xây ga, bến, cảng sát nhau: {STRING} -STR_CONFIG_SETTING_ADJACENT_STATIONS_HELPTEXT :Cho phép các ga bến khác nhau có thể chạm vào nhau -STR_CONFIG_SETTING_DYNAMIC_ENGINES :Bật chạy nhiều gói NewGRF cho phương tiện: {STRING} -STR_CONFIG_SETTING_DYNAMIC_ENGINES_HELPTEXT :Tùy chọn tương thích với NewGRFs cũ. Không nên tắt tùy chọn này trừ khi bạn hiểu vấn đề là gì! STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Không thể đổi thiết đặt này khi vẫn còn các phương tiện giao thông. STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Phí bảo trì cơ sở hạ tầng: {STRING} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Khi mở, thì hạ tầng công ty sẽ sinh ra chi phí bảo trì. Chi phí sẽ tăng theo mạng lưới giao thông bạn xây dựng, và sẽ tiêu tốn của công ty lớn nhiều hơn công ty nhỏ @@ -1245,7 +1267,7 @@ STR_CONFIG_SETTING_WARN_INCOME_LESS :Cảnh báo n STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT :Nếu bật, sẽ có một thông báo nếu một phương tiện nào đó không có lãi trong một năm STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Phương tiện không bao giờ thành đồ cổ: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Nếu bật, tất cả các model phương tiện sẽ không bị lỗi thời -STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Tự thay mới phương tiện nếu nó hết tuổi: {STRING} +STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Tự thay mới phương tiện nếu hết hạn sử dụng: {STRING} STR_CONFIG_SETTING_AUTORENEW_VEHICLE_HELPTEXT :Nếu bật, phương tiện gần hết hạn sẽ được tự động thay mới và điều kiện thay mới được thỏa mãn STR_CONFIG_SETTING_AUTORENEW_MONTHS :Tự động thay mới nếu phương tiện đạt {STRING} tuổi STR_CONFIG_SETTING_AUTORENEW_MONTHS_HELPTEXT :Tuổi tương đối để coi như phương tiện hết hạn sử dụng và được thay mới @@ -1257,8 +1279,8 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :Khoảng thời STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Khoảng thời gian hiện thị thông báo trong cửa sổ màu đỏ. Lưu ý rằng cửa sổ thông báo sẽ tự đóng khi sau khoảng thời gian này, hoặc là được đóng bằng tay STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{COMMA} giây STR_CONFIG_SETTING_HOVER_DELAY :Hiện thông báo: {STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Khoảng thời gian trễ mà hướng dẫn hiện lên khi di chuột tới đối tượng, có thể hiện hướng dẫn bằng bấm nút phải chuột -STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Thời gian để con trỏ lên đối tượng {COMMA} giây +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Khoảng thời gian trễ mà hướng dẫn hiện lên khi di chuột tới đối tượng, có thể hiện hướng dẫn bằng bấm nút phải chuột khi giá trị này bằng 0. +STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Thời gian để con trỏ lên đối tượng {COMMA} mili giây STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Bấm phải chuột STR_CONFIG_SETTING_POPULATION_IN_LABEL :Hiện dân số đô thị trong nhãn tên của đô thị: {STRING} STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Hiển thị dân số của đô thị trên nhãn của nó trên bản đồ @@ -1271,21 +1293,24 @@ STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Khoảng cách tối đa từ lề bản đồ tới nhà máy lọc dầu: {STRING} STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Nhà máy hóa dầu chỉ có thể xây gần rìa bản đồ, tương ứng là ven biển với những bản đồ dạng đảo STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Độ cao tuyết phủ: {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Độ gồ ghề của địa chất (cho TerraGenesis) : {STRING} +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Độ gồ ghề của địa chất: {STRING} STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Rất Phẳng STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Phẳng STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Gồ Ghề STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Rất Gồ Ghề +STR_CONFIG_SETTING_RIVER_AMOUNT :Số lượng sông ngòi: {STRING} +STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Chọn số lượng sông ngòi được khởi tạo STR_CONFIG_SETTING_TREE_PLACER :Thuật toán đặt cây: {STRING} +STR_CONFIG_SETTING_TREE_PLACER_HELPTEXT :Chọn cách phân bổ cây cối trên bản đồ: chế độ 'Nguyên bản' trồng một cách rải rác đồng đều, chế độ 'Cải tiến' trồng theo nhóm STR_CONFIG_SETTING_TREE_PLACER_NONE :Không STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :Nguyên bản STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :Tối Ưu Hóa +STR_CONFIG_SETTING_ROAD_SIDE :Xe cộ: {STRING} +STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :Chọn phía xe chạy STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Xoay bản đồ địa hình: {STRING} STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Ngược chiều đồng hồ STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Xuôi chiều đồng hồ STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :Độ cao của một màn chơi đồng bằng là: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :Có thể tôn hạ nền đất ở mép bản đồ: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES_HELPTEXT :Nếu tắt, rìa bản đồ sẽ luôn là biển STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}Một hoặc nhiều ô đất ở mép bản đồ phía bắc không được trống STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}Một hoặc nhiều ô đất ở mép bản không phải là biển @@ -1293,7 +1318,7 @@ STR_CONFIG_SETTING_STATION_SPREAD :Độ trải r STR_CONFIG_SETTING_STATION_SPREAD_HELPTEXT :Khoảng diện tích tối đa mà mỗi ga/bến đơn có thể trả rộng. Giá trị cao quá sẽ làm chậm trò chơi STR_CONFIG_SETTING_SERVICEATHELIPAD :Bảo trì trực thăng ở sân bay trực thăng một cách tự động: {STRING} STR_CONFIG_SETTING_SERVICEATHELIPAD_HELPTEXT :Bảo trì máy bay trực thăng mỗi khi hạ cánh, thậm chí là không có nhà sửc máy bay ở sân bay đó -STR_CONFIG_SETTING_LINK_TERRAFORM_TOOLBAR :Neo c.cụ tôn tạo nền đất vào c.cụ tàu hoả/xe/tàu thủy/máy bay: {STRING} +STR_CONFIG_SETTING_LINK_TERRAFORM_TOOLBAR :Neo công cụ tôn tạo nền đất vào công cụ tàu hoả/xe/tàu thủy/máy bay: {STRING} STR_CONFIG_SETTING_LINK_TERRAFORM_TOOLBAR_HELPTEXT :Khi mở thanh công cụ xây dựng một loại đường nào đó, thì mở luôn thanh công cụ nâng hạ đất nền STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR :Màu đất hiển thị tại bản đồ nhỏ: {STRING} STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_HELPTEXT :Màu sắc của các dạng đất trên bản đồ nhỏ @@ -1301,7 +1326,7 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_GREEN :Lục STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :Lục tối STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :Tím STR_CONFIG_SETTING_REVERSE_SCROLLING :Đảo ngược hướng cuộn: {STRING} -STR_CONFIG_SETTING_REVERSE_SCROLLING_HELPTEXT :Phản ứng khi cuộc bản đồ bằng nút chuột phải. Nếu tắt, thì chuột di chuyển theo vùng nhìn. Nếu bật thì chuột di chuyển theo bản đồ +STR_CONFIG_SETTING_REVERSE_SCROLLING_HELPTEXT :Phản ứng khi cuộn bản đồ bằng nút chuột phải. Nếu tắt, thì chuột di chuyển theo vùng nhìn. Nếu bật thì chuột di chuyển theo bản đồ STR_CONFIG_SETTING_SMOOTH_SCROLLING :Cuộn uyển chuyển cửa sổ: {STRING} STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Điều khiển cách màn hình chính cuộn tới vị trí cụ thể khi nháy chuột vào bản đồ nhỏ hoặc khi gõ lệnh cuộn tới đối tượng trên bản đồ. Nếu bật, thì sẽ cuộn trượt, nếu tắt thì nhảy thẳng tới vị trí đó. STR_CONFIG_SETTING_MEASURE_TOOLTIP :Hiện bảng chú giải đo lường khi dùng các công cụ xây dựng: {STRING} @@ -1312,7 +1337,7 @@ STR_CONFIG_SETTING_LIVERIES_NONE :Không STR_CONFIG_SETTING_LIVERIES_OWN :Công ty đang giữ STR_CONFIG_SETTING_LIVERIES_ALL :Tất cả công ty STR_CONFIG_SETTING_PREFER_TEAMCHAT :Bắt đầu tán gẫu nội nhóm với phím : {STRING} -STR_CONFIG_SETTING_PREFER_TEAMCHAT_HELPTEXT :Chuyển đổi chế đố chát nội bộ trong công ty (nhiều người chơi) thay vì công cộng bằng nút +STR_CONFIG_SETTING_PREFER_TEAMCHAT_HELPTEXT :Chuyển đổi chế độ 'tám' nội bộ trong công ty (nhiều người chơi) thay vì công cộng bằng nút STR_CONFIG_SETTING_SCROLLWHEEL_SCROLLING :Chức năng nút cuộn trên chuột: {STRING} STR_CONFIG_SETTING_SCROLLWHEEL_SCROLLING_HELPTEXT :Cho phép cuộc bằng chuột có bánh xe cuộn hai chiều STR_CONFIG_SETTING_SCROLLWHEEL_ZOOM :Phóng to bản đồ @@ -1336,17 +1361,15 @@ 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_AUTOSAVE :Tự động save: {STRING} +STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Chọn chu kỳ giữa mỗi lần tự động save + STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Sử dụng định dạng ngày {STRING} cho tên file lưu ván chơi. STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Định dạng ngày trong tên file lưu STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :đầy đủ (31 T12 2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :ngắn (31-12-2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE :Bảng màu mặc định cho những NewGRF chưa đặt sẵn bảng màu: {STRING} -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_HELPTEXT :Bảng palette mặc định cho NewGRF với NewGRF không chỉ rõ palette -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_DOS :Bảng màu (D) mặc định -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_WIN :Bảng màu (W) hệ thống - STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Tự động tạm dừng khi bắt đầu game mới: {STRING} STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :Khi bật, ván chơi sẽ tự động tạm dừng khi bắt đầu ván chơi, cho phép xem xét trước bản đồ STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Khi tạm dừng thì cho phép: {STRING} @@ -1355,7 +1378,7 @@ STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :không có thao STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :tất cả những thao tác phi xây dựng STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :tất cả ngoại trừ chỉnh sửa địa hình STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_ACTIONS :tất cả thao tác -STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Danh sách phương tiện nâng cao: {STRING} +STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Gom nhóm trong danh sách phương tiện: {STRING} STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Cho phép sử dụng danh mục nâng cao các loại phương tiện để nhóm chúng lại STR_CONFIG_SETTING_LOADING_INDICATORS :Hiển thị quá trình nạp hàng: {STRING} STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Lựa chọn liệu có chỉ thị tỉ lệ bốc xếp hiển thị khi bốc xếp hàng @@ -1396,13 +1419,13 @@ STR_CONFIG_SETTING_SOUND_AMBIENT_HELPTEXT :Phát các âm STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING :Tắt việc xây dựng hạ tầng nếu không có phương tiện thích hợp nào sẵn có: {STRING} STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING_HELPTEXT :Khi bật, thì cơ sở hạ tầng chỉ sẵn có nếu loại phương tiện tương ứng cũng sẵn có, giúp cho việc tránh xây nhầm hạ tầng không thích hợp -STR_CONFIG_SETTING_MAX_TRAINS :Số tàu hỏa tối đa mỗi người chơi: {STRING} +STR_CONFIG_SETTING_MAX_TRAINS :Số tàu hỏa tối đa mỗi công ty: {STRING} STR_CONFIG_SETTING_MAX_TRAINS_HELPTEXT :Số lượng tối đa tàu hỏa mà mỗi công ty có thể có -STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :Số xe ôtô tối đa mỗi người chơi: {STRING} +STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :Số xe ôtô tối đa mỗi công ty: {STRING} STR_CONFIG_SETTING_MAX_ROAD_VEHICLES_HELPTEXT :Số lượng ôtô tối đa mà một công ty có thể có -STR_CONFIG_SETTING_MAX_AIRCRAFT :Số máy bay tối đa mỗi người chơi: {STRING} +STR_CONFIG_SETTING_MAX_AIRCRAFT :Số máy bay tối đa mỗi công ty: {STRING} STR_CONFIG_SETTING_MAX_AIRCRAFT_HELPTEXT :Số lượng máy bay tối đa mà một công ty có thể có -STR_CONFIG_SETTING_MAX_SHIPS :Số tàu thủy tối đa mỗi người chơi: {STRING} +STR_CONFIG_SETTING_MAX_SHIPS :Số tàu thủy tối đa mỗi công ty: {STRING} STR_CONFIG_SETTING_MAX_SHIPS_HELPTEXT :Số lượng tàu thủy tối đa mà một công ty có thể có STR_CONFIG_SETTING_AI_BUILDS_TRAINS :Nhân vật máy không được mua tàu hoả: {STRING} @@ -1429,7 +1452,7 @@ STR_CONFIG_SETTING_SERVINT_ISPERCENT :Tần suất b STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Lựa chọn liệu rằng việc bảo trì phương tiện sẽ được tiến hành sau một khoảng thời gian nhất định hay là độ tin cậy bị giảm xuống bao nhiều phần trăm so với mức tối đa STR_CONFIG_SETTING_SERVINT_TRAINS :Tần suất bảo trì mặc định đối với tàu hỏa: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Thiết lập khoảng thời gian bảo trì tùy chọn đối với các tàu hỏa, nếu phương tiện không có riêng thời gian bảo trì này -STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA} ngày/% +STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}ngày/% STR_CONFIG_SETTING_SERVINT_DISABLED :tắt STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES :Tần suất bảo trì mặc định đối với ôtô: {STRING} STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES_HELPTEXT :Thiết lập khoảng thời gian bảo trì tùy chọn đối với các ôtô, nếu phương tiện không có riêng thời gian bảo trì này @@ -1487,17 +1510,17 @@ STR_CONFIG_SETTING_SMOOTH_ECONOMY_HELPTEXT :Nếu bật, s STR_CONFIG_SETTING_ALLOW_SHARES :Cho phép mua cổ phần của các công ty khác: {STRING} STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT :Nếu bật, cho phép mua và bán cổ phần công ty. Cổ phần chỉ có thể mua bán nếu công ty đã tồn tại một thời gian nhất định nào đó STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE :Tỉ lệ lợi tức cổ phiếu chi trả cho môi giới: {STRING} -STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :Tỉ lệ phân trăm thu nhập cho mỗi trung gian trên hệ thống vận tải, cho phép điều chỉnh thu nhập +STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :Tỉ lệ thu nhập cho mỗi trung gian trên hệ thống vận tải, cho phép điều chỉnh thu nhập STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY :Khi kéo, đặt đèn tín hiệu mỗi: {STRING} -STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_HELPTEXT :Đặt khoảng cách để xây liên tiếp các đèn tín hiệu khi được kéo +STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_HELPTEXT :Đặt khoảng cách giữa các đèn tín hiệu khi được kéo STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_VALUE :{COMMA} ô STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE :Khi kéo-thả, giữ khoảng cách cố định giữa các đèn tín hiệu: {STRING} STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT :Lựa chọn cách đặt đèn hiệu khi bấm Ctrl+kéo thả đèn hiệu, nếu tắt, đèn hiệu đặt ngay trước và sau cầu, hầm để tránh bị quãng kéo dài không có đèn. Nếu bật, đèn hiệu sẽ được đặt sau mỗi n ô, tạo ra việc căn đèn đối với các ray song song dễ dàng hơn STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE :Xây cờ hiệu thay vì đèn trước năm: {STRING} -STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT :Thiết lập năm mà đèn hiệu điện sẽ được sử dụng. Trước năm này chỉ có cờ hiệu được sử dụng (chúng cùng chức năng, chỉ khác hình thức) +STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT :Thiết lập thời điểm đèn hiệu điện sẽ được sử dụng. Trước thời điểm này chỉ có cờ hiệu được sử dụng (chúng cùng chức năng, chỉ khác hình thức) STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI :Bật GUI đèn tín hiệu : {STRING} STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI_HELPTEXT :Hiện một cửa sổ chọn kiểu đèn hiệu khi xây dựng, thay vì phải đổi kiểu bằng cách bấm Ctrl+click trên công cụ xây dựng đèn hiệu -STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE :Kiểu đèn tín hiệu đc xây mặc định: {STRING} +STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE :Kiểu đèn tín hiệu mặc định: {STRING} STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE_HELPTEXT :Kiểu đèn tín hiệu mặc định để sử dụng STR_CONFIG_SETTING_DEFAULT_SIGNAL_NORMAL :Đèn hiệu khóa STR_CONFIG_SETTING_DEFAULT_SIGNAL_PBS :Đèn dẫn đường @@ -1563,17 +1586,15 @@ STR_CONFIG_SETTING_TOWN_GROWTH_NORMAL :Bình thường STR_CONFIG_SETTING_TOWN_GROWTH_FAST :Nhanh STR_CONFIG_SETTING_TOWN_GROWTH_VERY_FAST :Cực nhanh STR_CONFIG_SETTING_LARGER_TOWNS :Tỷ lệ đô thị sẽ trở nên thành phố: {STRING} -STR_CONFIG_SETTING_LARGER_TOWNS_HELPTEXT :Số lượng đô thị sẽ trở nên thành phố, đô thị đó sẽ rộng hơn và phát triển nhanh hơn +STR_CONFIG_SETTING_LARGER_TOWNS_HELPTEXT :Số lượng đô thị sẽ trở thành thành phố, đô thị đó sẽ rộng hơn và phát triển nhanh hơn STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 trong {COMMA} STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Không STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Hệ số quy mô đô thị coi là thành phố: {STRING} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Kích thước trung bình của thành phố tỉ lệ với đô thị lúc bắt đầu trò chơi -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :Bỏ đi những khúc đường ngớ ngẩn khi xây dựng đường: {STRING} -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD_HELPTEXT :Xóa bỏ những khúc đường cụt trong khi đầu tư cải tạo lại đường -STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Cập nhật đồ thị phân phối mỗi {STRING} ngày +STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Cập nhật đồ thị phân phối mỗi {STRING}{NBSP}ngày STR_CONFIG_SETTING_LINKGRAPH_INTERVAL_HELPTEXT :Thời gian giữa các lần tính toán đồ thị. Mỗi lần tính sẽ tính một phần của đồ thị. Nhưng không có nghĩa là giá trị X này sẽ khiến việc tính toán toàn bộ xảy ra sau X ngày, chỉ có một phần thôi. Nếu nhỏ thì CPU cần để tính sẽ nhiều hơn, lớn thì việc tính toán lại phân phối hàng hóa mỗi khi có đường mới sẽ chậm hơn. -STR_CONFIG_SETTING_LINKGRAPH_TIME :Dùng {STRING} ngày để tính toán lại đồ thị phân phối +STR_CONFIG_SETTING_LINKGRAPH_TIME :Dùng {STRING}{NBSP}ngày để tính toán lại đồ thị phân phối STR_CONFIG_SETTING_LINKGRAPH_TIME_HELPTEXT :Thời gian cần thiết cho mỗi bước tính toán đồ thị liên kết. Mỗi khi bắt đầu, chương trình tính toán sẽ được phép chạy trong một số ngày nào đó tùy theo giá trị này. Nếu quá ít có thể không đủ để tính toán, mà nếu quá nhiều thì nó sẽ kéo dài việc tính toán lại phân phối mỗi khi đường đi thay đổi. STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :bằng tay STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :bất đối xứng @@ -1585,14 +1606,14 @@ STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :Thư tín có t STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Chế độ phân phối đối với hàng hóa đóng két: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :Hàng hóa được đóng két là gói hàng có giá trong địa hình nhiệt đới, kim cương trong hoang mạc, vàng trong địa hình vùng cực lạnh. NewGRF có thể khác. Bạn nên đặt là bất đối xứng hoặc bằng tay nếu ở địa hình cực lạnh, vì ngân hàng sẽ không gửi vàng trở lại mỏ vàng. Với địa hình nhiệt đới hoặc hoang mạc thì có thể chọn đối xứng bởi các ngân hàng có thể gửi hai chiều với nhau. STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Chế độ phân phối đối với các loại hàng hóa mặc định: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"đối xứng" là sẽ có lượng hàng từ A đến B sẽ giống lượng từ B đến A. "bất đối xứng" là tùy ý hàng hóa có thể gửi theo chiều bất kỳ. "bằng tay" là sẽ không phân phối tự động mà bạn sẽ phải chỉ ra. Bạn nên đặt là "bất đối xứng" hoặc "bằng tay". +STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"bất đối xứng" là khối lượng hàng hóa tùy ý có thể gửi theo chiều bất kỳ. "bằng tay" là sẽ không phân phối tự động mà bạn sẽ phải chỉ ra. STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Độ chính xác phân phối: {STRING} STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Mức chính xác tính toán đồ thị, nếu giá trị càng cao càng tốn CPU và trò chơi có thể chậm phản ứng, tuy nhiên giá trị thấp sẽ khiến việc phân phối sẽ giảm sự chính xác và bạn sẽ thấy sự khác biệt là hàng hóa không gửi đến chỗ cần đến. STR_CONFIG_SETTING_DEMAND_DISTANCE :Ảnh hưởng bởi khoảng cách đến nhu cầu gửi: {STRING} STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Nếu bạn đặt giá trị này lớn hơn 0, thì khoảng chênh lượng hàng hóa gửi từ ga A đến B sẽ ảnh hưởng bởi khoảng cách, giá trị càng cao thì càng ít hàng gửi đến ga xa và nhiều hàng gửi đến ga gần và ngược lại. STR_CONFIG_SETTING_DEMAND_SIZE :Khối lượng hàng hóa trả về đối với chế độ đối xứng: {STRING} STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Thiết lập giá trị này ít hơn 100% sẽ khiến vận tải hai chiều đối xứng sẽ giống như bất đối xứng. Sẽ có ít hàng hóa hơn chuyển ngược lại nếu như số lượng hàng chuyển tới vượt ngưỡng nào đó. Nếu đặt là 0% thì là bất đối xứng hoàn toàn. -STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Tỉ lệ bão hòa (hết tải) của đường tắt trước khi chuyển sang đường khác dài hơn: {STRING} +STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Tỉ lệ bảo hòa (hết tải) của đường tắt trước khi chuyển sang đường khác dài hơn: {STRING} STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Thường sẽ có nhiều con đường giữa 2 ga/bến. Việc vận tải hàng hóa sẽ chọn con đường ngắn nhất trước cho đến khi hết tải. Sau đó chọn con đường ngắn thứ 2, 3... cho đến khi hết tải. Việc hết tải được tính toán bằng khối lượng vận chuyển thực tế so với dự tính. Khi hết tải tất cả các con đường, nếu vẫn còn hàng hóa cần chuyển, thì nó có thể gây quá tải. Dầu vậy thuật toán này không phải lúc nào cũng chính xác trong việc tính toán năng lực vận tải. Thiết lập này cho phép bạn tinh chỉnh tỉ lệ mà một con đường sẽ hết tải trước khi chọn con đường kế tiếp. Nhỏ hơn 100% sẽ giúp tránh việc một ga bến quá đông đúc và bù trừ việc tính toán sai lệch này. STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Đơn vị tốc độ: {STRING} @@ -1608,50 +1629,42 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_METRIC :Metric (hp) STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_SI :SI (kW) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT :Đơn vị khối lượng: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_HELPTEXT :Khi hiển thị khối lượng trên giao diện, thể hiện nó bằng đơn vị đã chọn. +STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_HELPTEXT :Khi hiển thị khối lượng trên giao diện, thể hiện nó bằng đơn vị đã chọn STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_IMPERIAL :Imperial (short t/ton) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_METRIC :Metric (t/tonne) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_SI :SI (kg) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME :Đơn vị dung tích: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_HELPTEXT :Khi dung tích thể hiện, hiển thị nó trong đơn vị đã chọn. +STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_HELPTEXT :Khi dung tích thể hiện, hiển thị nó trong đơn vị đã chọn STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_IMPERIAL :Imperial (gal) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_METRIC :Metric (l) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_SI :SI (m³) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE :Đơn vị gia tốc: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_HELPTEXT :Mỗi đơn vị lực, cũng là gia tốc, hiển thị trên giao diện như là đơn vị đã chọn. +STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_HELPTEXT :Mỗi đơn vị lực, cũng là gia tốc, hiển thị trên giao diện như là đơn vị đã chọn STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_IMPERIAL :Imperial (lbf) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_METRIC :Metric (kgf) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_SI :SI (kN) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT :Đơn vị độ cao: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT :Khi độ cao thể hiện trên giao diện, thì hiển thị nó trên đơn vị đã chọn. +STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT :Khi độ cao thể hiện trên giao diện, thì hiển thị nó trên đơn vị đã chọn STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :Hoàng Gia (ft) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :Metric (m) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :SI (m) -STR_CONFIG_SETTING_GUI :{ORANGE}Giao Diện STR_CONFIG_SETTING_LOCALISATION :{ORANGE}Tiêu Chuẩn Đo Lường -STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}Xây Dựng +STR_CONFIG_SETTING_SOUND :{ORANGE}Âm thanh +STR_CONFIG_SETTING_INTERFACE :{ORANGE}Giao Diện +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Xây Dựng STR_CONFIG_SETTING_VEHICLES :{ORANGE}Phương Tiện -STR_CONFIG_SETTING_STATIONS :{ORANGE}Ga, Bến, Cảng -STR_CONFIG_SETTING_ECONOMY :{ORANGE}Kinh Tế -STR_CONFIG_SETTING_LINKGRAPH :{ORANGE}Phân Bổ Hàng Hóa -STR_CONFIG_SETTING_AI :{ORANGE}Đối Thủ -STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}Tùy chỉnh hiển thị -STR_CONFIG_SETTING_INTERACTION :{ORANGE}Tương tác -STR_CONFIG_SETTING_SOUND :{ORANGE}Hiệu ứng âm thanh -STR_CONFIG_SETTING_NEWS :{ORANGE}Tin tức -STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}Đèn báo -STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE}Bốc/dỡ hàng -STR_CONFIG_SETTING_AI_NPC :{ORANGE}Nhân vật máy -STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE}Tự thay mới -STR_CONFIG_SETTING_VEHICLES_SERVICING :{ORANGE}Bảo trì STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Tìm đường -STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}Tàu hoả -STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}Đô thị -STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}Nhà máy +STR_CONFIG_SETTING_ENVIRONMENT :{ORANGE}Môi trường +STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :{ORANGE}Chính quyền +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Đô thị +STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}Nhà máy +STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :{ORANGE}Phân bổ hàng hóa +STR_CONFIG_SETTING_AI :{ORANGE}Đối Thủ +STR_CONFIG_SETTING_AI_NPC :{ORANGE}Nhân vật máy STR_CONFIG_SETTING_PATHFINDER_OPF :Nguyên bản STR_CONFIG_SETTING_PATHFINDER_NPF :NPF @@ -1677,7 +1690,7 @@ STR_CONFIG_ERROR_DUPLICATE_GRFID :{WHITE}... bỏ STR_CONFIG_ERROR_INVALID_GRF :{WHITE}... bỏ qua NewGRF '{STRING}' không hợp lệ: {STRING} STR_CONFIG_ERROR_INVALID_GRF_NOT_FOUND :không tìm thấy STR_CONFIG_ERROR_INVALID_GRF_UNSAFE :không an toàn để dùng tĩnh -STR_CONFIG_ERROR_INVALID_GRF_SYSTEM :NewGRF hệ thống +STR_CONFIG_ERROR_INVALID_GRF_SYSTEM :Hệ thống NewGRF STR_CONFIG_ERROR_INVALID_GRF_INCOMPATIBLE :không tương thích phiên bản với OpenTTD STR_CONFIG_ERROR_INVALID_GRF_UNKNOWN :không rõ STR_CONFIG_ERROR_INVALID_SAVEGAME_COMPRESSION_LEVEL :{WHITE}... mức độ nén '{STRING}' không hợp lệ @@ -1700,7 +1713,7 @@ STR_INTRO_MULTIPLAYER :{BLACK}Chơi Tr STR_INTRO_GAME_OPTIONS :{BLACK}Cấu Hình Trò Chơi STR_INTRO_HIGHSCORE :{BLACK}Bảng điểm chơi cao nhất -STR_INTRO_ADVANCED_SETTINGS :{BLACK}Thiết Lập Nâng Cao +STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Thiết lập STR_INTRO_NEWGRF_SETTINGS :{BLACK}Thiết Lập NewGRF STR_INTRO_ONLINE_CONTENT :{BLACK}Các Nội Dung Trên Mạng STR_INTRO_SCRIPT_SETTINGS :{BLACK}Thiết Lập AI / Game Script @@ -1720,7 +1733,7 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Chọn k STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Hiển thị cấu hình của trò chơi STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Hiện bảng điểm chơi cao nhất -STR_INTRO_TOOLTIP_ADVANCED_SETTINGS :{BLACK}Hiển thị tùy chỉnh nâng cao +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Thiết lập hiển thị STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Hiển thị tùy chỉnh NewGRF STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Kiểm tra những nội dung mới & cập nhật để tải về STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Hiển thị thiết lập AI và Game script @@ -1760,12 +1773,14 @@ STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Điều STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Xe ủi thần kỳ (xóa bỏ nhà máy, vật không thể di chuyển): {ORANGE}{STRING} STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}Đường ngầm có thể vượt lẫn nhau : {ORANGE}{STRING} STR_CHEAT_NO_JETCRASH :{LTBLUE}Máy bay phản lực sẽ không tai nạn (thường xuyên) ở các sân bay nhỏ: {ORANGE}{STRING} +STR_CHEAT_EDIT_MAX_HL :{LTBLUE}Thay đổi chiều cao tối đa của bản đồ {ORANGE}{NUM} +STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Thay đổi chiều cao tối đa của núi đồi trên bản đồ STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE :Địa hình vừa phải STR_CHEAT_SWITCH_CLIMATE_SUB_ARCTIC_LANDSCAPE :Địa hình giá lạnh STR_CHEAT_SWITCH_CLIMATE_SUB_TROPICAL_LANDSCAPE :Địa hình cận nhiệt đới STR_CHEAT_SWITCH_CLIMATE_TOYLAND_LANDSCAPE :Địa hình đồ chơi STR_CHEAT_CHANGE_DATE :{LTBLUE}Sửa thời gian: {ORANGE}{DATE_SHORT} -STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Thay đổi năm hiện tại +STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Thay đổi thời gian hiện tại STR_CHEAT_SETUP_PROD :{LTBLUE}Cho phép khả năng sửa giá trị sản xuất: {ORANGE}{STRING} # Livery window @@ -1805,14 +1820,15 @@ STR_LIVERY_PASSENGER_TRAM :Xe khách đi STR_LIVERY_FREIGHT_TRAM :Tàu Hàng Điện # Face selection window -STR_FACE_CAPTION :{WHITE}Chọn Vẻ Mặt +STR_FACE_CAPTION :{WHITE}Chọn Khuôn Mặt STR_FACE_CANCEL_TOOLTIP :{BLACK}Bỏ qua lựa chọn vẻ mặt STR_FACE_OK_TOOLTIP :{BLACK}Lựa chọn vẻ mặt mới +STR_FACE_RANDOM :{BLACK}Sinh Ngẫu Nhiên STR_FACE_MALE_BUTTON :{BLACK}Nam -STR_FACE_MALE_TOOLTIP :{BLACK}Chọn vẻ mặt nam +STR_FACE_MALE_TOOLTIP :{BLACK}Chọn khuôn mặt nam STR_FACE_FEMALE_BUTTON :{BLACK}Nữ -STR_FACE_FEMALE_TOOLTIP :{BLACK}Chọn vẻ mặt nữ +STR_FACE_FEMALE_TOOLTIP :{BLACK}Chọn khuôn mặt nữ STR_FACE_NEW_FACE_BUTTON :{BLACK}Vẻ Mặt Mới STR_FACE_NEW_FACE_TOOLTIP :{BLACK}Chọn ngẫu nhiên vẻ mặt mới STR_FACE_ADVANCED :{BLACK}Nâng cao @@ -1822,7 +1838,7 @@ STR_FACE_SIMPLE_TOOLTIP :{BLACK}Trình c STR_FACE_LOAD :{BLACK}Nạp STR_FACE_LOAD_TOOLTIP :{BLACK}Chọn vẻ mặt ưa thích STR_FACE_LOAD_DONE :{WHITE}Vẻ mặt ưa thích đã được nạp từ file thiết lập của OpenTTD. -STR_FACE_FACECODE :{BLACK}Vẻ mặt thứ. +STR_FACE_FACECODE :{BLACK}Khuôn mặt thứ. STR_FACE_FACECODE_TOOLTIP :{BLACK}Xem và/hoặc sửa số vẻ mặt của chủ tịch công ty STR_FACE_FACECODE_CAPTION :{WHITE}Xem và/hoặc chọn số bộ mặt người chơi STR_FACE_FACECODE_SET :{WHITE}Mã số gương mặt mới được thiết lập. @@ -1831,9 +1847,9 @@ STR_FACE_SAVE :{BLACK}Lưu STR_FACE_SAVE_TOOLTIP :{BLACK}Lưu gương mặt yêu thích STR_FACE_SAVE_DONE :{WHITE}Gương mặt yêu thích này sẽ được lưu lại trong tập tin cấu hình OpenTTD . STR_FACE_EUROPEAN :{BLACK}Châu Âu -STR_FACE_SELECT_EUROPEAN :{BLACK}Chọn gương mặt Châu Âu +STR_FACE_SELECT_EUROPEAN :{BLACK}Chọn khuôn mặt Châu Âu STR_FACE_AFRICAN :{BLACK}Châu Phi -STR_FACE_SELECT_AFRICAN :{BLACK}Chọn gương mặt Châu Phi +STR_FACE_SELECT_AFRICAN :{BLACK}Chọn khuôn mặt Châu Phi STR_FACE_YES :Đồng ý STR_FACE_NO :Không STR_FACE_MOUSTACHE_EARRING_TOOLTIP :{BLACK}Chọn ria mép hoặc bông tai @@ -2277,7 +2293,7 @@ STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Xây d STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Xây xưởng tàu hoả (để chế tạo và bảo dưỡng tàu). Shift để xem chi phí dự tính STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Chuyển từ ray sang điểm mốc. Ctrl để nối các điểm mốc. Shift để xem chi phí dự tính STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Xây nhà ga tàu hoả. Ctrl để nối các nhà ga. Shift để xem chi phí dự tính -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Xây đèn tín hiệu đường sắt. Ctrl đổi dùng đèn/cờ tín hiệu.{}Ctrl + kéo chuột theo đường ray khi xây sẽ xây loạt đèn tín hiệu cho tới điểm ngã ba, tư kế tiếp {}Ctrl+Click để mở cửa sổ chọn loại đèn tin hiệu. Shift để xem chi phí dự tính +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Xây đèn tín hiệu đường sắt. Ctrl đổi dùng đèn/cờ tín hiệu{}Kéo thả để xây đèn tín hiệu theo đoạn kéo thả. Ctrl + kéo chuột theo đường ray khi xây sẽ xây loạt đèn tín hiệu cho tới điểm ngã ba, tư kế tiếp {}Ctrl+Click để mở cửa sổ chọn loại đèn tin hiệu. Shift để xem chi phí dự tính STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Xây cầu tàu hoả. Shift để xem chi phí dự tính STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Xây hầm tàu hoả. Shift để xem chi phí dự tính STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Chuyển chế độ xây/phá cho đường ray, đèn tín hiệu, điểm mốc và nhà ga. Giữ Ctrl để phá bỏ đường ray tính từ điểm mốc hay nhà ga @@ -2649,7 +2665,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-2014 Nhóm OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 Nhóm OpenTTD # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Lưu Ván Chơi @@ -2683,13 +2699,12 @@ STR_MAPGEN_BY :{BLACK}* STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Số lượng đô thị: STR_MAPGEN_DATE :{BLACK}Thời điểm: STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Số lượng nhà máy: +STR_MAPGEN_MAX_HEIGHTLEVEL :{BLACK}Chiều cao tối đa của bản đồ +STR_MAPGEN_MAX_HEIGHTLEVEL_UP :{BLACK}Tăng chiều cao tối đa của núi đồi trên bản đồ 1 đơn vị +STR_MAPGEN_MAX_HEIGHTLEVEL_DOWN :{BLACK}Giảm chiều cao tối đa của núi đồi trên bản đồ 1 đơn vị STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}Độ cao tuyết phủ: STR_MAPGEN_SNOW_LINE_UP :{BLACK}Di chuyển độ cao tuyết phủ lên cao STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}Di chuyển độ cao tuyết phủ xuống thấp -STR_MAPGEN_RANDOM_SEED :{BLACK}Số ngẫu nhiên: -STR_MAPGEN_RANDOM_SEED_HELP :{BLACK}Chọn để nhập con số ngẫu nhiên khi tạo bản đồ -STR_MAPGEN_RANDOM :{BLACK}Sinh Ngẫu Nhiên -STR_MAPGEN_RANDOM_HELP :{BLACK}Thay đổi con số ngẫu nhiên để khởi tạo địa hình ngẫu nhiên STR_MAPGEN_LAND_GENERATOR :{BLACK}Tạo nền đất: STR_MAPGEN_TREE_PLACER :{BLACK}Cơ chế trồng cây: STR_MAPGEN_TERRAIN_TYPE :{BLACK}Kiểu nền đất: @@ -2716,9 +2731,9 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Tên b STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Cỡ: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} -STR_MAPGEN_RANDOM_SEED_OSKTITLE :{BLACK}Nhập một số ngẫu nhiên +STR_MAPGEN_MAX_HEIGHTLEVEL_QUERY_CAPT :{WHITE}Thay đổi chiều cao tối đa của bản đồ STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}Thay đổi độ cao tuyết phủ -STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Thay đổi năm khởi đầu +STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Thay đổi thời điểm bắt đầu # SE Map generation STR_SE_MAPGEN_CAPTION :{WHITE}Kiểu Màn Chơi @@ -2734,8 +2749,8 @@ STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_QUERY_CAPT :{WHITE}Thay đ # Map generation progress STR_GENERATION_WORLD :{WHITE}Đang tạo màn... STR_GENERATION_ABORT :{BLACK}Huỷ bỏ -STR_GENERATION_ABORT_CAPTION :{WHITE}Huỷ Việc Tạo Màn -STR_GENERATION_ABORT_MESSAGE :{YELLOW}Bạn có chắc là huỷ việc tạo màn chơi? +STR_GENERATION_ABORT_CAPTION :{WHITE}Ngưng Tạo Màn +STR_GENERATION_ABORT_MESSAGE :{YELLOW}Bạn có chắc ngưng tạo màn chơi? STR_GENERATION_PROGRESS :{WHITE}{NUM}% hoàn thành STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}Tạo màn @@ -2771,6 +2786,8 @@ STR_NEWGRF_SETTINGS_MOVEUP :{BLACK}Dịch l STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP :{BLACK}Dịch NewGRF file lên phía trên STR_NEWGRF_SETTINGS_MOVEDOWN :{BLACK}Chuyển xuống STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP :{BLACK}Chuyển NewGRF file xuống dưới +STR_NEWGRF_SETTINGS_UPGRADE :{BLACK}Nâng cấp +STR_NEWGRF_SETTINGS_UPGRADE_TOOLTIP :{BLACK}Nâng cấp những file NewGRF nếu bạn đã cài phiên bản mới STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}Danh sách file NewGRF đã cài đặt. STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}Đặt tham số @@ -2795,6 +2812,16 @@ STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}File hợp STR_NEWGRF_SETTINGS_DISABLED :{RED}Tắt STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Không tương thích với phiên bản OpenTTD này. +# NewGRF save preset window +STR_SAVE_PRESET_CAPTION :{WHITE}Lưu thiết lập +STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK}Danh sách những thiết lập có sẵn, chọn một để sao chép tên thiết lập +STR_SAVE_PRESET_TITLE :{BLACK}Nhập tên cho thiết lập +STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}Tên hiện tại cho thiết lập được lưu +STR_SAVE_PRESET_CANCEL :{BLACK}Hủy bỏ +STR_SAVE_PRESET_CANCEL_TOOLTIP :{BLACK}Không thay đổi thiết lập +STR_SAVE_PRESET_SAVE :{BLACK}Lưu +STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}Lưu thiết lập bằng tên được chọn + # NewGRF parameters window STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Thay Đổi Tham Số NewGRF STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Đóng @@ -2822,10 +2849,9 @@ STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Chuyển STR_SPRITE_ALIGNER_GOTO_BUTTON :{BLACK}Đi tới sprite STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}Nhảy tới sprite đã cho. Nếu sprite không bình thường, thì chuyển tới cái bình thường kế tiếp STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Sprite trước -STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Xử lý sprite bình thường ở trước, bỏ qua các loại sprite căn theo điểm bắt đầu +STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Xử lý sprite bình thường ở trước, bỏ qua các loại pseudo/recolour/font sprite căn theo điểm bắt đầu STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Theo những thông tin của sprite đã chọn. Thì việc căn chỉnh khi vẽ đối với sprite này sẽ bị bỏ qua STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Di chuyển sprite xung quanh, thay đổi X và Y offsets -STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X offset: {NUM}, Y offset: {NUM} STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Chọn sprite STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Chọn sprite ở bất cứ đâu trên màn hình @@ -2937,8 +2963,8 @@ STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{GREEN}Đã chuyển được {ORANGE}{STRING} STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (vẫn còn yêu cầu) STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (đã được vận chuyển) -STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Thị trấn phát triển mỗi {ORANGE}{COMMA}{BLACK} ngày -STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Thị trấn phát triển mỗi {ORANGE}{COMMA}{BLACK} ngày (đã được góp vốn) +STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Thị trấn phát triển mỗi {ORANGE}{COMMA}{BLACK}{NBSP}ngày +STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Thị trấn phát triển mỗi {ORANGE}{COMMA}{BLACK}{NBSP}ngày (đã được góp vốn) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}Thị trấn {RED}không còn{BLACK} phát triển STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Độ ồn giới hạn trong đô thị: {ORANGE}{COMMA}{BLACK} max: {ORANGE}{COMMA} STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Xem trung tâm đô thị. Ctrl+Click mở cửa sổ mới về vị trí đô thị @@ -2966,7 +2992,7 @@ STR_LOCAL_AUTHORITY_ACTION_SMALL_ADVERTISING_CAMPAIGN :Chiến dịch STR_LOCAL_AUTHORITY_ACTION_MEDIUM_ADVERTISING_CAMPAIGN :Chiến dịch quảng cáo trung bình STR_LOCAL_AUTHORITY_ACTION_LARGE_ADVERTISING_CAMPAIGN :Chiến dịch quảng cáo lớn STR_LOCAL_AUTHORITY_ACTION_ROAD_RECONSTRUCTION :Tài trợ cải tạo đường phố nội thị -STR_LOCAL_AUTHORITY_ACTION_STATUE_OF_COMPANY :Xây tượng đài ông chủ công ty +STR_LOCAL_AUTHORITY_ACTION_STATUE_OF_COMPANY :Xây tượng đài công ty STR_LOCAL_AUTHORITY_ACTION_NEW_BUILDINGS :Tài trợ xây nhà cửa STR_LOCAL_AUTHORITY_ACTION_EXCLUSIVE_TRANSPORT :Mua độc quyền kinh doanh vận tải STR_LOCAL_AUTHORITY_ACTION_BRIBE :Hối lộ quan chức địa phương @@ -2974,7 +3000,7 @@ STR_LOCAL_AUTHORITY_ACTION_BRIBE :Hối lộ quan STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}Thực hiện chiến dịch quảng cáo nhỏ để thu hút khách và hàng hoá vận chuyển.{}Chi phí: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}Thực hiện chiến dịch quảng cáo trung bình để thu hút khách và hàng hoá vận chuyển.{}Chi phí: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW}Thực hiện chiến dịch quảng cáo lớn để thu hút khách và hàng hoá vận chuyển.{}Chi phí: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}Tài trợ xây dựng lại đường xá của đô thị. Sẽ gây ách tắc giao thông đường bộ trong 6 tháng.{}Chi phí: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}Tài trợ xây dựng lại đường sá của đô thị. Sẽ gây ách tắc giao thông đường bộ trong 6 tháng.{}Chi phí: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}Dựng tượng đài tôn vinh ông chủ công ty để quảng bá hình ảnh công ty.{}Chi phí: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}Tài trợ xây dựng các toà nhà thương mại để thúc đẩy phát triển đô thị.{}Chi phí: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}Mua độc quyền kinh doanh vận tải của đô thị. Chính quyền địa phương sẽ ra luật chỉ cho phép hành khách và hàng hoá vào nhà ga, bến, cảng của công ty.{}Chi phí: {CURRENCY_LONG} @@ -2998,7 +3024,7 @@ STR_GOAL_QUESTION_CAPTION_INFORMATION :Thông Tin STR_GOAL_QUESTION_CAPTION_WARNING :Cảnh Báo STR_GOAL_QUESTION_CAPTION_ERROR :Lỗi -### Start of Goal Question button list +############ Start of Goal Question button list STR_GOAL_QUESTION_BUTTON_CANCEL :Hủy bỏ STR_GOAL_QUESTION_BUTTON_OK :OK STR_GOAL_QUESTION_BUTTON_NO :Không @@ -3017,6 +3043,7 @@ STR_GOAL_QUESTION_BUTTON_RESTART :Làm lại STR_GOAL_QUESTION_BUTTON_POSTPONE :Hoãn lại STR_GOAL_QUESTION_BUTTON_SURRENDER :Từ bỏ STR_GOAL_QUESTION_BUTTON_CLOSE :Đóng +############ End of Goal Question button list # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}Trợ Cấp @@ -3052,7 +3079,6 @@ STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}Không c # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} -STR_STATION_VIEW_WAITING_TITLE :{BLACK}Đang chờ: {WHITE}{STRING} STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} trung chuyển từ {STATION}) STR_STATION_VIEW_RESERVED :{YELLOW}({CARGO_SHORT} đã được trống để dỡ hàng) @@ -3131,10 +3157,10 @@ STR_FINANCES_EXPENDITURE_INCOME_TITLE :{WHITE}Thu nh STR_FINANCES_YEAR :{WHITE}{NUM} STR_FINANCES_SECTION_CONSTRUCTION :{GOLD}Xây dựng STR_FINANCES_SECTION_NEW_VEHICLES :{GOLD}Mua phương tiện -STR_FINANCES_SECTION_TRAIN_RUNNING_COSTS :{GOLD}Chi phí h.động của tàu hoả +STR_FINANCES_SECTION_TRAIN_RUNNING_COSTS :{GOLD}Chi phí hoạt động của tàu hoả STR_FINANCES_SECTION_ROAD_VEHICLE_RUNNING_COSTS :{GOLD}Chi phí hoạt động của ôtô -STR_FINANCES_SECTION_AIRCRAFT_RUNNING_COSTS :{GOLD}Chi phí h.động của máy bay -STR_FINANCES_SECTION_SHIP_RUNNING_COSTS :{GOLD}Chi phí h.động của tàu thuỷ +STR_FINANCES_SECTION_AIRCRAFT_RUNNING_COSTS :{GOLD}Chi phí hoạt động của máy bay +STR_FINANCES_SECTION_SHIP_RUNNING_COSTS :{GOLD}Chi phí hoạt động của tàu thuỷ STR_FINANCES_SECTION_PROPERTY_MAINTENANCE :{GOLD}Phí bảo trì tài sản STR_FINANCES_SECTION_TRAIN_INCOME :{GOLD}Thu từ tàu hoả STR_FINANCES_SECTION_ROAD_VEHICLE_INCOME :{GOLD}Thu từ ôtô @@ -3172,7 +3198,7 @@ STR_COMPANY_VIEW_SHARES_OWNED_BY :{WHITE}({COMMA} STR_COMPANY_VIEW_INFRASTRUCTURE :{GOLD}Hạ tầng: STR_COMPANY_VIEW_INFRASTRUCTURE_RAIL :{WHITE}{COMMA} ô đường ray STR_COMPANY_VIEW_INFRASTRUCTURE_ROAD :{WHITE}{COMMA} ô đường bộ -STR_COMPANY_VIEW_INFRASTRUCTURE_WATER :{WHITE}{COMMA} ô nước +STR_COMPANY_VIEW_INFRASTRUCTURE_WATER :{WHITE}{COMMA} ô đường thủy STR_COMPANY_VIEW_INFRASTRUCTURE_STATION :{WHITE}{COMMA} ô ga, bến STR_COMPANY_VIEW_INFRASTRUCTURE_AIRPORT :{WHITE}{COMMA} sân bay STR_COMPANY_VIEW_INFRASTRUCTURE_NONE :{WHITE}Không @@ -3186,8 +3212,8 @@ STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS :{BLACK}Chuyển STR_COMPANY_VIEW_INFRASTRUCTURE_BUTTON :{BLACK}Chi tiết STR_COMPANY_VIEW_INFRASTRUCTURE_TOOLTIP :{BLACK}Xem chi tiết thống kê hạ tầng -STR_COMPANY_VIEW_NEW_FACE_BUTTON :{BLACK}Vẻ mặt mới -STR_COMPANY_VIEW_NEW_FACE_TOOLTIP :{BLACK}Chọn vẻ mặt của giám đốc +STR_COMPANY_VIEW_NEW_FACE_BUTTON :{BLACK}Chọn khuôn mặt khác +STR_COMPANY_VIEW_NEW_FACE_TOOLTIP :{BLACK}Chọn khuôn mặt của người điều hành STR_COMPANY_VIEW_COLOUR_SCHEME_BUTTON :{BLACK}Phối màu sắc STR_COMPANY_VIEW_COLOUR_SCHEME_TOOLTIP :{BLACK}Thay đổi màu sắc của phương tiện STR_COMPANY_VIEW_COMPANY_NAME_BUTTON :{BLACK}Tên công ty @@ -3296,12 +3322,13 @@ STR_GROUP_DEFAULT_ROAD_VEHICLES :Xe ôtô chưa STR_GROUP_DEFAULT_SHIPS :Tày thuỷ chưa lập nhóm STR_GROUP_DEFAULT_AIRCRAFTS :Máy bay chưa lập nhóm -STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Nhóm - chọn nhóm để hiển thị các phương tiện thuộc nhóm +STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Nhóm - chọn nhóm để hiển thị các phương tiện thuộc nhóm. Kéo thả nhóm để sắp xếp lại danh sách. STR_GROUP_CREATE_TOOLTIP :{BLACK}Ấn vào để tạo nhóm STR_GROUP_DELETE_TOOLTIP :{BLACK}Xoá nhóm đã chọn STR_GROUP_RENAME_TOOLTIP :{BLACK}Đổi tên nhóm STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Không để nhóm này tự thay thế (thiết lập chung) khi hết hạn + STR_GROUP_ADD_SHARED_VEHICLE :Thêm phương tiện được chia sẻ STR_GROUP_REMOVE_ALL_VEHICLES :Xoá tất cả phương tiện @@ -3339,10 +3366,10 @@ STR_PURCHASE_INFO_ALL_BUT :Tất cả tr 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_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Danh sách tàu hỏa - click vào tàu hỏa để xem thông tin -STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Danh sách xe - click vào xe để xem thông tin -STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Danh sách tàu - click vào tàu để xem thông tin -STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Danh sách máy bay - click vào máy bay để xem thông tin +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 +STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Danh sách tàu có thể chọn. Click vào tàu để xem thông tin. Ctrl+Click để ẩn/hiện loại được chọn +STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Danh sách máy bay có thể chọn. Click vào máy bay để xem thông tin. Ctrl+Click để ẩn/hiện loại được chọn STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}Mua P.Tiện STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Mua P.Tiện @@ -3364,6 +3391,21 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Thay tê STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Thay tên loại tàu STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Thay tên loại máy bay +STR_BUY_VEHICLE_TRAIN_HIDE_TOGGLE_BUTTON :{BLACK}Ẩn +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_TOGGLE_BUTTON :{BLACK}Ẩn +STR_BUY_VEHICLE_SHIP_HIDE_TOGGLE_BUTTON :{BLACK}Ẩn +STR_BUY_VEHICLE_AIRCRAFT_HIDE_TOGGLE_BUTTON :{BLACK}Ẩn + +STR_BUY_VEHICLE_TRAIN_SHOW_TOGGLE_BUTTON :{BLACK}Hiển thị +STR_BUY_VEHICLE_ROAD_VEHICLE_SHOW_TOGGLE_BUTTON :{BLACK}Hiển thị +STR_BUY_VEHICLE_SHIP_SHOW_TOGGLE_BUTTON :{BLACK}Hiển thị +STR_BUY_VEHICLE_AIRCRAFT_SHOW_TOGGLE_BUTTON :{BLACK}Hiển thị + +STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Bật/tắt hiển thị loại tàu hỏa +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Bật/tắt hiển thị loại xe +STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Bật/tắt hiển thị loại tàu +STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Bật/tắt hiển thị loại máy bay + STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}Đổi tên kiểu của đầu/toa tàu STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}Đổi tên kiểu của ôtô STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}Đổi tên kiểu của tàu thuỷ @@ -3417,7 +3459,7 @@ STR_DEPOT_CLONE_ROAD_VEHICLE :{BLACK}Tạo ô STR_DEPOT_CLONE_SHIP :{BLACK}Tạo tàu thuỷ giống hệt STR_DEPOT_CLONE_AIRCRAFT :{BLACK}Tạo máy bay giống hệt -STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Thao tác này mua một đoàn tàu giống hệt tàu cũ, gồm cả đầu máy và toa xe. Ctrl+Click để tạo tàu mới chia sẻ lộ trình. Shift+Click để xem giá mua dự tính +STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Thao tác này mua một đoàn tàu giống hệt tàu cũ, gồm cả đầu máy và toa xe. Click vào nút này, sau đó click vào một đoàn tàu ngoài hoặc trong ga. Ctrl+Click để tạo tàu mới chia sẻ lộ trình. Shift+Click để xem giá mua dự tính STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Thao tác này mua ôtô giống hệt ôtô cũ.Click vào nút này để thực hiện thao tác đối với xe trong xưởng hoặc ngoài xưởng. Ctrl+Click để tạo ôtô chia sẻ lộ trình. Shift+Click để xem giá mua ước tính STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Thao tác này mua tàu thuỷ giống hệt tàu thuỷ cũ, gồm cả loại hàng chuyên chở. Ctrl+Click để tạo tàu thuỷ chia sẻ lộ trình. Shift+Click để xem giá mua dự tính STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Thao tác này mua máy bay giống hệt máy bay cũ, gồm cả loại hàng chuyên chở. Ctrl+Click để tạo máy bay chia sẻ lộ trình. Shift+Click để xem giá mua dự tính @@ -3468,6 +3510,11 @@ STR_REPLACE_VEHICLE_ROAD_VEHICLE :Xe cộ STR_REPLACE_VEHICLE_SHIP :Tàu thủy STR_REPLACE_VEHICLE_AIRCRAFT :Máy bay +STR_REPLACE_VEHICLE_VEHICLES_IN_USE :{YELLOW}Phương tiện đang sử dụng +STR_REPLACE_VEHICLE_VEHICLES_IN_USE_TOOLTIP :{BLACK}Cột hiển thị những phương tiện đang sở hữu +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES :{YELLOW}Phương tiện có sẵn +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES_TOOLTIP :{BLACK}Cột hiển thị những phương tiện có thể thay thế + STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Lựa chọn đầu máy để thay thế STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Lựa chọn đầu máy mới để thay thế đầu máy đã chọn @@ -3592,7 +3639,7 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Sức ch STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Cước trung chuyển: {LTBLUE}{CURRENCY_LONG} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Tần suất bảo trì: {LTBLUE}{COMMA}ngày{BLACK} Lần bảo trì cuối: {LTBLUE}{DATE_LONG} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Tần suất bảo trì: {LTBLUE}{COMMA}{NBSP}ngày{BLACK} Lần bảo trì cuối: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Tần suất bảo trì: {LTBLUE}{COMMA}%{BLACK} Lần bảo trì cuối: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Tăng tần suất bảo trì lên 10. Ctrl+Click để tăng 5 thôi STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Giảm tần suất bảo trì lên 10. Ctrl+Click để giảm 5 thôi @@ -3824,8 +3871,8 @@ STR_TIMETABLE_TRAVEL_FOR :Di chuyển tro STR_TIMETABLE_TRAVEL_FOR_SPEED :Lộ trình {STRING} với tốc độ tối đa {VELOCITY} STR_TIMETABLE_STAY_FOR :và ở lại trong {STRING} STR_TIMETABLE_AND_TRAVEL_FOR :và di chuyển trong {STRING} -STR_TIMETABLE_DAYS :{COMMA} ngày -STR_TIMETABLE_TICKS :{COMMA} nhịp +STR_TIMETABLE_DAYS :{COMMA}{NBSP}ngày +STR_TIMETABLE_TICKS :{COMMA}{NBSP}nhịp STR_TIMETABLE_TOTAL_TIME :{BLACK}Lịch trình này sẽ mất {STRING} để hoàn thành STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}Lịch trình này sẽ mất ít nhất {STRING} để hoàn thành (không phải tất cả điểm được lập lịch trình) @@ -4063,6 +4110,7 @@ STR_ERROR_EXCAVATION_WOULD_DAMAGE :{WHITE}Đào h STR_ERROR_ALREADY_AT_SEA_LEVEL :{WHITE}... ở mức nước biển rồi STR_ERROR_TOO_HIGH :{WHITE}... quá cao STR_ERROR_ALREADY_LEVELLED :{WHITE}... đã bình địa rồi +STR_ERROR_BRIDGE_TOO_HIGH_AFTER_LOWER_LAND :{WHITE}Cây cầu phía trên nền đất sau khi san lấp sẽ quá cao. # Company related errors STR_ERROR_CAN_T_CHANGE_COMPANY_NAME :{WHITE}Không thể đổi tên công ty... @@ -4089,7 +4137,7 @@ STR_ERROR_TOO_CLOSE_TO_EDGE_OF_MAP_SUB :{WHITE}... quá STR_ERROR_TOO_CLOSE_TO_ANOTHER_TOWN :{WHITE}... quá gần đô thị khác STR_ERROR_TOO_MANY_TOWNS :{WHITE}... quá nhiều đô thị STR_ERROR_NO_SPACE_FOR_TOWN :{WHITE}... không còn khoảng trống nào trên bản đồ -STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}Độ thị sẽ không xây dựng đường phố. Bạn có thể bật tính năng này ở menu Thiết lập mở rộng ->Kinh tế->Đô thị +STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}Đô thị sẽ không xây dựng đường phố. Bạn có thể bật tính năng này ở menu Thiết lập mở rộng->Môi trường->Đô thị STR_ERROR_ROAD_WORKS_IN_PROGRESS :{WHITE}Xây dựng cầu đường đang tiến hành STR_ERROR_TOWN_CAN_T_DELETE :{WHITE}Không thể xoá đo thị này...{}Có một ga, bến hoặc xưởng thuộc đô thị hoặc là 1 ô đất của đô thị không thể xoá được. STR_ERROR_STATUE_NO_SUITABLE_PLACE :{WHITE}... không có nơi nào hợp lý để dựng tượng đài ở trung tâm đô thị này @@ -4113,6 +4161,9 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... rừ STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... chỉ có thể xây phía trên núi cao có tuyết STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... chỉ có thể xây phía dưới núi cao có tuyết +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}Không có vùng đất nào phù hợp với nhà máy '{STRING}' +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Thay đổi thông số khởi tạo bản đồ để có được bản đồ tốt hơn + # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Không thể xây ga tàu hoả ở đây... STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}Không thể xây bến xe buýt... @@ -4249,6 +4300,7 @@ STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Phải p STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}Không thể bắt đầu và kết thúc ở cùng một điểm STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}Hai đầu cầu không ở cùng độ cao STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}Cầu thấp quá so với mặt đất +STR_ERROR_BRIDGE_TOO_HIGH_FOR_TERRAIN :{WHITE}Cầu quá cao đối với địa hình này. STR_ERROR_START_AND_END_MUST_BE_IN :{WHITE}Điểu đầu và cuối phải trên 1 đường thẳng STR_ERROR_ENDS_OF_BRIDGE_MUST_BOTH :{WHITE}... hai đầu cầu phải được gá vào đất STR_ERROR_BRIDGE_TOO_LONG :{WHITE}... cầu quá dài @@ -4425,7 +4477,7 @@ STR_TOWN_BUILDING_NAME_PIGGY_BANK_1 :Nhà băng heo ##id 0x4800 # industry names -STR_INDUSTRY_NAME_COAL_MINE :Mỏ than +STR_INDUSTRY_NAME_COAL_MINE :Mỏ than đá STR_INDUSTRY_NAME_POWER_STATION :Nhà máy nhiệt điện STR_INDUSTRY_NAME_SAWMILL :Nhà máy chế biến gỗ STR_INDUSTRY_NAME_FOREST :Rừng @@ -4532,9 +4584,9 @@ STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_30_ELECTRIC :SH '30' (Điệ STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_40_ELECTRIC :SH '40' (Điện) STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_T_I_M_ELECTRIC :'T.I.M.' (Điện) STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_ASIASTAR_ELECTRIC :'AsiaStar' (Điện) -STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_PASSENGER_CAR :Toa xe hành khách +STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_PASSENGER_CAR :Toa chở khách STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_MAIL_VAN :Toa bưu kiện -STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_COAL_CAR :Toa chở than +STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_COAL_CAR :Toa chở than đá STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_OIL_TANKER :Toa chở dầu STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_LIVESTOCK_VAN :Toa chở gia súc STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_GOODS_VAN :Toa hàng tiêu dùng @@ -4542,7 +4594,7 @@ STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_GRAIN_HOPPER :Toa ngũ cốc STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_WOOD_TRUCK :Toa chở gỗ STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_IRON_ORE_HOPPER :Toa chở quặng sắt STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_STEEL_TRUCK :Toa chở thép -STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_ARMORED_VAN :Toa thiết giáp +STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_ARMORED_VAN :Toa bọc thép STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_FOOD_VAN :Toa chở thực phẩm STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_PAPER_TRUCK :Toa chở giấy STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_COPPER_ORE_HOPPER :Toa chở quặng đồng @@ -4564,7 +4616,7 @@ STR_VEHICLE_NAME_TRAIN_ENGINE_MONORAIL_MILLENNIUM_Z1_ELECTRIC :'Millennium Z1' STR_VEHICLE_NAME_TRAIN_ENGINE_MONORAIL_WIZZOWOW_Z99 :Wizzowow Z99 STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_PASSENGER_CAR :Toa hành khách STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_MAIL_VAN :Toa bưu kiện -STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_COAL_CAR :Toa than +STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_COAL_CAR :Toa than đá STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_OIL_TANKER :Toa chở dầu STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_LIVESTOCK_VAN :Toa chở gia súc STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_GOODS_VAN :Toa hàng tiêu dùng @@ -4572,7 +4624,7 @@ STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_GRAIN_HOPPER :Toa ngũ cốc STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_WOOD_TRUCK :Toa chở gỗ STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_IRON_ORE_HOPPER :Toa chở quặng sắt STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_STEEL_TRUCK :Toa chở thép -STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_ARMORED_VAN :Toa thiết giáp +STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_ARMORED_VAN :Toa bọc thép STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_FOOD_VAN :Toa thực phẩm STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_PAPER_TRUCK :Toa chở giấy STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_COPPER_ORE_HOPPER :Toa chở quặng đồng @@ -4604,7 +4656,7 @@ STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_GRAIN_HOPPER :Toa chở ngũ STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_WOOD_TRUCK :Toa chở gỗ STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_IRON_ORE_HOPPER :Toa chở quặng sắt STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_STEEL_TRUCK :Toa chở thép -STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_ARMORED_VAN :Toa thiết giáp +STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_ARMORED_VAN :Toa bọc thép STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_FOOD_VAN :Toa thực phẩm STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_PAPER_TRUCK :Toa chở giấy STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_COPPER_ORE_HOPPER :Toa chở quặng đồng @@ -4638,8 +4690,8 @@ STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_MAIL_TRUCK :Xe bưu kiện STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_MAIL_TRUCK :Xe bưu kiện Powernaught STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_MAIL_TRUCK :Xe bưu kiện Wizzowow STR_VEHICLE_NAME_ROAD_VEHICLE_WITCOMBE_OIL_TANKER :Xe bồn dầu Witcombe -STR_VEHICLE_NAME_ROAD_VEHICLE_FOSTER_OIL_TANKER :Xe bồn dầu Foster -STR_VEHICLE_NAME_ROAD_VEHICLE_PERRY_OIL_TANKER :Xe bồn dầu Perry +STR_VEHICLE_NAME_ROAD_VEHICLE_FOSTER_OIL_TANKER :Xe dầu Foster +STR_VEHICLE_NAME_ROAD_VEHICLE_PERRY_OIL_TANKER :Xe dầu Perry STR_VEHICLE_NAME_ROAD_VEHICLE_TALBOTT_LIVESTOCK_VAN :Xe gia súc Talbott STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_LIVESTOCK_VAN :Xe gia súc Uhl STR_VEHICLE_NAME_ROAD_VEHICLE_FOSTER_LIVESTOCK_VAN :Xe gia súc Foster @@ -4658,9 +4710,9 @@ STR_VEHICLE_NAME_ROAD_VEHICLE_CHIPPY_IRON_ORE_TRUCK :Xe quặng sắ STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_STEEL_TRUCK :Xe tải thép Balogh STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_STEEL_TRUCK :Xe tải thép Uhl STR_VEHICLE_NAME_ROAD_VEHICLE_KELLING_STEEL_TRUCK :Xe tải thép Kelling -STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_ARMORED_TRUCK :Xe thiết giáp Balogh -STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_ARMORED_TRUCK :Xe thiết giáp Uhl -STR_VEHICLE_NAME_ROAD_VEHICLE_FOSTER_ARMORED_TRUCK :Xe thiết giáp Foster +STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_ARMORED_TRUCK :Xe bọc thép Balogh +STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_ARMORED_TRUCK :Xe bọc thép Uhl +STR_VEHICLE_NAME_ROAD_VEHICLE_FOSTER_ARMORED_TRUCK :Xe bọc thép Foster STR_VEHICLE_NAME_ROAD_VEHICLE_FOSTER_FOOD_VAN :Xe thực phẩm Foster STR_VEHICLE_NAME_ROAD_VEHICLE_PERRY_FOOD_VAN :Xe thực phẩm Perry STR_VEHICLE_NAME_ROAD_VEHICLE_CHIPPY_FOOD_VAN :Xe thực phẩm Chippy @@ -4670,9 +4722,9 @@ STR_VEHICLE_NAME_ROAD_VEHICLE_MPS_PAPER_TRUCK :Xe tải giấy STR_VEHICLE_NAME_ROAD_VEHICLE_MPS_COPPER_ORE_TRUCK :Xe quặng đồng MPS STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_COPPER_ORE_TRUCK :Xe quặng đồng Uhl STR_VEHICLE_NAME_ROAD_VEHICLE_GOSS_COPPER_ORE_TRUCK :Xe quặng đồng Goss -STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_WATER_TANKER :Xe bồn nước Uhl -STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_WATER_TANKER :Xe bồn nước Balogh -STR_VEHICLE_NAME_ROAD_VEHICLE_MPS_WATER_TANKER :Xe bồn nước MPS +STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_WATER_TANKER :Xe nước Uhl +STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_WATER_TANKER :Xe nước Balogh +STR_VEHICLE_NAME_ROAD_VEHICLE_MPS_WATER_TANKER :Xe nước MPS STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_FRUIT_TRUCK :Xe hoa quả Balogh STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_FRUIT_TRUCK :Xe hoa quả Uhl STR_VEHICLE_NAME_ROAD_VEHICLE_KELLING_FRUIT_TRUCK :Xe hoa quả Kelling @@ -4812,6 +4864,7 @@ STR_COMPANY_NAME :{COMPANY} STR_COMPANY_NAME_COMPANY_NUM :{COMPANY} {COMPANY_NUM} STR_DEPOT_NAME :{DEPOT} STR_ENGINE_NAME :{ENGINE} +STR_HIDDEN_ENGINE_NAME :{ENGINE} (ẩn) STR_GROUP_NAME :{GROUP} STR_INDUSTRY_NAME :{INDUSTRY} STR_PRESIDENT_NAME :{PRESIDENT_NAME} @@ -4847,8 +4900,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -4859,9 +4910,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/lang/welsh.txt b/src/lang/welsh.txt index 2a27a8590c..9d3f3ec617 100644 --- a/src/lang/welsh.txt +++ b/src/lang/welsh.txt @@ -95,30 +95,30 @@ STR_CARGO_SINGULAR_FIZZY_DRINK :Diod Perfiol # Quantity of cargo STR_QUANTITY_NOTHING : -STR_QUANTITY_PASSENGERS :{COMMA} teithiwr +STR_QUANTITY_PASSENGERS :{COMMA}{NBSP}teithiwr STR_QUANTITY_COAL :{WEIGHT_LONG} o lo -STR_QUANTITY_MAIL :{COMMA} bag o bost +STR_QUANTITY_MAIL :{COMMA}{NBSP}bag o bost STR_QUANTITY_OIL :{VOLUME_LONG} o olew -STR_QUANTITY_LIVESTOCK :{COMMA} eitem o dda byw -STR_QUANTITY_GOODS :{COMMA} crât o nwyddau +STR_QUANTITY_LIVESTOCK :{COMMA}{NBSP}eitem o dda byw +STR_QUANTITY_GOODS :{COMMA}{NBSP}crât o nwyddau STR_QUANTITY_GRAIN :{WEIGHT_LONG} o rawn STR_QUANTITY_WOOD :{WEIGHT_LONG} o goed STR_QUANTITY_IRON_ORE :{WEIGHT_LONG} o fwyn haearn STR_QUANTITY_STEEL :{WEIGHT_LONG} o ddur -STR_QUANTITY_VALUABLES :{COMMA} bag o drysorau +STR_QUANTITY_VALUABLES :{COMMA}{NBSP}bag o drysorau STR_QUANTITY_COPPER_ORE :{WEIGHT_LONG} o fwyn copr STR_QUANTITY_MAIZE :{WEIGHT_LONG} o india corn STR_QUANTITY_FRUIT :{WEIGHT_LONG} o ffrwyth -STR_QUANTITY_DIAMONDS :{COMMA} bag o ddiemwntau +STR_QUANTITY_DIAMONDS :{COMMA}{NBSP}bag o ddiemwntau STR_QUANTITY_FOOD :{WEIGHT_LONG} o fwyd STR_QUANTITY_PAPER :{WEIGHT_LONG} o bapur -STR_QUANTITY_GOLD :{COMMA} bag o aur +STR_QUANTITY_GOLD :{COMMA}{NBSP}bag o aur STR_QUANTITY_WATER :{VOLUME_LONG} o ddŵr STR_QUANTITY_WHEAT :{WEIGHT_LONG} o wenith STR_QUANTITY_RUBBER :{VOLUME_LONG} o rwber STR_QUANTITY_SUGAR :{WEIGHT_LONG} o siwgr -STR_QUANTITY_TOYS :{COMMA} tegan -STR_QUANTITY_SWEETS :{COMMA} bag o felysion +STR_QUANTITY_TOYS :{COMMA}{NBSP}tegan +STR_QUANTITY_SWEETS :{COMMA}{NBSP}bag o felysion STR_QUANTITY_COLA :{VOLUME_LONG} o gola STR_QUANTITY_CANDYFLOSS :{WEIGHT_LONG} o gandifflos STR_QUANTITY_BUBBLES :{COMMA} swigen @@ -165,12 +165,12 @@ STR_ABBREV_NONE :{TINY_FONT}DIM STR_ABBREV_ALL :{TINY_FONT}OLL # 'Mode' of transport for cargoes -STR_PASSENGERS :{COMMA} teithiwr -STR_BAGS :{COMMA} bag -STR_TONS :{COMMA} tunnell -STR_LITERS :{COMMA} litr -STR_ITEMS :{COMMA} eitem -STR_CRATES :{COMMA} crât +STR_PASSENGERS :{COMMA}{NBSP}teithiwr +STR_BAGS :{COMMA}{NBSP}bag +STR_TONS :{COMMA}{NBSP}tunnell +STR_LITERS :{COMMA}{NBSP}litr +STR_ITEMS :{COMMA}{NBSP}eitem +STR_CRATES :{COMMA}{NBSP}crât # Colours, do not shuffle STR_COLOUR_DARK_BLUE :Glas Tywyll @@ -186,42 +186,42 @@ STR_COLOUR_CREAM :Hufen STR_COLOUR_MAUVE :Porffor Golau STR_COLOUR_PURPLE :Porffor STR_COLOUR_ORANGE :Oren -STR_COLOUR_BROWN :Frown +STR_COLOUR_BROWN :Brown STR_COLOUR_GREY :Llwyd STR_COLOUR_WHITE :Gwyn # Units used in OpenTTD -STR_UNITS_VELOCITY_IMPERIAL :{COMMA} mph -STR_UNITS_VELOCITY_METRIC :{COMMA} km/h -STR_UNITS_VELOCITY_SI :{COMMA} m/s +STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}mph +STR_UNITS_VELOCITY_METRIC :{COMMA}{NBSP}km/h +STR_UNITS_VELOCITY_SI :{COMMA}{NBSP}m/s -STR_UNITS_POWER_IMPERIAL :{COMMA}hp -STR_UNITS_POWER_METRIC :{COMMA}hp -STR_UNITS_POWER_SI :{COMMA}kW +STR_UNITS_POWER_IMPERIAL :{COMMA}{NBSP}hp +STR_UNITS_POWER_METRIC :{COMMA}{NBSP}hp +STR_UNITS_POWER_SI :{COMMA}{NBSP}kW -STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}t -STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}t -STR_UNITS_WEIGHT_SHORT_SI :{COMMA}kg +STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_SI :{COMMA}{NBSP}kg -STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA} tunell -STR_UNITS_WEIGHT_LONG_METRIC :{COMMA} tunnell -STR_UNITS_WEIGHT_LONG_SI :{COMMA} kg +STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA}{NBSP}tunell +STR_UNITS_WEIGHT_LONG_METRIC :{COMMA}{NBSP}tunnell +STR_UNITS_WEIGHT_LONG_SI :{COMMA}{NBSP}kg STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}gal -STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}l -STR_UNITS_VOLUME_SHORT_SI :{COMMA}m³ +STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}{NBSP}l +STR_UNITS_VOLUME_SHORT_SI :{COMMA}{NBSP}m³ -STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA} galwyn -STR_UNITS_VOLUME_LONG_METRIC :{COMMA} litr -STR_UNITS_VOLUME_LONG_SI :{COMMA} m³ +STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA}{NBSP}galwyn +STR_UNITS_VOLUME_LONG_METRIC :{COMMA}{NBSP}litr +STR_UNITS_VOLUME_LONG_SI :{COMMA}{NBSP}m³ -STR_UNITS_FORCE_IMPERIAL :{COMMA} lbf -STR_UNITS_FORCE_METRIC :{COMMA} kgf -STR_UNITS_FORCE_SI :{COMMA} kN +STR_UNITS_FORCE_IMPERIAL :{COMMA}{NBSP}lbf +STR_UNITS_FORCE_METRIC :{COMMA}{NBSP}kgf +STR_UNITS_FORCE_SI :{COMMA}{NBSP}kN -STR_UNITS_HEIGHT_IMPERIAL :{COMMA} tr -STR_UNITS_HEIGHT_METRIC :{COMMA} m -STR_UNITS_HEIGHT_SI :{COMMA} m +STR_UNITS_HEIGHT_IMPERIAL :{COMMA}{NBSP}tr +STR_UNITS_HEIGHT_METRIC :{COMMA}{NBSP}m +STR_UNITS_HEIGHT_SI :{COMMA}{NBSP}m # Common window strings STR_LIST_FILTER_TITLE :{BLACK}Llinyn hidlo: @@ -248,6 +248,17 @@ STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Bar sgro STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Bar sgrolio - sgrolio'r rhestr i'r chwith neu i'r dde STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Dymchwel adeiladau ayb. ar sgwâr o dir. Mae Ctrl yn dewis ardal deiagonal. Mae Shift yn toglo adeiladu/dangos amcangyfrif cost +# Show engines button +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}Dangos rhai cudd +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK}Dangos rhai cudd +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}Dangos rhai cudd +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}Dangos rhai cudd + +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}Drwy alluogi'r botwm yma, fe ddangosir y cerbydau rheilffordd cudd hefyd +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE_TOOLTIP :{BLACK}Drwy alluogi'r botwm yma, fe ddangosir y cerbydau ffordd cudd hefyd +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}Drwy alluogi'r botwm yma, fe ddangosir y llongau cudd hefyd +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Drwy alluogi'r botwm yma, fe ddangosir yr awyrennau cudd hefyd + # Query window STR_BUTTON_DEFAULT :{BLACK}Rhagosodiad STR_BUTTON_CANCEL :{BLACK}Diddymu @@ -361,7 +372,7 @@ STR_SCENEDIT_FILE_MENU_QUIT :Gadael ############ range for settings menu starts STR_SETTINGS_MENU_GAME_OPTIONS :Dewisiadau Gêm -STR_SETTINGS_MENU_CONFIG_SETTINGS :Gosodiadau uwch +STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Gosodiadau STR_SETTINGS_MENU_SCRIPT_SETTINGS :Gosodiadau AI / sgript Gêm STR_SETTINGS_MENU_NEWGRF_SETTINGS :Gosodiadau NewGRF STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Dewisiadau tryloywder @@ -422,7 +433,7 @@ STR_INDUSTRY_MENU_FUND_NEW_INDUSTRY :Ariannu diwydia ############ range for railway construction menu starts STR_RAIL_MENU_RAILROAD_CONSTRUCTION :Adeiladu rheilffordd -STR_RAIL_MENU_ELRAIL_CONSTRUCTION :Adeiladu Rheilffordd Drydan +STR_RAIL_MENU_ELRAIL_CONSTRUCTION :Adeiladu rheilffordd drydan STR_RAIL_MENU_MONORAIL_CONSTRUCTION :Adeiladu monoreilffordd STR_RAIL_MENU_MAGLEV_CONSTRUCTION :Adeiladu maglef ############ range ends here @@ -470,7 +481,7 @@ STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Toglo bocsys ff STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Toglo llwio blociau budr ############ range ends here -############ range for days starts (also used for the place in the highscore window) +############ range for ordinal numbers used for the place in the highscore window STR_ORDINAL_NUMBER_1ST :1af STR_ORDINAL_NUMBER_2ND :2il STR_ORDINAL_NUMBER_3RD :3ydd @@ -486,22 +497,40 @@ STR_ORDINAL_NUMBER_12TH :12fed STR_ORDINAL_NUMBER_13TH :13eg STR_ORDINAL_NUMBER_14TH :14eg STR_ORDINAL_NUMBER_15TH :15fed -STR_ORDINAL_NUMBER_16TH :16eg -STR_ORDINAL_NUMBER_17TH :17eg -STR_ORDINAL_NUMBER_18TH :18fed -STR_ORDINAL_NUMBER_19TH :19fed -STR_ORDINAL_NUMBER_20TH :20fed -STR_ORDINAL_NUMBER_21ST :21ain -STR_ORDINAL_NUMBER_22ND :22ain -STR_ORDINAL_NUMBER_23RD :23ain -STR_ORDINAL_NUMBER_24TH :24ain -STR_ORDINAL_NUMBER_25TH :25ain -STR_ORDINAL_NUMBER_26TH :26ain -STR_ORDINAL_NUMBER_27TH :27ain -STR_ORDINAL_NUMBER_28TH :28ain -STR_ORDINAL_NUMBER_29TH :29ain -STR_ORDINAL_NUMBER_30TH :30ain -STR_ORDINAL_NUMBER_31ST :31ain +############ range for ordinal numbers ends + +############ range for days starts +STR_DAY_NUMBER_1ST :1af +STR_DAY_NUMBER_2ND :2il +STR_DAY_NUMBER_3RD :3ydd +STR_DAY_NUMBER_4TH :4ydd +STR_DAY_NUMBER_5TH :5ed +STR_DAY_NUMBER_6TH :6ed +STR_DAY_NUMBER_7TH :7ed +STR_DAY_NUMBER_8TH :8ed +STR_DAY_NUMBER_9TH :9ed +STR_DAY_NUMBER_10TH :10ed +STR_DAY_NUMBER_11TH :11eg +STR_DAY_NUMBER_12TH :12ed +STR_DAY_NUMBER_13TH :13eg +STR_DAY_NUMBER_14TH :14eg +STR_DAY_NUMBER_15TH :15ed +STR_DAY_NUMBER_16TH :16eg +STR_DAY_NUMBER_17TH :17eg +STR_DAY_NUMBER_18TH :18ed +STR_DAY_NUMBER_19TH :19eg +STR_DAY_NUMBER_20TH :20ed +STR_DAY_NUMBER_21ST :21ain +STR_DAY_NUMBER_22ND :22ain +STR_DAY_NUMBER_23RD :23ain +STR_DAY_NUMBER_24TH :24ain +STR_DAY_NUMBER_25TH :25ain +STR_DAY_NUMBER_26TH :26ain +STR_DAY_NUMBER_27TH :27ain +STR_DAY_NUMBER_28TH :28ain +STR_DAY_NUMBER_29TH :29ain +STR_DAY_NUMBER_30TH :30ain +STR_DAY_NUMBER_31ST :31ain ############ range for days ends ############ range for months starts @@ -810,13 +839,12 @@ STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}Mae {VEH STR_NEWS_SHIP_IS_WAITING :{WHITE}Mae {VEHICLE} yn aros yn y depo STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}Mae {VEHICLE} yn aros yn yr awrendy -# Start of order review system -# DON'T ADD OR REMOVE LINES HERE -STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}Mae gan {VEHICLE} rhy ddiffyg gorchmynion yn ei amserlen +# Order review system / warnings +STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}Nid oes gan {VEHICLE} ddigon o orchmynion yn ei amserlen STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}Mae gan {VEHICLE} orchymyn gwallus STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}Mae gan {VEHICLE} orchmynion dyblyg STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}Mae gan {VEHICLE} orsaf annilys yn ei orchmynion -# end of order system +STR_NEWS_PLANE_USES_TOO_SHORT_RUNWAY :{WHITE}Mae gan {VEHICLE}o fewn ei orchmynion faes awyr sydd â llwybr glanio sy'n rhy fyr STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}Mae {VEHICLE} yn heneiddio STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}Mae {VEHICLE} yn hynod o hen @@ -829,9 +857,9 @@ STR_NEWS_AIRCRAFT_DEST_TOO_FAR :{WHITE}{VEHICLE STR_NEWS_ORDER_REFIT_FAILED :{WHITE}Stopiodd achos methiant hefo trefnu ailffitio {VEHICLE} STR_NEWS_VEHICLE_AUTORENEW_FAILED :{WHITE}Methwyd ag adnewyddu {VEHICLE}{}{STRING} -STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE :{BIG_FONT}{BLACK}{STRING} newydd yn awr ar gael! +STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE :{BIG_FONT}{BLACK}Mae {STRING} newydd yn awr ar gael! STR_NEWS_NEW_VEHICLE_TYPE :{BIG_FONT}{BLACK}{ENGINE} -STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE_WITH_TYPE :{BLACK}New {STRING} ar gael yn awr! - {ENGINE} +STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE_WITH_TYPE :{BLACK}Mae {STRING} newydd yn awr ar gael! - {ENGINE} STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO :{WHITE}Nid yw {STATION} bellach yn derbyn {STRING} STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO_OR_CARGO :{WHITE}Nid yw {STATION} bellach yn derbyn {STRING} na {STRING} @@ -899,10 +927,6 @@ STR_GAME_OPTIONS_CURRENCY_GEL :Lari Georgia (G STR_GAME_OPTIONS_CURRENCY_IRR :Rial Iran (IRR) ############ end of currency region - -############ start of measuring units region -############ end of measuring units region - STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Cerbydau Ffordd STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP :{BLACK}Dewiswch ar ba ochr i'r ffordd y dylai cerbydau yrru STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :Gyrru ar y chwith @@ -938,11 +962,13 @@ STR_GAME_OPTIONS_TOWN_NAME_CATALAN :Catalanaidd STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Awtogadw STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Dewiswch pa mor aml y dylid awtogadw gemau +############ start of autosave dropdown STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Diffodd Awtogadw STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :Bob mis STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :Bob 3 mis STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :Bob 6 mis STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :Bob 12 mis +############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}Iaith STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Dewiswch yr iaith rhyngwyneb i'w defnyddio @@ -954,8 +980,12 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}Cydrania STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Dewiswch y cydraniad sgrin i'w defnyddio STR_GAME_OPTIONS_RESOLUTION_OTHER :arall -STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}Fformat Ciplun -STR_GAME_OPTIONS_SCREENSHOT_FORMAT_TOOLTIP :{BLACK}Dewiswch y fformat ciplun i'w ddefnyddio +STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Maint rhyngwyneb +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Dewis maint yr elfennau rhyngwyneb i'w defnyddio + +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Arferol +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Dyblyg +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Pedwarplyg STR_GAME_OPTIONS_BASE_GRF :{BLACK}Set raffeg sylfaenol STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Dewiswch y set raffeg sylfaenol i'w defnyddio @@ -971,6 +1001,7 @@ STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Dewisiwc STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} ffeil llygredig STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Gwybodaeth bellach am y set gerddoriaeth sylfaenol +STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Methu nôl rhestr o cydraniadau cydnaws STR_ERROR_FULLSCREEN_FAILED :{WHITE}Methodd y modd sgrin llawn # Custom currency window @@ -1049,6 +1080,7 @@ STR_TERRAIN_TYPE_VERY_FLAT :Gwastad Iawn STR_TERRAIN_TYPE_FLAT :Gwastad STR_TERRAIN_TYPE_HILLY :Bryniog STR_TERRAIN_TYPE_MOUNTAINOUS :Mynyddig +STR_TERRAIN_TYPE_ALPINIST :Mynyddwr STR_CITY_APPROVAL_PERMISSIVE :Bodlon STR_CITY_APPROVAL_TOLERANT :Hapus @@ -1056,8 +1088,8 @@ STR_CITY_APPROVAL_HOSTILE :Gwrthwynebus STR_WARNING_NO_SUITABLE_AI :{WHITE}Dim AI addas ar gael...{}Gallwch llawrlwytho sawl AI drwy'r system 'Cynnwys Ar-lein' -# Advanced settings window -STR_CONFIG_SETTING_CAPTION :{WHITE}Ffurfweddu Addasiadau +# Settings tree window +STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Gosodiadau STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Llinyn hidlo: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Ehangu oll STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Cywasgu oll @@ -1072,10 +1104,10 @@ STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :Gosodiad cwmni STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK}Categori: STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}Math: -STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Yn cyfyngu'r rhestr isod gan ddangos gosodiadau sydd wedi newid yn unig -STR_CONFIG_SETTING_RESTRICT_BASIC :Gosodiadau sylfaenol -STR_CONFIG_SETTING_RESTRICT_ADVANCED :Gosodiadau uwch -STR_CONFIG_SETTING_RESTRICT_ALL :Gosodiadau arbenigwyr / pob gosodiad +STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Yn cyfyngu'r rhestr isod drwy hidlau rhagosodedig +STR_CONFIG_SETTING_RESTRICT_BASIC :Sylfaenol (gosodiadau pwysig yn unig) +STR_CONFIG_SETTING_RESTRICT_ADVANCED :Uwch (y rhan helaeth o'r gosodiadau) +STR_CONFIG_SETTING_RESTRICT_ALL :Arbennigwyr (gosodiadau arbennigol, gan gynnwys rhai rhyfedd) STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :Gosodiadau sy'n wahanol i'r rhagosodiad STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :Gosodiadau gyda gwerth gwahanol i'ch gosodiadau gêm newydd chi @@ -1084,7 +1116,7 @@ STR_CONFIG_SETTING_TYPE_DROPDOWN_ALL :Pob math o osod STR_CONFIG_SETTING_TYPE_DROPDOWN_CLIENT :Gosodiadau gwestai (cedwir yn y ffeiliau cadw; yn effeithio ar pob gêm) STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :Gosodiadau gêm (cedwir yn y ffeiliau cadw, gan effeithio ar gemau newydd yn unig) STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :Gosodiadau gêm (cedwir yn y ffeil cadw, gan effeithio ar y gêm bresennol yn unig) -STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :Gosodiadau cwmni (cedwir yn y ffeiliau cadw, gan effeithio ar y gemau newydd yn unig) +STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :Gosodiadau cwmni (cedwir yn y ffeiliau cadw, gan effeithio ar gemau newydd yn unig) STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :Gosodiadau cwmni (cedwir yn y ffeil cadw, gan effeithio ar y cwmni presennol yn unig) STR_CONFIG_SETTING_CATEGORY_HIDES :{BLACK}Dangosir holl ganlyniadau chwilio drwy osod{}{SILVER}Categori {BLACK}i {WHITE}{STRING} STR_CONFIG_SETTING_TYPE_HIDES :{BLACK}Dangosir holl ganlyniadau chwilio drwy osod{}{SILVER}Math {BLACK}i {WHITE}Pob math o osodiad @@ -1127,12 +1159,13 @@ STR_CONFIG_SETTING_TRAIN_REVERSING :Rhwystro trenau STR_CONFIG_SETTING_TRAIN_REVERSING_HELPTEXT :Os y galluogir, ni fydd trenau yn gwrthdroi mewn gorsafoedd nad ydynt yn derfynfeydd, hyd yn oed os oes llwybr byrach i'w cyrchfan drwy wrthdroi STR_CONFIG_SETTING_DISASTERS :Trychinebau: {STRING} STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Toglo trychinebau a all rhwystro neu ddinistrio cerbydau neu tanadeiledd -STR_CONFIG_SETTING_CITY_APPROVAL :Agwedd cyngor dinas at ailstrwythuro'r ardal: {STRING} -STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Dewis faint y mae sŵn a niewd amgycheddol gan gwmnïau yn effeithio ar eu graddio trefol a gweithredoedd adeiladu pellach yn eu hardal +STR_CONFIG_SETTING_CITY_APPROVAL :Agwedd y cyngor tref at ailstrwythuro'r ardal: {STRING} +STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Dewis faint y mae sŵn a niwed amgycheddol gan gwmnïau yn effeithio ar eu graddio trefol a gweithredoedd adeiladu pellach yn eu hardal -STR_CONFIG_SETTING_BUILDONSLOPES :Caniatáu adeiladu a'r lethrau ac arfordiroedd {STRING} -STR_CONFIG_SETTING_BUILDONSLOPES_HELPTEXT :Os y galluogir, gellir adeiladu traciau a gorsafoedd ar y rhan helaeth o lethrau. Os yr analluogir, feu caniateir ar lethrau sy'n gweddu at lwybr y trac yn unig (h.y. heb angen eu tanseilio) -STR_CONFIG_SETTING_AUTOSLOPE :Caniatáu tirffurfio o dan adeiladau, traciau, etc. (awtolethru): {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :Uchder map uchafsymol: {STRING} +STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :Gosod yr uchder uchafsymol a ganiateir ar gyfer mynyddoedd ar y map +STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}Ni allwch osod uchder uchafsymol y map i'r gwerth yma. Mae o leiaf un mynydd ar y map yn uwch +STR_CONFIG_SETTING_AUTOSLOPE :Caniatáu tirffurfio o dan adeiladau, traciau, ayyb.: {STRING} STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Caniatáu tirffurfio o dan adeiladau a thraciau heb eu chwalu STR_CONFIG_SETTING_CATCHMENT :Caniatáu ardaloedd dalgylch mwy realistig eu maint: {STRING} STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Defnyddio dalgylchoedd o feintiau gwahanol ar gyfer gwahanol fathau o orsafoedd a meysydd awyr @@ -1156,16 +1189,12 @@ STR_CONFIG_SETTING_FORBID_90_DEG :Rhwystro trenau STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Tro 90 gradd yw pan fo trac llorweddol yn cael ei ddilyn yn syth gan drac fertigol at y teil cyfagos, gan wneud i'r trên droi 90 gradd wrth groesi ochr y teil yn hytrach na'r 45 gradd sydd i'w gael gyda chyfuniadau trac eraill. Mae hyn hefyd yn effeithio ar gylch troi llongau STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Caniatáu cyfuno gorsafoedd nad ydynt yn union gyfochrog: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Caniatáu ychwanegu rhannau at orsaf heb gyffwrdd yn uniongyrchol a'r rhai sydd eisioes yn bodoli. -STR_CONFIG_SETTING_IMPROVEDLOAD :Defnyddio'r algorithm llwytho gwell: {STRING} -STR_CONFIG_SETTING_IMPROVEDLOAD_HELPTEXT :Os y galluogir, caiff amryw gerbydau sy'n aros mewn gorsaf eu llwytho fesul un. Ni ddechreuir llwytho'r ail gerbyd nes y bydd digon o nwyddau i lenwi'r cerbyd gyntaf yn llwyr -STR_CONFIG_SETTING_GRADUAL_LOADING :Llwytho cerbydau'n raddol: {STRING} -STR_CONFIG_SETTING_GRADUAL_LOADING_HELPTEXT :Llwytho cerbydau'n raddol gan ddefnyddio ystodau cerbyd-benodol, yn hytrach na llwytho pob dim ar unwaith gydag amser penodedig yn dibynnu ar faint y llwyth yn unig STR_CONFIG_SETTING_INFLATION :Chwyddiant: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :Galluogi chwyddiant yn yr economi, lle y bydd costau'n codi ychydig yn gyflymach na thaliadau -STR_CONFIG_SETTING_SELECTGOODS :Danfon llwyth i orsaf dim ond pan fo galw amdano: {STRING} -STR_CONFIG_SETTING_SELECTGOODS_HELPTEXT :Dim ond danfon llwyth i orsaf lle y bu cais gan cerbyd i'w lwytho. Mae hyn yn osgoi creu graddfa cludiant gwael ar gyfer llwythi nas gwasanaethir mewn gorsaf STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Hyd pont uchafsymol: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Hyd uchafsymol ar gyfer adeiladu pontydd +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :Uchder pontydd uchafsymol: {STRING} +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :Uchder uchafsymol ar gyfer adeiladu pontydd STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Hyd twnel uchafsymol: {STRING} STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :Hyd uchafsymol ar gyfer adeiladu twneli STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Prif ddull adeiladu diwydiannau cynradd: {STRING} @@ -1184,15 +1213,13 @@ STR_CONFIG_SETTING_SIGNALSIDE_DRIVING_SIDE :Ar yr ochr gyrr STR_CONFIG_SETTING_SIGNALSIDE_RIGHT :Ar y dde STR_CONFIG_SETTING_SHOWFINANCES :Dangos y ffenestr gyllid ar ddechrau'r flwyddyn: {STRING} STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT :Os y galluogir, bydd y ffenestr gyllid yn agor ar ddiwedd y flwyddyn i hwyluso archwilio sefyllfa ariannol y cwmni -STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :Gosodir gorchmynion newydd yn 'ddi-stop' fel rhagosodiad: {STRING} +STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :Gorchmynion newydd yn 'ddi-stop' fel rhagosodiad: {STRING} STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT :Fel rheol, bydd cerbyd yn aros wrth pob gorsaf yr aiff drwyddo. Bydd y gosodiad yma yn peri i'r cerbyd yrru'n syth drwy pob gorsaf ar ei ffordd at ei gyrchfan olaf heb aros. Sylwer fod y gosodiad yma'n diffinio rhagosodiad ar gyfer gorchmynion newydd. Gellir newid gorchmynion penodol at unrhyw ddull a fynnir STR_CONFIG_SETTING_STOP_LOCATION :Gorchmynion trenau newydd yn nodi aros ar y {STRING} o'r platfform fel rhagosodiad STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Y man lle y daw trên at aros wrth blatfform fel rheol. Mae'r 'ochr agos' yn cyfeirio at y pen lle mae'r trên yn myned, 'canol' at ganol y platfform, ac 'ochr bell' yn bell o'r mynedfa. Sylwer fod y gosodiad yma'n diffinio rhagosodiad ar gyfer gorchmynion newydd. Gellir newid gorchmynion penodol at unrhyw ddull a fynnir STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :ochr agos STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :canol STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :ochr bell -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING :Ciwio cerbydau ffordd (gyda effeithiau cwantwm): {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING_HELPTEXT :Gorfodi i gerbydau ffordd aros o flaen arosfannau llawn nes eu bod yn glir STR_CONFIG_SETTING_AUTOSCROLL :Tremio'r ffenestr pan fydd y llygoden ar ymyl y sgrin: {STRING} STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Pan y galluogir, bydd ffenestri golwg yn dechrau sgrolio pan fo'r llygoden yn agos at ochr y ffenest STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Analluogwyd @@ -1223,10 +1250,6 @@ STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Caniatáu arosf STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Caniatáu adeiladu arosfannau gyrru-trwodd ar ffyrdd sy'n eiddo i drefi STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Caniatáu arosfannau gyrru-trwodd ar ffyrdd sy'n eiddo i gystadleuwyr: {STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Caniatáu adeiladu arosfannau gyrru-trwodd ar ffyrth sy'n eiddo i gwmnïau eraill -STR_CONFIG_SETTING_ADJACENT_STATIONS :Caniatáu adeiladu gorsafoedd cyfochrog: {STRING} -STR_CONFIG_SETTING_ADJACENT_STATIONS_HELPTEXT :Caniatáu i orsafoedd gwahanol gyffwrdd eu gilydd -STR_CONFIG_SETTING_DYNAMIC_ENGINES :Galluogi defnyddio mwy nag un o setiau injian NewGRF: {STRING} -STR_CONFIG_SETTING_DYNAMIC_ENGINES_HELPTEXT :Dewis cydweddu ar gyfer hen NewGRFau. Peidiwch ac analluogi, oni bai eich bod yn gwybod yn union yr hyn yr ydych yn ei wneud! STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Nid yw'n bosib newid y gosodiad yma pan fo cerbydau'n bodoli STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Cynnal a chadw tanadeiledd: {STRING} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Pan fo wedi'i alluogi, mae tanadeiledd yn creu costau cynnal a chadw. Mae'r cost yn codi'n gyflymach na'i gyfradd gyda thŵf y rhwydwaith, gan effeithio'n fwy ar gwmniau mawr na rhai bychan @@ -1247,7 +1270,7 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Nid yw cerbydau STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Pan fo wedi'i alluogi, bydd bob math o gerbyd yn aros ar gael am byth wedi eu cyflwyniad gyntaf STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Awtoadnewyddu cerbyd pan aiff yn hen: {STRING} STR_CONFIG_SETTING_AUTORENEW_VEHICLE_HELPTEXT :Pan fo wedi'i alluogi, bydd cerbyd sy'n agos at ddiwedd ei oes yn cael ei ddisodli'n ddiofyn pan y caiff yr amodau adnewyddu eu cyflawni -STR_CONFIG_SETTING_AUTORENEW_MONTHS :Awtoadnewyddu pan fo'r cerbyd {STRING} ei oed uchafsymol +STR_CONFIG_SETTING_AUTORENEW_MONTHS :Awtoadnewyddu pan fo cerbyd {STRING} ei oed uchafsymol STR_CONFIG_SETTING_AUTORENEW_MONTHS_HELPTEXT :Oed cymharol pan y dylid ystyried awtoadnewyddu cerbyd STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_BEFORE :{COMMA} mis cyn STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_AFTER :{COMMA} mis wedi @@ -1257,35 +1280,49 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :Ystod neges gwa STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Amser i ddangos negeseuon gwall mewn ffenestr coch. Sylwer ni gaiff rhai negeseuon gwall (difrifol) eu cau'n ddiofyn STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{COMMA} eiliad STR_CONFIG_SETTING_HOVER_DELAY :Dangos cynghorion: {STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Oediad cyn y dangosir cynghorion wrth ddal y cyrchydd dros rhyw elfen rhyngwyneb. Fel arall gellir rhwymo cynghorion at botwm dde'r llygoden -STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Oedi am {COMMA} eiliad +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Oediad cyn y dangosir cynghorion wrth ddal y cyrchydd dros rhyw elfen rhyngwyneb. Fel arall rhwymir cynghorion at botwm dde'r llygoden pan fo'r gwerth yma'n 0. +STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Oedi am {COMMA} milfed o eiliad STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :De glicio STR_CONFIG_SETTING_POPULATION_IN_LABEL :Dangos poblogaeth tref yn label y dref: {STRING} STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Dangos poblogaeth trefi yn eu label ar y map STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Trwch llinellau graff: {STRING} STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Lled y linell mewn graffiau. Bydd llinell fain yn fwy manwl, tra y bydd llinell trwchus yn haws i'w weld gyda lliwiau'n fwy amlwg +STR_CONFIG_SETTING_LANDSCAPE :Tirwedd: {STRING} +STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Mae tirweddau'n diffinio senario sylfaenol gydag amryw fathau o gargo ac anghenion twf trefi. Mae NewGRF a Sgriptiau Gêm yn cynnig rheolaeth mannach, fodd bynnag STR_CONFIG_SETTING_LAND_GENERATOR :Cynhyrchydd Tir: {STRING} +STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :Mae'r crewr gwreiddiol yn ddibynol ar y set graffeg sylfaenol, ac yn creu siapiau tirwedd gosodedig. Mae TerraGenesis yn seiliedig ar generadur said Perlin, gyda gosodiadau manylach STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Gwreiddiol STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis -STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Pellter uchafsymol o'r ochr ar gyfer Purfeydd Olew: {STRING} +STR_CONFIG_SETTING_TERRAIN_TYPE :Math tirwedd: {STRING} +STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(TerraGenesis yn unig) Llyfnder y tirwedd +STR_CONFIG_SETTING_INDUSTRY_DENSITY :Dwysedd diwydiant: {STRING} +STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Gosod faint o ddiwydiannau y dylid eu creu a pha lefel caiff eu cynnal drwy'r gêm +STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Pellter uchafsymol o'r ochr ar gyfer Purfeydd olew: {STRING} STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Codir purfeydd olew ger ymylon y map yn unig, h.y. ar yr arfordir mewn mapiau ynys STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Uchder Llinell Eira: {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Garwder y tirwedd (TerraGenesis yn unig) : {STRING} +STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Rheoli'r uchder y mae eira'n ymddangos mewn tirwedd is-arctig. Mae eira hefyd yn effeitiho ar gynhyrchu diwydiannau a gofynion twf trefi +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Garwder y tirwedd: {STRING} +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(TerraGenesis yn unig) Dewis amlder bryniau: Mae gan tirwedd llyfn nifer isel o fryniau bylchedig. Mae gan dirwedd garw llawer o fryniau, a all edrych yn undonog STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Llyfn Iawn STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Llyfn STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Garw STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Garw Iawn +STR_CONFIG_SETTING_VARIETY :Dosraniad amrywiaeth: {STRING} +STR_CONFIG_SETTING_VARIETY_HELPTEXT :(TerraGenesis yn unig) Rheoli a yw'r map yn cynnwys ardaloedd mynyddig a gwastad. Gan fod hyn yn gwneud y map yn fwy gwastad, dylid addasu gosodiadau eraill at mynyddig +STR_CONFIG_SETTING_RIVER_AMOUNT :Nifer afonydd: {STRING} +STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Dewis sawl afon i'w creu STR_CONFIG_SETTING_TREE_PLACER :Algorithm gosod coed: {STRING} +STR_CONFIG_SETTING_TREE_PLACER_HELPTEXT :Dewis dosraniad coed ar y map: mae 'Gwreiddiol' yn plannu coed mewn dosraniad unffurf, a 'Gwell' yn eu plannu mewn grwpiau STR_CONFIG_SETTING_TREE_PLACER_NONE :Dim STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :Gwreiddiol STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :Gwell +STR_CONFIG_SETTING_ROAD_SIDE :Cerbydau ffordd: {STRING} +STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :Dewis yr ochr gyrru STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Tro Map Uchder: {STRING} STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Gwrthglocwedd STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Clocwedd STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :Y lefel map uchder mae map senario fflat yn ei dderbyn: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :Galluogi tirffurfio'r teiliau ar ymylon y map: {STRING} -STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES_HELPTEXT :Os analluogir, cefnfor fydd ar ymylon y map bob tro STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}Nid yw un neu fwy o'r teiliau ar ymyl gogleddol y map yn wag STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}Nid yw un neu fwy o'r teiliau ar un o'r ymylon yn ddŵr @@ -1300,13 +1337,13 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_HELPTEXT :Lliw y tirwedd STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_GREEN :Gwyrdd STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :Gwyrdd tywyll STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :Fioled -STR_CONFIG_SETTING_REVERSE_SCROLLING :gwrthdroi'r cyfeiriad sgrolio: {STRING} +STR_CONFIG_SETTING_REVERSE_SCROLLING :Gwrthdroi'r cyfeiriad sgrolio: {STRING} STR_CONFIG_SETTING_REVERSE_SCROLLING_HELPTEXT :Ymddygiad pan yn sgrolio gyda botwm dde y llygoden. Pan yr analluogir, bydd y llygoden yn symyd y camera. Pan y galluogir, bydd y llygoden yn symyd y map STR_CONFIG_SETTING_SMOOTH_SCROLLING :Sgrolio prif ffenestr llyfn: {STRING} STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Rheoli syt y mae'r prif olygfa'n sgrolio at leoliad penodol pan yn clicio ar y map bychan neu yn rhoi gorchymyn i sgrolio at wrthrych penodol STR_CONFIG_SETTING_MEASURE_TOOLTIP :Dangos cymorth mesur wrth ddefnyddio'r offer adeiladu amrywiol: {STRING} STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT :Dangos pellterau teil a gwahaniaethau uchder wrth lusgo tra'n adeiladu -STR_CONFIG_SETTING_LIVERIES :Dangos lifrau cwmnïau: {STRING} +STR_CONFIG_SETTING_LIVERIES :Defnyddio lifrau cerbyd-benodol: {STRING} STR_CONFIG_SETTING_LIVERIES_HELPTEXT :Rheoli defnydd o lifrau cerbyd-benodol ar gyfer cerbydau (yn hytrach na lliwiau'r cwmni) STR_CONFIG_SETTING_LIVERIES_NONE :Dim STR_CONFIG_SETTING_LIVERIES_OWN :Eich Cwmni @@ -1336,17 +1373,15 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :I ffwrdd STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Sgrolio Clic-chwith: {STRING} STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :Galluogi sgrolio ar y map drwy ei lusgo gyda botwm chwith y llygoden. Mae hyn yn arbennig o ddefnyddiol pan yn defnyddio sgrin-gyffwrdd ar gyfer sgrolio +STR_CONFIG_SETTING_AUTOSAVE :Awtogadw: {STRING} +STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Dewis pa mor aml y dylid awtogadw gemau + STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Defnyddio'r fformat dyddiad {STRING} ar gyfer enwau gemau wedi'u cadw STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Fformat y dyddiad mewn enwau ffeiliau cadw STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :hir (31ain Rhag 2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :byr(31-12-2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE :Palet rhagosodedig ar gyfer NewGRFau nad yw'n dynodi un: {STRING} -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_HELPTEXT :Palet rhagosodedig i'w ddefnyddio ar gyfer NewGRFau nad ydynt yn dynodi'r un y maent eu hangen -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_DOS :Palet rhagosodedig (D) -STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_WIN :Palet hanesyddol (W) - STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Oedi'n awtomatig wrth gychwyn gêm newydd: {STRING} STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :Pan y galluogir, bydd yn gêm yn oedi ar ddechrau gêm newydd, er mwyn astudio'r map STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Tra fo wedi'i oedi, caniatáu: {STRING} @@ -1355,7 +1390,7 @@ STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :Dim gweithredoe STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :Pob gweithred ac eithro adeiladu STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :Pob gweithred ac eithro addasu tirwedd STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_ACTIONS :Pob gweithred -STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Defnyddio'r rhestr cerbydau uwch {STRING} +STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Defnyddio grwpiau yn y rhestr cerbydau: {STRING} STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Galluogi defnydd o'r rhestrau cerbyd uwch ar gyfer grwpio cerbydau STR_CONFIG_SETTING_LOADING_INDICATORS :Dangos llwytho: {STRING} STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Dewis a fydd dangosyddion llwytho'n cael eu dangos uwch cerbydau sy'n llwytho neu dadlwytho @@ -1370,7 +1405,7 @@ STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_HELPTEXT :Math o gledrau STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_FIRST :Y cyntaf sydd ar gael STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_LAST :Yr olaf sydd ar gael STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_MOST_USED :Defnydd mwyaf -STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :Dangos traciau wedi'u cadw: {STRING} +STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :Dangos llwybrau traciau wedi'u cadw: {STRING} STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION_HELPTEXT :Rhoi lliw gwahanol ar gledrau lliw gwahanol i gynorthwyo datrys problemau gyda threnau sy'n gwrthod myned blociau llwybro STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Cadw'r offer adeiladu yn weithredol wedi ei ddefnydd: {STRING} STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Cadw'r offer adeiladu pontydd, twneli, a.y.y.b. ar agor wedi eu defnydd @@ -1396,13 +1431,13 @@ STR_CONFIG_SETTING_SOUND_AMBIENT_HELPTEXT :Chwarae synau c STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING :Analluogi adeiladu tanadeiledd pan nad oes cerbydau addas ar gael: {STRING} STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING_HELPTEXT :Pan y galluogir, nid yw tanadeiledd ar gael nes fod cerbydau ar gael iddo, gan osgoi gwastraff arian ac amser ar danadeiledd na ellir ei ddefnyddio -STR_CONFIG_SETTING_MAX_TRAINS :Uchafswm nifer trenau cwmni: {STRING} +STR_CONFIG_SETTING_MAX_TRAINS :Uchafswm nifer y trenau i bob cwmni: {STRING} STR_CONFIG_SETTING_MAX_TRAINS_HELPTEXT :Nifer uchafsymol y trenau y gall cwmni fod yn berchen arnynt -STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :Uchafswm cerbydau ffordd cwmni: {STRING} +STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :Uchafswm nifer y cerbydau ffordd i bob cwmni: {STRING} STR_CONFIG_SETTING_MAX_ROAD_VEHICLES_HELPTEXT :Nifer uchafsymol y cerbydau ffordd y gall cwmni fod yn berchen arnynt -STR_CONFIG_SETTING_MAX_AIRCRAFT :Uchafswm awyrennau cwmni: {STRING} +STR_CONFIG_SETTING_MAX_AIRCRAFT :Uchafswm nifer yr awyrennau i bob cwmni: {STRING} STR_CONFIG_SETTING_MAX_AIRCRAFT_HELPTEXT :Nifer uchafsymol yr awyrennau y gall cwmni fod yn berchen arnynt -STR_CONFIG_SETTING_MAX_SHIPS :Uchafswm llongau cwmni: {STRING} +STR_CONFIG_SETTING_MAX_SHIPS :Uchafswm nifer y llongau i bob cwmni: {STRING} STR_CONFIG_SETTING_MAX_SHIPS_HELPTEXT :Nifer uchafsymol y llongau y gall cwmni fod yn berchen arnynt STR_CONFIG_SETTING_AI_BUILDS_TRAINS :Analluogi trenau ar gyfer y cyfrifiadur: {STRING} @@ -1429,7 +1464,7 @@ STR_CONFIG_SETTING_SERVINT_ISPERCENT :Dangos y cyfnod STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Dewis os y bydd gwasanaethu cerbydau'n digwydd yn ôl yr amser ers y gwasanaeth olaf, neu wrth i'w dibynadwyedd ddisgyn islaw ganran penodol o'r dibynadwyedd uchafsymol STR_CONFIG_SETTING_SERVINT_TRAINS :Ystod gwasanaethu rhagosodedig ar gyfer trenau: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Gosod yr ystod gwasanaethu rhagosodedig ar gyfer cerbydau rheilffordd newydd, os na ddynodir ystod gwasanaethu penodol ar gyfer y cerbyd -STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA} diwrnod/% +STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}diwrnod/% STR_CONFIG_SETTING_SERVINT_DISABLED :Analluogwyd STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES :Ystod gwasanethu rhagosodedig ar gyfer cerbydau ffordd: {STRING} STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES_HELPTEXT :Gosod yr ystod gwasanaethu rhagosodedig ar gyfer cerbydau ffordd newydd, os na ddynodir ystod gwasanaethu penodol ar gyfer y cerbyd @@ -1468,7 +1503,7 @@ STR_CONFIG_SETTING_NEWS_ADVICE :Cyngor / gwybod STR_CONFIG_SETTING_NEWS_ADVICE_HELPTEXT :Dangos negeseuon am gerbydau sydd angen sylw STR_CONFIG_SETTING_NEWS_NEW_VEHICLES :Cerbydau Newydd: {STRING} STR_CONFIG_SETTING_NEWS_NEW_VEHICLES_HELPTEXT :Dangos papur newydd pan fo math newydd o gerbyd ar gael -STR_CONFIG_SETTING_NEWS_CHANGES_ACCEPTANCE :Newidiadau i'r llwythi sy'n cael eu derbyn: {STRING} +STR_CONFIG_SETTING_NEWS_CHANGES_ACCEPTANCE :Newidiadau i'r llwythi a dderbynir: {STRING} STR_CONFIG_SETTING_NEWS_CHANGES_ACCEPTANCE_HELPTEXT :Dangos negeseuon am orsafoedd yn newid y nwyddau y maent yn derbyn STR_CONFIG_SETTING_NEWS_SUBSIDIES :Cymorthdaliadau: {STRING} STR_CONFIG_SETTING_NEWS_SUBSIDIES_HELPTEXT :Dangos papur newydd am ddigwyddiadau ynghylch cymorthdaliadau @@ -1496,7 +1531,7 @@ STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT :Gosod ymddygiad STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE :Adeiladu semafforau cyn: {STRING} STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT :Gosod y flwyddyn pan y defnyddir signalau trydan ar draciau. Cyn y flwyddyn hon, fe ddefnyddir signalau semaffor (sydd â gweithred unfath, ond edrychiad gwahanol) STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI :Galluogi'r GUI signalau: {STRING} -STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI_HELPTEXT :Dangos ffenestr ar gyfer dewis y math o signalau i ddewis, yn hytrach na chylchu drwy mathau signal wrth Ctrl+clicio heb ffenest pan yn adeiladu signalau +STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI_HELPTEXT :Dangos ffenestr ar gyfer dewis y math o signalau i ddewis, yn hytrach na chylchu drwy mathau signal heb ffenest wrth Ctrl+clicio ar signalau eisoes wedi'u hadeiladu STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE :Y math o signal i'w adeiladu fel rhagosodiad: {STRING} STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE_HELPTEXT :Signal rhagosodedig i'w ddefnyddio STR_CONFIG_SETTING_DEFAULT_SIGNAL_NORMAL :Signalau Bloc @@ -1520,7 +1555,7 @@ STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT :Caniatáu i dre STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :Caniatáu i drefi adeiladau croesfannau rheilffordd: {STRING} STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Galluogwch y gosodiad yma i ganiatáu i drefi adeiladu croesfannau rheilffordd STR_CONFIG_SETTING_NOISE_LEVEL :Caniatáu i drefi reoli lefel swn meysydd awyrenau: {STRING} -STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Os analluogir y gosodiad yma, gellir cael dwy faes awyr ymhob tref. Os y galluogir, fe gyfyngir y nifer o feysydd awyr gan dderbyniath sŵn y dref, sydd yn dibynnu ar y boblogaeth, ynghŷd â maint a phellter maes awyr +STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Os analluogir y gosodiad yma, gellir cael dau faes awyr ymhob tref. Os y galluogir, fe gyfyngir y nifer o feysydd awyr gan y lefel sŵn mae'r dref am dderbyn, sydd yn dibynnu ar y boblogaeth a maint a phellter y maes awyr STR_CONFIG_SETTING_TOWN_FOUNDING :Sefydlu trefi mewn gêm: {STRING} STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Mae galluogi'r gosodiad yma'n caniatáu i chwaraewyr sefydlu trefi newydd yn y gêm STR_CONFIG_SETTING_TOWN_FOUNDING_FORBIDDEN :Gwahardd @@ -1568,12 +1603,10 @@ STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 mewn {COMMA} STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Dim STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Lluosydd cychwynol maint dinas: {STRING} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Maint cymhedrol dinasoedd o gymharu â threfi arferol ar ddechrau'r gêm -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :Dileu ffyrdd disynnwyr wrth adeiladu ffyrdd: {STRING} -STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD_HELPTEXT :Tynnu pytiau ffyrdd diddefnydd yn ystod ailadeiladu ffyrdd noddedig -STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Diweddaru'r graff dosraniad bob {STRING} diwrnod +STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Diweddaru'r graff dosraniad bob {STRING}{NBSP}diwrnod STR_CONFIG_SETTING_LINKGRAPH_INTERVAL_HELPTEXT :Amser rhwng pob ailgifrifiad o'r graff cyswllt. Bydd pob ailgyfrifiad yn cyfrifio'r cynllun ar gyfer un cydran o'r graff. O ganlyn ni fydd dwis gwerth o X yn golygu y bydd y graff cyfan yn cael ei ddiweddaru bob X diwrnod, ond y bydd rhai cydrannau. Bydd ystod byr yn defnyddio mwy o amser y prosesydd yn ailgyfrio graffiau. Bydd ystor hir yn cynyddu'r amser cyn y daw'r dosraniad i ryn ar lwybrau newydd. -STR_CONFIG_SETTING_LINKGRAPH_TIME :Cymryd {STRING} diwrnod ar gyfer ar gyfer ailgyfrifo graff dosraniad +STR_CONFIG_SETTING_LINKGRAPH_TIME :Cymryd {STRING}{NBSP}diwrnod ar gyfer ar gyfer ailgyfrifo graff dosraniad STR_CONFIG_SETTING_LINKGRAPH_TIME_HELPTEXT :Yr amser ar gyfer ailgyfrifo pob cydran o raff cyswllt. Pan y dechreuir ailgyfrifo, fe grëir llinyn gwaith a gaiff redeg am nifer penodol o ddiwrnodau. Bydd gosodiad byr yn ei gwneud yn fwy tebygol na fydd y llinyn wedi gorffen mewn pryd. Yna bydd y gêm yn oedi new y bydd yn barod. Bydd gosodiad hir yn cynyddu'r amser y cymerir i'r dosranaid gael ei ddiweddaru pan fo llwybrau'n newid. STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :â llaw STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :anghymesur @@ -1583,7 +1616,7 @@ STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :Mae "cymesur" y STR_CONFIG_SETTING_DISTRIBUTION_MAIL :Dull dosrannu ar gyfer post: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :Mae "cymesur" yn golygu y bydd tua'r un faint o bost yn cael ei yrru o orsaf A i orsaf B ac y gyrrir o B i A. Mae "anghymesur" yn golygu y gall llwythi mympwyol eu gyrru yn y naill cyfeiriad neu'r llall. Mae "â llaw" yn golygu ni fydd dosrannu diofyn yn digwydd ar gyfer post. STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Dull dosrannu ar gyfer llwythi ARFOG: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :Mae llwythi ARFOG yn cynnwys trysorau mewn ardaloedd tymherus, diemwntau yn y trofannau, ac aur yn yr is-arctig. Mae modd y bydd NewGRFau yn newid hyn, Mae "cymesur" yn golygu y bydd tua'r un faint o lwythi'n cael eu gyrru o orsaf A i orsaf B ac y gyrrir o B i A. Mae "anghymesur" yn golygu y gall llwythi mympwyol eu gyrru yn y naill cyfeiriad neu'r llall. Mae "â llaw" yn golygu ni fydd dosrannu diofyn yn digwydd ar gyfer y llwythi yma. Fe argymhellir eich bod yn dewis anghymesur neu â llaw pan yn chwarae mewn ardal is-arctig, gan na fydd banciau'n gyrru aur yn ôl i gloddfeydd aur. Ar gyfer ardaloedd tymherus neu trofannol gallwch hefyd ddewis cymesur gan y bydd banciau'n gyrru trysorau'n ôl i'r banciau tardd. +STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :Mae llwythi ARFOG yn cynnwys trysorau mewn ardaloedd tymherus, diemwntau yn y trofannau, ac aur yn yr is-arctig. Gall NewGRFau newid hyn, Mae "cymesur" yn golygu y bydd tua'r un faint o lwythi'n cael eu gyrru o orsaf A i orsaf B ac y gyrrir o B i A. Mae "anghymesur" yn golygu y gall llwythi mympwyol eu gyrru yn y naill cyfeiriad neu'r llall. Mae "â llaw" yn golygu ni fydd dosrannu diofyn yn digwydd ar gyfer y llwythi yma. Fe argymhellir eich bod yn dewis anghymesur neu â llaw pan yn chwarae mewn ardal is-arctig, gan na fydd banciau'n gyrru aur yn ôl i gloddfeydd aur. Ar gyfer ardaloedd tymherus neu trofannol gallwch hefyd ddewis cymesur gan y bydd banciau'n gyrru trysorau'n ôl i rai banciau tardd. STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Dull dosrannu ar gyfer llwythi eraill: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :Mae "anghymesur" yn golygu y gall llwythi mympwyol eu gyrru yn y naill cyfeiriad neu'r llall. Mae "â llaw" yn golygu ni fydd dosrannu diofyn yn digwydd ar gyfer y llwythi hyn. STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Manylder dosrannu: {STRING} @@ -1608,7 +1641,7 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_METRIC :Metrig (hp) STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_SI :SI (kW) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT :Unedau pwysau: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_HELPTEXT :Pan y dangosir pwysau yn y rhyngwyneb defnyddiwr, eu dangos yn yr unedau a ddewiswyd +STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_HELPTEXT :Pan y dangosir pwysau yn y rhyngwyneb defnyddiwr, ei ddangos yn yr unedau a ddewiswyd STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_IMPERIAL :Imperial (t/tunnell byr) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_METRIC :Metrig (t/tunell) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_SI :SI (kg) @@ -1631,27 +1664,29 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :Imperial (ft) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :Metrig (m) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :SI (m) -STR_CONFIG_SETTING_GUI :{ORANGE}Rhyngwyneb STR_CONFIG_SETTING_LOCALISATION :{ORANGE}Unedau Lleol -STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}Adeiladu +STR_CONFIG_SETTING_GRAPHICS :{ORANGE}Graffeg +STR_CONFIG_SETTING_SOUND :{ORANGE}Sain +STR_CONFIG_SETTING_INTERFACE :{ORANGE}Rhyngwyneb +STR_CONFIG_SETTING_INTERFACE_GENERAL :{ORANGE}Cyffredinol +STR_CONFIG_SETTING_INTERFACE_VIEWPORTS :{ORANGE}Ffenestri Golygfa +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Adeiladu +STR_CONFIG_SETTING_ADVISORS :{ORANGE}Newyddion a Chyngor +STR_CONFIG_SETTING_COMPANY :{ORANGE}Cwmni +STR_CONFIG_SETTING_ACCOUNTING :{ORANGE}Cyfrifo STR_CONFIG_SETTING_VEHICLES :{ORANGE}Cerbydau -STR_CONFIG_SETTING_STATIONS :{ORANGE}Gorsafoedd -STR_CONFIG_SETTING_ECONOMY :{ORANGE}Economi -STR_CONFIG_SETTING_LINKGRAPH :{ORANGE}Dosraniad Cargo -STR_CONFIG_SETTING_AI :{ORANGE}Cystadleuwyr -STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}Dewisiadau dangos -STR_CONFIG_SETTING_INTERACTION :{ORANGE}Rhyngweithio -STR_CONFIG_SETTING_SOUND :{ORANGE}Effeithiau sŵn -STR_CONFIG_SETTING_NEWS :{ORANGE}Newyddion a negeseuon -STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}Signalau -STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE}Trin llwyth -STR_CONFIG_SETTING_AI_NPC :{ORANGE}Chwaraewyr Cyfrifiadurol -STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE}Awtoadnewyddu -STR_CONFIG_SETTING_VEHICLES_SERVICING :{ORANGE}Gwasanaethu +STR_CONFIG_SETTING_VEHICLES_PHYSICS :{ORANGE}Ffiseg STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Llwybro -STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}Trenau -STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}Trefi -STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}Diwydiannau +STR_CONFIG_SETTING_LIMITATIONS :{ORANGE}Cyfyngiadau +STR_CONFIG_SETTING_ACCIDENTS :{ORANGE}Trychinebau a Damweiniau +STR_CONFIG_SETTING_GENWORLD :{ORANGE}Cread byd +STR_CONFIG_SETTING_ENVIRONMENT :{ORANGE}Amgylchedd +STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :{ORANGE}Awdurdodau +STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Trefi +STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}Diwydiannau +STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :{ORANGE}Dosraniad cargo +STR_CONFIG_SETTING_AI :{ORANGE}Cystadleuwyr +STR_CONFIG_SETTING_AI_NPC :{ORANGE}Chwaraewyr Cyfrifiadurol STR_CONFIG_SETTING_PATHFINDER_OPF :Gwreiddiol STR_CONFIG_SETTING_PATHFINDER_NPF :NPF @@ -1700,7 +1735,7 @@ STR_INTRO_MULTIPLAYER :{BLACK}Amlchwar STR_INTRO_GAME_OPTIONS :{BLACK}Dewisiadau Gêm STR_INTRO_HIGHSCORE :{BLACK}Tabl Sgôr Uchaf -STR_INTRO_ADVANCED_SETTINGS :{BLACK}Ffurfweddu Addasiadau +STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Gosodiadau STR_INTRO_NEWGRF_SETTINGS :{BLACK}Gosodiadau NewGRF STR_INTRO_ONLINE_CONTENT :{BLACK}Gwirio Cynnwys Ar-lein STR_INTRO_SCRIPT_SETTINGS :{BLACK}Gosodiadau AI / Sgript Gêm @@ -1720,7 +1755,7 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Dewis ti STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Dangos dewisiadau'r gêm STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Dangos y tabl sgôr uchaf -STR_INTRO_TOOLTIP_ADVANCED_SETTINGS :{BLACK}Ffurfweddu'r Addasiadau +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Gosodiadau arddangos STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Dangos gosodiadau NewGRF STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Gwirio am gynnwys newydd neu wedi'i ddiweddaru i'w lwytho i lawr STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Dangos gosodiadau AI a sgript Gêm @@ -1760,6 +1795,8 @@ STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Chwarae STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Tarw Dur Hud (chwalu diwydiannau, gwrthrychau nad oes modd eu chwalu): {ORANGE}{STRING} STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}Caiff twneli groesi eu gilydd: {ORANGE}{STRING} STR_CHEAT_NO_JETCRASH :{LTBLUE}Ni fydd awyrennau jet yn crashio (yn aml) ar feysydd awyr bychain: {ORANGE}{STRING} +STR_CHEAT_EDIT_MAX_HL :{LTBLUE}Golygu uchder uchafsymol y map: {ORANGE}{NUM} +STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Golygu uchder uchafsymol mynyddoedd ar y map STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE :Tirwedd Tymherus STR_CHEAT_SWITCH_CLIMATE_SUB_ARCTIC_LANDSCAPE :Tirwedd Is-arctig STR_CHEAT_SWITCH_CLIMATE_SUB_TROPICAL_LANDSCAPE :Tirwedd trofannol @@ -1808,6 +1845,7 @@ STR_LIVERY_FREIGHT_TRAM :Tram Nwyddau STR_FACE_CAPTION :{WHITE}Dewiswch Wyneb STR_FACE_CANCEL_TOOLTIP :{BLACK}Diddymu dewis wyneb STR_FACE_OK_TOOLTIP :{BLACK}Derbyn y dewis newydd o wyneb +STR_FACE_RANDOM :{BLACK}Ar hap STR_FACE_MALE_BUTTON :{BLACK}Gwrywaidd STR_FACE_MALE_TOOLTIP :{BLACK}Dewis gwyneb gwrywaidd @@ -1834,7 +1872,7 @@ STR_FACE_EUROPEAN :{BLACK}Ewropeia STR_FACE_SELECT_EUROPEAN :{BLACK}Dewis gwyneb Ewropeaidd STR_FACE_AFRICAN :{BLACK}Affricanaidd STR_FACE_SELECT_AFRICAN :{BLACK}Dewis gwyneb Affricanaidd -STR_FACE_YES :Iawn +STR_FACE_YES :Ie STR_FACE_NO :Na STR_FACE_MOUSTACHE_EARRING_TOOLTIP :{BLACK}Galluogi mwstásh neu glustdlws STR_FACE_HAIR :Gwallt: @@ -1928,13 +1966,13 @@ STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}Diogelwc STR_NETWORK_START_SERVER_UNADVERTISED :Na STR_NETWORK_START_SERVER_ADVERTISED :Ia STR_NETWORK_START_SERVER_CLIENTS_SELECT :{BLACK}{NUM} gwestai -STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Uchafswm gwesteion: +STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Uchafswm nifer gwesteion: STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS_TOOLTIP :{BLACK}Dewiswch uchafswm y gwesteion. Does dim rhaid llanw pob slot STR_NETWORK_START_SERVER_COMPANIES_SELECT :{BLACK}{NUM} cwmni -STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}Uchafswm cwmnïau: +STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}Uchafswm nifer cwmnïau: STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES_TOOLTIP :{BLACK}rhoi cyfyngiad penodol ar sawl cwmni mae'r gweinydd yn ei ganiatáu STR_NETWORK_START_SERVER_SPECTATORS_SELECT :{BLACK}{NUM} gwyliwr -STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS :{BLACK}Uchafswm gwylwyr: +STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS :{BLACK}Uchafswm nifer gwylwyr: STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS_TOOLTIP :{BLACK}rhoi cyfyngiad penodol ar sawl gwyliwr mae'r gweinydd yn ei ganiatáu STR_NETWORK_START_SERVER_LANGUAGE_SPOKEN :{BLACK}Iaith i'w siarad: STR_NETWORK_START_SERVER_LANGUAGE_TOOLTIP :{BLACK}Rhoi gwybod i'r chwaraewyr pa iaith y dylid ei siarad ar y gweinydd @@ -2283,7 +2321,7 @@ STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Adeiladu STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Toglu adeiladu/tynnu ar gyfer traciau, signalau, a pwyntiau llwybro. Wrth ddal Ctrl, caiff cledrau pwyntiau llwybro a gorsafoedd eu tynnu hefyd STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL :{BLACK}Trosi/Diweddaru math y rheilffordd. Mae Shift yn toglo adeiladu/amcangyfrif y gost -STR_RAIL_NAME_RAILROAD :rheilffordd +STR_RAIL_NAME_RAILROAD :Rheilffordd STR_RAIL_NAME_ELRAIL :rheilffordd drydan STR_RAIL_NAME_MONORAIL :monoreilffordd STR_RAIL_NAME_MAGLEV :maglef @@ -2549,7 +2587,7 @@ STR_LAND_AREA_INFORMATION_AIRPORT_CLASS :{BLACK}Dosbarth STR_LAND_AREA_INFORMATION_AIRPORT_NAME :{BLACK}Enw'r maes awyr: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_AIRPORTTILE_NAME :{BLACK}Enw teil maes awyr: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_NEWGRF_NAME :{BLACK}NewGRF: {LTBLUE}{STRING} -STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Llwythi sy'n cael eu derbyn: {LTBLUE} +STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Llwythi a dderbynir: {LTBLUE} STR_LAND_AREA_INFORMATION_CARGO_EIGHTS :({COMMA}/8 {STRING}) STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Terfyn cyflymder rheilffordd: {LTBLUE}{VELOCITY} STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}Terfyn cyflymder ffordd: {LTBLUE}{VELOCITY} @@ -2589,7 +2627,7 @@ STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :Depo trên {STR STR_LAI_ROAD_DESCRIPTION_ROAD :Ffordd STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Ffordd gyda goleuadau stryd -STR_LAI_ROAD_DESCRIPTION_TREE_LINED_ROAD :Ffordd gyda coed wedi'i plannu +STR_LAI_ROAD_DESCRIPTION_TREE_LINED_ROAD :Ffordd gyda coed wedi'u plannu STR_LAI_ROAD_DESCRIPTION_ROAD_VEHICLE_DEPOT :Depo cerbyd ffordd STR_LAI_ROAD_DESCRIPTION_ROAD_RAIL_LEVEL_CROSSING :Croesfan wastad ffordd/rheilffordd STR_LAI_ROAD_DESCRIPTION_TRAMWAY :Tramffordd @@ -2643,13 +2681,13 @@ STR_LAI_BRIDGE_DESCRIPTION_AQUEDUCT :Traphont STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER :Darlledydd STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE :Goleudy STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS :Pencadlys Cwmni -STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Tir mae cwmni berchen +STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Tir cwmni # About OpenTTD window 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-2014 Y tîm OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2015 Y tîm OpenTTD # Save/load game/scenario STR_SAVELOAD_SAVE_CAPTION :{WHITE}Cadw Gêm @@ -2684,13 +2722,12 @@ STR_MAPGEN_BY :{BLACK}* STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Nifer trefi: STR_MAPGEN_DATE :{BLACK}Dyddiad: STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Nifer diwydiannau: +STR_MAPGEN_MAX_HEIGHTLEVEL :{BLACK}Uchder map uchafsymol: +STR_MAPGEN_MAX_HEIGHTLEVEL_UP :{BLACK}Cynyddu uchder uchafsymol mynyddoedd ar y map un uned +STR_MAPGEN_MAX_HEIGHTLEVEL_DOWN :{BLACK}Lleihau uchder uchafsymol mynyddoedd ar y map un uned STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}Uchder Llinell Eira: STR_MAPGEN_SNOW_LINE_UP :{BLACK}Symud y llinell eira un yn uwch STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}Symud y llinell eira un yn is -STR_MAPGEN_RANDOM_SEED :{BLACK}Hedyn Hap -STR_MAPGEN_RANDOM_SEED_HELP :{BLACK}Cliciwch i fewnbynnu hedyn hap -STR_MAPGEN_RANDOM :{BLACK}Ar hap -STR_MAPGEN_RANDOM_HELP :{BLACK}Newid yr hedyn hap syn cael ei ddefnyddio ar gyfer Cynhyrchu Tirwedd STR_MAPGEN_LAND_GENERATOR :{BLACK}Cynhyrchydd Tir: STR_MAPGEN_TREE_PLACER :{BLACK}Algorithm Coed: STR_MAPGEN_TERRAIN_TYPE :{BLACK}Math Tirwedd: @@ -2717,7 +2754,7 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Enw'r Ma STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Maint: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} -STR_MAPGEN_RANDOM_SEED_OSKTITLE :{BLACK}Rhowch hedyn hap +STR_MAPGEN_MAX_HEIGHTLEVEL_QUERY_CAPT :{WHITE}Newid uchder uchafsymol y map STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}Newid uchder Llinell Eira STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Newid y flwyddyn gychwyn @@ -2772,6 +2809,8 @@ STR_NEWGRF_SETTINGS_MOVEUP :{BLACK}Symud i STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP :{BLACK}Symud y ffeil NewGRF sydd wedi'i ddewis i fyny'r rhestr STR_NEWGRF_SETTINGS_MOVEDOWN :{BLACK}Symud i Lawr STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP :{BLACK}Symud y ffeil NewGRF sydd wedi'i ddewis i lawr y rhestr +STR_NEWGRF_SETTINGS_UPGRADE :{BLACK}Uwchraddio +STR_NEWGRF_SETTINGS_UPGRADE_TOOLTIP :{BLACK}Uwchraddio ffeiliau NewGRF lle fo gennych fersiwn diweddarach wedi ei lwytho STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}Rhestr o bob ffeil NewGRF sydd wedi'u gosod STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}Gosod paramedrau @@ -2796,6 +2835,16 @@ STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Ni ddargan STR_NEWGRF_SETTINGS_DISABLED :{RED}Analluogwyd STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Anghydnaws gyda'r fersiwn yma o OpenTTD +# NewGRF save preset window +STR_SAVE_PRESET_CAPTION :{WHITE}Cadw rhagosodiad +STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK}Rhestr o ragosodiadau ar gael, Dewiswch un i'w gopïo i'r enw cadw isod +STR_SAVE_PRESET_TITLE :{BLACK}Rhowch enw ar gyfer y rhagosodiad +STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}Enw a ddewiswyd ar gyfer cadw'r rhagosodiad +STR_SAVE_PRESET_CANCEL :{BLACK}Canslo +STR_SAVE_PRESET_CANCEL_TOOLTIP :{BLACK}Peidio newid y rhagosodiad +STR_SAVE_PRESET_SAVE :{BLACK}Cadw +STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}Cadw'r rhagosodiad i'r enw a ddewiswyd + # NewGRF parameters window STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Newid paramedrau NewGRF STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Cau @@ -2819,14 +2868,13 @@ STR_NEWGRF_INSPECT_QUERY_CAPTION :{WHITE}Paramedr # Sprite aligner window STR_SPRITE_ALIGNER_CAPTION :{WHITE}Alinio corlun {COMMA} ({STRING}) STR_SPRITE_ALIGNER_NEXT_BUTTON :{BLACK}Corlun nesaf -STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Mynd i'r corlun cyffredin nesaf, gan hepgor unrhyw gorluniau ailliwio/ffont/llidgorluniau, ac amlapio ar y diwedd +STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Mynd i'r corlun cyffredin nesaf, gan hepgor unrhyw gorluniau ailliwio/ffont/llidgorluniau, ac amlapio o'r corlun olaf i'r gyntaf STR_SPRITE_ALIGNER_GOTO_BUTTON :{BLACK}Mynd i gorlun STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}Mynd i'r corlun a ddynodir. Os nad yw'r corlun yn gorlun cyffredin, mynd i'r corlun gyffredin nesaf STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Corlun blaenorol -STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Mynd i'r corlun cyffredin blaenorol, gan hepgor unrhyw gorluniau ailliwio/ffont/llidgorluniau, ac amlapio ar y diwedd +STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Mynd i'r corlun cyffredin blaenorol, gan hepgor unrhyw gorluniau ailliwio/ffont/llidgorluniau, ac amlapio o'r corlun cyntaf i'r olaf STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Cynrychioliad o'r corlun a ddewiswyd. Fe anwybyddir yr aliniad wrth lunio'r corlun STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Symud y corlun, gan newid yr atredau X ac Y -STR_SPRITE_ALIGNER_OFFSETS :{BLACK}Atred X: {NUM}, Atred Y: {NUM} STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Dewis corlun STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Dewis corlun o ynrhyw fan ar y sgrïn @@ -2938,8 +2986,8 @@ STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} wedi ei dderbyn STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (angen o hyd) STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (wedi ei dderbyn) -STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Tref yn tyfu bob {ORANGE}{COMMA}{BLACK} diwrnod -STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Tref yn tyfu bob {ORANGE}{COMMA}{BLACK} diwrnod (wedi ei ariannu) +STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Tref yn tyfu bob {ORANGE}{COMMA}{BLACK}{NBSP}diwrnod +STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Tref yn tyfu bob {ORANGE}{COMMA}{BLACK}{NBSP}diwrnod (wedi ei ariannu) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}{RED}Nid{BLACK} yw'r tref yn tyfu STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Uchafswm swn mewn trefi: {ORANGE}{COMMA}{BLACK} uchafswm: {ORANGE}{COMMA} STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Canoli'r prif olygfa ar y dref. Mae Ctrl+Clic yn agor ffenest golwg newydd ar leoliad y dref @@ -2976,7 +3024,7 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}Dechrau STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}Dechrau ymgyrch hysbyseb gymhedrol yn yr ardal, er mwyn denu mwy o deithwyr a llwythi i'ch gorsafoedd.{} Côst: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW}Dechrau ymgyrch hysbyseb fawr yn yr adral, er mwyn denu mwy o deithwyr a llwythi i'ch gorsafoedd .{} Cost: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW} Ariannu gwaith ffordd ar y rhwydwaith ffyrdd trefol. Bydd yn amharu'n fawr ar drafnidiaeth y dref am hyd at 6 mis .{} Cost: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW} Adeiladu a statue in honour o your company.{} Côst: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW} Adeiladu cerflun er clod eich cwmni.{} Côst: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW} Ariannu adeiladu adeiladau masnachol newydd yn y dref.{} Côst: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}Prynu'r hawl i fod yr unig gyflenwr cludiant yn y dref am flwyddyn. Bydd awdurdod y dref ond yn caniatáy i deithwyr a chargo ddefnyddio eich gorsafoedd chi {} Cost: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW} Llwgrwobrwyo'r awdurdod lleol i wella'ch gradd, ond byddwch mewn perygl o dderbyn côsb sylweddol os cewch chi'ch dal.{} Côst: {CURRENCY_LONG} @@ -2999,7 +3047,7 @@ STR_GOAL_QUESTION_CAPTION_INFORMATION :Gwybodaeth STR_GOAL_QUESTION_CAPTION_WARNING :Rhybudd STR_GOAL_QUESTION_CAPTION_ERROR :Gwall -### Start of Goal Question button list +############ Start of Goal Question button list STR_GOAL_QUESTION_BUTTON_CANCEL :Canslo STR_GOAL_QUESTION_BUTTON_OK :Iawn STR_GOAL_QUESTION_BUTTON_NO :Na @@ -3018,6 +3066,7 @@ STR_GOAL_QUESTION_BUTTON_RESTART :Ailddechrau STR_GOAL_QUESTION_BUTTON_POSTPONE :Gohirio STR_GOAL_QUESTION_BUTTON_SURRENDER :Ildio STR_GOAL_QUESTION_BUTTON_CLOSE :Cau +############ End of Goal Question button list # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}Cymorthdaliadau @@ -3053,7 +3102,6 @@ STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}Nid oes # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} -STR_STATION_VIEW_WAITING_TITLE :{BLACK}Disgwyl: {WHITE}{STRING} STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} o {STATION}) STR_STATION_VIEW_RESERVED :{YELLOW}({CARGO_SHORT} wedi ei gadw ar gyfer llwytho) @@ -3343,10 +3391,10 @@ STR_PURCHASE_INFO_ALL_BUT :Popeth ond{CARG STR_PURCHASE_INFO_MAX_TE :{BLACK}Grym Tynnu Uchaf: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Pellter cyrhaeddiad: {GOLD}{COMMA} teil -STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Rhestr dewis trenau - cliciwch ar cerbyd am wybodaeth -STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Rhestr dewis cerbydau ffordd - cliciwch ar gerbyd am wybodaeth -STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Rhestr ddewis llongau - cliciwch ar long am wybodaeth -STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Rhestr ddewis awyrennau - cliciwch ar awyren am wybodaeth +STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Rhestr dewis trenau. Cliciwch ar gerbyd am wybodaeth. Mae Ctrl+Clicio'n toglu cuddio'r math cerbyd +STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Rhestr dewis cerbydau ffordd. Cliciwch ar gerbyd am wybodaeth. Mae Ctrl+Clicio'n toglu cuddio'r math cerbyd +STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Rhestr ddewis llongau. Cliciwch ar long am wybodaeth. Mae Ctrl+Clicio'n toglu cuddio'r math llong +STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Rhestr ddewis awyrennau. Cliciwch ar awyren am wybodaeth. Mae Ctrl+Clicio'n toglu cuddio'r math awyren STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}Prynu Cerbyd STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Prynu Cerbyd @@ -3368,6 +3416,21 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Ailenwi' STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Ailenwi'r math llong STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Ailenwi'r math awyren +STR_BUY_VEHICLE_TRAIN_HIDE_TOGGLE_BUTTON :{BLACK}Cuddio +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_TOGGLE_BUTTON :{BLACK}Cuddio +STR_BUY_VEHICLE_SHIP_HIDE_TOGGLE_BUTTON :{BLACK}Cuddio +STR_BUY_VEHICLE_AIRCRAFT_HIDE_TOGGLE_BUTTON :{BLACK}Cuddio + +STR_BUY_VEHICLE_TRAIN_SHOW_TOGGLE_BUTTON :{BLACK}Dangos +STR_BUY_VEHICLE_ROAD_VEHICLE_SHOW_TOGGLE_BUTTON :{BLACK}Dangos +STR_BUY_VEHICLE_SHIP_SHOW_TOGGLE_BUTTON :{BLACK}Dangos +STR_BUY_VEHICLE_AIRCRAFT_SHOW_TOGGLE_BUTTON :{BLACK}Dangos + +STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Toglu cuddio/arddangos math y cerbyd rheilffordd +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Toglu cuddio/arddangos math y cerbyd ffordd +STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Toglu cuddio/arddangos math y llong +STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Toglu cuddio/arddangos math yr awyren + STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}Ailenwi math y cerbyd trên STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}Ailenwi'r math cerbyd ffordd STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}Ailenwi'r math llong @@ -3421,7 +3484,7 @@ STR_DEPOT_CLONE_ROAD_VEHICLE :{BLACK}Dyblygu STR_DEPOT_CLONE_SHIP :{BLACK}Dyblygu Llong STR_DEPOT_CLONE_AIRCRAFT :{BLACK}Dyblygu Awyren -STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Bydd hyn yn prynu copi o'r trên gan gynnwys pob cerbyd. Cliciwch ar y botwm hwn ac yna ar drên sydd tu fewn neu tu allan i'r depo. Mae Ctrl+Clic yn rhannu'r gorchmynion, tra fo Shift+Clic yn dangos amcangyfrif o'r gost +STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Bydd hyn yn prynu copi o'r trên gan gynnwys pob cerbyd. Cliciwch ar y botwm hwn ac yna ar drên sydd tu fewn neu tu allan i'r depo. Bydd Ctrl+Clic yn rhannu'r gorchmynion, tra fo Shift+Clic yn dangos amcangyfrif o'r gost STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Bydd hyn yn adeiladu copi o gerbyd ffordd. Cliciwch ar y botwm hwn ac yna ar gerbyd sydd tu fewn neu tu allan i'r depo. Mae Ctrl+Clic yn rhannu'r gorchmynion, tra fo Shift+Clic yn dangos amcangyfrif o'r gost heb brynnu STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Bydd hyn yn adeiladu copi o long. Cliciwch ar y botwm hwn ac yna ar long sydd tu fewn neu tu allan i'r depo. Mae Ctrl+Clic yn rhannu'r gorchmynion, tra fo Shift+Clic yn dangos amcangyfrif o'r gost STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Bydd hyn yn adeiladu copi o awyren. Cliciwch ar y botwm hwn ac yna ar awyren sydd tu fewn neu tu allan i'r awyrendy. Mae Ctrl+Clic yn rhannu'r gorchmynion, tra fo Shift+Clic yn dangos amcangyfrif o'r gost @@ -3472,6 +3535,11 @@ STR_REPLACE_VEHICLE_ROAD_VEHICLE :Mae Cerbyd Ffor STR_REPLACE_VEHICLE_SHIP :Mae Llong STR_REPLACE_VEHICLE_AIRCRAFT :Mae Awyren +STR_REPLACE_VEHICLE_VEHICLES_IN_USE :{YELLOW}Cerbydau mewn defnydd +STR_REPLACE_VEHICLE_VEHICLES_IN_USE_TOOLTIP :{BLACK}Colofn gyda cherbydau rydych yn berchen +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES :{YELLOW}Cerbydau ar gael +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES_TOOLTIP :{BLACK}Colofn gyda cherbydau ar gael ar gyfer disodli + STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Dewiswch y math injan i'w ddisodli STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Dewiswch y math injan newydd yr hoffech chi ei ddefnyddio yn lle'r math injan ar y chwith @@ -3525,7 +3593,7 @@ STR_VEHICLE_VIEW_ROAD_VEHICLE_REFIT_TOOLTIP :{BLACK}Ailffiti STR_VEHICLE_VIEW_SHIP_REFIT_TOOLTIP :{BLACK}Ailffitio llong i gario llwyth o fath gwahanol STR_VEHICLE_VIEW_AIRCRAFT_REFIT_TOOLTIP :{BLACK}Ailffitio awyren i gario llwyth o fath gwahanol -STR_VEHICLE_VIEW_TRAIN_REVERSE_TOOLTIP :{BLACK}gwrthdroi cyfeiriad trên +STR_VEHICLE_VIEW_TRAIN_REVERSE_TOOLTIP :{BLACK}Gwrthdroi cyfeiriad trên STR_VEHICLE_VIEW_ROAD_VEHICLE_REVERSE_TOOLTIP :{BLACK}Gorfodi cerbyd i droi rownd STR_VEHICLE_VIEW_TRAIN_ORDERS_TOOLTIP :{BLACK}Dangos gorchmynion trên. Mae Ctrl+Clic yn ddangos amserlen y trên @@ -3594,9 +3662,9 @@ STR_VEHICLE_INFO_CAPACITY :{BLACK}Cynhwyse STR_VEHICLE_INFO_CAPACITY_MULT :{BLACK}Cynhwysedd: {LTBLUE}{CARGO_LONG}{3:STRING} (x{4:NUM}) STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Cynhwysedd: {LTBLUE}{CARGO_LONG}, {CARGO_LONG}{STRING} -STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Credydau Trosi: {LTBLUE}{CURRENCY_LONG} +STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Credydau Trosglwyddo: {LTBLUE}{CURRENCY_LONG} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Bwlch rhwng gwasanaeth: {LTBLUE}{COMMA}days{BLACK} Gwasanaeth diwethaf: {LTBLUE}{DATE_LONG} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Bwlch rhwng gwasanaeth: {LTBLUE}{COMMA}{NBSP}diwrnod{BLACK} Gwasanaeth diwethaf: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Bwlch rhwng gwasanaethu: {LTBLUE}{COMMA}%{BLACK} Gwasanaeth diwethaf: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Cynyddu'r bwlch rhwng gwasanaethau fesul 10. Mae Ctrl+Clic yn gostwng y bwlch rhwng gwasanaethau fesul 5. STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Gostwng y bwlch rhwng gwasanaethau fesul 10. Mae Ctrl+Clic yn gostwng y bwlch rhwng gwasanaethau fesul 5. @@ -3674,8 +3742,8 @@ STR_ORDERS_END_OF_SHARED_ORDERS :- - Diwedd y Go STR_ORDER_NON_STOP :{BLACK}Heb stop STR_ORDER_GO_TO :Mynd i STR_ORDER_GO_NON_STOP_TO :Mynd heb stop i -STR_ORDER_GO_VIA :Galw heibio -STR_ORDER_GO_NON_STOP_VIA :Myn heb stop gan alw heibio +STR_ORDER_GO_VIA :Mynd trwy +STR_ORDER_GO_NON_STOP_VIA :Mynd heb stop trwy STR_ORDER_TOOLTIP_NON_STOP :{BLACK}Newid ymddygiad stopio o'r gorchymyn a amlygwyd STR_ORDER_TOGGLE_FULL_LOAD :{BLACK}Llwyth llawn, unrhyw gargo @@ -3694,8 +3762,8 @@ STR_ORDER_TOOLTIP_UNLOAD :{BLACK}Newid ym STR_ORDER_REFIT :{BLACK}Ailffitio STR_ORDER_REFIT_TOOLTIP :{BLACK}Dewiswch y math o lwyth yr hoffech chi ailffitio gyda'r gorchymyn hwn. Cliciwch Ctrl-clic er mwyn diddymu'r cyfarwyddyd hwn. -STR_ORDER_REFIT_AUTO :{BLACK}Awto-ailffitio -STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Dewis y math o lwyth i awto-ailffitio ar ei gyfer yn y gorchymyn yma. Mae Ctrl+Clic yn tynnu'r gorchymyn. Bydd awto-ailffitio ond yn digwydd os yw'r cerbyd yn caniatáu hynny +STR_ORDER_REFIT_AUTO :{BLACK}Ailffitio mewn gorsaf +STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Dewis y math o lwyth i ailffitio ar ei gyfer yn y gorchymyn yma. Mae Ctrl+Clic yn tynnu'r gorchymyn. Bydd ailffitio ond yn digwydd os yw'r cerbyd yn caniatáu hynny STR_ORDER_DROP_REFIT_AUTO :Llwyth gosodedig STR_ORDER_DROP_REFIT_AUTO_ANY :Llwythi ar gael @@ -3749,7 +3817,7 @@ STR_ORDERS_VEH_WITH_SHARED_ORDERS_LIST_TOOLTIP :{BLACK}Dangos p # String parts to build the order string STR_ORDER_GO_TO_WAYPOINT :Mynd trwy {WAYPOINT} -STR_ORDER_GO_NON_STOP_TO_WAYPOINT :Mynd heb stopio drwy {WAYPOINT} +STR_ORDER_GO_NON_STOP_TO_WAYPOINT :Mynd heb stop trwy {WAYPOINT} STR_ORDER_SERVICE_AT :Gwasanaethu yn STR_ORDER_SERVICE_NON_STOP_AT :Gwasanaethu heb stopio yn @@ -3786,18 +3854,18 @@ STR_ORDER_NO_UNLOAD_FULL_LOAD :(Dim dadlwytho, STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY :(Dim dadlwytho, aros am unrhyw lwyth llawn) STR_ORDER_NO_UNLOAD_NO_LOAD :(Dim llwytho na dadlwytho) -STR_ORDER_AUTO_REFIT :(Awto-ailffitio i {STRING}) -STR_ORDER_FULL_LOAD_REFIT :(Llwyth llawn gan awto-ailffitio i {STRING}) -STR_ORDER_FULL_LOAD_ANY_REFIT :(Llwyth llawn o unrhyw gargo gan awto-ailffitio i {STRING}) -STR_ORDER_UNLOAD_REFIT :(Dadlwytho a llwytho gan awto-ailffitio i {STRING}) -STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(Dadlwytho ac aros am lwyth llawn o gargo gan awto-ailffitio i {STRING}) -STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(Dadlwytho ac aros am unrhyw lwyth llawn gan awto-ailffitio o {STRING}) -STR_ORDER_TRANSFER_REFIT :(Trosglwyddo a llwytho gan awto-ailffitio i {STRING}) -STR_ORDER_TRANSFER_FULL_LOAD_REFIT :(Trosglwyddo ac aros am lwyth llawn gan awto-ailffitio i {STRING}) -STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :(Trosglwyddo ac aros am unrhyw lwyth llawn gan awto-ailffitio i {STRING}) -STR_ORDER_NO_UNLOAD_REFIT :(Dim dadlwytho ond llwytho gan awto-ailffitio i {STRING}) -STR_ORDER_NO_UNLOAD_FULL_LOAD_REFIT :(Dim dadlwytho ac aros am lwyth llawn gan awto-ailffitio i {STRING}) -STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY_REFIT :(Dim dadlwytho ac aros am unrhyw lwyth llawn gan awto-ailffitio i {STRING}) +STR_ORDER_AUTO_REFIT :(Ailffitio i {STRING}) +STR_ORDER_FULL_LOAD_REFIT :(Llwyth llawn gan ailffitio i {STRING}) +STR_ORDER_FULL_LOAD_ANY_REFIT :(Llwyth llawn o unrhyw gargo gan ailffitio i {STRING}) +STR_ORDER_UNLOAD_REFIT :(Dadlwytho a llwytho gan ailffitio i {STRING}) +STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(Dadlwytho ac aros am lwyth llawn o gargo gan ailffitio i {STRING}) +STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(Dadlwytho ac aros am unrhyw lwyth llawn gan ailffitio o {STRING}) +STR_ORDER_TRANSFER_REFIT :(Trosglwyddo a llwytho gan ailffitio i {STRING}) +STR_ORDER_TRANSFER_FULL_LOAD_REFIT :(Trosglwyddo ac aros am lwyth llawn gan ailffitio i {STRING}) +STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :(Trosglwyddo ac aros am unrhyw lwyth llawn gan ailffitio i {STRING}) +STR_ORDER_NO_UNLOAD_REFIT :(Dim dadlwytho ond llwytho gan ailffitio i {STRING}) +STR_ORDER_NO_UNLOAD_FULL_LOAD_REFIT :(Dim dadlwytho ac aros am lwyth llawn gan ailffitio i {STRING}) +STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY_REFIT :(Dim dadlwytho ac aros am unrhyw lwyth llawn gan ailffitio i {STRING}) STR_ORDER_AUTO_REFIT_ANY :llwythi ar gael @@ -3826,10 +3894,14 @@ STR_TIMETABLE_TRAVEL_NOT_TIMETABLED :Teithio (heb ei STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Teithio heb oresgyn {2:VELOCITY} (heb ei amserlenu) STR_TIMETABLE_TRAVEL_FOR :Teithio am{STRING} STR_TIMETABLE_TRAVEL_FOR_SPEED :Teithio am {STRING} heb oresgyn {VELOCITY} +STR_TIMETABLE_TRAVEL_FOR_ESTIMATED :Teithio (am {STRING}, heb ei amserlennu) +STR_TIMETABLE_TRAVEL_FOR_SPEED_ESTIMATED :Teitho (am {STRING}, heb ei amserlennu) dim cyflymach na {VELOCITY} +STR_TIMETABLE_STAY_FOR_ESTIMATED :(aros am {STRING}, heb ei amserlennu) +STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(teitiho am {STRING}, heb ei amserlennu) STR_TIMETABLE_STAY_FOR :aros am {STRING} STR_TIMETABLE_AND_TRAVEL_FOR :a theithio am {STRING} -STR_TIMETABLE_DAYS :{COMMA} diwrnod -STR_TIMETABLE_TICKS :{COMMA} tic +STR_TIMETABLE_DAYS :{COMMA}{NBSP}diwrnod +STR_TIMETABLE_TICKS :{COMMA}{NBSP}tic STR_TIMETABLE_TOTAL_TIME :{BLACK}Bydd yr amserlen hon yn cymryd {STRING} i'w chwblhau STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}Bydd yr amserlen hon yn cymryd o leiaf {STRING} i'w chwblhau (heb ei hamserlennu'n llwyr) @@ -4067,6 +4139,7 @@ STR_ERROR_EXCAVATION_WOULD_DAMAGE :{WHITE}Byddai c STR_ERROR_ALREADY_AT_SEA_LEVEL :{WHITE}... eisoes ar lefel y môr STR_ERROR_TOO_HIGH :{WHITE}Rhy uchel STR_ERROR_ALREADY_LEVELLED :{WHITE}... mae eisoes yn fflat +STR_ERROR_BRIDGE_TOO_HIGH_AFTER_LOWER_LAND :{WHITE}Byddai'r bont wedyn yn rhy uchel. # Company related errors STR_ERROR_CAN_T_CHANGE_COMPANY_NAME :{WHITE}Does dim modd newid enw'r cwmni... @@ -4093,7 +4166,7 @@ STR_ERROR_TOO_CLOSE_TO_EDGE_OF_MAP_SUB :{WHITE}... rhy STR_ERROR_TOO_CLOSE_TO_ANOTHER_TOWN :{WHITE}... rhy agos i dref arall STR_ERROR_TOO_MANY_TOWNS :{WHITE}... gormod o drefi STR_ERROR_NO_SPACE_FOR_TOWN :{WHITE}... nid oes mwy o le ar y map -STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}Ni fydd y dref yn adeiladu ffyrdd. Gallwch alluogi adeiladu ffyrdd yn Gosodiadau Uwch->Economi->Trefi +STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}Ni fydd y dref yn adeiladu ffyrdd. Gallwch alluogi adeiladu ffyrdd yn Gosodiadau->Amgylchedd->Trefi STR_ERROR_ROAD_WORKS_IN_PROGRESS :{WHITE}Mae gwaith yn cael ei wneud ar y ffordd STR_ERROR_TOWN_CAN_T_DELETE :{WHITE}Methu dileu'r dref...{}Mae gorsaf neu depo sy'n cyfeirio i'r dref neu deil ym mherchnogaeth y dref na ellir ei ddileu STR_ERROR_STATUE_NO_SUITABLE_PLACE :{WHITE}... nid oes man addas i'r cerflun yn nghanol y ddinas yma @@ -4117,6 +4190,9 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... dim STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... gellir ei adeiladu uwchben yr eirlin yn unig STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... gellir ei adeiladu islaw i'r eirlin yn unig +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}Nid oedd manau addas ar gyfer diwydiannau '{STRING}' +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Newidwch y paramedrau cynhyrchu map er mwyn cael map gwell + # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Methu adeiladu gorsaf reilffordd yma... STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}Methu adeiladu gorsaf fysiau... @@ -4180,10 +4256,10 @@ STR_ERROR_CAN_T_BUILD_SHIP_DEPOT :{WHITE}Methu ad STR_ERROR_CAN_T_RENAME_DEPOT :{WHITE}Methu ailenwi depo... -STR_ERROR_TRAIN_MUST_BE_STOPPED_INSIDE_DEPOT :{WHITE}... wedi'i stopio mewn depo -STR_ERROR_ROAD_VEHICLE_MUST_BE_STOPPED_INSIDE_DEPOT :{WHITE}... rhaid iddo stopio mewn depo -STR_ERROR_SHIP_MUST_BE_STOPPED_INSIDE_DEPOT :{WHITE}... fod wedi'i stopio mewn depo -STR_ERROR_AIRCRAFT_MUST_BE_STOPPED_INSIDE_HANGAR :{WHITE}... fod wedi'i stopio mewn awyrendâi +STR_ERROR_TRAIN_MUST_BE_STOPPED_INSIDE_DEPOT :{WHITE}... nid yw wedi'i stopio mewn depo +STR_ERROR_ROAD_VEHICLE_MUST_BE_STOPPED_INSIDE_DEPOT :{WHITE}... nid yw wedi'i stopio mewn depo +STR_ERROR_SHIP_MUST_BE_STOPPED_INSIDE_DEPOT :{WHITE}... nid yw wedi'i stopio mewn depo +STR_ERROR_AIRCRAFT_MUST_BE_STOPPED_INSIDE_HANGAR :{WHITE}... nid yw wedi'i stopio mewn awyrendy STR_ERROR_TRAINS_CAN_ONLY_BE_ALTERED_INSIDE_A_DEPOT :{WHITE}Gellir newid trenau yn unig pan fyddan nhw wedi stopio tu mewn i ddepo STR_ERROR_TRAIN_TOO_LONG :{WHITE}Trên yn rhy hir @@ -4253,6 +4329,7 @@ STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Rhaid dy STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}Does dim modd cychwyn a gorffen yn yr un man STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}Nid yw dau ben y bont ar yr un lefel STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}Mae'r bont yn rhy isel ar gyfer y tirwedd +STR_ERROR_BRIDGE_TOO_HIGH_FOR_TERRAIN :{WHITE}Pont rhy uchel ar gyfer y tirwedd yma. STR_ERROR_START_AND_END_MUST_BE_IN :{WHITE}Rhaid i'r cychwyn a'r diwedd fod mewn llinell STR_ERROR_ENDS_OF_BRIDGE_MUST_BOTH :{WHITE}... rhaid i ddau ben y bont orffwys ar y tir STR_ERROR_BRIDGE_TOO_LONG :{WHITE}... pont rhy hir @@ -4817,6 +4894,7 @@ STR_COMPANY_NAME :{COMPANY} STR_COMPANY_NAME_COMPANY_NUM :{COMPANY}{COMPANY_NUM} STR_DEPOT_NAME :{DEPOT} STR_ENGINE_NAME :{ENGINE} +STR_HIDDEN_ENGINE_NAME :{ENGINE} (cudd) STR_GROUP_NAME :{GROUP} STR_INDUSTRY_NAME :{INDUSTRY} STR_PRESIDENT_NAME :{PRESIDENT_NAME} @@ -4852,8 +4930,6 @@ STR_WHITE_COMMA :{WHITE}{COMMA} STR_TINY_BLACK_DECIMAL :{TINY_FONT}{BLACK}{DECIMAL} STR_COMPANY_MONEY :{WHITE}{CURRENCY_LONG} STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG} -STR_BLACK_CROSS :{BLACK}{CROSS} -STR_SILVER_CROSS :{SILVER}{CROSS} STR_WHITE_DATE_LONG :{WHITE}{DATE_LONG} STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_DATE_LONG_SMALL :{TINY_FONT}{BLACK}{DATE_LONG} @@ -4864,9 +4940,7 @@ STR_WHITE_SIGN :{WHITE}{SIGN} STR_TINY_BLACK_STATION :{TINY_FONT}{BLACK}{STATION} STR_BLACK_STRING :{BLACK}{STRING} STR_BLACK_RAW_STRING :{BLACK}{STRING} -STR_GREEN_STRING :{GREEN}{STRING} STR_ORANGE_STRING :{ORANGE}{STRING} -STR_RED_STRING :{RED}{STRING} STR_LTBLUE_STRING :{LTBLUE}{STRING} STR_WHITE_STRING :{WHITE}{STRING} STR_ORANGE_STRING1_WHITE :{ORANGE}{STRING}{WHITE} diff --git a/src/linkgraph/demands.cpp b/src/linkgraph/demands.cpp index 80a0f56772..767bec2c9f 100644 --- a/src/linkgraph/demands.cpp +++ b/src/linkgraph/demands.cpp @@ -4,6 +4,8 @@ #include "demands.h" #include +#include "../safeguards.h" + typedef std::list NodeList; /** @@ -11,15 +13,7 @@ typedef std::list NodeList; */ class Scaler { public: - /** - * Constructor. - */ - Scaler() : demand_per_node(0) {} - void SetDemands(LinkGraphJob &job, NodeID from, NodeID to, uint demand_forw); - -protected: - uint demand_per_node; ///< Mean demand associated with each node. }; /** @@ -32,7 +26,8 @@ public: * @param mod_size Size modifier to be used. Determines how much demands * increase with the supply of the remote station. */ - inline SymmetricScaler(uint mod_size) : mod_size(mod_size), supply_sum(0) + inline SymmetricScaler(uint mod_size) : mod_size(mod_size), supply_sum(0), + demand_per_node(0) {} /** @@ -80,8 +75,9 @@ public: void SetDemands(LinkGraphJob &job, NodeID from, NodeID to, uint demand_forw); private: - uint mod_size; ///< Size modifier. Determines how much demands increase with the supply of the remote station. - uint supply_sum; ///< Sum of all supplies in the component. + uint mod_size; ///< Size modifier. Determines how much demands increase with the supply of the remote station. + uint supply_sum; ///< Sum of all supplies in the component. + uint demand_per_node; ///< Mean demand associated with each node. }; /** @@ -90,37 +86,29 @@ private: class AsymmetricScaler : public Scaler { public: /** - * Constructor. + * Nothing to do here. + * @param unused. */ - inline AsymmetricScaler() : demand_sum(0) {} - - /** - * Count a node's demand into the sum of demands. - * @param node The node to be counted. - */ - inline void AddNode(const Node &node) + inline void AddNode(const Node &) { - this->demand_sum += node.Demand(); } /** - * Calculate the mean demand per node using the sum of demands. - * @param num_demands Number of accepting nodes. + * Nothing to do here. + * @param unused. */ - inline void SetDemandPerNode(uint num_demands) + inline void SetDemandPerNode(uint) { - this->demand_per_node = max(this->demand_sum / num_demands, (uint)1); } /** - * Get the effective supply of one node towards another one. In asymmetric - * distribution the demand of the other node is weighed in. + * Get the effective supply of one node towards another one. * @param from The supplying node. - * @param to The receiving node. + * @param unused. */ - inline uint EffectiveSupply(const Node &from, const Node &to) + inline uint EffectiveSupply(const Node &from, const Node &) { - return max(from.Supply() * to.Demand() / this->demand_per_node, (uint)1); + return from.Supply(); } /** @@ -130,9 +118,6 @@ public: * @param to_anno Unused. */ inline bool HasDemandLeft(const Node &to) { return to.Demand() > 0; } - -private: - uint demand_sum; ///< Sum of all demands in the component. }; /** @@ -140,7 +125,7 @@ private: * this sets demands in both directions. * @param job The link graph job. * @param from_id The supplying node. - * @þaram to_id The receiving node. + * @param to_id The receiving node. * @param demand_forw Demand calculated for the "forward" direction. */ void SymmetricScaler::SetDemands(LinkGraphJob &job, NodeID from_id, NodeID to_id, uint demand_forw) @@ -163,7 +148,7 @@ void SymmetricScaler::SetDemands(LinkGraphJob &job, NodeID from_id, NodeID to_id * this only sets demand in the "forward" direction. * @param job The link graph job. * @param from_id The supplying node. - * @þaram to_id The receiving node. + * @param to_id The receiving node. * @param demand_forw Demand calculated for the "forward" direction. */ inline void Scaler::SetDemands(LinkGraphJob &job, NodeID from_id, NodeID to_id, uint demand_forw) @@ -225,7 +210,8 @@ void DemandCalculator::CalcDemand(LinkGraphJob &job, Tscaler scaler) /* Scale the distance by mod_dist around max_distance */ int32 distance = this->max_distance - (this->max_distance - - (int32)job[from_id][to_id].Distance()) * this->mod_dist / 100; + (int32)DistanceMaxPlusManhattan(job[from_id].XY(), job[to_id].XY())) * + this->mod_dist / 100; /* Scale the accuracy by distance around accuracy / 2 */ int32 divisor = this->accuracy * (this->mod_dist - 50) / 100 + diff --git a/src/linkgraph/flowmapper.cpp b/src/linkgraph/flowmapper.cpp index 3daab44142..4b974a809e 100644 --- a/src/linkgraph/flowmapper.cpp +++ b/src/linkgraph/flowmapper.cpp @@ -12,6 +12,8 @@ #include "../stdafx.h" #include "flowmapper.h" +#include "../safeguards.h" + /** * Map the paths generated by the MCF solver into flows associated with nodes. * @param component the link graph component to be used. diff --git a/src/linkgraph/linkgraph.cpp b/src/linkgraph/linkgraph.cpp index d41c3494d1..50945d361f 100644 --- a/src/linkgraph/linkgraph.cpp +++ b/src/linkgraph/linkgraph.cpp @@ -13,17 +13,21 @@ #include "../core/pool_func.hpp" #include "linkgraph.h" +#include "../safeguards.h" + /* Initialize the link-graph-pool */ LinkGraphPool _link_graph_pool("LinkGraph"); INSTANTIATE_POOL_METHODS(LinkGraph) /** * Create a node or clear it. + * @param xy Location of the associated station. * @param st ID of the associated station. * @param demand Demand for cargo at the station. */ -inline void LinkGraph::BaseNode::Init(StationID st, uint demand) +inline void LinkGraph::BaseNode::Init(TileIndex xy, StationID st, uint demand) { + this->xy = xy; this->supply = 0; this->demand = demand; this->station = st; @@ -32,11 +36,9 @@ inline void LinkGraph::BaseNode::Init(StationID st, uint demand) /** * Create an edge. - * @param distance Length of the link as manhattan distance. */ -inline void LinkGraph::BaseEdge::Init(uint distance) +inline void LinkGraph::BaseEdge::Init() { - this->distance = distance; this->capacity = 0; this->usage = 0; this->last_unrestricted_update = INVALID_DATE; @@ -144,21 +146,6 @@ void LinkGraph::RemoveNode(NodeID id) * been copied around in the loop above. */ } -/** - * Update distances between the given node and all others. - * @param id Node that changed position. - * @param xy New position of the node. - */ -void LinkGraph::UpdateDistances(NodeID id, TileIndex xy) -{ - assert(id < this->Size()); - for (NodeID other = 0; other < this->Size(); ++other) { - if (other == id) continue; - this->edges[id][other].distance = this->edges[other][id].distance = - DistanceMaxPlusManhattan(xy, Station::Get(this->nodes[other].station)->xy); - } -} - /** * Add a node to the component and create empty edges associated with it. Set * the station's last_component to this component. Calculate the distances to all @@ -178,8 +165,8 @@ NodeID LinkGraph::AddNode(const Station *st) this->edges.Resize(new_node + 1U, max(new_node + 1U, this->edges.Height())); - this->nodes[new_node].Init(st->index, - HasBit(good.acceptance_pickup, GoodsEntry::GES_ACCEPTANCE)); + this->nodes[new_node].Init(st->xy, st->index, + HasBit(good.status, GoodsEntry::GES_ACCEPTANCE)); BaseEdge *new_edges = this->edges[new_node]; @@ -187,55 +174,48 @@ NodeID LinkGraph::AddNode(const Station *st) new_edges[new_node].next_edge = INVALID_NODE; for (NodeID i = 0; i <= new_node; ++i) { - uint distance = DistanceMaxPlusManhattan(st->xy, Station::Get(this->nodes[i].station)->xy); - new_edges[i].Init(distance); - this->edges[i][new_node].Init(distance); + new_edges[i].Init(); + this->edges[i][new_node].Init(); } return new_node; } /** - * Fill an edge with values from a link. If usage < capacity set the usage, - * otherwise set the restricted or unrestricted update timestamp. + * Fill an edge with values from a link. Set the restricted or unrestricted + * update timestamp according to the given update mode. * @param to Destination node of the link. * @param capacity Capacity of the link. - * @param usage Usage to be added or REFRESH_UNRESTRICTED or REFRESH_RESTRICTED. + * @param usage Usage to be added. + * @param mode Update mode to be used. */ -void LinkGraph::Node::AddEdge(NodeID to, uint capacity, uint usage) +void LinkGraph::Node::AddEdge(NodeID to, uint capacity, uint usage, EdgeUpdateMode mode) { assert(this->index != to); BaseEdge &edge = this->edges[to]; BaseEdge &first = this->edges[this->index]; edge.capacity = capacity; + edge.usage = usage; edge.next_edge = first.next_edge; first.next_edge = to; - switch (usage) { - case REFRESH_UNRESTRICTED: - edge.last_unrestricted_update = _date; - break; - case REFRESH_RESTRICTED: - edge.last_restricted_update = _date; - break; - default: - edge.usage = usage; - break; - } + if (mode & EUM_UNRESTRICTED) edge.last_unrestricted_update = _date; + if (mode & EUM_RESTRICTED) edge.last_restricted_update = _date; } /** * Creates an edge if none exists yet or updates an existing edge. * @param to Target node. * @param capacity Capacity of the link. - * @param usage Usage to be added or REFRESH_UNRESTRICTED or REFRESH_RESTRICTED. + * @param usage Usage to be added. + * @param mode Update mode to be used. */ -void LinkGraph::Node::UpdateEdge(NodeID to, uint capacity, uint usage) +void LinkGraph::Node::UpdateEdge(NodeID to, uint capacity, uint usage, EdgeUpdateMode mode) { assert(capacity > 0); - assert(usage <= capacity || usage == REFRESH_RESTRICTED || usage == REFRESH_UNRESTRICTED); + assert(usage <= capacity); if (this->edges[to].capacity == 0) { - this->AddEdge(to, capacity, usage); + this->AddEdge(to, capacity, usage, mode); } else { - (*this)[to].Update(capacity, usage); + (*this)[to].Update(capacity, usage, mode); } } @@ -268,34 +248,30 @@ void LinkGraph::Node::RemoveEdge(NodeID to) } /** - * Create a new edge or update an existing one. If usage is REFRESH_UNRESTRICTED - * or REFRESH_RESTRICTED refresh the edge to have at least the given capacity - * and also update the respective update timestamp, otherwise add the capacity. + * Update an edge. If mode contains UM_REFRESH refresh the edge to have at + * least the given capacity and usage, otherwise add the capacity and usage. + * In any case set the respective update timestamp(s), according to the given + * mode. * @param from Start node of the edge. * @param to End node of the edge. * @param capacity Capacity to be added/updated. - * @param usage Usage to be added or REFRESH_UNRESTRICTED or REFRESH_RESTRICTED. + * @param usage Usage to be added. + * @param mode Update mode to be applied. */ -void LinkGraph::Edge::Update(uint capacity, uint usage) +void LinkGraph::Edge::Update(uint capacity, uint usage, EdgeUpdateMode mode) { assert(this->edge.capacity > 0); - if (usage > capacity) { - this->edge.capacity = max(this->edge.capacity, capacity); - switch (usage) { - case REFRESH_UNRESTRICTED: - this->edge.last_unrestricted_update = _date; - break; - case REFRESH_RESTRICTED: - this->edge.last_restricted_update = _date; - break; - default: - NOT_REACHED(); - break; - } - } else { + assert(capacity >= usage); + + if (mode & EUM_INCREASE) { this->edge.capacity += capacity; this->edge.usage += usage; + } else if (mode & EUM_REFRESH) { + this->edge.capacity = max(this->edge.capacity, capacity); + this->edge.usage = max(this->edge.usage, usage); } + if (mode & EUM_UNRESTRICTED) this->edge.last_unrestricted_update = _date; + if (mode & EUM_RESTRICTED) this->edge.last_restricted_update = _date; } /** diff --git a/src/linkgraph/linkgraph.h b/src/linkgraph/linkgraph.h index 4306ad2b3d..799f22c780 100644 --- a/src/linkgraph/linkgraph.h +++ b/src/linkgraph/linkgraph.h @@ -40,22 +40,6 @@ extern LinkGraphPool _link_graph_pool; class LinkGraph : public LinkGraphPool::PoolItem<&_link_graph_pool> { public: - /** - * Special modes for updating links. 'Restricted' means that vehicles with - * 'no loading' orders are serving the link. If a link is only served by - * such vehicles it's 'fully restricted'. This means the link can be used - * by cargo arriving in such vehicles, but not by cargo generated or - * transferring at the source station of the link. In order to find out - * about this condition we keep two update timestamps in each link, one for - * the restricted and one for the unrestricted part of it. If either one - * times out while the other is still valid the link becomes fully - * restricted or fully unrestricted, respectively. - */ - enum UpdateMode { - REFRESH_RESTRICTED = UINT_MAX - 1, ///< Refresh restricted link. - REFRESH_UNRESTRICTED = UINT_MAX ///< Refresh unrestricted link. - }; - /** * Node of the link graph. contains all relevant information from the associated * station. It's copied so that the link graph job can work on its own data set @@ -65,8 +49,9 @@ public: uint supply; ///< Supply at the station. uint demand; ///< Acceptance at the station. StationID station; ///< Station ID. + TileIndex xy; ///< Location of the station referred to by the node. Date last_update; ///< When the supply was last updated. - void Init(StationID st = INVALID_STATION, uint demand = 0); + void Init(TileIndex xy = INVALID_TILE, StationID st = INVALID_STATION, uint demand = 0); }; /** @@ -76,13 +61,12 @@ public: * the column as next_edge. */ struct BaseEdge { - uint distance; ///< Length of the link. uint capacity; ///< Capacity of the link. uint usage; ///< Usage of the link. Date last_unrestricted_update; ///< When the unrestricted part of the link was last updated. Date last_restricted_update; ///< When the restricted part of the link was last updated. NodeID next_edge; ///< Destination of next valid edge starting at the same source node. - void Init(uint distance = 0); + void Init(); }; /** @@ -114,12 +98,6 @@ public: */ uint Usage() const { return this->edge.usage; } - /** - * Get edge's distance. - * @return Distance. - */ - uint Distance() const { return this->edge.distance; } - /** * Get the date of the last update to the edge's unrestricted capacity. * @return Last update. @@ -185,6 +163,12 @@ public: * @return Last update. */ Date LastUpdate() const { return this->node.last_update; } + + /** + * Get the location of the station associated with the node. + * @return Location of the station. + */ + TileIndex XY() const { return this->node.xy; } }; /** @@ -313,7 +297,7 @@ public: * @param edge Edge to be wrapped. */ Edge(BaseEdge &edge) : EdgeWrapper(edge) {} - void Update(uint capacity, uint usage); + void Update(uint capacity, uint usage, EdgeUpdateMode mode); void Restrict() { this->edge.last_unrestricted_update = INVALID_DATE; } void Release() { this->edge.last_restricted_update = INVALID_DATE; } }; @@ -428,6 +412,15 @@ public: this->node.last_update = _date; } + /** + * Update the node's location on the map. + * @param xy New location. + */ + void UpdateLocation(TileIndex xy) + { + this->node.xy = xy; + } + /** * Set the node's demand. * @param demand New demand for the node. @@ -437,8 +430,8 @@ public: this->node.demand = demand; } - void AddEdge(NodeID to, uint capacity, uint usage = 0); - void UpdateEdge(NodeID to, uint capacity, uint usage = 0); + void AddEdge(NodeID to, uint capacity, uint usage, EdgeUpdateMode mode); + void UpdateEdge(NodeID to, uint capacity, uint usage, EdgeUpdateMode mode); void RemoveEdge(NodeID to); }; @@ -529,7 +522,6 @@ public: NodeID AddNode(const Station *st); void RemoveNode(NodeID id); - void UpdateDistances(NodeID id, TileIndex xy); protected: friend class LinkGraph::ConstNode; diff --git a/src/linkgraph/linkgraph_gui.cpp b/src/linkgraph/linkgraph_gui.cpp index f75f602ab5..1fe34fe79c 100644 --- a/src/linkgraph/linkgraph_gui.cpp +++ b/src/linkgraph/linkgraph_gui.cpp @@ -22,6 +22,8 @@ #include "table/strings.h" +#include "../safeguards.h" + /** * Colours for the various "load" states of links. Ordered from "unused" to * "overloaded". @@ -150,7 +152,7 @@ void LinkGraphOverlay::AddLinks(const Station *from, const Station *to) ConstEdge edge = lg[ge.node][to->goods[c].node]; if (edge.Capacity() > 0) { this->AddStats(lg.Monthly(edge.Capacity()), lg.Monthly(edge.Usage()), - ge.GetSumFlowVia(to->index), from->owner == OWNER_NONE || to->owner == OWNER_NONE, + ge.flows.GetFlowVia(to->index), from->owner == OWNER_NONE || to->owner == OWNER_NONE, this->cached_links[from->index][to->index]); } } diff --git a/src/linkgraph/linkgraph_type.h b/src/linkgraph/linkgraph_type.h index 3304618410..6a3239b089 100644 --- a/src/linkgraph/linkgraph_type.h +++ b/src/linkgraph/linkgraph_type.h @@ -39,4 +39,26 @@ enum DistributionType { template <> struct EnumPropsT : MakeEnumPropsT {}; typedef TinyEnumT DistributionTypeByte; // typedefing-enumification of DistributionType +/** + * Special modes for updating links. 'Restricted' means that vehicles with + * 'no loading' orders are serving the link. If a link is only served by + * such vehicles it's 'fully restricted'. This means the link can be used + * by cargo arriving in such vehicles, but not by cargo generated or + * transferring at the source station of the link. In order to find out + * about this condition we keep two update timestamps in each link, one for + * the restricted and one for the unrestricted part of it. If either one + * times out while the other is still valid the link becomes fully + * restricted or fully unrestricted, respectively. + * Refreshing a link makes just sure a minimum capacity is kept. Increasing + * actually adds the given capacity. + */ +enum EdgeUpdateMode { + EUM_INCREASE = 1, ///< Increase capacity. + EUM_REFRESH = 1 << 1, ///< Refresh capacity. + EUM_RESTRICTED = 1 << 2, ///< Use restricted link. + EUM_UNRESTRICTED = 1 << 3, ///< Use unrestricted link. +}; + +DECLARE_ENUM_AS_BIT_SET(EdgeUpdateMode) + #endif /* LINKGRAPH_TYPE_H */ diff --git a/src/linkgraph/linkgraphjob.cpp b/src/linkgraph/linkgraphjob.cpp index 61e3136167..20cbf3f64d 100644 --- a/src/linkgraph/linkgraphjob.cpp +++ b/src/linkgraph/linkgraphjob.cpp @@ -15,10 +15,19 @@ #include "linkgraphjob.h" #include "linkgraphschedule.h" +#include "../safeguards.h" + /* Initialize the link-graph-job-pool */ LinkGraphJobPool _link_graph_job_pool("LinkGraphJob"); INSTANTIATE_POOL_METHODS(LinkGraphJob) +/** + * Static instance of an invalid path. + * Note: This instance is created on task start. + * Lazy creation on first usage results in a data race between the CDist threads. + */ +/* static */ Path *Path::invalid_path = new Path(INVALID_NODE, true); + /** * Create a link graph job from a link graph. The link graph will be copied so * that the calculations don't interfer with the normal operations on the diff --git a/src/linkgraph/linkgraphjob.h b/src/linkgraph/linkgraphjob.h index 00b65f2086..b4587a7842 100644 --- a/src/linkgraph/linkgraphjob.h +++ b/src/linkgraph/linkgraphjob.h @@ -343,6 +343,8 @@ public: */ class Path { public: + static Path *invalid_path; + Path(NodeID n, bool source = false); /** Get the node this leg passes. */ diff --git a/src/linkgraph/linkgraphschedule.cpp b/src/linkgraph/linkgraphschedule.cpp index 4e6f332662..a65783a5e7 100644 --- a/src/linkgraph/linkgraphschedule.cpp +++ b/src/linkgraph/linkgraphschedule.cpp @@ -16,6 +16,15 @@ #include "mcf.h" #include "flowmapper.h" +#include "../safeguards.h" + +/** + * Static instance of LinkGraphSchedule. + * Note: This instance is created on task start. + * Lazy creation on first usage results in a data race between the CDist threads. + */ +/* static */ LinkGraphSchedule LinkGraphSchedule::instance; + /** * Start the next job in the schedule. */ @@ -66,9 +75,8 @@ void LinkGraphSchedule::JoinNext() /* static */ void LinkGraphSchedule::Run(void *j) { LinkGraphJob *job = (LinkGraphJob *)j; - LinkGraphSchedule *schedule = LinkGraphSchedule::Instance(); - for (uint i = 0; i < lengthof(schedule->handlers); ++i) { - schedule->handlers[i]->Run(*job); + for (uint i = 0; i < lengthof(instance.handlers); ++i) { + instance.handlers[i]->Run(*job); } } @@ -88,12 +96,11 @@ void LinkGraphSchedule::SpawnAll() */ /* static */ void LinkGraphSchedule::Clear() { - LinkGraphSchedule *inst = LinkGraphSchedule::Instance(); - for (JobList::iterator i(inst->running.begin()); i != inst->running.end(); ++i) { + for (JobList::iterator i(instance.running.begin()); i != instance.running.end(); ++i) { (*i)->JoinThread(); } - inst->running.clear(); - inst->schedule.clear(); + instance.running.clear(); + instance.schedule.clear(); } /** @@ -133,15 +140,6 @@ LinkGraphSchedule::~LinkGraphSchedule() } } -/** - * Retrieve the link graph schedule or create it if necessary. - */ -/* static */ LinkGraphSchedule *LinkGraphSchedule::Instance() -{ - static LinkGraphSchedule inst; - return &inst; -} - /** * Spawn or join a link graph job or compress a link graph if any link graph is * due to do so. @@ -151,9 +149,9 @@ void OnTick_LinkGraph() if (_date_fract != LinkGraphSchedule::SPAWN_JOIN_TICK) return; Date offset = _date % _settings_game.linkgraph.recalc_interval; if (offset == 0) { - LinkGraphSchedule::Instance()->SpawnNext(); + LinkGraphSchedule::instance.SpawnNext(); } else if (offset == _settings_game.linkgraph.recalc_interval / 2) { - LinkGraphSchedule::Instance()->JoinNext(); + LinkGraphSchedule::instance.JoinNext(); } } diff --git a/src/linkgraph/linkgraphschedule.h b/src/linkgraph/linkgraphschedule.h index 5d1871962c..ec22be3161 100644 --- a/src/linkgraph/linkgraphschedule.h +++ b/src/linkgraph/linkgraphschedule.h @@ -51,8 +51,8 @@ protected: public: /* This is a tick where not much else is happening, so a small lag might go unnoticed. */ static const uint SPAWN_JOIN_TICK = 21; ///< Tick when jobs are spawned or joined every day. + static LinkGraphSchedule instance; - static LinkGraphSchedule *Instance(); static void Run(void *j); static void Clear(); diff --git a/src/linkgraph/mcf.cpp b/src/linkgraph/mcf.cpp index af9f6ce5fb..6fed7adead 100644 --- a/src/linkgraph/mcf.cpp +++ b/src/linkgraph/mcf.cpp @@ -5,6 +5,8 @@ #include "mcf.h" #include +#include "../safeguards.h" + typedef std::map PathViaMap; /** @@ -146,15 +148,14 @@ public: */ void SetNode(NodeID source, NodeID node) { - static const FlowStat::SharesMap empty; const FlowStatMap &flows = this->job[node].Flows(); FlowStatMap::const_iterator it = flows.find(this->job[source].Station()); if (it != flows.end()) { this->it = it->second.GetShares()->begin(); this->end = it->second.GetShares()->end(); } else { - this->it = empty.begin(); - this->end = empty.end(); + this->it = FlowStat::empty_sharesmap.begin(); + this->end = FlowStat::empty_sharesmap.end(); } } @@ -257,7 +258,6 @@ void MultiCommodityFlow::Dijkstra(NodeID source_node, PathVector &paths) for (NodeID to = iter.Next(); to != INVALID_NODE; to = iter.Next()) { if (to == from) continue; // Not a real edge but a consumption sign. Edge edge = this->job[from][to]; - assert(edge.Distance() < UINT_MAX); uint capacity = edge.Capacity(); if (this->max_saturation != UINT_MAX) { capacity *= this->max_saturation; @@ -265,7 +265,7 @@ void MultiCommodityFlow::Dijkstra(NodeID source_node, PathVector &paths) if (capacity == 0) capacity = 1; } /* punish in-between stops a little */ - uint distance = edge.Distance() + 1; + uint distance = DistanceMaxPlusManhattan(this->job[from].XY(), this->job[to].XY()) + 1; Tannotation *dest = static_cast(paths[to]); if (dest->IsBetter(source, capacity, capacity - edge.Flow(), distance)) { annos.erase(dest); @@ -310,7 +310,7 @@ void MultiCommodityFlow::CleanupPaths(NodeID source_id, PathVector &paths) * @param path End of the path the flow should be pushed on. * @param accuracy Accuracy of the calculation. * @param max_saturation If < UINT_MAX only push flow up to the given - * saturation, otherwise the path can be "overloaded". + * saturation, otherwise the path can be "overloaded". */ uint MultiCommodityFlow::PushFlow(Edge &edge, Path *path, uint accuracy, uint max_saturation) @@ -378,11 +378,10 @@ void MCF1stPass::EliminateCycle(PathVector &path, Path *cycle_begin, uint flow) */ bool MCF1stPass::EliminateCycles(PathVector &path, NodeID origin_id, NodeID next_id) { - static Path *invalid_path = new Path(INVALID_NODE, true); Path *at_next_pos = path[next_id]; /* this node has already been searched */ - if (at_next_pos == invalid_path) return false; + if (at_next_pos == Path::invalid_path) return false; if (at_next_pos == NULL) { /* Summarize paths; add up the paths with the same source and next hop @@ -430,7 +429,7 @@ bool MCF1stPass::EliminateCycles(PathVector &path, NodeID origin_id, NodeID next * could be found in this branch, thus it has to be searched again next * time we spot it. */ - path[next_id] = found ? NULL : invalid_path; + path[next_id] = found ? NULL : Path::invalid_path; return found; } diff --git a/src/linkgraph/refresh.cpp b/src/linkgraph/refresh.cpp index 921f5d7b8d..02f27f40c1 100644 --- a/src/linkgraph/refresh.cpp +++ b/src/linkgraph/refresh.cpp @@ -17,12 +17,15 @@ #include "refresh.h" #include "linkgraph.h" +#include "../safeguards.h" + /** * Refresh all links the given vehicle will visit. * @param v Vehicle to refresh links for. * @param allow_merge If the refresher is allowed to merge or extend link graphs. + * @param is_full_loading If the vehicle is full loading. */ -/* static */ void LinkRefresher::Run(Vehicle *v, bool allow_merge) +/* static */ void LinkRefresher::Run(Vehicle *v, bool allow_merge, bool is_full_loading) { /* If there are no orders we can't predict anything.*/ if (v->orders.list == NULL) return; @@ -32,7 +35,7 @@ if (first == NULL) return; HopSet seen_hops; - LinkRefresher refresher(v, &seen_hops, allow_merge); + LinkRefresher refresher(v, &seen_hops, allow_merge, is_full_loading); refresher.RefreshLinks(first, first, v->last_loading_station != INVALID_STATION ? 1 << HAS_CARGO : 0); } @@ -63,9 +66,11 @@ bool LinkRefresher::Hop::operator<(const Hop &other) const * @param seen_hops Set of hops already seen. This is shared between this * refresher and all its children. * @param allow_merge If the refresher is allowed to merge or extend link graphs. + * @param is_full_loading If the vehicle is full loading. */ -LinkRefresher::LinkRefresher(Vehicle *vehicle, HopSet *seen_hops, bool allow_merge) : - vehicle(vehicle), seen_hops(seen_hops), cargo(CT_INVALID), allow_merge(allow_merge) +LinkRefresher::LinkRefresher(Vehicle *vehicle, HopSet *seen_hops, bool allow_merge, bool is_full_loading) : + vehicle(vehicle), seen_hops(seen_hops), cargo(CT_INVALID), allow_merge(allow_merge), + is_full_loading(is_full_loading) { /* Assemble list of capacities and set last loading stations to 0. */ for (Vehicle *v = this->vehicle; v != NULL; v = v->Next()) { @@ -76,18 +81,21 @@ LinkRefresher::LinkRefresher(Vehicle *vehicle, HopSet *seen_hops, bool allow_mer /** * Handle refit orders by updating capacities and refit_capacities. - * @param next Order to be processed. + * @param refit_cargo Cargo to refit to. + * @return True if any vehicle was refit; false if none was. */ -void LinkRefresher::HandleRefit(const Order *next) +bool LinkRefresher::HandleRefit(CargoID refit_cargo) { - this->cargo = next->GetRefitCargo(); + this->cargo = refit_cargo; RefitList::iterator refit_it = this->refit_capacities.begin(); + bool any_refit = false; for (Vehicle *v = this->vehicle; v != NULL; v = v->Next()) { const Engine *e = Engine::Get(v->engine_type); if (!HasBit(e->info.refit_mask, this->cargo)) { ++refit_it; continue; } + any_refit = true; /* Back up the vehicle's cargo type */ CargoID temp_cid = v->cargo_type; @@ -125,6 +133,7 @@ void LinkRefresher::HandleRefit(const Order *next) break; // aircraft have only one vehicle } } + return any_refit; } /** @@ -203,10 +212,32 @@ void LinkRefresher::RefreshStats(const Order *cur, const Order *next) continue; } - /* A link is at least partly restricted if a - * vehicle can't load at its source. */ - IncreaseStats(st, c, next_station, i->second, - (cur->GetLoadType() & OLFB_NO_LOAD) == 0 ? LinkGraph::REFRESH_UNRESTRICTED : LinkGraph::REFRESH_RESTRICTED); + /* A link is at least partly restricted if a vehicle can't load at its source. */ + EdgeUpdateMode restricted_mode = (cur->GetLoadType() & OLFB_NO_LOAD) == 0 ? + EUM_UNRESTRICTED : EUM_RESTRICTED; + + /* If the vehicle is currently full loading, increase the capacities at the station + * where it is loading by an estimate of what it would have transported if it wasn't + * loading. Don't do that if the vehicle has been waiting for longer than the entire + * order list is supposed to take, though. If that is the case the total duration is + * probably far off and we'd greatly overestimate the capacity by increasing.*/ + if (this->is_full_loading && this->vehicle->orders.list != NULL && + st->index == vehicle->last_station_visited && + this->vehicle->orders.list->GetTotalDuration() > + (Ticks)this->vehicle->current_order_time) { + uint effective_capacity = i->second * this->vehicle->load_unload_ticks; + if (effective_capacity > (uint)this->vehicle->orders.list->GetTotalDuration()) { + IncreaseStats(st, c, next_station, effective_capacity / + this->vehicle->orders.list->GetTotalDuration(), 0, + EUM_INCREASE | restricted_mode); + } else if (RandomRange(this->vehicle->orders.list->GetTotalDuration()) < effective_capacity) { + IncreaseStats(st, c, next_station, 1, 0, EUM_INCREASE | restricted_mode); + } else { + IncreaseStats(st, c, next_station, i->second, 0, EUM_REFRESH | restricted_mode); + } + } else { + IncreaseStats(st, c, next_station, i->second, 0, EUM_REFRESH | restricted_mode); + } } } } @@ -226,15 +257,20 @@ void LinkRefresher::RefreshLinks(const Order *cur, const Order *next, uint8 flag { while (next != NULL) { - /* If the refit cargo is CT_AUTO_REFIT, we're optimistic and assume the - * cargo will stay the same. The point of this method is to avoid - * deadlocks due to vehicles waiting for cargo that isn't being routed, - * yet. That situation will not occur if the vehicle is actually - * carrying a different cargo in the end. */ - if ((next->IsType(OT_GOTO_DEPOT) || next->IsType(OT_GOTO_STATION)) && - next->IsRefit() && !next->IsAutoRefit()) { + if ((next->IsType(OT_GOTO_DEPOT) || next->IsType(OT_GOTO_STATION)) && next->IsRefit()) { SetBit(flags, WAS_REFIT); - this->HandleRefit(next); + if (!next->IsAutoRefit()) { + this->HandleRefit(next->GetRefitCargo()); + } else if (!HasBit(flags, IN_AUTOREFIT)) { + SetBit(flags, IN_AUTOREFIT); + LinkRefresher backup(*this); + for (CargoID c = 0; c != NUM_CARGO; ++c) { + if (CargoSpec::Get(c)->IsValid() && this->HandleRefit(c)) { + this->RefreshLinks(cur, next, flags, num_hops); + *this = backup; + } + } + } } /* Only reset the refit capacities if the "previous" next is a station, diff --git a/src/linkgraph/refresh.h b/src/linkgraph/refresh.h index 6f3f8f9b65..496729df7f 100644 --- a/src/linkgraph/refresh.h +++ b/src/linkgraph/refresh.h @@ -23,7 +23,7 @@ */ class LinkRefresher { public: - static void Run(Vehicle *v, bool allow_merge = true); + static void Run(Vehicle *v, bool allow_merge = true, bool is_full_loading = false); protected: /** @@ -31,10 +31,11 @@ protected: * an influence on the next one. */ enum RefreshFlags { - USE_NEXT, ///< There was a conditional jump. Try to use the given next order when looking for a new one. - HAS_CARGO, ///< Consist could leave the last stop where it could interact with cargo carrying cargo (i.e. not an "unload all" + "no loading" order). - WAS_REFIT, ///< Consist was refit since the last stop where it could interact with cargo. - RESET_REFIT ///< Consist had a chance to load since the last refit and the refit capacities can be reset. + USE_NEXT, ///< There was a conditional jump. Try to use the given next order when looking for a new one. + HAS_CARGO, ///< Consist could leave the last stop where it could interact with cargo carrying cargo (i.e. not an "unload all" + "no loading" order). + WAS_REFIT, ///< Consist was refit since the last stop where it could interact with cargo. + RESET_REFIT, ///< Consist had a chance to load since the last refit and the refit capacities can be reset. + IN_AUTOREFIT, ///< Currently doing an autorefit loop. Ignore the first autorefit order. }; /** @@ -88,10 +89,11 @@ protected: HopSet *seen_hops; ///< Hops already seen. If the same hop is seen twice we stop the algorithm. This is shared between all Refreshers of the same run. CargoID cargo; ///< Cargo given in last refit order. bool allow_merge; ///< If the refresher is allowed to merge or extend link graphs. + bool is_full_loading; ///< If the vehicle is full loading. - LinkRefresher(Vehicle *v, HopSet *seen_hops, bool allow_merge); + LinkRefresher(Vehicle *v, HopSet *seen_hops, bool allow_merge, bool is_full_loading); - void HandleRefit(const Order *next); + bool HandleRefit(CargoID refit_cargo); void ResetRefit(); void RefreshStats(const Order *cur, const Order *next); const Order *PredictNextOrder(const Order *cur, const Order *next, uint8 flags, uint num_hops = 0); @@ -99,4 +101,4 @@ protected: void RefreshLinks(const Order *cur, const Order *next, uint8 flags, uint num_hops = 0); }; -#endif // REFRESH_H +#endif /* REFRESH_H */ diff --git a/src/main_gui.cpp b/src/main_gui.cpp index 9d13deef66..cdef1e6a6e 100644 --- a/src/main_gui.cpp +++ b/src/main_gui.cpp @@ -45,6 +45,8 @@ #include "table/sprites.h" #include "table/strings.h" +#include "safeguards.h" + static int _rename_id = 1; static int _rename_what = -1; diff --git a/src/map.cpp b/src/map.cpp index 1ee0ba247c..252f20b607 100644 --- a/src/map.cpp +++ b/src/map.cpp @@ -13,6 +13,9 @@ #include "debug.h" #include "core/alloc_func.hpp" #include "water_map.h" +#include "string_func.h" + +#include "safeguards.h" #if defined(_MSC_VER) /* Why the hell is that not in all MSVC headers?? */ @@ -82,7 +85,7 @@ TileIndex TileAdd(TileIndex tile, TileIndexDiff add, if (x >= MapSizeX() || y >= MapSizeY()) { char buf[512]; - snprintf(buf, lengthof(buf), "TILE_ADD(%s) when adding 0x%.4X and 0x%.4X failed", + seprintf(buf, lastof(buf), "TILE_ADD(%s) when adding 0x%.4X and 0x%.4X failed", exp, tile, add); #if !defined(_MSC_VER) || defined(WINCE) fprintf(stderr, "%s:%d %s\n", file, line, buf); diff --git a/src/map_type.h b/src/map_type.h index 3add9e64a8..620885e5da 100644 --- a/src/map_type.h +++ b/src/map_type.h @@ -17,20 +17,23 @@ * Look at docs/landscape.html for the exact meaning of the members. */ struct Tile { - byte type_height; ///< The type (bits 4..7) and height of the northern corner - byte m1; ///< Primarily used for ownership information + byte type; ///< The type (bits 4..7), bridges (2..3), rainforest/desert (0..1) + byte height; ///< The height of the northern corner. uint16 m2; ///< Primarily used for indices to towns, industries and stations + byte m1; ///< Primarily used for ownership information byte m3; ///< General purpose byte m4; ///< General purpose byte m5; ///< General purpose - byte m6; ///< Primarily used for bridges and rainforest/desert }; +assert_compile(sizeof(Tile) == 8); + /** * Data that is stored per tile. Also used Tile for this. * Look at docs/landscape.html for the exact meaning of the members. */ struct TileExtended { + byte m6; ///< General purpose byte m7; ///< Primarily used for newgrf support }; diff --git a/src/misc.cpp b/src/misc.cpp index 11607a5f1d..d9d506993f 100644 --- a/src/misc.cpp +++ b/src/misc.cpp @@ -29,6 +29,8 @@ #include "game/game.hpp" #include "linkgraph/linkgraphschedule.h" +#include "safeguards.h" + extern TileIndex _cur_tileloop_tile; extern void MakeNewgameSettingsLive(); diff --git a/src/misc/countedobj.cpp b/src/misc/countedobj.cpp index 228b35e82a..28f614afab 100644 --- a/src/misc/countedobj.cpp +++ b/src/misc/countedobj.cpp @@ -13,6 +13,8 @@ #include "countedptr.hpp" +#include "../safeguards.h" + int32 SimpleCountedObject::AddRef() { return ++m_ref_cnt; diff --git a/src/misc/dbg_helpers.cpp b/src/misc/dbg_helpers.cpp index f87070fa0d..a80230de1c 100644 --- a/src/misc/dbg_helpers.cpp +++ b/src/misc/dbg_helpers.cpp @@ -13,6 +13,8 @@ #include "../rail_map.h" #include "dbg_helpers.h" +#include "../safeguards.h" + /** Trackdir & TrackdirBits short names. */ static const char * const trackdir_names[] = { "NE", "SE", "UE", "LE", "LS", "RS", "rne", "rse", diff --git a/src/misc/getoptdata.cpp b/src/misc/getoptdata.cpp index 6ca9a1bfc6..7859594dd9 100644 --- a/src/misc/getoptdata.cpp +++ b/src/misc/getoptdata.cpp @@ -12,6 +12,8 @@ #include "../stdafx.h" #include "getoptdata.h" +#include "../safeguards.h" + /** * Find the next option. * @return Function returns one diff --git a/src/misc/str.hpp b/src/misc/str.hpp index b109b4e82f..b982913fc2 100644 --- a/src/misc/str.hpp +++ b/src/misc/str.hpp @@ -100,7 +100,7 @@ struct CStrA : public CBlobT int err = 0; for (;;) { char *buf = MakeFreeSpace(addSize); - ret = vsnprintf(buf, base::GetReserve(), format, args); + ret = vseprintf(buf, buf + base::GetReserve() - 1, format, args); if (ret >= (int)base::GetReserve()) { /* Greater return than given count means needed buffer size. */ addSize = ret + 1; diff --git a/src/misc_cmd.cpp b/src/misc_cmd.cpp index c35ccc8f82..e7da13c7aa 100644 --- a/src/misc_cmd.cpp +++ b/src/misc_cmd.cpp @@ -25,6 +25,8 @@ #include "table/strings.h" +#include "safeguards.h" + /** * Increase the loan of your company. * @param tile unused diff --git a/src/misc_gui.cpp b/src/misc_gui.cpp index 55bef30e34..62da50b966 100644 --- a/src/misc_gui.cpp +++ b/src/misc_gui.cpp @@ -25,11 +25,14 @@ #include "querystring_gui.h" #include "core/geometry_func.hpp" #include "newgrf_debug.h" +#include "zoom_func.h" #include "widgets/misc_widget.h" #include "table/strings.h" +#include "safeguards.h" + /** Method to open the OSK. */ enum OskActivation { OSKA_DISABLED, ///< The OSK shall not be activated at all. @@ -120,14 +123,15 @@ public: # define LANDINFOD_LEVEL 1 #endif DEBUG(misc, LANDINFOD_LEVEL, "TILE: %#x (%i,%i)", tile, TileX(tile), TileY(tile)); - DEBUG(misc, LANDINFOD_LEVEL, "type_height = %#x", _m[tile].type_height); - DEBUG(misc, LANDINFOD_LEVEL, "m1 = %#x", _m[tile].m1); - DEBUG(misc, LANDINFOD_LEVEL, "m2 = %#x", _m[tile].m2); - DEBUG(misc, LANDINFOD_LEVEL, "m3 = %#x", _m[tile].m3); - DEBUG(misc, LANDINFOD_LEVEL, "m4 = %#x", _m[tile].m4); - DEBUG(misc, LANDINFOD_LEVEL, "m5 = %#x", _m[tile].m5); - DEBUG(misc, LANDINFOD_LEVEL, "m6 = %#x", _m[tile].m6); - DEBUG(misc, LANDINFOD_LEVEL, "m7 = %#x", _me[tile].m7); + DEBUG(misc, LANDINFOD_LEVEL, "type = %#x", _m[tile].type); + DEBUG(misc, LANDINFOD_LEVEL, "height = %#x", _m[tile].height); + DEBUG(misc, LANDINFOD_LEVEL, "m1 = %#x", _m[tile].m1); + DEBUG(misc, LANDINFOD_LEVEL, "m2 = %#x", _m[tile].m2); + DEBUG(misc, LANDINFOD_LEVEL, "m3 = %#x", _m[tile].m3); + DEBUG(misc, LANDINFOD_LEVEL, "m4 = %#x", _m[tile].m4); + DEBUG(misc, LANDINFOD_LEVEL, "m5 = %#x", _m[tile].m5); + DEBUG(misc, LANDINFOD_LEVEL, "m6 = %#x", _me[tile].m6); + DEBUG(misc, LANDINFOD_LEVEL, "m7 = %#x", _me[tile].m7); #undef LANDINFOD_LEVEL } @@ -209,7 +213,7 @@ public: /* Location */ char tmp[16]; - snprintf(tmp, lengthof(tmp), "0x%.4X", tile); + seprintf(tmp, lastof(tmp), "0x%.4X", tile); SetDParam(0, TileX(tile)); SetDParam(1, TileY(tile)); SetDParam(2, GetTileZ(tile)); @@ -385,46 +389,47 @@ static const char * const _credits[] = { "Original graphics by Simon Foster", "", "The OpenTTD team (in alphabetical order):", - " Albert Hofkamp (Alberth) - GUI expert", - " Jean-Fran\xC3\xA7ois Claeys (Belugas) - GUI, newindustries and more", - " Matthijs Kooijman (blathijs) - Pathfinder-guru, pool rework", - " Christoph Elsenhans (frosch) - General coding", - " Ulf Hermann (fonsinchen) - Cargo Distribution", - " Lo\xC3\xAF""c Guilloux (glx) - Windows Expert", - " Michael Lutz (michi_cc) - Path based signals", - " Owen Rudge (orudge) - Forum host, OS/2 port", - " Peter Nelson (peter1138) - Spiritual descendant from NewGRF gods", - " Ingo von Borstel (planetmaker) - Support", - " Remko Bijker (Rubidium) - Lead coder and way more", - " Zden\xC4\x9Bk Sojka (SmatZ) - Bug finder and fixer", - " Jos\xC3\xA9 Soler (Terkhen) - General coding", - " Thijs Marinussen (Yexo) - AI Framework", - " Leif Linse (Zuu) - AI/Game Script", + " 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)", + " Christoph Elsenhans (frosch) - General coding (since 0.6)", + " Lo\xC3\xAF""c Guilloux (glx) - General / Windows Expert (since 0.4.5)", + " Michael Lutz (michi_cc) - Path based signals (since 0.7)", + " Owen Rudge (orudge) - Forum host, OS/2 port (since 0.1)", + " Peter Nelson (peter1138) - Spiritual descendant from NewGRF gods (since 0.4.5)", + " Ingo von Borstel (planetmaker) - General, Support (since 1.1)", + " Remko Bijker (Rubidium) - Lead coder and way more (since 0.4.5)", + " Jos\xC3\xA9 Soler (Terkhen) - General coding (since 1.0)", + " Leif Linse (Zuu) - AI/Game Script (since 1.2)", "", "Inactive Developers:", - " Bjarni Corfitzen (Bjarni) - MacOSX port, coder and vehicles", - " Victor Fischer (Celestar) - Programming everywhere you need him to", - " Tam\xC3\xA1s Farag\xC3\xB3 (Darkvater) - Ex-Lead coder", - " Jaroslav Mazanec (KUDr) - YAPG (Yet Another Pathfinder God) ;)", - " Jonathan Coome (Maedhros) - High priest of the NewGRF Temple", - " Attila B\xC3\xA1n (MiHaMiX) - Developer WebTranslator 1 and 2", - " Christoph Mallon (Tron) - Programmer, code correctness police", + " Jean-Fran\xC3\xA7ois Claeys (Belugas) - GUI, NewGRF and more (0.4.5 - 1.0)", + " Bjarni Corfitzen (Bjarni) - MacOSX port, coder and vehicles (0.3 - 0.7)", + " Victor Fischer (Celestar) - Programming everywhere you need him to (0.3 - 0.6)", + " Jaroslav Mazanec (KUDr) - YAPG (Yet Another Pathfinder God) ;) (0.4.5 - 0.6)", + " Jonathan Coome (Maedhros) - High priest of the NewGRF Temple (0.5 - 0.6)", + " Attila B\xC3\xA1n (MiHaMiX) - Developer WebTranslator 1 and 2 (0.3 - 0.5)", + " Zden\xC4\x9Bk Sojka (SmatZ) - Bug finder and fixer (0.6 - 1.3)", + " Christoph Mallon (Tron) - Programmer, code correctness police (0.3 - 0.5)", + " Patric Stout (TrueBrain) - NoAI, NoGo, Network (0.3 - 1.2), sys op (active)", + " Thijs Marinussen (Yexo) - AI Framework, General (0.6 - 1.3)", "", "Retired Developers:", - " Ludvig Strigeus (ludde) - OpenTTD author, main coder (0.1 - 0.3.3)", - " Serge Paquet (vurlix) - Assistant project manager, coder (0.1 - 0.3.3)", - " Dominik Scherer (dominik81) - Lead programmer, GUI expert (0.3.0 - 0.3.6)", - " Benedikt Br\xC3\xBCggemeier (skidd13) - Bug fixer and code reworker", - " Patric Stout (TrueBrain) - NoProgrammer (0.3 - 1.2), sys op (active)", + " Tam\xC3\xA1s Farag\xC3\xB3 (Darkvater) - Ex-Lead coder (0.3 - 0.5)", + " Dominik Scherer (dominik81) - Lead programmer, GUI expert (0.3 - 0.3)", + " Emil Djupfeld (egladil) - MacOSX (0.4.5 - 0.6)", + " Simon Sasburg (HackyKid) - Many bugfixes (0.4 - 0.4.5)", + " Ludvig Strigeus (ludde) - Original author of OpenTTD, main coder (0.1 - 0.3)", + " Cian Duffy (MYOB) - BeOS port / manual writing (0.1 - 0.3)", + " Petr Baudi\xC5\xA1 (pasky) - Many patches, NewGRF support (0.3 - 0.3)", + " Benedikt Br\xC3\xBCggemeier (skidd13) - Bug fixer and code reworker (0.6 - 0.7)", + " Serge Paquet (vurlix) - 2nd contributor after ludde (0.1 - 0.3)", "", "Special thanks go out to:", " Josef Drexler - For his great work on TTDPatch", " Marcin Grzegorczyk - Track foundations and for describing TTD internals", - " Petr Baudi\xC5\xA1 (pasky) - Many patches, newGRF support", - " Simon Sasburg (HackyKid) - Many bugfixes he has blessed us with", " Stefan Mei\xC3\x9Fner (sign_de) - For his work on the console", " Mike Ragsdale - OpenTTD installer", - " Cian Duffy (MYOB) - BeOS port / manual writing", " Christian Rosentreter (tokai) - MorphOS / AmigaOS port", " Richard Kempton (richK) - additional airports, initial TGP implementation", "", @@ -627,7 +632,7 @@ static const NWidgetPart _nested_tooltips_widgets[] = { static WindowDesc _tool_tips_desc( WDP_MANUAL, NULL, 0, 0, // Coordinates and sizes are not used, WC_TOOLTIPS, WC_NONE, - 0, + WDF_NO_FOCUS, _nested_tooltips_widgets, lengthof(_nested_tooltips_widgets) ); @@ -679,7 +684,7 @@ struct TooltipsWindow : public Window /* There is only one widget. */ for (uint i = 0; i != this->paramcount; i++) SetDParam(i, this->params[i]); - size->width = min(GetStringBoundingBox(this->string_id).width, 194); + size->width = min(GetStringBoundingBox(this->string_id).width, ScaleGUITrad(194)); size->height = GetStringHeight(this->string_id, size->width); /* Increase slightly to have some space around the box. */ @@ -944,7 +949,7 @@ struct QueryStringWindow : public Window this->editbox.text.UpdateSize(); - if ((flags & QSF_ACCEPT_UNCHANGED) == 0) this->editbox.orig = strdup(this->editbox.text.buf); + if ((flags & QSF_ACCEPT_UNCHANGED) == 0) this->editbox.orig = stredup(this->editbox.text.buf); this->querystrings[WID_QS_TEXT] = &this->editbox; this->editbox.caption = caption; @@ -1164,8 +1169,8 @@ static const NWidgetPart _nested_query_widgets[] = { NWidget(WWT_PANEL, COLOUR_RED), SetPIP(8, 15, 8), NWidget(WWT_TEXT, COLOUR_RED, WID_Q_TEXT), SetMinimalSize(200, 12), NWidget(NWID_HORIZONTAL, NC_EQUALSIZE), SetPIP(20, 29, 20), - NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_Q_NO), SetMinimalSize(71, 12), SetDataTip(STR_QUIT_NO, STR_NULL), - NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_Q_YES), SetMinimalSize(71, 12), SetDataTip(STR_QUIT_YES, STR_NULL), + NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_Q_NO), SetMinimalSize(71, 12), SetFill(1, 1), SetDataTip(STR_QUIT_NO, STR_NULL), + NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_Q_YES), SetMinimalSize(71, 12), SetFill(1, 1), SetDataTip(STR_QUIT_YES, STR_NULL), EndContainer(), EndContainer(), }; diff --git a/src/mixer.cpp b/src/mixer.cpp index 401a9c0ba2..5945bd235a 100644 --- a/src/mixer.cpp +++ b/src/mixer.cpp @@ -13,6 +13,8 @@ #include #include "core/math_func.hpp" +#include "safeguards.h" + struct MixerChannel { bool active; diff --git a/src/music.cpp b/src/music.cpp index 55599a947b..4001e621e1 100644 --- a/src/music.cpp +++ b/src/music.cpp @@ -15,6 +15,8 @@ #define SET_TYPE "music" #include "base_media_func.h" +#include "safeguards.h" + INSTANTIATE_BASE_MEDIA_METHODS(BaseMedia, MusicSet) /** Names corresponding to the music set's files */ diff --git a/src/music/allegro_m.cpp b/src/music/allegro_m.cpp index 9551825905..77b488186a 100644 --- a/src/music/allegro_m.cpp +++ b/src/music/allegro_m.cpp @@ -16,6 +16,8 @@ #include "allegro_m.h" #include +#include "../safeguards.h" + static FMusicDriver_Allegro iFMusicDriver_Allegro; static MIDI *_midi = NULL; diff --git a/src/music/bemidi.cpp b/src/music/bemidi.cpp index 5ee62dfe51..2bc2074763 100644 --- a/src/music/bemidi.cpp +++ b/src/music/bemidi.cpp @@ -16,6 +16,8 @@ /* BeOS System Includes */ #include +#include "../safeguards.h" + /** The file we're playing. */ static BMidiSynthFile midiSynthFile; diff --git a/src/music/cocoa_m.cpp b/src/music/cocoa_m.cpp index e7c7d6b752..a201984ae1 100644 --- a/src/music/cocoa_m.cpp +++ b/src/music/cocoa_m.cpp @@ -28,6 +28,8 @@ #undef Rect #undef Point +#include "../safeguards.h" + static FMusicDriver_Cocoa iFMusicDriver_Cocoa; diff --git a/src/music/dmusic.cpp b/src/music/dmusic.cpp index 185d66a769..40ce69d1a0 100644 --- a/src/music/dmusic.cpp +++ b/src/music/dmusic.cpp @@ -27,6 +27,8 @@ #include #include +#include "../safeguards.h" + static FMusicDriver_DMusic iFMusicDriver_DMusic; /** the direct music object manages buffers and ports */ diff --git a/src/music/extmidi.cpp b/src/music/extmidi.cpp index 93492aa996..f4a35360c0 100644 --- a/src/music/extmidi.cpp +++ b/src/music/extmidi.cpp @@ -9,7 +9,6 @@ /** @file extmidi.cpp Playing music via an external player. */ -#ifndef __MORPHOS__ #include "../stdafx.h" #include "../debug.h" #include "../string_func.h" @@ -25,6 +24,8 @@ #include #include +#include "../safeguards.h" + #ifndef EXTERNAL_PLAYER /** The default external midi player. */ #define EXTERNAL_PLAYER "timidity" @@ -35,15 +36,15 @@ static FMusicDriver_ExtMidi iFMusicDriver_ExtMidi; const char *MusicDriver_ExtMidi::Start(const char * const * parm) { - if (strcmp(_video_driver->GetName(), "allegro") == 0 || - strcmp(_sound_driver->GetName(), "allegro") == 0) { + if (strcmp(VideoDriver::GetInstance()->GetName(), "allegro") == 0 || + strcmp(SoundDriver::GetInstance()->GetName(), "allegro") == 0) { return "the extmidi driver does not work when Allegro is loaded."; } const char *command = GetDriverParam(parm, "cmd"); if (StrEmpty(command)) command = EXTERNAL_PLAYER; - this->command = strdup(command); + this->command = stredup(command); this->song[0] = '\0'; this->pid = -1; return NULL; @@ -133,5 +134,3 @@ void MusicDriver_ExtMidi::DoStop() waitpid(this->pid, NULL, 0); this->pid = -1; } - -#endif /* __MORPHOS__ */ diff --git a/src/music/libtimidity.cpp b/src/music/libtimidity.cpp index 92f17212c3..1cb2adc0f9 100644 --- a/src/music/libtimidity.cpp +++ b/src/music/libtimidity.cpp @@ -26,6 +26,8 @@ #include #endif /* PSP */ +#include "../safeguards.h" + /** The state of playing. */ enum MidiState { MIDI_STOPPED = 0, diff --git a/src/music/music_driver.hpp b/src/music/music_driver.hpp index 03c70d5691..be09d3ea2b 100644 --- a/src/music/music_driver.hpp +++ b/src/music/music_driver.hpp @@ -39,9 +39,15 @@ public: * @param vol The new volume. */ virtual void SetVolume(byte vol) = 0; + + /** + * Get the currently active instance of the music driver. + */ + static MusicDriver *GetInstance() { + return static_cast(*DriverFactoryBase::GetActiveDriver(Driver::DT_MUSIC)); + } }; -extern MusicDriver *_music_driver; extern char *_ini_musicdriver; #endif /* MUSIC_MUSIC_DRIVER_HPP */ diff --git a/src/music/null_m.cpp b/src/music/null_m.cpp index cb42a906a5..90d08d04a1 100644 --- a/src/music/null_m.cpp +++ b/src/music/null_m.cpp @@ -12,5 +12,7 @@ #include "../stdafx.h" #include "null_m.h" +#include "../safeguards.h" + /** The factory for the music player that does nothing. */ static FMusicDriver_Null iFMusicDriver_Null; diff --git a/src/music/os2_m.cpp b/src/music/os2_m.cpp index ec1fca2645..d7fb97d2d3 100644 --- a/src/music/os2_m.cpp +++ b/src/music/os2_m.cpp @@ -21,6 +21,8 @@ #include #include +#include "../safeguards.h" + /********************** * OS/2 MIDI PLAYER **********************/ diff --git a/src/music/qtmidi.cpp b/src/music/qtmidi.cpp index 0cfe318e7b..dfd6f16eb3 100644 --- a/src/music/qtmidi.cpp +++ b/src/music/qtmidi.cpp @@ -38,6 +38,8 @@ #undef Rect #undef Point +#include "../safeguards.h" + static FMusicDriver_QtMidi iFMusicDriver_QtMidi; diff --git a/src/music/win32_m.cpp b/src/music/win32_m.cpp index 65ffbbc6b3..d3a7019a0f 100644 --- a/src/music/win32_m.cpp +++ b/src/music/win32_m.cpp @@ -15,6 +15,8 @@ #include #include +#include "../safeguards.h" + static struct { bool stop_song; bool terminate; diff --git a/src/music_gui.cpp b/src/music_gui.cpp index 896624cb7d..279f376525 100644 --- a/src/music_gui.cpp +++ b/src/music_gui.cpp @@ -29,6 +29,8 @@ #include "table/strings.h" #include "table/sprites.h" +#include "safeguards.h" + /** * Get the name of the song. * @param index of the song. @@ -174,22 +176,22 @@ static void SkipToNextSong() static void MusicVolumeChanged(byte new_vol) { - _music_driver->SetVolume(new_vol); + MusicDriver::GetInstance()->SetVolume(new_vol); } static void DoPlaySong() { char filename[MAX_PATH]; - if (FioFindFullPath(filename, lengthof(filename), BASESET_DIR, BaseMusic::GetUsedSet()->files[_music_wnd_cursong - 1].filename) == NULL) { - FioFindFullPath(filename, lengthof(filename), OLD_GM_DIR, BaseMusic::GetUsedSet()->files[_music_wnd_cursong - 1].filename); + if (FioFindFullPath(filename, lastof(filename), BASESET_DIR, BaseMusic::GetUsedSet()->files[_music_wnd_cursong - 1].filename) == NULL) { + FioFindFullPath(filename, lastof(filename), OLD_GM_DIR, BaseMusic::GetUsedSet()->files[_music_wnd_cursong - 1].filename); } - _music_driver->PlaySong(filename); + MusicDriver::GetInstance()->PlaySong(filename); SetWindowDirty(WC_MUSIC_WINDOW, 0); } static void DoStopMusic() { - _music_driver->StopSong(); + MusicDriver::GetInstance()->StopSong(); SetWindowDirty(WC_MUSIC_WINDOW, 0); } @@ -200,12 +202,17 @@ static void SelectSongToPlay() memset(_cur_playlist, 0, sizeof(_cur_playlist)); do { - const char *filename = BaseMusic::GetUsedSet()->files[_playlists[_settings_client.music.playlist][i] - 1].filename; - /* We are now checking for the existence of that file prior - * to add it to the list of available songs */ - if (!StrEmpty(filename) && FioCheckFileExists(filename, BASESET_DIR)) { - _cur_playlist[j] = _playlists[_settings_client.music.playlist][i]; - j++; + /* File is the index into the file table of the music set. The play list uses 0 as 'no entry', + * so we need to subtract 1. In case of 'no entry' (file = -1), just skip adding it outright. */ + int file = _playlists[_settings_client.music.playlist][i] - 1; + if (file >= 0) { + const char *filename = BaseMusic::GetUsedSet()->files[file].filename; + /* We are now checking for the existence of that file prior + * to add it to the list of available songs */ + if (!StrEmpty(filename) && FioCheckFileExists(filename, BASESET_DIR)) { + _cur_playlist[j] = _playlists[_settings_client.music.playlist][i]; + j++; + } } } while (_playlists[_settings_client.music.playlist][++i] != 0 && j < lengthof(_cur_playlist) - 1); @@ -271,7 +278,7 @@ void MusicLoop() if (!_song_is_active) return; - if (!_music_driver->IsSongPlaying()) { + if (!MusicDriver::GetInstance()->IsSongPlaying()) { if (_game_mode != GM_MENU) { StopMusic(); SkipToNextSong(); diff --git a/src/network/core/address.cpp b/src/network/core/address.cpp index d8c990e240..62af3a40bf 100644 --- a/src/network/core/address.cpp +++ b/src/network/core/address.cpp @@ -16,6 +16,8 @@ #include "address.h" #include "../../debug.h" +#include "../../safeguards.h" + /** * Get the hostname; in case it wasn't given the * IPv4 dotted representation is given. @@ -354,10 +356,12 @@ static SOCKET ListenLoopProc(addrinfo *runp) DEBUG(net, 3, "[%s] could not set reusable %s sockets for port %s: %s", type, family, address, strerror(errno)); } +#ifndef __OS2__ if (runp->ai_family == AF_INET6 && setsockopt(sock, IPPROTO_IPV6, IPV6_V6ONLY, (const char*)&on, sizeof(on)) == -1) { DEBUG(net, 3, "[%s] could not disable IPv4 over IPv6 on port %s: %s", type, address, strerror(errno)); } +#endif if (bind(sock, runp->ai_addr, (int)runp->ai_addrlen) != 0) { DEBUG(net, 1, "[%s] could not bind on %s port %s: %s", type, family, address, strerror(errno)); diff --git a/src/network/core/core.cpp b/src/network/core/core.cpp index 867bb4bb98..7a2ad92a29 100644 --- a/src/network/core/core.cpp +++ b/src/network/core/core.cpp @@ -18,6 +18,8 @@ #include "os_abstraction.h" #include "packet.h" +#include "../../safeguards.h" + #ifdef __MORPHOS__ /* the library base is required here */ diff --git a/src/network/core/host.cpp b/src/network/core/host.cpp index 0af0f7992c..cf98239f86 100644 --- a/src/network/core/host.cpp +++ b/src/network/core/host.cpp @@ -15,6 +15,8 @@ #include "../../debug.h" #include "address.h" +#include "../../safeguards.h" + /** * Internal implementation for finding the broadcast IPs. * This function is implemented multiple times for multiple targets. diff --git a/src/network/core/os_abstraction.h b/src/network/core/os_abstraction.h index 980c6f7f6d..9608f08fa7 100644 --- a/src/network/core/os_abstraction.h +++ b/src/network/core/os_abstraction.h @@ -239,11 +239,38 @@ static inline void OTTDfreeaddrinfo(struct addrinfo *ai) # include # include # define INADDR_NONE 0xffffffff +# include "../../3rdparty/os2/getaddrinfo.h" +# include "../../3rdparty/os2/getnameinfo.h" + +#define IPV6_V6ONLY 27 + +/* + * IPv6 address + */ +struct in6_addr { + union { + uint8_t __u6_addr8[16]; + uint16_t __u6_addr16[8]; + uint32_t __u6_addr32[4]; + } __u6_addr; /* 128-bit IP6 address */ +}; + +#define s6_addr __u6_addr.__u6_addr8 + +struct sockaddr_in6 { + uint8_t sin6_len; /* length of this struct */ + sa_family_t sin6_family; /* AF_INET6 */ + in_port_t sin6_port; /* Transport layer port # */ + uint32_t sin6_flowinfo; /* IP6 flow information */ + struct in6_addr sin6_addr; /* IP6 address */ + uint32_t sin6_scope_id; /* scope zone index */ +}; typedef int socklen_t; #if !defined(__INNOTEK_LIBC__) typedef unsigned long in_addr_t; #endif /* __INNOTEK_LIBC__ */ + #endif /* OS/2 */ /* MorphOS and Amiga stuff */ diff --git a/src/network/core/packet.cpp b/src/network/core/packet.cpp index 4d9345e824..7548132e0b 100644 --- a/src/network/core/packet.cpp +++ b/src/network/core/packet.cpp @@ -18,6 +18,8 @@ #include "packet.h" +#include "../../safeguards.h" + /** * Create a packet that is used to read from a network socket * @param cs the socket handler associated with the socket we are reading from diff --git a/src/network/core/tcp.cpp b/src/network/core/tcp.cpp index e68c354fc6..790941fc01 100644 --- a/src/network/core/tcp.cpp +++ b/src/network/core/tcp.cpp @@ -18,6 +18,8 @@ #include "tcp.h" +#include "../../safeguards.h" + /** * Construct a socket handler for a TCP connection. * @param s The just opened TCP connection. diff --git a/src/network/core/tcp_admin.cpp b/src/network/core/tcp_admin.cpp index 636696e2cb..284ceda9b1 100644 --- a/src/network/core/tcp_admin.cpp +++ b/src/network/core/tcp_admin.cpp @@ -19,6 +19,8 @@ #include "tcp_admin.h" #include "../../debug.h" +#include "../../safeguards.h" + /* Make sure that these enums match. */ assert_compile((int)CRR_MANUAL == (int)ADMIN_CRR_MANUAL); assert_compile((int)CRR_AUTOCLEAN == (int)ADMIN_CRR_AUTOCLEAN); diff --git a/src/network/core/tcp_connect.cpp b/src/network/core/tcp_connect.cpp index ed2885b0ed..ccbf93f3c3 100644 --- a/src/network/core/tcp_connect.cpp +++ b/src/network/core/tcp_connect.cpp @@ -18,6 +18,8 @@ #include "tcp.h" +#include "../../safeguards.h" + /** List of connections that are currently being created */ static SmallVector _tcp_connecters; diff --git a/src/network/core/tcp_content.cpp b/src/network/core/tcp_content.cpp index 8a4604feb0..fc22c4491f 100644 --- a/src/network/core/tcp_content.cpp +++ b/src/network/core/tcp_content.cpp @@ -24,6 +24,8 @@ #endif /* OPENTTD_MSU */ #include "tcp_content.h" +#include "../../safeguards.h" + /** Clear everything in the struct */ ContentInfo::ContentInfo() { diff --git a/src/network/core/tcp_game.cpp b/src/network/core/tcp_game.cpp index d263b28e4a..9b3f7b5ef3 100644 --- a/src/network/core/tcp_game.cpp +++ b/src/network/core/tcp_game.cpp @@ -22,6 +22,8 @@ #include "table/strings.h" +#include "../../safeguards.h" + /** * Create a new socket for the game connection. * @param s The socket to connect with. diff --git a/src/network/core/tcp_http.cpp b/src/network/core/tcp_http.cpp index a9829d5604..a8bb64080a 100644 --- a/src/network/core/tcp_http.cpp +++ b/src/network/core/tcp_http.cpp @@ -20,6 +20,8 @@ #include "tcp_http.h" +#include "../../safeguards.h" + /** List of open HTTP connections. */ static SmallVector _http_connections; diff --git a/src/network/core/tcp_http.h b/src/network/core/tcp_http.h index 6222c76951..36520f1364 100644 --- a/src/network/core/tcp_http.h +++ b/src/network/core/tcp_http.h @@ -96,7 +96,7 @@ public: const char *data = NULL, int depth = 0) : TCPConnecter(address), callback(callback), - url(strdup(url)), + url(stredup(url)), data(data), depth(depth) { diff --git a/src/network/core/udp.cpp b/src/network/core/udp.cpp index f7abc7e35a..ce5f06b1f2 100644 --- a/src/network/core/udp.cpp +++ b/src/network/core/udp.cpp @@ -18,6 +18,8 @@ #include "../../debug.h" #include "udp.h" +#include "../../safeguards.h" + /** * Create an UDP socket but don't listen yet. * @param bind the addresses to bind to. diff --git a/src/network/network.cpp b/src/network/network.cpp index a3c8fd4a93..ce37aaa3fa 100644 --- a/src/network/network.cpp +++ b/src/network/network.cpp @@ -38,6 +38,8 @@ #include "../gfx_func.h" #include "../error.h" +#include "../safeguards.h" + #ifdef DEBUG_DUMP_COMMANDS #include "../fileio_func.h" /** When running the server till the wait point, run as fast as we can! */ @@ -197,7 +199,7 @@ const char *GenerateCompanyPasswordHash(const char *password, const char *passwo char salted_password[NETWORK_SERVER_ID_LENGTH]; memset(salted_password, 0, sizeof(salted_password)); - snprintf(salted_password, sizeof(salted_password), "%s", password); + seprintf(salted_password, lastof(salted_password), "%s", password); /* Add the game seed and the server's ID as the salt. */ for (uint i = 0; i < NETWORK_SERVER_ID_LENGTH - 1; i++) { salted_password[i] ^= password_server_id[i] ^ (password_game_seed >> (i % 32)); @@ -211,8 +213,7 @@ const char *GenerateCompanyPasswordHash(const char *password, const char *passwo checksum.Append(salted_password, sizeof(salted_password) - 1); checksum.Finish(digest); - for (int di = 0; di < 16; di++) sprintf(hashed_password + di * 2, "%02x", digest[di]); - hashed_password[lengthof(hashed_password) - 1] = '\0'; + for (int di = 0; di < 16; di++) seprintf(hashed_password + di * 2, lastof(hashed_password), "%02x", digest[di]); return hashed_password; } @@ -652,7 +653,7 @@ void NetworkRebuildHostList() _network_host_list.Clear(); for (NetworkGameList *item = _network_game_list; item != NULL; item = item->next) { - if (item->manually) *_network_host_list.Append() = strdup(item->address.GetAddressAsString(false)); + if (item->manually) *_network_host_list.Append() = stredup(item->address.GetAddressAsString(false)); } } @@ -701,7 +702,7 @@ void NetworkClientConnectGame(NetworkAddress address, CompanyID join_as, const c static void NetworkInitGameInfo() { if (StrEmpty(_settings_client.network.server_name)) { - snprintf(_settings_client.network.server_name, sizeof(_settings_client.network.server_name), "Unnamed Server"); + seprintf(_settings_client.network.server_name, lastof(_settings_client.network.server_name), "Unnamed Server"); } /* The server is a client too */ @@ -710,7 +711,7 @@ static void NetworkInitGameInfo() /* There should be always space for the server. */ assert(NetworkClientInfo::CanAllocateItem()); NetworkClientInfo *ci = new NetworkClientInfo(CLIENT_ID_SERVER); - ci->client_playas = _network_dedicated ? COMPANY_SPECTATOR : _local_company; + ci->client_playas = _network_dedicated ? COMPANY_SPECTATOR : COMPANY_FIRST; strecpy(ci->client_name, _settings_client.network.client_name, lastof(ci->client_name)); } @@ -928,10 +929,16 @@ void NetworkGameLoop() p += 2; } - if (strncmp(p, "cmd: ", 5) == 0) { + if (strncmp(p, "cmd: ", 5) == 0 +#ifdef DEBUG_FAILED_DUMP_COMMANDS + || strncmp(p, "cmdf: ", 6) == 0 +#endif + ) { + p += 5; + if (*p == ' ') p++; cp = CallocT(1); int company; - int ret = sscanf(p + 5, "%x; %x; %x; %x; %x; %x; %x; \"%[^\"]\"", &next_date, &next_date_fract, &company, &cp->tile, &cp->p1, &cp->p2, &cp->cmd, cp->text); + int ret = sscanf(p, "%x; %x; %x; %x; %x; %x; %x; \"%[^\"]\"", &next_date, &next_date_fract, &company, &cp->tile, &cp->p1, &cp->p2, &cp->cmd, cp->text); /* There are 8 pieces of data to read, however the last is a * string that might or might not exist. Ignore it if that * string misses because in 99% of the time it's not used. */ @@ -955,6 +962,10 @@ void NetworkGameLoop() } else if (strncmp(p, "msg: ", 5) == 0 || strncmp(p, "client: ", 8) == 0 || strncmp(p, "load: ", 6) == 0 || strncmp(p, "save: ", 6) == 0) { /* A message that is not very important to the log playback, but part of the log. */ +#ifndef DEBUG_FAILED_DUMP_COMMANDS + } else if (strncmp(p, "cmdf: ", 6) == 0) { + DEBUG(net, 0, "Skipping replay of failed command: %s", p + 6); +#endif } else { /* Can't parse a line; what's wrong here? */ DEBUG(net, 0, "trying to parse: %s", p); @@ -1026,18 +1037,18 @@ static void NetworkGenerateServerId() char coding_string[NETWORK_NAME_LENGTH]; int di; - snprintf(coding_string, sizeof(coding_string), "%d%s", (uint)Random(), "OpenTTD Server ID"); + seprintf(coding_string, lastof(coding_string), "%d%s", (uint)Random(), "OpenTTD Server ID"); /* Generate the MD5 hash */ checksum.Append((const uint8*)coding_string, strlen(coding_string)); checksum.Finish(digest); for (di = 0; di < 16; ++di) { - sprintf(hex_output + di * 2, "%02x", digest[di]); + seprintf(hex_output + di * 2, lastof(hex_output), "%02x", digest[di]); } /* _settings_client.network.network_id is our id */ - snprintf(_settings_client.network.network_id, sizeof(_settings_client.network.network_id), "%s", hex_output); + seprintf(_settings_client.network.network_id, lastof(_settings_client.network.network_id), "%s", hex_output); } void NetworkStartDebugLog(NetworkAddress address) diff --git a/src/network/network_admin.cpp b/src/network/network_admin.cpp index 0327bf3666..c1ca3d3bb2 100644 --- a/src/network/network_admin.cpp +++ b/src/network/network_admin.cpp @@ -25,6 +25,8 @@ #include "../rev.h" #include "../game/game.hpp" +#include "../safeguards.h" + /* This file handles all the admin network commands. */ diff --git a/src/network/network_chat_gui.cpp b/src/network/network_chat_gui.cpp index 8b965feff2..3416762d02 100644 --- a/src/network/network_chat_gui.cpp +++ b/src/network/network_chat_gui.cpp @@ -21,6 +21,7 @@ #include "../querystring_gui.h" #include "../town.h" #include "../window_func.h" +#include "../toolbar_gui.h" #include "../core/geometry_func.hpp" #include "network.h" #include "network_client.h" @@ -30,6 +31,8 @@ #include "table/strings.h" +#include "../safeguards.h" + /** The draw buffer must be able to contain the chat message, client name and the "[All]" message, * some spaces and possible translations of [All] to other languages. */ assert_compile((int)DRAW_STRING_BUFFER >= (int)NETWORK_CHAT_LENGTH + NETWORK_NAME_LENGTH + 40); @@ -84,7 +87,7 @@ void CDECL NetworkAddChatMessage(TextColour colour, uint duration, const char *m va_list va; va_start(va, message); - vsnprintf(buf, lengthof(buf), message, va); + vseprintf(buf, lastof(buf), message, va); va_end(va); Utf8TrimString(buf, DRAW_STRING_BUFFER); @@ -118,7 +121,7 @@ void NetworkInitChatMessage() _chatmsg_list = ReallocT(_chatmsg_list, _settings_client.gui.network_chat_box_height); _chatmsg_box.x = 10; - _chatmsg_box.width = _settings_client.gui.network_chat_box_width; + _chatmsg_box.width = _settings_client.gui.network_chat_box_width_pct * _screen.width / 100; NetworkReInitChatBoxSize(); _chatmessage_visible = false; @@ -167,7 +170,7 @@ void NetworkUndrawChatMessage() /* Put our 'shot' back to the screen */ blitter->CopyFromBuffer(blitter->MoveTo(_screen.dst_ptr, x, y), _chatmessage_backup, width, height); /* And make sure it is updated next time */ - _video_driver->MakeDirty(x, y, width, height); + VideoDriver::GetInstance()->MakeDirty(x, y, width, height); _chatmessage_dirty = true; } @@ -254,7 +257,7 @@ void NetworkDrawChatMessage() } /* Make sure the data is updated next flush */ - _video_driver->MakeDirty(x, y, width, height); + VideoDriver::GetInstance()->MakeDirty(x, y, width, height); _chatmessage_visible = true; _chatmessage_dirty = false; @@ -319,6 +322,11 @@ struct NetworkChatWindow : public Window { InvalidateWindowData(WC_NEWS_WINDOW, 0, 0); } + virtual void FindWindowPlacementAndResize(int def_width, int def_height) + { + Window::FindWindowPlacementAndResize(_toolbar_width, def_height); + } + /** * Find the next item of the list of things that can be auto-completed. * @param item The current indexed item to return. This function can, and most @@ -389,7 +397,7 @@ struct NetworkChatWindow : public Window { item = 0; /* Copy the buffer so we can modify it without damaging the real data */ - pre_buf = (_chat_tab_completion_active) ? strdup(_chat_tab_completion_buf) : strdup(tb->buf); + pre_buf = (_chat_tab_completion_active) ? stredup(_chat_tab_completion_buf) : stredup(tb->buf); tb_buf = ChatTabCompletionFindText(pre_buf); tb_len = strlen(tb_buf); @@ -426,7 +434,7 @@ struct NetworkChatWindow : public Window { len = strlen(cur_name); if (tb_len < len && strncasecmp(cur_name, tb_buf, tb_len) == 0) { /* Save the data it was before completion */ - if (!second_scan) snprintf(_chat_tab_completion_buf, lengthof(_chat_tab_completion_buf), "%s", tb->buf); + if (!second_scan) seprintf(_chat_tab_completion_buf, lastof(_chat_tab_completion_buf), "%s", tb->buf); _chat_tab_completion_active = true; /* Change to the found name. Add ': ' if we are at the start of the line (pretty) */ @@ -534,7 +542,7 @@ static const NWidgetPart _nested_chat_window_widgets[] = { /** The description of the chat window. */ static WindowDesc _chat_window_desc( - WDP_MANUAL, NULL, 640, 14, // x, y, width, height + WDP_MANUAL, NULL, 0, 0, WC_SEND_NETWORK_MSG, WC_NONE, 0, _nested_chat_window_widgets, lengthof(_nested_chat_window_widgets) diff --git a/src/network/network_client.cpp b/src/network/network_client.cpp index 44c13fbc8b..d4d294146e 100644 --- a/src/network/network_client.cpp +++ b/src/network/network_client.cpp @@ -34,6 +34,8 @@ #include "table/strings.h" +#include "../safeguards.h" + /* This file handles all the client-commands */ @@ -208,7 +210,7 @@ void ClientNetworkGameSocketHandler::ClientError(NetworkRecvStatus res) * when that's the case handle it appropriately. * @return true when everything went okay. */ -/*static */ bool ClientNetworkGameSocketHandler::Receive() +/* static */ bool ClientNetworkGameSocketHandler::Receive() { if (my_client->CanSendReceive()) { NetworkRecvStatus res = my_client->ReceivePackets(); @@ -223,7 +225,7 @@ void ClientNetworkGameSocketHandler::ClientError(NetworkRecvStatus res) } /** Send the packets of this socket handler. */ -/*static */ void ClientNetworkGameSocketHandler::Send() +/* static */ void ClientNetworkGameSocketHandler::Send() { my_client->SendPackets(); my_client->CheckConnection(); @@ -956,7 +958,7 @@ NetworkRecvStatus ClientNetworkGameSocketHandler::Receive_SERVER_CHAT(Packet *p) switch (action) { case NETWORK_ACTION_CHAT_CLIENT: /* For speaking to client we need the client-name */ - snprintf(name, sizeof(name), "%s", ci_to->client_name); + seprintf(name, lastof(name), "%s", ci_to->client_name); ci = NetworkClientInfo::GetByClientID(_network_own_client_id); break; @@ -977,7 +979,7 @@ NetworkRecvStatus ClientNetworkGameSocketHandler::Receive_SERVER_CHAT(Packet *p) } } else { /* Display message from somebody else */ - snprintf(name, sizeof(name), "%s", ci_to->client_name); + seprintf(name, lastof(name), "%s", ci_to->client_name); ci = ci_to; } @@ -1229,7 +1231,7 @@ void NetworkUpdateClientName() if (!_network_server) { MyClient::SendSetName(_settings_client.network.client_name); } else { - if (NetworkFindName(_settings_client.network.client_name)) { + if (NetworkFindName(_settings_client.network.client_name, lastof(_settings_client.network.client_name))) { NetworkTextMessage(NETWORK_ACTION_NAME_CHANGE, CC_DEFAULT, false, ci->client_name, _settings_client.network.client_name); strecpy(ci->client_name, _settings_client.network.client_name, lastof(ci->client_name)); NetworkUpdateClientInfo(CLIENT_ID_SERVER); diff --git a/src/network/network_command.cpp b/src/network/network_command.cpp index 7ba26041cc..6e5458fd86 100644 --- a/src/network/network_command.cpp +++ b/src/network/network_command.cpp @@ -19,6 +19,8 @@ #include "../company_func.h" #include "../settings_type.h" +#include "../safeguards.h" + /** Table with all the callbacks we'll use for conversion*/ static CommandCallback * const _callback_table[] = { /* 0x00 */ NULL, diff --git a/src/network/network_content.cpp b/src/network/network_content.cpp index 8677a81042..174dbdafe6 100644 --- a/src/network/network_content.cpp +++ b/src/network/network_content.cpp @@ -27,6 +27,8 @@ #include #endif +#include "../safeguards.h" + extern bool HasScenario(const ContentInfo *ci, bool md5sum); /** The client we use to connect to the server. */ @@ -388,7 +390,7 @@ static char *GetFullFilename(const ContentInfo *ci, bool compressed) if (dir == NO_DIRECTORY) return NULL; static char buf[MAX_PATH]; - FioGetFullPath(buf, lengthof(buf), SP_AUTODOWNLOAD_DIR, dir, ci->filename); + FioGetFullPath(buf, lastof(buf), SP_AUTODOWNLOAD_DIR, dir, ci->filename); strecat(buf, compressed ? ".tar.gz" : ".tar", lastof(buf)); return buf; diff --git a/src/network/network_content_gui.cpp b/src/network/network_content_gui.cpp index 808c3ea232..7ee1dbd99f 100644 --- a/src/network/network_content_gui.cpp +++ b/src/network/network_content_gui.cpp @@ -29,6 +29,8 @@ #include "table/strings.h" #include "../table/sprites.h" +#include "../safeguards.h" + /** Whether the user accepted to enter external websites during this session. */ static bool _accepted_external_search = false; @@ -295,12 +297,15 @@ class NetworkContentListWindow : public Window, ContentCallback { bool auto_select; ///< Automatically select all content when the meta-data becomes available StringFilter string_filter; ///< Filter for content list QueryString filter_editbox; ///< Filter editbox; + Dimension checkbox_size; ///< Size of checkbox/"blot" sprite const ContentInfo *selected; ///< The selected content info int list_pos; ///< Our position in the list uint filesize_sum; ///< The sum of all selected file sizes Scrollbar *vscroll; ///< Cache of the vertical scrollbar + static char content_type_strs[CONTENT_TYPE_END][64]; ///< Cached strings for all content types. + /** Search external websites for content */ void OpenExternalSearch() { @@ -398,11 +403,7 @@ class NetworkContentListWindow : public Window, ContentCallback { { int r = 0; if ((*a)->type != (*b)->type) { - char a_str[64]; - char b_str[64]; - GetString(a_str, STR_CONTENT_TYPE_BASE_GRAPHICS + (*a)->type - CONTENT_TYPE_BASE_GRAPHICS, lastof(a_str)); - GetString(b_str, STR_CONTENT_TYPE_BASE_GRAPHICS + (*b)->type - CONTENT_TYPE_BASE_GRAPHICS, lastof(b_str)); - r = strnatcmp(a_str, b_str); + r = strnatcmp(content_type_strs[(*a)->type], content_type_strs[(*b)->type]); } if (r == 0) r = NameSorter(a, b); return r; @@ -466,6 +467,7 @@ class NetworkContentListWindow : public Window, ContentCallback { this->vscroll->ScrollTowards(this->list_pos); } + friend void BuildContentTypeStringList(); public: /** * Create the content list window. @@ -479,6 +481,8 @@ public: selected(NULL), list_pos(0) { + this->checkbox_size = maxdim(maxdim(GetSpriteSize(SPR_BOX_EMPTY), GetSpriteSize(SPR_BOX_CHECKED)), GetSpriteSize(SPR_BLOT)); + this->CreateNestedTree(); this->vscroll = this->GetScrollbar(WID_NCL_SCROLLBAR); this->FinishInitNested(WN_NETWORK_WINDOW_CONTENT_LIST); @@ -514,6 +518,10 @@ public: *size = maxdim(*size, GetStringBoundingBox(STR_CONTENT_FILTER_TITLE)); break; + case WID_NCL_CHECKBOX: + size->width = this->checkbox_size.width + WD_MATRIX_RIGHT + WD_MATRIX_LEFT; + break; + case WID_NCL_TYPE: { Dimension d = *size; for (int i = CONTENT_TYPE_BEGIN; i < CONTENT_TYPE_END; i++) { @@ -524,7 +532,7 @@ public: } case WID_NCL_MATRIX: - resize->height = FONT_HEIGHT_NORMAL + WD_MATRIX_TOP + WD_MATRIX_BOTTOM; + resize->height = max(this->checkbox_size.height, (uint)FONT_HEIGHT_NORMAL) + WD_MATRIX_TOP + WD_MATRIX_BOTTOM; size->height = 10 * resize->height; break; } @@ -575,9 +583,11 @@ public: const NWidgetBase *nwi_name = this->GetWidget(WID_NCL_NAME); const NWidgetBase *nwi_type = this->GetWidget(WID_NCL_TYPE); + int line_height = max(this->checkbox_size.height, (uint)FONT_HEIGHT_NORMAL); /* Fill the matrix with the information */ - int sprite_y_offset = WD_MATRIX_TOP + (FONT_HEIGHT_NORMAL - 10) / 2; + int sprite_y_offset = WD_MATRIX_TOP + (line_height - this->checkbox_size.height) / 2 - 1; + int text_y_offset = WD_MATRIX_TOP + (line_height - FONT_HEIGHT_NORMAL) / 2; uint y = r.top; int cnt = 0; for (ConstContentIterator iter = this->content.Get(this->vscroll->GetPosition()); iter != this->content.End() && cnt < this->vscroll->GetCapacity(); iter++, cnt++) { @@ -598,9 +608,9 @@ public: DrawSprite(sprite, pal, nwi_checkbox->pos_x + (pal == PAL_NONE ? 2 : 3), y + sprite_y_offset + (pal == PAL_NONE ? 1 : 0)); StringID str = STR_CONTENT_TYPE_BASE_GRAPHICS + ci->type - CONTENT_TYPE_BASE_GRAPHICS; - DrawString(nwi_type->pos_x, nwi_type->pos_x + nwi_type->current_x - 1, y + WD_MATRIX_TOP, str, TC_BLACK, SA_HOR_CENTER); + DrawString(nwi_type->pos_x, nwi_type->pos_x + nwi_type->current_x - 1, y + text_y_offset, str, TC_BLACK, SA_HOR_CENTER); - DrawString(nwi_name->pos_x + WD_FRAMERECT_LEFT, nwi_name->pos_x + nwi_name->current_x - WD_FRAMERECT_RIGHT, y + WD_MATRIX_TOP, ci->name, TC_BLACK); + DrawString(nwi_name->pos_x + WD_FRAMERECT_LEFT, nwi_name->pos_x + nwi_name->current_x - WD_FRAMERECT_RIGHT, y + text_y_offset, ci->name, TC_BLACK); y += this->resize.step_height; } } @@ -957,6 +967,18 @@ NetworkContentListWindow::GUIContentList::FilterFunction * const NetworkContentL &TagNameFilter, }; +char NetworkContentListWindow::content_type_strs[CONTENT_TYPE_END][64]; + +/** + * Build array of all strings corresponding to the content types. + */ +void BuildContentTypeStringList() +{ + for (int i = CONTENT_TYPE_BEGIN; i < CONTENT_TYPE_END; i++) { + GetString(NetworkContentListWindow::content_type_strs[i], STR_CONTENT_TYPE_BASE_GRAPHICS + i - CONTENT_TYPE_BASE_GRAPHICS, lastof(NetworkContentListWindow::content_type_strs[i])); + } +} + /** The widgets for the content list. */ static const NWidgetPart _nested_network_content_list_widgets[] = { NWidget(NWID_HORIZONTAL), diff --git a/src/network/network_content_gui.h b/src/network/network_content_gui.h index 212fcec04d..1397010019 100644 --- a/src/network/network_content_gui.h +++ b/src/network/network_content_gui.h @@ -43,4 +43,6 @@ public: virtual void OnDownloadProgress(const ContentInfo *ci, int bytes); }; +void BuildContentTypeStringList(); + #endif /* NETWORK_CONTENT_GUI_H */ diff --git a/src/network/network_func.h b/src/network/network_func.h index defa1cc70f..375cc3da56 100644 --- a/src/network/network_func.h +++ b/src/network/network_func.h @@ -17,6 +17,7 @@ * See docs/desync.txt for details. */ // #define DEBUG_DUMP_COMMANDS +// #define DEBUG_FAILED_DUMP_COMMANDS #include "core/address.h" #include "network_type.h" @@ -71,7 +72,7 @@ void NetworkServerYearlyLoop(); void NetworkServerSendConfigUpdate(); void NetworkServerShowStatusToConsole(); bool NetworkServerStart(); -void NetworkServerUpdateCompanyPassworded(CompanyID company_id, bool passworded); +void NetworkServerNewCompany(const Company *company, NetworkClientInfo *ci); bool NetworkServerChangeClientName(ClientID client_id, const char *new_name); diff --git a/src/network/network_gamelist.cpp b/src/network/network_gamelist.cpp index 9496362137..e5d80630e1 100644 --- a/src/network/network_gamelist.cpp +++ b/src/network/network_gamelist.cpp @@ -22,6 +22,8 @@ #include "network_udp.h" #include "network_gamelist.h" +#include "../safeguards.h" + NetworkGameList *_network_game_list = NULL; /** Mutex for handling delayed insertion/querying of servers. */ diff --git a/src/network/network_gui.cpp b/src/network/network_gui.cpp index 615710465d..013b375bda 100644 --- a/src/network/network_gui.cpp +++ b/src/network/network_gui.cpp @@ -39,6 +39,8 @@ #include "../stringfilter_type.h" +#include "../safeguards.h" + static void ShowNetworkStartServerWindow(); static void ShowNetworkLobbyWindow(NetworkGameList *ngl); @@ -106,7 +108,7 @@ public: this->Add(new NWidgetLeaf(WWT_PUSHTXTBTN, COLOUR_WHITE, WID_NG_YEARS, STR_NETWORK_SERVER_LIST_YEARS_CAPTION, STR_NETWORK_SERVER_LIST_YEARS_CAPTION_TOOLTIP)); leaf = new NWidgetLeaf(WWT_PUSHTXTBTN, COLOUR_WHITE, WID_NG_INFO, STR_EMPTY, STR_NETWORK_SERVER_LIST_INFO_ICONS_TOOLTIP); - leaf->SetMinimalSize(40, 12); + leaf->SetMinimalSize(14 + GetSpriteSize(SPR_LOCK).width + GetSpriteSize(SPR_BLOT).width + GetSpriteSize(SPR_FLAGS_BASE).width, 12); leaf->SetFill(0, 1); this->Add(leaf); @@ -233,6 +235,10 @@ protected: QueryString name_editbox; ///< Client name editbox. QueryString filter_editbox; ///< Editbox for filter on servers + int lock_offset; ///< Left offset for lock icon. + int blot_offset; ///< Left offset for green/yellow/red compatibility icon. + int flag_offset; ///< Left offset for langauge flag icon. + /** * (Re)build the GUI network game list (a.k.a. this->servers) as some * major change has occurred. It ensures appropriate filtering and @@ -377,9 +383,13 @@ protected: const NWidgetBase *nwi_info = this->GetWidget(WID_NG_INFO); /* show highlighted item with a different colour */ - if (highlight) GfxFillRect(nwi_name->pos_x + 1, y - 2, nwi_info->pos_x + nwi_info->current_x - 2, y + FONT_HEIGHT_NORMAL - 1, PC_GREY); + if (highlight) GfxFillRect(nwi_name->pos_x + 1, y + 1, nwi_info->pos_x + nwi_info->current_x - 2, y + this->resize.step_height - 2, PC_GREY); - DrawString(nwi_name->pos_x + WD_FRAMERECT_LEFT, nwi_name->pos_x + nwi_name->current_x - WD_FRAMERECT_RIGHT, y, cur_item->info.server_name, TC_BLACK); + /* offsets to vertically centre text and icons */ + int text_y_offset = (this->resize.step_height - FONT_HEIGHT_NORMAL) / 2 + 1; + int icon_y_offset = (this->resize.step_height - GetSpriteSize(SPR_BLOT).height) / 2; + + DrawString(nwi_name->pos_x + WD_FRAMERECT_LEFT, nwi_name->pos_x + nwi_name->current_x - WD_FRAMERECT_RIGHT, y + text_y_offset, cur_item->info.server_name, TC_BLACK); /* only draw details if the server is online */ if (cur_item->online) { @@ -391,7 +401,7 @@ protected: SetDParam(1, cur_item->info.clients_max); SetDParam(2, cur_item->info.companies_on); SetDParam(3, cur_item->info.companies_max); - DrawString(nwi_clients->pos_x, nwi_clients->pos_x + nwi_clients->current_x - 1, y, STR_NETWORK_SERVER_LIST_GENERAL_ONLINE, TC_FROMSTRING, SA_HOR_CENTER); + DrawString(nwi_clients->pos_x, nwi_clients->pos_x + nwi_clients->current_x - 1, y + text_y_offset, STR_NETWORK_SERVER_LIST_GENERAL_ONLINE, TC_FROMSTRING, SA_HOR_CENTER); } if (nwi_header->IsWidgetVisible(WID_NG_MAPSIZE)) { @@ -399,7 +409,7 @@ protected: const NWidgetBase *nwi_mapsize = this->GetWidget(WID_NG_MAPSIZE); SetDParam(0, cur_item->info.map_width); SetDParam(1, cur_item->info.map_height); - DrawString(nwi_mapsize->pos_x, nwi_mapsize->pos_x + nwi_mapsize->current_x - 1, y, STR_NETWORK_SERVER_LIST_MAP_SIZE_SHORT, TC_FROMSTRING, SA_HOR_CENTER); + DrawString(nwi_mapsize->pos_x, nwi_mapsize->pos_x + nwi_mapsize->current_x - 1, y + text_y_offset, STR_NETWORK_SERVER_LIST_MAP_SIZE_SHORT, TC_FROMSTRING, SA_HOR_CENTER); } if (nwi_header->IsWidgetVisible(WID_NG_DATE)) { @@ -408,7 +418,7 @@ protected: YearMonthDay ymd; ConvertDateToYMD(cur_item->info.game_date, &ymd); SetDParam(0, ymd.year); - DrawString(nwi_date->pos_x, nwi_date->pos_x + nwi_date->current_x - 1, y, STR_JUST_INT, TC_BLACK, SA_HOR_CENTER); + DrawString(nwi_date->pos_x, nwi_date->pos_x + nwi_date->current_x - 1, y + text_y_offset, STR_JUST_INT, TC_BLACK, SA_HOR_CENTER); } if (nwi_header->IsWidgetVisible(WID_NG_YEARS)) { @@ -418,20 +428,17 @@ protected: ConvertDateToYMD(cur_item->info.game_date, &ymd_cur); ConvertDateToYMD(cur_item->info.start_date, &ymd_start); SetDParam(0, ymd_cur.year - ymd_start.year); - DrawString(nwi_years->pos_x, nwi_years->pos_x + nwi_years->current_x - 1, y, STR_JUST_INT, TC_BLACK, SA_HOR_CENTER); + DrawString(nwi_years->pos_x, nwi_years->pos_x + nwi_years->current_x - 1, y + text_y_offset, STR_JUST_INT, TC_BLACK, SA_HOR_CENTER); } - /* Align the sprites */ - y += (FONT_HEIGHT_NORMAL - 10) / 2; - /* draw a lock if the server is password protected */ - if (cur_item->info.use_password) DrawSprite(SPR_LOCK, PAL_NONE, nwi_info->pos_x + 5, y - 1); + if (cur_item->info.use_password) DrawSprite(SPR_LOCK, PAL_NONE, nwi_info->pos_x + this->lock_offset, y + icon_y_offset - 1); /* draw red or green icon, depending on compatibility with server */ - DrawSprite(SPR_BLOT, (cur_item->info.compatible ? PALETTE_TO_GREEN : (cur_item->info.version_compatible ? PALETTE_TO_YELLOW : PALETTE_TO_RED)), nwi_info->pos_x + 15, y); + DrawSprite(SPR_BLOT, (cur_item->info.compatible ? PALETTE_TO_GREEN : (cur_item->info.version_compatible ? PALETTE_TO_YELLOW : PALETTE_TO_RED)), nwi_info->pos_x + this->blot_offset, y + icon_y_offset); /* draw flag according to server language */ - DrawSprite(SPR_FLAGS_BASE + cur_item->info.server_lang, PAL_NONE, nwi_info->pos_x + 25, y); + DrawSprite(SPR_FLAGS_BASE + cur_item->info.server_lang, PAL_NONE, nwi_info->pos_x + this->flag_offset, y + icon_y_offset); } } @@ -454,6 +461,10 @@ public: this->list_pos = SLP_INVALID; this->server = NULL; + this->lock_offset = 5; + this->blot_offset = this->lock_offset + 3 + GetSpriteSize(SPR_LOCK).width; + this->flag_offset = this->blot_offset + 2 + GetSpriteSize(SPR_BLOT).width; + this->CreateNestedTree(); this->vscroll = this->GetScrollbar(WID_NG_SCROLLBAR); this->FinishInitNested(WN_NETWORK_WINDOW_GAME); @@ -493,18 +504,18 @@ public: { switch (widget) { case WID_NG_CONN_BTN: - *size = maxdim(GetStringBoundingBox(_lan_internet_types_dropdown[0]), GetStringBoundingBox(_lan_internet_types_dropdown[1])); + *size = maxdim(*size, maxdim(GetStringBoundingBox(_lan_internet_types_dropdown[0]), GetStringBoundingBox(_lan_internet_types_dropdown[1]))); size->width += padding.width; size->height += padding.height; break; case WID_NG_MATRIX: - resize->height = WD_MATRIX_TOP + FONT_HEIGHT_NORMAL + WD_MATRIX_BOTTOM; + resize->height = WD_MATRIX_TOP + max(GetSpriteSize(SPR_BLOT).height, (uint)FONT_HEIGHT_NORMAL) + WD_MATRIX_BOTTOM; size->height = 10 * resize->height; break; case WID_NG_LASTJOINED: - size->height = WD_MATRIX_TOP + FONT_HEIGHT_NORMAL + WD_MATRIX_BOTTOM; + size->height = WD_MATRIX_TOP + max(GetSpriteSize(SPR_BLOT).height, (uint)FONT_HEIGHT_NORMAL) + WD_MATRIX_BOTTOM; break; case WID_NG_LASTJOINED_SPACER: @@ -512,11 +523,11 @@ public: break; case WID_NG_NAME: - size->width += 2 * WD_SORTBUTTON_ARROW_WIDTH; // Make space for the arrow + size->width += 2 * Window::SortButtonWidth(); // Make space for the arrow break; case WID_NG_CLIENTS: - size->width += 2 * WD_SORTBUTTON_ARROW_WIDTH; // Make space for the arrow + size->width += 2 * Window::SortButtonWidth(); // Make space for the arrow SetDParamMaxValue(0, MAX_CLIENTS); SetDParamMaxValue(1, MAX_CLIENTS); SetDParamMaxValue(2, MAX_COMPANIES); @@ -525,7 +536,7 @@ public: break; case WID_NG_MAPSIZE: - size->width += 2 * WD_SORTBUTTON_ARROW_WIDTH; // Make space for the arrow + size->width += 2 * Window::SortButtonWidth(); // Make space for the arrow SetDParamMaxValue(0, MAX_MAP_SIZE); SetDParamMaxValue(1, MAX_MAP_SIZE); *size = maxdim(*size, GetStringBoundingBox(STR_NETWORK_SERVER_LIST_MAP_SIZE_SHORT)); @@ -533,7 +544,7 @@ public: case WID_NG_DATE: case WID_NG_YEARS: - size->width += 2 * WD_SORTBUTTON_ARROW_WIDTH; // Make space for the arrow + size->width += 2 * Window::SortButtonWidth(); // Make space for the arrow SetDParamMaxValue(0, 5); *size = maxdim(*size, GetStringBoundingBox(STR_JUST_INT)); break; @@ -548,7 +559,7 @@ public: { switch (widget) { case WID_NG_MATRIX: { - uint16 y = r.top + WD_MATRIX_TOP; + uint16 y = r.top; const int max = min(this->vscroll->GetPosition() + this->vscroll->GetCapacity(), (int)this->servers.Length()); @@ -562,7 +573,7 @@ public: case WID_NG_LASTJOINED: /* Draw the last joined server, if any */ - if (this->last_joined != NULL) this->DrawServerLine(this->last_joined, r.top + WD_MATRIX_TOP, this->last_joined == this->server); + if (this->last_joined != NULL) this->DrawServerLine(this->last_joined, r.top, this->last_joined == this->server); break; case WID_NG_DETAILS: @@ -754,7 +765,7 @@ public: case WID_NG_JOIN: // Join Game if (this->server != NULL) { - snprintf(_settings_client.network.last_host, sizeof(_settings_client.network.last_host), "%s", this->server->address.GetHostname()); + seprintf(_settings_client.network.last_host, lastof(_settings_client.network.last_host), "%s", this->server->address.GetHostname()); _settings_client.network.last_port = this->server->address.GetPort(); ShowNetworkLobbyWindow(this->server); } @@ -2189,7 +2200,7 @@ static const NWidgetPart _nested_network_company_password_window_widgets[] = { NWidget(NWID_VERTICAL), SetPIP(5, 5, 5), NWidget(NWID_HORIZONTAL), SetPIP(5, 5, 5), NWidget(WWT_TEXT, COLOUR_GREY, WID_NCP_LABEL), SetDataTip(STR_COMPANY_VIEW_PASSWORD, STR_NULL), - NWidget(WWT_EDITBOX, COLOUR_GREY, WID_NCP_PASSWORD), SetMinimalSize(194, 12), SetDataTip(STR_COMPANY_VIEW_SET_PASSWORD, STR_NULL), + NWidget(WWT_EDITBOX, COLOUR_GREY, WID_NCP_PASSWORD), SetFill(1, 0), SetMinimalSize(194, 12), SetDataTip(STR_COMPANY_VIEW_SET_PASSWORD, STR_NULL), EndContainer(), NWidget(NWID_HORIZONTAL), SetPIP(5, 0, 5), NWidget(NWID_SPACER), SetFill(1, 0), diff --git a/src/network/network_internal.h b/src/network/network_internal.h index 60862dd7fa..ed9a8de6f6 100644 --- a/src/network/network_internal.h +++ b/src/network/network_internal.h @@ -168,7 +168,7 @@ void NetworkError(StringID error_string); void NetworkTextMessage(NetworkAction action, TextColour colour, bool self_send, const char *name, const char *str = "", int64 data = 0); uint NetworkCalculateLag(const NetworkClientSocket *cs); StringID GetNetworkErrorMsg(NetworkErrorCode err); -bool NetworkFindName(char new_name[NETWORK_CLIENT_NAME_LENGTH]); +bool NetworkFindName(char *new_name, const char *last); const char *GenerateCompanyPasswordHash(const char *password, const char *password_server_id, uint32 password_game_seed); #endif /* ENABLE_NETWORK */ diff --git a/src/network/network_server.cpp b/src/network/network_server.cpp index fcaad19ab0..6a33c73d89 100644 --- a/src/network/network_server.cpp +++ b/src/network/network_server.cpp @@ -33,6 +33,8 @@ #include "../core/random_func.hpp" #include "../rev.h" +#include "../safeguards.h" + /* This file handles all the server-commands */ @@ -274,7 +276,7 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::CloseConnection(NetworkRecvSta char client_name[NETWORK_CLIENT_NAME_LENGTH]; NetworkClientSocket *new_cs; - this->GetClientName(client_name, sizeof(client_name)); + this->GetClientName(client_name, lastof(client_name)); NetworkTextMessage(NETWORK_ACTION_LEAVE, CC_DEFAULT, false, client_name, NULL, STR_NETWORK_ERROR_CLIENT_CONNECTION_LOST); @@ -380,7 +382,7 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::SendCompanyInfo() FOR_ALL_CLIENT_SOCKETS(csi) { char client_name[NETWORK_CLIENT_NAME_LENGTH]; - ((ServerNetworkGameSocketHandler*)csi)->GetClientName(client_name, sizeof(client_name)); + ((ServerNetworkGameSocketHandler*)csi)->GetClientName(client_name, lastof(client_name)); ci = csi->GetInfo(); if (ci != NULL && Company::IsValidID(ci->client_playas)) { @@ -442,7 +444,7 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::SendError(NetworkErrorCode err NetworkClientSocket *new_cs; char client_name[NETWORK_CLIENT_NAME_LENGTH]; - this->GetClientName(client_name, sizeof(client_name)); + this->GetClientName(client_name, lastof(client_name)); DEBUG(net, 1, "'%s' made an error and has been disconnected. Reason: '%s'", client_name, str); @@ -939,7 +941,7 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::Receive_CLIENT_JOIN(Packet *p) /* We need a valid name.. make it Player */ if (StrEmpty(name)) strecpy(name, "Player", lastof(name)); - if (!NetworkFindName(name)) { // Change name if duplicate + if (!NetworkFindName(name, lastof(name))) { // Change name if duplicate /* We could not create a name for this client */ return this->SendError(NETWORK_ERROR_NAME_IN_USE); } @@ -951,7 +953,7 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::Receive_CLIENT_JOIN(Packet *p) strecpy(ci->client_name, name, lastof(ci->client_name)); ci->client_playas = playas; ci->client_lang = client_lang; - DEBUG(desync, 1, "client: %08x; %02x; %02x; %04x", _date, _date_fract, (int)ci->client_playas, ci->index); + DEBUG(desync, 1, "client: %08x; %02x; %02x; %02x", _date, _date_fract, (int)ci->client_playas, (int)ci->index); /* Make sure companies to which people try to join are not autocleaned */ if (Company::IsValidID(playas)) _network_company_states[playas].months_empty = 0; @@ -1042,7 +1044,7 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::Receive_CLIENT_MAP_OK(Packet * char client_name[NETWORK_CLIENT_NAME_LENGTH]; NetworkClientSocket *new_cs; - this->GetClientName(client_name, sizeof(client_name)); + this->GetClientName(client_name, lastof(client_name)); NetworkTextMessage(NETWORK_ACTION_JOIN, CC_DEFAULT, false, client_name, NULL, this->client_id); @@ -1160,7 +1162,7 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::Receive_CLIENT_ERROR(Packet *p return this->CloseConnection(NETWORK_RECV_STATUS_CONN_LOST); } - this->GetClientName(client_name, sizeof(client_name)); + this->GetClientName(client_name, lastof(client_name)); StringID strid = GetNetworkErrorMsg(errorno); GetString(str, strid, lastof(str)); @@ -1192,7 +1194,7 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::Receive_CLIENT_QUIT(Packet *p) return this->CloseConnection(NETWORK_RECV_STATUS_CONN_LOST); } - this->GetClientName(client_name, sizeof(client_name)); + this->GetClientName(client_name, lastof(client_name)); NetworkTextMessage(NETWORK_ACTION_LEAVE, CC_DEFAULT, false, client_name, NULL, STR_NETWORK_MESSAGE_CLIENT_LEAVING); @@ -1441,7 +1443,7 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::Receive_CLIENT_SET_NAME(Packet if (ci != NULL) { /* Display change */ - if (NetworkFindName(client_name)) { + if (NetworkFindName(client_name, lastof(client_name))) { NetworkTextMessage(NETWORK_ACTION_NAME_CHANGE, CC_DEFAULT, false, ci->client_name, client_name); strecpy(ci->client_name, client_name, lastof(ci->client_name)); NetworkUpdateClientInfo(ci->client_id); @@ -1699,16 +1701,16 @@ static void NetworkAutoCleanCompanies() /** * Check whether a name is unique, and otherwise try to make it unique. * @param new_name The name to check/modify. + * @param last The last writeable element of the buffer. * @return True if an unique name was achieved. */ -bool NetworkFindName(char new_name[NETWORK_CLIENT_NAME_LENGTH]) +bool NetworkFindName(char *new_name, const char *last) { bool found_name = false; uint number = 0; char original_name[NETWORK_CLIENT_NAME_LENGTH]; - /* We use NETWORK_CLIENT_NAME_LENGTH in here, because new_name is really a pointer */ - ttd_strlcpy(original_name, new_name, NETWORK_CLIENT_NAME_LENGTH); + strecpy(original_name, new_name, lastof(original_name)); while (!found_name) { const NetworkClientInfo *ci; @@ -1732,7 +1734,7 @@ bool NetworkFindName(char new_name[NETWORK_CLIENT_NAME_LENGTH]) /* Something's really wrong when there're more names than clients */ if (number++ > MAX_CLIENTS) break; - snprintf(new_name, NETWORK_CLIENT_NAME_LENGTH, "%s #%d", original_name, number); + seprintf(new_name, last, "%s #%d", original_name, number); } } @@ -2100,7 +2102,7 @@ uint NetworkServerKickOrBanIP(const char *ip, bool ban) break; } } - if (!contains) *_network_ban_list.Append() = strdup(ip); + if (!contains) *_network_ban_list.Append() = stredup(ip); } uint n = 0; @@ -2136,16 +2138,16 @@ bool NetworkCompanyHasClients(CompanyID company) /** * Get the name of the client, if the user did not send it yet, Client # is used. * @param client_name The variable to write the name to. - * @param size The amount of bytes we can write. + * @param last The pointer to the last element of the destination buffer */ -void ServerNetworkGameSocketHandler::GetClientName(char *client_name, size_t size) const +void ServerNetworkGameSocketHandler::GetClientName(char *client_name, const char *last) const { const NetworkClientInfo *ci = this->GetInfo(); if (ci == NULL || StrEmpty(ci->client_name)) { - snprintf(client_name, size, "Client #%4d", this->client_id); + seprintf(client_name, last, "Client #%4d", this->client_id); } else { - ttd_strlcpy(client_name, ci->client_name, size); + strecpy(client_name, ci->client_name, last); } } @@ -2171,4 +2173,37 @@ void NetworkPrintClients() } } +/** + * Perform all the server specific administration of a new company. + * @param c The newly created company; can't be NULL. + * @param ci The client information of the client that made the company; can be NULL. + */ +void NetworkServerNewCompany(const Company *c, NetworkClientInfo *ci) +{ + assert(c != NULL); + + if (!_network_server) return; + + _network_company_states[c->index].months_empty = 0; + _network_company_states[c->index].password[0] = '\0'; + NetworkServerUpdateCompanyPassworded(c->index, false); + + if (ci != NULL) { + /* ci is NULL when replaying, or for AIs. In neither case there is a client. */ + ci->client_playas = c->index; + NetworkUpdateClientInfo(ci->client_id); + NetworkSendCommand(0, 0, 0, CMD_RENAME_PRESIDENT, NULL, ci->client_name, c->index); + } + + /* Announce new company on network. */ + NetworkAdminCompanyInfo(c, true); + + if (ci != NULL) { + /* ci is NULL when replaying, or for AIs. In neither case there is a client. + We need to send Admin port update here so that they first know about the new company + and then learn about a possibly joining client (see FS#6025) */ + NetworkServerSendChat(NETWORK_ACTION_COMPANY_NEW, DESTTYPE_BROADCAST, 0, "", ci->client_id, c->index + 1); + } +} + #endif /* ENABLE_NETWORK */ diff --git a/src/network/network_server.h b/src/network/network_server.h index b0a2ec461f..a52b2c9366 100644 --- a/src/network/network_server.h +++ b/src/network/network_server.h @@ -83,7 +83,7 @@ public: virtual Packet *ReceivePacket(); NetworkRecvStatus CloseConnection(NetworkRecvStatus status); - void GetClientName(char *client_name, size_t size) const; + void GetClientName(char *client_name, const char *last) const; NetworkRecvStatus SendMap(); NetworkRecvStatus SendErrorQuit(ClientID client_id, NetworkErrorCode errorno); @@ -123,6 +123,7 @@ public: void NetworkServer_Tick(bool send_frame); void NetworkServerSetCompanyPassword(CompanyID company_id, const char *password, bool already_hashed = true); +void NetworkServerUpdateCompanyPassworded(CompanyID company_id, bool passworded); /** * Iterate over all the sockets from a given starting point. diff --git a/src/network/network_udp.cpp b/src/network/network_udp.cpp index cde2994f70..731d51ca05 100644 --- a/src/network/network_udp.cpp +++ b/src/network/network_udp.cpp @@ -34,6 +34,8 @@ #include "core/udp.h" +#include "../safeguards.h" + /** Mutex for all out threaded udp resolution and such. */ static ThreadMutex *_network_udp_mutex = ThreadMutex::New(); @@ -382,7 +384,7 @@ void ClientNetworkUDPSocketHandler::Receive_SERVER_RESPONSE(Packet *p, NetworkAd } if (item->info.hostname[0] == '\0') { - snprintf(item->info.hostname, sizeof(item->info.hostname), "%s", client_addr->GetHostname()); + seprintf(item->info.hostname, lastof(item->info.hostname), "%s", client_addr->GetHostname()); } if (client_addr->GetAddress()->ss_family == AF_INET6) { diff --git a/src/newgrf.cpp b/src/newgrf.cpp index 4485b717ab..c9a78deb90 100644 --- a/src/newgrf.cpp +++ b/src/newgrf.cpp @@ -52,6 +52,8 @@ #include "table/strings.h" #include "table/build_industry.h" +#include "safeguards.h" + /* TTDPatch extended GRF format codec * (c) Petr Baudis 2004 (GPL'd) * Changes by Florian octo Forster are (c) by the OpenTTD development team. @@ -375,7 +377,7 @@ void CDECL grfmsg(int severity, const char *str, ...) va_list va; va_start(va, str); - vsnprintf(buf, sizeof(buf), str, va); + vseprintf(buf, lastof(buf), str, va); va_end(va); DEBUG(grf, severity, "[%s:%d] %s", _cur.grfconfig->filename, _cur.nfo_line, buf); @@ -2694,13 +2696,13 @@ static ChangeInfoResult GlobalVarChangeInfo(uint gvid, int numinfo, int prop, By for (uint j = 0; j < SNOW_LINE_DAYS; j++) { table[i][j] = buf->ReadByte(); if (_cur.grffile->grf_version >= 8) { - if (table[i][j] != 0xFF) table[i][j] = table[i][j] * (1 + MAX_TILE_HEIGHT) / 256; + if (table[i][j] != 0xFF) table[i][j] = table[i][j] * (1 + _settings_game.construction.max_heightlevel) / 256; } else { if (table[i][j] >= 128) { /* no snow */ table[i][j] = 0xFF; } else { - table[i][j] = table[i][j] * (1 + MAX_TILE_HEIGHT) / 128; + table[i][j] = table[i][j] * (1 + _settings_game.construction.max_heightlevel) / 128; } } } @@ -3469,6 +3471,15 @@ static ChangeInfoResult IndustriesChangeInfo(uint indid, int numinfo, int prop, } else if (itt[k].gfx == 0xFF) { itt[k].ti.x = (int8)GB(itt[k].ti.x, 0, 8); itt[k].ti.y = (int8)GB(itt[k].ti.y, 0, 8); + + /* When there were only 256x256 maps, TileIndex was a uint16 and + * itt[k].ti was just a TileIndexDiff that was added to it. + * As such negative "x" values were shifted into the "y" position. + * x = -1, y = 1 -> x = 255, y = 0 + * Since GRF version 8 the position is interpreted as pair of independent int8. + * For GRF version < 8 we need to emulate the old shifting behaviour. + */ + if (_cur.grffile->grf_version < 8 && itt[k].ti.x < 0) itt[k].ti.y += 1; } } @@ -5592,6 +5603,7 @@ static const Action5Type _action5_types[] = { /* 0x15 */ { A5BLOCK_ALLOW_OFFSET, SPR_OPENTTD_BASE, 1, OPENTTD_SPRITE_COUNT, "OpenTTD GUI graphics" }, /* 0x16 */ { A5BLOCK_ALLOW_OFFSET, SPR_AIRPORT_PREVIEW_BASE, 1, SPR_AIRPORT_PREVIEW_COUNT, "Airport preview graphics" }, /* 0x17 */ { A5BLOCK_ALLOW_OFFSET, SPR_RAILTYPE_TUNNEL_BASE, 1, RAILTYPE_TUNNEL_BASE_COUNT, "Railtype tunnel base" }, + /* 0x18 */ { A5BLOCK_ALLOW_OFFSET, SPR_PALETTE_BASE, 1, PALETTE_SPRITE_COUNT, "Palette" }, }; /* Action 0x05 */ @@ -5824,7 +5836,7 @@ bool GetGlobalVariable(byte param, uint32 *value, const GRFFile *grffile) case 0x20: { // snow line height byte snowline = GetSnowLine(); - if (_settings_game.game_creation.landscape == LT_ARCTIC && snowline <= MAX_TILE_HEIGHT) { + if (_settings_game.game_creation.landscape == LT_ARCTIC && snowline <= _settings_game.construction.max_heightlevel) { *value = Clamp(snowline * (grffile->grf_version >= 8 ? 1 : TILE_HEIGHT), 0, 0xFE); } else { /* No snow */ @@ -6004,7 +6016,7 @@ static void CfgApply(ByteReader *buf) static void DisableStaticNewGRFInfluencingNonStaticNewGRFs(GRFConfig *c) { GRFError *error = DisableGrf(STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC, c); - error->data = strdup(_cur.grfconfig->GetName()); + error->data = stredup(_cur.grfconfig->GetName()); } /* Action 0x07 @@ -6092,7 +6104,7 @@ static void SkipIf(ByteReader *buf) case 0x0A: // GRFID is not nor will be active /* This is the only condtype that doesn't get ignored if the GRFID is not found */ - result = c == NULL || c->flags == GCS_DISABLED || c->status == GCS_NOT_FOUND; + result = c == NULL || c->status == GCS_DISABLED || c->status == GCS_NOT_FOUND; break; default: grfmsg(1, "SkipIf: Unsupported GRF condition type %02X. Ignoring", condtype); return; @@ -6367,7 +6379,7 @@ static void GRFLoadError(ByteReader *buf) error->custom_message = TranslateTTDPatchCodes(_cur.grffile->grfid, lang, true, message, NULL, SCC_RAW_STRING_POINTER); } else { grfmsg(7, "GRFLoadError: No custom message supplied."); - error->custom_message = strdup(""); + error->custom_message = stredup(""); } } else { error->message = msgstr[message_id]; @@ -6379,7 +6391,7 @@ static void GRFLoadError(ByteReader *buf) error->data = TranslateTTDPatchCodes(_cur.grffile->grfid, lang, true, data); } else { grfmsg(7, "GRFLoadError: No message data supplied."); - error->data = strdup(""); + error->data = stredup(""); } /* Only two parameter numbers can be used in the string. */ @@ -6481,7 +6493,7 @@ static uint32 GetPatchVariable(uint8 param) /* The maximum height of the map. */ case 0x14: - return MAX_TILE_HEIGHT; + return _settings_game.construction.max_heightlevel; /* Extra foundations base sprite */ case 0x15: @@ -6736,7 +6748,7 @@ static void ParamSet(ByteReader *buf) if ((int32)src2 < 0) { res = src1 >> -(int32)src2; } else { - res = src1 << src2; + res = src1 << (src2 & 0x1F); // Same behaviour as in EvalAdjustT, mask 'value' to 5 bits, which should behave the same on all architectures. } break; @@ -6744,7 +6756,7 @@ static void ParamSet(ByteReader *buf) if ((int32)src2 < 0) { res = (int32)src1 >> -(int32)src2; } else { - res = (int32)src1 << src2; + res = (int32)src1 << (src2 & 0x1F); // Same behaviour as in EvalAdjustT, mask 'value' to 5 bits, which should behave the same on all architectures. } break; @@ -6888,7 +6900,7 @@ static void GRFInhibit(ByteReader *buf) if (file != NULL && file != _cur.grfconfig) { grfmsg(2, "GRFInhibit: Deactivating file '%s'", file->filename); GRFError *error = DisableGrf(STR_NEWGRF_ERROR_FORCEFULLY_DISABLED, file); - error->data = strdup(_cur.grfconfig->GetName()); + error->data = stredup(_cur.grfconfig->GetName()); } } } @@ -7239,7 +7251,7 @@ static void TranslateGRFStrings(ByteReader *buf) char tmp[256]; GetString(tmp, STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE, lastof(tmp)); - error->data = strdup(tmp); + error->data = stredup(tmp); return; } @@ -8180,7 +8192,7 @@ static void InitNewGRFFile(const GRFConfig *config) */ GRFFile::GRFFile(const GRFConfig *config) { - this->filename = strdup(config->filename); + this->filename = stredup(config->filename); this->grfid = config->ident.grfid; /* Initialise local settings to defaults */ @@ -9089,8 +9101,6 @@ static void FinalisePriceBaseMultipliers() } } -void InitDepotWindowBlockSizes(); - extern void InitGRFTownGeneratorNames(); /** Finish loading NewGRFs and execute needed post-processing */ @@ -9119,9 +9129,6 @@ static void AfterLoadGRFs() /* Set the actually used Canal properties */ FinaliseCanals(); - /* Set the block size in the depot windows based on vehicle sprite sizes */ - InitDepotWindowBlockSizes(); - /* Add all new houses to the house array. */ FinaliseHouseArray(); diff --git a/src/newgrf.h b/src/newgrf.h index a02b0021ff..752873a60e 100644 --- a/src/newgrf.h +++ b/src/newgrf.h @@ -61,6 +61,7 @@ enum GrfMiscBit { GMB_TRAIN_WIDTH_32_PIXELS = 3, ///< Use 32 pixels per train vehicle in depot gui and vehicle details. Never set in the global variable; @see GRFFile::traininfo_vehicle_width GMB_AMBIENT_SOUND_CALLBACK = 4, GMB_CATENARY_ON_3RD_TRACK = 5, // Unsupported. + GMB_SECOND_ROCKY_TILE_SET = 6, }; enum GrfSpecFeature { diff --git a/src/newgrf_airport.cpp b/src/newgrf_airport.cpp index 4201fc6221..6db12f7373 100644 --- a/src/newgrf_airport.cpp +++ b/src/newgrf_airport.cpp @@ -17,6 +17,8 @@ #include "station_base.h" #include "newgrf_class_func.h" +#include "safeguards.h" + /** Resolver for the airport scope. */ struct AirportScopeResolver : public ScopeResolver { struct Station *st; ///< Station of the airport for which the callback is run, or \c NULL for build gui. diff --git a/src/newgrf_airporttiles.cpp b/src/newgrf_airporttiles.cpp index 323fb6cc16..5eb24f670f 100644 --- a/src/newgrf_airporttiles.cpp +++ b/src/newgrf_airporttiles.cpp @@ -23,6 +23,8 @@ #include "table/airporttiles.h" #include "newgrf_animation_base.h" +#include "safeguards.h" + AirportTileSpec AirportTileSpec::tiles[NUM_AIRPORTTILES]; diff --git a/src/newgrf_callbacks.h b/src/newgrf_callbacks.h index e96d068037..2c30241f07 100644 --- a/src/newgrf_callbacks.h +++ b/src/newgrf_callbacks.h @@ -278,6 +278,9 @@ enum CallbackID { /** Called when industry is built to set initial production level. */ CBID_INDUSTRY_PROD_CHANGE_BUILD = 0x15F, // 15 bit callback + + /** Called to spawn visual effects for vehicles. */ + CBID_VEHICLE_SPAWN_VISUAL_EFFECT = 0x160, // 15 bit callback }; /** diff --git a/src/newgrf_canal.cpp b/src/newgrf_canal.cpp index 8f81fd0d8a..cba19cbdba 100644 --- a/src/newgrf_canal.cpp +++ b/src/newgrf_canal.cpp @@ -16,6 +16,8 @@ #include "water.h" #include "water_map.h" +#include "safeguards.h" + /** Table of canal 'feature' sprite groups */ WaterFeature _water_feature[CF_END]; diff --git a/src/newgrf_cargo.cpp b/src/newgrf_cargo.cpp index 0166985233..7d830c5730 100644 --- a/src/newgrf_cargo.cpp +++ b/src/newgrf_cargo.cpp @@ -13,6 +13,8 @@ #include "debug.h" #include "newgrf_spritegroup.h" +#include "safeguards.h" + /** Resolver of cargo. */ struct CargoResolverObject : public ResolverObject { CargoResolverObject(const CargoSpec *cs, CallbackID callback = CBID_NO_CALLBACK, uint32 callback_param1 = 0, uint32 callback_param2 = 0); diff --git a/src/newgrf_commons.cpp b/src/newgrf_commons.cpp index ef75be5d8c..4caf3a5d47 100644 --- a/src/newgrf_commons.cpp +++ b/src/newgrf_commons.cpp @@ -32,6 +32,8 @@ #include "table/strings.h" +#include "safeguards.h" + /** * Constructor of generic class * @param offset end of original data for this entity. i.e: houses = 110 diff --git a/src/newgrf_config.cpp b/src/newgrf_config.cpp index 337b3edd11..bd95373d91 100644 --- a/src/newgrf_config.cpp +++ b/src/newgrf_config.cpp @@ -25,6 +25,8 @@ #include "fileio_func.h" #include "fios.h" +#include "safeguards.h" + /** Create a new GRFTextWrapper. */ GRFTextWrapper::GRFTextWrapper() : text(NULL) @@ -48,7 +50,7 @@ GRFConfig::GRFConfig(const char *filename) : url(new GRFTextWrapper()), num_valid_params(lengthof(param)) { - if (filename != NULL) this->filename = strdup(filename); + if (filename != NULL) this->filename = stredup(filename); this->name->AddRef(); this->info->AddRef(); this->url->AddRef(); @@ -76,11 +78,11 @@ GRFConfig::GRFConfig(const GRFConfig &config) : { MemCpyT(this->original_md5sum, config.original_md5sum, lengthof(this->original_md5sum)); MemCpyT(this->param, config.param, lengthof(this->param)); - if (config.filename != NULL) this->filename = strdup(config.filename); + if (config.filename != NULL) this->filename = stredup(config.filename); this->name->AddRef(); this->info->AddRef(); this->url->AddRef(); - if (config.error != NULL) this->error = new GRFError(*config.error); + if (config.error != NULL) this->error = new GRFError(*config.error); for (uint i = 0; i < config.param_info.Length(); i++) { if (config.param_info[i] == NULL) { *this->param_info.Append() = NULL; @@ -93,7 +95,7 @@ GRFConfig::GRFConfig(const GRFConfig &config) : /** Cleanup a GRFConfig object. */ GRFConfig::~GRFConfig() { - /* GCF_COPY as in NOT strdupped/alloced the filename */ + /* GCF_COPY as in NOT stredupped/alloced the filename */ if (!HasBit(this->flags, GCF_COPY)) { free(this->filename); delete this->error; @@ -105,6 +107,17 @@ GRFConfig::~GRFConfig() for (uint i = 0; i < this->param_info.Length(); i++) delete this->param_info[i]; } +/** + * Copy the parameter information from the \a src config. + * @param src Source config. + */ +void GRFConfig::CopyParams(const GRFConfig &src) +{ + this->num_params = src.num_params; + this->num_valid_params = src.num_valid_params; + MemCpyT(this->param, src.param, lengthof(this->param)); +} + /** * Get the name of this grf. In case the name isn't known * the filename is returned. @@ -202,8 +215,8 @@ GRFError::GRFError(const GRFError &error) : message(error.message), severity(error.severity) { - if (error.custom_message != NULL) this->custom_message = strdup(error.custom_message); - if (error.data != NULL) this->data = strdup(error.data); + if (error.custom_message != NULL) this->custom_message = stredup(error.custom_message); + if (error.data != NULL) this->data = stredup(error.data); memcpy(this->param_value, error.param_value, sizeof(this->param_value)); } @@ -582,7 +595,7 @@ compatible_grf: * already a local one, so there is no need to replace it. */ if (!HasBit(c->flags, GCF_COPY)) { free(c->filename); - c->filename = strdup(f->filename); + c->filename = stredup(f->filename); memcpy(c->ident.md5sum, f->ident.md5sum, sizeof(c->ident.md5sum)); c->name->Release(); c->name = f->name; @@ -702,7 +715,7 @@ static int CDECL GRFSorter(GRFConfig * const *p1, GRFConfig * const *p2) const GRFConfig *c1 = *p1; const GRFConfig *c2 = *p2; - return strcasecmp(c1->GetName(), c2->GetName()); + return strnatcmp(c1->GetName(), c2->GetName()); } /** @@ -722,8 +735,8 @@ void DoScanNewGRFFiles(void *callback) DEBUG(grf, 1, "Scan complete, found %d files", num); if (num != 0 && _all_grfs != NULL) { /* Sort the linked list using quicksort. - * For that we first have to make an array, then sort and - * then remake the linked list. */ + * For that we first have to make an array, then sort and + * then remake the linked list. */ GRFConfig **to_sort = MallocT(num); uint i = 0; @@ -773,7 +786,7 @@ void ScanNewGRFFiles(NewGRFScanCallback *callback) /* Only then can we really start, especially by marking the whole screen dirty. Get those other windows hidden!. */ MarkWholeScreenDirty(); - if (!_video_driver->HasGUI() || !ThreadObject::New(&DoScanNewGRFFiles, callback, NULL)) { + if (!VideoDriver::GetInstance()->HasGUI() || !ThreadObject::New(&DoScanNewGRFFiles, callback, NULL)) { _modal_progress_work_mutex->EndCritical(); _modal_progress_paint_mutex->EndCritical(); DoScanNewGRFFiles(callback); diff --git a/src/newgrf_config.h b/src/newgrf_config.h index 906f9620d1..e19d8d6085 100644 --- a/src/newgrf_config.h +++ b/src/newgrf_config.h @@ -177,6 +177,8 @@ struct GRFConfig : ZeroedMemoryAllocator { struct GRFConfig *next; ///< NOSAVE: Next item in the linked list + void CopyParams(const GRFConfig &src); + bool IsOpenTTDBaseGRF() const; const char *GetTextfile(TextfileType type) const; diff --git a/src/newgrf_debug_gui.cpp b/src/newgrf_debug_gui.cpp index cead62750e..0074af2181 100644 --- a/src/newgrf_debug_gui.cpp +++ b/src/newgrf_debug_gui.cpp @@ -19,6 +19,7 @@ #include "strings_func.h" #include "textbuf_gui.h" #include "vehicle_gui.h" +#include "zoom_func.h" #include "engine_base.h" #include "industry.h" @@ -43,6 +44,8 @@ #include "table/strings.h" +#include "safeguards.h" + /** The sprite picker. */ NewGrfDebugSpritePicker _newgrf_debug_sprite_picker = { SPM_NONE, NULL, 0, SmallVector() }; @@ -398,7 +401,7 @@ struct NewGRFInspectWindow : Window { va_list va; va_start(va, format); - vsnprintf(buf, lengthof(buf), format, va); + vseprintf(buf, lastof(buf), format, va); va_end(va); offset -= this->vscroll->GetPosition(); @@ -699,8 +702,8 @@ void ShowNewGRFInspectWindow(GrfSpecFeature feature, uint index, const uint32 gr if (!IsNewGRFInspectable(feature, index)) return; WindowNumber wno = GetInspectWindowNumber(feature, index); - NewGRFInspectWindow *w = AllocateWindowDescFront(feature == GSF_TRAINS || feature == GSF_ROADVEHICLES ? &_newgrf_inspect_chain_desc : &_newgrf_inspect_desc, wno); - if (w == NULL) w = (NewGRFInspectWindow *)FindWindowById(WC_NEWGRF_INSPECT, wno); + WindowDesc *desc = (feature == GSF_TRAINS || feature == GSF_ROADVEHICLES) ? &_newgrf_inspect_chain_desc : &_newgrf_inspect_desc; + NewGRFInspectWindow *w = AllocateWindowDescFront(desc, wno, true); w->SetCallerGRFID(grfid); } @@ -803,8 +806,11 @@ GrfSpecFeature GetGrfSpecFeature(VehicleType type) /** Window used for aligning sprites. */ struct SpriteAlignerWindow : Window { - SpriteID current_sprite; ///< The currently shown sprite + typedef SmallPair XyOffs; ///< Pair for x and y offsets of the sprite before alignment. First value contains the x offset, second value y offset. + + SpriteID current_sprite; ///< The currently shown sprite. Scrollbar *vscroll; + SmallMap offs_start_map; ///< Mapping of starting offsets for the sprites which have been aligned in the sprite aligner window. SpriteAlignerWindow(WindowDesc *desc, WindowNumber wno) : Window(desc) { @@ -818,16 +824,30 @@ struct SpriteAlignerWindow : Window { virtual void SetStringParameters(int widget) const { + const Sprite *spr = GetSprite(this->current_sprite, ST_NORMAL); switch (widget) { case WID_SA_CAPTION: SetDParam(0, this->current_sprite); SetDParamStr(1, FioGetFilename(GetOriginFileSlot(this->current_sprite))); break; - case WID_SA_OFFSETS: { - const Sprite *spr = GetSprite(this->current_sprite, ST_NORMAL); - SetDParam(0, spr->x_offs / ZOOM_LVL_BASE); - SetDParam(1, spr->y_offs / ZOOM_LVL_BASE); + case WID_SA_OFFSETS_ABS: + SetDParam(0, spr->x_offs); + SetDParam(1, spr->y_offs); + break; + + case WID_SA_OFFSETS_REL: { + /* Relative offset is new absolute offset - starting absolute offset. + * Show 0, 0 as the relative offsets if entry is not in the map (meaning they have not been changed yet). + */ + const SmallPair *key_offs_pair = this->offs_start_map.Find(this->current_sprite); + if (key_offs_pair != this->offs_start_map.End()) { + SetDParam(0, spr->x_offs - key_offs_pair->second.first); + SetDParam(1, spr->y_offs - key_offs_pair->second.second); + } else { + SetDParam(0, 0); + SetDParam(1, 0); + } break; } @@ -853,20 +873,20 @@ struct SpriteAlignerWindow : Window { case WID_SA_SPRITE: { /* Center the sprite ourselves */ const Sprite *spr = GetSprite(this->current_sprite, ST_NORMAL); - int width = r.right - r.left + 1; - int height = r.bottom - r.top + 1; - int x = r.left - spr->x_offs / ZOOM_LVL_BASE + (width - spr->width / ZOOM_LVL_BASE) / 2; - int y = r.top - spr->y_offs / ZOOM_LVL_BASE + (height - spr->height / ZOOM_LVL_BASE) / 2; + int width = r.right - r.left + 1 - WD_BEVEL_LEFT - WD_BEVEL_RIGHT; + int height = r.bottom - r.top + 1 - WD_BEVEL_TOP - WD_BEVEL_BOTTOM; + int x = -UnScaleGUI(spr->x_offs) + (width - UnScaleGUI(spr->width) ) / 2; + int y = -UnScaleGUI(spr->y_offs) + (height - UnScaleGUI(spr->height)) / 2; - /* And draw only the part within the sprite area */ - SubSprite subspr = { - spr->x_offs + (spr->width - width * ZOOM_LVL_BASE) / 2 + 1, - spr->y_offs + (spr->height - height * ZOOM_LVL_BASE) / 2 + 1, - spr->x_offs + (spr->width + width * ZOOM_LVL_BASE) / 2 - 1, - spr->y_offs + (spr->height + height * ZOOM_LVL_BASE) / 2 - 1, - }; + DrawPixelInfo new_dpi; + if (!FillDrawPixelInfo(&new_dpi, r.left + WD_BEVEL_LEFT, r.top + WD_BEVEL_TOP, width, height)) break; + DrawPixelInfo *old_dpi = _cur_dpi; + _cur_dpi = &new_dpi; + + DrawSprite(this->current_sprite, PAL_NONE, x, y, NULL, ZOOM_LVL_GUI); + + _cur_dpi = old_dpi; - DrawSprite(this->current_sprite, PAL_NONE, x, y, &subspr, ZOOM_LVL_GUI); break; } @@ -946,17 +966,28 @@ struct SpriteAlignerWindow : Window { * particular NewGRF developer. */ Sprite *spr = const_cast(GetSprite(this->current_sprite, ST_NORMAL)); + + /* Remember the original offsets of the current sprite, if not already in mapping. */ + if (!(this->offs_start_map.Contains(this->current_sprite))) { + this->offs_start_map.Insert(this->current_sprite, XyOffs(spr->x_offs, spr->y_offs)); + } switch (widget) { - case WID_SA_UP: spr->y_offs -= ZOOM_LVL_BASE; break; - case WID_SA_DOWN: spr->y_offs += ZOOM_LVL_BASE; break; - case WID_SA_LEFT: spr->x_offs -= ZOOM_LVL_BASE; break; - case WID_SA_RIGHT: spr->x_offs += ZOOM_LVL_BASE; break; + case WID_SA_UP: spr->y_offs--; break; + case WID_SA_DOWN: spr->y_offs++; break; + case WID_SA_LEFT: spr->x_offs--; break; + case WID_SA_RIGHT: spr->x_offs++; break; } /* Of course, we need to redraw the sprite, but where is it used? * Everywhere is a safe bet. */ MarkWholeScreenDirty(); break; } + + case WID_SA_RESET_REL: + /* Reset the starting offsets for the current sprite. */ + this->offs_start_map.Erase(this->current_sprite); + this->SetDirty(); + break; } } @@ -1032,8 +1063,12 @@ static const NWidgetPart _nested_sprite_aligner_widgets[] = { NWidget(WWT_PUSHIMGBTN, COLOUR_GREY, WID_SA_DOWN), SetDataTip(SPR_ARROW_DOWN, STR_SPRITE_ALIGNER_MOVE_TOOLTIP), SetResize(0, 0), NWidget(NWID_SPACER), SetFill(1, 1), EndContainer(), + NWidget(WWT_LABEL, COLOUR_GREY, WID_SA_OFFSETS_ABS), SetDataTip(STR_SPRITE_ALIGNER_OFFSETS_ABS, STR_NULL), SetFill(1, 0), SetPadding(0, 10, 0, 10), + NWidget(WWT_LABEL, COLOUR_GREY, WID_SA_OFFSETS_REL), SetDataTip(STR_SPRITE_ALIGNER_OFFSETS_REL, STR_NULL), SetFill(1, 0), SetPadding(0, 10, 0, 10), NWidget(NWID_HORIZONTAL), SetPIP(10, 5, 10), - NWidget(WWT_LABEL, COLOUR_GREY, WID_SA_OFFSETS), SetDataTip(STR_SPRITE_ALIGNER_OFFSETS, STR_NULL), SetFill(1, 0), + NWidget(NWID_SPACER), SetFill(1, 1), + NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SA_RESET_REL), SetDataTip(STR_SPRITE_ALIGNER_RESET_BUTTON, STR_SPRITE_ALIGNER_RESET_TOOLTIP), SetFill(0, 0), + NWidget(NWID_SPACER), SetFill(1, 1), EndContainer(), EndContainer(), NWidget(NWID_VERTICAL), SetPIP(10, 5, 10), diff --git a/src/newgrf_engine.cpp b/src/newgrf_engine.cpp index b5fe5d711e..4aafa10f9f 100644 --- a/src/newgrf_engine.cpp +++ b/src/newgrf_engine.cpp @@ -25,6 +25,8 @@ #include "newgrf_railtype.h" #include "ship.h" +#include "safeguards.h" + struct WagonOverride { EngineID *train_id; uint trains; @@ -54,11 +56,6 @@ const SpriteGroup *GetWagonOverrideSpriteSet(EngineID engine, CargoID cargo, Eng { const Engine *e = Engine::Get(engine); - /* XXX: This could turn out to be a timesink on profiles. We could - * always just dedicate 65535 bytes for an [engine][train] trampoline - * for O(1). Or O(logMlogN) and searching binary tree or smt. like - * that. --pasky */ - for (uint i = 0; i < e->overrides_count; i++) { const WagonOverride *wo = &e->overrides[i]; @@ -543,9 +540,14 @@ static uint32 VehicleGetVariable(Vehicle *v, const VehicleScopeResolver *object, /* The cargo translation is specific to the accessing GRF, and thus cannot be cached. */ CargoID common_cargo_type = (v->grf_cache.consist_cargo_information >> 8) & 0xFF; - /* Unlike everywhere else the cargo translation table is only used since grf version 8, not 7. - * Note: The grffile == NULL case only happens if this function is called for default vehicles. - * And this is only done by CheckCaches(). */ + /* Note: + * - Unlike everywhere else the cargo translation table is only used since grf version 8, not 7. + * - For translating the cargo type we need to use the GRF which is resolving the variable, which + * is object->ro.grffile. + * In case of CBID_TRAIN_ALLOW_WAGON_ATTACH this is not the same as v->GetGRF(). + * - The grffile == NULL case only happens if this function is called for default vehicles. + * And this is only done by CheckCaches(). + */ const GRFFile *grffile = object->ro.grffile; uint8 common_bitnum = (common_cargo_type == CT_INVALID) ? 0xFF : (grffile == NULL || grffile->grf_version < 8) ? CargoSpec::Get(common_cargo_type)->bitnum : grffile->cargo_map[common_cargo_type]; @@ -565,7 +567,7 @@ static uint32 VehicleGetVariable(Vehicle *v, const VehicleScopeResolver *object, { const Vehicle *w = v->Next(); - uint16 altitude = v->z_pos - w->z_pos; // Aircraft height - shadow height + uint16 altitude = ClampToU16(v->z_pos - w->z_pos); // Aircraft height - shadow height byte airporttype = ATP_TTDP_LARGE; const Station *st = GetTargetAirportIfValid(Aircraft::From(v)); @@ -608,7 +610,12 @@ static uint32 VehicleGetVariable(Vehicle *v, const VehicleScopeResolver *object, */ const CargoSpec *cs = CargoSpec::Get(v->cargo_type); - return (cs->classes << 16) | (cs->weight << 8) | v->GetGRF()->cargo_map[v->cargo_type]; + /* Note: + * For translating the cargo type we need to use the GRF which is resolving the variable, which + * is object->ro.grffile. + * In case of CBID_TRAIN_ALLOW_WAGON_ATTACH this is not the same as v->GetGRF(). + */ + return (cs->classes << 16) | (cs->weight << 8) | object->ro.grffile->cargo_map[v->cargo_type]; } case 0x48: return v->GetEngine()->flags; // Vehicle Type Info @@ -658,7 +665,8 @@ static uint32 VehicleGetVariable(Vehicle *v, const VehicleScopeResolver *object, /* Only allow callbacks that don't change properties to avoid circular dependencies. */ if (object->ro.callback == CBID_NO_CALLBACK || object->ro.callback == CBID_RANDOM_TRIGGER || object->ro.callback == CBID_TRAIN_ALLOW_WAGON_ATTACH || - object->ro.callback == CBID_VEHICLE_START_STOP_CHECK || object->ro.callback == CBID_VEHICLE_32DAY_CALLBACK || object->ro.callback == CBID_VEHICLE_COLOUR_MAPPING) { + object->ro.callback == CBID_VEHICLE_START_STOP_CHECK || object->ro.callback == CBID_VEHICLE_32DAY_CALLBACK || object->ro.callback == CBID_VEHICLE_COLOUR_MAPPING || + object->ro.callback == CBID_VEHICLE_SPAWN_VISUAL_EFFECT) { Vehicle *u = v->Move((int32)GetRegister(0x10F)); if (u == NULL) return 0; // available, but zero @@ -899,7 +907,7 @@ static uint32 VehicleGetVariable(Vehicle *v, const VehicleScopeResolver *object, CargoID cargo_type = e->GetDefaultCargoType(); if (cargo_type != CT_INVALID) { const CargoSpec *cs = CargoSpec::Get(cargo_type); - return (cs->classes << 16) | (cs->weight << 8) | e->GetGRF()->cargo_map[cargo_type]; + return (cs->classes << 16) | (cs->weight << 8) | this->ro.grffile->cargo_map[cargo_type]; } else { return 0x000000FF; } diff --git a/src/newgrf_generic.cpp b/src/newgrf_generic.cpp index 55eee6d23e..9bd77239aa 100644 --- a/src/newgrf_generic.cpp +++ b/src/newgrf_generic.cpp @@ -18,6 +18,8 @@ #include "water_map.h" #include +#include "safeguards.h" + /** Scope resolver for generic objects and properties. */ struct GenericScopeResolver : public ScopeResolver { CargoID cargo_type; diff --git a/src/newgrf_gui.cpp b/src/newgrf_gui.cpp index 47cca029a9..2945f99455 100644 --- a/src/newgrf_gui.cpp +++ b/src/newgrf_gui.cpp @@ -36,6 +36,9 @@ #include "table/sprites.h" +#include +#include "safeguards.h" + /* Maximum number of NewGRFs that may be loaded. Six reserved slots are: * 0 - config, 1 - sound, 2 - base, 3 - logos, 4 - climate, 5 - extra */ static const int MAX_NEWGRFS = MAX_FILE_SLOTS - 6; @@ -88,7 +91,7 @@ static void ShowNewGRFInfo(const GRFConfig *c, uint x, uint y, uint right, uint /* Prepare and draw GRF ID */ char buff[256]; - snprintf(buff, lengthof(buff), "%08X", BSWAP32(c->ident.grfid)); + seprintf(buff, lastof(buff), "%08X", BSWAP32(c->ident.grfid)); SetDParamStr(0, buff); y = DrawStringMultiLine(x, right, y, bottom, STR_NEWGRF_SETTINGS_GRF_ID); @@ -134,9 +137,8 @@ static void ShowNewGRFInfo(const GRFConfig *c, uint x, uint y, uint right, uint /* Draw GRF info if it exists */ if (!StrEmpty(c->GetDescription())) { - SetDParam(0, STR_JUST_RAW_STRING); - SetDParamStr(1, c->GetDescription()); - y = DrawStringMultiLine(x, right, y, bottom, STR_BLACK_STRING); + SetDParamStr(0, c->GetDescription()); + y = DrawStringMultiLine(x, right, y, bottom, STR_BLACK_RAW_STRING); } else { y = DrawStringMultiLine(x, right, y, bottom, STR_NEWGRF_SETTINGS_NO_INFO); } @@ -197,7 +199,8 @@ struct NewGRFParametersWindow : public Window { switch (widget) { case WID_NP_NUMPAR_DEC: case WID_NP_NUMPAR_INC: { - size->width = size->height = FONT_HEIGHT_NORMAL; + size->width = max(SETTING_BUTTON_WIDTH / 2, FONT_HEIGHT_NORMAL); + size->height = max(SETTING_BUTTON_HEIGHT, FONT_HEIGHT_NORMAL); break; } @@ -211,7 +214,7 @@ struct NewGRFParametersWindow : public Window { } case WID_NP_BACKGROUND: - this->line_height = FONT_HEIGHT_NORMAL + WD_MATRIX_TOP + WD_MATRIX_BOTTOM; + this->line_height = max(SETTING_BUTTON_HEIGHT, FONT_HEIGHT_NORMAL) + WD_MATRIX_TOP + WD_MATRIX_BOTTOM; resize->width = 1; resize->height = this->line_height; @@ -264,6 +267,7 @@ struct NewGRFParametersWindow : public Window { int y = r.top; int button_y_offset = (this->line_height - SETTING_BUTTON_HEIGHT) / 2; + int text_y_offset = (this->line_height - FONT_HEIGHT_NORMAL) / 2; for (uint i = this->vscroll->GetPosition(); this->vscroll->IsVisible(i) && i < this->vscroll->GetCount(); i++) { GRFParameterInfo *par_info = (i < this->grf_config->param_info.Length()) ? this->grf_config->param_info[i] : NULL; if (par_info == NULL) par_info = GetDummyParameterInfo(i); @@ -299,7 +303,7 @@ struct NewGRFParametersWindow : public Window { SetDParam(1, i + 1); } - DrawString(text_left, text_right, y + WD_MATRIX_TOP, STR_NEWGRF_PARAMETERS_SETTING, selected ? TC_WHITE : TC_LIGHT_BLUE); + DrawString(text_left, text_right, y + text_y_offset, STR_NEWGRF_PARAMETERS_SETTING, selected ? TC_WHITE : TC_LIGHT_BLUE); y += this->line_height; } } @@ -565,7 +569,7 @@ void ShowNewGRFTextfileWindow(TextfileType file_type, const GRFConfig *c) new NewGRFTextfileWindow(file_type, c); } -static GRFPresetList _grf_preset_list; +static GRFPresetList _grf_preset_list; ///< List of known NewGRF presets. @see GetGRFPresetList class DropDownListPresetItem : public DropDownListItem { public: @@ -584,7 +588,25 @@ public: } }; + +typedef std::map GrfIdMap; ///< Map of grfid to the grf config. + +/** + * Add all grf configs from \a c into the map. + * @param c Grf list to add. + * @param grfid_map Map to add them to. + */ +static void FillGrfidMap(const GRFConfig *c, GrfIdMap *grfid_map) +{ + while (c != NULL) { + std::pair p(c->ident.grfid, c); + grfid_map->insert(p); + c = c->next; + } +} + static void NewGRFConfirmationCallback(Window *w, bool confirmed); +static void ShowSavePresetWindow(const char *initial_text); /** * Window for showing NewGRF files @@ -612,7 +634,7 @@ struct NewGRFWindow : public Window, NewGRFScanCallback { bool editable; ///< Is the window editable? bool show_params; ///< Are the grf-parameters shown in the info-panel? bool execute; ///< On pressing 'apply changes' are grf changes applied immediately, or only list is updated. - int preset; ///< Selected preset. + int preset; ///< Selected preset or \c -1 if none selected. int active_over; ///< Active GRF item over which another one is dragged, \c -1 if none. Scrollbar *vscroll; @@ -663,6 +685,7 @@ struct NewGRFWindow : public Window, NewGRFScanCallback { { DeleteWindowByClass(WC_GRF_PARAMETERS); DeleteWindowByClass(WC_TEXTFILE); + DeleteWindowByClass(WC_SAVE_PRESET); if (this->editable && !this->execute) { CopyGRFConfigList(this->orig_list, this->actives, true); @@ -675,6 +698,44 @@ struct NewGRFWindow : public Window, NewGRFScanCallback { _grf_preset_list.Clear(); } + /** + * Test whether the currently active set of NewGRFs can be upgraded with the available NewGRFs. + * @return Whether an upgrade is possible. + */ + bool CanUpgradeCurrent() + { + GrfIdMap grfid_map; + FillGrfidMap(this->actives, &grfid_map); + + for (const GRFConfig *a = _all_grfs; a != NULL; a = a->next) { + GrfIdMap::const_iterator iter = grfid_map.find(a->ident.grfid); + if (iter != grfid_map.end() && a->version > iter->second->version) return true; + } + return false; + } + + /** Upgrade the currently active set of NewGRFs. */ + void UpgradeCurrent() + { + GrfIdMap grfid_map; + FillGrfidMap(this->actives, &grfid_map); + + for (const GRFConfig *a = _all_grfs; a != NULL; a = a->next) { + GrfIdMap::iterator iter = grfid_map.find(a->ident.grfid); + if (iter == grfid_map.end() || iter->second->version >= a->version) continue; + + GRFConfig **c = &this->actives; + while (*c != iter->second) c = &(*c)->next; + GRFConfig *d = new GRFConfig(*a); + d->next = (*c)->next; + d->CopyParams(**c); + if (this->active_sel == *c) this->active_sel = NULL; + delete *c; + *c = d; + iter->second = d; + } + } + virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) { switch (widget) { @@ -906,7 +967,7 @@ struct NewGRFWindow : public Window, NewGRFScanCallback { } case WID_NS_PRESET_SAVE: - ShowQueryString(STR_EMPTY, STR_NEWGRF_SETTINGS_PRESET_SAVE_QUERY, 32, this, CS_ALPHANUMERAL, QSF_NONE); + ShowSavePresetWindow((this->preset == -1) ? NULL : _grf_preset_list[this->preset]); break; case WID_NS_PRESET_DELETE: @@ -1008,6 +1069,13 @@ struct NewGRFWindow : public Window, NewGRFScanCallback { break; } + case WID_NS_UPGRADE: { // Upgrade GRF. + if (!this->editable || this->actives == NULL) break; + UpgradeCurrent(); + this->InvalidateData(GOID_NEWGRF_LIST_EDITED); + break; + } + case WID_NS_AVAIL_LIST: { // Select a non-active GRF. ResetObjectToPlace(); @@ -1186,6 +1254,7 @@ struct NewGRFWindow : public Window, NewGRFScanCallback { WIDGET_LIST_END ); this->SetWidgetDisabledState(WID_NS_ADD, !this->editable || this->avail_sel == NULL || HasBit(this->avail_sel->flags, GCF_INVALID)); + this->SetWidgetDisabledState(WID_NS_UPGRADE, !this->editable || this->actives == NULL || !this->CanUpgradeCurrent()); bool disable_all = this->active_sel == NULL || !this->editable; this->SetWidgetsDisabledState(disable_all, @@ -1493,7 +1562,7 @@ void ShowMissingContentWindow(const GRFConfig *list) ContentInfo *ci = new ContentInfo(); ci->type = CONTENT_TYPE_NEWGRF; ci->state = ContentInfo::DOES_NOT_EXIST; - ttd_strlcpy(ci->name, c->GetName(), lengthof(ci->name)); + strecpy(ci->name, c->GetName(), lastof(ci->name)); ci->unique_id = BSWAP32(c->ident.grfid); memcpy(ci->md5sum, HasBit(c->flags, GCF_COMPATIBLE) ? c->original_md5sum : c->ident.md5sum, sizeof(ci->md5sum)); *cv.Append() = ci; @@ -1768,6 +1837,8 @@ static const NWidgetPart _nested_newgrf_actives_widgets[] = { NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_NS_MOVE_DOWN), SetFill(1, 0), SetResize(1, 0), SetDataTip(STR_NEWGRF_SETTINGS_MOVEDOWN, STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP), EndContainer(), + NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_NS_UPGRADE), SetFill(1, 0), SetResize(1, 0), + SetDataTip(STR_NEWGRF_SETTINGS_UPGRADE, STR_NEWGRF_SETTINGS_UPGRADE_TOOLTIP), EndContainer(), NWidget(NWID_VERTICAL, NC_EQUALSIZE), SetPadding(2, 2, 2, 2), @@ -1938,6 +2009,162 @@ void ShowNewGRFSettings(bool editable, bool show_params, bool exec_changes, GRFC new NewGRFWindow(&_newgrf_desc, editable, show_params, exec_changes, config); } +/** Widget parts of the save preset window. */ +static const NWidgetPart _nested_save_preset_widgets[] = { + NWidget(NWID_HORIZONTAL), + NWidget(WWT_CLOSEBOX, COLOUR_GREY), + NWidget(WWT_CAPTION, COLOUR_GREY), SetDataTip(STR_SAVE_PRESET_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS), + NWidget(WWT_DEFSIZEBOX, COLOUR_GREY), + EndContainer(), + NWidget(WWT_PANEL, COLOUR_GREY), + NWidget(NWID_HORIZONTAL), + NWidget(WWT_INSET, COLOUR_GREY, WID_SVP_PRESET_LIST), SetPadding(2, 1, 0, 2), + SetDataTip(0x0, STR_SAVE_PRESET_LIST_TOOLTIP), SetResize(1, 10), SetScrollbar(WID_SVP_SCROLLBAR), EndContainer(), + NWidget(NWID_VSCROLLBAR, COLOUR_GREY, WID_SVP_SCROLLBAR), + EndContainer(), + NWidget(WWT_EDITBOX, COLOUR_GREY, WID_SVP_EDITBOX), SetPadding(3, 2, 2, 2), SetFill(1, 0), SetResize(1, 0), + SetDataTip(STR_SAVE_PRESET_TITLE, STR_SAVE_PRESET_EDITBOX_TOOLTIP), + EndContainer(), + NWidget(NWID_HORIZONTAL), + NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SVP_CANCEL), SetDataTip(STR_SAVE_PRESET_CANCEL, STR_SAVE_PRESET_CANCEL_TOOLTIP), SetFill(1, 0), SetResize(1, 0), + NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SVP_SAVE), SetDataTip(STR_SAVE_PRESET_SAVE, STR_SAVE_PRESET_SAVE_TOOLTIP), SetFill(1, 0), SetResize(1, 0), + NWidget(WWT_RESIZEBOX, COLOUR_GREY), + EndContainer(), +}; + +/** Window description of the preset save window. */ +static WindowDesc _save_preset_desc( + WDP_CENTER, "save_preset", 140, 110, + WC_SAVE_PRESET, WC_GAME_OPTIONS, + WDF_MODAL, + _nested_save_preset_widgets, lengthof(_nested_save_preset_widgets) +); + +/** Class for the save preset window. */ +struct SavePresetWindow : public Window { + QueryString presetname_editbox; ///< Edit box of the save preset. + GRFPresetList presets; ///< Available presets. + Scrollbar *vscroll; ///< Pointer to the scrollbar widget. + int selected; ///< Selected entry in the preset list, or \c -1 if none selected. + + /** + * Constructor of the save preset window. + * @param initial_text Initial text to display in the edit box, or \c NULL. + */ + SavePresetWindow(const char *initial_text) : Window(&_save_preset_desc), presetname_editbox(32) + { + GetGRFPresetList(&this->presets); + this->selected = -1; + if (initial_text != NULL) { + for (uint i = 0; i < this->presets.Length(); i++) { + if (!strcmp(initial_text, this->presets[i])) { + this->selected = i; + break; + } + } + } + + this->querystrings[WID_SVP_EDITBOX] = &this->presetname_editbox; + this->presetname_editbox.ok_button = WID_SVP_SAVE; + this->presetname_editbox.cancel_button = WID_SVP_CANCEL; + + this->CreateNestedTree(); + this->vscroll = this->GetScrollbar(WID_SVP_SCROLLBAR); + this->FinishInitNested(0); + + this->vscroll->SetCount(this->presets.Length()); + this->SetFocusedWidget(WID_SVP_EDITBOX); + if (initial_text != NULL) this->presetname_editbox.text.Assign(initial_text); + } + + ~SavePresetWindow() + { + } + + virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) + { + switch (widget) { + case WID_SVP_PRESET_LIST: { + resize->height = FONT_HEIGHT_NORMAL + 2U; + size->height = 0; + for (uint i = 0; i < this->presets.Length(); i++) { + Dimension d = GetStringBoundingBox(this->presets[i]); + size->width = max(size->width, d.width + WD_FRAMETEXT_LEFT + WD_FRAMETEXT_RIGHT); + resize->height = max(resize->height, d.height); + } + size->height = ClampU(this->presets.Length(), 5, 20) * resize->height + 1; + break; + } + } + } + + virtual void DrawWidget(const Rect &r, int widget) const + { + switch (widget) { + case WID_SVP_PRESET_LIST: { + GfxFillRect(r.left + 1, r.top + 1, r.right - 1, r.bottom - 1, PC_BLACK); + + uint step_height = this->GetWidget(WID_SVP_PRESET_LIST)->resize_y; + int offset_y = (step_height - FONT_HEIGHT_NORMAL) / 2; + uint y = r.top + WD_FRAMERECT_TOP; + uint min_index = this->vscroll->GetPosition(); + uint max_index = min(min_index + this->vscroll->GetCapacity(), this->presets.Length()); + + for (uint i = min_index; i < max_index; i++) { + if ((int)i == this->selected) GfxFillRect(r.left + 1, y, r.right - 1, y + step_height - 2, PC_DARK_BLUE); + + const char *text = this->presets[i]; + DrawString(r.left + WD_FRAMERECT_LEFT, r.right, y + offset_y, text, ((int)i == this->selected) ? TC_WHITE : TC_SILVER); + y += step_height; + } + break; + } + } + } + + virtual void OnClick(Point pt, int widget, int click_count) + { + switch (widget) { + case WID_SVP_PRESET_LIST: { + uint row = this->vscroll->GetScrolledRowFromWidget(pt.y, this, WID_SVP_PRESET_LIST); + if (row < this->presets.Length()) { + this->selected = row; + this->presetname_editbox.text.Assign(this->presets[row]); + this->SetWidgetDirty(WID_SVP_PRESET_LIST); + this->SetWidgetDirty(WID_SVP_EDITBOX); + } + break; + } + + case WID_SVP_CANCEL: + delete this; + break; + + case WID_SVP_SAVE: { + Window *w = FindWindowById(WC_GAME_OPTIONS, WN_GAME_OPTIONS_NEWGRF_STATE); + if (w != NULL && !StrEmpty(this->presetname_editbox.text.buf)) w->OnQueryTextFinished(this->presetname_editbox.text.buf); + delete this; + break; + } + } + } + + virtual void OnResize() + { + this->vscroll->SetCapacityFromWidget(this, WID_SVP_PRESET_LIST); + } +}; + +/** + * Open the window for saving a preset. + * @param initial_text Initial text to display in the edit box, or \c NULL. + */ +static void ShowSavePresetWindow(const char *initial_text) +{ + DeleteWindowByClass(WC_SAVE_PRESET); + new SavePresetWindow(initial_text); +} + /** Widgets for the progress window. */ static const NWidgetPart _nested_scan_progress_widgets[] = { NWidget(WWT_CAPTION, COLOUR_GREY), SetDataTip(STR_NEWGRF_SCAN_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS), @@ -2034,9 +2261,9 @@ struct ScanProgressWindow : public Window { if (name == NULL) { char buf[256]; GetString(buf, STR_NEWGRF_SCAN_ARCHIVES, lastof(buf)); - this->last_name = strdup(buf); + this->last_name = stredup(buf); } else { - this->last_name = strdup(name); + this->last_name = stredup(name); } this->scanned = num; if (num > _settings_client.gui.last_newgrf_count) _settings_client.gui.last_newgrf_count = num; diff --git a/src/newgrf_house.cpp b/src/newgrf_house.cpp index c660fe3ab7..6c9c614af9 100644 --- a/src/newgrf_house.cpp +++ b/src/newgrf_house.cpp @@ -24,6 +24,8 @@ #include "newgrf_cargo.h" #include "station_base.h" +#include "safeguards.h" + static BuildingCounts _building_counts; static HouseClassMapping _class_mapping[HOUSE_CLASS_MAX]; @@ -378,10 +380,10 @@ static uint32 GetDistanceFromNearbyHouse(uint8 parameter, TileIndex tile, HouseI uint32 res = 0; for (Station * const * st_iter = sl->Begin(); st_iter != sl->End(); st_iter++) { const Station *st = *st_iter; - if (HasBit(st->goods[cid].acceptance_pickup, GoodsEntry::GES_EVER_ACCEPTED)) SetBit(res, 0); - if (HasBit(st->goods[cid].acceptance_pickup, GoodsEntry::GES_LAST_MONTH)) SetBit(res, 1); - if (HasBit(st->goods[cid].acceptance_pickup, GoodsEntry::GES_CURRENT_MONTH)) SetBit(res, 2); - if (HasBit(st->goods[cid].acceptance_pickup, GoodsEntry::GES_ACCEPTED_BIGTICK)) SetBit(res, 3); + if (HasBit(st->goods[cid].status, GoodsEntry::GES_EVER_ACCEPTED)) SetBit(res, 0); + if (HasBit(st->goods[cid].status, GoodsEntry::GES_LAST_MONTH)) SetBit(res, 1); + if (HasBit(st->goods[cid].status, GoodsEntry::GES_CURRENT_MONTH)) SetBit(res, 2); + if (HasBit(st->goods[cid].status, GoodsEntry::GES_ACCEPTED_BIGTICK)) SetBit(res, 3); } /* Cargo triggered CB 148? */ diff --git a/src/newgrf_industries.cpp b/src/newgrf_industries.cpp index 725373d105..ef8e9fa9b7 100644 --- a/src/newgrf_industries.cpp +++ b/src/newgrf_industries.cpp @@ -24,6 +24,8 @@ #include "table/strings.h" +#include "safeguards.h" + /* Since the industry IDs defined by the GRF file don't necessarily correlate * to those used by the game, the IDs used for overriding old industries must be * translated when the idustry spec is set. */ @@ -39,9 +41,9 @@ IndustryTileOverrideManager _industile_mngr(NEW_INDUSTRYTILEOFFSET, NUM_INDUSTRY IndustryType MapNewGRFIndustryType(IndustryType grf_type, uint32 grf_id) { if (grf_type == IT_INVALID) return IT_INVALID; - if (!HasBit(grf_type, 7)) return GB(grf_type, 0, 6); + if (!HasBit(grf_type, 7)) return GB(grf_type, 0, 7); - return _industry_mngr.GetID(GB(grf_type, 0, 6), grf_id); + return _industry_mngr.GetID(GB(grf_type, 0, 7), grf_id); } /** @@ -352,7 +354,7 @@ static uint32 GetCountAndDistanceOfClosestInstance(byte param_setID, byte layout case 0xA4: return this->industry->last_month_transported[1]; case 0xA5: return GB(this->industry->last_month_transported[1], 8, 8); - case 0xA6: return this->industry->type; + case 0xA6: return indspec->grf_prop.local_id; case 0xA7: return this->industry->founder; case 0xA8: return this->industry->random_colour; case 0xA9: return Clamp(this->industry->last_prod_year - ORIGINAL_BASE_YEAR, 0, 255); diff --git a/src/newgrf_industrytiles.cpp b/src/newgrf_industrytiles.cpp index f22514a03f..90a17550d0 100644 --- a/src/newgrf_industrytiles.cpp +++ b/src/newgrf_industrytiles.cpp @@ -22,6 +22,8 @@ #include "table/strings.h" +#include "safeguards.h" + /** * Based on newhouses equivalent, but adapted for newindustries * @param parameter from callback. It's in fact a pair of coordinates diff --git a/src/newgrf_object.cpp b/src/newgrf_object.cpp index 6f7e3f0ff8..3f48a819f5 100644 --- a/src/newgrf_object.cpp +++ b/src/newgrf_object.cpp @@ -24,6 +24,8 @@ #include "water.h" #include "newgrf_animation_base.h" +#include "safeguards.h" + /** The override manager for our objects. */ ObjectOverrideManager _object_mngr(NEW_OBJECT_OFFSET, NUM_OBJECTS, INVALID_OBJECT_TYPE); diff --git a/src/newgrf_railtype.cpp b/src/newgrf_railtype.cpp index f43689698e..8a074db974 100644 --- a/src/newgrf_railtype.cpp +++ b/src/newgrf_railtype.cpp @@ -16,6 +16,8 @@ #include "depot_base.h" #include "town.h" +#include "safeguards.h" + /* virtual */ uint32 RailTypeScopeResolver::GetRandomBits() const { uint tmp = CountBits(this->tile + (TileX(this->tile) + TileY(this->tile)) * TILE_SIZE); @@ -98,9 +100,10 @@ RailTypeResolverObject::RailTypeResolverObject(const RailtypeInfo *rti, TileInde * @param tile The tile to get the sprite for. * @param rtsg The type of sprite to draw. * @param content Where are we drawing the tile? + * @param [out] num_results If not NULL, return the number of sprites in the spriteset. * @return The sprite to draw. */ -SpriteID GetCustomRailSprite(const RailtypeInfo *rti, TileIndex tile, RailTypeSpriteGroup rtsg, TileContext context) +SpriteID GetCustomRailSprite(const RailtypeInfo *rti, TileIndex tile, RailTypeSpriteGroup rtsg, TileContext context, uint *num_results) { assert(rtsg < RTSG_END); @@ -110,6 +113,8 @@ SpriteID GetCustomRailSprite(const RailtypeInfo *rti, TileIndex tile, RailTypeSp const SpriteGroup *group = object.Resolve(); if (group == NULL || group->GetNumResults() == 0) return 0; + if (num_results) *num_results = group->GetNumResults(); + return group->GetResult(); } diff --git a/src/newgrf_railtype.h b/src/newgrf_railtype.h index 9b00bf5bff..4c68e7d1db 100644 --- a/src/newgrf_railtype.h +++ b/src/newgrf_railtype.h @@ -44,7 +44,7 @@ struct RailTypeResolverObject : public ResolverObject { /* virtual */ const SpriteGroup *ResolveReal(const RealSpriteGroup *group) const; }; -SpriteID GetCustomRailSprite(const RailtypeInfo *rti, TileIndex tile, RailTypeSpriteGroup rtsg, TileContext context = TCX_NORMAL); +SpriteID GetCustomRailSprite(const RailtypeInfo *rti, TileIndex tile, RailTypeSpriteGroup rtsg, TileContext context = TCX_NORMAL, uint *num_results = NULL); SpriteID GetCustomSignalSprite(const RailtypeInfo *rti, TileIndex tile, SignalType type, SignalVariant var, SignalState state, bool gui = false); uint8 GetReverseRailTypeTranslation(RailType railtype, const GRFFile *grffile); diff --git a/src/newgrf_sound.cpp b/src/newgrf_sound.cpp index c7739558fd..60ee609165 100644 --- a/src/newgrf_sound.cpp +++ b/src/newgrf_sound.cpp @@ -20,6 +20,8 @@ #include "debug.h" #include "settings_type.h" +#include "safeguards.h" + static SmallVector _sounds; diff --git a/src/newgrf_spritegroup.cpp b/src/newgrf_spritegroup.cpp index 59fc70fe45..624b4d5474 100644 --- a/src/newgrf_spritegroup.cpp +++ b/src/newgrf_spritegroup.cpp @@ -14,6 +14,8 @@ #include "newgrf_spritegroup.h" #include "core/pool_func.hpp" +#include "safeguards.h" + SpriteGroupPool _spritegroup_pool("SpriteGroup"); INSTANTIATE_POOL_METHODS(SpriteGroup) @@ -228,9 +230,9 @@ static U EvalAdjustT(const DeterministicSpriteGroupAdjust *adjust, ScopeResolver case DSGA_OP_ROR: return RotateRight(last_value, value); case DSGA_OP_SCMP: return ((S)last_value == (S)value) ? 1 : ((S)last_value < (S)value ? 0 : 2); case DSGA_OP_UCMP: return ((U)last_value == (U)value) ? 1 : ((U)last_value < (U)value ? 0 : 2); - case DSGA_OP_SHL: return (U)last_value << ((U)value & 0x1F); // mask 'value' to 5 bits, which should behave the same on all architectures. - case DSGA_OP_SHR: return (U)last_value >> ((U)value & 0x1F); - case DSGA_OP_SAR: return (S)last_value >> ((U)value & 0x1F); + case DSGA_OP_SHL: return (uint32)(U)last_value << ((U)value & 0x1F); // Same behaviour as in ParamSet, mask 'value' to 5 bits, which should behave the same on all architectures. + case DSGA_OP_SHR: return (uint32)(U)last_value >> ((U)value & 0x1F); + case DSGA_OP_SAR: return (int32)(S)last_value >> ((U)value & 0x1F); default: return value; } } diff --git a/src/newgrf_station.cpp b/src/newgrf_station.cpp index 647e8781aa..cd5dad7b47 100644 --- a/src/newgrf_station.cpp +++ b/src/newgrf_station.cpp @@ -26,6 +26,8 @@ #include "newgrf_animation_base.h" #include "newgrf_class_func.h" +#include "safeguards.h" + template /* static */ void NewGRFClass::InsertDefaults() @@ -394,7 +396,7 @@ uint32 Station::GetNewGRFVariable(const ResolverObject &object, byte variable, b uint32 value = 0; for (cargo_type = 0; cargo_type < NUM_CARGO; cargo_type++) { - if (HasBit(this->goods[cargo_type].acceptance_pickup, GoodsEntry::GES_ACCEPTANCE)) SetBit(value, cargo_type); + if (HasBit(this->goods[cargo_type].status, GoodsEntry::GES_ACCEPTANCE)) SetBit(value, cargo_type); } return value; } @@ -426,12 +428,12 @@ uint32 Station::GetNewGRFVariable(const ResolverObject &object, byte variable, b case 0x62: return ge->HasRating() ? ge->rating : 0xFFFFFFFF; case 0x63: return ge->cargo.DaysInTransit(); case 0x64: return ge->HasVehicleEverTriedLoading() ? ge->last_speed | (ge->last_age << 8) : 0xFF00; - case 0x65: return GB(ge->acceptance_pickup, GoodsEntry::GES_ACCEPTANCE, 1) << 3; + case 0x65: return GB(ge->status, GoodsEntry::GES_ACCEPTANCE, 1) << 3; case 0x69: { assert_compile((int)GoodsEntry::GES_EVER_ACCEPTED + 1 == (int)GoodsEntry::GES_LAST_MONTH); assert_compile((int)GoodsEntry::GES_EVER_ACCEPTED + 2 == (int)GoodsEntry::GES_CURRENT_MONTH); assert_compile((int)GoodsEntry::GES_EVER_ACCEPTED + 3 == (int)GoodsEntry::GES_ACCEPTED_BIGTICK); - return GB(ge->acceptance_pickup, GoodsEntry::GES_EVER_ACCEPTED, 4); + return GB(ge->status, GoodsEntry::GES_EVER_ACCEPTED, 4); } } } @@ -441,7 +443,7 @@ uint32 Station::GetNewGRFVariable(const ResolverObject &object, byte variable, b const GoodsEntry *g = &this->goods[GB(variable - 0x8C, 3, 4)]; switch (GB(variable - 0x8C, 0, 3)) { case 0: return g->cargo.TotalCount(); - case 1: return GB(min(g->cargo.TotalCount(), 4095), 0, 4) | (GB(g->acceptance_pickup, GoodsEntry::GES_ACCEPTANCE, 1) << 7); + case 1: return GB(min(g->cargo.TotalCount(), 4095), 0, 4) | (GB(g->status, GoodsEntry::GES_ACCEPTANCE, 1) << 7); case 2: return g->time_since_pickup; case 3: return g->rating; case 4: return g->cargo.Source(); @@ -545,7 +547,7 @@ uint32 Waypoint::GetNewGRFVariable(const ResolverObject &object, byte variable, */ StationResolverObject::StationResolverObject(const StationSpec *statspec, BaseStation *st, TileIndex tile, CallbackID callback, uint32 callback_param1, uint32 callback_param2) - : ResolverObject((statspec != NULL ? statspec->grf_prop.grffile : NULL), callback, callback_param1, callback_param2), + : ResolverObject(statspec->grf_prop.grffile, callback, callback_param1, callback_param2), station_scope(*this, statspec, st, tile), town_scope(NULL) { /* Invalidate all cached vars */ diff --git a/src/newgrf_storage.cpp b/src/newgrf_storage.cpp index 7e8b9d8d07..e91e1f90c8 100644 --- a/src/newgrf_storage.cpp +++ b/src/newgrf_storage.cpp @@ -16,6 +16,8 @@ #include "debug.h" #include +#include "safeguards.h" + PersistentStoragePool _persistent_storage_pool("PersistentStorage"); INSTANTIATE_POOL_METHODS(PersistentStorage) diff --git a/src/newgrf_text.cpp b/src/newgrf_text.cpp index 439a8d57fd..daf9db4433 100644 --- a/src/newgrf_text.cpp +++ b/src/newgrf_text.cpp @@ -33,6 +33,8 @@ #include "table/strings.h" #include "table/control_codes.h" +#include "safeguards.h" + #define GRFTAB 28 #define TABSIZE 11 @@ -229,7 +231,7 @@ struct UnmappedChoiceList : ZeroedMemoryAllocator { /* In case of a (broken) NewGRF without a default, * assume an empty string. */ grfmsg(1, "choice list misses default value"); - this->strings[0] = strdup(""); + this->strings[0] = stredup(""); } char *d = old_d; @@ -1058,6 +1060,16 @@ uint RemapNewGRFStringControlCode(uint scc, char *buf_start, char **buff, const *argv = MapGRFStringID(_newgrf_textrefstack.grffile->grfid, _newgrf_textrefstack.PopUnsignedWord()); break; } + } else { + /* Consume additional parameter characters */ + switch (scc) { + default: break; + + case SCC_NEWGRF_PUSH_WORD: + case SCC_NEWGRF_UNPRINT: + Utf8Consume(str); + break; + } } switch (scc) { diff --git a/src/newgrf_town.cpp b/src/newgrf_town.cpp index c807e77a84..2f48eb757d 100644 --- a/src/newgrf_town.cpp +++ b/src/newgrf_town.cpp @@ -14,6 +14,8 @@ #include "town.h" #include "newgrf_town.h" +#include "safeguards.h" + /** * Resolver of a town scope. * @param ro Surrounding resolver. diff --git a/src/newgrf_townname.cpp b/src/newgrf_townname.cpp index 29ca068172..42aae3f147 100644 --- a/src/newgrf_townname.cpp +++ b/src/newgrf_townname.cpp @@ -19,6 +19,8 @@ #include "core/alloc_func.hpp" #include "string_func.h" +#include "safeguards.h" + static GRFTownName *_grf_townnames = NULL; GRFTownName *GetGRFTownName(uint32 grfid) diff --git a/src/news_gui.cpp b/src/news_gui.cpp index 5639001b71..3800af8b57 100644 --- a/src/news_gui.cpp +++ b/src/news_gui.cpp @@ -38,6 +38,8 @@ #include "table/strings.h" +#include "safeguards.h" + const NewsItem *_statusbar_news_item = NULL; static uint MIN_NEWS_AMOUNT = 30; ///< preferred minimum amount of news messages @@ -78,7 +80,7 @@ static TileIndex GetReferenceTile(NewsReferenceType reftype, uint32 ref) static const NWidgetPart _nested_normal_news_widgets[] = { NWidget(WWT_PANEL, COLOUR_WHITE, WID_N_PANEL), NWidget(NWID_HORIZONTAL), SetPadding(1, 1, 0, 1), - NWidget(WWT_TEXT, COLOUR_WHITE, WID_N_CLOSEBOX), SetDataTip(STR_SILVER_CROSS, STR_NULL), SetPadding(0, 0, 0, 1), + NWidget(WWT_CLOSEBOX, COLOUR_WHITE, WID_N_CLOSEBOX), SetPadding(0, 0, 0, 1), NWidget(NWID_SPACER), SetFill(1, 0), NWidget(NWID_VERTICAL), NWidget(WWT_LABEL, COLOUR_WHITE, WID_N_DATE), SetDataTip(STR_DATE_LONG_SMALL, STR_NULL), @@ -101,7 +103,7 @@ static const NWidgetPart _nested_vehicle_news_widgets[] = { NWidget(WWT_PANEL, COLOUR_WHITE, WID_N_PANEL), NWidget(NWID_HORIZONTAL), SetPadding(1, 1, 0, 1), NWidget(NWID_VERTICAL), - NWidget(WWT_TEXT, COLOUR_WHITE, WID_N_CLOSEBOX), SetDataTip(STR_SILVER_CROSS, STR_NULL), SetPadding(0, 0, 0, 1), + NWidget(WWT_CLOSEBOX, COLOUR_WHITE, WID_N_CLOSEBOX), SetPadding(0, 0, 0, 1), NWidget(NWID_SPACER), SetFill(0, 1), EndContainer(), NWidget(WWT_LABEL, COLOUR_WHITE, WID_N_VEH_TITLE), SetFill(1, 1), SetMinimalSize(419, 55), SetDataTip(STR_EMPTY, STR_NULL), @@ -128,7 +130,7 @@ static const NWidgetPart _nested_company_news_widgets[] = { NWidget(WWT_PANEL, COLOUR_WHITE, WID_N_PANEL), NWidget(NWID_HORIZONTAL), SetPadding(1, 1, 0, 1), NWidget(NWID_VERTICAL), - NWidget(WWT_TEXT, COLOUR_WHITE, WID_N_CLOSEBOX), SetDataTip(STR_SILVER_CROSS, STR_NULL), SetPadding(0, 0, 0, 1), + NWidget(WWT_CLOSEBOX, COLOUR_WHITE, WID_N_CLOSEBOX), SetPadding(0, 0, 0, 1), NWidget(NWID_SPACER), SetFill(0, 1), EndContainer(), NWidget(WWT_LABEL, COLOUR_WHITE, WID_N_TITLE), SetFill(1, 1), SetMinimalSize(410, 20), SetDataTip(STR_EMPTY, STR_NULL), @@ -136,10 +138,7 @@ static const NWidgetPart _nested_company_news_widgets[] = { NWidget(NWID_HORIZONTAL), SetPadding(0, 1, 1, 1), NWidget(NWID_VERTICAL), NWidget(WWT_EMPTY, COLOUR_WHITE, WID_N_MGR_FACE), SetMinimalSize(93, 119), SetPadding(2, 6, 2, 1), - NWidget(NWID_HORIZONTAL), - NWidget(WWT_EMPTY, COLOUR_WHITE, WID_N_MGR_NAME), SetMinimalSize(93, 24), SetPadding(0, 0, 0, 1), - NWidget(NWID_SPACER), SetFill(1, 0), - EndContainer(), + NWidget(WWT_EMPTY, COLOUR_WHITE, WID_N_MGR_NAME), SetMinimalSize(93, 24), SetPadding(0, 0, 0, 1), NWidget(NWID_SPACER), SetFill(0, 1), EndContainer(), NWidget(WWT_EMPTY, COLOUR_WHITE, WID_N_COMPANY_MSG), SetFill(1, 1), SetMinimalSize(328, 150), @@ -158,7 +157,7 @@ static WindowDesc _company_news_desc( static const NWidgetPart _nested_thin_news_widgets[] = { NWidget(WWT_PANEL, COLOUR_WHITE, WID_N_PANEL), NWidget(NWID_HORIZONTAL), SetPadding(1, 1, 0, 1), - NWidget(WWT_TEXT, COLOUR_WHITE, WID_N_CLOSEBOX), SetDataTip(STR_SILVER_CROSS, STR_NULL), SetPadding(0, 0, 0, 1), + NWidget(WWT_CLOSEBOX, COLOUR_WHITE, WID_N_CLOSEBOX), SetPadding(0, 0, 0, 1), NWidget(NWID_SPACER), SetFill(1, 0), NWidget(NWID_VERTICAL), NWidget(WWT_LABEL, COLOUR_WHITE, WID_N_DATE), SetDataTip(STR_DATE_LONG_SMALL, STR_NULL), @@ -314,6 +313,10 @@ struct NewsWindow : Window { { StringID str = STR_NULL; switch (widget) { + case WID_N_MGR_FACE: + *size = maxdim(*size, GetSpriteSize(SPR_GRADIENT)); + break; + case WID_N_MESSAGE: CopyInDParam(0, this->ni->params, lengthof(this->ni->params)); str = this->ni->string_id; @@ -372,7 +375,7 @@ struct NewsWindow : Window { case WID_N_MGR_FACE: { const CompanyNewsInformation *cni = (const CompanyNewsInformation*)this->ni->free_data; DrawCompanyManagerFace(cni->face, cni->colour, r.left, r.top); - GfxFillRect(r.left + 1, r.top, r.left + 1 + 91, r.top + 118, PALETTE_NEWSPAPER, FILLRECT_RECOLOUR); + GfxFillRect(r.left, r.top, r.right, r.bottom, PALETTE_NEWSPAPER, FILLRECT_RECOLOUR); break; } case WID_N_MGR_NAME: { @@ -724,7 +727,7 @@ CommandCost CmdCustomNewsItem(TileIndex tile, DoCommandFlag flags, uint32 p1, ui if (company != INVALID_OWNER && company != _local_company) return CommandCost(); if (flags & DC_EXEC) { - char *news = strdup(text); + char *news = stredup(text); SetDParamStr(0, news); AddNewsItem(STR_NEWS_CUSTOM_ITEM, type, NF_NORMAL, reftype1, p2, NR_NONE, UINT32_MAX, news); } diff --git a/src/object.h b/src/object.h index e0b0c8eee4..0ab92d3769 100644 --- a/src/object.h +++ b/src/object.h @@ -20,7 +20,6 @@ void UpdateCompanyHQ(TileIndex tile, uint score); void BuildObject(ObjectType type, TileIndex tile, CompanyID owner = OWNER_NONE, struct Town *town = NULL, uint8 view = 0); -void PlaceProc_Object(TileIndex tile); -void ShowBuildObjectPicker(struct Window *w); +void ShowBuildObjectPicker(); #endif /* OBJECT_H */ diff --git a/src/object_cmd.cpp b/src/object_cmd.cpp index 05efae0a21..b5b9921525 100644 --- a/src/object_cmd.cpp +++ b/src/object_cmd.cpp @@ -38,6 +38,8 @@ #include "table/strings.h" #include "table/object_land.h" +#include "safeguards.h" + ObjectPool _object_pool("Object"); INSTANTIATE_POOL_METHODS(Object) uint16 Object::counts[NUM_OBJECTS]; @@ -293,7 +295,7 @@ CommandCost CmdBuildObject(TileIndex tile, DoCommandFlag flags, uint32 p1, uint3 /* Finally do a check for bridges. */ TILE_AREA_LOOP(t, ta) { - if (MayHaveBridgeAbove(t) && IsBridgeAbove(t) && ( + if (IsBridgeAbove(t) && ( !(spec->flags & OBJECT_FLAG_ALLOW_UNDER_BRIDGE) || (GetTileMaxZ(t) + spec->height >= GetBridgeHeight(GetSouthernBridgeEnd(t))))) { return_cmd_error(STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST); diff --git a/src/object_gui.cpp b/src/object_gui.cpp index 29a9d0d5ef..220f4e3854 100644 --- a/src/object_gui.cpp +++ b/src/object_gui.cpp @@ -16,19 +16,23 @@ #include "newgrf_text.h" #include "strings_func.h" #include "viewport_func.h" +#include "tilehighlight_func.h" #include "window_gui.h" #include "window_func.h" +#include "zoom_func.h" #include "widgets/object_widget.h" #include "table/strings.h" +#include "safeguards.h" + static ObjectClassID _selected_object_class; ///< the currently visible object class static int _selected_object_index; ///< the index of the selected object in the current class or -1 static uint8 _selected_object_view; ///< the view of the selected object /** The window used for building objects. */ -class BuildObjectWindow : public PickerWindowBase { +class BuildObjectWindow : public Window { static const int OBJECT_MARGIN = 4; ///< The margin (in pixels) around an object. int line_height; ///< The height of a single line. int info_height; ///< The height of the info box. @@ -70,11 +74,13 @@ class BuildObjectWindow : public PickerWindowBase { } public: - BuildObjectWindow(WindowDesc *desc, Window *w) : PickerWindowBase(desc, w), info_height(1) + BuildObjectWindow(WindowDesc *desc, WindowNumber number) : Window(desc), info_height(1) { this->CreateNestedTree(); this->vscroll = this->GetScrollbar(WID_BO_SCROLLBAR); - this->FinishInitNested(0); + this->FinishInitNested(number); + + ResetObjectToPlace(); this->vscroll->SetPosition(0); this->vscroll->SetCount(ObjectClass::GetUIClassCount()); @@ -162,8 +168,8 @@ public: /* Determine the pixel heights. */ for (size_t i = 0; i < lengthof(height); i++) { - height[i] *= TILE_HEIGHT; - height[i] += TILE_PIXELS + 2 * OBJECT_MARGIN; + height[i] *= ScaleGUITrad(TILE_HEIGHT); + height[i] += ScaleGUITrad(TILE_PIXELS) + 2 * OBJECT_MARGIN; } /* Now determine the size of the minimum widgets. When there are two columns, then @@ -172,9 +178,9 @@ public: * of widgets, or just the twice the widget height of the two row ones. */ size->height = max(height[0], height[1] * 2 + 2); if (two_wide) { - size->width = (3 * TILE_PIXELS + 2 * OBJECT_MARGIN) * 2 + 2; + size->width = (3 * ScaleGUITrad(TILE_PIXELS) + 2 * OBJECT_MARGIN) * 2 + 2; } else { - size->width = 4 * TILE_PIXELS + 2 * OBJECT_MARGIN; + size->width = 4 * ScaleGUITrad(TILE_PIXELS) + 2 * OBJECT_MARGIN; } /* Get the right size for the single widget based on the current spec. */ @@ -195,6 +201,11 @@ public: resize->height = 1; break; + case WID_BO_SELECT_IMAGE: + size->width = ScaleGUITrad(64) + 2; + size->height = ScaleGUITrad(58) + 2; + break; + default: break; } } @@ -209,8 +220,7 @@ public: ObjectClass *objclass = ObjectClass::Get((ObjectClassID)i); if (objclass->GetUISpecCount() == 0) continue; if (!this->vscroll->IsVisible(pos++)) continue; - SetDParam(0, objclass->name); - DrawString(r.left + WD_MATRIX_LEFT, r.right - WD_MATRIX_RIGHT, y + WD_MATRIX_TOP, STR_JUST_STRING, + DrawString(r.left + WD_MATRIX_LEFT, r.right - WD_MATRIX_RIGHT, y + WD_MATRIX_TOP, objclass->name, ((int)i == _selected_object_class) ? TC_WHITE : TC_BLACK); y += this->line_height; } @@ -236,9 +246,9 @@ public: if (spec->grf_prop.grffile == NULL) { extern const DrawTileSprites _objects[]; const DrawTileSprites *dts = &_objects[spec->grf_prop.local_id]; - DrawOrigTileSeqInGUI((r.right - r.left) / 2 - 1, (r.bottom - r.top + matrix_height / 2) / 2 - OBJECT_MARGIN - TILE_PIXELS, dts, PAL_NONE); + DrawOrigTileSeqInGUI((r.right - r.left) / 2 - 1, (r.bottom - r.top + matrix_height / 2) / 2 - OBJECT_MARGIN - ScaleGUITrad(TILE_PIXELS), dts, PAL_NONE); } else { - DrawNewObjectTileInGUI((r.right - r.left) / 2 - 1, (r.bottom - r.top + matrix_height / 2) / 2 - OBJECT_MARGIN - TILE_PIXELS, spec, GB(widget, 16, 16)); + DrawNewObjectTileInGUI((r.right - r.left) / 2 - 1, (r.bottom - r.top + matrix_height / 2) / 2 - OBJECT_MARGIN - ScaleGUITrad(TILE_PIXELS), spec, GB(widget, 16, 16)); } _cur_dpi = old_dpi; } @@ -263,9 +273,9 @@ public: if (spec->grf_prop.grffile == NULL) { extern const DrawTileSprites _objects[]; const DrawTileSprites *dts = &_objects[spec->grf_prop.local_id]; - DrawOrigTileSeqInGUI((r.right - r.left) / 2 - 1, r.bottom - r.top - OBJECT_MARGIN - TILE_PIXELS, dts, PAL_NONE); + DrawOrigTileSeqInGUI((r.right - r.left) / 2 - 1, r.bottom - r.top - OBJECT_MARGIN - ScaleGUITrad(TILE_PIXELS), dts, PAL_NONE); } else { - DrawNewObjectTileInGUI((r.right - r.left) / 2 - 1, r.bottom - r.top - OBJECT_MARGIN - TILE_PIXELS, spec, + DrawNewObjectTileInGUI((r.right - r.left) / 2 - 1, r.bottom - r.top - OBJECT_MARGIN - ScaleGUITrad(TILE_PIXELS), spec, min(_selected_object_view, spec->views - 1)); } _cur_dpi = old_dpi; @@ -330,10 +340,11 @@ public: _selected_object_view = 0; } - this->GetWidget(WID_BO_OBJECT_MATRIX)->SetClicked(_selected_object_view); - this->GetWidget(WID_BO_SELECT_MATRIX)->SetClicked(_selected_object_index != -1 ? ObjectClass::Get(_selected_object_class)->GetUIFromIndex(_selected_object_index) : -1); - this->UpdateSelectSize(); - this->SetDirty(); + if (_selected_object_index != -1) { + SetObjectToPlaceWnd(SPR_CURSOR_TRANSMITTER, PAL_NONE, HT_RECT, this); + } + + this->UpdateButtons(_selected_object_class, _selected_object_index, _selected_object_view); } void UpdateSelectSize() @@ -348,6 +359,29 @@ public: } } + /** + * Update buttons to show the selection to the user. + * @param sel_class The class of the selected object. + * @param sel_index Index of the object to select, or \c -1 . + * @param sel_view View of the object to select. + */ + void UpdateButtons(ObjectClassID sel_class, int sel_index, uint sel_view) + { + int view_number, object_number; + if (sel_index == -1) { + view_number = -1; // If no object selected, also hide the selected view. + object_number = -1; + } else { + view_number = sel_view; + object_number = ObjectClass::Get(sel_class)->GetUIFromIndex(sel_index); + } + + this->GetWidget(WID_BO_OBJECT_MATRIX)->SetClicked(view_number); + this->GetWidget(WID_BO_SELECT_MATRIX)->SetClicked(object_number); + this->UpdateSelectSize(); + this->SetDirty(); + } + virtual void OnResize() { this->vscroll->SetCapacityFromWidget(this, WID_BO_CLASS_LIST); @@ -375,14 +409,23 @@ public: case WID_BO_OBJECT_SPRITE: if (_selected_object_index != -1) { _selected_object_view = GB(widget, 16, 16); - this->GetWidget(WID_BO_OBJECT_MATRIX)->SetClicked(_selected_object_view); - this->UpdateSelectSize(); - this->SetDirty(); + this->SelectOtherObject(_selected_object_index); // Re-select the object for a different view. } break; } } + virtual void OnPlaceObject(Point pt, TileIndex tile) + { + DoCommandP(tile, ObjectClass::Get(_selected_object_class)->GetSpec(_selected_object_index)->Index(), + _selected_object_view, CMD_BUILD_OBJECT | CMD_MSG(STR_ERROR_CAN_T_BUILD_OBJECT), CcTerraform); + } + + virtual void OnPlaceObjectAbort() + { + this->UpdateButtons(_selected_object_class, -1, _selected_object_view); + } + /** * Select the first available object. * @param change_class If true, change the class if no object in the current @@ -481,9 +524,9 @@ static WindowDesc _build_object_desc( * Show our object picker. * @param w The toolbar window we're associated with. */ -void ShowBuildObjectPicker(Window *w) +void ShowBuildObjectPicker() { - new BuildObjectWindow(&_build_object_desc, w); + AllocateWindowDescFront(&_build_object_desc, 0); } /** Reset all data of the object GUI. */ @@ -491,13 +534,3 @@ void InitializeObjectGui() { _selected_object_class = (ObjectClassID)0; } - -/** - * PlaceProc function, called when someone pressed the button if the - * object-tool is selected - * @param tile on which to place the object - */ -void PlaceProc_Object(TileIndex tile) -{ - DoCommandP(tile, ObjectClass::Get(_selected_object_class)->GetSpec(_selected_object_index)->Index(), _selected_object_view, CMD_BUILD_OBJECT | CMD_MSG(STR_ERROR_CAN_T_BUILD_OBJECT), CcTerraform); -} diff --git a/src/object_map.h b/src/object_map.h index 85faf4444e..1aaf984345 100644 --- a/src/object_map.h +++ b/src/object_map.h @@ -82,7 +82,7 @@ static inline void MakeObject(TileIndex t, Owner o, ObjectID index, WaterClass w _m[t].m3 = random; _m[t].m4 = 0; _m[t].m5 = index >> 16; - SB(_m[t].m6, 2, 4, 0); + SB(_me[t].m6, 2, 4, 0); _me[t].m7 = 0; } diff --git a/src/openttd.cpp b/src/openttd.cpp index c901272c57..c149ebbd4d 100644 --- a/src/openttd.cpp +++ b/src/openttd.cpp @@ -68,6 +68,8 @@ #include +#include "safeguards.h" + void CallLandscapeTick(); void IncreaseDate(); void DoPaletteAnimations(); @@ -91,11 +93,11 @@ void CDECL usererror(const char *s, ...) char buf[512]; va_start(va, s); - vsnprintf(buf, lengthof(buf), s, va); + vseprintf(buf, lastof(buf), s, va); va_end(va); ShowOSErrorBox(buf, false); - if (_video_driver != NULL) _video_driver->Stop(); + if (VideoDriver::GetInstance() != NULL) VideoDriver::GetInstance()->Stop(); exit(1); } @@ -111,7 +113,7 @@ void CDECL error(const char *s, ...) char buf[512]; va_start(va, s); - vsnprintf(buf, lengthof(buf), s, va); + vseprintf(buf, lastof(buf), s, va); va_end(va); ShowOSErrorBox(buf, true); @@ -130,7 +132,7 @@ void CDECL ShowInfoF(const char *str, ...) va_list va; char buf[1024]; va_start(va, str); - vsnprintf(buf, lengthof(buf), str, va); + vseprintf(buf, lastof(buf), str, va); va_end(va); ShowInfo(buf); } @@ -341,7 +343,7 @@ static void LoadIntroGame(bool load_newgrfs = true) CheckForMissingGlyphs(); /* Play main theme */ - if (_music_driver->IsSongPlaying()) ResetMusic(); + if (MusicDriver::GetInstance()->IsSongPlaying()) ResetMusic(); } void MakeNewgameSettingsLive() @@ -434,7 +436,7 @@ struct AfterNewGRFScan : NewGRFScanCallback { *save_config_ptr = save_config; /* restore saved music volume */ - _music_driver->SetVolume(_settings_client.music.music_vol); + MusicDriver::GetInstance()->SetVolume(_settings_client.music.music_vol); if (startyear != INVALID_YEAR) _settings_newgame.game_creation.starting_year = startyear; if (generation_seed != GENERATE_NEW_SEED) _settings_newgame.game_creation.generation_seed = generation_seed; @@ -442,7 +444,7 @@ struct AfterNewGRFScan : NewGRFScanCallback { #if defined(ENABLE_NETWORK) if (dedicated_host != NULL) { _network_bind_list.Clear(); - *_network_bind_list.Append() = strdup(dedicated_host); + *_network_bind_list.Append() = stredup(dedicated_host); } if (dedicated_port != 0) _settings_client.network.server_port = dedicated_port; #endif /* ENABLE_NETWORK */ @@ -561,23 +563,23 @@ int openttd_main(int argc, char *argv[]) int i; while ((i = mgo.GetOpt()) != -1) { switch (i) { - case 'I': free(graphics_set); graphics_set = strdup(mgo.opt); break; - case 'S': free(sounds_set); sounds_set = strdup(mgo.opt); break; - case 'M': free(music_set); music_set = strdup(mgo.opt); break; - case 'm': free(musicdriver); musicdriver = strdup(mgo.opt); break; - case 's': free(sounddriver); sounddriver = strdup(mgo.opt); break; - case 'v': free(videodriver); videodriver = strdup(mgo.opt); break; - case 'b': free(blitter); blitter = strdup(mgo.opt); break; + case 'I': free(graphics_set); graphics_set = stredup(mgo.opt); break; + case 'S': free(sounds_set); sounds_set = stredup(mgo.opt); break; + case 'M': free(music_set); music_set = stredup(mgo.opt); break; + case 'm': free(musicdriver); musicdriver = stredup(mgo.opt); break; + case 's': free(sounddriver); sounddriver = stredup(mgo.opt); break; + case 'v': free(videodriver); videodriver = stredup(mgo.opt); break; + case 'b': free(blitter); blitter = stredup(mgo.opt); break; #if defined(ENABLE_NETWORK) case 'D': free(musicdriver); free(sounddriver); free(videodriver); free(blitter); - musicdriver = strdup("null"); - sounddriver = strdup("null"); - videodriver = strdup("dedicated"); - blitter = strdup("null"); + musicdriver = stredup("null"); + sounddriver = stredup("null"); + videodriver = stredup("dedicated"); + blitter = stredup("null"); dedicated = true; SetDebugString("net=6"); if (mgo.opt != NULL) { @@ -665,7 +667,7 @@ int openttd_main(int argc, char *argv[]) goto exit_noshutdown; } case 'G': scanner->generation_seed = atoi(mgo.opt); break; - case 'c': _config_file = strdup(mgo.opt); break; + case 'c': free(_config_file); _config_file = stredup(mgo.opt); break; case 'x': scanner->save_config = false; break; case 'h': i = -2; // Force printing of help. @@ -737,7 +739,7 @@ int openttd_main(int argc, char *argv[]) InitWindowSystem(); BaseGraphics::FindSets(); - if (graphics_set == NULL && BaseGraphics::ini_set != NULL) graphics_set = strdup(BaseGraphics::ini_set); + if (graphics_set == NULL && BaseGraphics::ini_set != NULL) graphics_set = stredup(BaseGraphics::ini_set); if (!BaseGraphics::SetSet(graphics_set)) { if (!StrEmpty(graphics_set)) { BaseGraphics::SetSet(NULL); @@ -753,10 +755,17 @@ int openttd_main(int argc, char *argv[]) GfxInitPalettes(); DEBUG(misc, 1, "Loading blitter..."); - if (blitter == NULL && _ini_blitter != NULL) blitter = strdup(_ini_blitter); + if (blitter == NULL && _ini_blitter != NULL) blitter = stredup(_ini_blitter); _blitter_autodetected = StrEmpty(blitter); - /* If we have a 32 bpp base set, try to select the 32 bpp blitter first, but only if we autoprobe the blitter. */ - if (!_blitter_autodetected || BaseGraphics::GetUsedSet() == NULL || BaseGraphics::GetUsedSet()->blitter == BLT_8BPP || BlitterFactory::SelectBlitter("32bpp-anim") == NULL) { + /* Activate the initial blitter. + * This is only some initial guess, after NewGRFs have been loaded SwitchNewGRFBlitter may switch to a different one. + * - Never guess anything, if the user specified a blitter. (_blitter_autodetected) + * - Use 32bpp blitter if baseset or 8bpp-support settings says so. + * - Use 8bpp blitter otherwise. + */ + if (!_blitter_autodetected || + (_support8bpp != S8BPP_NONE && (BaseGraphics::GetUsedSet() == NULL || BaseGraphics::GetUsedSet()->blitter == BLT_8BPP)) || + BlitterFactory::SelectBlitter("32bpp-anim") == NULL) { if (BlitterFactory::SelectBlitter(blitter) == NULL) { StrEmpty(blitter) ? usererror("Failed to autoprobe blitter") : @@ -765,13 +774,8 @@ int openttd_main(int argc, char *argv[]) } free(blitter); - if (videodriver == NULL && _ini_videodriver != NULL) videodriver = strdup(_ini_videodriver); - _video_driver = (VideoDriver*)DriverFactoryBase::SelectDriver(videodriver, Driver::DT_VIDEO); - if (_video_driver == NULL) { - StrEmpty(videodriver) ? - usererror("Failed to autoprobe video driver") : - usererror("Failed to select requested video driver '%s'", videodriver); - } + if (videodriver == NULL && _ini_videodriver != NULL) videodriver = stredup(_ini_videodriver); + DriverFactoryBase::SelectDriver(videodriver, Driver::DT_VIDEO); free(videodriver); InitializeSpriteSorter(); @@ -802,13 +806,13 @@ int openttd_main(int argc, char *argv[]) goto exit_bootstrap; } - _video_driver->ClaimMousePointer(); + VideoDriver::GetInstance()->ClaimMousePointer(); /* initialize screenshot formats */ InitializeScreenshotFormats(); BaseSounds::FindSets(); - if (sounds_set == NULL && BaseSounds::ini_set != NULL) sounds_set = strdup(BaseSounds::ini_set); + if (sounds_set == NULL && BaseSounds::ini_set != NULL) sounds_set = stredup(BaseSounds::ini_set); if (!BaseSounds::SetSet(sounds_set)) { if (StrEmpty(sounds_set) || !BaseSounds::SetSet(NULL)) { usererror("Failed to find a sounds set. Please acquire a sounds set for OpenTTD. See section 4.1 of readme.txt."); @@ -821,7 +825,7 @@ int openttd_main(int argc, char *argv[]) free(sounds_set); BaseMusic::FindSets(); - if (music_set == NULL && BaseMusic::ini_set != NULL) music_set = strdup(BaseMusic::ini_set); + if (music_set == NULL && BaseMusic::ini_set != NULL) music_set = stredup(BaseMusic::ini_set); if (!BaseMusic::SetSet(music_set)) { if (StrEmpty(music_set) || !BaseMusic::SetSet(NULL)) { usererror("Failed to find a music set. Please acquire a music set for OpenTTD. See section 4.1 of readme.txt."); @@ -833,22 +837,12 @@ int openttd_main(int argc, char *argv[]) } free(music_set); - if (sounddriver == NULL && _ini_sounddriver != NULL) sounddriver = strdup(_ini_sounddriver); - _sound_driver = (SoundDriver*)DriverFactoryBase::SelectDriver(sounddriver, Driver::DT_SOUND); - if (_sound_driver == NULL) { - StrEmpty(sounddriver) ? - usererror("Failed to autoprobe sound driver") : - usererror("Failed to select requested sound driver '%s'", sounddriver); - } + if (sounddriver == NULL && _ini_sounddriver != NULL) sounddriver = stredup(_ini_sounddriver); + DriverFactoryBase::SelectDriver(sounddriver, Driver::DT_SOUND); free(sounddriver); - if (musicdriver == NULL && _ini_musicdriver != NULL) musicdriver = strdup(_ini_musicdriver); - _music_driver = (MusicDriver*)DriverFactoryBase::SelectDriver(musicdriver, Driver::DT_MUSIC); - if (_music_driver == NULL) { - StrEmpty(musicdriver) ? - usererror("Failed to autoprobe music driver") : - usererror("Failed to select requested music driver '%s'", musicdriver); - } + if (musicdriver == NULL && _ini_musicdriver != NULL) musicdriver = stredup(_ini_musicdriver); + DriverFactoryBase::SelectDriver(musicdriver, Driver::DT_MUSIC); free(musicdriver); /* Take our initial lock on whatever we might want to do! */ @@ -866,7 +860,7 @@ int openttd_main(int argc, char *argv[]) ScanNewGRFFiles(scanner); scanner = NULL; - _video_driver->MainLoop(); + VideoDriver::GetInstance()->MainLoop(); WaitTillSaved(); @@ -934,7 +928,7 @@ static void MakeNewGameDone() SettingsDisableElrail(_settings_game.vehicle.disable_elrails); /* In a dedicated server, the server does not play */ - if (!_video_driver->HasGUI()) { + if (!VideoDriver::GetInstance()->HasGUI()) { SetLocalCompany(COMPANY_SPECTATOR); if (_settings_client.gui.pause_on_newgame) DoCommandP(0, PM_PAUSED_NORMAL, 1, CMD_PAUSE); IConsoleCmdExec("exec scripts/game_start.scr 0"); @@ -964,6 +958,7 @@ static void MakeNewGameDone() if (_settings_client.gui.pause_on_newgame) DoCommandP(0, PM_PAUSED_NORMAL, 1, CMD_PAUSE); CheckEngines(); + CheckIndustries(); MarkWholeScreenDirty(); } @@ -1088,7 +1083,7 @@ void SwitchToMode(SwitchMode new_mode) case SM_NEWGAME: // New Game --> 'Random game' #ifdef ENABLE_NETWORK if (_network_server) { - snprintf(_network_game_info.map_name, lengthof(_network_game_info.map_name), "Random Map"); + seprintf(_network_game_info.map_name, lastof(_network_game_info.map_name), "Random Map"); } #endif /* ENABLE_NETWORK */ MakeNewGame(false, new_mode == SM_NEWGAME); @@ -1115,7 +1110,7 @@ void SwitchToMode(SwitchMode new_mode) DoCommandP(0, PM_PAUSED_SAVELOAD, 0, CMD_PAUSE); #ifdef ENABLE_NETWORK if (_network_server) { - snprintf(_network_game_info.map_name, lengthof(_network_game_info.map_name), "%s (Loaded game)", _file_to_saveload.title); + seprintf(_network_game_info.map_name, lastof(_network_game_info.map_name), "%s (Loaded game)", _file_to_saveload.title); } #endif /* ENABLE_NETWORK */ } @@ -1125,7 +1120,7 @@ void SwitchToMode(SwitchMode new_mode) case SM_START_HEIGHTMAP: // Load a heightmap and start a new game from it #ifdef ENABLE_NETWORK if (_network_server) { - snprintf(_network_game_info.map_name, lengthof(_network_game_info.map_name), "%s (Heightmap)", _file_to_saveload.title); + seprintf(_network_game_info.map_name, lastof(_network_game_info.map_name), "%s (Heightmap)", _file_to_saveload.title); } #endif /* ENABLE_NETWORK */ MakeNewGame(true, true); @@ -1155,7 +1150,7 @@ void SwitchToMode(SwitchMode new_mode) LoadIntroGame(); if (BaseSounds::ini_set == NULL && BaseSounds::GetUsedSet()->fallback) { ShowErrorMessage(STR_WARNING_FALLBACK_SOUNDSET, INVALID_STRING_ID, WL_CRITICAL); - BaseSounds::ini_set = strdup(BaseSounds::GetUsedSet()->name); + BaseSounds::ini_set = stredup(BaseSounds::GetUsedSet()->name); } break; @@ -1371,7 +1366,7 @@ void StateGameLoop() if (_debug_desync_level > 2 && _date_fract == 0 && (_date & 0x1F) == 0) { /* Save the desync savegame if needed. */ char name[MAX_PATH]; - snprintf(name, lengthof(name), "dmp_cmds_%08x_%08x.sav", _settings_game.game_creation.generation_seed, _date); + seprintf(name, lastof(name), "dmp_cmds_%08x_%08x.sav", _settings_game.game_creation.generation_seed, _date); SaveOrLoad(name, SL_SAVE, AUTOSAVE_DIR, false); } @@ -1423,7 +1418,7 @@ static void DoAutosave() static int _autosave_ctr = 0; /* generate a savegame name and number according to _settings_client.gui.max_num_autosaves */ - snprintf(buf, sizeof(buf), "autosave%d.sav", _autosave_ctr); + seprintf(buf, lastof(buf), "autosave%d.sav", _autosave_ctr); if (++_autosave_ctr >= _settings_client.gui.max_num_autosaves) _autosave_ctr = 0; } @@ -1500,6 +1495,6 @@ void GameLoop() InputLoop(); - _sound_driver->MainLoop(); + SoundDriver::GetInstance()->MainLoop(); MusicLoop(); } diff --git a/src/order_backup.cpp b/src/order_backup.cpp index 100348f8ab..597ad13bba 100644 --- a/src/order_backup.cpp +++ b/src/order_backup.cpp @@ -19,6 +19,8 @@ #include "window_func.h" #include "station_map.h" +#include "safeguards.h" + OrderBackupPool _order_backup_pool("BackupOrder"); INSTANTIATE_POOL_METHODS(OrderBackup) diff --git a/src/order_base.h b/src/order_base.h index ff08136138..a67cf69bb4 100644 --- a/src/order_base.h +++ b/src/order_base.h @@ -43,13 +43,13 @@ private: CargoID refit_cargo; ///< Refit CargoID -public: - Order *next; ///< Pointer to next order. If NULL, end of list - uint16 wait_time; ///< How long in ticks to wait at the destination. uint16 travel_time; ///< How long in ticks the journey to this destination should take. uint16 max_speed; ///< How fast the vehicle may go on the way to the destination. +public: + Order *next; ///< Pointer to next order. If NULL, end of list + Order() : refit_cargo(CT_NO_REFIT), max_speed(UINT16_MAX) {} ~Order(); @@ -126,17 +126,17 @@ public: void SetRefit(CargoID cargo); /** How must the consist be loaded? */ - inline OrderLoadFlags GetLoadType() const { return (OrderLoadFlags)GB(this->flags, 4, 4); } + inline OrderLoadFlags GetLoadType() const { return (OrderLoadFlags)GB(this->flags, 4, 3); } /** How must the consist be unloaded? */ - inline OrderUnloadFlags GetUnloadType() const { return (OrderUnloadFlags)GB(this->flags, 0, 4); } + inline OrderUnloadFlags GetUnloadType() const { return (OrderUnloadFlags)GB(this->flags, 0, 3); } /** At which stations must we stop? */ inline OrderNonStopFlags GetNonStopType() const { return (OrderNonStopFlags)GB(this->type, 6, 2); } /** Where must we stop at the platform? */ inline OrderStopLocation GetStopLocation() const { return (OrderStopLocation)GB(this->type, 4, 2); } /** What caused us going to the depot? */ - inline OrderDepotTypeFlags GetDepotOrderType() const { return (OrderDepotTypeFlags)GB(this->flags, 0, 4); } + inline OrderDepotTypeFlags GetDepotOrderType() const { return (OrderDepotTypeFlags)GB(this->flags, 0, 3); } /** What are we going to do when in the depot. */ - inline OrderDepotActionFlags GetDepotActionType() const { return (OrderDepotActionFlags)GB(this->flags, 4, 4); } + inline OrderDepotActionFlags GetDepotActionType() const { return (OrderDepotActionFlags)GB(this->flags, 4, 3); } /** What variable do we have to compare? */ inline OrderConditionVariable GetConditionVariable() const { return (OrderConditionVariable)GB(this->dest, 11, 5); } /** What is the comparator to use? */ @@ -147,17 +147,17 @@ public: inline uint16 GetConditionValue() const { return GB(this->dest, 0, 11); } /** Set how the consist must be loaded. */ - inline void SetLoadType(OrderLoadFlags load_type) { SB(this->flags, 4, 4, load_type); } + inline void SetLoadType(OrderLoadFlags load_type) { SB(this->flags, 4, 3, load_type); } /** Set how the consist must be unloaded. */ - inline void SetUnloadType(OrderUnloadFlags unload_type) { SB(this->flags, 0, 4, unload_type); } + inline void SetUnloadType(OrderUnloadFlags unload_type) { SB(this->flags, 0, 3, unload_type); } /** Set whether we must stop at stations or not. */ inline void SetNonStopType(OrderNonStopFlags non_stop_type) { SB(this->type, 6, 2, non_stop_type); } /** Set where we must stop at the platform. */ inline void SetStopLocation(OrderStopLocation stop_location) { SB(this->type, 4, 2, stop_location); } /** Set the cause to go to the depot. */ - inline void SetDepotOrderType(OrderDepotTypeFlags depot_order_type) { SB(this->flags, 0, 4, depot_order_type); } + inline void SetDepotOrderType(OrderDepotTypeFlags depot_order_type) { SB(this->flags, 0, 3, depot_order_type); } /** Set what we are going to do in the depot. */ - inline void SetDepotActionType(OrderDepotActionFlags depot_service_type) { SB(this->flags, 4, 4, depot_service_type); } + inline void SetDepotActionType(OrderDepotActionFlags depot_service_type) { SB(this->flags, 4, 3, depot_service_type); } /** Set variable we have to compare. */ inline void SetConditionVariable(OrderConditionVariable condition_variable) { SB(this->dest, 11, 5, condition_variable); } /** Set the comparator to use. */ @@ -167,17 +167,70 @@ public: /** Set the value to base the skip on. */ inline void SetConditionValue(uint16 value) { SB(this->dest, 0, 11, value); } + /* As conditional orders write their "skip to" order all over the flags, we cannot check the + * flags to find out if timetabling is enabled. However, as conditional orders are never + * autofilled we can be sure that any non-zero values for their wait_time and travel_time are + * explicitly set (but travel_time is actually unused for conditionals). */ + + /** Does this order have an explicit wait time set? */ + inline bool IsWaitTimetabled() const { return this->IsType(OT_CONDITIONAL) ? this->wait_time > 0 : HasBit(this->flags, 3); } + /** Does this order have an explicit travel time set? */ + inline bool IsTravelTimetabled() const { return this->IsType(OT_CONDITIONAL) ? this->travel_time > 0 : HasBit(this->flags, 7); } + + /** Get the time in ticks a vehicle should wait at the destination or 0 if it's not timetabled. */ + inline uint16 GetTimetabledWait() const { return this->IsWaitTimetabled() ? this->wait_time : 0; } + /** Get the time in ticks a vehicle should take to reach the destination or 0 if it's not timetabled. */ + inline uint16 GetTimetabledTravel() const { return this->IsTravelTimetabled() ? this->travel_time : 0; } + /** Get the time in ticks a vehicle will probably wait at the destination (timetabled or not). */ + inline uint16 GetWaitTime() const { return this->wait_time; } + /** Get the time in ticks a vehicle will probably take to reach the destination (timetabled or not). */ + inline uint16 GetTravelTime() const { return this->travel_time; } + + /** + * Get the maxmimum speed in km-ish/h a vehicle is allowed to reach on the way to the + * destination. + * @return maximum speed. + */ + inline uint16 GetMaxSpeed() const { return this->max_speed; } + + /** Set if the wait time is explicitly timetabled (unless the order is conditional). */ + inline void SetWaitTimetabled(bool timetabled) { if (!this->IsType(OT_CONDITIONAL)) SB(this->flags, 3, 1, timetabled ? 1 : 0); } + /** Set if the travel time is explicitly timetabled (unless the order is conditional). */ + inline void SetTravelTimetabled(bool timetabled) { if (!this->IsType(OT_CONDITIONAL)) SB(this->flags, 7, 1, timetabled ? 1 : 0); } + + /** + * Set the time in ticks to wait at the destination. + * @param time Time to set as wait time. + */ + inline void SetWaitTime(uint16 time) { this->wait_time = time; } + + /** + * Set the time in ticks to take for travelling to the destination. + * @param time Time to set as travel time. + */ + inline void SetTravelTime(uint16 time) { this->travel_time = time; } + + /** + * Set the maxmimum speed in km-ish/h a vehicle is allowed to reach on the way to the + * destination. + * @param speed Speed to be set. + */ + inline void SetMaxSpeed(uint16 speed) { this->max_speed = speed; } + bool ShouldStopAtStation(const Vehicle *v, StationID station) const; bool CanLoadOrUnload() const; bool CanLeaveWithCargo(bool has_cargo) const; TileIndex GetLocation(const Vehicle *v, bool airport = false) const; - /** Checks if this order has travel_time and if needed wait_time set. */ + /** Checks if travel_time and wait_time apply to this order and if they are timetabled. */ inline bool IsCompletelyTimetabled() const { - if (this->travel_time == 0 && !this->IsType(OT_CONDITIONAL)) return false; - if (this->wait_time == 0 && this->IsType(OT_GOTO_STATION) && !(this->GetNonStopType() & ONSF_NO_STOP_AT_DESTINATION_STATION)) return false; + if (!this->IsTravelTimetabled() && !this->IsType(OT_CONDITIONAL)) return false; + if (!this->IsWaitTimetabled() && this->IsType(OT_GOTO_STATION) && + !(this->GetNonStopType() & ONSF_NO_STOP_AT_DESTINATION_STATION)) { + return false; + } return true; } @@ -209,13 +262,14 @@ private: uint num_vehicles; ///< NOSAVE: Number of vehicles that share this order list. Vehicle *first_shared; ///< NOSAVE: pointer to the first vehicle in the shared order chain. - Ticks timetable_duration; ///< NOSAVE: Total duration of the order list + Ticks timetable_duration; ///< NOSAVE: Total timetabled duration of the order list. + Ticks total_duration; ///< NOSAVE: Total (timetabled or not) duration of the order list. public: /** Default constructor producing an invalid order list. */ OrderList(VehicleOrderID num_orders = INVALID_VEH_ORDER_ID) : first(NULL), num_orders(num_orders), num_manual_orders(0), num_vehicles(0), first_shared(NULL), - timetable_duration(0) { } + timetable_duration(0), total_duration(0) { } /** * Create an order list with the given order chain for the given vehicle. @@ -315,11 +369,23 @@ public: */ inline Ticks GetTimetableDurationIncomplete() const { return this->timetable_duration; } + /** + * Gets the known duration of the vehicles orders, timetabled or not. + * @return known order duration. + */ + inline Ticks GetTotalDuration() const { return this->total_duration; } + /** * Must be called if an order's timetable is changed to update internal book keeping. * @param delta By how many ticks has the timetable duration changed */ - void UpdateOrderTimetable(Ticks delta) { this->timetable_duration += delta; } + void UpdateTimetableDuration(Ticks delta) { this->timetable_duration += delta; } + + /** + * Must be called if an order's timetable is changed to update internal book keeping. + * @param delta By how many ticks has the total duration changed + */ + void UpdateTotalDuration(Ticks delta) { this->total_duration += delta; } void FreeChain(bool keep_orderlist = false); diff --git a/src/order_cmd.cpp b/src/order_cmd.cpp index 70ab702a58..57b29f3f53 100644 --- a/src/order_cmd.cpp +++ b/src/order_cmd.cpp @@ -27,9 +27,12 @@ #include "waypoint_base.h" #include "company_base.h" #include "order_backup.h" +#include "cheat_type.h" #include "table/strings.h" +#include "safeguards.h" + /* DestinationID must be at least as large as every these below, because it can * be any of them */ @@ -295,11 +298,13 @@ void OrderList::Initialize(Order *chain, Vehicle *v) this->num_manual_orders = 0; this->num_vehicles = 1; this->timetable_duration = 0; + this->total_duration = 0; for (Order *o = this->first; o != NULL; o = o->next) { ++this->num_orders; if (!o->IsType(OT_IMPLICIT)) ++this->num_manual_orders; - this->timetable_duration += o->wait_time + o->travel_time; + this->timetable_duration += o->GetTimetabledWait() + o->GetTimetabledTravel(); + this->total_duration += o->GetWaitTime() + o->GetTravelTime(); } for (Vehicle *u = this->first_shared->PreviousShared(); u != NULL; u = u->PreviousShared()) { @@ -474,7 +479,8 @@ void OrderList::InsertOrderAt(Order *new_order, int index) } ++this->num_orders; if (!new_order->IsType(OT_IMPLICIT)) ++this->num_manual_orders; - this->timetable_duration += new_order->wait_time + new_order->travel_time; + this->timetable_duration += new_order->GetTimetabledWait() + new_order->GetTimetabledTravel(); + this->total_duration += new_order->GetWaitTime() + new_order->GetTravelTime(); /* We can visit oil rigs and buoys that are not our own. They will be shown in * the list of stations. So, we need to invalidate that window if needed. */ @@ -506,7 +512,8 @@ void OrderList::DeleteOrderAt(int index) } --this->num_orders; if (!to_remove->IsType(OT_IMPLICIT)) --this->num_manual_orders; - this->timetable_duration -= (to_remove->wait_time + to_remove->travel_time); + this->timetable_duration -= (to_remove->GetTimetabledWait() + to_remove->GetTimetabledTravel()); + this->total_duration -= (to_remove->GetWaitTime() + to_remove->GetTravelTime()); delete to_remove; } @@ -601,26 +608,29 @@ void OrderList::DebugCheckSanity() const VehicleOrderID check_num_manual_orders = 0; uint check_num_vehicles = 0; Ticks check_timetable_duration = 0; + Ticks check_total_duration = 0; DEBUG(misc, 6, "Checking OrderList %hu for sanity...", this->index); for (const Order *o = this->first; o != NULL; o = o->next) { ++check_num_orders; if (!o->IsType(OT_IMPLICIT)) ++check_num_manual_orders; - check_timetable_duration += o->wait_time + o->travel_time; + check_timetable_duration += o->GetTimetabledWait() + o->GetTimetabledTravel(); + check_total_duration += o->GetWaitTime() + o->GetTravelTime(); } assert(this->num_orders == check_num_orders); assert(this->num_manual_orders == check_num_manual_orders); assert(this->timetable_duration == check_timetable_duration); + assert(this->total_duration == check_total_duration); for (const Vehicle *v = this->first_shared; v != NULL; v = v->NextShared()) { ++check_num_vehicles; assert(v->orders.list == this); } assert(this->num_vehicles == check_num_vehicles); - DEBUG(misc, 6, "... detected %u orders (%u manual), %u vehicles, %i ticks", + DEBUG(misc, 6, "... detected %u orders (%u manual), %u vehicles, %i timetabled, %i total", (uint)this->num_orders, (uint)this->num_manual_orders, - this->num_vehicles, this->timetable_duration); + this->num_vehicles, this->timetable_duration, this->total_duration); } /** @@ -648,6 +658,7 @@ static void DeleteOrderWarnings(const Vehicle *v) DeleteVehicleNews(v->index, STR_NEWS_VEHICLE_HAS_VOID_ORDER); DeleteVehicleNews(v->index, STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY); DeleteVehicleNews(v->index, STR_NEWS_VEHICLE_HAS_INVALID_ENTRY); + DeleteVehicleNews(v->index, STR_NEWS_PLANE_USES_TOO_SHORT_RUNWAY); } /** @@ -1761,17 +1772,16 @@ void CheckOrders(const Vehicle *v) /* Only check every 20 days, so that we don't flood the message log */ if (v->owner == _local_company && v->day_counter % 20 == 0) { - int n_st, problem_type = -1; const Order *order; - int message = 0; + StringID message = INVALID_STRING_ID; /* Check the order list */ - n_st = 0; + int n_st = 0; FOR_VEHICLE_ORDERS(v, order) { /* Dummy order? */ if (order->IsType(OT_DUMMY)) { - problem_type = 1; + message = STR_NEWS_VEHICLE_HAS_VOID_ORDER; break; } /* Does station have a load-bay for this vehicle? */ @@ -1779,7 +1789,16 @@ void CheckOrders(const Vehicle *v) const Station *st = Station::Get(order->GetDestination()); n_st++; - if (!CanVehicleUseStation(v, st)) problem_type = 3; + if (!CanVehicleUseStation(v, st)) { + message = STR_NEWS_VEHICLE_HAS_INVALID_ENTRY; + } else if (v->type == VEH_AIRCRAFT && + (AircraftVehInfo(v->engine_type)->subtype & AIR_FAST) && + (st->airport.GetFTA()->flags & AirportFTAClass::SHORT_STRIP) && + _settings_game.vehicle.plane_crashes != 0 && + !_cheats.no_jetcrash.value && + message == INVALID_STRING_ID) { + message = STR_NEWS_PLANE_USES_TOO_SHORT_RUNWAY; + } } } @@ -1788,22 +1807,19 @@ void CheckOrders(const Vehicle *v) const Order *last = v->GetLastOrder(); if (v->orders.list->GetFirstOrder()->Equals(*last)) { - problem_type = 2; + message = STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY; } } /* Do we only have 1 station in our order list? */ - if (n_st < 2 && problem_type == -1) problem_type = 0; + if (n_st < 2 && message == INVALID_STRING_ID) message = STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS; #ifndef NDEBUG if (v->orders.list != NULL) v->orders.list->DebugCheckSanity(); #endif /* We don't have a problem */ - if (problem_type < 0) return; - - message = STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS + problem_type; - //DEBUG(misc, 3, "Triggered News Item for vehicle %d", v->index); + if (message == INVALID_STRING_ID) return; SetDParam(0, v->index); AddVehicleAdviceNewsItem(message, v->index); @@ -1854,7 +1870,19 @@ restart: break; } + /* Clear wait time */ + v->orders.list->UpdateTotalDuration(-order->GetWaitTime()); + if (order->IsWaitTimetabled()) { + v->orders.list->UpdateTimetableDuration(-order->GetTimetabledWait()); + order->SetWaitTimetabled(false); + } + order->SetWaitTime(0); + + /* Clear order, preserving travel time */ + bool travel_timetabled = order->IsTravelTimetabled(); order->MakeDummy(); + order->SetTravelTimetabled(travel_timetabled); + for (const Vehicle *w = v->FirstShared(); w != NULL; w = w->NextShared()) { /* In GUI, simulate by removing the order and adding it back */ InvalidateVehicleOrder(w, id | (INVALID_VEH_ORDER_ID << 8)); @@ -2079,7 +2107,7 @@ bool UpdateOrderDest(Vehicle *v, const Order *order, int conditional_depth, bool UpdateVehicleTimetable(v, false); v->cur_implicit_order_index = v->cur_real_order_index = next_order; v->UpdateRealOrderIndex(); - v->current_order_time += v->GetOrder(v->cur_real_order_index)->travel_time; + v->current_order_time += v->GetOrder(v->cur_real_order_index)->GetTimetabledTravel(); /* Disable creation of implicit orders. * When inserting them we do not know that we would have to make the conditional orders point to them. */ diff --git a/src/order_gui.cpp b/src/order_gui.cpp index e62cf595f9..d4feae35ca 100644 --- a/src/order_gui.cpp +++ b/src/order_gui.cpp @@ -32,6 +32,8 @@ #include "widgets/order_widget.h" +#include "safeguards.h" + /** Order load types that could be given to station orders. */ static const StringID _station_load_types[][5][5] = { @@ -264,9 +266,9 @@ void DrawOrderString(const Vehicle *v, const Order *order, int order_index, int if (timetable) { SetDParam(3, STR_EMPTY); - if (order->wait_time > 0) { - SetDParam(5, STR_TIMETABLE_STAY_FOR); - SetTimetableParams(6, 7, order->wait_time); + if (order->GetWaitTime() > 0) { + SetDParam(5, order->IsWaitTimetabled() ? STR_TIMETABLE_STAY_FOR : STR_TIMETABLE_STAY_FOR_ESTIMATED); + SetTimetableParams(6, 7, order->GetWaitTime()); } } else { SetDParam(3, (order->GetNonStopType() & ONSF_NO_STOP_AT_DESTINATION_STATION) ? STR_EMPTY : _station_load_types[order->IsRefit()][unload][load]); @@ -332,9 +334,9 @@ void DrawOrderString(const Vehicle *v, const Order *order, int order_index, int SetDParam(4, value); } - if (timetable && order->wait_time > 0) { - SetDParam(5, STR_TIMETABLE_AND_TRAVEL_FOR); - SetTimetableParams(6, 7, order->wait_time); + if (timetable && order->GetWaitTime() > 0) { + SetDParam(5, order->IsWaitTimetabled() ? STR_TIMETABLE_AND_TRAVEL_FOR : STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED); + SetTimetableParams(6, 7, order->GetWaitTime()); } else { SetDParam(5, STR_EMPTY); } @@ -346,7 +348,12 @@ void DrawOrderString(const Vehicle *v, const Order *order, int order_index, int DrawString(rtl ? left : middle, rtl ? middle : right, y, STR_ORDER_TEXT, colour); } - +/** + * Get the order command a vehicle can do in a given tile. + * @param v Vehicle involved. + * @param tile Tile being queried. + * @return The order associated to vehicle v in given tile (or empty order if vehicle can do nothing in the tile). + */ static Order GetOrderCmdFromTile(const Vehicle *v, TileIndex tile) { /* Hack-ish; unpack order 0, so everything gets initialised with either zero @@ -356,59 +363,27 @@ static Order GetOrderCmdFromTile(const Vehicle *v, TileIndex tile) order.index = 0; /* check depot first */ - switch (GetTileType(tile)) { - case MP_RAILWAY: - if (v->type == VEH_TRAIN && IsTileOwner(tile, _local_company)) { - if (IsRailDepot(tile)) { - order.MakeGoToDepot(GetDepotIndex(tile), ODTFB_PART_OF_ORDERS, - _settings_client.gui.new_nonstop ? ONSF_NO_STOP_AT_INTERMEDIATE_STATIONS : ONSF_STOP_EVERYWHERE); - if (_ctrl_pressed) order.SetDepotOrderType((OrderDepotTypeFlags)(order.GetDepotOrderType() ^ ODTFB_SERVICE)); - return order; - } - } - break; + if (IsDepotTypeTile(tile, (TransportType)(uint)v->type) && IsTileOwner(tile, _local_company)) { + order.MakeGoToDepot(v->type == VEH_AIRCRAFT ? GetStationIndex(tile) : GetDepotIndex(tile), + ODTFB_PART_OF_ORDERS, + (_settings_client.gui.new_nonstop && v->IsGroundVehicle()) ? ONSF_NO_STOP_AT_INTERMEDIATE_STATIONS : ONSF_STOP_EVERYWHERE); - case MP_ROAD: - if (IsRoadDepot(tile) && v->type == VEH_ROAD && IsTileOwner(tile, _local_company)) { - order.MakeGoToDepot(GetDepotIndex(tile), ODTFB_PART_OF_ORDERS, - _settings_client.gui.new_nonstop ? ONSF_NO_STOP_AT_INTERMEDIATE_STATIONS : ONSF_STOP_EVERYWHERE); - if (_ctrl_pressed) order.SetDepotOrderType((OrderDepotTypeFlags)(order.GetDepotOrderType() ^ ODTFB_SERVICE)); - return order; - } - break; + if (_ctrl_pressed) order.SetDepotOrderType((OrderDepotTypeFlags)(order.GetDepotOrderType() ^ ODTFB_SERVICE)); - case MP_STATION: - if (v->type != VEH_AIRCRAFT) break; - if (IsHangar(tile) && IsTileOwner(tile, _local_company)) { - order.MakeGoToDepot(GetStationIndex(tile), ODTFB_PART_OF_ORDERS, ONSF_STOP_EVERYWHERE); - if (_ctrl_pressed) order.SetDepotOrderType((OrderDepotTypeFlags)(order.GetDepotOrderType() ^ ODTFB_SERVICE)); - return order; - } - break; - - case MP_WATER: - if (v->type != VEH_SHIP) break; - if (IsShipDepot(tile) && IsTileOwner(tile, _local_company)) { - order.MakeGoToDepot(GetDepotIndex(tile), ODTFB_PART_OF_ORDERS, ONSF_STOP_EVERYWHERE); - if (_ctrl_pressed) order.SetDepotOrderType((OrderDepotTypeFlags)(order.GetDepotOrderType() ^ ODTFB_SERVICE)); - return order; - } - break; - - default: - break; + return order; } - /* check waypoint */ + /* check rail waypoint */ if (IsRailWaypointTile(tile) && v->type == VEH_TRAIN && IsTileOwner(tile, _local_company)) { - order.MakeGoToWaypoint(Waypoint::GetByTile(tile)->index); + order.MakeGoToWaypoint(GetStationIndex(tile)); if (_settings_client.gui.new_nonstop != _ctrl_pressed) order.SetNonStopType(ONSF_NO_STOP_AT_ANY_STATION); return order; } - if ((IsBuoyTile(tile) && v->type == VEH_SHIP) || (IsRailWaypointTile(tile) && v->type == VEH_TRAIN)) { + /* check buoy (no ownership) */ + if (IsBuoyTile(tile) && v->type == VEH_SHIP) { order.MakeGoToWaypoint(GetStationIndex(tile)); return order; } diff --git a/src/os/macosx/crashlog_osx.cpp b/src/os/macosx/crashlog_osx.cpp index 109b3e5fe2..ad258bbc91 100644 --- a/src/os/macosx/crashlog_osx.cpp +++ b/src/os/macosx/crashlog_osx.cpp @@ -22,6 +22,8 @@ #include #include +#include "../../safeguards.h" + /* Macro testing a stack address for valid alignment. */ #if defined(__i386__) @@ -31,7 +33,7 @@ #endif /* printf format specification for 32/64-bit addresses. */ -#if __LP64__ +#ifdef __LP64__ #define PRINTF_PTR "0x%016lx" #else #define PRINTF_PTR "0x%08lx" diff --git a/src/os/macosx/macos.mm b/src/os/macosx/macos.mm index 1b1a1d5a7a..8d34cda58a 100644 --- a/src/os/macosx/macos.mm +++ b/src/os/macosx/macos.mm @@ -155,11 +155,11 @@ const char *GetCurrentLocale(const char *) /** * Return the contents of the clipboard (COCOA). * - * @param buffer Clipboard content.. - * @param buff_len Length of the clipboard content.. + * @param buffer Clipboard content. + * @param last The pointer to the last element of the destination buffer * @return Whether clipboard is empty or not. */ -bool GetClipboardContents(char *buffer, size_t buff_len) +bool GetClipboardContents(char *buffer, const char *last) { NSPasteboard *pb = [ NSPasteboard generalPasteboard ]; NSArray *types = [ NSArray arrayWithObject:NSStringPboardType ]; @@ -171,7 +171,7 @@ bool GetClipboardContents(char *buffer, size_t buff_len) NSString *string = [ pb stringForType:NSStringPboardType ]; if (string == nil || [ string length ] == 0) return false; - ttd_strlcpy(buffer, [ string UTF8String ], buff_len); + strecpy(buffer, [ string UTF8String ], last); return true; } diff --git a/src/os/macosx/osx_stdafx.h b/src/os/macosx/osx_stdafx.h index cd30f372ea..35b3f434a1 100644 --- a/src/os/macosx/osx_stdafx.h +++ b/src/os/macosx/osx_stdafx.h @@ -46,24 +46,14 @@ #define __STDC_LIMIT_MACROS #include -/* We need to include this first as that "depends" on the compiler's setting - * of __LP64__. So before we define __LP64__ so it can be used. */ -#include -#include - /* Some gcc versions include assert.h via this header. As this would interfere * with our own assert redefinition, include this header first. */ #if !defined(__clang__) && defined(__GNUC__) && (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)) # include #endif -/* __LP64__ only exists in 10.5 and higher */ -#if defined(__APPLE__) && !defined(__LP64__) -# define __LP64__ 0 -#endif - /* Check for mismatching 'architectures' */ -#if !defined(STRGEN) && !defined(SETTINGSGEN) && ((__LP64__ && !defined(_SQ64)) || (!__LP64__ && defined(_SQ64))) +#if !defined(STRGEN) && !defined(SETTINGSGEN) && ((defined(__LP64__) && !defined(_SQ64)) || (!defined(__LP64__) && defined(_SQ64))) # error "Compiling 64 bits without _SQ64 set! (or vice versa)" #endif @@ -99,7 +89,7 @@ /* NSInteger and NSUInteger are part of 10.5 and higher. */ #ifndef NSInteger -#if __LP64__ +#ifdef __LP64__ typedef long NSInteger; typedef unsigned long NSUInteger; #else @@ -109,7 +99,7 @@ typedef unsigned int NSUInteger; #endif /* NSInteger */ #ifndef CGFLOAT_DEFINED -#if __LP64__ +#ifdef __LP64__ typedef double CGFloat; #else typedef float CGFloat; diff --git a/src/os/macosx/splash.cpp b/src/os/macosx/splash.cpp index bc1cd2dbf3..eadb785101 100644 --- a/src/os/macosx/splash.cpp +++ b/src/os/macosx/splash.cpp @@ -23,6 +23,8 @@ #include +#include "../../safeguards.h" + /** * Handle pnglib error. * diff --git a/src/os/os2/os2.cpp b/src/os/os2/os2.cpp index 82ba19924f..386cc4dbb7 100644 --- a/src/os/os2/os2.cpp +++ b/src/os/os2/os2.cpp @@ -30,6 +30,8 @@ #include #endif +#include "../../safeguards.h" + #define INCL_WIN #define INCL_WINCLIPBOARD @@ -172,10 +174,13 @@ int CDECL main(int argc, char *argv[]) { SetRandomSeed(time(NULL)); + /* Make sure our arguments contain only valid UTF-8 characters. */ + for (int i = 0; i < argc; i++) ValidateString(argv[i]); + return openttd_main(argc, argv); } -bool GetClipboardContents(char *buffer, size_t buff_len) +bool GetClipboardContents(char *buffer, const char *last) { /* XXX -- Currently no clipboard support implemented with GCC */ #ifndef __INNOTEK_LIBC__ @@ -187,7 +192,7 @@ bool GetClipboardContents(char *buffer, size_t buff_len) if (text != NULL) { - ttd_strlcpy(buffer, text, buff_len); + strecpy(buffer, text, last); WinCloseClipbrd(hab); return true; } @@ -215,3 +220,9 @@ uint GetCPUCoreCount() { return 1; } + +void OSOpenBrowser(const char *url) +{ + // stub only + DEBUG(misc, 0, "Failed to open url: %s", url); +} diff --git a/src/os/unix/crashlog_unix.cpp b/src/os/unix/crashlog_unix.cpp index 0960720d1a..47de057f7e 100644 --- a/src/os/unix/crashlog_unix.cpp +++ b/src/os/unix/crashlog_unix.cpp @@ -31,6 +31,8 @@ #include #endif +#include "../../safeguards.h" + /** * Unix implementation for the crash logger. */ diff --git a/src/os/unix/unix.cpp b/src/os/unix/unix.cpp index 09bf6c6e70..24dedb2ee1 100644 --- a/src/os/unix/unix.cpp +++ b/src/os/unix/unix.cpp @@ -15,6 +15,7 @@ #include "../../crashlog.h" #include "../../core/random_func.hpp" #include "../../debug.h" +#include "../../string_func.h" #include @@ -63,6 +64,8 @@ ULONG __stack = (1024*1024)*2; // maybe not that much is needed actually ;) #endif #endif +#include "../../safeguards.h" + bool FiosIsRoot(const char *path) { #if !defined(__MORPHOS__) && !defined(__AMIGAOS__) @@ -105,13 +108,13 @@ bool FiosIsValidFile(const char *path, const struct dirent *ent, struct stat *sb #if defined(__MORPHOS__) || defined(__AMIGAOS__) /* On MorphOS or AmigaOS paths look like: "Volume:directory/subdirectory" */ if (FiosIsRoot(path)) { - res = snprintf(filename, lengthof(filename), "%s:%s", path, ent->d_name); + res = seprintf(filename, lastof(filename), "%s:%s", path, ent->d_name); } else // XXX - only next line! #else assert(path[strlen(path) - 1] == PATHSEPCHAR); if (strlen(path) > 2) assert(path[strlen(path) - 2] != PATHSEPCHAR); #endif - res = snprintf(filename, lengthof(filename), "%s%s", path, ent->d_name); + res = seprintf(filename, lastof(filename), "%s%s", path, ent->d_name); /* Could we fully concatenate the path and filename? */ if (res >= (int)lengthof(filename) || res < 0) return false; @@ -256,7 +259,8 @@ void cocoaReleaseAutoreleasePool(); int CDECL main(int argc, char *argv[]) { - int ret; + /* Make sure our arguments contain only valid UTF-8 characters. */ + for (int i = 0; i < argc; i++) ValidateString(argv[i]); #ifdef WITH_COCOA cocoaSetupAutoreleasePool(); @@ -272,7 +276,7 @@ int CDECL main(int argc, char *argv[]) signal(SIGPIPE, SIG_IGN); - ret = openttd_main(argc, argv); + int ret = openttd_main(argc, argv); #ifdef WITH_COCOA cocoaReleaseAutoreleasePool(); @@ -282,7 +286,7 @@ int CDECL main(int argc, char *argv[]) } #ifndef WITH_COCOA -bool GetClipboardContents(char *buffer, size_t buff_len) +bool GetClipboardContents(char *buffer, const char *last) { return false; } @@ -337,9 +341,18 @@ uint GetCPUCoreCount() int ncpu = 0; size_t len = sizeof(ncpu); +#ifdef OPENBSD + int name[2]; + name[0] = CTL_HW; + name[1] = HW_NCPU; + if (sysctl(name, 2, &ncpu, &len, NULL, 0) < 0) { + ncpu = 0; + } +#else if (sysctlbyname("hw.availcpu", &ncpu, &len, NULL, 0) < 0) { sysctlbyname("hw.ncpu", &ncpu, &len, NULL, 0); } +#endif /* #ifdef OPENBSD */ if (ncpu > 0) count = ncpu; #elif defined(_SC_NPROCESSORS_ONLN) @@ -356,10 +369,10 @@ void OSOpenBrowser(const char *url) if (child_pid != 0) return; const char *args[3]; - args[0] = "/usr/bin/xdg-open"; + args[0] = "xdg-open"; args[1] = url; args[2] = NULL; - execv(args[0], const_cast(args)); + execvp(args[0], const_cast(args)); DEBUG(misc, 0, "Failed to open url: %s", url); exit(0); } diff --git a/src/os/windows/crashlog_win.cpp b/src/os/windows/crashlog_win.cpp index 41f83b60ba..6e28cdba62 100644 --- a/src/os/windows/crashlog_win.cpp +++ b/src/os/windows/crashlog_win.cpp @@ -24,6 +24,8 @@ #include #include +#include "../../safeguards.h" + static const uint MAX_SYMBOL_LEN = 512; static const uint MAX_FRAMES = 64; @@ -521,7 +523,7 @@ static LONG WINAPI ExceptionHandler(EXCEPTION_POINTERS *ep) /* Close any possible log files */ CloseConsoleLogIfActive(); - if ((_video_driver == NULL || _video_driver->HasGUI()) && _safe_esp != NULL) { + if ((VideoDriver::GetInstance() == NULL || VideoDriver::GetInstance()->HasGUI()) && _safe_esp != NULL) { #ifdef _M_AMD64 ep->ContextRecord->Rip = (DWORD64)ShowCrashlogWindow; ep->ContextRecord->Rsp = (DWORD64)_safe_esp; @@ -611,6 +613,10 @@ static void SetWndSize(HWND wnd, int mode) } } +/* When TCHAR is char, then _sntprintf becomes snprintf. When TCHAR is wchar it doesn't. Likewise for strcat. */ +#undef snprintf +#undef strcat + static INT_PTR CALLBACK CrashDialogFunc(HWND wnd, UINT msg, WPARAM wParam, LPARAM lParam) { switch (msg) { diff --git a/src/os/windows/ottdres.rc.in b/src/os/windows/ottdres.rc.in index f70c521fff..8384b91e7c 100644 --- a/src/os/windows/ottdres.rc.in +++ b/src/os/windows/ottdres.rc.in @@ -79,8 +79,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,5,0,!!REVISION!! - PRODUCTVERSION 1,5,0,!!REVISION!! + FILEVERSION 1,6,0,!!REVISION!! + PRODUCTVERSION 1,6,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-2014. All Rights Reserved.\0" + VALUE "LegalCopyright", "Copyright \xA9 OpenTTD Developers 2002-2015. All Rights Reserved.\0" VALUE "LegalTrademarks", "\0" VALUE "OriginalFilename", "openttd.exe\0" VALUE "PrivateBuild", "\0" diff --git a/src/os/windows/win32.cpp b/src/os/windows/win32.cpp index d7ea4ab356..f69f01f6cb 100644 --- a/src/os/windows/win32.cpp +++ b/src/os/windows/win32.cpp @@ -19,7 +19,7 @@ #include #include #include /* SHGetFolderPath */ -#include +#include #include "win32.h" #include "../../core/alloc_func.hpp" #include "../../openttd.h" @@ -29,6 +29,11 @@ #include #include +/* Due to TCHAR, strncat and strncpy have to remain (for a while). */ +#include "../../safeguards.h" +#undef strncat +#undef strncpy + static bool _has_console; static bool _cursor_disable = true; static bool _cursor_visible = true; @@ -210,7 +215,7 @@ void FiosGetDrives() FiosItem *fios = _fios_items.Append(); fios->type = FIOS_TYPE_DRIVE; fios->mtime = 0; - snprintf(fios->name, lengthof(fios->name), PATHSEP ""); + seprintf(fios->name, lastof(fios->name), PATHSEP ""); strecpy(fios->title, fios->name, lastof(fios->title)); #else TCHAR drives[256]; @@ -221,7 +226,7 @@ void FiosGetDrives() FiosItem *fios = _fios_items.Append(); fios->type = FIOS_TYPE_DRIVE; fios->mtime = 0; - snprintf(fios->name, lengthof(fios->name), "%c:", s[0] & 0xFF); + seprintf(fios->name, lastof(fios->name), "%c:", s[0] & 0xFF); strecpy(fios->title, fios->name, lastof(fios->title)); while (*s++ != '\0') { /* Nothing */ } } @@ -433,7 +438,7 @@ int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLi /* Convert the command line to UTF-8. We need a dedicated buffer * for this because argv[] points into this buffer and this needs to * be available between subsequent calls to FS2OTTD(). */ - char *cmdline = strdup(FS2OTTD(GetCommandLine())); + char *cmdline = stredup(FS2OTTD(GetCommandLine())); #if defined(_DEBUG) CreateConsole(); @@ -448,6 +453,9 @@ int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLi argc = ParseCommandLine(cmdline, argv, lengthof(argv)); + /* Make sure our arguments contain only valid UTF-8 characters. */ + for (int i = 0; i < argc; i++) ValidateString(argv[i]); + openttd_main(argc, argv); free(cmdline); return 0; @@ -493,20 +501,20 @@ void DetermineBasePaths(const char *exe) #ifdef WITH_PERSONAL_DIR if (SUCCEEDED(OTTDSHGetFolderPath(NULL, CSIDL_PERSONAL, NULL, SHGFP_TYPE_CURRENT, path))) { strecpy(tmp, FS2OTTD(path), lastof(tmp)); - AppendPathSeparator(tmp, MAX_PATH); - ttd_strlcat(tmp, PERSONAL_DIR, MAX_PATH); - AppendPathSeparator(tmp, MAX_PATH); - _searchpaths[SP_PERSONAL_DIR] = strdup(tmp); + AppendPathSeparator(tmp, lastof(tmp)); + strecat(tmp, PERSONAL_DIR, lastof(tmp)); + AppendPathSeparator(tmp, lastof(tmp)); + _searchpaths[SP_PERSONAL_DIR] = stredup(tmp); } else { _searchpaths[SP_PERSONAL_DIR] = NULL; } if (SUCCEEDED(OTTDSHGetFolderPath(NULL, CSIDL_COMMON_DOCUMENTS, NULL, SHGFP_TYPE_CURRENT, path))) { strecpy(tmp, FS2OTTD(path), lastof(tmp)); - AppendPathSeparator(tmp, MAX_PATH); - ttd_strlcat(tmp, PERSONAL_DIR, MAX_PATH); - AppendPathSeparator(tmp, MAX_PATH); - _searchpaths[SP_SHARED_DIR] = strdup(tmp); + AppendPathSeparator(tmp, lastof(tmp)); + strecat(tmp, PERSONAL_DIR, lastof(tmp)); + AppendPathSeparator(tmp, lastof(tmp)); + _searchpaths[SP_SHARED_DIR] = stredup(tmp); } else { _searchpaths[SP_SHARED_DIR] = NULL; } @@ -517,8 +525,8 @@ void DetermineBasePaths(const char *exe) /* Get the path to working directory of OpenTTD */ getcwd(tmp, lengthof(tmp)); - AppendPathSeparator(tmp, MAX_PATH); - _searchpaths[SP_WORKING_DIR] = strdup(tmp); + AppendPathSeparator(tmp, lastof(tmp)); + _searchpaths[SP_WORKING_DIR] = stredup(tmp); if (!GetModuleFileName(NULL, path, lengthof(path))) { DEBUG(misc, 0, "GetModuleFileName failed (%lu)\n", GetLastError()); @@ -533,7 +541,7 @@ void DetermineBasePaths(const char *exe) strecpy(tmp, convert_from_fs(exec_dir, tmp, lengthof(tmp)), lastof(tmp)); char *s = strrchr(tmp, PATHSEPCHAR); *(s + 1) = '\0'; - _searchpaths[SP_BINARY_DIR] = strdup(tmp); + _searchpaths[SP_BINARY_DIR] = stredup(tmp); } } @@ -542,7 +550,7 @@ void DetermineBasePaths(const char *exe) } -bool GetClipboardContents(char *buffer, size_t buff_len) +bool GetClipboardContents(char *buffer, const char *last) { HGLOBAL cbuf; const char *ptr; @@ -552,7 +560,7 @@ bool GetClipboardContents(char *buffer, size_t buff_len) cbuf = GetClipboardData(CF_UNICODETEXT); ptr = (const char*)GlobalLock(cbuf); - int out_len = WideCharToMultiByte(CP_UTF8, 0, (LPCWSTR)ptr, -1, buffer, (int)buff_len, NULL, NULL); + int out_len = WideCharToMultiByte(CP_UTF8, 0, (LPCWSTR)ptr, -1, buffer, (last - buffer) + 1, NULL, NULL); GlobalUnlock(cbuf); CloseClipboard(); @@ -563,7 +571,7 @@ bool GetClipboardContents(char *buffer, size_t buff_len) cbuf = GetClipboardData(CF_TEXT); ptr = (const char*)GlobalLock(cbuf); - ttd_strlcpy(buffer, FS2OTTD(ptr), buff_len); + strecpy(buffer, FS2OTTD(ptr), last); GlobalUnlock(cbuf); CloseClipboard(); diff --git a/src/os/windows/win32.h b/src/os/windows/win32.h index 45bcff10ab..4e53879cf0 100644 --- a/src/os/windows/win32.h +++ b/src/os/windows/win32.h @@ -35,7 +35,7 @@ TCHAR *convert_to_fs(const char *name, TCHAR *utf16_buf, size_t buflen, bool con HRESULT OTTDSHGetFolderPath(HWND, int, HANDLE, DWORD, LPTSTR); -#if defined(__MINGW32__) +#if defined(__MINGW32__) && !defined(__MINGW64__) #define SHGFP_TYPE_CURRENT 0 #endif /* __MINGW32__ */ diff --git a/src/osk_gui.cpp b/src/osk_gui.cpp index 2516c4dbf6..974e465f43 100644 --- a/src/osk_gui.cpp +++ b/src/osk_gui.cpp @@ -23,6 +23,8 @@ #include "table/sprites.h" #include "table/strings.h" +#include "safeguards.h" + char _keyboard_opt[2][OSK_KEYBOARD_ENTRIES * 4 + 1]; static WChar _keyboard[2][OSK_KEYBOARD_ENTRIES]; @@ -57,7 +59,7 @@ struct OskWindow : public Window { this->querystrings[WID_OSK_TEXT] = this->qs; /* make a copy in case we need to reset later */ - this->orig_str_buf = strdup(this->qs->text.buf); + this->orig_str_buf = stredup(this->qs->text.buf); this->InitNested(0); this->SetFocusedWidget(WID_OSK_TEXT); @@ -206,7 +208,7 @@ struct OskWindow : public Window { virtual void OnFocusLost() { - _video_driver->EditBoxLostFocus(); + VideoDriver::GetInstance()->EditBoxLostFocus(); delete this; } }; @@ -428,7 +430,7 @@ void UpdateOSKOriginalText(const Window *parent, int button) if (osk == NULL || osk->parent != parent || osk->text_btn != button) return; free(osk->orig_str_buf); - osk->orig_str_buf = strdup(osk->qs->text.buf); + osk->orig_str_buf = stredup(osk->qs->text.buf); osk->SetDirty(); } diff --git a/src/pathfinder/follow_track.hpp b/src/pathfinder/follow_track.hpp index 7cc7c7248f..a16512bc06 100644 --- a/src/pathfinder/follow_track.hpp +++ b/src/pathfinder/follow_track.hpp @@ -130,9 +130,8 @@ struct CFollowTrackT if (!CanExitOldTile()) return false; FollowTileExit(); if (!QueryNewTileTrackStatus()) return TryReverse(); - if (!CanEnterNewTile()) return false; m_new_td_bits &= DiagdirReachesTrackdirs(m_exitdir); - if (m_new_td_bits == TRACKDIR_BIT_NONE) { + if (m_new_td_bits == TRACKDIR_BIT_NONE || !CanEnterNewTile()) { /* In case we can't enter the next tile, but are * a normal road vehicle, then we can actually * try to reverse as this is the end of the road. diff --git a/src/pathfinder/npf/aystar.cpp b/src/pathfinder/npf/aystar.cpp index 153ffa8c15..9ef2bca479 100644 --- a/src/pathfinder/npf/aystar.cpp +++ b/src/pathfinder/npf/aystar.cpp @@ -27,6 +27,8 @@ #include "../../core/alloc_func.hpp" #include "aystar.h" +#include "../../safeguards.h" + /** * This looks in the hash whether a node exists in the closed list. * @param node Node to search. diff --git a/src/pathfinder/npf/npf.cpp b/src/pathfinder/npf/npf.cpp index 5c4ccb3ccb..bb705e5f4a 100644 --- a/src/pathfinder/npf/npf.cpp +++ b/src/pathfinder/npf/npf.cpp @@ -19,6 +19,8 @@ #include "../follow_track.hpp" #include "aystar.h" +#include "../../safeguards.h" + static const uint NPF_HASH_BITS = 12; ///< The size of the hash used in pathfinding. Just changing this value should be sufficient to change the hash size. Should be an even value. /* Do no change below values */ static const uint NPF_HASH_SIZE = 1 << NPF_HASH_BITS; diff --git a/src/pathfinder/npf/queue.cpp b/src/pathfinder/npf/queue.cpp index 45540c1b61..2afb413918 100644 --- a/src/pathfinder/npf/queue.cpp +++ b/src/pathfinder/npf/queue.cpp @@ -13,6 +13,8 @@ #include "../../core/alloc_func.hpp" #include "queue.h" +#include "../../safeguards.h" + /* * Binary Heap diff --git a/src/pathfinder/opf/opf_ship.cpp b/src/pathfinder/opf/opf_ship.cpp index 850577de14..023c6a4a09 100644 --- a/src/pathfinder/opf/opf_ship.cpp +++ b/src/pathfinder/opf/opf_ship.cpp @@ -15,6 +15,8 @@ #include "../../ship.h" #include "../../core/random_func.hpp" +#include "../../safeguards.h" + struct RememberData { uint16 cur_length; byte depth; diff --git a/src/pathfinder/yapf/yapf_rail.cpp b/src/pathfinder/yapf/yapf_rail.cpp index f66140046a..081bfdc645 100644 --- a/src/pathfinder/yapf/yapf_rail.cpp +++ b/src/pathfinder/yapf/yapf_rail.cpp @@ -19,9 +19,8 @@ #include "../../viewport_func.h" #include "../../newgrf_station.h" -#define DEBUG_YAPF_CACHE 0 +#include "../../safeguards.h" -#if DEBUG_YAPF_CACHE template void DumpState(Tpf &pf1, Tpf &pf2) { DumpTarget dmp1, dmp2; @@ -34,7 +33,6 @@ template void DumpState(Tpf &pf1, Tpf &pf2) fclose(f1); fclose(f2); } -#endif int _total_pf_time_us = 0; @@ -240,17 +238,17 @@ public: if (max_penalty != 0) pf1.DisableCache(true); bool result1 = pf1.FindNearestDepotTwoWay(v, t1, td1, t2, td2, max_penalty, reverse_penalty, depot_tile, reversed); -#if DEBUG_YAPF_CACHE - 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(yapf, 0, "CACHE ERROR: FindNearestDepotTwoWay() = [%s, %s]", result1 ? "T" : "F", result2 ? "T" : "F"); - DumpState(pf1, pf2); + 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"); + DumpState(pf1, pf2); + } } -#endif return result1; } @@ -325,19 +323,19 @@ public: { /* Create pathfinder instance */ Tpf pf1; -#if !DEBUG_YAPF_CACHE - bool result1 = pf1.FindNearestSafeTile(v, t1, td, override_railtype, false); - -#else - bool result2 = pf1.FindNearestSafeTile(v, t1, td, override_railtype, true); - Tpf pf2; - pf2.DisableCache(true); - bool result1 = pf2.FindNearestSafeTile(v, t1, td, override_railtype, false); - if (result1 != result2) { - DEBUG(yapf, 0, "CACHE ERROR: FindSafeTile() = [%s, %s]", result2 ? "T" : "F", result1 ? "T" : "F"); - DumpState(pf1, pf2); + bool result1; + if (_debug_desync_level < 2) { + result1 = pf1.FindNearestSafeTile(v, t1, td, override_railtype, false); + } else { + bool result2 = pf1.FindNearestSafeTile(v, t1, td, override_railtype, true); + Tpf pf2; + pf2.DisableCache(true); + result1 = pf2.FindNearestSafeTile(v, t1, td, override_railtype, false); + if (result1 != result2) { + DEBUG(desync, 2, "CACHE ERROR: FindSafeTile() = [%s, %s]", result2 ? "T" : "F", result1 ? "T" : "F"); + DumpState(pf1, pf2); + } } -#endif return result1; } @@ -408,19 +406,20 @@ public: { /* create pathfinder instance */ Tpf pf1; -#if !DEBUG_YAPF_CACHE - Trackdir result1 = pf1.ChooseRailTrack(v, tile, enterdir, tracks, path_found, reserve_track, target); + Trackdir result1; -#else - Trackdir result1 = pf1.ChooseRailTrack(v, tile, enterdir, tracks, path_found, false, NULL); - Tpf pf2; - pf2.DisableCache(true); - Trackdir result2 = pf2.ChooseRailTrack(v, tile, enterdir, tracks, path_found, reserve_track, target); - if (result1 != result2) { - DEBUG(yapf, 0, "CACHE ERROR: ChooseRailTrack() = [%d, %d]", result1, result2); - DumpState(pf1, pf2); + if (_debug_desync_level < 2) { + result1 = pf1.ChooseRailTrack(v, tile, enterdir, tracks, path_found, reserve_track, target); + } else { + result1 = pf1.ChooseRailTrack(v, tile, enterdir, tracks, path_found, false, NULL); + Tpf pf2; + pf2.DisableCache(true); + Trackdir result2 = pf2.ChooseRailTrack(v, tile, enterdir, tracks, path_found, reserve_track, target); + if (result1 != result2) { + DEBUG(desync, 2, "CACHE ERROR: ChooseRailTrack() = [%d, %d]", result1, result2); + DumpState(pf1, pf2); + } } -#endif return result1; } @@ -470,15 +469,15 @@ public: Tpf pf1; bool result1 = pf1.CheckReverseTrain(v, t1, td1, t2, td2, reverse_penalty); -#if DEBUG_YAPF_CACHE - Tpf pf2; - pf2.DisableCache(true); - bool result2 = pf2.CheckReverseTrain(v, t1, td1, t2, td2, reverse_penalty); - if (result1 != result2) { - DEBUG(yapf, 0, "CACHE ERROR: CheckReverseTrain() = [%s, %s]", result1 ? "T" : "F", result2 ? "T" : "F"); - DumpState(pf1, pf2); + if (_debug_desync_level >= 2) { + Tpf pf2; + pf2.DisableCache(true); + bool result2 = pf2.CheckReverseTrain(v, t1, td1, t2, td2, reverse_penalty); + if (result1 != result2) { + DEBUG(desync, 2, "CACHE ERROR: CheckReverseTrain() = [%s, %s]", result1 ? "T" : "F", result2 ? "T" : "F"); + DumpState(pf1, pf2); + } } -#endif return result1; } diff --git a/src/pathfinder/yapf/yapf_road.cpp b/src/pathfinder/yapf/yapf_road.cpp index 82493241f5..711889b569 100644 --- a/src/pathfinder/yapf/yapf_road.cpp +++ b/src/pathfinder/yapf/yapf_road.cpp @@ -14,6 +14,8 @@ #include "yapf_node_road.hpp" #include "../../roadstop_base.h" +#include "../../safeguards.h" + template class CYapfCostRoadT diff --git a/src/pathfinder/yapf/yapf_ship.cpp b/src/pathfinder/yapf/yapf_ship.cpp index 5e1cd27e75..a01444a9ec 100644 --- a/src/pathfinder/yapf/yapf_ship.cpp +++ b/src/pathfinder/yapf/yapf_ship.cpp @@ -15,6 +15,8 @@ #include "yapf.hpp" #include "yapf_node_ship.hpp" +#include "../../safeguards.h" + /** Node Follower module of YAPF for ships */ template class CYapfFollowShipT diff --git a/src/pbs.cpp b/src/pbs.cpp index 55569c0596..133293909f 100644 --- a/src/pbs.cpp +++ b/src/pbs.cpp @@ -15,6 +15,8 @@ #include "newgrf_station.h" #include "pathfinder/follow_track.hpp" +#include "safeguards.h" + /** * Get the reserved trackbits for any tile, regardless of type. * @param t the tile @@ -83,7 +85,11 @@ bool TryReserveRailTrack(TileIndex tile, Track t, bool trigger_stations) if (_settings_client.gui.show_track_reservation) { /* show the reserved rail if needed */ - MarkTileDirtyByTile(tile); + if (IsBridgeTile(tile)) { + MarkBridgeDirty(tile); + } else { + MarkTileDirtyByTile(tile); + } } switch (GetTileType(tile)) { @@ -139,7 +145,11 @@ void UnreserveRailTrack(TileIndex tile, Track t) assert((GetTileTrackStatus(tile, TRANSPORT_RAIL, 0) & TrackToTrackBits(t)) != 0); if (_settings_client.gui.show_track_reservation) { - MarkTileDirtyByTile(tile); + if (IsBridgeTile(tile)) { + MarkBridgeDirty(tile); + } else { + MarkTileDirtyByTile(tile); + } } switch (GetTileType(tile)) { diff --git a/src/progress.cpp b/src/progress.cpp index 343893ceee..b498be109b 100644 --- a/src/progress.cpp +++ b/src/progress.cpp @@ -12,6 +12,8 @@ #include "stdafx.h" #include "thread/thread.h" +#include "safeguards.h" + /** Are we in a modal progress or not? */ bool _in_modal_progress = false; bool _first_in_modal_loop = false; diff --git a/src/rail.cpp b/src/rail.cpp index dd34cb6530..79598ec4a1 100644 --- a/src/rail.cpp +++ b/src/rail.cpp @@ -17,6 +17,8 @@ #include "company_base.h" #include "engine_base.h" +#include "safeguards.h" + /* XXX: Below 3 tables store duplicate data. Maybe remove some? */ /* Maps a trackdir to the bit that stores its status in the map arrays, in the * direction along with the trackdir */ diff --git a/src/rail.h b/src/rail.h index 249c1bea1c..539a162b8e 100644 --- a/src/rail.h +++ b/src/rail.h @@ -89,14 +89,22 @@ enum RailTrackBridgeOffset { * the sprites in the original data files. */ enum RailFenceOffset { - RFO_FLAT_X, - RFO_FLAT_Y, - RFO_FLAT_VERT, - RFO_FLAT_HORZ, - RFO_SLOPE_SW, - RFO_SLOPE_SE, - RFO_SLOPE_NE, - RFO_SLOPE_NW, + RFO_FLAT_X_NW, //!< Slope FLAT, Track X, Fence NW + RFO_FLAT_Y_NE, //!< Slope FLAT, Track Y, Fence NE + RFO_FLAT_LEFT, //!< Slope FLAT, Track LEFT, Fence E + RFO_FLAT_UPPER, //!< Slope FLAT, Track UPPER, Fence S + RFO_SLOPE_SW_NW, //!< Slope SW, Track X, Fence NW + RFO_SLOPE_SE_NE, //!< Slope SE, Track Y, Fence NE + RFO_SLOPE_NE_NW, //!< Slope NE, Track X, Fence NW + RFO_SLOPE_NW_NE, //!< Slope NW, Track Y, Fence NE + RFO_FLAT_X_SE, //!< Slope FLAT, Track X, Fence SE + RFO_FLAT_Y_SW, //!< Slope FLAT, Track Y, Fence SW + RFO_FLAT_RIGHT, //!< Slope FLAT, Track RIGHT, Fence W + RFO_FLAT_LOWER, //!< Slope FLAT, Track LOWER, Fence N + RFO_SLOPE_SW_SE, //!< Slope SW, Track X, Fence SE + RFO_SLOPE_SE_SW, //!< Slope SE, Track Y, Fence SW + RFO_SLOPE_NE_SE, //!< Slope NE, Track X, Fence SE + RFO_SLOPE_NW_SW, //!< Slope NW, Track Y, Fence SW }; /** List of rail type labels. */ @@ -150,16 +158,16 @@ struct RailtypeInfo { CursorID depot; ///< Cursor for building a depot CursorID tunnel; ///< Cursor for building a tunnel CursorID convert; ///< Cursor for converting track - } cursor; + } cursor; ///< Cursors associated with the rail type. struct { - StringID name; - StringID toolbar_caption; - StringID menu_text; - StringID build_caption; - StringID replace_text; - StringID new_loco; - } strings; + StringID name; ///< Name of this rail type. + StringID toolbar_caption; ///< Caption in the construction toolbar GUI for this rail type. + StringID menu_text; ///< Name of this rail type in the main toolbar dropdown. + StringID build_caption; ///< Caption of the build vehicle GUI for this rail type. + StringID replace_text; ///< Text used in the autoreplace GUI. + StringID new_loco; ///< Name of an engine for this type of rail in the engine preview GUI. + } strings; ///< Strings associated with the rail type. /** sprite number difference between a piece of track on a snowy ground and the corresponding one on normal ground */ SpriteID snow_offset; diff --git a/src/rail_cmd.cpp b/src/rail_cmd.cpp index 4dd4659bb6..743e6e193c 100644 --- a/src/rail_cmd.cpp +++ b/src/rail_cmd.cpp @@ -38,6 +38,8 @@ #include "table/railtypes.h" #include "table/track_land.h" +#include "safeguards.h" + /** Helper type for lists/vectors of trains */ typedef SmallVector TrainList; @@ -483,36 +485,38 @@ CommandCost CmdBuildSingleRail(TileIndex tile, DoCommandFlag flags, uint32 p1, u RoadTypes roadtypes = GetRoadTypes(tile); RoadBits road = GetRoadBits(tile, ROADTYPE_ROAD); RoadBits tram = GetRoadBits(tile, ROADTYPE_TRAM); - switch (roadtypes) { - default: break; - case ROADTYPES_TRAM: - /* Tram crossings must always have road. */ - if (flags & DC_EXEC) { - SetRoadOwner(tile, ROADTYPE_ROAD, _current_company); - Company *c = Company::GetIfValid(_current_company); - if (c != NULL) { - /* A full diagonal tile has two road bits. */ - c->infrastructure.road[ROADTYPE_ROAD] += 2; - DirtyCompanyInfrastructureWindows(c->index); - } - } - roadtypes |= ROADTYPES_ROAD; - break; + if ((track == TRACK_X && ((road | tram) & ROAD_X) == 0) || + (track == TRACK_Y && ((road | tram) & ROAD_Y) == 0)) { + Owner road_owner = GetRoadOwner(tile, ROADTYPE_ROAD); + Owner tram_owner = GetRoadOwner(tile, ROADTYPE_TRAM); + /* Disallow breaking end-of-line of someone else + * so trams can still reverse on this tile. */ + if (Company::IsValidID(tram_owner) && HasExactlyOneBit(tram)) { + CommandCost ret = CheckOwnership(tram_owner); + if (ret.Failed()) return ret; + } + /* Crossings must always have a road... */ + uint num_new_road_pieces = 2 - CountBits(road); + if (road == ROAD_NONE) road_owner = _current_company; + roadtypes |= ROADTYPES_ROAD; + /* ...but tram is not required. */ + uint num_new_tram_pieces = (tram != ROAD_NONE) ? 2 - CountBits(tram) : 0; - case ROADTYPES_ALL: - if (road != tram) return CMD_ERROR; - break; - } + cost.AddCost((num_new_road_pieces + num_new_tram_pieces) * _price[PR_BUILD_ROAD]); - road |= tram; - - if ((track == TRACK_X && road == ROAD_Y) || - (track == TRACK_Y && road == ROAD_X)) { if (flags & DC_EXEC) { - MakeRoadCrossing(tile, GetRoadOwner(tile, ROADTYPE_ROAD), GetRoadOwner(tile, ROADTYPE_TRAM), _current_company, (track == TRACK_X ? AXIS_Y : AXIS_X), railtype, roadtypes, GetTownIndex(tile)); + MakeRoadCrossing(tile, road_owner, tram_owner, _current_company, (track == TRACK_X ? AXIS_Y : AXIS_X), railtype, roadtypes, GetTownIndex(tile)); UpdateLevelCrossing(tile, false); Company::Get(_current_company)->infrastructure.rail[railtype] += LEVELCROSSING_TRACKBIT_FACTOR; DirtyCompanyInfrastructureWindows(_current_company); + if (num_new_road_pieces > 0 && Company::IsValidID(road_owner)) { + Company::Get(road_owner)->infrastructure.road[ROADTYPE_ROAD] += num_new_road_pieces; + DirtyCompanyInfrastructureWindows(road_owner); + } + if (num_new_tram_pieces > 0 && Company::IsValidID(tram_owner)) { + Company::Get(tram_owner)->infrastructure.road[ROADTYPE_TRAM] += num_new_tram_pieces; + DirtyCompanyInfrastructureWindows(tram_owner); + } } break; } @@ -951,7 +955,7 @@ CommandCost CmdBuildTrainDepot(TileIndex tile, DoCommandFlag flags, uint32 p1, u CommandCost cost = DoCommand(tile, 0, 0, flags, CMD_LANDSCAPE_CLEAR); if (cost.Failed()) return cost; - if (MayHaveBridgeAbove(tile) && IsBridgeAbove(tile)) return_cmd_error(STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST); + if (IsBridgeAbove(tile)) return_cmd_error(STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST); if (!Depot::CanAllocateItem()) return CMD_ERROR; @@ -1686,13 +1690,11 @@ CommandCost CmdConvertRail(TileIndex tile, DoCommandFlag flags, uint32 p1, uint3 YapfNotifyTrackLayoutChange(tile, track); YapfNotifyTrackLayoutChange(endtile, track); - MarkTileDirtyByTile(tile); - MarkTileDirtyByTile(endtile); - if (IsBridge(tile)) { - TileIndexDiff delta = TileOffsByDiagDir(GetTunnelBridgeDirection(tile)); - TileIndex t = tile + delta; - for (; t != endtile; t += delta) MarkTileDirtyByTile(t); // TODO encapsulate this into a function + MarkBridgeDirty(tile); + } else { + MarkTileDirtyByTile(tile); + MarkTileDirtyByTile(endtile); } } @@ -1872,109 +1874,128 @@ static void DrawSingleSignal(TileIndex tile, const RailtypeInfo *rti, Track trac static uint32 _drawtile_track_palette; -static void DrawTrackFence_NW(const TileInfo *ti, SpriteID base_image) -{ - RailFenceOffset rfo = RFO_FLAT_X; - if (ti->tileh & SLOPE_NW) rfo = (ti->tileh & SLOPE_W) ? RFO_SLOPE_SW : RFO_SLOPE_NE; - AddSortableSpriteToDraw(base_image + rfo, _drawtile_track_palette, - ti->x, ti->y + 1, 16, 1, 4, ti->z); -} -static void DrawTrackFence_SE(const TileInfo *ti, SpriteID base_image) -{ - RailFenceOffset rfo = RFO_FLAT_X; - if (ti->tileh & SLOPE_SE) rfo = (ti->tileh & SLOPE_S) ? RFO_SLOPE_SW : RFO_SLOPE_NE; - AddSortableSpriteToDraw(base_image + rfo, _drawtile_track_palette, - ti->x, ti->y + TILE_SIZE - 1, 16, 1, 4, ti->z); -} +/** Offsets for drawing fences */ +struct FenceOffset { + Corner height_ref; //!< Corner to use height offset from. + int x_offs; //!< Bounding box X offset. + int y_offs; //!< Bounding box Y offset. + int x_size; //!< Bounding box X size. + int y_size; //!< Bounding box Y size. +}; -static void DrawTrackFence_NW_SE(const TileInfo *ti, SpriteID base_image) -{ - DrawTrackFence_NW(ti, base_image); - DrawTrackFence_SE(ti, base_image); -} +/** Offsets for drawing fences */ +static FenceOffset _fence_offsets[] = { + { CORNER_INVALID, 0, 1, 16, 1 }, // RFO_FLAT_X_NW + { CORNER_INVALID, 1, 0, 1, 16 }, // RFO_FLAT_Y_NE + { CORNER_W, 8, 8, 1, 1 }, // RFO_FLAT_LEFT + { CORNER_N, 8, 8, 1, 1 }, // RFO_FLAT_UPPER + { CORNER_INVALID, 0, 1, 16, 1 }, // RFO_SLOPE_SW_NW + { CORNER_INVALID, 1, 0, 1, 16 }, // RFO_SLOPE_SE_NE + { CORNER_INVALID, 0, 1, 16, 1 }, // RFO_SLOPE_NE_NW + { CORNER_INVALID, 1, 0, 1, 16 }, // RFO_SLOPE_NW_NE + { CORNER_INVALID, 0, 15, 16, 1 }, // RFO_FLAT_X_SE + { CORNER_INVALID, 15, 0, 1, 16 }, // RFO_FLAT_Y_SW + { CORNER_E, 8, 8, 1, 1 }, // RFO_FLAT_RIGHT + { CORNER_S, 8, 8, 1, 1 }, // RFO_FLAT_LOWER + { CORNER_INVALID, 0, 15, 16, 1 }, // RFO_SLOPE_SW_SE + { CORNER_INVALID, 15, 0, 1, 16 }, // RFO_SLOPE_SE_SW + { CORNER_INVALID, 0, 15, 16, 1 }, // RFO_SLOPE_NE_SE + { CORNER_INVALID, 15, 0, 1, 16 }, // RFO_SLOPE_NW_SW +}; -static void DrawTrackFence_NE(const TileInfo *ti, SpriteID base_image) +/** + * Draw a track fence. + * @param ti Tile drawing information. + * @param base_image First fence sprite. + * @param num_sprites Number of fence sprites. + * @param rfo Fence to draw. + */ +static void DrawTrackFence(const TileInfo *ti, SpriteID base_image, uint num_sprites, RailFenceOffset rfo) { - RailFenceOffset rfo = RFO_FLAT_Y; - if (ti->tileh & SLOPE_NE) rfo = (ti->tileh & SLOPE_E) ? RFO_SLOPE_SE : RFO_SLOPE_NW; - AddSortableSpriteToDraw(base_image + rfo, _drawtile_track_palette, - ti->x + 1, ti->y, 1, 16, 4, ti->z); -} - -static void DrawTrackFence_SW(const TileInfo *ti, SpriteID base_image) -{ - RailFenceOffset rfo = RFO_FLAT_Y; - if (ti->tileh & SLOPE_SW) rfo = (ti->tileh & SLOPE_S) ? RFO_SLOPE_SE : RFO_SLOPE_NW; - AddSortableSpriteToDraw(base_image + rfo, _drawtile_track_palette, - ti->x + TILE_SIZE - 1, ti->y, 1, 16, 4, ti->z); -} - -static void DrawTrackFence_NE_SW(const TileInfo *ti, SpriteID base_image) -{ - DrawTrackFence_NE(ti, base_image); - DrawTrackFence_SW(ti, base_image); + int z = ti->z; + if (_fence_offsets[rfo].height_ref != CORNER_INVALID) { + z += GetSlopePixelZInCorner(RemoveHalftileSlope(ti->tileh), _fence_offsets[rfo].height_ref); + } + AddSortableSpriteToDraw(base_image + (rfo % num_sprites), _drawtile_track_palette, + ti->x + _fence_offsets[rfo].x_offs, + ti->y + _fence_offsets[rfo].y_offs, + _fence_offsets[rfo].x_size, + _fence_offsets[rfo].y_size, + 4, z); } /** - * Draw fence at eastern side of track. + * Draw fence at NW border matching the tile slope. */ -static void DrawTrackFence_NS_1(const TileInfo *ti, SpriteID base_image) +static void DrawTrackFence_NW(const TileInfo *ti, SpriteID base_image, uint num_sprites) { - int z = ti->z + GetSlopePixelZInCorner(RemoveHalftileSlope(ti->tileh), CORNER_W); - AddSortableSpriteToDraw(base_image + RFO_FLAT_VERT, _drawtile_track_palette, - ti->x + TILE_SIZE / 2, ti->y + TILE_SIZE / 2, 1, 1, 4, z); + RailFenceOffset rfo = RFO_FLAT_X_NW; + if (ti->tileh & SLOPE_NW) rfo = (ti->tileh & SLOPE_W) ? RFO_SLOPE_SW_NW : RFO_SLOPE_NE_NW; + DrawTrackFence(ti, base_image, num_sprites, rfo); } /** - * Draw fence at western side of track. + * Draw fence at SE border matching the tile slope. */ -static void DrawTrackFence_NS_2(const TileInfo *ti, SpriteID base_image) +static void DrawTrackFence_SE(const TileInfo *ti, SpriteID base_image, uint num_sprites) { - int z = ti->z + GetSlopePixelZInCorner(RemoveHalftileSlope(ti->tileh), CORNER_E); - AddSortableSpriteToDraw(base_image + RFO_FLAT_VERT, _drawtile_track_palette, - ti->x + TILE_SIZE / 2, ti->y + TILE_SIZE / 2, 1, 1, 4, z); + RailFenceOffset rfo = RFO_FLAT_X_SE; + if (ti->tileh & SLOPE_SE) rfo = (ti->tileh & SLOPE_S) ? RFO_SLOPE_SW_SE : RFO_SLOPE_NE_SE; + DrawTrackFence(ti, base_image, num_sprites, rfo); } /** - * Draw fence at southern side of track. + * Draw fence at NE border matching the tile slope. */ -static void DrawTrackFence_WE_1(const TileInfo *ti, SpriteID base_image) +static void DrawTrackFence_NE(const TileInfo *ti, SpriteID base_image, uint num_sprites) { - int z = ti->z + GetSlopePixelZInCorner(RemoveHalftileSlope(ti->tileh), CORNER_N); - AddSortableSpriteToDraw(base_image + RFO_FLAT_HORZ, _drawtile_track_palette, - ti->x + TILE_SIZE / 2, ti->y + TILE_SIZE / 2, 1, 1, 4, z); + RailFenceOffset rfo = RFO_FLAT_Y_NE; + if (ti->tileh & SLOPE_NE) rfo = (ti->tileh & SLOPE_E) ? RFO_SLOPE_SE_NE : RFO_SLOPE_NW_NE; + DrawTrackFence(ti, base_image, num_sprites, rfo); } /** - * Draw fence at northern side of track. + * Draw fence at SW border matching the tile slope. */ -static void DrawTrackFence_WE_2(const TileInfo *ti, SpriteID base_image) +static void DrawTrackFence_SW(const TileInfo *ti, SpriteID base_image, uint num_sprites) { - int z = ti->z + GetSlopePixelZInCorner(RemoveHalftileSlope(ti->tileh), CORNER_S); - AddSortableSpriteToDraw(base_image + RFO_FLAT_HORZ, _drawtile_track_palette, - ti->x + TILE_SIZE / 2, ti->y + TILE_SIZE / 2, 1, 1, 4, z); + RailFenceOffset rfo = RFO_FLAT_Y_SW; + if (ti->tileh & SLOPE_SW) rfo = (ti->tileh & SLOPE_S) ? RFO_SLOPE_SE_SW : RFO_SLOPE_NW_SW; + DrawTrackFence(ti, base_image, num_sprites, rfo); } - +/** + * Draw track fences. + * @param ti Tile drawing information. + * @param rti Rail type information. + */ static void DrawTrackDetails(const TileInfo *ti, const RailtypeInfo *rti) { /* Base sprite for track fences. * Note: Halftile slopes only have fences on the upper part. */ - SpriteID base_image = GetCustomRailSprite(rti, ti->tile, RTSG_FENCES, IsHalftileSlope(ti->tileh) ? TCX_UPPER_HALFTILE : TCX_NORMAL); - if (base_image == 0) base_image = SPR_TRACK_FENCE_FLAT_X; + uint num_sprites = 0; + SpriteID base_image = GetCustomRailSprite(rti, ti->tile, RTSG_FENCES, IsHalftileSlope(ti->tileh) ? TCX_UPPER_HALFTILE : TCX_NORMAL, &num_sprites); + if (base_image == 0) { + base_image = SPR_TRACK_FENCE_FLAT_X; + num_sprites = 8; + } + + assert(num_sprites > 0); switch (GetRailGroundType(ti->tile)) { - case RAIL_GROUND_FENCE_NW: DrawTrackFence_NW(ti, base_image); break; - case RAIL_GROUND_FENCE_SE: DrawTrackFence_SE(ti, base_image); break; - case RAIL_GROUND_FENCE_SENW: DrawTrackFence_NW_SE(ti, base_image); break; - case RAIL_GROUND_FENCE_NE: DrawTrackFence_NE(ti, base_image); break; - case RAIL_GROUND_FENCE_SW: DrawTrackFence_SW(ti, base_image); break; - case RAIL_GROUND_FENCE_NESW: DrawTrackFence_NE_SW(ti, base_image); break; - case RAIL_GROUND_FENCE_VERT1: DrawTrackFence_NS_1(ti, base_image); break; - case RAIL_GROUND_FENCE_VERT2: DrawTrackFence_NS_2(ti, base_image); break; - case RAIL_GROUND_FENCE_HORIZ1: DrawTrackFence_WE_1(ti, base_image); break; - case RAIL_GROUND_FENCE_HORIZ2: DrawTrackFence_WE_2(ti, base_image); break; + case RAIL_GROUND_FENCE_NW: DrawTrackFence_NW(ti, base_image, num_sprites); break; + case RAIL_GROUND_FENCE_SE: DrawTrackFence_SE(ti, base_image, num_sprites); break; + case RAIL_GROUND_FENCE_SENW: DrawTrackFence_NW(ti, base_image, num_sprites); + DrawTrackFence_SE(ti, base_image, num_sprites); break; + case RAIL_GROUND_FENCE_NE: DrawTrackFence_NE(ti, base_image, num_sprites); break; + case RAIL_GROUND_FENCE_SW: DrawTrackFence_SW(ti, base_image, num_sprites); break; + case RAIL_GROUND_FENCE_NESW: DrawTrackFence_NE(ti, base_image, num_sprites); + DrawTrackFence_SW(ti, base_image, num_sprites); break; + case RAIL_GROUND_FENCE_VERT1: DrawTrackFence(ti, base_image, num_sprites, RFO_FLAT_LEFT); break; + case RAIL_GROUND_FENCE_VERT2: DrawTrackFence(ti, base_image, num_sprites, RFO_FLAT_RIGHT); break; + case RAIL_GROUND_FENCE_HORIZ1: DrawTrackFence(ti, base_image, num_sprites, RFO_FLAT_UPPER); break; + case RAIL_GROUND_FENCE_HORIZ2: DrawTrackFence(ti, base_image, num_sprites, RFO_FLAT_LOWER); break; case RAIL_GROUND_WATER: { Corner track_corner; if (IsHalftileSlope(ti->tileh)) { @@ -1985,10 +2006,10 @@ static void DrawTrackDetails(const TileInfo *ti, const RailtypeInfo *rti) track_corner = OppositeCorner(GetHighestSlopeCorner(ComplementSlope(ti->tileh))); } switch (track_corner) { - case CORNER_W: DrawTrackFence_NS_1(ti, base_image); break; - case CORNER_S: DrawTrackFence_WE_2(ti, base_image); break; - case CORNER_E: DrawTrackFence_NS_2(ti, base_image); break; - case CORNER_N: DrawTrackFence_WE_1(ti, base_image); break; + case CORNER_W: DrawTrackFence(ti, base_image, num_sprites, RFO_FLAT_LEFT); break; + case CORNER_S: DrawTrackFence(ti, base_image, num_sprites, RFO_FLAT_LOWER); break; + case CORNER_E: DrawTrackFence(ti, base_image, num_sprites, RFO_FLAT_RIGHT); break; + case CORNER_N: DrawTrackFence(ti, base_image, num_sprites, RFO_FLAT_UPPER); break; default: NOT_REACHED(); } break; @@ -2059,16 +2080,16 @@ static void DrawTrackBitsOverlay(TileInfo *ti, TrackBits track, const RailtypeIn /* Half-tile foundation, no track here? */ } else if (ti->tileh == SLOPE_NW && track == TRACK_BIT_Y) { DrawGroundSprite(ground + RTO_SLOPE_NW, PAL_NONE); - if (pbs != TRACK_BIT_NONE) DrawGroundSprite(overlay + 9, PALETTE_CRASH); + if (pbs != TRACK_BIT_NONE) DrawGroundSprite(overlay + RTO_SLOPE_NW, PALETTE_CRASH); } else if (ti->tileh == SLOPE_NE && track == TRACK_BIT_X) { DrawGroundSprite(ground + RTO_SLOPE_NE, PAL_NONE); - if (pbs != TRACK_BIT_NONE) DrawGroundSprite(overlay + 6, PALETTE_CRASH); + if (pbs != TRACK_BIT_NONE) DrawGroundSprite(overlay + RTO_SLOPE_NE, PALETTE_CRASH); } else if (ti->tileh == SLOPE_SE && track == TRACK_BIT_Y) { DrawGroundSprite(ground + RTO_SLOPE_SE, PAL_NONE); - if (pbs != TRACK_BIT_NONE) DrawGroundSprite(overlay + 7, PALETTE_CRASH); + if (pbs != TRACK_BIT_NONE) DrawGroundSprite(overlay + RTO_SLOPE_SE, PALETTE_CRASH); } else if (ti->tileh == SLOPE_SW && track == TRACK_BIT_X) { DrawGroundSprite(ground + RTO_SLOPE_SW, PAL_NONE); - if (pbs != TRACK_BIT_NONE) DrawGroundSprite(overlay + 8, PALETTE_CRASH); + if (pbs != TRACK_BIT_NONE) DrawGroundSprite(overlay + RTO_SLOPE_SW, PALETTE_CRASH); } else { switch (track) { /* Draw single ground sprite when not overlapping. No track overlay @@ -2441,9 +2462,6 @@ void DrawTrainDepotSprite(int x, int y, int dir, RailType railtype) SpriteID image = rti->UsesOverlay() ? SPR_FLAT_GRASS_TILE : dts->ground.sprite; uint32 offset = rti->GetRailtypeSpriteOffset(); - x += 33; - y += 17; - if (image != SPR_FLAT_GRASS_TILE) image += offset; PaletteID palette = COMPANY_SPRITE_COLOUR(_local_company); diff --git a/src/rail_gui.cpp b/src/rail_gui.cpp index 6fb08e7ca7..a8c2fc6b33 100644 --- a/src/rail_gui.cpp +++ b/src/rail_gui.cpp @@ -40,6 +40,8 @@ #include "widgets/rail_widget.h" +#include "safeguards.h" + static RailType _cur_railtype; ///< Rail type of the current build-rail toolbar. static bool _remove_button_clicked; ///< Flag whether 'remove' toggle-button is currently enabled @@ -432,6 +434,18 @@ struct BuildRailToolbarWindow : Window { if (_settings_client.gui.link_terraform_toolbar) DeleteWindowById(WC_SCEN_LAND_GEN, 0, false); } + /** + * Some data on this window has become invalid. + * @param data Information about the changed data. + * @param gui_scope Whether the call is done from GUI scope. You may not do everything when not in GUI scope. See #InvalidateWindowData() for details. + */ + virtual void OnInvalidateData(int data = 0, bool gui_scope = true) + { + if (!gui_scope) return; + + if (!CanBuildVehicleInfrastructure(VEH_TRAIN)) delete this; + } + /** * Configures the rail toolbar for railtype given * @param railtype the railtype to display @@ -1038,8 +1052,7 @@ public: Dimension d = {0, 0}; for (uint i = 0; i < StationClass::GetClassCount(); i++) { if (i == STAT_CLASS_WAYP) continue; - SetDParam(0, StationClass::Get((StationClassID)i)->name); - d = maxdim(d, GetStringBoundingBox(STR_BLACK_STRING)); + d = maxdim(d, GetStringBoundingBox(StationClass::Get((StationClassID)i)->name)); } size->width = max(size->width, d.width + padding.width); this->line_height = FONT_HEIGHT_NORMAL + WD_MATRIX_TOP + WD_MATRIX_BOTTOM; @@ -1071,6 +1084,13 @@ public: break; } + case WID_BRAS_PLATFORM_DIR_X: + case WID_BRAS_PLATFORM_DIR_Y: + case WID_BRAS_IMAGE: + size->width = ScaleGUITrad(64) + 2; + size->height = ScaleGUITrad(58) + 2; + break; + case WID_BRAS_COVERAGE_TEXTS: size->height = this->coverage_height; break; @@ -1092,8 +1112,10 @@ public: if (FillDrawPixelInfo(&tmp_dpi, r.left, r.top, r.right - r.left + 1, r.bottom - r.top + 1)) { DrawPixelInfo *old_dpi = _cur_dpi; _cur_dpi = &tmp_dpi; - if (!DrawStationTile(32, 28, _cur_railtype, AXIS_X, _railstation.station_class, _railstation.station_type)) { - StationPickerDrawSprite(32, 28, STATION_RAIL, _cur_railtype, INVALID_ROADTYPE, 2); + int x = ScaleGUITrad(31) + 1; + int y = r.bottom - r.top - ScaleGUITrad(31); + if (!DrawStationTile(x, y, _cur_railtype, AXIS_X, _railstation.station_class, _railstation.station_type)) { + StationPickerDrawSprite(x, y, STATION_RAIL, _cur_railtype, INVALID_ROADTYPE, 2); } _cur_dpi = old_dpi; } @@ -1104,8 +1126,10 @@ public: if (FillDrawPixelInfo(&tmp_dpi, r.left, r.top, r.right - r.left + 1, r.bottom - r.top + 1)) { DrawPixelInfo *old_dpi = _cur_dpi; _cur_dpi = &tmp_dpi; - if (!DrawStationTile(32, 28, _cur_railtype, AXIS_Y, _railstation.station_class, _railstation.station_type)) { - StationPickerDrawSprite(32, 28, STATION_RAIL, _cur_railtype, INVALID_ROADTYPE, 3); + int x = ScaleGUITrad(31) + 1; + int y = r.bottom - r.top - ScaleGUITrad(31); + if (!DrawStationTile(x, y, _cur_railtype, AXIS_Y, _railstation.station_class, _railstation.station_type)) { + StationPickerDrawSprite(x, y, STATION_RAIL, _cur_railtype, INVALID_ROADTYPE, 3); } _cur_dpi = old_dpi; } @@ -1117,8 +1141,8 @@ public: for (uint i = 0; i < StationClass::GetClassCount(); i++) { if (i == STAT_CLASS_WAYP) continue; if (this->vscroll->IsVisible(statclass)) { - SetDParam(0, StationClass::Get((StationClassID)i)->name); - DrawString(r.left + WD_MATRIX_LEFT, r.right - WD_MATRIX_RIGHT, row * this->line_height + r.top + WD_MATRIX_TOP, STR_JUST_STRING, + DrawString(r.left + WD_MATRIX_LEFT, r.right - WD_MATRIX_RIGHT, row * this->line_height + r.top + WD_MATRIX_TOP, + StationClass::Get((StationClassID)i)->name, (StationClassID)i == _railstation.station_class ? TC_WHITE : TC_BLACK); row++; } @@ -1140,8 +1164,10 @@ public: if (FillDrawPixelInfo(&tmp_dpi, r.left, r.top, r.right - r.left + 1, r.bottom - r.top + 1)) { DrawPixelInfo *old_dpi = _cur_dpi; _cur_dpi = &tmp_dpi; - if (!DrawStationTile(32, 28, _cur_railtype, _railstation.orientation, _railstation.station_class, type)) { - StationPickerDrawSprite(32, 28, STATION_RAIL, _cur_railtype, INVALID_ROADTYPE, 2 + _railstation.orientation); + int x = ScaleGUITrad(31) + 1; + int y = r.bottom - r.top - ScaleGUITrad(31); + if (!DrawStationTile(x, y, _cur_railtype, _railstation.orientation, _railstation.station_class, type)) { + StationPickerDrawSprite(x, y, STATION_RAIL, _cur_railtype, INVALID_ROADTYPE, 2 + _railstation.orientation); } _cur_dpi = old_dpi; } @@ -1675,11 +1701,19 @@ struct BuildRailDepotWindow : public PickerWindowBase { this->LowerWidget(_build_depot_direction + WID_BRAD_DEPOT_NE); } + virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) + { + if (!IsInsideMM(widget, WID_BRAD_DEPOT_NE, WID_BRAD_DEPOT_NW + 1)) return; + + size->width = ScaleGUITrad(64) + 2; + size->height = ScaleGUITrad(48) + 2; + } + virtual void DrawWidget(const Rect &r, int widget) const { if (!IsInsideMM(widget, WID_BRAD_DEPOT_NE, WID_BRAD_DEPOT_NW + 1)) return; - DrawTrainDepotSprite(r.left - 1, r.top, widget - WID_BRAD_DEPOT_NE + DIAGDIR_NE, _cur_railtype); + DrawTrainDepotSprite(r.left + 1 + ScaleGUITrad(31), r.bottom - ScaleGUITrad(31), widget - WID_BRAD_DEPOT_NE + DIAGDIR_NE, _cur_railtype); } virtual void OnClick(Point pt, int widget, int click_count) @@ -1767,6 +1801,11 @@ struct BuildRailWaypointWindow : PickerWindowBase { /* Resizing in X direction only at blob size, but at pixel level in Y. */ resize->height = 1; break; + + case WID_BRW_WAYPOINT: + size->width = ScaleGUITrad(64) + 2; + size->height = ScaleGUITrad(58) + 2; + break; } } @@ -1776,7 +1815,7 @@ struct BuildRailWaypointWindow : PickerWindowBase { case WID_BRW_WAYPOINT: { byte type = GB(widget, 16, 16); const StationSpec *statspec = StationClass::Get(STAT_CLASS_WAYP)->GetSpec(type); - DrawWaypointSprite(r.left + TILE_PIXELS, r.bottom - TILE_PIXELS, type, _cur_railtype); + DrawWaypointSprite(r.left + 1 + ScaleGUITrad(31), r.bottom - ScaleGUITrad(31), type, _cur_railtype); if (!IsStationAvailable(statspec)) { GfxFillRect(r.left + 1, r.top + 1, r.right - 1, r.bottom - 1, PC_BLACK, FILLRECT_CHECKER); diff --git a/src/rail_map.h b/src/rail_map.h index c8033a3118..2431a79202 100644 --- a/src/rail_map.h +++ b/src/rail_map.h @@ -525,7 +525,7 @@ static inline void MakeRailNormal(TileIndex t, Owner o, TrackBits b, RailType r) _m[t].m3 = r; _m[t].m4 = 0; _m[t].m5 = RAIL_TILE_NORMAL << 6 | b; - SB(_m[t].m6, 2, 4, 0); + SB(_me[t].m6, 2, 4, 0); _me[t].m7 = 0; } @@ -538,7 +538,7 @@ static inline void MakeRailDepot(TileIndex t, Owner o, DepotID did, DiagDirectio _m[t].m3 = r; _m[t].m4 = 0; _m[t].m5 = RAIL_TILE_DEPOT << 6 | d; - SB(_m[t].m6, 2, 4, 0); + SB(_me[t].m6, 2, 4, 0); _me[t].m7 = 0; } diff --git a/src/rev.cpp.in b/src/rev.cpp.in index 506e641d73..7e27859ce0 100644 --- a/src/rev.cpp.in +++ b/src/rev.cpp.in @@ -13,6 +13,8 @@ #include "core/bitmath_func.hpp" #include "rev.h" +#include "safeguards.h" + /** * Is this version of OpenTTD a release version? * @return True if it is a release version. @@ -70,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 | 5 << 24 | 0 << 20 | 0 << 19 | (!!REVISION!! & ((1 << 19) - 1)); +const uint32 _openttd_newgrf_version = 1 << 28 | 6 << 24 | 0 << 20 | 0 << 19 | (!!REVISION!! & ((1 << 19) - 1)); #ifdef __MORPHOS__ /** diff --git a/src/road.cpp b/src/road.cpp index c005d56c1b..57c5da5d41 100644 --- a/src/road.cpp +++ b/src/road.cpp @@ -20,6 +20,8 @@ #include "date_func.h" #include "landscape.h" +#include "safeguards.h" + /** * Return if the tile is a valid tile for a crossing. * diff --git a/src/road_cmd.cpp b/src/road_cmd.cpp index 7931fa965b..aa445eb91a 100644 --- a/src/road_cmd.cpp +++ b/src/road_cmd.cpp @@ -38,6 +38,8 @@ #include "table/strings.h" +#include "safeguards.h" + /** * Verify whether a road vehicle is available. * @return \c true if at least one road vehicle is available, \c false if not @@ -235,21 +237,20 @@ static CommandCost RemoveRoad(TileIndex tile, DoCommandFlag flags, RoadBits piec SetRoadTypes(tile, GetRoadTypes(tile) & ~RoadTypeToRoadTypes(rt)); /* If the owner of the bridge sells all its road, also move the ownership - * to the owner of the other roadtype. */ + * to the owner of the other roadtype, unless the bridge owner is a town. */ RoadType other_rt = (rt == ROADTYPE_ROAD) ? ROADTYPE_TRAM : ROADTYPE_ROAD; Owner other_owner = GetRoadOwner(tile, other_rt); - if (other_owner != GetTileOwner(tile)) { + if (!IsTileOwner(tile, other_owner) && !IsTileOwner(tile, OWNER_TOWN)) { SetTileOwner(tile, other_owner); SetTileOwner(other_end, other_owner); } /* Mark tiles dirty that have been repaved */ - MarkTileDirtyByTile(tile); - MarkTileDirtyByTile(other_end); if (IsBridge(tile)) { - TileIndexDiff delta = TileOffsByDiagDir(GetTunnelBridgeDirection(tile)); - - for (TileIndex t = tile + delta; t != other_end; t += delta) MarkTileDirtyByTile(t); + MarkBridgeDirty(tile); + } else { + MarkTileDirtyByTile(tile); + MarkTileDirtyByTile(other_end); } } } else { @@ -383,7 +384,10 @@ static CommandCost RemoveRoad(TileIndex tile, DoCommandFlag flags, RoadBits piec /* Update rail count for level crossings. The plain track should still be accounted * for, so only subtract the difference to the level crossing cost. */ c = Company::GetIfValid(GetTileOwner(tile)); - if (c != NULL) c->infrastructure.rail[GetRailType(tile)] -= LEVELCROSSING_TRACKBIT_FACTOR - 1; + if (c != NULL) { + c->infrastructure.rail[GetRailType(tile)] -= LEVELCROSSING_TRACKBIT_FACTOR - 1; + DirtyCompanyInfrastructureWindows(c->index); + } } else { SetRoadTypes(tile, rts); } @@ -562,6 +566,15 @@ CommandCost CmdBuildRoad(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 } return_cmd_error(STR_ERROR_ALREADY_BUILT); } + /* Disallow breaking end-of-line of someone else + * so trams can still reverse on this tile. */ + if (rt == ROADTYPE_TRAM && HasExactlyOneBit(existing)) { + Owner owner = GetRoadOwner(tile, rt); + if (Company::IsValidID(owner)) { + CommandCost ret = CheckOwnership(owner); + if (ret.Failed()) return ret; + } + } break; } @@ -628,7 +641,10 @@ CommandCost CmdBuildRoad(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 /* Update rail count for level crossings. The plain track is already * counted, so only add the difference to the level crossing cost. */ c = Company::GetIfValid(GetTileOwner(tile)); - if (c != NULL) c->infrastructure.rail[GetRailType(tile)] += LEVELCROSSING_TRACKBIT_FACTOR - 1; + if (c != NULL) { + c->infrastructure.rail[GetRailType(tile)] += LEVELCROSSING_TRACKBIT_FACTOR - 1; + DirtyCompanyInfrastructureWindows(c->index); + } /* Always add road to the roadtypes (can't draw without it) */ bool reserved = HasBit(GetRailReservationTrackBits(tile), railtrack); @@ -745,12 +761,11 @@ do_clear:; SetRoadOwner(tile, rt, company); /* Mark tiles dirty that have been repaved */ - MarkTileDirtyByTile(other_end); - MarkTileDirtyByTile(tile); if (IsBridge(tile)) { - TileIndexDiff delta = TileOffsByDiagDir(GetTunnelBridgeDirection(tile)); - - for (TileIndex t = tile + delta; t != other_end; t += delta) MarkTileDirtyByTile(t); + MarkBridgeDirty(tile); + } else { + MarkTileDirtyByTile(other_end); + MarkTileDirtyByTile(tile); } break; } @@ -1013,7 +1028,7 @@ CommandCost CmdBuildRoadDepot(TileIndex tile, DoCommandFlag flags, uint32 p1, ui CommandCost cost = DoCommand(tile, 0, 0, flags, CMD_LANDSCAPE_CLEAR); if (cost.Failed()) return cost; - if (MayHaveBridgeAbove(tile) && IsBridgeAbove(tile)) return_cmd_error(STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST); + if (IsBridgeAbove(tile)) return_cmd_error(STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST); if (!Depot::CanAllocateItem()) return CMD_ERROR; @@ -1156,16 +1171,15 @@ const byte _road_sloped_sprites[14] = { }; /** - * Whether to draw unpaved roads regardless of the town zone. - * By default, OpenTTD always draws roads as unpaved if they are on a desert - * tile or above the snowline. Newgrf files, however, can set a bit that allows - * paved roads to be built on desert tiles as they would be on grassy tiles. + * Should the road be drawn as a unpaved snow/desert road? + * By default, roads are always drawn as unpaved if they are on desert or + * above the snow line, but NewGRFs can override this for desert. * * @param tile The tile the road is on * @param roadside What sort of road this is - * @return True if the road should be drawn unpaved regardless of the roadside. + * @return True if snow/desert road sprites should be used. */ -static bool AlwaysDrawUnpavedRoads(TileIndex tile, Roadside roadside) +static bool DrawRoadAsSnowDesert(TileIndex tile, Roadside roadside) { return (IsOnSnow(tile) && !(_settings_game.game_creation.landscape == LT_TROPIC && HasGrfMiscBit(GMB_DESERT_PAVED_ROADS) && @@ -1183,7 +1197,7 @@ void DrawTramCatenary(const TileInfo *ti, RoadBits tram) if (IsInvisibilitySet(TO_CATENARY)) return; /* Don't draw the catenary under a low bridge */ - if (MayHaveBridgeAbove(ti->tile) && IsBridgeAbove(ti->tile) && !IsTransparencySet(TO_CATENARY)) { + if (IsBridgeAbove(ti->tile) && !IsTransparencySet(TO_CATENARY)) { int height = GetBridgeHeight(GetNorthernBridgeEnd(ti->tile)); if (height <= GetTileMaxZ(ti->tile) + 1) return; @@ -1245,7 +1259,7 @@ static void DrawRoadBits(TileInfo *ti) Roadside roadside = GetRoadside(ti->tile); - if (AlwaysDrawUnpavedRoads(ti->tile, roadside)) { + if (DrawRoadAsSnowDesert(ti->tile, roadside)) { image += 19; } else { switch (roadside) { @@ -1290,7 +1304,7 @@ static void DrawRoadBits(TileInfo *ti) if (!HasBit(_display_opt, DO_FULL_DETAIL) || _cur_dpi->zoom > ZOOM_LVL_DETAIL) return; /* Do not draw details (street lights, trees) under low bridge */ - if (MayHaveBridgeAbove(ti->tile) && IsBridgeAbove(ti->tile) && (roadside == ROADSIDE_TREES || roadside == ROADSIDE_STREET_LIGHTS)) { + if (IsBridgeAbove(ti->tile) && (roadside == ROADSIDE_TREES || roadside == ROADSIDE_STREET_LIGHTS)) { int height = GetBridgeHeight(GetNorthernBridgeEnd(ti->tile)); int minz = GetTileMaxZ(ti->tile) + 2; @@ -1328,7 +1342,7 @@ static void DrawTile_Road(TileInfo *ti) Roadside roadside = GetRoadside(ti->tile); - if (AlwaysDrawUnpavedRoads(ti->tile, roadside)) { + if (DrawRoadAsSnowDesert(ti->tile, roadside)) { road += 19; } else { switch (roadside) { @@ -1354,7 +1368,7 @@ static void DrawTile_Road(TileInfo *ti) Roadside roadside = GetRoadside(ti->tile); - if (AlwaysDrawUnpavedRoads(ti->tile, roadside)) { + if (DrawRoadAsSnowDesert(ti->tile, roadside)) { image += 8; } else { switch (roadside) { @@ -1413,9 +1427,6 @@ void DrawRoadDepotSprite(int x, int y, DiagDirection dir, RoadType rt) PaletteID palette = COMPANY_SPRITE_COLOUR(_local_company); const DrawTileSprites *dts = (rt == ROADTYPE_TRAM) ? &_tram_depot[dir] : &_road_depot[dir]; - x += 33; - y += 17; - DrawSprite(dts->ground.sprite, PAL_NONE, x, y); DrawOrigTileSeqInGUI(x, y, dts, palette); } @@ -1763,6 +1774,11 @@ static void ChangeTileOwner_Road(TileIndex tile, Owner old_owner, Owner new_owne Company::Get(new_owner)->infrastructure.road[rt] += 2; SetTileOwner(tile, new_owner); + for (RoadType rt = ROADTYPE_ROAD; rt < ROADTYPE_END; rt++) { + if (GetRoadOwner(tile, rt) == old_owner) { + SetRoadOwner(tile, rt, new_owner); + } + } } } return; diff --git a/src/road_gui.cpp b/src/road_gui.cpp index 181c920019..b158482ef3 100644 --- a/src/road_gui.cpp +++ b/src/road_gui.cpp @@ -28,11 +28,14 @@ #include "company_base.h" #include "hotkeys.h" #include "road_gui.h" +#include "zoom_func.h" #include "widgets/road_widget.h" #include "table/strings.h" +#include "safeguards.h" + static void ShowRVStationPicker(Window *parent, RoadStopType rs); static void ShowRoadDepotPicker(Window *parent); @@ -335,11 +338,18 @@ struct BuildRoadToolbarWindow : Window { virtual void OnInvalidateData(int data = 0, bool gui_scope = true) { if (!gui_scope) return; - this->SetWidgetsDisabledState(!CanBuildVehicleInfrastructure(VEH_ROAD), + + bool can_build = CanBuildVehicleInfrastructure(VEH_ROAD); + this->SetWidgetsDisabledState(!can_build, WID_ROT_DEPOT, WID_ROT_BUS_STATION, WID_ROT_TRUCK_STATION, WIDGET_LIST_END); + if (!can_build) { + DeleteWindowById(WC_BUILD_DEPOT, TRANSPORT_ROAD); + DeleteWindowById(WC_BUS_STATION, TRANSPORT_ROAD); + DeleteWindowById(WC_TRUCK_STATION, TRANSPORT_ROAD); + } } /** @@ -632,13 +642,13 @@ struct BuildRoadToolbarWindow : Window { case DDSP_REMOVE_BUSSTOP: { TileArea ta(start_tile, end_tile); - DoCommandP(ta.tile, ta.w | ta.h << 8, ROADSTOP_BUS, CMD_REMOVE_ROAD_STOP | CMD_MSG(_road_type_infos[_cur_roadtype].err_remove_station[ROADSTOP_BUS]), CcPlaySound1D); + DoCommandP(ta.tile, ta.w | ta.h << 8, (_ctrl_pressed << 1) | ROADSTOP_BUS, CMD_REMOVE_ROAD_STOP | CMD_MSG(_road_type_infos[_cur_roadtype].err_remove_station[ROADSTOP_BUS]), CcPlaySound1D); break; } case DDSP_REMOVE_TRUCKSTOP: { TileArea ta(start_tile, end_tile); - DoCommandP(ta.tile, ta.w | ta.h << 8, ROADSTOP_TRUCK, CMD_REMOVE_ROAD_STOP | CMD_MSG(_road_type_infos[_cur_roadtype].err_remove_station[ROADSTOP_TRUCK]), CcPlaySound1D); + DoCommandP(ta.tile, ta.w | ta.h << 8, (_ctrl_pressed << 1) | ROADSTOP_TRUCK, CMD_REMOVE_ROAD_STOP | CMD_MSG(_road_type_infos[_cur_roadtype].err_remove_station[ROADSTOP_TRUCK]), CcPlaySound1D); break; } } @@ -838,7 +848,7 @@ static WindowDesc _build_road_scen_desc( /** * Show the road building toolbar in the scenario editor. - * @return The just opened toolbar. + * @return The just opened toolbar, or \c NULL if the toolbar was already open. */ Window *ShowBuildRoadScenToolbar() { @@ -860,11 +870,19 @@ struct BuildRoadDepotWindow : public PickerWindowBase { this->FinishInitNested(TRANSPORT_ROAD); } + virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) + { + if (!IsInsideMM(widget, WID_BROD_DEPOT_NE, WID_BROD_DEPOT_NW + 1)) return; + + size->width = ScaleGUITrad(64) + 2; + size->height = ScaleGUITrad(48) + 2; + } + virtual void DrawWidget(const Rect &r, int widget) const { if (!IsInsideMM(widget, WID_BROD_DEPOT_NE, WID_BROD_DEPOT_NW + 1)) return; - DrawRoadDepotSprite(r.left - 1, r.top, (DiagDirection)(widget - WID_BROD_DEPOT_NE + DIAGDIR_NE), _cur_roadtype); + DrawRoadDepotSprite(r.left + 1 + ScaleGUITrad(31), r.bottom - ScaleGUITrad(31), (DiagDirection)(widget - WID_BROD_DEPOT_NE + DIAGDIR_NE), _cur_roadtype); } virtual void OnClick(Point pt, int widget, int click_count) @@ -988,12 +1006,20 @@ struct BuildRoadStationWindow : public PickerWindowBase { } } + virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) + { + if (!IsInsideMM(widget, WID_BROS_STATION_NE, WID_BROS_STATION_Y + 1)) return; + + size->width = ScaleGUITrad(64) + 2; + size->height = ScaleGUITrad(48) + 2; + } + virtual void DrawWidget(const Rect &r, int widget) const { if (!IsInsideMM(widget, WID_BROS_STATION_NE, WID_BROS_STATION_Y + 1)) return; StationType st = (this->window_class == WC_BUS_STATION) ? STATION_BUS : STATION_TRUCK; - StationPickerDrawSprite(r.left + TILE_PIXELS, r.bottom - TILE_PIXELS, st, INVALID_RAILTYPE, widget < WID_BROS_STATION_X ? ROADTYPE_ROAD : _cur_roadtype, widget - WID_BROS_STATION_NE); + StationPickerDrawSprite(r.left + 1 + ScaleGUITrad(31), r.bottom - ScaleGUITrad(31), st, INVALID_RAILTYPE, widget < WID_BROS_STATION_X ? ROADTYPE_ROAD : _cur_roadtype, widget - WID_BROS_STATION_NE); } virtual void OnClick(Point pt, int widget, int click_count) diff --git a/src/road_map.cpp b/src/road_map.cpp index 2c24582ee7..4984117bab 100644 --- a/src/road_map.cpp +++ b/src/road_map.cpp @@ -13,6 +13,8 @@ #include "station_map.h" #include "tunnelbridge_map.h" +#include "safeguards.h" + /** * Returns the RoadBits on an arbitrary tile diff --git a/src/road_map.h b/src/road_map.h index 6fe1a02b1f..693730294e 100644 --- a/src/road_map.h +++ b/src/road_map.h @@ -461,7 +461,7 @@ enum Roadside { */ static inline Roadside GetRoadside(TileIndex tile) { - return (Roadside)GB(_m[tile].m6, 3, 3); + return (Roadside)GB(_me[tile].m6, 3, 3); } /** @@ -471,7 +471,7 @@ static inline Roadside GetRoadside(TileIndex tile) */ static inline void SetRoadside(TileIndex tile, Roadside s) { - SB(_m[tile].m6, 3, 3, s); + SB(_me[tile].m6, 3, 3, s); } /** @@ -558,7 +558,7 @@ static inline void MakeRoadNormal(TileIndex t, RoadBits bits, RoadTypes rot, Tow _m[t].m3 = (HasBit(rot, ROADTYPE_TRAM) ? bits : 0); _m[t].m4 = 0; _m[t].m5 = (HasBit(rot, ROADTYPE_ROAD) ? bits : 0) | ROAD_TILE_NORMAL << 6; - SB(_m[t].m6, 2, 4, 0); + SB(_me[t].m6, 2, 4, 0); _me[t].m7 = rot << 6; SetRoadOwner(t, ROADTYPE_TRAM, tram); } @@ -582,7 +582,7 @@ static inline void MakeRoadCrossing(TileIndex t, Owner road, Owner tram, Owner r _m[t].m3 = rat; _m[t].m4 = 0; _m[t].m5 = ROAD_TILE_CROSSING << 6 | roaddir; - SB(_m[t].m6, 2, 4, 0); + SB(_me[t].m6, 2, 4, 0); _me[t].m7 = rot << 6 | road; SetRoadOwner(t, ROADTYPE_TRAM, tram); } @@ -603,7 +603,7 @@ static inline void MakeRoadDepot(TileIndex t, Owner owner, DepotID did, DiagDire _m[t].m3 = 0; _m[t].m4 = 0; _m[t].m5 = ROAD_TILE_DEPOT << 6 | dir; - SB(_m[t].m6, 2, 4, 0); + SB(_me[t].m6, 2, 4, 0); _me[t].m7 = RoadTypeToRoadTypes(rt) << 6 | owner; SetRoadOwner(t, ROADTYPE_TRAM, owner); } diff --git a/src/roadstop.cpp b/src/roadstop.cpp index 193e915d21..ca049979ca 100644 --- a/src/roadstop.cpp +++ b/src/roadstop.cpp @@ -16,6 +16,8 @@ #include "station_base.h" #include "vehicle_func.h" +#include "safeguards.h" + /** The pool of roadstops. */ RoadStopPool _roadstop_pool("RoadStop"); INSTANTIATE_POOL_METHODS(RoadStop) diff --git a/src/roadveh_cmd.cpp b/src/roadveh_cmd.cpp index ae15a88a5d..35c671d355 100644 --- a/src/roadveh_cmd.cpp +++ b/src/roadveh_cmd.cpp @@ -38,6 +38,8 @@ #include "table/strings.h" +#include "safeguards.h" + static const uint16 _roadveh_images[] = { 0xCD4, 0xCDC, 0xCE4, 0xCEC, 0xCF4, 0xCFC, 0xD0C, 0xD14, 0xD24, 0xD1C, 0xD2C, 0xD04, 0xD1C, 0xD24, 0xD6C, 0xD74, @@ -105,10 +107,10 @@ int RoadVehicle::GetDisplayImageWidth(Point *offset) const int reference_width = ROADVEHINFO_DEFAULT_VEHICLE_WIDTH; if (offset != NULL) { - offset->x = reference_width / 2; + offset->x = ScaleGUITrad(reference_width) / 2; offset->y = 0; } - return this->gcache.cached_veh_length * reference_width / VEHICLE_LENGTH; + return ScaleGUITrad(this->gcache.cached_veh_length * reference_width / VEHICLE_LENGTH); } static SpriteID GetRoadVehIcon(EngineID engine, EngineImageType image_type) @@ -160,7 +162,9 @@ void DrawRoadVehEngine(int left, int right, int preferred_x, int y, EngineID eng { SpriteID sprite = GetRoadVehIcon(engine, image_type); const Sprite *real_sprite = GetSprite(sprite, ST_NORMAL); - preferred_x = Clamp(preferred_x, left - UnScaleByZoom(real_sprite->x_offs, ZOOM_LVL_GUI), right - UnScaleByZoom(real_sprite->width, ZOOM_LVL_GUI) - UnScaleByZoom(real_sprite->x_offs, ZOOM_LVL_GUI)); + preferred_x = Clamp(preferred_x, + left - UnScaleGUI(real_sprite->x_offs), + right - UnScaleGUI(real_sprite->width) - UnScaleGUI(real_sprite->x_offs)); DrawSprite(sprite, pal, preferred_x, y); } @@ -177,10 +181,10 @@ void GetRoadVehSpriteSize(EngineID engine, uint &width, uint &height, int &xoffs { const Sprite *spr = GetSprite(GetRoadVehIcon(engine, image_type), ST_NORMAL); - width = UnScaleByZoom(spr->width, ZOOM_LVL_GUI); - height = UnScaleByZoom(spr->height, ZOOM_LVL_GUI); - xoffs = UnScaleByZoom(spr->x_offs, ZOOM_LVL_GUI); - yoffs = UnScaleByZoom(spr->y_offs, ZOOM_LVL_GUI); + width = UnScaleGUI(spr->width); + height = UnScaleGUI(spr->height); + xoffs = UnScaleGUI(spr->x_offs); + yoffs = UnScaleGUI(spr->y_offs); } /** @@ -327,7 +331,7 @@ CommandCost CmdBuildRoadVehicle(TileIndex tile, DoCommandFlag flags, const Engin /* Initialize cached values for realistic acceleration. */ if (_settings_game.vehicle.roadveh_acceleration_model != AM_ORIGINAL) v->CargoChanged(); - VehicleUpdatePosition(v); + v->UpdatePosition(); CheckConsistencyOfArticulatedVehicle(v); } @@ -458,7 +462,7 @@ inline int RoadVehicle::GetCurrentMaxSpeed() const } } - return min(max_speed, this->current_order.max_speed * 2); + return min(max_speed, this->current_order.GetMaxSpeed() * 2); } /** @@ -804,12 +808,6 @@ static void RoadVehCheckOvertake(RoadVehicle *v, RoadVehicle *u) od.v = v; od.u = u; - if (u->vcache.cached_max_speed >= v->vcache.cached_max_speed && - !(u->vehstatus & VS_STOPPED) && - u->cur_speed != 0) { - return; - } - /* Trams can't overtake other trams */ if (v->roadtype == ROADTYPE_TRAM) return; @@ -825,6 +823,16 @@ static void RoadVehCheckOvertake(RoadVehicle *v, RoadVehicle *u) /* Check if vehicle is in a road stop, depot, tunnel or bridge or not on a straight road */ if (v->state >= RVSB_IN_ROAD_STOP || !IsStraightRoadTrackdir((Trackdir)(v->state & RVSB_TRACKDIR_MASK))) return; + /* Can't overtake a vehicle that is moving faster than us. If the vehicle in front is + * accelerating, take the maximum speed for the comparison, else the current speed. + * Original acceleration always accelerates, so always use the maximum speed. */ + int u_speed = (_settings_game.vehicle.roadveh_acceleration_model == AM_ORIGINAL || u->GetAcceleration() > 0) ? u->GetCurrentMaxSpeed() : u->cur_speed; + if (u_speed >= v->GetCurrentMaxSpeed() && + !(u->vehstatus & VS_STOPPED) && + u->cur_speed != 0) { + return; + } + od.trackdir = DiagDirToDiagTrackdir(DirToDiagDir(v->direction)); /* Are the current and the next tile suitable for overtaking? @@ -845,7 +853,7 @@ static void RoadVehCheckOvertake(RoadVehicle *v, RoadVehicle *u) v->overtaking = RVSB_DRIVE_SIDE; } -static void RoadZPosAffectSpeed(RoadVehicle *v, byte old_z) +static void RoadZPosAffectSpeed(RoadVehicle *v, int old_z) { if (old_z == v->z_pos || _settings_game.vehicle.roadveh_acceleration_model != AM_ORIGINAL) return; @@ -1015,7 +1023,7 @@ static bool RoadVehLeaveDepot(RoadVehicle *v, bool first) v->x_pos = x; v->y_pos = y; - VehicleUpdatePosition(v); + v->UpdatePosition(); v->UpdateInclination(true, true); InvalidateWindowData(WC_VEHICLE_DEPOT, v->tile); @@ -1144,15 +1152,15 @@ bool IndividualRoadVehicleController(RoadVehicle *v, const RoadVehicle *prev) /* Vehicle has just entered a bridge or tunnel */ v->x_pos = gp.x; v->y_pos = gp.y; - VehicleUpdatePosition(v); + v->UpdatePosition(); v->UpdateInclination(true, true); return true; } v->x_pos = gp.x; v->y_pos = gp.y; - VehicleUpdatePosition(v); - if ((v->vehstatus & VS_HIDDEN) == 0) VehicleUpdateViewport(v, true); + v->UpdatePosition(); + if ((v->vehstatus & VS_HIDDEN) == 0) v->Vehicle::UpdateViewport(true); return true; } @@ -1301,7 +1309,7 @@ again: } v->x_pos = x; v->y_pos = y; - VehicleUpdatePosition(v); + v->UpdatePosition(); RoadZPosAffectSpeed(v, v->UpdateInclination(true, true)); return true; } @@ -1367,7 +1375,7 @@ again: v->x_pos = x; v->y_pos = y; - VehicleUpdatePosition(v); + v->UpdatePosition(); RoadZPosAffectSpeed(v, v->UpdateInclination(true, true)); return true; } @@ -1455,7 +1463,7 @@ again: v->frame++; v->x_pos = x; v->y_pos = y; - VehicleUpdatePosition(v); + v->UpdatePosition(); RoadZPosAffectSpeed(v, v->UpdateInclination(true, false)); return true; } @@ -1504,7 +1512,7 @@ again: if (!HasBit(r, VETS_ENTERED_WORMHOLE)) v->frame++; v->x_pos = x; v->y_pos = y; - VehicleUpdatePosition(v); + v->UpdatePosition(); RoadZPosAffectSpeed(v, v->UpdateInclination(false, true)); return true; } diff --git a/src/roadveh_gui.cpp b/src/roadveh_gui.cpp index bf837bbad3..46ff6cea78 100644 --- a/src/roadveh_gui.cpp +++ b/src/roadveh_gui.cpp @@ -15,9 +15,12 @@ #include "strings_func.h" #include "vehicle_func.h" #include "string_func.h" +#include "zoom_func.h" #include "table/strings.h" +#include "safeguards.h" + /** * Draw the details for the given vehicle at the given position * @@ -28,7 +31,7 @@ */ void DrawRoadVehDetails(const Vehicle *v, int left, int right, int y) { - uint y_offset = v->HasArticulatedPart() ? 15 : 0; // Draw the first line below the sprite of an articulated RV instead of after it. + uint y_offset = v->HasArticulatedPart() ? ScaleGUITrad(15) : 0; // Draw the first line below the sprite of an articulated RV instead of after it. StringID str; Money feeder_share = 0; @@ -134,7 +137,7 @@ void DrawRoadVehImage(const Vehicle *v, int left, int right, int y, VehicleID se DrawPixelInfo tmp_dpi, *old_dpi; int max_width = right - left + 1; - if (!FillDrawPixelInfo(&tmp_dpi, left, y, max_width, 14)) return; + if (!FillDrawPixelInfo(&tmp_dpi, left, y, max_width, ScaleGUITrad(14))) return; old_dpi = _cur_dpi; _cur_dpi = &tmp_dpi; @@ -146,14 +149,14 @@ void DrawRoadVehImage(const Vehicle *v, int left, int right, int y, VehicleID se if (rtl ? px + width > 0 : px - width < max_width) { PaletteID pal = (u->vehstatus & VS_CRASHED) ? PALETTE_CRASH : GetVehiclePalette(u); - DrawSprite(u->GetImage(dir, image_type), pal, px + (rtl ? -offset.x : offset.x), 6 + offset.y); + DrawSprite(u->GetImage(dir, image_type), pal, px + (rtl ? -offset.x : offset.x), ScaleGUITrad(6) + offset.y); } px += rtl ? -width : width; } if (v->index == selection) { - DrawFrameRect((rtl ? px : 0), 0, (rtl ? max_width : px) - 1, 12, COLOUR_WHITE, FR_BORDERONLY); + DrawFrameRect((rtl ? px : 0), 0, (rtl ? max_width : px) - 1, ScaleGUITrad(13) - 1, COLOUR_WHITE, FR_BORDERONLY); } _cur_dpi = old_dpi; diff --git a/src/safeguards.h b/src/safeguards.h new file mode 100644 index 0000000000..f447627e68 --- /dev/null +++ b/src/safeguards.h @@ -0,0 +1,74 @@ +/* $Id$ */ + +/* + * 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. + * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see . + */ + +/** + * @file safeguards.h A number of safeguards to prevent using unsafe methods. + * + * Unsafe methods are, for example, strndup and strncpy because they may leave the + * string without a null termination, but also strdup and strndup because they can + * return NULL and then all strdups would need to be guarded against that instead + * of using the current MallocT/ReallocT/CallocT technique of just giving the user + * an error that too much memory was used instead of spreading that code though + * the whole code base. + */ + +#ifndef SAFEGUARDS_H +#define SAFEGUARDS_H + +/* Use MallocT instead. */ +#define malloc SAFEGUARD_DO_NOT_USE_THIS_METHOD + +/* Use MallocT instead. */ +#define calloc SAFEGUARD_DO_NOT_USE_THIS_METHOD + +/* Use ReallocT instead. */ +#define realloc SAFEGUARD_DO_NOT_USE_THIS_METHOD + +/* Use stredup instead. */ +#define strdup SAFEGUARD_DO_NOT_USE_THIS_METHOD +#define strndup SAFEGUARD_DO_NOT_USE_THIS_METHOD + +/* Use strecpy instead. */ +#define strcpy SAFEGUARD_DO_NOT_USE_THIS_METHOD +#define strncpy SAFEGUARD_DO_NOT_USE_THIS_METHOD + +/* Use strecat instead. */ +#define strcat SAFEGUARD_DO_NOT_USE_THIS_METHOD +#define strncat SAFEGUARD_DO_NOT_USE_THIS_METHOD + +/* Use seprintf instead. */ +#define sprintf SAFEGUARD_DO_NOT_USE_THIS_METHOD +#define snprintf SAFEGUARD_DO_NOT_USE_THIS_METHOD + +/* Use vseprintf instead. */ +#define vsprintf SAFEGUARD_DO_NOT_USE_THIS_METHOD +#define vsnprintf SAFEGUARD_DO_NOT_USE_THIS_METHOD + +/* Use fgets instead. */ +#define gets SAFEGUARD_DO_NOT_USE_THIS_METHOD + +/* No clear replacement. */ +#define strtok SAFEGUARD_DO_NOT_USE_THIS_METHOD + +/* Use our own templated implementation instead of a macro or function with only one type. */ +#ifdef min +#undef min +#endif + +/* Use our own templated implementation instead of a macro or function with only one type. */ +#ifdef max +#undef max +#endif + +/* Use our own templated implementation instead of a macro or function with only one type. */ +#ifdef abs +#undef abs +#endif + +#endif /* SAFEGUARDS_H */ diff --git a/src/saveload/afterload.cpp b/src/saveload/afterload.cpp index 87754d6b52..9690481154 100644 --- a/src/saveload/afterload.cpp +++ b/src/saveload/afterload.cpp @@ -16,6 +16,7 @@ #include "../fios.h" #include "../gamelog_internal.h" #include "../network/network.h" +#include "../network/network_func.h" #include "../gfxinit.h" #include "../viewport_func.h" #include "../industry.h" @@ -51,13 +52,17 @@ #include "../core/backup_type.hpp" #include "../smallmap_gui.h" #include "../news_func.h" +#include "../order_backup.h" #include "../error.h" +#include "../disaster_vehicle.h" #include "saveload_internal.h" #include +#include "../safeguards.h" + extern Company *DoStartupNewCompany(bool is_ai, CompanyID company = INVALID_COMPANY); /** @@ -501,6 +506,18 @@ static uint FixVehicleInclination(Vehicle *v, Direction dir) return 1U << GVF_GOINGUP_BIT; } +/** + * Checks for the possibility that a bridge may be on this tile + * These are in fact all the tile types on which a bridge can be found + * @param t The tile to analyze + * @return True if a bridge might have been present prior to savegame 194. + */ +static inline bool MayHaveBridgeAbove(TileIndex t) +{ + return IsTileType(t, MP_CLEAR) || IsTileType(t, MP_RAILWAY) || IsTileType(t, MP_ROAD) || + IsTileType(t, MP_WATER) || IsTileType(t, MP_TUNNELBRIDGE) || IsTileType(t, MP_OBJECT); +} + /** * Perform a (large) amount of savegame conversion *magic* in order to * load older savegames and to fill the caches for various purposes. @@ -566,6 +583,23 @@ bool AfterLoadGame() } } + if (IsSavegameVersionBefore(194)) { + _settings_game.construction.max_heightlevel = 15; + + /* In old savegame versions, the heightlevel was coded in bits 0..3 of the type field */ + for (TileIndex t = 0; t < map_size; t++) { + _m[t].height = GB(_m[t].type, 0, 4); + SB(_m[t].type, 0, 2, GB(_me[t].m6, 0, 2)); + SB(_me[t].m6, 0, 2, 0); + if (MayHaveBridgeAbove(t)) { + SB(_m[t].type, 2, 2, GB(_me[t].m6, 6, 2)); + SB(_me[t].m6, 6, 2, 0); + } else { + SB(_m[t].type, 2, 2, 0); + } + } + } + /* in version 2.1 of the savegame, town owner was unified. */ if (IsSavegameVersionBefore(2, 1)) ConvertTownOwner(); @@ -791,7 +825,7 @@ bool AfterLoadGame() break; case MP_STATION: { - if (HasBit(_m[t].m6, 3)) SetBit(_m[t].m6, 2); + if (HasBit(_me[t].m6, 3)) SetBit(_me[t].m6, 2); StationGfx gfx = GetStationGfx(t); StationType st; if ( IsInsideMM(gfx, 0, 8)) { // Rail station @@ -829,7 +863,7 @@ bool AfterLoadGame() ResetSignalHandlers(); return false; } - SB(_m[t].m6, 3, 3, st); + SB(_me[t].m6, 3, 3, st); break; } } @@ -1003,7 +1037,7 @@ bool AfterLoadGame() case ROAD_TILE_NORMAL: SB(_m[t].m4, 0, 4, GB(_m[t].m5, 0, 4)); SB(_m[t].m4, 4, 4, 0); - SB(_m[t].m6, 2, 4, 0); + SB(_me[t].m6, 2, 4, 0); break; case ROAD_TILE_CROSSING: SB(_m[t].m4, 5, 2, GB(_m[t].m5, 2, 2)); @@ -1042,19 +1076,19 @@ bool AfterLoadGame() switch (GetRoadTileType(t)) { default: SlErrorCorrupt("Invalid road tile type"); case ROAD_TILE_NORMAL: - SB(_me[t].m7, 0, 4, GB(_m[t].m3, 0, 4)); // road works - SB(_m[t].m6, 3, 3, GB(_m[t].m3, 4, 3)); // ground - SB(_m[t].m3, 0, 4, GB(_m[t].m4, 4, 4)); // tram bits - SB(_m[t].m3, 4, 4, GB(_m[t].m5, 0, 4)); // tram owner - SB(_m[t].m5, 0, 4, GB(_m[t].m4, 0, 4)); // road bits + SB(_me[t].m7, 0, 4, GB(_m[t].m3, 0, 4)); // road works + SB(_me[t].m6, 3, 3, GB(_m[t].m3, 4, 3)); // ground + SB(_m[t].m3, 0, 4, GB(_m[t].m4, 4, 4)); // tram bits + SB(_m[t].m3, 4, 4, GB(_m[t].m5, 0, 4)); // tram owner + SB(_m[t].m5, 0, 4, GB(_m[t].m4, 0, 4)); // road bits break; case ROAD_TILE_CROSSING: - SB(_me[t].m7, 0, 5, GB(_m[t].m4, 0, 5)); // road owner - SB(_m[t].m6, 3, 3, GB(_m[t].m3, 4, 3)); // ground - SB(_m[t].m3, 4, 4, GB(_m[t].m5, 0, 4)); // tram owner - SB(_m[t].m5, 0, 1, GB(_m[t].m4, 6, 1)); // road axis - SB(_m[t].m5, 5, 1, GB(_m[t].m4, 5, 1)); // crossing state + SB(_me[t].m7, 0, 5, GB(_m[t].m4, 0, 5)); // road owner + SB(_me[t].m6, 3, 3, GB(_m[t].m3, 4, 3)); // ground + SB(_m[t].m3, 4, 4, GB(_m[t].m5, 0, 4)); // tram owner + SB(_m[t].m5, 0, 1, GB(_m[t].m4, 6, 1)); // road axis + SB(_m[t].m5, 5, 1, GB(_m[t].m4, 5, 1)); // crossing state break; case ROAD_TILE_DEPOT: @@ -1071,7 +1105,7 @@ bool AfterLoadGame() if (!IsRoadStop(t)) break; if (fix_roadtypes) SetRoadTypes(t, (RoadTypes)GB(_m[t].m3, 0, 3)); - SB(_me[t].m7, 0, 5, HasBit(_m[t].m6, 2) ? OWNER_TOWN : GetTileOwner(t)); + SB(_me[t].m7, 0, 5, HasBit(_me[t].m6, 2) ? OWNER_TOWN : GetTileOwner(t)); SB(_m[t].m3, 4, 4, _m[t].m1); _m[t].m4 = 0; break; @@ -1085,7 +1119,7 @@ bool AfterLoadGame() SB(_me[t].m7, 0, 5, o); // road owner SB(_m[t].m3, 4, 4, o == OWNER_NONE ? OWNER_TOWN : o); // tram owner } - SB(_m[t].m6, 2, 4, GB(_m[t].m2, 4, 4)); // bridge type + SB(_me[t].m6, 2, 4, GB(_m[t].m2, 4, 4)); // bridge type SB(_me[t].m7, 5, 1, GB(_m[t].m4, 7, 1)); // snow/desert _m[t].m2 = 0; @@ -1597,7 +1631,7 @@ bool AfterLoadGame() FOR_ALL_STATIONS(st) { for (CargoID c = 0; c < NUM_CARGO; c++) { st->goods[c].last_speed = 0; - if (st->goods[c].cargo.AvailableCount() != 0) SetBit(st->goods[c].acceptance_pickup, GoodsEntry::GES_PICKUP); + if (st->goods[c].cargo.AvailableCount() != 0) SetBit(st->goods[c].status, GoodsEntry::GES_RATING); } } } @@ -1819,7 +1853,7 @@ bool AfterLoadGame() /* Increase HouseAnimationFrame from 5 to 7 bits */ for (TileIndex t = 0; t < map_size; t++) { if (IsTileType(t, MP_HOUSE) && GetHouseType(t) >= NEW_HOUSE_OFFSET) { - SB(_m[t].m6, 2, 6, GB(_m[t].m6, 3, 5)); + SB(_me[t].m6, 2, 6, GB(_me[t].m6, 3, 5)); SB(_m[t].m3, 5, 1, 0); } } @@ -1976,7 +2010,7 @@ bool AfterLoadGame() /* Reordering/generalisation of the object bits. */ ObjectType type = _m[t].m5; - SB(_m[t].m6, 2, 4, type == OBJECT_HQ ? GB(_m[t].m3, 2, 3) : 0); + SB(_me[t].m6, 2, 4, type == OBJECT_HQ ? GB(_m[t].m3, 2, 3) : 0); _m[t].m3 = type == OBJECT_HQ ? GB(_m[t].m3, 1, 1) | GB(_m[t].m3, 0, 1) << 4 : 0; /* Make sure those bits are clear as well! */ @@ -1997,8 +2031,8 @@ bool AfterLoadGame() uint offset = _m[t].m3; /* Also move the animation state. */ - _m[t].m3 = GB(_m[t].m6, 2, 4); - SB(_m[t].m6, 2, 4, 0); + _m[t].m3 = GB(_me[t].m6, 2, 4); + SB(_me[t].m6, 2, 4, 0); if (offset == 0) { /* No offset, so make the object. */ @@ -2089,7 +2123,7 @@ bool AfterLoadGame() /* Delete small ufos heading for non-existing vehicles */ Vehicle *v; FOR_ALL_DISASTERVEHICLES(v) { - if (v->subtype == 2/*ST_SMALL_UFO*/ && v->current_order.GetDestination() != 0) { + if (v->subtype == 2 /* ST_SMALL_UFO */ && v->current_order.GetDestination() != 0) { const Vehicle *u = Vehicle::GetIfValid(v->dest_tile); if (u == NULL || u->type != VEH_ROAD || !RoadVehicle::From(u)->IsFrontEngine()) { delete v; @@ -2370,7 +2404,10 @@ bool AfterLoadGame() UpdateAircraftCache(v); AircraftNextAirportPos_and_Order(v); /* get aircraft back on running altitude */ - if ((v->vehstatus & VS_CRASHED) == 0) SetAircraftPosition(v, v->x_pos, v->y_pos, GetAircraftFlyingAltitude(v)); + if ((v->vehstatus & VS_CRASHED) == 0) { + GetAircraftFlightLevelBounds(v, &v->z_pos, NULL); + SetAircraftPosition(v, v->x_pos, v->y_pos, GetAircraftFlightLevel(v)); + } } } } @@ -2382,9 +2419,9 @@ bool AfterLoadGame() case MP_HOUSE: if (GetHouseType(t) >= NEW_HOUSE_OFFSET) { uint per_proc = _me[t].m7; - _me[t].m7 = GB(_m[t].m6, 2, 6) | (GB(_m[t].m3, 5, 1) << 6); + _me[t].m7 = GB(_me[t].m6, 2, 6) | (GB(_m[t].m3, 5, 1) << 6); SB(_m[t].m3, 5, 1, 0); - SB(_m[t].m6, 2, 6, min(per_proc, 63)); + SB(_me[t].m6, 2, 6, min(per_proc, 63)); } break; @@ -2914,6 +2951,23 @@ bool AfterLoadGame() } } + /* + * Only keep order-backups for network clients (and when replaying). + * If we are a network server or not networking, then we just loaded a previously + * saved-by-server savegame. There are no clients with a backup, so clear it. + * Furthermore before savegame version 192 the actual content was always corrupt. + */ + if (!_networking || _network_server || IsSavegameVersionBefore(192)) { +#ifndef DEBUG_DUMP_COMMANDS + /* Note: We cannot use CleanPool since that skips part of the destructor + * and then leaks un-reachable Orders in the order pool. */ + OrderBackup *ob; + FOR_ALL_ORDER_BACKUPS(ob) { + delete ob; + } +#endif + } + /* Station acceptance is some kind of cache */ if (IsSavegameVersionBefore(127)) { diff --git a/src/saveload/ai_sl.cpp b/src/saveload/ai_sl.cpp index 51d0a50b8c..e8b5339c0d 100644 --- a/src/saveload/ai_sl.cpp +++ b/src/saveload/ai_sl.cpp @@ -20,6 +20,8 @@ #include "../network/network.h" #include "../ai/ai_instance.hpp" +#include "../safeguards.h" + static char _ai_saveload_name[64]; static int _ai_saveload_version; static char _ai_saveload_settings[1024]; @@ -39,7 +41,7 @@ static void SaveReal_AIPL(int *index_ptr) AIConfig *config = AIConfig::GetConfig(index); if (config->HasScript()) { - ttd_strlcpy(_ai_saveload_name, config->GetName(), lengthof(_ai_saveload_name)); + strecpy(_ai_saveload_name, config->GetName(), lastof(_ai_saveload_name)); _ai_saveload_version = config->GetVersion(); } else { /* No AI is configured for this so store an empty string as name. */ @@ -49,7 +51,7 @@ static void SaveReal_AIPL(int *index_ptr) _ai_saveload_is_random = config->IsRandom(); _ai_saveload_settings[0] = '\0'; - config->SettingsToString(_ai_saveload_settings, lengthof(_ai_saveload_settings)); + config->SettingsToString(_ai_saveload_settings, lastof(_ai_saveload_settings)); SlObject(NULL, _ai_company); /* If the AI was active, store his data too */ diff --git a/src/saveload/airport_sl.cpp b/src/saveload/airport_sl.cpp index 00a4b2b012..1172d2593e 100644 --- a/src/saveload/airport_sl.cpp +++ b/src/saveload/airport_sl.cpp @@ -14,6 +14,8 @@ #include "saveload.h" #include "newgrf_sl.h" +#include "../safeguards.h" + static void Save_APID() { Save_NewGRFMapping(_airport_mngr); diff --git a/src/saveload/animated_tile_sl.cpp b/src/saveload/animated_tile_sl.cpp index 2ccd42cb53..3fc5f61753 100644 --- a/src/saveload/animated_tile_sl.cpp +++ b/src/saveload/animated_tile_sl.cpp @@ -15,6 +15,8 @@ #include "saveload.h" +#include "../safeguards.h" + extern TileIndex *_animated_tile_list; extern uint _animated_tile_count; extern uint _animated_tile_allocated; diff --git a/src/saveload/autoreplace_sl.cpp b/src/saveload/autoreplace_sl.cpp index 0cb9cca8d1..99e945503d 100644 --- a/src/saveload/autoreplace_sl.cpp +++ b/src/saveload/autoreplace_sl.cpp @@ -14,6 +14,8 @@ #include "saveload.h" +#include "../safeguards.h" + static const SaveLoad _engine_renew_desc[] = { SLE_VAR(EngineRenew, from, SLE_UINT16), SLE_VAR(EngineRenew, to, SLE_UINT16), diff --git a/src/saveload/cargomonitor_sl.cpp b/src/saveload/cargomonitor_sl.cpp index 2188470a22..98ad95f090 100644 --- a/src/saveload/cargomonitor_sl.cpp +++ b/src/saveload/cargomonitor_sl.cpp @@ -14,6 +14,8 @@ #include "saveload.h" +#include "../safeguards.h" + /** Temporary storage of cargo monitoring data for loading or saving it. */ struct TempStorage { CargoMonitorID number; diff --git a/src/saveload/cargopacket_sl.cpp b/src/saveload/cargopacket_sl.cpp index fbc38cc852..dc8d4145e3 100644 --- a/src/saveload/cargopacket_sl.cpp +++ b/src/saveload/cargopacket_sl.cpp @@ -15,6 +15,8 @@ #include "saveload.h" +#include "../safeguards.h" + /** * Savegame conversion for cargopackets. */ diff --git a/src/saveload/cheat_sl.cpp b/src/saveload/cheat_sl.cpp index aa5648a888..4616b7e852 100644 --- a/src/saveload/cheat_sl.cpp +++ b/src/saveload/cheat_sl.cpp @@ -14,6 +14,8 @@ #include "saveload.h" +#include "../safeguards.h" + /** * Save the cheat values. */ diff --git a/src/saveload/company_sl.cpp b/src/saveload/company_sl.cpp index 5878f31ead..6ac22c2685 100644 --- a/src/saveload/company_sl.cpp +++ b/src/saveload/company_sl.cpp @@ -21,6 +21,8 @@ #include "table/strings.h" +#include "../safeguards.h" + /** * Converts an old company manager's face format to the new company manager's face format * @@ -256,7 +258,7 @@ static const SaveLoad _company_desc[] = { SLE_VAR(CompanyProperties, colour, SLE_UINT8), SLE_VAR(CompanyProperties, money_fraction, SLE_UINT8), - SLE_CONDVAR(CompanyProperties, avail_railtypes, SLE_UINT8, 0, 57), + SLE_CONDVAR(CompanyProperties, avail_railtypes, SLE_VAR_I32 | SLE_FILE_I8, 0, 57), SLE_VAR(CompanyProperties, block_preview, SLE_UINT8), SLE_CONDNULL(2, 0, 93), ///< cargo_types diff --git a/src/saveload/depot_sl.cpp b/src/saveload/depot_sl.cpp index 0d62d74cdf..861a541730 100644 --- a/src/saveload/depot_sl.cpp +++ b/src/saveload/depot_sl.cpp @@ -15,6 +15,8 @@ #include "saveload.h" +#include "../safeguards.h" + static TownID _town_index; static const SaveLoad _depot_desc[] = { diff --git a/src/saveload/economy_sl.cpp b/src/saveload/economy_sl.cpp index 86605bdfb7..dabf120fca 100644 --- a/src/saveload/economy_sl.cpp +++ b/src/saveload/economy_sl.cpp @@ -15,6 +15,8 @@ #include "saveload.h" +#include "../safeguards.h" + /** Prices in pre 126 savegames */ static void Load_PRIC() { diff --git a/src/saveload/engine_sl.cpp b/src/saveload/engine_sl.cpp index d02264cd6b..a568fead7b 100644 --- a/src/saveload/engine_sl.cpp +++ b/src/saveload/engine_sl.cpp @@ -12,7 +12,10 @@ #include "../stdafx.h" #include "saveload_internal.h" #include "../engine_base.h" -#include +#include "../string_func.h" +#include + +#include "../safeguards.h" static const SaveLoad _engine_desc[] = { SLE_CONDVAR(Engine, intro_date, SLE_FILE_U16 | SLE_VAR_I32, 0, 30), @@ -37,6 +40,7 @@ static const SaveLoad _engine_desc[] = { SLE_CONDNULL(1, 0, 44), SLE_CONDVAR(Engine, company_avail, SLE_FILE_U8 | SLE_VAR_U16, 0, 103), SLE_CONDVAR(Engine, company_avail, SLE_UINT16, 104, SL_MAX_VERSION), + SLE_CONDVAR(Engine, company_hidden, SLE_UINT16, 193, SL_MAX_VERSION), SLE_CONDSTR(Engine, name, SLE_STR, 0, 84, SL_MAX_VERSION), SLE_CONDNULL(16, 2, 143), // old reserved space @@ -44,11 +48,42 @@ static const SaveLoad _engine_desc[] = { SLE_END() }; -static std::map _temp_engine; +static std::vector _temp_engine; + +/** + * Allocate an Engine structure, but not using the pools. + * The allocated Engine must be freed using FreeEngine; + * @return Allocated engine. + */ +static Engine* CallocEngine() +{ + uint8 *zero = CallocT(sizeof(Engine)); + Engine *engine = new (zero) Engine(); + return engine; +} + +/** + * Deallocate an Engine constructed by CallocEngine. + * @param e Engine to free. + */ +static void FreeEngine(Engine *e) +{ + if (e != NULL) { + e->~Engine(); + free(e); + } +} Engine *GetTempDataEngine(EngineID index) { - return &_temp_engine[index]; + if (index < _temp_engine.size()) { + return _temp_engine[index]; + } else if (index == _temp_engine.size()) { + _temp_engine.push_back(CallocEngine()); + return _temp_engine[index]; + } else { + NOT_REACHED(); + } } static void Save_ENGN() @@ -105,10 +140,14 @@ void CopyTempEngineData() e->preview_company = se->preview_company; e->preview_wait = se->preview_wait; e->company_avail = se->company_avail; - if (se->name != NULL) e->name = strdup(se->name); + e->company_hidden = se->company_hidden; + if (se->name != NULL) e->name = stredup(se->name); } /* Get rid of temporary data */ + for (std::vector::iterator it = _temp_engine.begin(); it != _temp_engine.end(); ++it) { + FreeEngine(*it); + } _temp_engine.clear(); } diff --git a/src/saveload/game_sl.cpp b/src/saveload/game_sl.cpp index b2b263b131..325ae1c9d4 100644 --- a/src/saveload/game_sl.cpp +++ b/src/saveload/game_sl.cpp @@ -20,6 +20,8 @@ #include "../game/game_instance.hpp" #include "../game/game_text.hpp" +#include "../safeguards.h" + static char _game_saveload_name[64]; static int _game_saveload_version; static char _game_saveload_settings[1024]; @@ -38,7 +40,7 @@ static void SaveReal_GSDT(int *index_ptr) GameConfig *config = GameConfig::GetConfig(); if (config->HasScript()) { - ttd_strlcpy(_game_saveload_name, config->GetName(), lengthof(_game_saveload_name)); + strecpy(_game_saveload_name, config->GetName(), lastof(_game_saveload_name)); _game_saveload_version = config->GetVersion(); } else { /* No GameScript is configured for this so store an empty string as name. */ @@ -48,7 +50,7 @@ static void SaveReal_GSDT(int *index_ptr) _game_saveload_is_random = config->IsRandom(); _game_saveload_settings[0] = '\0'; - config->SettingsToString(_game_saveload_settings, lengthof(_game_saveload_settings)); + config->SettingsToString(_game_saveload_settings, lastof(_game_saveload_settings)); SlObject(NULL, _game_script); Game::Save(); @@ -76,22 +78,22 @@ static void Load_GSDT() config->Change(_game_saveload_name, _game_saveload_version, false, _game_saveload_is_random); if (!config->HasScript()) { /* No version of the GameScript available that can load the data. Try to load the - * latest version of the GameScript instead. */ + * latest version of the GameScript instead. */ config->Change(_game_saveload_name, -1, false, _game_saveload_is_random); if (!config->HasScript()) { if (strcmp(_game_saveload_name, "%_dummy") != 0) { DEBUG(script, 0, "The savegame has an GameScript by the name '%s', version %d which is no longer available.", _game_saveload_name, _game_saveload_version); - DEBUG(script, 0, "This game wil continue to run without GameScript."); + DEBUG(script, 0, "This game will continue to run without GameScript."); } else { DEBUG(script, 0, "The savegame had no GameScript available at the time of saving."); - DEBUG(script, 0, "This game wil continue to run without GameScript."); + DEBUG(script, 0, "This game will continue to run without GameScript."); } } else { DEBUG(script, 0, "The savegame has an GameScript by the name '%s', version %d which is no longer available.", _game_saveload_name, _game_saveload_version); DEBUG(script, 0, "The latest version of that GameScript has been loaded instead, but it'll not get the savegame data as it's incompatible."); } /* Make sure the GameScript doesn't get the saveload data, as he was not the - * writer of the saveload data in the first place */ + * writer of the saveload data in the first place */ _game_saveload_version = -1; } } @@ -151,7 +153,7 @@ static void Load_GSTR() LanguageStrings *ls = new LanguageStrings(_game_saveload_string != NULL ? _game_saveload_string : ""); for (uint i = 0; i < _game_saveload_strings; i++) { SlObject(NULL, _game_language_string); - *ls->lines.Append() = strdup(_game_saveload_string != NULL ? _game_saveload_string : ""); + *ls->lines.Append() = stredup(_game_saveload_string != NULL ? _game_saveload_string : ""); } *_current_data->raw_strings.Append() = ls; diff --git a/src/saveload/gamelog_sl.cpp b/src/saveload/gamelog_sl.cpp index f25a8d1ebd..f818eca137 100644 --- a/src/saveload/gamelog_sl.cpp +++ b/src/saveload/gamelog_sl.cpp @@ -15,6 +15,8 @@ #include "saveload.h" +#include "../safeguards.h" + static const SaveLoad _glog_action_desc[] = { SLE_VAR(LoggedAction, tick, SLE_UINT16), SLE_END() diff --git a/src/saveload/goal_sl.cpp b/src/saveload/goal_sl.cpp index 1c260503e8..4d1441787d 100644 --- a/src/saveload/goal_sl.cpp +++ b/src/saveload/goal_sl.cpp @@ -14,9 +14,11 @@ #include "saveload.h" +#include "../safeguards.h" + static const SaveLoad _goals_desc[] = { - SLE_VAR(Goal, company, SLE_UINT16), - SLE_VAR(Goal, type, SLE_UINT16), + SLE_VAR(Goal, company, SLE_FILE_U16 | SLE_VAR_U8), + SLE_VAR(Goal, type, SLE_FILE_U16 | SLE_VAR_U8), SLE_VAR(Goal, dst, SLE_UINT32), SLE_STR(Goal, text, SLE_STR | SLF_ALLOW_CONTROL, 0), SLE_CONDSTR(Goal, progress, SLE_STR | SLF_ALLOW_CONTROL, 0, 182, SL_MAX_VERSION), diff --git a/src/saveload/group_sl.cpp b/src/saveload/group_sl.cpp index 891d6ea6f1..93734f80f6 100644 --- a/src/saveload/group_sl.cpp +++ b/src/saveload/group_sl.cpp @@ -14,6 +14,8 @@ #include "saveload.h" +#include "../safeguards.h" + static const SaveLoad _group_desc[] = { SLE_CONDVAR(Group, name, SLE_NAME, 0, 83), SLE_CONDSTR(Group, name, SLE_STR | SLF_ALLOW_CONTROL, 0, 84, SL_MAX_VERSION), diff --git a/src/saveload/industry_sl.cpp b/src/saveload/industry_sl.cpp index 469548f231..c5ddadfdd0 100644 --- a/src/saveload/industry_sl.cpp +++ b/src/saveload/industry_sl.cpp @@ -15,6 +15,8 @@ #include "saveload.h" #include "newgrf_sl.h" +#include "../safeguards.h" + static OldPersistentStorage _old_ind_persistent_storage; static const SaveLoad _industry_desc[] = { @@ -158,14 +160,14 @@ static void Save_ITBL() /** Load industry-type build data. */ static void Load_ITBL() { - int index; - for (int i = 0; i < NUM_INDUSTRYTYPES; i++) { - index = SlIterateArray(); - assert(index == i); - SlObject(_industry_builder.builddata + i, _industrytype_builder_desc); + for (IndustryType it = 0; it < NUM_INDUSTRYTYPES; it++) { + _industry_builder.builddata[it].Reset(); + } + int index; + while ((index = SlIterateArray()) != -1) { + if ((uint)index >= NUM_INDUSTRYTYPES) SlErrorCorrupt("Too many industry builder datas"); + SlObject(_industry_builder.builddata + index, _industrytype_builder_desc); } - index = SlIterateArray(); - assert(index == -1); } extern const ChunkHandler _industry_chunk_handlers[] = { diff --git a/src/saveload/labelmaps_sl.cpp b/src/saveload/labelmaps_sl.cpp index 5cc77af0ce..3b898a3b87 100644 --- a/src/saveload/labelmaps_sl.cpp +++ b/src/saveload/labelmaps_sl.cpp @@ -15,6 +15,8 @@ #include "saveload.h" +#include "../safeguards.h" + static SmallVector _railtype_list; /** diff --git a/src/saveload/linkgraph_sl.cpp b/src/saveload/linkgraph_sl.cpp index f0dcb1dd45..a65f4fc8a5 100644 --- a/src/saveload/linkgraph_sl.cpp +++ b/src/saveload/linkgraph_sl.cpp @@ -16,12 +16,14 @@ #include "../settings_internal.h" #include "saveload.h" +#include "../safeguards.h" + typedef LinkGraph::BaseNode Node; typedef LinkGraph::BaseEdge Edge; const SettingDesc *GetSettingDescription(uint index); -static uint _num_nodes; +static uint16 _num_nodes; /** * Get a SaveLoad array for a link graph. @@ -107,24 +109,25 @@ const SaveLoad *GetLinkGraphScheduleDesc() * SaveLoad desc for a link graph node. */ static const SaveLoad _node_desc[] = { - SLE_VAR(Node, supply, SLE_UINT32), - SLE_VAR(Node, demand, SLE_UINT32), - SLE_VAR(Node, station, SLE_UINT16), - SLE_VAR(Node, last_update, SLE_INT32), - SLE_END() + SLE_CONDVAR(Node, xy, SLE_UINT32, 191, SL_MAX_VERSION), + SLE_VAR(Node, supply, SLE_UINT32), + SLE_VAR(Node, demand, SLE_UINT32), + SLE_VAR(Node, station, SLE_UINT16), + SLE_VAR(Node, last_update, SLE_INT32), + SLE_END() }; /** * SaveLoad desc for a link graph edge. */ static const SaveLoad _edge_desc[] = { - SLE_VAR(Edge, distance, SLE_UINT32), - SLE_VAR(Edge, capacity, SLE_UINT32), - SLE_VAR(Edge, usage, SLE_UINT32), - SLE_VAR(Edge, last_unrestricted_update, SLE_INT32), - SLE_CONDVAR(Edge, last_restricted_update, SLE_INT32, 187, SL_MAX_VERSION), - SLE_VAR(Edge, next_edge, SLE_UINT16), - SLE_END() + SLE_CONDNULL(4, 0, 190), // distance + SLE_VAR(Edge, capacity, SLE_UINT32), + SLE_VAR(Edge, usage, SLE_UINT32), + SLE_VAR(Edge, last_unrestricted_update, SLE_INT32), + SLE_CONDVAR(Edge, last_restricted_update, SLE_INT32, 187, SL_MAX_VERSION), + SLE_VAR(Edge, next_edge, SLE_UINT16), + SLE_END() }; /** @@ -137,8 +140,16 @@ void SaveLoad_LinkGraph(LinkGraph &lg) for (NodeID from = 0; from < size; ++from) { Node *node = &lg.nodes[from]; SlObject(node, _node_desc); - for (NodeID to = 0; to < size; ++to) { - SlObject(&lg.edges[from][to], _edge_desc); + if (IsSavegameVersionBefore(191)) { + /* We used to save the full matrix ... */ + for (NodeID to = 0; to < size; ++to) { + SlObject(&lg.edges[from][to], _edge_desc); + } + } else { + /* ... but as that wasted a lot of space we save a sparse matrix now. */ + for (NodeID to = from; to != INVALID_NODE; to = lg.edges[from][to].next_edge) { + SlObject(&lg.edges[from][to], _edge_desc); + } } } } @@ -209,7 +220,7 @@ static void Load_LGRJ() */ static void Load_LGRS() { - SlObject(LinkGraphSchedule::Instance(), GetLinkGraphScheduleDesc()); + SlObject(&LinkGraphSchedule::instance, GetLinkGraphScheduleDesc()); } /** @@ -218,7 +229,24 @@ static void Load_LGRS() */ void AfterLoadLinkGraphs() { - LinkGraphSchedule::Instance()->SpawnAll(); + if (IsSavegameVersionBefore(191)) { + LinkGraph *lg; + FOR_ALL_LINK_GRAPHS(lg) { + for (NodeID node_id = 0; node_id < lg->Size(); ++node_id) { + (*lg)[node_id].UpdateLocation(Station::Get((*lg)[node_id].Station())->xy); + } + } + + LinkGraphJob *lgj; + FOR_ALL_LINK_GRAPH_JOBS(lgj) { + lg = &(const_cast(lgj->Graph())); + for (NodeID node_id = 0; node_id < lg->Size(); ++node_id) { + (*lg)[node_id].UpdateLocation(Station::Get((*lg)[node_id].Station())->xy); + } + } + } + + LinkGraphSchedule::instance.SpawnAll(); } /** @@ -250,7 +278,7 @@ static void Save_LGRJ() */ static void Save_LGRS() { - SlObject(LinkGraphSchedule::Instance(), GetLinkGraphScheduleDesc()); + SlObject(&LinkGraphSchedule::instance, GetLinkGraphScheduleDesc()); } /** @@ -258,7 +286,7 @@ static void Save_LGRS() */ static void Ptrs_LGRS() { - SlObject(LinkGraphSchedule::Instance(), GetLinkGraphScheduleDesc()); + SlObject(&LinkGraphSchedule::instance, GetLinkGraphScheduleDesc()); } extern const ChunkHandler _linkgraph_chunk_handlers[] = { diff --git a/src/saveload/map_sl.cpp b/src/saveload/map_sl.cpp index 7088a4406c..86a185ca42 100644 --- a/src/saveload/map_sl.cpp +++ b/src/saveload/map_sl.cpp @@ -16,6 +16,8 @@ #include "saveload.h" +#include "../safeguards.h" + static uint32 _map_dim_x; static uint32 _map_dim_y; @@ -54,7 +56,7 @@ static void Load_MAPT() for (TileIndex i = 0; i != size;) { SlArray(buf, MAP_SL_BUF_SIZE, SLE_UINT8); - for (uint j = 0; j != MAP_SL_BUF_SIZE; j++) _m[i++].type_height = buf[j]; + for (uint j = 0; j != MAP_SL_BUF_SIZE; j++) _m[i++].type = buf[j]; } } @@ -65,7 +67,30 @@ static void Save_MAPT() SlSetLength(size); for (TileIndex i = 0; i != size;) { - for (uint j = 0; j != MAP_SL_BUF_SIZE; j++) buf[j] = _m[i++].type_height; + for (uint j = 0; j != MAP_SL_BUF_SIZE; j++) buf[j] = _m[i++].type; + SlArray(buf, MAP_SL_BUF_SIZE, SLE_UINT8); + } +} + +static void Load_MAPH() +{ + SmallStackSafeStackAlloc buf; + TileIndex size = MapSize(); + + for (TileIndex i = 0; i != size;) { + SlArray(buf, MAP_SL_BUF_SIZE, SLE_UINT8); + for (uint j = 0; j != MAP_SL_BUF_SIZE; j++) _m[i++].height = buf[j]; + } +} + +static void Save_MAPH() +{ + SmallStackSafeStackAlloc buf; + TileIndex size = MapSize(); + + SlSetLength(size); + for (TileIndex i = 0; i != size;) { + for (uint j = 0; j != MAP_SL_BUF_SIZE; j++) buf[j] = _m[i++].height; SlArray(buf, MAP_SL_BUF_SIZE, SLE_UINT8); } } @@ -198,16 +223,16 @@ static void Load_MAP6() /* 1024, otherwise we overflow on 64x64 maps! */ SlArray(buf, 1024, SLE_UINT8); for (uint j = 0; j != 1024; j++) { - _m[i++].m6 = GB(buf[j], 0, 2); - _m[i++].m6 = GB(buf[j], 2, 2); - _m[i++].m6 = GB(buf[j], 4, 2); - _m[i++].m6 = GB(buf[j], 6, 2); + _me[i++].m6 = GB(buf[j], 0, 2); + _me[i++].m6 = GB(buf[j], 2, 2); + _me[i++].m6 = GB(buf[j], 4, 2); + _me[i++].m6 = GB(buf[j], 6, 2); } } } else { for (TileIndex i = 0; i != size;) { SlArray(buf, MAP_SL_BUF_SIZE, SLE_UINT8); - for (uint j = 0; j != MAP_SL_BUF_SIZE; j++) _m[i++].m6 = buf[j]; + for (uint j = 0; j != MAP_SL_BUF_SIZE; j++) _me[i++].m6 = buf[j]; } } } @@ -219,7 +244,7 @@ static void Save_MAP6() SlSetLength(size); for (TileIndex i = 0; i != size;) { - for (uint j = 0; j != MAP_SL_BUF_SIZE; j++) buf[j] = _m[i++].m6; + for (uint j = 0; j != MAP_SL_BUF_SIZE; j++) buf[j] = _me[i++].m6; SlArray(buf, MAP_SL_BUF_SIZE, SLE_UINT8); } } @@ -250,6 +275,7 @@ static void Save_MAP7() extern const ChunkHandler _map_chunk_handlers[] = { { 'MAPS', Save_MAPS, Load_MAPS, NULL, Check_MAPS, CH_RIFF }, { 'MAPT', Save_MAPT, Load_MAPT, NULL, NULL, CH_RIFF }, + { 'MAPH', Save_MAPH, Load_MAPH, NULL, NULL, CH_RIFF }, { 'MAPO', Save_MAP1, Load_MAP1, NULL, NULL, CH_RIFF }, { 'MAP2', Save_MAP2, Load_MAP2, NULL, NULL, CH_RIFF }, { 'M3LO', Save_MAP3, Load_MAP3, NULL, NULL, CH_RIFF }, diff --git a/src/saveload/misc_sl.cpp b/src/saveload/misc_sl.cpp index 72c56db540..c7bd31e81e 100644 --- a/src/saveload/misc_sl.cpp +++ b/src/saveload/misc_sl.cpp @@ -21,6 +21,8 @@ #include "saveload.h" +#include "../safeguards.h" + extern TileIndex _cur_tileloop_tile; extern uint16 _disaster_delay; extern byte _trees_tick_ctr; diff --git a/src/saveload/newgrf_sl.cpp b/src/saveload/newgrf_sl.cpp index d3915340cf..dacc127ea0 100644 --- a/src/saveload/newgrf_sl.cpp +++ b/src/saveload/newgrf_sl.cpp @@ -15,6 +15,8 @@ #include "saveload.h" #include "newgrf_sl.h" +#include "../safeguards.h" + /** Save and load the mapping between a spec and the NewGRF it came from. */ static const SaveLoad _newgrf_mapping_desc[] = { SLE_VAR(EntityIDMapping, grfid, SLE_UINT32), @@ -49,7 +51,7 @@ void Load_NewGRFMapping(OverrideManagerBase &mapping) int index; while ((index = SlIterateArray()) != -1) { - if ((uint)index >= max_id) break; + if ((uint)index >= max_id) SlErrorCorrupt("Too many NewGRF entity mappings"); SlObject(&mapping.mapping_ID[index], _newgrf_mapping_desc); } } diff --git a/src/saveload/object_sl.cpp b/src/saveload/object_sl.cpp index 4e8539793b..dfb1d2cbf5 100644 --- a/src/saveload/object_sl.cpp +++ b/src/saveload/object_sl.cpp @@ -16,6 +16,8 @@ #include "saveload.h" #include "newgrf_sl.h" +#include "../safeguards.h" + static const SaveLoad _object_desc[] = { SLE_VAR(Object, location.tile, SLE_UINT32), SLE_VAR(Object, location.w, SLE_FILE_U8 | SLE_VAR_U16), diff --git a/src/saveload/oldloader.cpp b/src/saveload/oldloader.cpp index 83fc58ebfa..13ee0e5b06 100644 --- a/src/saveload/oldloader.cpp +++ b/src/saveload/oldloader.cpp @@ -23,6 +23,8 @@ #include +#include "../safeguards.h" + static const int TTO_HEADER_SIZE = 41; static const int TTD_HEADER_SIZE = 49; diff --git a/src/saveload/oldloader_sl.cpp b/src/saveload/oldloader_sl.cpp index f9215cf1d0..4afbe6033d 100644 --- a/src/saveload/oldloader_sl.cpp +++ b/src/saveload/oldloader_sl.cpp @@ -27,6 +27,7 @@ #include "../effectvehicle_base.h" #include "../engine_func.h" #include "../company_base.h" +#include "../disaster_vehicle.h" #include "saveload_internal.h" #include "oldloader.h" @@ -34,6 +35,8 @@ #include "../table/engines.h" #include "../table/townname.h" +#include "../safeguards.h" + static bool _read_ttdpatch_flags; ///< Have we (tried to) read TTDPatch extra flags? static uint16 _old_extra_chunk_nums; ///< Number of extra TTDPatch chunks static byte _old_vehicle_multiplier; ///< TTDPatch vehicle multiplier @@ -708,8 +711,8 @@ static bool LoadOldGood(LoadgameState *ls, int num) if (!LoadChunk(ls, ge, goods_chunk)) return false; - SB(ge->acceptance_pickup, GoodsEntry::GES_ACCEPTANCE, 1, HasBit(_waiting_acceptance, 15)); - SB(ge->acceptance_pickup, GoodsEntry::GES_PICKUP, 1, _cargo_source != 0xFF); + SB(ge->status, GoodsEntry::GES_ACCEPTANCE, 1, HasBit(_waiting_acceptance, 15)); + SB(ge->status, GoodsEntry::GES_RATING, 1, _cargo_source != 0xFF); if (GB(_waiting_acceptance, 0, 12) != 0 && CargoPacket::CanAllocateItem()) { ge->cargo.Append(new CargoPacket(GB(_waiting_acceptance, 0, 12), _cargo_days, (_cargo_source == 0xFF) ? INVALID_STATION : _cargo_source, 0, 0), INVALID_STATION); @@ -1492,10 +1495,10 @@ static bool LoadOldMapPart1(LoadgameState *ls, int num) } for (uint i = 0; i < OLD_MAP_SIZE / 4; i++) { byte b = ReadByte(ls); - _m[i * 4 + 0].m6 = GB(b, 0, 2); - _m[i * 4 + 1].m6 = GB(b, 2, 2); - _m[i * 4 + 2].m6 = GB(b, 4, 2); - _m[i * 4 + 3].m6 = GB(b, 6, 2); + _me[i * 4 + 0].m6 = GB(b, 0, 2); + _me[i * 4 + 1].m6 = GB(b, 2, 2); + _me[i * 4 + 2].m6 = GB(b, 4, 2); + _me[i * 4 + 3].m6 = GB(b, 6, 2); } } @@ -1507,7 +1510,7 @@ static bool LoadOldMapPart2(LoadgameState *ls, int num) uint i; for (i = 0; i < OLD_MAP_SIZE; i++) { - _m[i].type_height = ReadByte(ls); + _m[i].type = ReadByte(ls); } for (i = 0; i < OLD_MAP_SIZE; i++) { _m[i].m5 = ReadByte(ls); diff --git a/src/saveload/order_sl.cpp b/src/saveload/order_sl.cpp index 8234165793..d55d577cb6 100644 --- a/src/saveload/order_sl.cpp +++ b/src/saveload/order_sl.cpp @@ -16,6 +16,8 @@ #include "saveload_internal.h" +#include "../safeguards.h" + /** * Converts this order from an old savegame's version; * it moves all bits to the new location. @@ -184,6 +186,10 @@ static void Load_ORDR() while ((index = SlIterateArray()) != -1) { Order *order = new (index) Order(); SlObject(order, GetOrderDescription()); + if (IsSavegameVersionBefore(190)) { + order->SetTravelTimetabled(order->GetTravelTime() > 0); + order->SetWaitTimetabled(order->GetWaitTime() > 0); + } } } } @@ -247,9 +253,11 @@ const SaveLoad *GetOrderBackupDescription() SLE_VAR(OrderBackup, user, SLE_UINT32), SLE_VAR(OrderBackup, tile, SLE_UINT32), SLE_VAR(OrderBackup, group, SLE_UINT16), - SLE_VAR(OrderBackup, service_interval, SLE_UINT32), + SLE_CONDVAR(OrderBackup, service_interval, SLE_FILE_U32 | SLE_VAR_U16, 0, 191), + SLE_CONDVAR(OrderBackup, service_interval, SLE_UINT16, 192, SL_MAX_VERSION), SLE_STR(OrderBackup, name, SLE_STR, 0), - SLE_VAR(OrderBackup, clone, SLE_UINT16), + SLE_CONDNULL(2, 0, 191), // clone (2 bytes of pointer, i.e. garbage) + SLE_CONDREF(OrderBackup, clone, REF_VEHICLE, 192, SL_MAX_VERSION), SLE_VAR(OrderBackup, cur_real_order_index, SLE_UINT8), SLE_CONDVAR(OrderBackup, cur_implicit_order_index, SLE_UINT8, 176, SL_MAX_VERSION), SLE_CONDVAR(OrderBackup, current_order_time, SLE_UINT32, 176, SL_MAX_VERSION), @@ -287,14 +295,6 @@ void Load_BKOR() OrderBackup *ob = new (index) OrderBackup(); SlObject(ob, GetOrderBackupDescription()); } - - /* Only load order-backups for network clients. - * If we are a network server or not networking, then we just loaded - * a previously saved-by-server savegame. There are - * no clients with a backup anymore, so clear it. */ - if (!_networking || _network_server) { - _order_backup_pool.CleanPool(); - } } static void Ptrs_BKOR() diff --git a/src/saveload/saveload.cpp b/src/saveload/saveload.cpp index ab3e4a2904..bd3c83d139 100644 --- a/src/saveload/saveload.cpp +++ b/src/saveload/saveload.cpp @@ -49,6 +49,8 @@ #include "saveload_internal.h" #include "saveload_filter.h" +#include "../safeguards.h" + /* * Previous savegame versions, the trunk revision where they were * introduced and the released version that had that particular @@ -255,8 +257,13 @@ * 187 25899 * 188 26169 1.4.x * 189 26450 + * 190 26547 + * 191 26646 + * 192 26700 + * 193 26802 + * 194 26881 1.5.x */ -extern const uint16 SAVEGAME_VERSION = 189; ///< Current savegame version of OpenTTD. +extern const uint16 SAVEGAME_VERSION = 194; ///< Current savegame version of OpenTTD. SavegameType _savegame_type; ///< type of savegame we are loading @@ -525,11 +532,11 @@ void NORETURN SlError(StringID string, const char *extra_msg) if (_sl.action == SLA_LOAD_CHECK) { _load_check_data.error = string; free(_load_check_data.error_data); - _load_check_data.error_data = (extra_msg == NULL) ? NULL : strdup(extra_msg); + _load_check_data.error_data = (extra_msg == NULL) ? NULL : stredup(extra_msg); } else { _sl.error_str = string; free(_sl.extra_msg); - _sl.extra_msg = (extra_msg == NULL) ? NULL : strdup(extra_msg); + _sl.extra_msg = (extra_msg == NULL) ? NULL : stredup(extra_msg); } /* We have to NULL all pointers here; we might be in a state where @@ -671,7 +678,11 @@ static uint SlReadSimpleGamma() if (HasBit(i, 5)) { i &= ~0x20; if (HasBit(i, 4)) { - SlErrorCorrupt("Unsupported gamma"); + i &= ~0x10; + if (HasBit(i, 3)) { + SlErrorCorrupt("Unsupported gamma"); + } + i = SlReadByte(); // 32 bits only. } i = (i << 8) | SlReadByte(); } @@ -691,6 +702,11 @@ static uint SlReadSimpleGamma() * 10xxxxxx xxxxxxxx * 110xxxxx xxxxxxxx xxxxxxxx * 1110xxxx xxxxxxxx xxxxxxxx xxxxxxxx + * 11110--- xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx + * We could extend the scheme ad infinum to support arbitrarily + * large chunks, but as sizeof(size_t) == 4 is still very common + * we don't support anything above 32 bits. That's why in the last + * case the 3 most significant bits are unused. * @param i Index being written */ @@ -699,8 +715,13 @@ static void SlWriteSimpleGamma(size_t i) if (i >= (1 << 7)) { if (i >= (1 << 14)) { if (i >= (1 << 21)) { - assert(i < (1 << 28)); - SlWriteByte((byte)(0xE0 | (i >> 24))); + if (i >= (1 << 28)) { + assert(i <= UINT32_MAX); // We can only support 32 bits for now. + SlWriteByte((byte)(0xF0)); + SlWriteByte((byte)(i >> 24)); + } else { + SlWriteByte((byte)(0xE0 | (i >> 24))); + } SlWriteByte((byte)(i >> 16)); } else { SlWriteByte((byte)(0xC0 | (i >> 16))); @@ -716,7 +737,7 @@ static void SlWriteSimpleGamma(size_t i) /** Return how many bytes used to encode a gamma value */ static inline uint SlGetGammaLength(size_t i) { - return 1 + (i >= (1 << 7)) + (i >= (1 << 14)) + (i >= (1 << 21)); + return 1 + (i >= (1 << 7)) + (i >= (1 << 14)) + (i >= (1 << 21)) + (i >= (1 << 28)); } static inline uint SlReadSparseIndex() @@ -1461,9 +1482,50 @@ size_t SlCalcObjMemberLength(const void *object, const SaveLoad *sld) return 0; } +/** + * Check whether the variable size of the variable in the saveload configuration + * matches with the actual variable size. + * @param sld The saveload configuration to test. + */ +static bool IsVariableSizeRight(const SaveLoad *sld) +{ + switch (sld->cmd) { + case SL_VAR: + switch (GetVarMemType(sld->conv)) { + case SLE_VAR_BL: + return sld->size == sizeof(bool); + case SLE_VAR_I8: + case SLE_VAR_U8: + return sld->size == sizeof(int8); + case SLE_VAR_I16: + case SLE_VAR_U16: + return sld->size == sizeof(int16); + case SLE_VAR_I32: + case SLE_VAR_U32: + return sld->size == sizeof(int32); + case SLE_VAR_I64: + case SLE_VAR_U64: + return sld->size == sizeof(int64); + default: + return sld->size == sizeof(void *); + } + case SL_REF: + /* These should all be pointer sized. */ + return sld->size == sizeof(void *); + + case SL_STR: + /* These should be pointer sized, or fixed array. */ + return sld->size == sizeof(void *) || sld->size == sld->length; + + default: + return true; + } +} bool SlObjectMember(void *ptr, const SaveLoad *sld) { + assert(IsVariableSizeRight(sld)); + VarType conv = GB(sld->conv, 0, 8); switch (sld->cmd) { case SL_VAR: @@ -1605,9 +1667,11 @@ static void SlLoadChunk(const ChunkHandler *ch) case CH_ARRAY: _sl.array_index = 0; ch->load_proc(); + if (_next_offs != 0) SlErrorCorrupt("Invalid array length"); break; case CH_SPARSE_ARRAY: ch->load_proc(); + if (_next_offs != 0) SlErrorCorrupt("Invalid array length"); break; default: if ((m & 0xF) == CH_RIFF) { @@ -2612,7 +2676,7 @@ static SaveOrLoadResult DoLoad(LoadFilter *reader, bool load_check) /* loader for this savegame type is not implemented? */ if (fmt->init_load == NULL) { char err_str[64]; - snprintf(err_str, lengthof(err_str), "Loader for '%s' is not available.", fmt->name); + seprintf(err_str, lastof(err_str), "Loader for '%s' is not available.", fmt->name); SlError(STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR, err_str); } @@ -2728,9 +2792,9 @@ SaveOrLoadResult SaveOrLoad(const char *filename, int mode, Subdirectory sb, boo InitializeGame(256, 256, true, true); // set a mapsize of 256x256 for TTDPatch games or it might get confused /* TTD/TTO savegames have no NewGRFs, TTDP savegame have them - * and if so a new NewGRF list will be made in LoadOldSaveGame. - * Note: this is done here because AfterLoadGame is also called - * for OTTD savegames which have their own NewGRF logic. */ + * and if so a new NewGRF list will be made in LoadOldSaveGame. + * Note: this is done here because AfterLoadGame is also called + * for OTTD savegames which have their own NewGRF logic. */ ClearGRFConfigList(&_grfconfig); GamelogReset(); if (!LoadOldSaveGame(filename)) return SL_REINIT; diff --git a/src/saveload/saveload.h b/src/saveload/saveload.h index 1ad8850093..72c51fa69d 100644 --- a/src/saveload/saveload.h +++ b/src/saveload/saveload.h @@ -212,6 +212,7 @@ struct SaveLoad { * during runtime. Decision on which one to use is controlled by the function * that is called to save it. address: global=true, offset: global=false */ void *address; ///< address of variable OR offset of variable in the struct (max offset is 65536) + size_t size; ///< the sizeof size. }; /** Same as #SaveLoad but global variables are used (for better readability); */ @@ -227,7 +228,7 @@ typedef SaveLoad SaveLoadGlobVarList; * @param to Last savegame version that has the field. * @note In general, it is better to use one of the SLE_* macros below. */ -#define SLE_GENERAL(cmd, base, variable, type, length, from, to) {false, cmd, type, length, from, to, (void*)cpp_offsetof(base, variable)} +#define SLE_GENERAL(cmd, base, variable, type, length, from, to) {false, cmd, type, length, from, to, (void*)cpp_offsetof(base, variable), cpp_sizeof(base, variable)} /** * Storage of a variable in some savegame versions. @@ -340,11 +341,11 @@ typedef SaveLoad SaveLoadGlobVarList; /** Translate values ingame to different values in the savegame and vv. */ #define SLE_WRITEBYTE(base, variable, value) SLE_GENERAL(SL_WRITEBYTE, base, variable, 0, 0, value, value) -#define SLE_VEH_INCLUDE() {false, SL_VEH_INCLUDE, 0, 0, 0, SL_MAX_VERSION, NULL} -#define SLE_ST_INCLUDE() {false, SL_ST_INCLUDE, 0, 0, 0, SL_MAX_VERSION, NULL} +#define SLE_VEH_INCLUDE() {false, SL_VEH_INCLUDE, 0, 0, 0, SL_MAX_VERSION, NULL, 0} +#define SLE_ST_INCLUDE() {false, SL_ST_INCLUDE, 0, 0, 0, SL_MAX_VERSION, NULL, 0} /** End marker of a struct/class save or load. */ -#define SLE_END() {false, SL_END, 0, 0, 0, 0, NULL} +#define SLE_END() {false, SL_END, 0, 0, 0, 0, NULL, 0} /** * Storage of global simple variables, references (pointers), and arrays. @@ -355,7 +356,7 @@ typedef SaveLoad SaveLoadGlobVarList; * @param to Last savegame version that has the field. * @note In general, it is better to use one of the SLEG_* macros below. */ -#define SLEG_GENERAL(cmd, variable, type, length, from, to) {true, cmd, type, length, from, to, (void*)&variable} +#define SLEG_GENERAL(cmd, variable, type, length, from, to) {true, cmd, type, length, from, to, (void*)&variable, sizeof(variable)} /** * Storage of a global variable in some savegame versions. @@ -448,7 +449,7 @@ typedef SaveLoad SaveLoadGlobVarList; #define SLEG_CONDNULL(length, from, to) {true, SL_ARR, SLE_FILE_U8 | SLE_VAR_NULL | SLF_NOT_IN_CONFIG, length, from, to, (void*)NULL} /** End marker of global variables save or load. */ -#define SLEG_END() {true, SL_END, 0, 0, 0, 0, NULL} +#define SLEG_END() {true, SL_END, 0, 0, 0, 0, NULL, 0} /** * Checks whether the savegame is below \a major.\a minor. diff --git a/src/saveload/signs_sl.cpp b/src/saveload/signs_sl.cpp index d5ea26d65d..d5bacd509c 100644 --- a/src/saveload/signs_sl.cpp +++ b/src/saveload/signs_sl.cpp @@ -15,6 +15,8 @@ #include "saveload.h" +#include "../safeguards.h" + /** Description of a sign within the savegame. */ static const SaveLoad _sign_desc[] = { SLE_CONDVAR(Sign, name, SLE_NAME, 0, 83), diff --git a/src/saveload/station_sl.cpp b/src/saveload/station_sl.cpp index 71e3b31ec7..3db5e1f5f8 100644 --- a/src/saveload/station_sl.cpp +++ b/src/saveload/station_sl.cpp @@ -19,6 +19,8 @@ #include "saveload.h" #include "table/strings.h" +#include "../safeguards.h" + /** * Update the buoy orders to be waypoint orders. * @param o the order 'list' to check. @@ -93,7 +95,7 @@ void MoveBuoysToWaypoints() TILE_AREA_LOOP(t, train_st) { if (!IsTileType(t, MP_STATION) || GetStationIndex(t) != index) continue; - SB(_m[t].m6, 3, 3, STATION_WAYPOINT); + SB(_me[t].m6, 3, 3, STATION_WAYPOINT); wp->rect.BeforeAddTile(t, StationRect::ADD_FORCE); } @@ -265,7 +267,7 @@ const SaveLoad *GetGoodsDesc() { static const SaveLoad goods_desc[] = { SLEG_CONDVAR( _waiting_acceptance, SLE_UINT16, 0, 67), - SLE_CONDVAR(GoodsEntry, acceptance_pickup, SLE_UINT8, 68, SL_MAX_VERSION), + SLE_CONDVAR(GoodsEntry, status, SLE_UINT8, 68, SL_MAX_VERSION), SLE_CONDNULL(2, 51, 67), SLE_VAR(GoodsEntry, time_since_pickup, SLE_UINT8), SLE_VAR(GoodsEntry, rating, SLE_UINT8), @@ -337,7 +339,7 @@ static void Load_STNS() SlObject(ge, GetGoodsDesc()); SwapPackets(ge); if (IsSavegameVersionBefore(68)) { - SB(ge->acceptance_pickup, GoodsEntry::GES_ACCEPTANCE, 1, HasBit(_waiting_acceptance, 15)); + SB(ge->status, GoodsEntry::GES_ACCEPTANCE, 1, HasBit(_waiting_acceptance, 15)); if (GB(_waiting_acceptance, 0, 12) != 0) { /* In old versions, enroute_from used 0xFF as INVALID_STATION */ StationID source = (IsSavegameVersionBefore(7) && _cargo_source == 0xFF) ? INVALID_STATION : _cargo_source; @@ -351,7 +353,7 @@ static void Load_STNS() /* Don't construct the packet with station here, because that'll fail with old savegames */ CargoPacket *cp = new CargoPacket(GB(_waiting_acceptance, 0, 12), _cargo_days, source, _cargo_source_xy, _cargo_source_xy, _cargo_feeder_share); ge->cargo.Append(cp, INVALID_STATION); - SB(ge->acceptance_pickup, GoodsEntry::GES_PICKUP, 1, 1); + SB(ge->status, GoodsEntry::GES_RATING, 1, 1); } } } @@ -539,7 +541,7 @@ static void Load_STNN() for (uint32 j = 0; j < _num_flows; ++j) { SlObject(&flow, _flow_desc); if (fs == NULL || prev_source != flow.source) { - fs = &(st->goods[i].flows.insert(std::make_pair(flow.source, FlowStat(flow.via, flow.share))).first->second); + fs = &(st->goods[i].flows.insert(std::make_pair(flow.source, FlowStat(flow.via, flow.share, flow.restricted))).first->second); } else { fs->AppendShare(flow.via, flow.share, flow.restricted); } diff --git a/src/saveload/storage_sl.cpp b/src/saveload/storage_sl.cpp index d35fa7cc94..110df63a7c 100644 --- a/src/saveload/storage_sl.cpp +++ b/src/saveload/storage_sl.cpp @@ -13,6 +13,8 @@ #include "../newgrf_storage.h" #include "saveload.h" +#include "../safeguards.h" + /** Description of the data to save and load in #PersistentStorage. */ static const SaveLoad _storage_desc[] = { SLE_CONDVAR(PersistentStorage, grfid, SLE_UINT32, 6, SL_MAX_VERSION), diff --git a/src/saveload/story_sl.cpp b/src/saveload/story_sl.cpp index 310f96fcb8..87e3720a62 100644 --- a/src/saveload/story_sl.cpp +++ b/src/saveload/story_sl.cpp @@ -14,6 +14,8 @@ #include "saveload.h" +#include "../safeguards.h" + /** Called after load to trash broken pages. */ void AfterLoadStoryBook() { diff --git a/src/saveload/strings_sl.cpp b/src/saveload/strings_sl.cpp index b1cc50d460..73f2a1e2e1 100644 --- a/src/saveload/strings_sl.cpp +++ b/src/saveload/strings_sl.cpp @@ -15,6 +15,8 @@ #include "table/strings.h" +#include "../safeguards.h" + static const int NUM_OLD_STRINGS = 512; ///< The number of custom strings stored in old savegames. static const int LEN_OLD_STRINGS = 32; ///< The number of characters per string. static const int LEN_OLD_STRINGS_TTO = 24; ///< The number of characters per string in TTO savegames. @@ -92,10 +94,10 @@ char *CopyFromOldName(StringID id) /* Terminate the new string and copy it back to the name array */ *strto = '\0'; - return strdup(tmp); + return stredup(tmp); } else { /* Name will already be in UTF-8. */ - return strdup(&_old_name_array[LEN_OLD_STRINGS * GB(id, 0, 9)]); + return stredup(&_old_name_array[LEN_OLD_STRINGS * GB(id, 0, 9)]); } } diff --git a/src/saveload/subsidy_sl.cpp b/src/saveload/subsidy_sl.cpp index bfdd25339f..f6d650468c 100644 --- a/src/saveload/subsidy_sl.cpp +++ b/src/saveload/subsidy_sl.cpp @@ -14,6 +14,8 @@ #include "saveload.h" +#include "../safeguards.h" + static const SaveLoad _subsidies_desc[] = { SLE_VAR(Subsidy, cargo_type, SLE_UINT8), SLE_VAR(Subsidy, remaining, SLE_UINT8), diff --git a/src/saveload/town_sl.cpp b/src/saveload/town_sl.cpp index de52604f5f..7db6a7aa6f 100644 --- a/src/saveload/town_sl.cpp +++ b/src/saveload/town_sl.cpp @@ -18,6 +18,8 @@ #include "saveload.h" #include "newgrf_sl.h" +#include "../safeguards.h" + /** * Rebuild all the cached variables of towns. */ diff --git a/src/saveload/vehicle_sl.cpp b/src/saveload/vehicle_sl.cpp index ad8ef08315..ebc5fc4215 100644 --- a/src/saveload/vehicle_sl.cpp +++ b/src/saveload/vehicle_sl.cpp @@ -19,11 +19,14 @@ #include "../effectvehicle_base.h" #include "../company_base.h" #include "../company_func.h" +#include "../disaster_vehicle.h" #include "saveload.h" #include +#include "../safeguards.h" + /** * Link front and rear multiheaded engines to each other * This is done when loading a savegame @@ -197,7 +200,8 @@ void UpdateOldAircraft() if (a->subtype == AIR_HELICOPTER) a->Next()->Next()->cur_speed = 32; /* set new position x,y,z */ - SetAircraftPosition(a, gp.x, gp.y, GetAircraftFlyingAltitude(a)); + GetAircraftFlightLevelBounds(a, &a->z_pos, NULL); + SetAircraftPosition(a, gp.x, gp.y, GetAircraftFlightLevel(a)); } } } @@ -457,8 +461,8 @@ void AfterLoadVehicles(bool part_of_load) v->UpdateDeltaXY(v->direction); v->coord.left = INVALID_COORD; - VehicleUpdatePosition(v); - VehicleUpdateViewport(v, false); + v->UpdatePosition(); + v->UpdateViewport(false); } } @@ -837,8 +841,11 @@ const SaveLoad *GetVehicleDescription(VehicleType vt) SLE_CONDVAR(Vehicle, age, SLE_INT32, 31, SL_MAX_VERSION), SLE_VAR(Vehicle, tick_counter, SLE_UINT8), - SLE_VAR(DisasterVehicle, image_override, SLE_UINT16), - SLE_VAR(DisasterVehicle, big_ufo_destroyer_target, SLE_UINT16), + SLE_CONDVAR(DisasterVehicle, image_override, SLE_FILE_U16 | SLE_VAR_U32, 0, 190), + SLE_CONDVAR(DisasterVehicle, image_override, SLE_UINT32, 191, SL_MAX_VERSION), + SLE_CONDVAR(DisasterVehicle, big_ufo_destroyer_target, SLE_FILE_U16 | SLE_VAR_U32, 0, 190), + SLE_CONDVAR(DisasterVehicle, big_ufo_destroyer_target, SLE_UINT32, 191, SL_MAX_VERSION), + SLE_CONDVAR(DisasterVehicle, flags, SLE_UINT8, 194, SL_MAX_VERSION), SLE_CONDNULL(16, 2, 143), // old reserved space diff --git a/src/saveload/waypoint_sl.cpp b/src/saveload/waypoint_sl.cpp index 6ea72ea6f2..0f93969853 100644 --- a/src/saveload/waypoint_sl.cpp +++ b/src/saveload/waypoint_sl.cpp @@ -20,6 +20,8 @@ #include "saveload_internal.h" +#include "../safeguards.h" + /** Helper structure to convert from the old waypoint system. */ struct OldWaypoint { size_t index; diff --git a/src/screenshot.cpp b/src/screenshot.cpp index 6e72dd520c..a24cc6b211 100644 --- a/src/screenshot.cpp +++ b/src/screenshot.cpp @@ -28,6 +28,8 @@ #include "table/strings.h" +#include "safeguards.h" + static const char * const SCREENSHOT_NAME = "screenshot"; ///< Default filename of a saved screenshot. static const char * const HEIGHTMAP_NAME = "heightmap"; ///< Default filename of a saved heightmap. @@ -62,10 +64,8 @@ typedef bool ScreenshotHandlerProc(const char *name, ScreenshotCallback *callb, /** Screenshot format information. */ struct ScreenshotFormat { - const char *name; ///< Name of the format. const char *extension; ///< File extension. ScreenshotHandlerProc *proc; ///< Function for writing the screenshot. - bool supports_32bpp; ///< Does this format support 32bpp images? }; /************************************************* @@ -571,10 +571,10 @@ static bool MakePCXImage(const char *name, ScreenshotCallback *callb, void *user /** Available screenshot formats. */ static const ScreenshotFormat _screenshot_formats[] = { #if defined(WITH_PNG) - {"PNG", "png", &MakePNGImage, true}, + {"png", &MakePNGImage}, #endif - {"BMP", "bmp", &MakeBMPImage, true}, - {"PCX", "pcx", &MakePCXImage, false}, + {"bmp", &MakeBMPImage}, + {"pcx", &MakePCXImage}, }; /** Get filename extension of current screenshot file format. */ @@ -597,37 +597,6 @@ void InitializeScreenshotFormats() _num_screenshot_formats = lengthof(_screenshot_formats); } -/** - * Give descriptive name of the screenshot format. - * @param i Number of the screenshot format. - * @return String constant describing the format. - */ -const char *GetScreenshotFormatDesc(int i) -{ - return _screenshot_formats[i].name; -} - -/** - * Determine whether a certain screenshot format support 32bpp images. - * @param i Number of the screenshot format. - * @return true if 32bpp is supported. - */ -bool GetScreenshotFormatSupports_32bpp(int i) -{ - return _screenshot_formats[i].supports_32bpp; -} - -/** - * Set the screenshot format to use. - * @param i Number of the format. - */ -void SetScreenshotFormat(uint i) -{ - assert(i < _num_screenshot_formats); - _cur_screenshot_format = i; - strecpy(_screenshot_format_name, _screenshot_formats[i].extension, lastof(_screenshot_format_name)); -} - /** * Callback of the screenshot generator that dumps the current video buffer. * @see ScreenshotCallback @@ -716,12 +685,12 @@ static const char *MakeScreenshotName(const char *default_fn, const char *ext, b /* Add extension to screenshot file */ size_t len = strlen(_screenshot_name); - snprintf(&_screenshot_name[len], lengthof(_screenshot_name) - len, ".%s", ext); + seprintf(&_screenshot_name[len], lastof(_screenshot_name), ".%s", ext); const char *screenshot_dir = crashlog ? _personal_dir : FiosGetScreenshotDir(); for (uint serial = 1;; serial++) { - if (snprintf(_full_screenshot_name, lengthof(_full_screenshot_name), "%s%s", screenshot_dir, _screenshot_name) >= (int)lengthof(_full_screenshot_name)) { + if (seprintf(_full_screenshot_name, lastof(_full_screenshot_name), "%s%s", screenshot_dir, _screenshot_name) >= (int)lengthof(_full_screenshot_name)) { /* We need more characters than MAX_PATH -> end with error */ _full_screenshot_name[0] = '\0'; break; @@ -729,7 +698,7 @@ static const char *MakeScreenshotName(const char *default_fn, const char *ext, b if (!generate) break; // allow overwriting of non-automatic filenames if (!FileExists(_full_screenshot_name)) break; /* If file exists try another one with same name, but just with a higher index */ - snprintf(&_screenshot_name[len], lengthof(_screenshot_name) - len, "#%u.%s", serial, ext); + seprintf(&_screenshot_name[len], lastof(_screenshot_name) - len, "#%u.%s", serial, ext); } return _full_screenshot_name; @@ -814,7 +783,7 @@ static void HeightmapCallback(void *userdata, void *buffer, uint y, uint pitch, while (n > 0) { TileIndex ti = TileXY(MapMaxX(), y); for (uint x = MapMaxX(); true; x--) { - *buf = 16 * TileHeight(ti); + *buf = 256 * TileHeight(ti) / (1 + _settings_game.construction.max_heightlevel); buf++; if (x == 0) break; ti = TILE_ADDXY(ti, -1, 0); diff --git a/src/screenshot.h b/src/screenshot.h index 7456a09de3..ee03d8aff7 100644 --- a/src/screenshot.h +++ b/src/screenshot.h @@ -14,9 +14,6 @@ void InitializeScreenshotFormats(); -const char *GetScreenshotFormatDesc(int i); -bool GetScreenshotFormatSupports_32bpp(int i); -void SetScreenshotFormat(uint i); const char *GetCurrentScreenshotExtension(); /** Type of requested screenshot */ diff --git a/src/script/api/ai/ai_list.hpp.sq b/src/script/api/ai/ai_list.hpp.sq index db724da831..201113823d 100644 --- a/src/script/api/ai/ai_list.hpp.sq +++ b/src/script/api/ai/ai_list.hpp.sq @@ -40,6 +40,7 @@ void SQAIList_Register(Squirrel *engine) SQAIList.DefSQMethod(engine, &ScriptList::SetValue, "SetValue", 3, "xii"); SQAIList.DefSQMethod(engine, &ScriptList::Sort, "Sort", 3, "xib"); SQAIList.DefSQMethod(engine, &ScriptList::AddList, "AddList", 2, "xx"); + SQAIList.DefSQMethod(engine, &ScriptList::SwapList, "SwapList", 2, "xx"); SQAIList.DefSQMethod(engine, &ScriptList::RemoveAboveValue, "RemoveAboveValue", 2, "xi"); SQAIList.DefSQMethod(engine, &ScriptList::RemoveBelowValue, "RemoveBelowValue", 2, "xi"); SQAIList.DefSQMethod(engine, &ScriptList::RemoveBetweenValue, "RemoveBetweenValue", 3, "xii"); diff --git a/src/script/api/ai/ai_station.hpp.sq b/src/script/api/ai/ai_station.hpp.sq index 8cb80a4de7..af7012d354 100644 --- a/src/script/api/ai/ai_station.hpp.sq +++ b/src/script/api/ai/ai_station.hpp.sq @@ -49,6 +49,11 @@ void SQAIStation_Register(Squirrel *engine) SQAIStation.DefSQStaticMethod(engine, &ScriptStation::GetCargoWaiting, "GetCargoWaiting", 3, ".ii"); SQAIStation.DefSQStaticMethod(engine, &ScriptStation::GetCargoWaitingFrom, "GetCargoWaitingFrom", 4, ".iii"); SQAIStation.DefSQStaticMethod(engine, &ScriptStation::GetCargoWaitingVia, "GetCargoWaitingVia", 4, ".iii"); + SQAIStation.DefSQStaticMethod(engine, &ScriptStation::GetCargoWaitingFromVia, "GetCargoWaitingFromVia", 5, ".iiii"); + SQAIStation.DefSQStaticMethod(engine, &ScriptStation::GetCargoPlanned, "GetCargoPlanned", 3, ".ii"); + SQAIStation.DefSQStaticMethod(engine, &ScriptStation::GetCargoPlannedFrom, "GetCargoPlannedFrom", 4, ".iii"); + SQAIStation.DefSQStaticMethod(engine, &ScriptStation::GetCargoPlannedVia, "GetCargoPlannedVia", 4, ".iii"); + SQAIStation.DefSQStaticMethod(engine, &ScriptStation::GetCargoPlannedFromVia, "GetCargoPlannedFromVia", 5, ".iiii"); SQAIStation.DefSQStaticMethod(engine, &ScriptStation::HasCargoRating, "HasCargoRating", 3, ".ii"); SQAIStation.DefSQStaticMethod(engine, &ScriptStation::GetCargoRating, "GetCargoRating", 3, ".ii"); SQAIStation.DefSQStaticMethod(engine, &ScriptStation::GetCoverageRadius, "GetCoverageRadius", 2, ".i"); diff --git a/src/script/api/ai/ai_stationlist.hpp.sq b/src/script/api/ai/ai_stationlist.hpp.sq index 998e89cc1e..93a8c6e767 100644 --- a/src/script/api/ai/ai_stationlist.hpp.sq +++ b/src/script/api/ai/ai_stationlist.hpp.sq @@ -25,6 +25,145 @@ void SQAIStationList_Register(Squirrel *engine) } +template <> const char *GetClassName() { return "AIStationList_Cargo"; } + +void SQAIStationList_Cargo_Register(Squirrel *engine) +{ + DefSQClass SQAIStationList_Cargo("AIStationList_Cargo"); + SQAIStationList_Cargo.PreRegister(engine, "AIList"); + SQAIStationList_Cargo.AddConstructor(engine, "xiiiii"); + + SQAIStationList_Cargo.DefSQConst(engine, ScriptStationList_Cargo::CS_BY_FROM, "CS_BY_FROM"); + SQAIStationList_Cargo.DefSQConst(engine, ScriptStationList_Cargo::CS_VIA_BY_FROM, "CS_VIA_BY_FROM"); + SQAIStationList_Cargo.DefSQConst(engine, ScriptStationList_Cargo::CS_BY_VIA, "CS_BY_VIA"); + SQAIStationList_Cargo.DefSQConst(engine, ScriptStationList_Cargo::CS_FROM_BY_VIA, "CS_FROM_BY_VIA"); + SQAIStationList_Cargo.DefSQConst(engine, ScriptStationList_Cargo::CM_WAITING, "CM_WAITING"); + SQAIStationList_Cargo.DefSQConst(engine, ScriptStationList_Cargo::CM_PLANNED, "CM_PLANNED"); + + SQAIStationList_Cargo.PostRegister(engine); +} + + +template <> const char *GetClassName() { return "AIStationList_CargoWaiting"; } + +void SQAIStationList_CargoWaiting_Register(Squirrel *engine) +{ + DefSQClass SQAIStationList_CargoWaiting("AIStationList_CargoWaiting"); + SQAIStationList_CargoWaiting.PreRegister(engine, "AIStationList_Cargo"); + SQAIStationList_CargoWaiting.AddConstructor(engine, "xiiii"); + + SQAIStationList_CargoWaiting.PostRegister(engine); +} + + +template <> const char *GetClassName() { return "AIStationList_CargoPlanned"; } + +void SQAIStationList_CargoPlanned_Register(Squirrel *engine) +{ + DefSQClass SQAIStationList_CargoPlanned("AIStationList_CargoPlanned"); + SQAIStationList_CargoPlanned.PreRegister(engine, "AIStationList_Cargo"); + SQAIStationList_CargoPlanned.AddConstructor(engine, "xiiii"); + + SQAIStationList_CargoPlanned.PostRegister(engine); +} + + +template <> const char *GetClassName() { return "AIStationList_CargoWaitingByFrom"; } + +void SQAIStationList_CargoWaitingByFrom_Register(Squirrel *engine) +{ + DefSQClass SQAIStationList_CargoWaitingByFrom("AIStationList_CargoWaitingByFrom"); + SQAIStationList_CargoWaitingByFrom.PreRegister(engine, "AIStationList_CargoWaiting"); + SQAIStationList_CargoWaitingByFrom.AddConstructor(engine, "xii"); + + SQAIStationList_CargoWaitingByFrom.PostRegister(engine); +} + + +template <> const char *GetClassName() { return "AIStationList_CargoWaitingViaByFrom"; } + +void SQAIStationList_CargoWaitingViaByFrom_Register(Squirrel *engine) +{ + DefSQClass SQAIStationList_CargoWaitingViaByFrom("AIStationList_CargoWaitingViaByFrom"); + SQAIStationList_CargoWaitingViaByFrom.PreRegister(engine, "AIStationList_CargoWaiting"); + SQAIStationList_CargoWaitingViaByFrom.AddConstructor(engine, "xiii"); + + SQAIStationList_CargoWaitingViaByFrom.PostRegister(engine); +} + + +template <> const char *GetClassName() { return "AIStationList_CargoWaitingByVia"; } + +void SQAIStationList_CargoWaitingByVia_Register(Squirrel *engine) +{ + DefSQClass SQAIStationList_CargoWaitingByVia("AIStationList_CargoWaitingByVia"); + SQAIStationList_CargoWaitingByVia.PreRegister(engine, "AIStationList_CargoWaiting"); + SQAIStationList_CargoWaitingByVia.AddConstructor(engine, "xii"); + + SQAIStationList_CargoWaitingByVia.PostRegister(engine); +} + + +template <> const char *GetClassName() { return "AIStationList_CargoWaitingFromByVia"; } + +void SQAIStationList_CargoWaitingFromByVia_Register(Squirrel *engine) +{ + DefSQClass SQAIStationList_CargoWaitingFromByVia("AIStationList_CargoWaitingFromByVia"); + SQAIStationList_CargoWaitingFromByVia.PreRegister(engine, "AIStationList_CargoWaiting"); + SQAIStationList_CargoWaitingFromByVia.AddConstructor(engine, "xiii"); + + SQAIStationList_CargoWaitingFromByVia.PostRegister(engine); +} + + +template <> const char *GetClassName() { return "AIStationList_CargoPlannedByFrom"; } + +void SQAIStationList_CargoPlannedByFrom_Register(Squirrel *engine) +{ + DefSQClass SQAIStationList_CargoPlannedByFrom("AIStationList_CargoPlannedByFrom"); + SQAIStationList_CargoPlannedByFrom.PreRegister(engine, "AIStationList_CargoPlanned"); + SQAIStationList_CargoPlannedByFrom.AddConstructor(engine, "xii"); + + SQAIStationList_CargoPlannedByFrom.PostRegister(engine); +} + + +template <> const char *GetClassName() { return "AIStationList_CargoPlannedViaByFrom"; } + +void SQAIStationList_CargoPlannedViaByFrom_Register(Squirrel *engine) +{ + DefSQClass SQAIStationList_CargoPlannedViaByFrom("AIStationList_CargoPlannedViaByFrom"); + SQAIStationList_CargoPlannedViaByFrom.PreRegister(engine, "AIStationList_CargoPlanned"); + SQAIStationList_CargoPlannedViaByFrom.AddConstructor(engine, "xiii"); + + SQAIStationList_CargoPlannedViaByFrom.PostRegister(engine); +} + + +template <> const char *GetClassName() { return "AIStationList_CargoPlannedByVia"; } + +void SQAIStationList_CargoPlannedByVia_Register(Squirrel *engine) +{ + DefSQClass SQAIStationList_CargoPlannedByVia("AIStationList_CargoPlannedByVia"); + SQAIStationList_CargoPlannedByVia.PreRegister(engine, "AIStationList_CargoPlanned"); + SQAIStationList_CargoPlannedByVia.AddConstructor(engine, "xii"); + + SQAIStationList_CargoPlannedByVia.PostRegister(engine); +} + + +template <> const char *GetClassName() { return "AIStationList_CargoPlannedFromByVia"; } + +void SQAIStationList_CargoPlannedFromByVia_Register(Squirrel *engine) +{ + DefSQClass SQAIStationList_CargoPlannedFromByVia("AIStationList_CargoPlannedFromByVia"); + SQAIStationList_CargoPlannedFromByVia.PreRegister(engine, "AIStationList_CargoPlanned"); + SQAIStationList_CargoPlannedFromByVia.AddConstructor(engine, "xiii"); + + SQAIStationList_CargoPlannedFromByVia.PostRegister(engine); +} + + template <> const char *GetClassName() { return "AIStationList_Vehicle"; } void SQAIStationList_Vehicle_Register(Squirrel *engine) diff --git a/src/script/api/ai_changelog.hpp b/src/script/api/ai_changelog.hpp index 7df7027abf..0cf57fe0ff 100644 --- a/src/script/api/ai_changelog.hpp +++ b/src/script/api/ai_changelog.hpp @@ -15,14 +15,46 @@ * functions may still be available if you return an older API version * in GetAPIVersion() in info.nut. * + * \b 1.6.0 + * + * 1.6.0 is not yet released. The following changes are not set in stone yet. + * * \b 1.5.0 * - * 1.5.0 is not yet released. The following changes are not set in stone yet. + * API additions: + * \li AIList::SwapList + * \li AIStation::GetCargoPlanned + * \li AIStation::GetCargoPlannedFrom + * \li AIStation::GetCargoPlannedFromVia + * \li AIStation::GetCargoPlannedVia + * \li AIStation::GetCargoWaitingFromVia + * \li AIStationList_CargoPlannedByFrom + * \li AIStationList_CargoPlannedByVia + * \li AIStationList_CargoPlannedFromByVia + * \li AIStationList_CargoPlannedViaByFrom + * \li AIStationList_CargoWaitingByFrom + * \li AIStationList_CargoWaitingByVia + * \li AIStationList_CargoWaitingFromByVia + * \li AIStationList_CargoWaitingViaByFrom + * + * \b 1.4.4 + * + * No changes + * + * \b 1.4.3 + * + * No changes + * + * \b 1.4.2 + * + * No changes + * + * \b 1.4.1 + * + * No changes * * \b 1.4.0 * - * 1.4.0 is not yet released. The following changes are not set in stone yet. - * * API additions: * \li AICargo::GetDistributionType * \li AIDate::DATE_INVALID diff --git a/src/script/api/game/game_list.hpp.sq b/src/script/api/game/game_list.hpp.sq index 03049b314f..a46696def5 100644 --- a/src/script/api/game/game_list.hpp.sq +++ b/src/script/api/game/game_list.hpp.sq @@ -40,6 +40,7 @@ void SQGSList_Register(Squirrel *engine) SQGSList.DefSQMethod(engine, &ScriptList::SetValue, "SetValue", 3, "xii"); SQGSList.DefSQMethod(engine, &ScriptList::Sort, "Sort", 3, "xib"); SQGSList.DefSQMethod(engine, &ScriptList::AddList, "AddList", 2, "xx"); + SQGSList.DefSQMethod(engine, &ScriptList::SwapList, "SwapList", 2, "xx"); SQGSList.DefSQMethod(engine, &ScriptList::RemoveAboveValue, "RemoveAboveValue", 2, "xi"); SQGSList.DefSQMethod(engine, &ScriptList::RemoveBelowValue, "RemoveBelowValue", 2, "xi"); SQGSList.DefSQMethod(engine, &ScriptList::RemoveBetweenValue, "RemoveBetweenValue", 3, "xii"); diff --git a/src/script/api/game/game_news.hpp.sq b/src/script/api/game/game_news.hpp.sq index 70416f6b7c..3d7022e10e 100644 --- a/src/script/api/game/game_news.hpp.sq +++ b/src/script/api/game/game_news.hpp.sq @@ -28,8 +28,13 @@ void SQGSNews_Register(Squirrel *engine) SQGSNews.DefSQConst(engine, ScriptNews::NT_ACCEPTANCE, "NT_ACCEPTANCE"); SQGSNews.DefSQConst(engine, ScriptNews::NT_SUBSIDIES, "NT_SUBSIDIES"); SQGSNews.DefSQConst(engine, ScriptNews::NT_GENERAL, "NT_GENERAL"); + SQGSNews.DefSQConst(engine, ScriptNews::NR_NONE, "NR_NONE"); + SQGSNews.DefSQConst(engine, ScriptNews::NR_TILE, "NR_TILE"); + SQGSNews.DefSQConst(engine, ScriptNews::NR_STATION, "NR_STATION"); + SQGSNews.DefSQConst(engine, ScriptNews::NR_INDUSTRY, "NR_INDUSTRY"); + SQGSNews.DefSQConst(engine, ScriptNews::NR_TOWN, "NR_TOWN"); - SQGSNews.DefSQStaticMethod(engine, &ScriptNews::Create, "Create", 4, ".i.i"); + SQGSNews.DefSQStaticMethod(engine, &ScriptNews::Create, "Create", 6, ".i.iii"); SQGSNews.PostRegister(engine); } diff --git a/src/script/api/game/game_station.hpp.sq b/src/script/api/game/game_station.hpp.sq index ddaa4c5753..e3a7425caa 100644 --- a/src/script/api/game/game_station.hpp.sq +++ b/src/script/api/game/game_station.hpp.sq @@ -50,6 +50,11 @@ void SQGSStation_Register(Squirrel *engine) SQGSStation.DefSQStaticMethod(engine, &ScriptStation::GetCargoWaiting, "GetCargoWaiting", 3, ".ii"); SQGSStation.DefSQStaticMethod(engine, &ScriptStation::GetCargoWaitingFrom, "GetCargoWaitingFrom", 4, ".iii"); SQGSStation.DefSQStaticMethod(engine, &ScriptStation::GetCargoWaitingVia, "GetCargoWaitingVia", 4, ".iii"); + SQGSStation.DefSQStaticMethod(engine, &ScriptStation::GetCargoWaitingFromVia, "GetCargoWaitingFromVia", 5, ".iiii"); + SQGSStation.DefSQStaticMethod(engine, &ScriptStation::GetCargoPlanned, "GetCargoPlanned", 3, ".ii"); + SQGSStation.DefSQStaticMethod(engine, &ScriptStation::GetCargoPlannedFrom, "GetCargoPlannedFrom", 4, ".iii"); + SQGSStation.DefSQStaticMethod(engine, &ScriptStation::GetCargoPlannedVia, "GetCargoPlannedVia", 4, ".iii"); + SQGSStation.DefSQStaticMethod(engine, &ScriptStation::GetCargoPlannedFromVia, "GetCargoPlannedFromVia", 5, ".iiii"); SQGSStation.DefSQStaticMethod(engine, &ScriptStation::HasCargoRating, "HasCargoRating", 3, ".ii"); SQGSStation.DefSQStaticMethod(engine, &ScriptStation::GetCargoRating, "GetCargoRating", 3, ".ii"); SQGSStation.DefSQStaticMethod(engine, &ScriptStation::GetCoverageRadius, "GetCoverageRadius", 2, ".i"); diff --git a/src/script/api/game/game_stationlist.hpp.sq b/src/script/api/game/game_stationlist.hpp.sq index 65138964ff..a3cdfaa967 100644 --- a/src/script/api/game/game_stationlist.hpp.sq +++ b/src/script/api/game/game_stationlist.hpp.sq @@ -25,6 +25,145 @@ void SQGSStationList_Register(Squirrel *engine) } +template <> const char *GetClassName() { return "GSStationList_Cargo"; } + +void SQGSStationList_Cargo_Register(Squirrel *engine) +{ + DefSQClass SQGSStationList_Cargo("GSStationList_Cargo"); + SQGSStationList_Cargo.PreRegister(engine, "GSList"); + SQGSStationList_Cargo.AddConstructor(engine, "xiiiii"); + + SQGSStationList_Cargo.DefSQConst(engine, ScriptStationList_Cargo::CS_BY_FROM, "CS_BY_FROM"); + SQGSStationList_Cargo.DefSQConst(engine, ScriptStationList_Cargo::CS_VIA_BY_FROM, "CS_VIA_BY_FROM"); + SQGSStationList_Cargo.DefSQConst(engine, ScriptStationList_Cargo::CS_BY_VIA, "CS_BY_VIA"); + SQGSStationList_Cargo.DefSQConst(engine, ScriptStationList_Cargo::CS_FROM_BY_VIA, "CS_FROM_BY_VIA"); + SQGSStationList_Cargo.DefSQConst(engine, ScriptStationList_Cargo::CM_WAITING, "CM_WAITING"); + SQGSStationList_Cargo.DefSQConst(engine, ScriptStationList_Cargo::CM_PLANNED, "CM_PLANNED"); + + SQGSStationList_Cargo.PostRegister(engine); +} + + +template <> const char *GetClassName() { return "GSStationList_CargoWaiting"; } + +void SQGSStationList_CargoWaiting_Register(Squirrel *engine) +{ + DefSQClass SQGSStationList_CargoWaiting("GSStationList_CargoWaiting"); + SQGSStationList_CargoWaiting.PreRegister(engine, "GSStationList_Cargo"); + SQGSStationList_CargoWaiting.AddConstructor(engine, "xiiii"); + + SQGSStationList_CargoWaiting.PostRegister(engine); +} + + +template <> const char *GetClassName() { return "GSStationList_CargoPlanned"; } + +void SQGSStationList_CargoPlanned_Register(Squirrel *engine) +{ + DefSQClass SQGSStationList_CargoPlanned("GSStationList_CargoPlanned"); + SQGSStationList_CargoPlanned.PreRegister(engine, "GSStationList_Cargo"); + SQGSStationList_CargoPlanned.AddConstructor(engine, "xiiii"); + + SQGSStationList_CargoPlanned.PostRegister(engine); +} + + +template <> const char *GetClassName() { return "GSStationList_CargoWaitingByFrom"; } + +void SQGSStationList_CargoWaitingByFrom_Register(Squirrel *engine) +{ + DefSQClass SQGSStationList_CargoWaitingByFrom("GSStationList_CargoWaitingByFrom"); + SQGSStationList_CargoWaitingByFrom.PreRegister(engine, "GSStationList_CargoWaiting"); + SQGSStationList_CargoWaitingByFrom.AddConstructor(engine, "xii"); + + SQGSStationList_CargoWaitingByFrom.PostRegister(engine); +} + + +template <> const char *GetClassName() { return "GSStationList_CargoWaitingViaByFrom"; } + +void SQGSStationList_CargoWaitingViaByFrom_Register(Squirrel *engine) +{ + DefSQClass SQGSStationList_CargoWaitingViaByFrom("GSStationList_CargoWaitingViaByFrom"); + SQGSStationList_CargoWaitingViaByFrom.PreRegister(engine, "GSStationList_CargoWaiting"); + SQGSStationList_CargoWaitingViaByFrom.AddConstructor(engine, "xiii"); + + SQGSStationList_CargoWaitingViaByFrom.PostRegister(engine); +} + + +template <> const char *GetClassName() { return "GSStationList_CargoWaitingByVia"; } + +void SQGSStationList_CargoWaitingByVia_Register(Squirrel *engine) +{ + DefSQClass SQGSStationList_CargoWaitingByVia("GSStationList_CargoWaitingByVia"); + SQGSStationList_CargoWaitingByVia.PreRegister(engine, "GSStationList_CargoWaiting"); + SQGSStationList_CargoWaitingByVia.AddConstructor(engine, "xii"); + + SQGSStationList_CargoWaitingByVia.PostRegister(engine); +} + + +template <> const char *GetClassName() { return "GSStationList_CargoWaitingFromByVia"; } + +void SQGSStationList_CargoWaitingFromByVia_Register(Squirrel *engine) +{ + DefSQClass SQGSStationList_CargoWaitingFromByVia("GSStationList_CargoWaitingFromByVia"); + SQGSStationList_CargoWaitingFromByVia.PreRegister(engine, "GSStationList_CargoWaiting"); + SQGSStationList_CargoWaitingFromByVia.AddConstructor(engine, "xiii"); + + SQGSStationList_CargoWaitingFromByVia.PostRegister(engine); +} + + +template <> const char *GetClassName() { return "GSStationList_CargoPlannedByFrom"; } + +void SQGSStationList_CargoPlannedByFrom_Register(Squirrel *engine) +{ + DefSQClass SQGSStationList_CargoPlannedByFrom("GSStationList_CargoPlannedByFrom"); + SQGSStationList_CargoPlannedByFrom.PreRegister(engine, "GSStationList_CargoPlanned"); + SQGSStationList_CargoPlannedByFrom.AddConstructor(engine, "xii"); + + SQGSStationList_CargoPlannedByFrom.PostRegister(engine); +} + + +template <> const char *GetClassName() { return "GSStationList_CargoPlannedViaByFrom"; } + +void SQGSStationList_CargoPlannedViaByFrom_Register(Squirrel *engine) +{ + DefSQClass SQGSStationList_CargoPlannedViaByFrom("GSStationList_CargoPlannedViaByFrom"); + SQGSStationList_CargoPlannedViaByFrom.PreRegister(engine, "GSStationList_CargoPlanned"); + SQGSStationList_CargoPlannedViaByFrom.AddConstructor(engine, "xiii"); + + SQGSStationList_CargoPlannedViaByFrom.PostRegister(engine); +} + + +template <> const char *GetClassName() { return "GSStationList_CargoPlannedByVia"; } + +void SQGSStationList_CargoPlannedByVia_Register(Squirrel *engine) +{ + DefSQClass SQGSStationList_CargoPlannedByVia("GSStationList_CargoPlannedByVia"); + SQGSStationList_CargoPlannedByVia.PreRegister(engine, "GSStationList_CargoPlanned"); + SQGSStationList_CargoPlannedByVia.AddConstructor(engine, "xii"); + + SQGSStationList_CargoPlannedByVia.PostRegister(engine); +} + + +template <> const char *GetClassName() { return "GSStationList_CargoPlannedFromByVia"; } + +void SQGSStationList_CargoPlannedFromByVia_Register(Squirrel *engine) +{ + DefSQClass SQGSStationList_CargoPlannedFromByVia("GSStationList_CargoPlannedFromByVia"); + SQGSStationList_CargoPlannedFromByVia.PreRegister(engine, "GSStationList_CargoPlanned"); + SQGSStationList_CargoPlannedFromByVia.AddConstructor(engine, "xiii"); + + SQGSStationList_CargoPlannedFromByVia.PostRegister(engine); +} + + template <> const char *GetClassName() { return "GSStationList_Vehicle"; } void SQGSStationList_Vehicle_Register(Squirrel *engine) diff --git a/src/script/api/game/game_window.hpp.sq b/src/script/api/game/game_window.hpp.sq index 0439a3a97d..23627ca665 100644 --- a/src/script/api/game/game_window.hpp.sq +++ b/src/script/api/game/game_window.hpp.sq @@ -137,6 +137,7 @@ void SQGSWindow_Register(Squirrel *engine) SQGSWindow.DefSQConst(engine, ScriptWindow::WC_NEWGRF_INSPECT, "WC_NEWGRF_INSPECT"); SQGSWindow.DefSQConst(engine, ScriptWindow::WC_SPRITE_ALIGNER, "WC_SPRITE_ALIGNER"); SQGSWindow.DefSQConst(engine, ScriptWindow::WC_LINKGRAPH_LEGEND, "WC_LINKGRAPH_LEGEND"); + SQGSWindow.DefSQConst(engine, ScriptWindow::WC_SAVE_PRESET, "WC_SAVE_PRESET"); SQGSWindow.DefSQConst(engine, ScriptWindow::WC_INVALID, "WC_INVALID"); SQGSWindow.DefSQConst(engine, ScriptWindow::TC_BLUE, "TC_BLUE"); SQGSWindow.DefSQConst(engine, ScriptWindow::TC_SILVER, "TC_SILVER"); @@ -212,6 +213,9 @@ void SQGSWindow_Register(Squirrel *engine) SQGSWindow.DefSQConst(engine, ScriptWindow::WID_AP_BTN_DONTHILIGHT, "WID_AP_BTN_DONTHILIGHT"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_AP_BTN_DOHILIGHT, "WID_AP_BTN_DOHILIGHT"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_RV_CAPTION, "WID_RV_CAPTION"); + SQGSWindow.DefSQConst(engine, ScriptWindow::WID_RV_SORT_ASCENDING_DESCENDING, "WID_RV_SORT_ASCENDING_DESCENDING"); + SQGSWindow.DefSQConst(engine, ScriptWindow::WID_RV_SHOW_HIDDEN_ENGINES, "WID_RV_SHOW_HIDDEN_ENGINES"); + SQGSWindow.DefSQConst(engine, ScriptWindow::WID_RV_SORT_DROPDOWN, "WID_RV_SORT_DROPDOWN"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_RV_LEFT_MATRIX, "WID_RV_LEFT_MATRIX"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_RV_LEFT_SCROLLBAR, "WID_RV_LEFT_SCROLLBAR"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_RV_RIGHT_MATRIX, "WID_RV_RIGHT_MATRIX"); @@ -236,13 +240,15 @@ void SQGSWindow_Register(Squirrel *engine) SQGSWindow.DefSQConst(engine, ScriptWindow::WID_BBS_BRIDGE_LIST, "WID_BBS_BRIDGE_LIST"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_BBS_SCROLLBAR, "WID_BBS_SCROLLBAR"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_BV_CAPTION, "WID_BV_CAPTION"); - SQGSWindow.DefSQConst(engine, ScriptWindow::WID_BV_SORT_ASSENDING_DESCENDING, "WID_BV_SORT_ASSENDING_DESCENDING"); + SQGSWindow.DefSQConst(engine, ScriptWindow::WID_BV_SORT_ASCENDING_DESCENDING, "WID_BV_SORT_ASCENDING_DESCENDING"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_BV_SORT_DROPDOWN, "WID_BV_SORT_DROPDOWN"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_BV_CARGO_FILTER_DROPDOWN, "WID_BV_CARGO_FILTER_DROPDOWN"); + SQGSWindow.DefSQConst(engine, ScriptWindow::WID_BV_SHOW_HIDDEN_ENGINES, "WID_BV_SHOW_HIDDEN_ENGINES"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_BV_LIST, "WID_BV_LIST"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_BV_SCROLLBAR, "WID_BV_SCROLLBAR"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_BV_PANEL, "WID_BV_PANEL"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_BV_BUILD, "WID_BV_BUILD"); + SQGSWindow.DefSQConst(engine, ScriptWindow::WID_BV_SHOW_HIDE, "WID_BV_SHOW_HIDE"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_BV_BUILD_SEL, "WID_BV_BUILD_SEL"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_BV_RENAME, "WID_BV_RENAME"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_C_PANEL, "WID_C_PANEL"); @@ -454,9 +460,10 @@ void SQGSWindow_Register(Squirrel *engine) SQGSWindow.DefSQConst(engine, ScriptWindow::WID_GL_MAPSIZE_Y_PULLDOWN, "WID_GL_MAPSIZE_Y_PULLDOWN"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_GL_TOWN_PULLDOWN, "WID_GL_TOWN_PULLDOWN"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_GL_INDUSTRY_PULLDOWN, "WID_GL_INDUSTRY_PULLDOWN"); - SQGSWindow.DefSQConst(engine, ScriptWindow::WID_GL_RANDOM_EDITBOX, "WID_GL_RANDOM_EDITBOX"); - SQGSWindow.DefSQConst(engine, ScriptWindow::WID_GL_RANDOM_BUTTON, "WID_GL_RANDOM_BUTTON"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_GL_GENERATE_BUTTON, "WID_GL_GENERATE_BUTTON"); + SQGSWindow.DefSQConst(engine, ScriptWindow::WID_GL_MAX_HEIGHTLEVEL_DOWN, "WID_GL_MAX_HEIGHTLEVEL_DOWN"); + SQGSWindow.DefSQConst(engine, ScriptWindow::WID_GL_MAX_HEIGHTLEVEL_TEXT, "WID_GL_MAX_HEIGHTLEVEL_TEXT"); + SQGSWindow.DefSQConst(engine, ScriptWindow::WID_GL_MAX_HEIGHTLEVEL_UP, "WID_GL_MAX_HEIGHTLEVEL_UP"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_GL_START_DATE_DOWN, "WID_GL_START_DATE_DOWN"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_GL_START_DATE_TEXT, "WID_GL_START_DATE_TEXT"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_GL_START_DATE_UP, "WID_GL_START_DATE_UP"); @@ -767,10 +774,12 @@ void SQGSWindow_Register(Squirrel *engine) SQGSWindow.DefSQConst(engine, ScriptWindow::WID_SA_RIGHT, "WID_SA_RIGHT"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_SA_DOWN, "WID_SA_DOWN"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_SA_SPRITE, "WID_SA_SPRITE"); - SQGSWindow.DefSQConst(engine, ScriptWindow::WID_SA_OFFSETS, "WID_SA_OFFSETS"); + SQGSWindow.DefSQConst(engine, ScriptWindow::WID_SA_OFFSETS_ABS, "WID_SA_OFFSETS_ABS"); + SQGSWindow.DefSQConst(engine, ScriptWindow::WID_SA_OFFSETS_REL, "WID_SA_OFFSETS_REL"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_SA_PICKER, "WID_SA_PICKER"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_SA_LIST, "WID_SA_LIST"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_SA_SCROLLBAR, "WID_SA_SCROLLBAR"); + SQGSWindow.DefSQConst(engine, ScriptWindow::WID_SA_RESET_REL, "WID_SA_RESET_REL"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_NP_SHOW_NUMPAR, "WID_NP_SHOW_NUMPAR"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_NP_NUMPAR_DEC, "WID_NP_NUMPAR_DEC"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_NP_NUMPAR_INC, "WID_NP_NUMPAR_INC"); @@ -789,6 +798,7 @@ void SQGSWindow_Register(Squirrel *engine) SQGSWindow.DefSQConst(engine, ScriptWindow::WID_NS_REMOVE, "WID_NS_REMOVE"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_NS_MOVE_UP, "WID_NS_MOVE_UP"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_NS_MOVE_DOWN, "WID_NS_MOVE_DOWN"); + SQGSWindow.DefSQConst(engine, ScriptWindow::WID_NS_UPGRADE, "WID_NS_UPGRADE"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_NS_FILTER, "WID_NS_FILTER"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_NS_FILE_LIST, "WID_NS_FILE_LIST"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_NS_SCROLLBAR, "WID_NS_SCROLLBAR"); @@ -808,6 +818,11 @@ void SQGSWindow_Register(Squirrel *engine) SQGSWindow.DefSQConst(engine, ScriptWindow::WID_NS_CONTENT_DOWNLOAD2, "WID_NS_CONTENT_DOWNLOAD2"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_NS_SHOW_REMOVE, "WID_NS_SHOW_REMOVE"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_NS_SHOW_APPLY, "WID_NS_SHOW_APPLY"); + SQGSWindow.DefSQConst(engine, ScriptWindow::WID_SVP_PRESET_LIST, "WID_SVP_PRESET_LIST"); + SQGSWindow.DefSQConst(engine, ScriptWindow::WID_SVP_SCROLLBAR, "WID_SVP_SCROLLBAR"); + SQGSWindow.DefSQConst(engine, ScriptWindow::WID_SVP_EDITBOX, "WID_SVP_EDITBOX"); + SQGSWindow.DefSQConst(engine, ScriptWindow::WID_SVP_CANCEL, "WID_SVP_CANCEL"); + SQGSWindow.DefSQConst(engine, ScriptWindow::WID_SVP_SAVE, "WID_SVP_SAVE"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_SP_PROGRESS_BAR, "WID_SP_PROGRESS_BAR"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_SP_PROGRESS_TEXT, "WID_SP_PROGRESS_TEXT"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_N_PANEL, "WID_N_PANEL"); @@ -991,7 +1006,7 @@ void SQGSWindow_Register(Squirrel *engine) SQGSWindow.DefSQConst(engine, ScriptWindow::WID_GO_LANG_DROPDOWN, "WID_GO_LANG_DROPDOWN"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_GO_RESOLUTION_DROPDOWN, "WID_GO_RESOLUTION_DROPDOWN"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_GO_FULLSCREEN_BUTTON, "WID_GO_FULLSCREEN_BUTTON"); - SQGSWindow.DefSQConst(engine, ScriptWindow::WID_GO_SCREENSHOT_DROPDOWN, "WID_GO_SCREENSHOT_DROPDOWN"); + SQGSWindow.DefSQConst(engine, ScriptWindow::WID_GO_GUI_ZOOM_DROPDOWN, "WID_GO_GUI_ZOOM_DROPDOWN"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_GO_BASE_GRF_DROPDOWN, "WID_GO_BASE_GRF_DROPDOWN"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_GO_BASE_GRF_STATUS, "WID_GO_BASE_GRF_STATUS"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_GO_BASE_GRF_TEXTFILE, "WID_GO_BASE_GRF_TEXTFILE"); diff --git a/src/script/api/game_changelog.hpp b/src/script/api/game_changelog.hpp index 6da64c23b2..8c01be8d1d 100644 --- a/src/script/api/game_changelog.hpp +++ b/src/script/api/game_changelog.hpp @@ -15,14 +15,53 @@ * functions may still be available if you return an older API version * in GetAPIVersion() in info.nut. * + * \b 1.6.0 + * + * 1.6.0 is not yet released. The following changes are not set in stone yet. + * * \b 1.5.0 * - * 1.5.0 is not yet released. The following changes are not set in stone yet. + * API additions: + * \li GSList::SwapList + * \li GSStation::GetCargoPlanned + * \li GSStation::GetCargoPlannedFrom + * \li GSStation::GetCargoPlannedFromVia + * \li GSStation::GetCargoPlannedVia + * \li GSStation::GetCargoWaitingFromVia + * \li GSStationList_CargoPlannedByFrom + * \li GSStationList_CargoPlannedByVia + * \li GSStationList_CargoPlannedFromByVia + * \li GSStationList_CargoPlannedViaByFrom + * \li GSStationList_CargoWaitingByFrom + * \li GSStationList_CargoWaitingByVia + * \li GSStationList_CargoWaitingFromByVia + * \li GSStationList_CargoWaitingViaByFrom + * + * Other changes: + * \li GSNews::Create takes two extra parameters to refer to a location, station, + * industry, or town. The user can click at the news message to jump to the + * referred location. + * + * \b 1.4.4 + * + * No changes + * + * \b 1.4.3 + * + * No changes + * + * \b 1.4.2 + * + * Other changes: + * \li GSCargoMonitor delivery and pickup monitor functions have improved boundary checking for + * their parameters, and return \c -1 if they are found out of bounds. + * + * \b 1.4.1 + * + * No changes * * \b 1.4.0 * - * 1.4.0 is not yet released. The following changes are not set in stone yet. - * * API additions: * \li AICargo::GetDistributionType * \li GSCompany::ChangeBankBalance @@ -34,8 +73,8 @@ * \li GSGoal::SetProgress * \li GSGoal::SetText * \li GSStation::HasCargoRating - * \li AIStation::GetCargoWaitingFrom - * \li AIStation::GetCargoWaitingVia + * \li GSStation::GetCargoWaitingFrom + * \li GSStation::GetCargoWaitingVia * \li GSStoryPage * \li GSStoryPageList * \li GSStoryPageElementList diff --git a/src/script/api/script_accounting.cpp b/src/script/api/script_accounting.cpp index dfe05df3b0..e6fddf9e8c 100644 --- a/src/script/api/script_accounting.cpp +++ b/src/script/api/script_accounting.cpp @@ -12,6 +12,8 @@ #include "../../stdafx.h" #include "script_accounting.hpp" +#include "../../safeguards.h" + Money ScriptAccounting::GetCosts() { return this->GetDoCommandCosts(); diff --git a/src/script/api/script_admin.cpp b/src/script/api/script_admin.cpp index 3625fb4585..f66d9fc8a8 100644 --- a/src/script/api/script_admin.cpp +++ b/src/script/api/script_admin.cpp @@ -14,6 +14,9 @@ #include "script_log.hpp" #include "../../network/network_admin.h" #include "../script_instance.hpp" +#include "../../string_func.h" + +#include "../../safeguards.h" /* static */ bool ScriptAdmin::MakeJSON(HSQUIRRELVM vm, SQInteger index, int max_depth, std::string &data) { @@ -28,18 +31,15 @@ sq_getinteger(vm, index, &res); char buf[10]; - snprintf(buf, sizeof(buf), "%d", (int32)res); + seprintf(buf, lastof(buf), "%d", (int32)res); data = buf; return true; } case OT_STRING: { - const SQChar *res; - sq_getstring(vm, index, &res); + const SQChar *buf; + sq_getstring(vm, index, &buf); - /* @bug if a string longer than 512 characters is given to SQ2OTTD, the - * internal buffer overflows. */ - const char *buf = SQ2OTTD(res); size_t len = strlen(buf) + 1; if (len >= 255) { ScriptLog::Error("Maximum string length is 254 chars. No data sent."); @@ -126,10 +126,10 @@ /* static */ SQInteger ScriptAdmin::Send(HSQUIRRELVM vm) { - if (sq_gettop(vm) - 1 != 1) return sq_throwerror(vm, _SC("wrong number of parameters")); + if (sq_gettop(vm) - 1 != 1) return sq_throwerror(vm, "wrong number of parameters"); if (sq_gettype(vm, 2) != OT_TABLE) { - return sq_throwerror(vm, _SC("ScriptAdmin::Send requires a table as first parameter. No data sent.")); + return sq_throwerror(vm, "ScriptAdmin::Send requires a table as first parameter. No data sent."); } std::string json; diff --git a/src/script/api/script_airport.cpp b/src/script/api/script_airport.cpp index 438a18ae98..edb912609e 100644 --- a/src/script/api/script_airport.cpp +++ b/src/script/api/script_airport.cpp @@ -15,6 +15,8 @@ #include "../../station_base.h" #include "../../town.h" +#include "../../safeguards.h" + /* static */ bool ScriptAirport::IsValidAirportType(AirportType type) { return IsAirportInformationAvailable(type) && ::AirportSpec::Get(type)->IsAvailable(); diff --git a/src/script/api/script_base.cpp b/src/script/api/script_base.cpp index 7fd5b2df90..5b2d550b8c 100644 --- a/src/script/api/script_base.cpp +++ b/src/script/api/script_base.cpp @@ -15,6 +15,8 @@ #include "../../network/network.h" #include "../../core/random_func.hpp" +#include "../../safeguards.h" + /* static */ uint32 ScriptBase::Rand() { /* We pick RandomRange if we are in SP (so when saved, we do the same over and over) diff --git a/src/script/api/script_basestation.cpp b/src/script/api/script_basestation.cpp index 5134243a96..229abf8657 100644 --- a/src/script/api/script_basestation.cpp +++ b/src/script/api/script_basestation.cpp @@ -17,6 +17,8 @@ #include "../../strings_func.h" #include "table/strings.h" +#include "../../safeguards.h" + /* static */ bool ScriptBaseStation::IsValidBaseStation(StationID station_id) { const BaseStation *st = ::BaseStation::GetIfValid(station_id); diff --git a/src/script/api/script_bridge.cpp b/src/script/api/script_bridge.cpp index 25f9fc4542..45bec466c8 100644 --- a/src/script/api/script_bridge.cpp +++ b/src/script/api/script_bridge.cpp @@ -17,6 +17,8 @@ #include "../../strings_func.h" #include "../../date_func.h" +#include "../../safeguards.h" + /* static */ bool ScriptBridge::IsValidBridge(BridgeID bridge_id) { return bridge_id < MAX_BRIDGES && ::GetBridgeSpec(bridge_id)->avail_year <= _cur_year; diff --git a/src/script/api/script_bridgelist.cpp b/src/script/api/script_bridgelist.cpp index 9687663e9e..0969342ecb 100644 --- a/src/script/api/script_bridgelist.cpp +++ b/src/script/api/script_bridgelist.cpp @@ -14,6 +14,8 @@ #include "script_bridge.hpp" #include "../../bridge.h" +#include "../../safeguards.h" + ScriptBridgeList::ScriptBridgeList() { for (byte j = 0; j < MAX_BRIDGES; j++) { diff --git a/src/script/api/script_cargo.cpp b/src/script/api/script_cargo.cpp index b2459af4eb..a2643f897f 100644 --- a/src/script/api/script_cargo.cpp +++ b/src/script/api/script_cargo.cpp @@ -15,6 +15,8 @@ #include "../../core/bitmath_func.hpp" #include "../../settings_type.h" +#include "../../safeguards.h" + /* static */ bool ScriptCargo::IsValidCargo(CargoID cargo_type) { return (cargo_type < NUM_CARGO && ::CargoSpec::Get(cargo_type)->IsValid()); diff --git a/src/script/api/script_cargo.hpp b/src/script/api/script_cargo.hpp index 9d409e1918..d1bfdd1fcc 100644 --- a/src/script/api/script_cargo.hpp +++ b/src/script/api/script_cargo.hpp @@ -90,8 +90,15 @@ public: * @param cargo_type The cargo to get the string representation of. * @pre ScriptCargo::IsValidCargo(cargo_type). * @return The cargo label. - * @note Never use this to check if it is a certain cargo. NewGRF can - * redefine all of the names. + * @note + * - The label uniquely identifies a specific cargo. Use this if you want to + * detect special cargos from specific industry set (like production booster cargos, supplies, ...). + * - For more generic cargo support, rather check cargo properties though. For example: + * - Use ScriptCargo::HasCargoClass(..., CC_PASSENGER) to decide bus vs. truck requirements. + * - Use ScriptCargo::GetTownEffect(...) paired with ScriptTown::GetCargoGoal(...) to determine + * town growth requirements. + * - In other words: Only use the cargo label, if you know more about the behaviour + * of a specific cargo from a specific industry set, than the API methods can tell you. */ static char *GetCargoLabel(CargoID cargo_type); diff --git a/src/script/api/script_cargolist.cpp b/src/script/api/script_cargolist.cpp index 08f705d60d..b96cd721e9 100644 --- a/src/script/api/script_cargolist.cpp +++ b/src/script/api/script_cargolist.cpp @@ -17,6 +17,8 @@ #include "../../industry.h" #include "../../station_base.h" +#include "../../safeguards.h" + ScriptCargoList::ScriptCargoList() { const CargoSpec *cs; @@ -57,6 +59,6 @@ ScriptCargoList_StationAccepting::ScriptCargoList_StationAccepting(StationID sta Station *st = ::Station::Get(station_id); for (CargoID i = 0; i < NUM_CARGO; i++) { - if (HasBit(st->goods[i].acceptance_pickup, GoodsEntry::GES_ACCEPTANCE)) this->AddItem(i); + if (HasBit(st->goods[i].status, GoodsEntry::GES_ACCEPTANCE)) this->AddItem(i); } } diff --git a/src/script/api/script_cargomonitor.cpp b/src/script/api/script_cargomonitor.cpp index e19821bba8..3cb9b4a8e7 100644 --- a/src/script/api/script_cargomonitor.cpp +++ b/src/script/api/script_cargomonitor.cpp @@ -10,29 +10,54 @@ /** @file script_cargomonitor.cpp Code to monitor cargo pickup and deliveries by companies. */ #include "../../stdafx.h" +#include "script_cargo.hpp" #include "script_cargomonitor.hpp" +#include "../../town.h" +#include "../../industry.h" -/* static */ uint32 ScriptCargoMonitor::GetTownDeliveryAmount(ScriptCompany::CompanyID company, CargoID cargo, TownID town_id, bool keep_monitoring) +#include "../../safeguards.h" + +/* static */ int32 ScriptCargoMonitor::GetTownDeliveryAmount(ScriptCompany::CompanyID company, CargoID cargo, TownID town_id, bool keep_monitoring) { - CargoMonitorID monitor = EncodeCargoTownMonitor(static_cast(company), cargo, town_id); + CompanyID cid = static_cast(company); + if (cid < OWNER_BEGIN || cid >= MAX_COMPANIES) return -1; + if (!ScriptCargo::IsValidCargo(cargo)) return -1; + if (!::Town::IsValidID(town_id)) return -1; + + CargoMonitorID monitor = EncodeCargoTownMonitor(cid, cargo, town_id); return GetDeliveryAmount(monitor, keep_monitoring); } -/* static */ uint32 ScriptCargoMonitor::GetIndustryDeliveryAmount(ScriptCompany::CompanyID company, CargoID cargo, IndustryID industry_id, bool keep_monitoring) +/* static */ int32 ScriptCargoMonitor::GetIndustryDeliveryAmount(ScriptCompany::CompanyID company, CargoID cargo, IndustryID industry_id, bool keep_monitoring) { - CargoMonitorID monitor = EncodeCargoIndustryMonitor(static_cast(company), cargo, industry_id); + CompanyID cid = static_cast(company); + if (cid < OWNER_BEGIN || cid >= MAX_COMPANIES) return -1; + if (!ScriptCargo::IsValidCargo(cargo)) return -1; + if (!::Industry::IsValidID(industry_id)) return -1; + + CargoMonitorID monitor = EncodeCargoIndustryMonitor(cid, cargo, industry_id); return GetDeliveryAmount(monitor, keep_monitoring); } -/* static */ uint32 ScriptCargoMonitor::GetTownPickupAmount(ScriptCompany::CompanyID company, CargoID cargo, TownID town_id, bool keep_monitoring) +/* static */ int32 ScriptCargoMonitor::GetTownPickupAmount(ScriptCompany::CompanyID company, CargoID cargo, TownID town_id, bool keep_monitoring) { - CargoMonitorID monitor = EncodeCargoTownMonitor(static_cast(company), cargo, town_id); + CompanyID cid = static_cast(company); + if (cid < OWNER_BEGIN || cid >= MAX_COMPANIES) return -1; + if (!ScriptCargo::IsValidCargo(cargo)) return -1; + if (!::Town::IsValidID(town_id)) return -1; + + CargoMonitorID monitor = EncodeCargoTownMonitor(cid, cargo, town_id); return GetPickupAmount(monitor, keep_monitoring); } -/* static */ uint32 ScriptCargoMonitor::GetIndustryPickupAmount(ScriptCompany::CompanyID company, CargoID cargo, IndustryID industry_id, bool keep_monitoring) +/* static */ int32 ScriptCargoMonitor::GetIndustryPickupAmount(ScriptCompany::CompanyID company, CargoID cargo, IndustryID industry_id, bool keep_monitoring) { - CargoMonitorID monitor = EncodeCargoIndustryMonitor(static_cast(company), cargo, industry_id); + CompanyID cid = static_cast(company); + if (cid < OWNER_BEGIN || cid >= MAX_COMPANIES) return -1; + if (!ScriptCargo::IsValidCargo(cargo)) return -1; + if (!::Industry::IsValidID(industry_id)) return -1; + + CargoMonitorID monitor = EncodeCargoIndustryMonitor(cid, cargo, industry_id); return GetPickupAmount(monitor, keep_monitoring); } diff --git a/src/script/api/script_cargomonitor.hpp b/src/script/api/script_cargomonitor.hpp index f0fa56be94..175936db26 100644 --- a/src/script/api/script_cargomonitor.hpp +++ b/src/script/api/script_cargomonitor.hpp @@ -50,9 +50,10 @@ public: * @param cargo Cargo type to query. * @param town_id %Town to query. * @param keep_monitoring If \c true, the given combination continues to be monitored for the next call. If \c false, monitoring ends. - * @return Amount of delivered cargo of the given cargo type to the given town by the given company since the last call. + * @return Amount of delivered cargo of the given cargo type to the given town by the given company since the last call, or + * \c -1 if a parameter is out-of-bound. */ - static uint32 GetTownDeliveryAmount(ScriptCompany::CompanyID company, CargoID cargo, TownID town_id, bool keep_monitoring); + static int32 GetTownDeliveryAmount(ScriptCompany::CompanyID company, CargoID cargo, TownID town_id, bool keep_monitoring); /** * Get the amount of cargo delivered to an industry by a company since the last query, and update the monitoring state. @@ -60,9 +61,10 @@ public: * @param cargo Cargo type to query. * @param industry_id %Industry to query. * @param keep_monitoring If \c true, the given combination continues to be monitored for the next call. If \c false, monitoring ends. - * @return Amount of delivered cargo of the given cargo type to the given industry by the given company since the last call. + * @return Amount of delivered cargo of the given cargo type to the given industry by the given company since the last call, or + * \c -1 if a parameter is out-of-bound. */ - static uint32 GetIndustryDeliveryAmount(ScriptCompany::CompanyID company, CargoID cargo, IndustryID industry_id, bool keep_monitoring); + static int32 GetIndustryDeliveryAmount(ScriptCompany::CompanyID company, CargoID cargo, IndustryID industry_id, bool keep_monitoring); /** * Get the amount of cargo picked up (and delivered) from a town by a company since the last query, and update the monitoring state. @@ -70,10 +72,11 @@ public: * @param cargo Cargo type to query. * @param town_id %Town to query. * @param keep_monitoring If \c true, the given combination continues to be monitored for the next call. If \c false, monitoring ends. - * @return Amount of picked up cargo of the given cargo type to the given town by the given company since the last call. + * @return Amount of picked up cargo of the given cargo type to the given town by the given company since the last call, or + * \c -1 if a parameter is out-of-bound. * @note Amounts of picked-up cargo are added during final delivery of it, to prevent users from getting credit for picking up without delivering it. */ - static uint32 GetTownPickupAmount(ScriptCompany::CompanyID company, CargoID cargo, TownID town_id, bool keep_monitoring); + static int32 GetTownPickupAmount(ScriptCompany::CompanyID company, CargoID cargo, TownID town_id, bool keep_monitoring); /** * Get the amount of cargo picked up (and delivered) from an industry by a company since the last query, and update the monitoring state. @@ -81,10 +84,11 @@ public: * @param cargo Cargo type to query. * @param industry_id %Industry to query. * @param keep_monitoring If \c true, the given combination continues to be monitored for the next call. If \c false, monitoring ends. - * @return Amount of picked up cargo of the given cargo type to the given industry by the given company since the last call. + * @return Amount of picked up cargo of the given cargo type to the given industry by the given company since the last call, or + * \c -1 if a parameter is out-of-bound. * @note Amounts of picked-up cargo are added during final delivery of it, to prevent users from getting credit for picking up without delivering it. */ - static uint32 GetIndustryPickupAmount(ScriptCompany::CompanyID company, CargoID cargo, IndustryID industry_id, bool keep_monitoring); + static int32 GetIndustryPickupAmount(ScriptCompany::CompanyID company, CargoID cargo, IndustryID industry_id, bool keep_monitoring); /** Stop monitoring everything. */ static void StopAllMonitoring(); diff --git a/src/script/api/script_company.cpp b/src/script/api/script_company.cpp index 851ca7888d..a1f40c5e1e 100644 --- a/src/script/api/script_company.cpp +++ b/src/script/api/script_company.cpp @@ -24,6 +24,8 @@ #include "../../settings_func.h" #include "table/strings.h" +#include "../../safeguards.h" + /* static */ ScriptCompany::CompanyID ScriptCompany::ResolveCompanyID(ScriptCompany::CompanyID company) { if (company == COMPANY_SELF) { @@ -194,11 +196,11 @@ return LOAN_INTERVAL; } -/* static */ bool ScriptCompany::SetLoanAmount(int32 loan) +/* static */ bool ScriptCompany::SetLoanAmount(Money loan) { EnforcePrecondition(false, ScriptObject::GetCompany() != OWNER_DEITY); EnforcePrecondition(false, loan >= 0); - EnforcePrecondition(false, (loan % GetLoanInterval()) == 0); + EnforcePrecondition(false, ((int64)loan % GetLoanInterval()) == 0); EnforcePrecondition(false, loan <= GetMaxLoanAmount()); EnforcePrecondition(false, (loan - GetLoanAmount() + GetBankBalance(COMPANY_SELF)) >= 0); @@ -209,12 +211,12 @@ (loan > GetLoanAmount()) ? CMD_INCREASE_LOAN : CMD_DECREASE_LOAN); } -/* static */ bool ScriptCompany::SetMinimumLoanAmount(int32 loan) +/* static */ bool ScriptCompany::SetMinimumLoanAmount(Money loan) { EnforcePrecondition(false, ScriptObject::GetCompany() != OWNER_DEITY); EnforcePrecondition(false, loan >= 0); - int32 over_interval = loan % GetLoanInterval(); + Money over_interval = (int64)loan % GetLoanInterval(); if (over_interval != 0) loan += GetLoanInterval() - over_interval; EnforcePrecondition(false, loan <= GetMaxLoanAmount()); @@ -224,10 +226,12 @@ return GetLoanAmount() == loan; } -/* static */ bool ScriptCompany::ChangeBankBalance(CompanyID company, int32 delta, ExpensesType expenses_type) +/* static */ bool ScriptCompany::ChangeBankBalance(CompanyID company, Money delta, ExpensesType expenses_type) { EnforcePrecondition(false, ScriptObject::GetCompany() == OWNER_DEITY); EnforcePrecondition(false, expenses_type < (ExpensesType)::EXPENSES_END); + EnforcePrecondition(false, (int64)delta >= INT32_MIN); + EnforcePrecondition(false, (int64)delta <= INT32_MAX); company = ResolveCompanyID(company); EnforcePrecondition(false, company != COMPANY_INVALID); @@ -278,12 +282,14 @@ return ::Company::Get((CompanyID)company)->settings.engine_renew_months; } -/* static */ bool ScriptCompany::SetAutoRenewMoney(uint32 money) +/* static */ bool ScriptCompany::SetAutoRenewMoney(Money money) { + EnforcePrecondition(false, money >= 0); + EnforcePrecondition(false, (int64)money <= UINT32_MAX); return ScriptObject::DoCommand(0, ::GetCompanySettingIndex("company.engine_renew_money"), money, CMD_CHANGE_COMPANY_SETTING); } -/* static */ uint32 ScriptCompany::GetAutoRenewMoney(CompanyID company) +/* static */ Money ScriptCompany::GetAutoRenewMoney(CompanyID company) { company = ResolveCompanyID(company); if (company == COMPANY_INVALID) return 0; diff --git a/src/script/api/script_company.hpp b/src/script/api/script_company.hpp index 00adc795f8..4deaeed5e3 100644 --- a/src/script/api/script_company.hpp +++ b/src/script/api/script_company.hpp @@ -145,7 +145,7 @@ public: * @game @pre Valid ScriptCompanyMode active in scope. * @return True if the loan could be set to your requested amount. */ - static bool SetLoanAmount(int32 loan); + static bool SetLoanAmount(Money loan); /** * Sets the minimum amount to loan, i.e. the given amount of loan rounded up. @@ -155,7 +155,7 @@ public: * @game @pre Valid ScriptCompanyMode active in scope. * @return True if we could allocate a minimum of 'loan' loan. */ - static bool SetMinimumLoanAmount(int32 loan); + static bool SetMinimumLoanAmount(Money loan); /** * Gets the amount your company have loaned. @@ -192,12 +192,15 @@ public: * @param company The company to change the bank balance of. * @param delta Amount of money to give or take from the bank balance. A positive value adds money to the bank balance. * @param expenses_type The account in the finances window that will register the cost. + * @return True, if the bank balance was changed. * @game @pre No ScriptCompanyMode active in scope. * @pre ResolveCompanyID(company) != COMPANY_INVALID. + * @pre delta >= -2**31 + * @pre delta < 2**31 * @note You need to create your own news message to inform about costs/gifts that you create using this command. * @api -ai */ - static bool ChangeBankBalance(CompanyID company, int32 delta, ExpensesType expenses_type); + static bool ChangeBankBalance(CompanyID company, Money delta, ExpensesType expenses_type); /** * Get the income of the company in the given quarter. @@ -314,9 +317,11 @@ public: * Set the minimum money needed to autorenew an engine for your company. * @param money The new minimum required money for autorenew to work. * @return True if autorenew money has been modified. + * @pre money >= 0 + * @pre money < 2**32 * @api -game */ - static bool SetAutoRenewMoney(uint32 money); + static bool SetAutoRenewMoney(Money money); /** * Return the minimum money needed to autorenew an engine for a company. @@ -324,7 +329,7 @@ public: * @pre ResolveCompanyID(company) != COMPANY_INVALID. * @return The minimum required money for autorenew to work. */ - static uint32 GetAutoRenewMoney(CompanyID company); + static Money GetAutoRenewMoney(CompanyID company); }; DECLARE_POSTFIX_INCREMENT(ScriptCompany::CompanyID) diff --git a/src/script/api/script_companymode.cpp b/src/script/api/script_companymode.cpp index bf6da493c0..1931a5db78 100644 --- a/src/script/api/script_companymode.cpp +++ b/src/script/api/script_companymode.cpp @@ -12,6 +12,8 @@ #include "../../stdafx.h" #include "script_companymode.hpp" +#include "../../safeguards.h" + ScriptCompanyMode::ScriptCompanyMode(int company) { if (company < OWNER_BEGIN || company >= MAX_COMPANIES) company = INVALID_COMPANY; diff --git a/src/script/api/script_controller.cpp b/src/script/api/script_controller.cpp index 7ca0c7d464..a42c8ede9b 100644 --- a/src/script/api/script_controller.cpp +++ b/src/script/api/script_controller.cpp @@ -24,6 +24,8 @@ #include "../../settings_type.h" #include "../../network/network.h" +#include "../../safeguards.h" + /* static */ void ScriptController::SetCommandDelay(int ticks) { if (ticks <= 0) return; @@ -51,7 +53,7 @@ ScriptObject::GetActiveInstance()->Pause(); char log_message[1024]; - snprintf(log_message, sizeof(log_message), "Break: %s", message); + seprintf(log_message, lastof(log_message), "Break: %s", message); ScriptLog::Log(ScriptLog::LOG_SQ_ERROR, log_message); /* Inform script developer that his script has been paused and @@ -113,14 +115,14 @@ ScriptController::~ScriptController() /* Internally we store libraries as 'library.version' */ char library_name[1024]; - snprintf(library_name, sizeof(library_name), "%s.%d", library, version); + seprintf(library_name, lastof(library_name), "%s.%d", library, version); strtolower(library_name); ScriptInfo *lib = ScriptObject::GetActiveInstance()->FindLibrary(library, version); if (lib == NULL) { char error[1024]; - snprintf(error, sizeof(error), "couldn't find library '%s' with version %d", library, version); - throw sq_throwerror(vm, OTTD2SQ(error)); + seprintf(error, lastof(error), "couldn't find library '%s' with version %d", library, version); + throw sq_throwerror(vm, error); } /* Get the current table/class we belong to */ @@ -131,41 +133,41 @@ ScriptController::~ScriptController() LoadedLibraryList::iterator iter = controller->loaded_library.find(library_name); if (iter != controller->loaded_library.end()) { - ttd_strlcpy(fake_class, (*iter).second, sizeof(fake_class)); + strecpy(fake_class, (*iter).second, lastof(fake_class)); } else { int next_number = ++controller->loaded_library_count; /* Create a new fake internal name */ - snprintf(fake_class, sizeof(fake_class), "_internalNA%d", next_number); + seprintf(fake_class, lastof(fake_class), "_internalNA%d", next_number); /* Load the library in a 'fake' namespace, so we can link it to the name the user requested */ sq_pushroottable(vm); - sq_pushstring(vm, OTTD2SQ(fake_class), -1); + sq_pushstring(vm, fake_class, -1); sq_newclass(vm, SQFalse); /* Load the library */ if (!engine->LoadScript(vm, lib->GetMainScript(), false)) { char error[1024]; - snprintf(error, sizeof(error), "there was a compile error when importing '%s' version %d", library, version); - throw sq_throwerror(vm, OTTD2SQ(error)); + seprintf(error, lastof(error), "there was a compile error when importing '%s' version %d", library, version); + throw sq_throwerror(vm, error); } /* Create the fake class */ sq_newslot(vm, -3, SQFalse); sq_pop(vm, 1); - controller->loaded_library[strdup(library_name)] = strdup(fake_class); + controller->loaded_library[stredup(library_name)] = stredup(fake_class); } /* Find the real class inside the fake class (like 'sets.Vector') */ sq_pushroottable(vm); - sq_pushstring(vm, OTTD2SQ(fake_class), -1); + sq_pushstring(vm, fake_class, -1); if (SQ_FAILED(sq_get(vm, -2))) { - throw sq_throwerror(vm, _SC("internal error assigning library class")); + throw sq_throwerror(vm, "internal error assigning library class"); } - sq_pushstring(vm, OTTD2SQ(lib->GetInstanceName()), -1); + sq_pushstring(vm, lib->GetInstanceName(), -1); if (SQ_FAILED(sq_get(vm, -2))) { char error[1024]; - snprintf(error, sizeof(error), "unable to find class '%s' in the library '%s' version %d", lib->GetInstanceName(), library, version); - throw sq_throwerror(vm, OTTD2SQ(error)); + seprintf(error, lastof(error), "unable to find class '%s' in the library '%s' version %d", lib->GetInstanceName(), library, version); + throw sq_throwerror(vm, error); } HSQOBJECT obj; sq_getstackobj(vm, -1, &obj); @@ -175,7 +177,7 @@ ScriptController::~ScriptController() /* Now link the name the user wanted to our 'fake' class */ sq_pushobject(vm, parent); - sq_pushstring(vm, OTTD2SQ(class_name), -1); + sq_pushstring(vm, class_name, -1); sq_pushobject(vm, obj); sq_newclass(vm, SQTrue); sq_newslot(vm, -3, SQFalse); diff --git a/src/script/api/script_controller.hpp b/src/script/api/script_controller.hpp index 10fd48dcdc..9bdbe9ab79 100644 --- a/src/script/api/script_controller.hpp +++ b/src/script/api/script_controller.hpp @@ -18,8 +18,32 @@ /** * The Controller, the class each Script should extend. It creates the Script, - * makes sure the logic kicks in correctly, and that GetTick() has a valid + * makes sure the logic kicks in correctly, and that #GetTick() has a valid * value. + * + * When starting a new game, or when loading a game, OpenTTD tries to match a + * script that matches to the specified version as close as possible. It tries + * (from first to last, stopping as soon as the attempt succeeds) + * + * - load the exact same version of the same script, + * - load the latest version of the same script that supports loading data from + * the saved version (the version of saved data must be equal or greater + * than ScriptInfo::MinVersionToLoad), + * - load the latest version of the same script (ignoring version requirements), + * - (for AIs) load a random AI, and finally + * - (for AIs) load the dummy AI. + * + * After determining the script to use, starting it is done as follows + * + * - An instance is constructed of the class derived from ScriptController + * (class name is retrieved from ScriptInfo::CreateInstance). + * - If there is script data available in the loaded game and if the data is + * loadable according to ScriptInfo::MinVersionToLoad, #Load is called with the + * data from the loaded game. + * - Finally, #Start is called to start execution of the script. + * + * See also http://wiki.openttd.org/AI:Save/Load for more details. + * * @api ai game */ class ScriptController { @@ -46,6 +70,48 @@ public: */ void Start(); +#ifdef DOXYGEN_API + /** + * Save the state of the script. + * + * By implementing this function, you can store some data inside the savegame. + * The function should return a table with the information you want to store. + * You can only store: + * + * - integers, + * - strings, + * - arrays (max. 25 levels deep), + * - tables (max. 25 levels deep), + * - booleans, and + * - nulls. + * + * In particular, instances of classes can't be saved including + * ScriptList. Such a list should be converted to an array or table on + * save and converted back on load. + * + * The function is called as soon as the user saves the game, + * independently of other activities of the script. The script is not + * notified of the call. To avoid race-conditions between #Save and the + * other script code, change variables directly after a #Sleep, it is + * very unlikely, to get interrupted at that point in the execution. + * See also http://wiki.openttd.org/AI:Save/Load for more details. + * + * @note No other information is saved than the table returned by #Save. + * For example all pending events are lost as soon as the game is loaded. + * + * @return Data of the script that should be stored in the save game. + */ + SquirrelTable Save(); + + /** + * Load saved data just before calling #Start. + * The function is only called when there is data to load. + * @param version Version number of the script that created the \a data. + * @param data Data that was saved (return value of #Save). + */ + void Load(int version, SquirrelTable data); +#endif /* DOXYGEN_API */ + /** * Find at which tick your script currently is. * @return returns the current tick. diff --git a/src/script/api/script_date.cpp b/src/script/api/script_date.cpp index 6ff92debac..2f5b399633 100644 --- a/src/script/api/script_date.cpp +++ b/src/script/api/script_date.cpp @@ -14,6 +14,8 @@ #include "script_date.hpp" #include "../../date_func.h" +#include "../../safeguards.h" + /* static */ bool ScriptDate::IsValidDate(Date date) { return date >= 0; diff --git a/src/script/api/script_depotlist.cpp b/src/script/api/script_depotlist.cpp index 7adbe8a286..05bb4ccd04 100644 --- a/src/script/api/script_depotlist.cpp +++ b/src/script/api/script_depotlist.cpp @@ -14,6 +14,8 @@ #include "../../depot_base.h" #include "../../station_base.h" +#include "../../safeguards.h" + ScriptDepotList::ScriptDepotList(ScriptTile::TransportType transport_type) { ::TileType tile_type; diff --git a/src/script/api/script_engine.cpp b/src/script/api/script_engine.cpp index 138628547b..1fe16321b5 100644 --- a/src/script/api/script_engine.cpp +++ b/src/script/api/script_engine.cpp @@ -20,6 +20,8 @@ #include "../../articulated_vehicles.h" #include "table/strings.h" +#include "../../safeguards.h" + /* static */ bool ScriptEngine::IsValidEngine(EngineID engine_id) { const Engine *e = ::Engine::GetIfValid(engine_id); diff --git a/src/script/api/script_engine.hpp b/src/script/api/script_engine.hpp index 5f703e159d..173377742d 100644 --- a/src/script/api/script_engine.hpp +++ b/src/script/api/script_engine.hpp @@ -108,7 +108,6 @@ public: * Get the maximum speed of an engine. * @param engine_id The engine to get the maximum speed of. * @pre IsValidEngine(engine_id). - * @pre GetVehicleType(engine_id) != ScriptVehicle::VT_TRAIN || !IsWagon(engine_id). * @return The maximum speed the engine has. * @note The speed is in OpenTTD's internal speed unit. * This is mph / 1.6, which is roughly km/h. diff --git a/src/script/api/script_enginelist.cpp b/src/script/api/script_enginelist.cpp index b6143a20ec..99ab9537be 100644 --- a/src/script/api/script_enginelist.cpp +++ b/src/script/api/script_enginelist.cpp @@ -13,6 +13,8 @@ #include "script_enginelist.hpp" #include "../../engine_base.h" +#include "../../safeguards.h" + ScriptEngineList::ScriptEngineList(ScriptVehicle::VehicleType vehicle_type) { Engine *e; diff --git a/src/script/api/script_error.cpp b/src/script/api/script_error.cpp index 46d287f77c..d30ad9c66d 100644 --- a/src/script/api/script_error.cpp +++ b/src/script/api/script_error.cpp @@ -12,6 +12,9 @@ #include "../../stdafx.h" #include "script_error.hpp" #include "../../core/bitmath_func.hpp" +#include "../../string_func.h" + +#include "../../safeguards.h" ScriptError::ScriptErrorMap ScriptError::error_map = ScriptError::ScriptErrorMap(); ScriptError::ScriptErrorMapString ScriptError::error_map_string = ScriptError::ScriptErrorMapString(); @@ -23,7 +26,7 @@ ScriptError::ScriptErrorMapString ScriptError::error_map_string = ScriptError::S /* static */ char *ScriptError::GetLastErrorString() { - return strdup((*error_map_string.find(ScriptError::GetLastError())).second); + return stredup((*error_map_string.find(ScriptError::GetLastError())).second); } /* static */ ScriptErrorType ScriptError::StringToError(StringID internal_string_id) diff --git a/src/script/api/script_event.cpp b/src/script/api/script_event.cpp index d7d19863ff..0e711ca416 100644 --- a/src/script/api/script_event.cpp +++ b/src/script/api/script_event.cpp @@ -14,6 +14,8 @@ #include +#include "../../safeguards.h" + /** The queue of events for a script. */ struct ScriptEventData { std::queue stack; ///< The actual queue. diff --git a/src/script/api/script_event_types.cpp b/src/script/api/script_event_types.cpp index f22bb2f619..d424e6feff 100644 --- a/src/script/api/script_event_types.cpp +++ b/src/script/api/script_event_types.cpp @@ -17,8 +17,11 @@ #include "../../settings_type.h" #include "../../engine_base.h" #include "../../articulated_vehicles.h" +#include "../../string_func.h" #include "table/strings.h" +#include "../../safeguards.h" + bool ScriptEventEnginePreview::IsEngineValid() const { const Engine *e = ::Engine::GetIfValid(this->engine); @@ -117,6 +120,17 @@ bool ScriptEventCompanyAskMerger::AcceptMerger() return ScriptObject::DoCommand(0, this->owner, 0, CMD_BUY_COMPANY); } +ScriptEventAdminPort::ScriptEventAdminPort(const char *json) : + ScriptEvent(ET_ADMIN_PORT), + json(stredup(json)) +{ +} + +ScriptEventAdminPort::~ScriptEventAdminPort() +{ + free(this->json); +} + #define SKIP_EMPTY(p) while (*(p) == ' ' || *(p) == '\n' || *(p) == '\r') (p)++; #define RETURN_ERROR(stack) { ScriptLog::Error("Received invalid JSON data from AdminPort."); if (stack != 0) sq_pop(vm, stack); return NULL; } @@ -157,7 +171,7 @@ char *ScriptEventAdminPort::ReadString(HSQUIRRELVM vm, char *p) } *p = '\0'; - sq_pushstring(vm, OTTD2SQ(value), -1); + sq_pushstring(vm, value, -1); *p++ = '"'; return p; @@ -245,10 +259,10 @@ char *ScriptEventAdminPort::ReadValue(HSQUIRRELVM vm, char *p) sq_newarray(vm, 0); /* Empty array? */ - char *p2 = p+1; + char *p2 = p + 1; SKIP_EMPTY(p2); if (*p2 == ']') { - p = p2+1; + p = p2 + 1; break; } diff --git a/src/script/api/script_event_types.hpp b/src/script/api/script_event_types.hpp index 62834113d0..9430168977 100644 --- a/src/script/api/script_event_types.hpp +++ b/src/script/api/script_event_types.hpp @@ -839,15 +839,8 @@ public: /** * @param json The JSON string which got sent. */ - ScriptEventAdminPort(const char *json) : - ScriptEvent(ET_ADMIN_PORT), - json(strdup(json)) - {} - - ~ScriptEventAdminPort() - { - free(this->json); - } + ScriptEventAdminPort(const char *json); + ~ScriptEventAdminPort(); /** * Convert an ScriptEvent to the real instance. diff --git a/src/script/api/script_execmode.cpp b/src/script/api/script_execmode.cpp index fe2ac3d7c1..4fb0cc7e29 100644 --- a/src/script/api/script_execmode.cpp +++ b/src/script/api/script_execmode.cpp @@ -14,6 +14,8 @@ #include "../script_instance.hpp" #include "../script_fatalerror.hpp" +#include "../../safeguards.h" + bool ScriptExecMode::ModeProc() { /* In execution mode we only return 'true', telling the DoCommand it diff --git a/src/script/api/script_game.cpp b/src/script/api/script_game.cpp index f0aeb191fc..c24757a3cc 100644 --- a/src/script/api/script_game.cpp +++ b/src/script/api/script_game.cpp @@ -15,6 +15,8 @@ #include "../../settings_type.h" #include "../../network/network.h" +#include "../../safeguards.h" + /* static */ bool ScriptGame::Pause() { return ScriptObject::DoCommand(0, PM_PAUSED_GAME_SCRIPT, 1, CMD_PAUSE); diff --git a/src/script/api/script_gamesettings.cpp b/src/script/api/script_gamesettings.cpp index ed284ae595..1f8ded877e 100644 --- a/src/script/api/script_gamesettings.cpp +++ b/src/script/api/script_gamesettings.cpp @@ -15,6 +15,8 @@ #include "../../settings_type.h" #include "../../command_type.h" +#include "../../safeguards.h" + /* static */ bool ScriptGameSettings::IsValid(const char *setting) { uint i; diff --git a/src/script/api/script_goal.cpp b/src/script/api/script_goal.cpp index 535450973d..5153e0ef0e 100644 --- a/src/script/api/script_goal.cpp +++ b/src/script/api/script_goal.cpp @@ -20,6 +20,8 @@ #include "../../goal_base.h" #include "../../string_func.h" +#include "../../safeguards.h" + /* static */ bool ScriptGoal::IsValidGoal(GoalID goal_id) { return ::Goal::IsValidID(goal_id); diff --git a/src/script/api/script_group.cpp b/src/script/api/script_group.cpp index 89cbf2c711..1e8d6d774d 100644 --- a/src/script/api/script_group.cpp +++ b/src/script/api/script_group.cpp @@ -19,6 +19,8 @@ #include "../../settings_func.h" #include "table/strings.h" +#include "../../safeguards.h" + /* static */ bool ScriptGroup::IsValidGroup(GroupID group_id) { const Group *g = ::Group::GetIfValid(group_id); diff --git a/src/script/api/script_grouplist.cpp b/src/script/api/script_grouplist.cpp index 39dd310024..d1071c36c6 100644 --- a/src/script/api/script_grouplist.cpp +++ b/src/script/api/script_grouplist.cpp @@ -13,6 +13,8 @@ #include "script_grouplist.hpp" #include "../../group.h" +#include "../../safeguards.h" + ScriptGroupList::ScriptGroupList() { Group *g; diff --git a/src/script/api/script_industry.cpp b/src/script/api/script_industry.cpp index 5e30f13770..c536ec5590 100644 --- a/src/script/api/script_industry.cpp +++ b/src/script/api/script_industry.cpp @@ -19,6 +19,8 @@ #include "../../newgrf_industries.h" #include "table/strings.h" +#include "../../safeguards.h" + /* static */ int32 ScriptIndustry::GetIndustryCount() { return (int32)::Industry::GetNumItems(); diff --git a/src/script/api/script_industrylist.cpp b/src/script/api/script_industrylist.cpp index b9824b9acb..d2d298fa3f 100644 --- a/src/script/api/script_industrylist.cpp +++ b/src/script/api/script_industrylist.cpp @@ -13,6 +13,8 @@ #include "script_industrylist.hpp" #include "../../industry.h" +#include "../../safeguards.h" + ScriptIndustryList::ScriptIndustryList() { Industry *i; diff --git a/src/script/api/script_industrytype.cpp b/src/script/api/script_industrytype.cpp index bbfca99a4d..1ac59975dc 100644 --- a/src/script/api/script_industrytype.cpp +++ b/src/script/api/script_industrytype.cpp @@ -18,6 +18,8 @@ #include "../../newgrf_industries.h" #include "../../core/random_func.hpp" +#include "../../safeguards.h" + /* static */ bool ScriptIndustryType::IsValidIndustryType(IndustryType industry_type) { if (industry_type >= NUM_INDUSTRYTYPES) return false; diff --git a/src/script/api/script_industrytypelist.cpp b/src/script/api/script_industrytypelist.cpp index c72fabcaa5..b60361578b 100644 --- a/src/script/api/script_industrytypelist.cpp +++ b/src/script/api/script_industrytypelist.cpp @@ -13,6 +13,8 @@ #include "script_industrytypelist.hpp" #include "../../industry.h" +#include "../../safeguards.h" + ScriptIndustryTypeList::ScriptIndustryTypeList() { for (int i = 0; i < NUM_INDUSTRYTYPES; i++) { diff --git a/src/script/api/script_infrastructure.cpp b/src/script/api/script_infrastructure.cpp index 1ce051bba0..d7da2747e1 100644 --- a/src/script/api/script_infrastructure.cpp +++ b/src/script/api/script_infrastructure.cpp @@ -17,6 +17,8 @@ #include "../../water.h" #include "../../station_func.h" +#include "../../safeguards.h" + /* static */ uint32 ScriptInfrastructure::GetRailPieceCount(ScriptCompany::CompanyID company, ScriptRail::RailType railtype) { diff --git a/src/script/api/script_list.cpp b/src/script/api/script_list.cpp index 68df5bf956..bdbc1209bd 100644 --- a/src/script/api/script_list.cpp +++ b/src/script/api/script_list.cpp @@ -14,14 +14,16 @@ #include "../../debug.h" #include "../../script/squirrel.hpp" +#include "../../safeguards.h" + /** * Base class for any ScriptList sorter. */ class ScriptListSorter { protected: - ScriptList *list; ///< The list that's being sorted. + ScriptList *list; ///< The list that's being sorted. bool has_no_more_items; ///< Whether we have more items to iterate over. - int32 item_next; ///< The next item we will show. + int64 item_next; ///< The next item we will show. public: /** @@ -32,7 +34,7 @@ public: /** * Get the first item of the sorter. */ - virtual int32 Begin() = 0; + virtual int64 Begin() = 0; /** * Stop iterating a sorter. @@ -42,7 +44,7 @@ public: /** * Get the next item of the sorter. */ - virtual int32 Next() = 0; + virtual int64 Next() = 0; /** * See if the sorter has reached the end. @@ -56,6 +58,17 @@ public: * Callback from the list if an item gets removed. */ virtual void Remove(int item) = 0; + + /** + * Attach the sorter to a new list. This assumes the content of the old list has been moved to + * the new list, too, so that we don't have to invalidate any iterators. Note that std::swap + * doesn't invalidate iterators on lists and maps, so that should be safe. + * @param target New list to attach to. + */ + virtual void Retarget(ScriptList *new_list) + { + this->list = new_list; + } }; /** @@ -78,7 +91,7 @@ public: this->End(); } - int32 Begin() + int64 Begin() { if (this->list->buckets.empty()) return 0; this->has_no_more_items = false; @@ -88,7 +101,7 @@ public: this->bucket_list_iter = this->bucket_list->begin(); this->item_next = *this->bucket_list_iter; - int32 item_current = this->item_next; + int64 item_current = this->item_next; FindNext(); return item_current; } @@ -123,11 +136,11 @@ public: this->item_next = *this->bucket_list_iter; } - int32 Next() + int64 Next() { if (this->IsEnd()) return 0; - int32 item_current = this->item_next; + int64 item_current = this->item_next; FindNext(); return item_current; } @@ -149,6 +162,9 @@ public: */ class ScriptListSorterValueDescending : public ScriptListSorter { private: + /* Note: We cannot use reverse_iterator. + * The iterators must only be invalidated when the element they are pointing to is removed. + * This only holds for forward iterators. */ ScriptList::ScriptListBucket::iterator bucket_iter; ///< The iterator over the list to find the buckets. ScriptList::ScriptItemList *bucket_list; ///< The current bucket list we're iterator over. ScriptList::ScriptItemList::iterator bucket_list_iter; ///< The iterator over the bucket list. @@ -164,22 +180,22 @@ public: this->End(); } - int32 Begin() + int64 Begin() { if (this->list->buckets.empty()) return 0; this->has_no_more_items = false; /* Go to the end of the bucket-list */ - this->bucket_iter = this->list->buckets.begin(); - for (size_t i = this->list->buckets.size(); i > 1; i--) this->bucket_iter++; + this->bucket_iter = this->list->buckets.end(); + --this->bucket_iter; this->bucket_list = &(*this->bucket_iter).second; /* Go to the end of the items in the bucket */ - this->bucket_list_iter = this->bucket_list->begin(); - for (size_t i = this->bucket_list->size(); i > 1; i--) this->bucket_list_iter++; + this->bucket_list_iter = this->bucket_list->end(); + --this->bucket_list_iter; this->item_next = *this->bucket_list_iter; - int32 item_current = this->item_next; + int64 item_current = this->item_next; FindNext(); return item_current; } @@ -209,19 +225,19 @@ public: this->bucket_iter--; this->bucket_list = &(*this->bucket_iter).second; /* Go to the end of the items in the bucket */ - this->bucket_list_iter = this->bucket_list->begin(); - for (size_t i = this->bucket_list->size(); i > 1; i--) this->bucket_list_iter++; + this->bucket_list_iter = this->bucket_list->end(); + --this->bucket_list_iter; } else { this->bucket_list_iter--; } this->item_next = *this->bucket_list_iter; } - int32 Next() + int64 Next() { if (this->IsEnd()) return 0; - int32 item_current = this->item_next; + int64 item_current = this->item_next; FindNext(); return item_current; } @@ -256,7 +272,7 @@ public: this->End(); } - int32 Begin() + int64 Begin() { if (this->list->items.empty()) return 0; this->has_no_more_items = false; @@ -264,7 +280,7 @@ public: this->item_iter = this->list->items.begin(); this->item_next = (*this->item_iter).first; - int32 item_current = this->item_next; + int64 item_current = this->item_next; FindNext(); return item_current; } @@ -287,11 +303,11 @@ public: if (this->item_iter != this->list->items.end()) item_next = (*this->item_iter).first; } - int32 Next() + int64 Next() { if (this->IsEnd()) return 0; - int32 item_current = this->item_next; + int64 item_current = this->item_next; FindNext(); return item_current; } @@ -313,6 +329,9 @@ public: */ class ScriptListSorterItemDescending : public ScriptListSorter { private: + /* Note: We cannot use reverse_iterator. + * The iterators must only be invalidated when the element they are pointing to is removed. + * This only holds for forward iterators. */ ScriptList::ScriptListMap::iterator item_iter; ///< The iterator over the items in the map. public: @@ -326,16 +345,16 @@ public: this->End(); } - int32 Begin() + int64 Begin() { if (this->list->items.empty()) return 0; this->has_no_more_items = false; - this->item_iter = this->list->items.begin(); - for (size_t i = this->list->items.size(); i > 1; i--) this->item_iter++; + this->item_iter = this->list->items.end(); + --this->item_iter; this->item_next = (*this->item_iter).first; - int32 item_current = this->item_next; + int64 item_current = this->item_next; FindNext(); return item_current; } @@ -354,15 +373,20 @@ public: this->has_no_more_items = true; return; } - this->item_iter--; + if (this->item_iter == this->list->items.begin()) { + /* Use 'end' as marker for 'beyond begin' */ + this->item_iter = this->list->items.end(); + } else { + this->item_iter--; + } if (this->item_iter != this->list->items.end()) item_next = (*this->item_iter).first; } - int32 Next() + int64 Next() { if (this->IsEnd()) return 0; - int32 item_current = this->item_next; + int64 item_current = this->item_next; FindNext(); return item_current; } @@ -396,7 +420,7 @@ ScriptList::~ScriptList() delete this->sorter; } -bool ScriptList::HasItem(int32 item) +bool ScriptList::HasItem(int64 item) { return this->items.count(item) == 1; } @@ -410,39 +434,40 @@ void ScriptList::Clear() this->sorter->End(); } -void ScriptList::AddItem(int32 item, int32 value) +void ScriptList::AddItem(int64 item, int64 value) { this->modifications++; if (this->HasItem(item)) return; - this->items[item] = 0; - this->buckets[0].insert(item); - - this->SetValue(item, value); + this->items[item] = value; + this->buckets[value].insert(item); } -void ScriptList::RemoveItem(int32 item) +void ScriptList::RemoveItem(int64 item) { this->modifications++; - if (!this->HasItem(item)) return; + ScriptListMap::iterator item_iter = this->items.find(item); + if (item_iter == this->items.end()) return; - int32 value = this->GetValue(item); + int64 value = item_iter->second; this->sorter->Remove(item); - this->buckets[value].erase(item); - if (this->buckets[value].empty()) this->buckets.erase(value); - this->items.erase(item); + ScriptListBucket::iterator bucket_iter = this->buckets.find(value); + assert(bucket_iter != this->buckets.end()); + bucket_iter->second.erase(item); + if (bucket_iter->second.empty()) this->buckets.erase(bucket_iter); + this->items.erase(item_iter); } -int32 ScriptList::Begin() +int64 ScriptList::Begin() { this->initialized = true; return this->sorter->Begin(); } -int32 ScriptList::Next() +int64 ScriptList::Next() { if (this->initialized == false) { DEBUG(script, 0, "Next() is invalid as Begin() is never called"); @@ -470,26 +495,28 @@ int32 ScriptList::Count() return (int32)this->items.size(); } -int32 ScriptList::GetValue(int32 item) +int64 ScriptList::GetValue(int64 item) { - if (!this->HasItem(item)) return 0; - - return this->items[item]; + ScriptListMap::const_iterator item_iter = this->items.find(item); + return item_iter == this->items.end() ? 0 : item_iter->second; } -bool ScriptList::SetValue(int32 item, int32 value) +bool ScriptList::SetValue(int64 item, int64 value) { this->modifications++; - if (!this->HasItem(item)) return false; + ScriptListMap::iterator item_iter = this->items.find(item); + if (item_iter == this->items.end()) return false; - int32 value_old = this->GetValue(item); + int64 value_old = item_iter->second; if (value_old == value) return true; this->sorter->Remove(item); - this->buckets[value_old].erase(item); - if (this->buckets[value_old].empty()) this->buckets.erase(value_old); - this->items[item] = value; + ScriptListBucket::iterator bucket_iter = this->buckets.find(value_old); + assert(bucket_iter != this->buckets.end()); + bucket_iter->second.erase(item); + if (bucket_iter->second.empty()) this->buckets.erase(bucket_iter); + item_iter->second = value; this->buckets[value].insert(item); return true; @@ -529,6 +556,8 @@ void ScriptList::Sort(SorterType sorter, bool ascending) void ScriptList::AddList(ScriptList *list) { + if (list == this) return; + ScriptListMap *list_items = &list->items; for (ScriptListMap::iterator iter = list_items->begin(); iter != list_items->end(); iter++) { this->AddItem((*iter).first); @@ -536,7 +565,22 @@ void ScriptList::AddList(ScriptList *list) } } -void ScriptList::RemoveAboveValue(int32 value) +void ScriptList::SwapList(ScriptList *list) +{ + if (list == this) return; + + this->items.swap(list->items); + this->buckets.swap(list->buckets); + Swap(this->sorter, list->sorter); + Swap(this->sorter_type, list->sorter_type); + Swap(this->sort_ascending, list->sort_ascending); + Swap(this->initialized, list->initialized); + Swap(this->modifications, list->modifications); + this->sorter->Retarget(this); + list->sorter->Retarget(list); +} + +void ScriptList::RemoveAboveValue(int64 value) { this->modifications++; @@ -546,7 +590,7 @@ void ScriptList::RemoveAboveValue(int32 value) } } -void ScriptList::RemoveBelowValue(int32 value) +void ScriptList::RemoveBelowValue(int64 value) { this->modifications++; @@ -556,7 +600,7 @@ void ScriptList::RemoveBelowValue(int32 value) } } -void ScriptList::RemoveBetweenValue(int32 start, int32 end) +void ScriptList::RemoveBetweenValue(int64 start, int64 end) { this->modifications++; @@ -566,7 +610,7 @@ void ScriptList::RemoveBetweenValue(int32 start, int32 end) } } -void ScriptList::RemoveValue(int32 value) +void ScriptList::RemoveValue(int64 value) { this->modifications++; @@ -654,13 +698,17 @@ void ScriptList::RemoveList(ScriptList *list) { this->modifications++; - ScriptListMap *list_items = &list->items; - for (ScriptListMap::iterator iter = list_items->begin(); iter != list_items->end(); iter++) { - this->RemoveItem((*iter).first); + if (list == this) { + Clear(); + } else { + ScriptListMap *list_items = &list->items; + for (ScriptListMap::iterator iter = list_items->begin(); iter != list_items->end(); iter++) { + this->RemoveItem((*iter).first); + } } } -void ScriptList::KeepAboveValue(int32 value) +void ScriptList::KeepAboveValue(int64 value) { this->modifications++; @@ -670,7 +718,7 @@ void ScriptList::KeepAboveValue(int32 value) } } -void ScriptList::KeepBelowValue(int32 value) +void ScriptList::KeepBelowValue(int64 value) { this->modifications++; @@ -680,7 +728,7 @@ void ScriptList::KeepBelowValue(int32 value) } } -void ScriptList::KeepBetweenValue(int32 start, int32 end) +void ScriptList::KeepBetweenValue(int64 start, int64 end) { this->modifications++; @@ -690,7 +738,7 @@ void ScriptList::KeepBetweenValue(int32 start, int32 end) } } -void ScriptList::KeepValue(int32 value) +void ScriptList::KeepValue(int64 value) { this->modifications++; @@ -716,14 +764,12 @@ void ScriptList::KeepBottom(int32 count) void ScriptList::KeepList(ScriptList *list) { + if (list == this) return; + this->modifications++; ScriptList tmp; - for (ScriptListMap::iterator iter = this->items.begin(); iter != this->items.end(); iter++) { - tmp.AddItem((*iter).first); - tmp.SetValue((*iter).first, (*iter).second); - } - + tmp.AddList(this); tmp.RemoveList(list); this->RemoveList(&tmp); } @@ -735,9 +781,10 @@ SQInteger ScriptList::_get(HSQUIRRELVM vm) SQInteger idx; sq_getinteger(vm, 2, &idx); - if (!this->HasItem(idx)) return SQ_ERROR; + ScriptListMap::const_iterator item_iter = this->items.find(idx); + if (item_iter == this->items.end()) return SQ_ERROR; - sq_pushinteger(vm, this->GetValue(idx)); + sq_pushinteger(vm, item_iter->second); return 1; } @@ -745,7 +792,7 @@ SQInteger ScriptList::_set(HSQUIRRELVM vm) { if (sq_gettype(vm, 2) != OT_INTEGER) return SQ_ERROR; if (sq_gettype(vm, 3) != OT_INTEGER && sq_gettype(vm, 3) != OT_NULL) { - return sq_throwerror(vm, _SC("you can only assign integers to this list")); + return sq_throwerror(vm, "you can only assign integers to this list"); } SQInteger idx, val; @@ -797,7 +844,7 @@ SQInteger ScriptList::Valuate(HSQUIRRELVM vm) int nparam = sq_gettop(vm) - 1; if (nparam < 1) { - return sq_throwerror(vm, _SC("You need to give a least a Valuator as parameter to ScriptList::Valuate")); + return sq_throwerror(vm, "You need to give a least a Valuator as parameter to ScriptList::Valuate"); } /* Make sure the valuator function is really a function, and not any @@ -805,7 +852,7 @@ SQInteger ScriptList::Valuate(HSQUIRRELVM vm) * first parameter they give. */ SQObjectType valuator_type = sq_gettype(vm, 2); if (valuator_type != OT_CLOSURE && valuator_type != OT_NATIVECLOSURE) { - return sq_throwerror(vm, _SC("parameter 1 has an invalid type (expected function)")); + return sq_throwerror(vm, "parameter 1 has an invalid type (expected function)"); } /* Don't allow docommand from a Valuator, as we can't resume in @@ -854,7 +901,7 @@ SQInteger ScriptList::Valuate(HSQUIRRELVM vm) sq_pop(vm, nparam + 4); ScriptObject::SetAllowDoCommand(backup_allow); - return sq_throwerror(vm, _SC("return value of valuator is not valid (not integer/bool)")); + return sq_throwerror(vm, "return value of valuator is not valid (not integer/bool)"); } } @@ -864,7 +911,7 @@ SQInteger ScriptList::Valuate(HSQUIRRELVM vm) sq_pop(vm, nparam + 4); ScriptObject::SetAllowDoCommand(backup_allow); - return sq_throwerror(vm, _SC("modifying valuated list outside of valuator function")); + return sq_throwerror(vm, "modifying valuated list outside of valuator function"); } this->SetValue((*iter).first, value); diff --git a/src/script/api/script_list.hpp b/src/script/api/script_list.hpp index 2117f959da..1fbafe3d9f 100644 --- a/src/script/api/script_list.hpp +++ b/src/script/api/script_list.hpp @@ -44,9 +44,9 @@ private: int modifications; ///< Number of modification that has been done. To prevent changing data while valuating. public: - typedef std::set ScriptItemList; ///< The list of items inside the bucket - typedef std::map ScriptListBucket; ///< The bucket list per value - typedef std::map ScriptListMap; ///< List per item + typedef std::set ScriptItemList; ///< The list of items inside the bucket + typedef std::map ScriptListBucket; ///< The bucket list per value + typedef std::map ScriptListMap; ///< List per item ScriptListMap items; ///< The items in the list ScriptListBucket buckets; ///< The items in the list, sorted by value @@ -60,16 +60,16 @@ public: * @param item the item to add. Should be unique, otherwise it is ignored. * @param value the value to assign. */ - void AddItem(int32 item, int32 value); + void AddItem(int64 item, int64 value); #else - void AddItem(int32 item, int32 value = 0); + void AddItem(int64 item, int64 value = 0); #endif /* DOXYGEN_API */ /** * Remove a single item from the list. * @param item the item to remove. If not existing, it is ignored. */ - void RemoveItem(int32 item); + void RemoveItem(int64 item); /** * Clear the list, making Count() returning 0 and IsEmpty() returning true. @@ -81,21 +81,21 @@ public: * @param item the item to check for. * @return true if the item is in the list. */ - bool HasItem(int32 item); + bool HasItem(int64 item); /** - * Go to the beginning of the list. - * @return the item value of the first item. + * Go to the beginning of the list and return the item. To get the value use list.GetValue(list.Begin()). + * @return the first item. * @note returns 0 if beyond end-of-list. Use IsEnd() to check for end-of-list. */ - int32 Begin(); + int64 Begin(); /** - * Go to the next item in the list. - * @return the item value of the next item. + * Go to the next item in the list and return the item. To get the value use list.GetValue(list.Next()). + * @return the next item. * @note returns 0 if beyond end-of-list. Use IsEnd() to check for end-of-list. */ - int32 Next(); + int64 Next(); /** * Check if a list is empty. @@ -121,7 +121,7 @@ public: * @param item the item to get the value from * @return the value that belongs to this item. */ - int32 GetValue(int32 item); + int64 GetValue(int64 item); /** * Set a value of an item directly. @@ -131,7 +131,7 @@ public: * @note Changing values of items while looping through a list might cause * entries to be skipped. Be very careful with such operations. */ - bool SetValue(int32 item, int32 value); + bool SetValue(int64 item, int64 value); /** * Sort this list by the given sorter and direction. @@ -152,30 +152,36 @@ public: */ void AddList(ScriptList *list); + /** + * Swap the contents of two lists. + * @param list The list that will be swapped with. + */ + void SwapList(ScriptList *list); + /** * Removes all items with a higher value than 'value'. * @param value the value above which all items are removed. */ - void RemoveAboveValue(int32 value); + void RemoveAboveValue(int64 value); /** * Removes all items with a lower value than 'value'. * @param value the value below which all items are removed. */ - void RemoveBelowValue(int32 value); + void RemoveBelowValue(int64 value); /** * Removes all items with a value above start and below end. * @param start the lower bound of the to be removed values (exclusive). * @param end the upper bound of the to be removed values (exclusive). */ - void RemoveBetweenValue(int32 start, int32 end); + void RemoveBetweenValue(int64 start, int64 end); /** * Remove all items with this value. * @param value the value to remove. */ - void RemoveValue(int32 value); + void RemoveValue(int64 value); /** * Remove the first count items. @@ -200,26 +206,26 @@ public: * Keep all items with a higher value than 'value'. * @param value the value above which all items are kept. */ - void KeepAboveValue(int32 value); + void KeepAboveValue(int64 value); /** * Keep all items with a lower value than 'value'. * @param value the value below which all items are kept. */ - void KeepBelowValue(int32 value); + void KeepBelowValue(int64 value); /** * Keep all items with a value above start and below end. * @param start the lower bound of the to be kept values (exclusive). * @param end the upper bound of the to be kept values (exclusive). */ - void KeepBetweenValue(int32 start, int32 end); + void KeepBetweenValue(int64 start, int64 end); /** * Keep all items with this value. * @param value the value to keep. */ - void KeepValue(int32 value); + void KeepValue(int64 value); /** * Keep the first count items, i.e. remove everything except the first count items. diff --git a/src/script/api/script_log.cpp b/src/script/api/script_log.cpp index fc6a0b193a..d9fbbde982 100644 --- a/src/script/api/script_log.cpp +++ b/src/script/api/script_log.cpp @@ -14,6 +14,9 @@ #include "../../core/alloc_func.hpp" #include "../../debug.h" #include "../../window_func.h" +#include "../../string_func.h" + +#include "../../safeguards.h" /* static */ void ScriptLog::Info(const char *message) { @@ -51,7 +54,7 @@ /* Free last message, and write new message */ free(log->lines[log->pos]); - log->lines[log->pos] = strdup(message); + log->lines[log->pos] = stredup(message); log->type[log->pos] = level; /* Cut string after first \n */ diff --git a/src/script/api/script_map.cpp b/src/script/api/script_map.cpp index 3f224b3d15..6334089fdb 100644 --- a/src/script/api/script_map.cpp +++ b/src/script/api/script_map.cpp @@ -13,6 +13,8 @@ #include "script_map.hpp" #include "../../tile_map.h" +#include "../../safeguards.h" + /* static */ bool ScriptMap::IsValidTile(TileIndex t) { return ::IsValidTile(t); diff --git a/src/script/api/script_marine.cpp b/src/script/api/script_marine.cpp index abc8666f1f..434ec11acc 100644 --- a/src/script/api/script_marine.cpp +++ b/src/script/api/script_marine.cpp @@ -15,6 +15,8 @@ #include "../../station_base.h" #include "../../tile_cmd.h" +#include "../../safeguards.h" + /* static */ bool ScriptMarine::IsWaterDepotTile(TileIndex tile) { diff --git a/src/script/api/script_news.cpp b/src/script/api/script_news.cpp index e80b884913..5f84f96d69 100644 --- a/src/script/api/script_news.cpp +++ b/src/script/api/script_news.cpp @@ -11,11 +11,17 @@ #include "../../stdafx.h" #include "script_news.hpp" +#include "script_industry.hpp" +#include "script_station.hpp" +#include "script_map.hpp" +#include "script_town.hpp" #include "script_error.hpp" #include "../../command_type.h" #include "../../string_func.h" -/* static */ bool ScriptNews::Create(NewsType type, Text *text, ScriptCompany::CompanyID company) +#include "../../safeguards.h" + +/* static */ bool ScriptNews::Create(NewsType type, Text *text, ScriptCompany::CompanyID company, NewsReferenceType ref_type, uint32 reference) { CCountedPtr counter(text); @@ -24,9 +30,15 @@ EnforcePreconditionEncodedText(false, encoded); EnforcePrecondition(false, type == NT_ECONOMY || type == NT_SUBSIDIES || type == NT_GENERAL); EnforcePrecondition(false, company == ScriptCompany::COMPANY_INVALID || ScriptCompany::ResolveCompanyID(company) != ScriptCompany::COMPANY_INVALID); + EnforcePrecondition(false, (ref_type == NR_NONE) || + (ref_type == NR_TILE && ScriptMap::IsValidTile(reference)) || + (ref_type == NR_STATION && ScriptStation::IsValidStation(reference)) || + (ref_type == NR_INDUSTRY && ScriptIndustry::IsValidIndustry(reference)) || + (ref_type == NR_TOWN && ScriptTown::IsValidTown(reference))); uint8 c = company; if (company == ScriptCompany::COMPANY_INVALID) c = INVALID_COMPANY; - return ScriptObject::DoCommand(0, type | (NR_NONE << 8) | (c << 16), 0, CMD_CUSTOM_NEWS_ITEM, encoded); + if (ref_type == NR_NONE) reference = 0; + return ScriptObject::DoCommand(0, type | (ref_type << 8) | (c << 16), reference, CMD_CUSTOM_NEWS_ITEM, encoded); } diff --git a/src/script/api/script_news.hpp b/src/script/api/script_news.hpp index 8defa3a85f..ca0656608f 100644 --- a/src/script/api/script_news.hpp +++ b/src/script/api/script_news.hpp @@ -36,15 +36,36 @@ public: }; /** - * Create a news messages for a company. + * Reference to a game element. + */ + enum NewsReferenceType { + /* Selection of useful game elements to refer to. */ + NR_NONE = ::NR_NONE, ///< No reference supplied. + NR_TILE = ::NR_TILE, ///< Reference location, scroll to the location when clicking on the news. + NR_STATION = ::NR_STATION, ///< Reference station, scroll to the station when clicking on the news. Delete news when the station is deleted. + NR_INDUSTRY = ::NR_INDUSTRY, ///< Reference industry, scrolls to the industry when clicking on the news. Delete news when the industry is deleted. + NR_TOWN = ::NR_TOWN, ///< Reference town, scroll to the town when clicking on the news. + }; + + /** + * Create a news message for everybody, or for one company. * @param type The type of the news. * @param text The text message to show (can be either a raw string, or a ScriptText object). * @param company The company, or COMPANY_INVALID for all companies. + * @param ref_type Type of referred game element. + * @param reference The referenced game element of \a ref_type. + * - For #NR_NONE this parameter is ignored. + * - For #NR_TILE this parameter should be a valid location (ScriptMap::IsValidTile). + * - For #NR_STATION this parameter should be a valid stationID (ScriptStation::IsValidStation). + * - For #NR_INDUSTRY this parameter should be a valid industryID (ScriptIndustry::IsValidIndustry). + * - For #NR_TOWN this parameter should be a valid townID (ScriptTown::IsValidTown). * @return True if the action succeeded. + * @pre type must be #NT_ECONOMY, #NT_SUBSIDIES, or #NT_GENERAL. * @pre text != NULL. * @pre company == COMPANY_INVALID || ResolveCompanyID(company) != COMPANY_INVALID. + * @pre The \a reference condition must be fulfilled. */ - static bool Create(NewsType type, Text *text, ScriptCompany::CompanyID company); + static bool Create(NewsType type, Text *text, ScriptCompany::CompanyID company, NewsReferenceType ref_type, uint32 reference); }; #endif /* SCRIPT_NEWS_HPP */ diff --git a/src/script/api/script_object.cpp b/src/script/api/script_object.cpp index 679efd1a7c..49dba6bb73 100644 --- a/src/script/api/script_object.cpp +++ b/src/script/api/script_object.cpp @@ -24,6 +24,8 @@ #include "../script_fatalerror.hpp" #include "script_error.hpp" +#include "../../safeguards.h" + /** * Get the storage associated with the current ScriptInstance. * @return The storage. @@ -262,7 +264,7 @@ ScriptObject::ActiveInstance::~ActiveInstance() char buffer[64]; ::GetString(buffer, string, lastof(buffer)); ::str_validate(buffer, lastof(buffer), SVS_NONE); - return ::strdup(buffer); + return ::stredup(buffer); } /* static */ void ScriptObject::SetCallbackVariable(int index, int value) diff --git a/src/script/api/script_order.cpp b/src/script/api/script_order.cpp index 3098b452fd..676262dc77 100644 --- a/src/script/api/script_order.cpp +++ b/src/script/api/script_order.cpp @@ -21,6 +21,8 @@ #include "../../station_base.h" #include "../../waypoint_base.h" +#include "../../safeguards.h" + /** * Gets the order type given a tile * @param t the tile to get the order from diff --git a/src/script/api/script_rail.cpp b/src/script/api/script_rail.cpp index 26317a72c0..af68a3edc8 100644 --- a/src/script/api/script_rail.cpp +++ b/src/script/api/script_rail.cpp @@ -21,6 +21,8 @@ #include "../../newgrf_station.h" #include "../../strings_func.h" +#include "../../safeguards.h" + /* static */ char *ScriptRail::GetName(RailType rail_type) { if (!IsRailTypeAvailable(rail_type)) return NULL; diff --git a/src/script/api/script_railtypelist.cpp b/src/script/api/script_railtypelist.cpp index 9373ce85c8..016145b764 100644 --- a/src/script/api/script_railtypelist.cpp +++ b/src/script/api/script_railtypelist.cpp @@ -13,6 +13,8 @@ #include "script_railtypelist.hpp" #include "../../rail.h" +#include "../../safeguards.h" + ScriptRailTypeList::ScriptRailTypeList() { for (RailType rt = RAILTYPE_BEGIN; rt != RAILTYPE_END; rt++) { diff --git a/src/script/api/script_road.cpp b/src/script/api/script_road.cpp index 445446695e..3a9a8ca3fd 100644 --- a/src/script/api/script_road.cpp +++ b/src/script/api/script_road.cpp @@ -16,6 +16,8 @@ #include "../../station_base.h" #include "../../script/squirrel_helper_type.hpp" +#include "../../safeguards.h" + /* static */ ScriptRoad::RoadVehicleType ScriptRoad::GetRoadVehicleTypeForCargo(CargoID cargo_type) { return ScriptCargo::HasCargoClass(cargo_type, ScriptCargo::CC_PASSENGERS) ? ROADVEHTYPE_BUS : ROADVEHTYPE_TRUCK; diff --git a/src/script/api/script_sign.cpp b/src/script/api/script_sign.cpp index 3373800b54..236e1df7ef 100644 --- a/src/script/api/script_sign.cpp +++ b/src/script/api/script_sign.cpp @@ -18,6 +18,8 @@ #include "../../strings_func.h" #include "../../tile_map.h" +#include "../../safeguards.h" + /* static */ bool ScriptSign::IsValidSign(SignID sign_id) { const Sign *si = ::Sign::GetIfValid(sign_id); diff --git a/src/script/api/script_signlist.cpp b/src/script/api/script_signlist.cpp index 5f6c6075bb..61ab9665aa 100644 --- a/src/script/api/script_signlist.cpp +++ b/src/script/api/script_signlist.cpp @@ -14,6 +14,8 @@ #include "script_sign.hpp" #include "../../signs_base.h" +#include "../../safeguards.h" + ScriptSignList::ScriptSignList() { Sign *s; diff --git a/src/script/api/script_station.cpp b/src/script/api/script_station.cpp index 2774ac28ea..5ed43e0a67 100644 --- a/src/script/api/script_station.cpp +++ b/src/script/api/script_station.cpp @@ -18,6 +18,8 @@ #include "../../roadstop_base.h" #include "../../town.h" +#include "../../safeguards.h" + /* static */ bool ScriptStation::IsValidStation(StationID station_id) { const Station *st = ::Station::GetIfValid(station_id); @@ -37,45 +39,104 @@ return ::GetStationIndex(tile); } +template +/* static */ bool ScriptStation::IsCargoRequestValid(StationID station_id, + StationID from_station_id, StationID via_station_id, CargoID cargo_id) +{ + if (!IsValidStation(station_id)) return false; + if (Tfrom && !IsValidStation(from_station_id) && from_station_id != STATION_INVALID) return false; + if (Tvia && !IsValidStation(via_station_id) && via_station_id != STATION_INVALID) return false; + if (!ScriptCargo::IsValidCargo(cargo_id)) return false; + return true; +} + +template +/* static */ int32 ScriptStation::CountCargoWaiting(StationID station_id, + StationID from_station_id, StationID via_station_id, CargoID cargo_id) +{ + if (!ScriptStation::IsCargoRequestValid(station_id, from_station_id, + via_station_id, cargo_id)) { + return -1; + } + + const StationCargoList &cargo_list = ::Station::Get(station_id)->goods[cargo_id].cargo; + if (!Tfrom && !Tvia) return cargo_list.TotalCount(); + + uint16 cargo_count = 0; + std::pair range = Tvia ? + cargo_list.Packets()->equal_range(via_station_id) : + std::make_pair(StationCargoList::ConstIterator(cargo_list.Packets()->begin()), + StationCargoList::ConstIterator(cargo_list.Packets()->end())); + for (StationCargoList::ConstIterator it = range.first; it != range.second; it++) { + const CargoPacket *cp = *it; + if (!Tfrom || cp->SourceStation() == from_station_id) cargo_count += cp->Count(); + } + + return cargo_count; +} + /* static */ int32 ScriptStation::GetCargoWaiting(StationID station_id, CargoID cargo_id) { - if (!IsValidStation(station_id)) return -1; - if (!ScriptCargo::IsValidCargo(cargo_id)) return -1; - - return ::Station::Get(station_id)->goods[cargo_id].cargo.TotalCount(); + return CountCargoWaiting(station_id, STATION_INVALID, STATION_INVALID, cargo_id); } -/* static */ int32 ScriptStation::GetCargoWaitingFrom(StationID station_id, StationID from_station_id, CargoID cargo_id) +/* static */ int32 ScriptStation::GetCargoWaitingFrom(StationID station_id, + StationID from_station_id, CargoID cargo_id) { - if (!IsValidStation(station_id)) return -1; - if (!IsValidStation(from_station_id) && from_station_id != STATION_INVALID) return -1; - if (!ScriptCargo::IsValidCargo(cargo_id)) return -1; - - const StationCargoList &cargo_list = ::Station::Get(station_id)->goods[cargo_id].cargo; - uint16 cargo_count = 0; - for (StationCargoList::ConstIterator it = cargo_list.Packets()->begin(); it != cargo_list.Packets()->end(); it++) { - CargoPacket *cp = *it; - if (cp->SourceStation() == from_station_id) cargo_count += cp->Count(); - } - - return cargo_count; + return CountCargoWaiting(station_id, from_station_id, STATION_INVALID, cargo_id); } -/* static */ int32 ScriptStation::GetCargoWaitingVia(StationID station_id, StationID via_station_id, CargoID cargo_id) +/* static */ int32 ScriptStation::GetCargoWaitingVia(StationID station_id, + StationID via_station_id, CargoID cargo_id) { - if (!IsValidStation(station_id)) return -1; - if (!IsValidStation(via_station_id) && via_station_id != STATION_INVALID) return -1; - if (!ScriptCargo::IsValidCargo(cargo_id)) return -1; + return CountCargoWaiting(station_id, STATION_INVALID, via_station_id, cargo_id); +} - const StationCargoList &cargo_list = ::Station::Get(station_id)->goods[cargo_id].cargo; - uint16 cargo_count = 0; - std::pair range = cargo_list.Packets()->equal_range(via_station_id); - for (StationCargoList::ConstIterator it = range.first; it != range.second; it++) { - CargoPacket *cp = *it; - cargo_count += cp->Count(); +/* static */ int32 ScriptStation::GetCargoWaitingFromVia(StationID station_id, + StationID from_station_id, StationID via_station_id, CargoID cargo_id) +{ + return CountCargoWaiting(station_id, from_station_id, via_station_id, cargo_id); +} + +template +/* static */ int32 ScriptStation::CountCargoPlanned(StationID station_id, + StationID from_station_id, StationID via_station_id, CargoID cargo_id) +{ + if (!ScriptStation::IsCargoRequestValid(station_id, from_station_id, + via_station_id, cargo_id)) { + return -1; } - return cargo_count; + const FlowStatMap &flows = ::Station::Get(station_id)->goods[cargo_id].flows; + if (Tfrom) { + return Tvia ? flows.GetFlowFromVia(from_station_id, via_station_id) : + flows.GetFlowFrom(from_station_id); + } else { + return Tvia ? flows.GetFlowVia(via_station_id) : flows.GetFlow(); + } +} + +/* static */ int32 ScriptStation::GetCargoPlanned(StationID station_id, CargoID cargo_id) +{ + return CountCargoPlanned(station_id, STATION_INVALID, STATION_INVALID, cargo_id); +} + +/* static */ int32 ScriptStation::GetCargoPlannedFrom(StationID station_id, + StationID from_station_id, CargoID cargo_id) +{ + return CountCargoPlanned(station_id, from_station_id, STATION_INVALID, cargo_id); +} + +/* static */ int32 ScriptStation::GetCargoPlannedVia(StationID station_id, + StationID via_station_id, CargoID cargo_id) +{ + return CountCargoPlanned(station_id, STATION_INVALID, via_station_id, cargo_id); +} + +/* static */ int32 ScriptStation::GetCargoPlannedFromVia(StationID station_id, + StationID from_station_id, StationID via_station_id, CargoID cargo_id) +{ + return CountCargoPlanned(station_id, from_station_id, via_station_id, cargo_id); } /* static */ bool ScriptStation::HasCargoRating(StationID station_id, CargoID cargo_id) @@ -169,7 +230,7 @@ return ::Station::Get(station_id)->town->index; } -/*static */ bool ScriptStation::IsAirportClosed(StationID station_id) +/* static */ bool ScriptStation::IsAirportClosed(StationID station_id) { EnforcePrecondition(false, IsValidStation(station_id)); EnforcePrecondition(false, HasStationType(station_id, STATION_AIRPORT)); @@ -177,7 +238,7 @@ return (::Station::Get(station_id)->airport.flags & AIRPORT_CLOSED_block) != 0; } -/*static */ bool ScriptStation::OpenCloseAirport(StationID station_id) +/* static */ bool ScriptStation::OpenCloseAirport(StationID station_id) { EnforcePrecondition(false, IsValidStation(station_id)); EnforcePrecondition(false, HasStationType(station_id, STATION_AIRPORT)); diff --git a/src/script/api/script_station.hpp b/src/script/api/script_station.hpp index 8108b83703..8561cd9bdd 100644 --- a/src/script/api/script_station.hpp +++ b/src/script/api/script_station.hpp @@ -89,6 +89,7 @@ public: /** * See how much cargo with a specific source station there is waiting on a station. * @param station_id The station to get the cargo-waiting of. + * @param from_station_id The source station of the cargo. Pass STATION_INVALID to get cargo of which the source has been deleted. * @param cargo_id The cargo to get the cargo-waiting of. * @pre IsValidStation(station_id). * @pre IsValidStation(from_station_id) || from_station_id == STATION_INVALID. @@ -100,17 +101,84 @@ public: /** * See how much cargo with a specific via-station there is waiting on a station. - * @param station_id The station to get the cargo-waiting of, or pass STATION_INVALID to get waiting cargo for "via any station". + * @param station_id The station to get the cargo-waiting of. + * @param via_station_id The next station the cargo is going to. Pass STATION_INVALID to get waiting cargo for "via any station". * @param cargo_id The cargo to get the cargo-waiting of. * @pre IsValidStation(station_id). * @pre IsValidStation(via_station_id) || via_station_id == STATION_INVALID. * @pre IsValidCargo(cargo_id). * @return The amount of units waiting at the station with via_station_id as next hop. * @note if ScriptCargo.GetCargoDistributionType(cargo_id) == ScriptCargo.DT_MANUAL, then all waiting cargo will have STATION_INVALID as next hop. - */ static int32 GetCargoWaitingVia(StationID station_id, StationID via_station_id, CargoID cargo_id); + /** + * See how much cargo with a specific via-station and source station there is waiting on a station. + * @param station_id The station to get the cargo-waiting of. + * @param from_station_id The source station of the cargo. Pass STATION_INVALID to get cargo of which the source has been deleted. + * @param via_station_id The next station the cargo is going to. Pass STATION_INVALID to get waiting cargo for "via any station". + * @param cargo_id The cargo to get the cargo-waiting of. + * @pre IsValidStation(station_id). + * @pre IsValidStation(from_station_id) || from_station_id == STATION_INVALID. + * @pre IsValidStation(via_station_id) || via_station_id == STATION_INVALID. + * @pre IsValidCargo(cargo_id). + * @return The amount of units waiting at the station with from_station_id as source and via_station_id as next hop. + * @note if ScriptCargo.GetCargoDistributionType(cargo_id) == ScriptCargo.DT_MANUAL, then all waiting cargo will have STATION_INVALID as next hop. + */ + static int32 GetCargoWaitingFromVia(StationID station_id, StationID from_station_id, StationID via_station_id, CargoID cargo_id); + + /** + * See how much cargo was planned to pass (including production and consumption) this station per month. + * @param station_id The station to get the planned flow for. + * @param cargo_id The cargo type to get the planned flow for. + * @pre IsValidStation(station_id). + * @pre IsValidCargo(cargo_id). + * @return The amount of cargo units planned to pass the station per month. + */ + static int32 GetCargoPlanned(StationID station_id, CargoID cargo_id); + + /** + * See how much cargo from the specified origin was planned to pass (including production and consumption) this station per month. + * @param station_id The station to get the planned flow for. + * @param from_station_id The station the cargo originates at. + * @param cargo_id The cargo type to get the planned flow for. + * @pre IsValidStation(station_id). + * @pre IsValidStation(from_station_id) || from_station_id == STATION_INVALID. + * @pre IsValidCargo(cargo_id). + * @return The amount of cargo units from the specified origin planned to pass the station per month. + */ + static int32 GetCargoPlannedFrom(StationID station_id, StationID from_station_id, CargoID cargo_id); + + /** + * See how much cargo was planned to pass (including production and consumption) this station per month, heading for the specified next hop. + * @param station_id The station to get the planned flow for. + * @param via_station_id The next station the cargo will go on to. + * @param cargo_id The cargo type to get the planned flow for. + * @pre IsValidStation(station_id). + * @pre IsValidStation(via_station_id) || via_station_id == STATION_INVALID. + * @pre IsValidCargo(cargo_id). + * @return The amount of cargo units planned to pass the station per month, going via the specified next hop. + * @note Cargo planned to go "via" the same station that's being queried is actually planned to be consumed there. + */ + static int32 GetCargoPlannedVia(StationID station_id, StationID via_station_id, CargoID cargo_id); + + /** + * See how much cargo from the specified origin was planned to pass this station per month, + * heading for the specified next hop. + * @param station_id The station to get the planned flow for. + * @param from_station_id The station the cargo originates at. + * @param via_station_id The next station the cargo will go on to. + * @param cargo_id The cargo type to get the planned flow for. + * @pre IsValidStation(station_id). + * @pre IsValidStation(from_station_id) || from_station_id == STATION_INVALID. + * @pre IsValidStation(via_station_id) || via_station_id == STATION_INVALID. + * @pre IsValidCargo(cargo_id). + * @return The amount of cargo units from the specified origin planned to pass the station per month, going via the specified next hop. + * @note Cargo planned to go "via" the same station that's being queried is actually planned to be consumed there. + * @note Cargo planned to pass "from" the same station that's being queried is actually produced there. + */ + static int32 GetCargoPlannedFromVia(StationID station_id, StationID from_station_id, StationID via_station_id, CargoID cargo_id); + /** * Check whether the given cargo at the given station a rating. * @param station_id The station to get the cargo-rating state of. @@ -223,9 +291,23 @@ public: * @param station_id The airport to modify. * @pre IsValidStation(station_id). * @pre HasStationType(station_id, STATION_AIRPORT). - * @return True if the state could be toggled. + * @return True if the state was toggled successfully. */ static bool OpenCloseAirport(StationID station_id); + +private: + template + static bool IsCargoRequestValid(StationID station_id, StationID from_station_id, + StationID via_station_id, CargoID cargo_id); + + template + static int32 CountCargoWaiting(StationID station_id, StationID from_station_id, + StationID via_station_id, CargoID cargo_id); + + template + static int32 CountCargoPlanned(StationID station_id, StationID from_station_id, + StationID via_station_id, CargoID cargo_id); + }; DECLARE_ENUM_AS_BIT_SET(ScriptStation::StationType) diff --git a/src/script/api/script_stationlist.cpp b/src/script/api/script_stationlist.cpp index a7269bd249..ab9503a1b5 100644 --- a/src/script/api/script_stationlist.cpp +++ b/src/script/api/script_stationlist.cpp @@ -12,9 +12,12 @@ #include "../../stdafx.h" #include "script_stationlist.hpp" #include "script_vehicle.hpp" +#include "script_cargo.hpp" #include "../../station_base.h" #include "../../vehicle_base.h" +#include "../../safeguards.h" + ScriptStationList::ScriptStationList(ScriptStation::StationType station_type) { Station *st; @@ -33,3 +36,240 @@ ScriptStationList_Vehicle::ScriptStationList_Vehicle(VehicleID vehicle_id) if (o->IsType(OT_GOTO_STATION)) this->AddItem(o->GetDestination()); } } + +ScriptStationList_Cargo::ScriptStationList_Cargo(ScriptStationList_Cargo::CargoMode mode, + ScriptStationList_Cargo::CargoSelector selector, StationID station_id, CargoID cargo, + StationID other_station) +{ + switch (mode) { + case CM_WAITING: + ScriptStationList_CargoWaiting(selector, station_id, cargo, other_station).SwapList(this); + break; + case CM_PLANNED: + ScriptStationList_CargoPlanned(selector, station_id, cargo, other_station).SwapList(this); + break; + default: + NOT_REACHED(); + } +} + +ScriptStationList_CargoWaiting::ScriptStationList_CargoWaiting( + ScriptStationList_Cargo::CargoSelector selector, StationID station_id, CargoID cargo, + StationID other_station) +{ + switch (selector) { + case CS_BY_FROM: + ScriptStationList_CargoWaitingByFrom(station_id, cargo).SwapList(this); + break; + case CS_VIA_BY_FROM: + ScriptStationList_CargoWaitingViaByFrom(station_id, cargo, other_station).SwapList(this); + break; + case CS_BY_VIA: + ScriptStationList_CargoWaitingByVia(station_id, cargo).SwapList(this); + break; + case CS_FROM_BY_VIA: + ScriptStationList_CargoWaitingFromByVia(station_id, cargo, other_station).SwapList(this); + break; + default: + NOT_REACHED(); + } +} + +ScriptStationList_CargoPlanned::ScriptStationList_CargoPlanned( + ScriptStationList_Cargo::CargoSelector selector, StationID station_id, CargoID cargo, + StationID other_station) +{ + switch (selector) { + case CS_BY_FROM: + ScriptStationList_CargoPlannedByFrom(station_id, cargo).SwapList(this); + break; + case CS_VIA_BY_FROM: + ScriptStationList_CargoPlannedViaByFrom(station_id, cargo, other_station).SwapList(this); + break; + case CS_BY_VIA: + ScriptStationList_CargoPlannedByVia(station_id, cargo).SwapList(this); + break; + case CS_FROM_BY_VIA: + ScriptStationList_CargoPlannedFromByVia(station_id, cargo, other_station).SwapList(this); + break; + default: + NOT_REACHED(); + } +} + +class CargoCollector { +public: + CargoCollector(ScriptStationList_Cargo *parent, StationID station_id, CargoID cargo, + StationID other); + ~CargoCollector() ; + + template + void Update(StationID from, StationID via, uint amount); + const GoodsEntry *GE() const { return ge; } + +private: + void SetValue(); + + ScriptStationList_Cargo *list; + const GoodsEntry *ge; + StationID other_station; + + StationID last_key; + uint amount; +}; + +CargoCollector::CargoCollector(ScriptStationList_Cargo *parent, + StationID station_id, CargoID cargo, StationID other) : + list(parent), ge(NULL), other_station(other), last_key(INVALID_STATION), amount(0) +{ + if (!ScriptStation::IsValidStation(station_id)) return; + if (!ScriptCargo::IsValidCargo(cargo)) return; + this->ge = &(Station::Get(station_id)->goods[cargo]); +} + +CargoCollector::~CargoCollector() +{ + this->SetValue(); +} + +void CargoCollector::SetValue() +{ + if (this->amount > 0) { + if (this->list->HasItem(this->last_key)) { + this->list->SetValue(this->last_key, + this->list->GetValue(this->last_key) + this->amount); + } else { + this->list->AddItem(this->last_key, this->amount); + } + } +} + +template +void CargoCollector::Update(StationID from, StationID via, uint amount) +{ + StationID key = INVALID_STATION; + switch (Tselector) { + case ScriptStationList_Cargo::CS_VIA_BY_FROM: + if (via != this->other_station) return; + /* fall through */ + case ScriptStationList_Cargo::CS_BY_FROM: + key = from; + break; + case ScriptStationList_Cargo::CS_FROM_BY_VIA: + if (from != this->other_station) return; + /* fall through */ + case ScriptStationList_Cargo::CS_BY_VIA: + key = via; + break; + } + if (key == this->last_key) { + this->amount += amount; + } else { + this->SetValue(); + this->amount = amount; + this->last_key = key; + } +} + + +template +void ScriptStationList_CargoWaiting::Add(StationID station_id, CargoID cargo, StationID other_station) +{ + CargoCollector collector(this, station_id, cargo, other_station); + if (collector.GE() == NULL) return; + + StationCargoList::ConstIterator iter = collector.GE()->cargo.Packets()->begin(); + StationCargoList::ConstIterator end = collector.GE()->cargo.Packets()->end(); + for (; iter != end; ++iter) { + collector.Update((*iter)->SourceStation(), iter.GetKey(), (*iter)->Count()); + } +} + + +template +void ScriptStationList_CargoPlanned::Add(StationID station_id, CargoID cargo, StationID other_station) +{ + CargoCollector collector(this, station_id, cargo, other_station); + if (collector.GE() == NULL) return; + + FlowStatMap::const_iterator iter = collector.GE()->flows.begin(); + FlowStatMap::const_iterator end = collector.GE()->flows.end(); + for (; iter != end; ++iter) { + const FlowStat::SharesMap *shares = iter->second.GetShares(); + uint prev = 0; + for (FlowStat::SharesMap::const_iterator flow_iter = shares->begin(); + flow_iter != shares->end(); ++flow_iter) { + collector.Update(iter->first, flow_iter->second, flow_iter->first - prev); + prev = flow_iter->first; + } + } +} + +ScriptStationList_CargoWaitingByFrom::ScriptStationList_CargoWaitingByFrom(StationID station_id, + CargoID cargo) +{ + this->Add(station_id, cargo); +} + +ScriptStationList_CargoWaitingViaByFrom::ScriptStationList_CargoWaitingViaByFrom( + StationID station_id, CargoID cargo, StationID via) +{ + CargoCollector collector(this, station_id, cargo, via); + if (collector.GE() == NULL) return; + + std::pair range = + collector.GE()->cargo.Packets()->equal_range(via); + for (StationCargoList::ConstIterator iter = range.first; iter != range.second; ++iter) { + collector.Update((*iter)->SourceStation(), iter.GetKey(), (*iter)->Count()); + } +} + + +ScriptStationList_CargoWaitingByVia::ScriptStationList_CargoWaitingByVia(StationID station_id, + CargoID cargo) +{ + this->Add(station_id, cargo); +} + +ScriptStationList_CargoWaitingFromByVia::ScriptStationList_CargoWaitingFromByVia( + StationID station_id, CargoID cargo, StationID from) +{ + this->Add(station_id, cargo, from); +} + +ScriptStationList_CargoPlannedByFrom::ScriptStationList_CargoPlannedByFrom(StationID station_id, + CargoID cargo) +{ + this->Add(station_id, cargo); +} + +ScriptStationList_CargoPlannedViaByFrom::ScriptStationList_CargoPlannedViaByFrom( + StationID station_id, CargoID cargo, StationID via) +{ + this->Add(station_id, cargo, via); +} + + +ScriptStationList_CargoPlannedByVia::ScriptStationList_CargoPlannedByVia(StationID station_id, + CargoID cargo) +{ + this->Add(station_id, cargo); +} + + +ScriptStationList_CargoPlannedFromByVia::ScriptStationList_CargoPlannedFromByVia( + StationID station_id, CargoID cargo, StationID from) +{ + CargoCollector collector(this, station_id, cargo, from); + if (collector.GE() == NULL) return; + + FlowStatMap::const_iterator iter = collector.GE()->flows.find(from); + if (iter == collector.GE()->flows.end()) return; + const FlowStat::SharesMap *shares = iter->second.GetShares(); + uint prev = 0; + for (FlowStat::SharesMap::const_iterator flow_iter = shares->begin(); + flow_iter != shares->end(); ++flow_iter) { + collector.Update(iter->first, flow_iter->second, flow_iter->first - prev); + prev = flow_iter->first; + } +} diff --git a/src/script/api/script_stationlist.hpp b/src/script/api/script_stationlist.hpp index cd9c98137d..720a43639b 100644 --- a/src/script/api/script_stationlist.hpp +++ b/src/script/api/script_stationlist.hpp @@ -28,6 +28,251 @@ public: ScriptStationList(ScriptStation::StationType station_type); }; +/** + * Creates a list of stations associated with cargo at a station. This is very generic. Use the + * subclasses for all practical purposes. + * @api ai game + * @ingroup ScriptList + */ +class ScriptStationList_Cargo : public ScriptList { +public: + /** + * Criteria of selecting and grouping cargo at a station. + */ + enum CargoSelector { + CS_BY_FROM, ///< Group by origin station. + CS_VIA_BY_FROM, ///< Select by next hop and group by origin station. + CS_BY_VIA, ///< Group by next hop. + CS_FROM_BY_VIA ///< Select by origin station and group by next hop. + }; + + /** + * Ways of associating cargo to stations. + */ + enum CargoMode { + CM_WAITING, ///< Waiting cargo. + CM_PLANNED ///< Planned cargo. + }; + + /** + * Creates a list of stations associated with cargo in the specified way, selected and grouped + * by the chosen criteria. + * @param mode Mode of association, either waiting cargo or planned cargo. + * @param selector Mode of grouping and selecting to be applied. + * @param station_id Station to be queried. + * @param cargo Cargo type to query for. + * @param other_station Other station to restrict the query with. + */ + ScriptStationList_Cargo(ScriptStationList_Cargo::CargoMode mode, ScriptStationList_Cargo::CargoSelector selector, StationID station_id, CargoID cargo, StationID other_station); + +protected: + + /** + * Creates an empty list. + */ + ScriptStationList_Cargo() {} +}; + +/** + * Creates a list of stations associated with cargo waiting at a station. This is very generic. Use + * the subclasses for all practical purposes. + * @api ai game + * @ingroup ScriptList + */ +class ScriptStationList_CargoWaiting : public ScriptStationList_Cargo { +protected: + friend class ScriptStationList_Cargo; + + /** + * Creates an empty list. + */ + ScriptStationList_CargoWaiting() {} + + /** + * Add waiting cargo to the list. + * @param station_id Station to query for waiting cargo. + * @param cargo Cargo type to query for. + * @param other_station Other station to restrict the query with. + */ + template + void Add(StationID station_id, CargoID cargo, StationID other_station = INVALID_STATION); + +public: + + /** + * Creates a list of stations associated with waiting cargo, selected and grouped by the chosen + * criteria. + * @param selector Mode of grouping and selecting to be applied. + * @param station_id Station to be queried. + * @param cargo Cargo type to query for. + * @param other_station Other station to restrict the query with. + */ + ScriptStationList_CargoWaiting(ScriptStationList_Cargo::CargoSelector selector, StationID station_id, CargoID cargo, StationID other_station); +}; + +/** + * Creates a list of stations associated with cargo planned to pass a station. This is very + * generic. Use the subclasses for all practical purposes. + * @api ai game + * @ingroup ScriptList + */ +class ScriptStationList_CargoPlanned : public ScriptStationList_Cargo { +protected: + friend class ScriptStationList_Cargo; + + /** + * Creates an empty list. + */ + ScriptStationList_CargoPlanned() {} + + /** + * Add planned cargo to the list. + * @param station_id Station to query for waiting cargo. + * @param cargo Cargo type to query for. + * @param other_station Other station to restrict the query with. + */ + template + void Add(StationID station_id, CargoID cargo, StationID other_station = INVALID_STATION); + +public: + + /** + * Creates a list of stations associated with cargo planned to pass the station, selected and + * grouped by the chosen criteria. + * @param selector Mode of grouping and selecting to be applied. + * @param station_id Station to be queried. + * @param cargo Cargo type to query for. + * @param other_station Other station to restrict the query with. + */ + ScriptStationList_CargoPlanned(ScriptStationList_Cargo::CargoSelector selector, StationID station_id, CargoID cargo, StationID other_station); +}; + +/** + * Creates a list of origin stations of waiting cargo at a station, with the amounts of cargo + * waiting from each of those origin stations as values. + * @api ai game + * @ingroup ScriptList + */ +class ScriptStationList_CargoWaitingByFrom : public ScriptStationList_CargoWaiting { +public: + /** + * @param station_id Station to query for waiting cargo. + * @param cargo Cargo type to query for. + */ + ScriptStationList_CargoWaitingByFrom(StationID station_id, CargoID cargo); +}; + +/** + * Creates a list of origin stations of cargo waiting at a station for a transfer via another + * station, with the amounts of cargo waiting from each of those origin stations as values. + * @api ai game + * @ingroup ScriptList + */ +class ScriptStationList_CargoWaitingViaByFrom : public ScriptStationList_CargoWaiting { +public: + /** + * @param station_id Station to query for waiting cargo. + * @param cargo Cargo type to query for. + * @param via Next hop to restrict the query with. + */ + ScriptStationList_CargoWaitingViaByFrom(StationID station_id, CargoID cargo, StationID via); +}; + +/** + * Creates a list of next hops of waiting cargo at a station, with the amounts of cargo waiting for + * each of those next hops as values. + * @api ai game + * @ingroup ScriptList + */ +class ScriptStationList_CargoWaitingByVia : public ScriptStationList_CargoWaiting { +public: + /** + * @param station_id Station to query for waiting cargo. + * @param cargo Cargo type to query for. + */ + ScriptStationList_CargoWaitingByVia(StationID station_id, CargoID cargo); +}; + +/** + * Creates a list of next hops of waiting cargo from a specific station at another station, with + * the amounts of cargo waiting for each of those next hops as values. + * @api ai game + * @ingroup ScriptList + */ +class ScriptStationList_CargoWaitingFromByVia : public ScriptStationList_CargoWaiting { +public: + /** + * @param station_id Station to query for waiting cargo. + * @param cargo Cargo type to query for. + * @param from Origin station to restrict the query with. + */ + ScriptStationList_CargoWaitingFromByVia(StationID station_id, CargoID cargo, StationID from); +}; + +/** + * Creates a list of origin stations of cargo planned to pass a station, with the monthly amounts + * of cargo planned for each of those origin stations as values. + * @api ai game + * @ingroup ScriptList + */ +class ScriptStationList_CargoPlannedByFrom : public ScriptStationList_CargoPlanned { +public: + /** + * @param station_id Station to query for planned flows. + * @param cargo Cargo type to query for. + */ + ScriptStationList_CargoPlannedByFrom(StationID station_id, CargoID cargo); +}; + +/** + * Creates a list of origin stations of cargo planned to pass a station going via another station, + * with the monthly amounts of cargo planned for each of those origin stations as values. + * @api ai game + * @ingroup ScriptList + */ +class ScriptStationList_CargoPlannedViaByFrom : public ScriptStationList_CargoPlanned { +public: + /** + * @param station_id Station to query for planned flows. + * @param cargo Cargo type to query for. + * @param via Next hop to restrict the query with. + */ + ScriptStationList_CargoPlannedViaByFrom(StationID station_id, CargoID cargo, StationID via); +}; + +/** + * Creates a list of next hops of cargo planned to pass a station, with the monthly amounts of + * cargo planned for each of those next hops as values. + * Cargo planned to go "via" the station being queried will actually be delivered there. + * @api ai game + * @ingroup ScriptList + */ +class ScriptStationList_CargoPlannedByVia : public ScriptStationList_CargoPlanned { +public: + /** + * @param station_id Station to query for planned flows. + * @param cargo Cargo type to query for. + */ + ScriptStationList_CargoPlannedByVia(StationID station_id, CargoID cargo); +}; + +/** + * Creates a list of next hops of cargo planned to pass a station and originating from another + * station, with the monthly amounts of cargo planned for each of those next hops as values. + * Cargo planned to go "via" the station being queried will actually be delivered there. + * @api ai game + * @ingroup ScriptList + */ +class ScriptStationList_CargoPlannedFromByVia : public ScriptStationList_CargoPlanned { +public: + /** + * @param station_id Station to query for planned flows. + * @param cargo Cargo type to query for. + * @param from Origin station to restrict the query with. + */ + ScriptStationList_CargoPlannedFromByVia(StationID station_id, CargoID cargo, StationID from); +}; + /** * Creates a list of stations which the vehicle has in its orders. * @api ai game diff --git a/src/script/api/script_story_page.cpp b/src/script/api/script_story_page.cpp index 17b7b82736..11820ec3f6 100644 --- a/src/script/api/script_story_page.cpp +++ b/src/script/api/script_story_page.cpp @@ -22,6 +22,8 @@ #include "../../string_func.h" #include "../../tile_map.h" +#include "../../safeguards.h" + /* static */ bool ScriptStoryPage::IsValidStoryPage(StoryPageID story_page_id) { return ::StoryPage::IsValidID(story_page_id); diff --git a/src/script/api/script_storypageelementlist.cpp b/src/script/api/script_storypageelementlist.cpp index 5b6b2cd533..3f1fa4ebbe 100644 --- a/src/script/api/script_storypageelementlist.cpp +++ b/src/script/api/script_storypageelementlist.cpp @@ -13,6 +13,8 @@ #include "script_storypageelementlist.hpp" #include "../../story_base.h" +#include "../../safeguards.h" + ScriptStoryPageElementList::ScriptStoryPageElementList(ScriptStoryPage::StoryPageID story_page_id) { if (!ScriptStoryPage::IsValidStoryPage(story_page_id)) return; diff --git a/src/script/api/script_storypagelist.cpp b/src/script/api/script_storypagelist.cpp index 795ff02018..fc32e80a37 100644 --- a/src/script/api/script_storypagelist.cpp +++ b/src/script/api/script_storypagelist.cpp @@ -14,6 +14,8 @@ #include "script_story_page.hpp" #include "../../story_base.h" +#include "../../safeguards.h" + ScriptStoryPageList::ScriptStoryPageList(ScriptCompany::CompanyID company) { uint8 c = company; diff --git a/src/script/api/script_subsidy.cpp b/src/script/api/script_subsidy.cpp index 146ba690d4..640f7ab0a0 100644 --- a/src/script/api/script_subsidy.cpp +++ b/src/script/api/script_subsidy.cpp @@ -18,6 +18,8 @@ #include "../../subsidy_base.h" #include "../../station_base.h" +#include "../../safeguards.h" + /* static */ bool ScriptSubsidy::IsValidSubsidy(SubsidyID subsidy_id) { return ::Subsidy::IsValidID(subsidy_id); diff --git a/src/script/api/script_subsidylist.cpp b/src/script/api/script_subsidylist.cpp index 68644846f0..fd7d947799 100644 --- a/src/script/api/script_subsidylist.cpp +++ b/src/script/api/script_subsidylist.cpp @@ -13,6 +13,8 @@ #include "script_subsidylist.hpp" #include "../../subsidy_base.h" +#include "../../safeguards.h" + ScriptSubsidyList::ScriptSubsidyList() { const Subsidy *s; diff --git a/src/script/api/script_testmode.cpp b/src/script/api/script_testmode.cpp index 46cc15e054..37f296de0c 100644 --- a/src/script/api/script_testmode.cpp +++ b/src/script/api/script_testmode.cpp @@ -14,6 +14,8 @@ #include "../script_instance.hpp" #include "../script_fatalerror.hpp" +#include "../../safeguards.h" + bool ScriptTestMode::ModeProc() { /* In test mode we only return 'false', telling the DoCommand it diff --git a/src/script/api/script_text.cpp b/src/script/api/script_text.cpp index f87b2e8b28..e692be0ae2 100644 --- a/src/script/api/script_text.cpp +++ b/src/script/api/script_text.cpp @@ -17,18 +17,30 @@ #include "table/strings.h" +#include "../../safeguards.h" + +RawText::RawText(const char *text) : text(stredup(text)) +{ +} + +RawText::~RawText() +{ + free(this->text); +} + + ScriptText::ScriptText(HSQUIRRELVM vm) : ZeroedMemoryAllocator() { int nparam = sq_gettop(vm) - 1; if (nparam < 1) { - throw sq_throwerror(vm, _SC("You need to pass at least a StringID to the constructor")); + throw sq_throwerror(vm, "You need to pass at least a StringID to the constructor"); } /* First resolve the StringID. */ SQInteger sqstring; if (SQ_FAILED(sq_getinteger(vm, 2, &sqstring))) { - throw sq_throwerror(vm, _SC("First argument must be a valid StringID")); + throw sq_throwerror(vm, "First argument must be a valid StringID"); } this->string = sqstring; @@ -39,7 +51,7 @@ ScriptText::ScriptText(HSQUIRRELVM vm) : if (SQ_FAILED(this->_SetParam(i, vm))) { this->~ScriptText(); - throw sq_throwerror(vm, _SC("Invalid parameter")); + throw sq_throwerror(vm, "Invalid parameter"); } /* Pop the parameter again. */ @@ -71,7 +83,7 @@ SQInteger ScriptText::_SetParam(int parameter, HSQUIRRELVM vm) const SQChar *value; sq_getstring(vm, -1, &value); - this->params[parameter] = strdup(SQ2OTTD(value)); + this->params[parameter] = stredup(value); ValidateString(this->params[parameter]); break; } @@ -92,7 +104,7 @@ SQInteger ScriptText::_SetParam(int parameter, HSQUIRRELVM vm) /* Validate if it is a GSText instance */ sq_pushroottable(vm); - sq_pushstring(vm, _SC("GSText"), -1); + sq_pushstring(vm, "GSText", -1); sq_get(vm, -2); sq_pushobject(vm, instance); if (sq_instanceof(vm) != SQTrue) return SQ_ERROR; @@ -145,9 +157,8 @@ SQInteger ScriptText::_set(HSQUIRRELVM vm) int32 k; if (sq_gettype(vm, 2) == OT_STRING) { - const SQChar *key; - sq_getstring(vm, 2, &key); - const char *key_string = SQ2OTTD(key); + const SQChar *key_string; + sq_getstring(vm, 2, &key_string); ValidateString(key_string); if (strncmp(key_string, "param_", 6) != 0 || strlen(key_string) > 8) return SQ_ERROR; @@ -190,7 +201,7 @@ char *ScriptText::_GetEncodedText(char *p, char *lastofp, int ¶m_count) p = this->paramt[i]->_GetEncodedText(p, lastofp, param_count); continue; } - p += seprintf(p, lastofp,":%X", (uint32)this->parami[i]); + p += seprintf(p, lastofp,":" OTTD_PRINTFHEX64, this->parami[i]); param_count++; } diff --git a/src/script/api/script_text.hpp b/src/script/api/script_text.hpp index 9b75e21c52..21bf3929fb 100644 --- a/src/script/api/script_text.hpp +++ b/src/script/api/script_text.hpp @@ -42,9 +42,8 @@ public: */ class RawText : public Text { public: - RawText(const char *text) : - text(strdup(text)) {} - ~RawText() { free(this->text); } + RawText(const char *text); + ~RawText(); /* virtual */ const char *GetEncodedText() { return this->text; } private: @@ -130,7 +129,7 @@ public: private: StringID string; char *params[SCRIPT_TEXT_MAX_PARAMETERS]; - int parami[SCRIPT_TEXT_MAX_PARAMETERS]; + int64 parami[SCRIPT_TEXT_MAX_PARAMETERS]; ScriptText *paramt[SCRIPT_TEXT_MAX_PARAMETERS]; int paramc; diff --git a/src/script/api/script_tile.cpp b/src/script/api/script_tile.cpp index c84e8411a6..db9220acd6 100644 --- a/src/script/api/script_tile.cpp +++ b/src/script/api/script_tile.cpp @@ -20,6 +20,8 @@ #include "../../town.h" #include "../../landscape.h" +#include "../../safeguards.h" + /* static */ bool ScriptTile::IsBuildable(TileIndex tile) { if (!::IsValidTile(tile)) return false; diff --git a/src/script/api/script_tilelist.cpp b/src/script/api/script_tilelist.cpp index d4fe9f9773..933a92c4cb 100644 --- a/src/script/api/script_tilelist.cpp +++ b/src/script/api/script_tilelist.cpp @@ -15,6 +15,8 @@ #include "../../industry.h" #include "../../station_base.h" +#include "../../safeguards.h" + void ScriptTileList::AddRectangle(TileIndex t1, TileIndex t2) { if (!::IsValidTile(t1)) return; diff --git a/src/script/api/script_tilelist.hpp b/src/script/api/script_tilelist.hpp index 74c3afa52f..788432f783 100644 --- a/src/script/api/script_tilelist.hpp +++ b/src/script/api/script_tilelist.hpp @@ -65,9 +65,10 @@ class ScriptTileList_IndustryAccepting : public ScriptTileList { public: /** * @param industry_id The industry to create the ScriptTileList around. - * @param radius The radius of the station you will be using. + * @param radius The coverage radius of the station type you will be using. * @pre ScriptIndustry::IsValidIndustry(industry_id). * @pre radius > 0. + * @note A station part built on any of the returned tiles will give you coverage. */ ScriptTileList_IndustryAccepting(IndustryID industry_id, int radius); }; @@ -82,9 +83,10 @@ class ScriptTileList_IndustryProducing : public ScriptTileList { public: /** * @param industry_id The industry to create the ScriptTileList around. - * @param radius The radius of the station you will be using. + * @param radius The coverage radius of the station type you will be using. * @pre ScriptIndustry::IsValidIndustry(industry_id). * @pre radius > 0. + * @note A station part built on any of the returned tiles will give you acceptance. */ ScriptTileList_IndustryProducing(IndustryID industry_id, int radius); }; diff --git a/src/script/api/script_town.cpp b/src/script/api/script_town.cpp index 725c7d0a6a..d81704ae38 100644 --- a/src/script/api/script_town.cpp +++ b/src/script/api/script_town.cpp @@ -21,6 +21,8 @@ #include "../../landscape.h" #include "table/strings.h" +#include "../../safeguards.h" + /* static */ int32 ScriptTown::GetTownCount() { return (int32)::Town::GetNumItems(); diff --git a/src/script/api/script_town.hpp b/src/script/api/script_town.hpp index 4aef587e61..03868e67a4 100644 --- a/src/script/api/script_town.hpp +++ b/src/script/api/script_town.hpp @@ -232,10 +232,10 @@ public: /** * Set the goal of a cargo for this town. * @param town_id The index of the town. - * @param towneffect_id The index of the cargo. + * @param towneffect_id The index of the towneffect. * @param goal The new goal. * @pre IsValidTown(town_id). - * @pre ScriptCargo::IsValidTownEffect(cargo_id). + * @pre ScriptCargo::IsValidTownEffect(towneffect_id). * @return True if the action succeeded. * @api -ai */ @@ -247,7 +247,7 @@ public: * @param town_id The index of the town. * @param towneffect_id The index of the towneffect. * @pre IsValidTown(town_id). - * @pre ScriptCargo::IsValidTownEffect(cargo_id). + * @pre ScriptCargo::IsValidTownEffect(towneffect_id). * @return The goal of the cargo. * @note Goals can change over time. For example with a changing snowline, or * with a growing town. @@ -263,6 +263,7 @@ public: * @return True if the action succeeded. * @note Even when setting a growth rate, towns only grow when the conditions for growth (SetCargoCoal) are met, * and the game settings (economy.town_growth_rate) allow town growth at all. + * @note When changing the growth rate, the relative progress is preserved and scaled to the new rate. * @api -ai */ static bool SetGrowthRate(TownID town_id, uint32 days_between_town_growth); diff --git a/src/script/api/script_townlist.cpp b/src/script/api/script_townlist.cpp index 33a3fc0703..a2e12febe1 100644 --- a/src/script/api/script_townlist.cpp +++ b/src/script/api/script_townlist.cpp @@ -13,6 +13,8 @@ #include "script_townlist.hpp" #include "../../town.h" +#include "../../safeguards.h" + ScriptTownList::ScriptTownList() { Town *t; diff --git a/src/script/api/script_tunnel.cpp b/src/script/api/script_tunnel.cpp index 97085688f8..7b891f28d0 100644 --- a/src/script/api/script_tunnel.cpp +++ b/src/script/api/script_tunnel.cpp @@ -15,6 +15,8 @@ #include "../script_instance.hpp" #include "../../tunnel_map.h" +#include "../../safeguards.h" + /* static */ bool ScriptTunnel::IsTunnelTile(TileIndex tile) { if (!::IsValidTile(tile)) return false; diff --git a/src/script/api/script_vehicle.cpp b/src/script/api/script_vehicle.cpp index 23003ca26e..ca841f7557 100644 --- a/src/script/api/script_vehicle.cpp +++ b/src/script/api/script_vehicle.cpp @@ -24,6 +24,8 @@ #include "../../aircraft.h" #include "table/strings.h" +#include "../../safeguards.h" + /* static */ bool ScriptVehicle::IsValidVehicle(VehicleID vehicle_id) { const Vehicle *v = ::Vehicle::GetIfValid(vehicle_id); diff --git a/src/script/api/script_vehiclelist.cpp b/src/script/api/script_vehiclelist.cpp index 3017266fab..625f0f8c4f 100644 --- a/src/script/api/script_vehiclelist.cpp +++ b/src/script/api/script_vehiclelist.cpp @@ -17,6 +17,8 @@ #include "../../depot_map.h" #include "../../vehicle_base.h" +#include "../../safeguards.h" + ScriptVehicleList::ScriptVehicleList() { const Vehicle *v; diff --git a/src/script/api/script_viewport.cpp b/src/script/api/script_viewport.cpp index 139edb0297..737e7e68da 100644 --- a/src/script/api/script_viewport.cpp +++ b/src/script/api/script_viewport.cpp @@ -15,6 +15,8 @@ #include "script_map.hpp" #include "../../viewport_func.h" +#include "../../safeguards.h" + /* static */ void ScriptViewport::ScrollTo(TileIndex tile) { if (ScriptGame::IsMultiplayer()) return; diff --git a/src/script/api/script_waypoint.cpp b/src/script/api/script_waypoint.cpp index a10b3376be..91733a38e8 100644 --- a/src/script/api/script_waypoint.cpp +++ b/src/script/api/script_waypoint.cpp @@ -15,6 +15,8 @@ #include "script_marine.hpp" #include "../../waypoint_base.h" +#include "../../safeguards.h" + /* static */ bool ScriptWaypoint::IsValidWaypoint(StationID waypoint_id) { const Waypoint *wp = ::Waypoint::GetIfValid(waypoint_id); diff --git a/src/script/api/script_waypointlist.cpp b/src/script/api/script_waypointlist.cpp index b32b3e8b37..dd641a6848 100644 --- a/src/script/api/script_waypointlist.cpp +++ b/src/script/api/script_waypointlist.cpp @@ -15,6 +15,8 @@ #include "../../vehicle_base.h" #include "../../waypoint_base.h" +#include "../../safeguards.h" + ScriptWaypointList::ScriptWaypointList(ScriptWaypoint::WaypointType waypoint_type) { const Waypoint *wp; diff --git a/src/script/api/script_window.cpp b/src/script/api/script_window.cpp index 086e59f639..1252f0fc7e 100644 --- a/src/script/api/script_window.cpp +++ b/src/script/api/script_window.cpp @@ -15,6 +15,8 @@ #include "../../window_func.h" #include "../../window_gui.h" +#include "../../safeguards.h" + /* static */ void ScriptWindow::Close(WindowClass window, uint32 number) { if (ScriptGame::IsMultiplayer()) return; diff --git a/src/script/api/script_window.hpp b/src/script/api/script_window.hpp index d7f3879afd..58e114734e 100644 --- a/src/script/api/script_window.hpp +++ b/src/script/api/script_window.hpp @@ -529,7 +529,7 @@ public: /** * Generate landscape (newgame); %Window numbers: * - GLWM_SCENARIO = #CreateScenarioWidgets - * - #GenenerateLandscapeWindowMode = #GenerateLandscapeWidgets + * - #GenerateLandscapeWindowMode = #GenerateLandscapeWidgets */ WC_GENERATE_LANDSCAPE = ::WC_GENERATE_LANDSCAPE, @@ -753,11 +753,17 @@ public: WC_SPRITE_ALIGNER = ::WC_SPRITE_ALIGNER, /** - * Linkgraph legend; Window numbers: + * Linkgraph legend; %Window numbers: * - 0 = #LinkGraphWidgets */ WC_LINKGRAPH_LEGEND = ::WC_LINKGRAPH_LEGEND, + /** + * Save preset; %Window numbers: + * - 0 = #SavePresetWidgets + */ + WC_SAVE_PRESET = ::WC_SAVE_PRESET, + WC_INVALID = ::WC_INVALID, ///< Invalid window. }; @@ -917,6 +923,11 @@ public: enum ReplaceVehicleWidgets { WID_RV_CAPTION = ::WID_RV_CAPTION, ///< Caption of the window. + /* Sort dropdown at the right. */ + WID_RV_SORT_ASCENDING_DESCENDING = ::WID_RV_SORT_ASCENDING_DESCENDING, ///< Ascending/descending sort order button. + WID_RV_SHOW_HIDDEN_ENGINES = ::WID_RV_SHOW_HIDDEN_ENGINES, ///< Toggle whether to display the hidden vehicles. + WID_RV_SORT_DROPDOWN = ::WID_RV_SORT_DROPDOWN, ///< Dropdown for the sort criteria. + /* Left and right matrix + details. */ WID_RV_LEFT_MATRIX = ::WID_RV_LEFT_MATRIX, ///< The matrix on the left. WID_RV_LEFT_SCROLLBAR = ::WID_RV_LEFT_SCROLLBAR, ///< The scrollbar for the matrix on the left. @@ -965,13 +976,15 @@ public: /** Widgets of the #BuildVehicleWindow class. */ enum BuildVehicleWidgets { WID_BV_CAPTION = ::WID_BV_CAPTION, ///< Caption of window. - WID_BV_SORT_ASSENDING_DESCENDING = ::WID_BV_SORT_ASSENDING_DESCENDING, ///< Sort direction. + WID_BV_SORT_ASCENDING_DESCENDING = ::WID_BV_SORT_ASCENDING_DESCENDING, ///< Sort direction. WID_BV_SORT_DROPDOWN = ::WID_BV_SORT_DROPDOWN, ///< Criteria of sorting dropdown. WID_BV_CARGO_FILTER_DROPDOWN = ::WID_BV_CARGO_FILTER_DROPDOWN, ///< Cargo filter dropdown. + WID_BV_SHOW_HIDDEN_ENGINES = ::WID_BV_SHOW_HIDDEN_ENGINES, ///< Toggle whether to display the hidden vehicles. WID_BV_LIST = ::WID_BV_LIST, ///< List of vehicles. WID_BV_SCROLLBAR = ::WID_BV_SCROLLBAR, ///< Scrollbar of list. WID_BV_PANEL = ::WID_BV_PANEL, ///< Button panel. WID_BV_BUILD = ::WID_BV_BUILD, ///< Build panel. + WID_BV_SHOW_HIDE = ::WID_BV_SHOW_HIDE, ///< Button to hide or show the selected engine. WID_BV_BUILD_SEL = ::WID_BV_BUILD_SEL, ///< Build button. WID_BV_RENAME = ::WID_BV_RENAME, ///< Rename button. }; @@ -1278,11 +1291,12 @@ public: WID_GL_TOWN_PULLDOWN = ::WID_GL_TOWN_PULLDOWN, ///< Dropdown 'No. of towns'. WID_GL_INDUSTRY_PULLDOWN = ::WID_GL_INDUSTRY_PULLDOWN, ///< Dropdown 'No. of industries'. - WID_GL_RANDOM_EDITBOX = ::WID_GL_RANDOM_EDITBOX, ///< 'Random seed' editbox. - WID_GL_RANDOM_BUTTON = ::WID_GL_RANDOM_BUTTON, ///< 'Randomise' button. - WID_GL_GENERATE_BUTTON = ::WID_GL_GENERATE_BUTTON, ///< 'Generate' button. + WID_GL_MAX_HEIGHTLEVEL_DOWN = ::WID_GL_MAX_HEIGHTLEVEL_DOWN, ///< Decrease max. heightlevel + WID_GL_MAX_HEIGHTLEVEL_TEXT = ::WID_GL_MAX_HEIGHTLEVEL_TEXT, ///< Max. heightlevel + WID_GL_MAX_HEIGHTLEVEL_UP = ::WID_GL_MAX_HEIGHTLEVEL_UP, ///< Increase max. heightlevel + WID_GL_START_DATE_DOWN = ::WID_GL_START_DATE_DOWN, ///< Decrease start year. WID_GL_START_DATE_TEXT = ::WID_GL_START_DATE_TEXT, ///< Start year. WID_GL_START_DATE_UP = ::WID_GL_START_DATE_UP, ///< Increase start year. @@ -1786,10 +1800,12 @@ public: WID_SA_RIGHT = ::WID_SA_RIGHT, ///< Move the sprite to the right. WID_SA_DOWN = ::WID_SA_DOWN, ///< Move the sprite down. WID_SA_SPRITE = ::WID_SA_SPRITE, ///< The actual sprite. - WID_SA_OFFSETS = ::WID_SA_OFFSETS, ///< The sprite offsets. + WID_SA_OFFSETS_ABS = ::WID_SA_OFFSETS_ABS, ///< The sprite offsets (absolute). + WID_SA_OFFSETS_REL = ::WID_SA_OFFSETS_REL, ///< The sprite offsets (relative). WID_SA_PICKER = ::WID_SA_PICKER, ///< Sprite picker. WID_SA_LIST = ::WID_SA_LIST, ///< Queried sprite list. WID_SA_SCROLLBAR = ::WID_SA_SCROLLBAR, ///< Scrollbar for sprite list. + WID_SA_RESET_REL = ::WID_SA_RESET_REL, ///< Reset relative sprite offset }; /* automatically generated from ../../widgets/newgrf_widget.h */ @@ -1817,6 +1833,7 @@ public: WID_NS_REMOVE = ::WID_NS_REMOVE, ///< Remove NewGRF from active list. WID_NS_MOVE_UP = ::WID_NS_MOVE_UP, ///< Move NewGRF up in active list. WID_NS_MOVE_DOWN = ::WID_NS_MOVE_DOWN, ///< Move NewGRF down in active list. + WID_NS_UPGRADE = ::WID_NS_UPGRADE, ///< Upgrade NewGRFs that have a newer version available. WID_NS_FILTER = ::WID_NS_FILTER, ///< Filter list of available NewGRFs. WID_NS_FILE_LIST = ::WID_NS_FILE_LIST, ///< List window of active NewGRFs. WID_NS_SCROLLBAR = ::WID_NS_SCROLLBAR, ///< Scrollbar for active NewGRF list. @@ -1838,6 +1855,15 @@ public: WID_NS_SHOW_APPLY = ::WID_NS_SHOW_APPLY, ///< Select display of the buttons below the 'details'. }; + /** Widgets of the #SavePresetWindow class. */ + enum SavePresetWidgets { + WID_SVP_PRESET_LIST = ::WID_SVP_PRESET_LIST, ///< List with available preset names. + WID_SVP_SCROLLBAR = ::WID_SVP_SCROLLBAR, ///< Scrollbar for the list available preset names. + WID_SVP_EDITBOX = ::WID_SVP_EDITBOX, ///< Edit box for changing the preset name. + WID_SVP_CANCEL = ::WID_SVP_CANCEL, ///< Button to cancel saving the preset. + WID_SVP_SAVE = ::WID_SVP_SAVE, ///< Button to save the preset. + }; + /** Widgets of the #ScanProgressWindow class. */ enum ScanProgressWidgets { WID_SP_PROGRESS_BAR = ::WID_SP_PROGRESS_BAR, ///< Simple progress bar. @@ -2104,7 +2130,7 @@ public: WID_GO_LANG_DROPDOWN = ::WID_GO_LANG_DROPDOWN, ///< Language dropdown. WID_GO_RESOLUTION_DROPDOWN = ::WID_GO_RESOLUTION_DROPDOWN, ///< Dropdown for the resolution. WID_GO_FULLSCREEN_BUTTON = ::WID_GO_FULLSCREEN_BUTTON, ///< Toggle fullscreen. - WID_GO_SCREENSHOT_DROPDOWN = ::WID_GO_SCREENSHOT_DROPDOWN, ///< Select the screenshot type... please use PNG!. + WID_GO_GUI_ZOOM_DROPDOWN = ::WID_GO_GUI_ZOOM_DROPDOWN, ///< Dropdown for the GUI zoom level. WID_GO_BASE_GRF_DROPDOWN = ::WID_GO_BASE_GRF_DROPDOWN, ///< Use to select a base GRF. WID_GO_BASE_GRF_STATUS = ::WID_GO_BASE_GRF_STATUS, ///< Info about missing files etc. WID_GO_BASE_GRF_TEXTFILE = ::WID_GO_BASE_GRF_TEXTFILE, ///< Open base GRF readme, changelog (+1) or license (+2). diff --git a/src/script/api/template/template_news.hpp.sq b/src/script/api/template/template_news.hpp.sq index f0a09bb495..445a055e10 100644 --- a/src/script/api/template/template_news.hpp.sq +++ b/src/script/api/template/template_news.hpp.sq @@ -15,6 +15,8 @@ namespace SQConvert { /* Allow enums to be used as Squirrel parameters */ template <> inline ScriptNews::NewsType GetParam(ForceType, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQInteger tmp; sq_getinteger(vm, index, &tmp); return (ScriptNews::NewsType)tmp; } template <> inline int Return(HSQUIRRELVM vm, ScriptNews::NewsType res) { sq_pushinteger(vm, (int32)res); return 1; } + template <> inline ScriptNews::NewsReferenceType GetParam(ForceType, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQInteger tmp; sq_getinteger(vm, index, &tmp); return (ScriptNews::NewsReferenceType)tmp; } + template <> inline int Return(HSQUIRRELVM vm, ScriptNews::NewsReferenceType res) { sq_pushinteger(vm, (int32)res); return 1; } /* Allow ScriptNews to be used as Squirrel parameter */ template <> inline ScriptNews *GetParam(ForceType, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (ScriptNews *)instance; } diff --git a/src/script/api/template/template_stationlist.hpp.sq b/src/script/api/template/template_stationlist.hpp.sq index f9f49a4ef2..5f7bd28129 100644 --- a/src/script/api/template/template_stationlist.hpp.sq +++ b/src/script/api/template/template_stationlist.hpp.sq @@ -20,6 +20,111 @@ namespace SQConvert { template <> inline int Return(HSQUIRRELVM vm, ScriptStationList *res) { if (res == NULL) { sq_pushnull(vm); return 1; } res->AddRef(); Squirrel::CreateClassInstanceVM(vm, "StationList", res, NULL, DefSQDestructorCallback, true); return 1; } } // namespace SQConvert +namespace SQConvert { + /* Allow enums to be used as Squirrel parameters */ + template <> inline ScriptStationList_Cargo::CargoSelector GetParam(ForceType, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQInteger tmp; sq_getinteger(vm, index, &tmp); return (ScriptStationList_Cargo::CargoSelector)tmp; } + template <> inline int Return(HSQUIRRELVM vm, ScriptStationList_Cargo::CargoSelector res) { sq_pushinteger(vm, (int32)res); return 1; } + template <> inline ScriptStationList_Cargo::CargoMode GetParam(ForceType, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQInteger tmp; sq_getinteger(vm, index, &tmp); return (ScriptStationList_Cargo::CargoMode)tmp; } + template <> inline int Return(HSQUIRRELVM vm, ScriptStationList_Cargo::CargoMode res) { sq_pushinteger(vm, (int32)res); return 1; } + + /* Allow ScriptStationList_Cargo to be used as Squirrel parameter */ + template <> inline ScriptStationList_Cargo *GetParam(ForceType, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (ScriptStationList_Cargo *)instance; } + template <> inline ScriptStationList_Cargo &GetParam(ForceType, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(ScriptStationList_Cargo *)instance; } + template <> inline const ScriptStationList_Cargo *GetParam(ForceType, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (ScriptStationList_Cargo *)instance; } + template <> inline const ScriptStationList_Cargo &GetParam(ForceType, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(ScriptStationList_Cargo *)instance; } + template <> inline int Return(HSQUIRRELVM vm, ScriptStationList_Cargo *res) { if (res == NULL) { sq_pushnull(vm); return 1; } res->AddRef(); Squirrel::CreateClassInstanceVM(vm, "StationList_Cargo", res, NULL, DefSQDestructorCallback, true); return 1; } +} // namespace SQConvert + +namespace SQConvert { + /* Allow ScriptStationList_CargoWaiting to be used as Squirrel parameter */ + template <> inline ScriptStationList_CargoWaiting *GetParam(ForceType, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (ScriptStationList_CargoWaiting *)instance; } + template <> inline ScriptStationList_CargoWaiting &GetParam(ForceType, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(ScriptStationList_CargoWaiting *)instance; } + template <> inline const ScriptStationList_CargoWaiting *GetParam(ForceType, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (ScriptStationList_CargoWaiting *)instance; } + template <> inline const ScriptStationList_CargoWaiting &GetParam(ForceType, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(ScriptStationList_CargoWaiting *)instance; } + template <> inline int Return(HSQUIRRELVM vm, ScriptStationList_CargoWaiting *res) { if (res == NULL) { sq_pushnull(vm); return 1; } res->AddRef(); Squirrel::CreateClassInstanceVM(vm, "StationList_CargoWaiting", res, NULL, DefSQDestructorCallback, true); return 1; } +} // namespace SQConvert + +namespace SQConvert { + /* Allow ScriptStationList_CargoPlanned to be used as Squirrel parameter */ + template <> inline ScriptStationList_CargoPlanned *GetParam(ForceType, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (ScriptStationList_CargoPlanned *)instance; } + template <> inline ScriptStationList_CargoPlanned &GetParam(ForceType, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(ScriptStationList_CargoPlanned *)instance; } + template <> inline const ScriptStationList_CargoPlanned *GetParam(ForceType, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (ScriptStationList_CargoPlanned *)instance; } + template <> inline const ScriptStationList_CargoPlanned &GetParam(ForceType, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(ScriptStationList_CargoPlanned *)instance; } + template <> inline int Return(HSQUIRRELVM vm, ScriptStationList_CargoPlanned *res) { if (res == NULL) { sq_pushnull(vm); return 1; } res->AddRef(); Squirrel::CreateClassInstanceVM(vm, "StationList_CargoPlanned", res, NULL, DefSQDestructorCallback, true); return 1; } +} // namespace SQConvert + +namespace SQConvert { + /* Allow ScriptStationList_CargoWaitingByFrom to be used as Squirrel parameter */ + template <> inline ScriptStationList_CargoWaitingByFrom *GetParam(ForceType, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (ScriptStationList_CargoWaitingByFrom *)instance; } + template <> inline ScriptStationList_CargoWaitingByFrom &GetParam(ForceType, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(ScriptStationList_CargoWaitingByFrom *)instance; } + template <> inline const ScriptStationList_CargoWaitingByFrom *GetParam(ForceType, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (ScriptStationList_CargoWaitingByFrom *)instance; } + template <> inline const ScriptStationList_CargoWaitingByFrom &GetParam(ForceType, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(ScriptStationList_CargoWaitingByFrom *)instance; } + template <> inline int Return(HSQUIRRELVM vm, ScriptStationList_CargoWaitingByFrom *res) { if (res == NULL) { sq_pushnull(vm); return 1; } res->AddRef(); Squirrel::CreateClassInstanceVM(vm, "StationList_CargoWaitingByFrom", res, NULL, DefSQDestructorCallback, true); return 1; } +} // namespace SQConvert + +namespace SQConvert { + /* Allow ScriptStationList_CargoWaitingViaByFrom to be used as Squirrel parameter */ + template <> inline ScriptStationList_CargoWaitingViaByFrom *GetParam(ForceType, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (ScriptStationList_CargoWaitingViaByFrom *)instance; } + template <> inline ScriptStationList_CargoWaitingViaByFrom &GetParam(ForceType, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(ScriptStationList_CargoWaitingViaByFrom *)instance; } + template <> inline const ScriptStationList_CargoWaitingViaByFrom *GetParam(ForceType, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (ScriptStationList_CargoWaitingViaByFrom *)instance; } + template <> inline const ScriptStationList_CargoWaitingViaByFrom &GetParam(ForceType, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(ScriptStationList_CargoWaitingViaByFrom *)instance; } + template <> inline int Return(HSQUIRRELVM vm, ScriptStationList_CargoWaitingViaByFrom *res) { if (res == NULL) { sq_pushnull(vm); return 1; } res->AddRef(); Squirrel::CreateClassInstanceVM(vm, "StationList_CargoWaitingViaByFrom", res, NULL, DefSQDestructorCallback, true); return 1; } +} // namespace SQConvert + +namespace SQConvert { + /* Allow ScriptStationList_CargoWaitingByVia to be used as Squirrel parameter */ + template <> inline ScriptStationList_CargoWaitingByVia *GetParam(ForceType, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (ScriptStationList_CargoWaitingByVia *)instance; } + template <> inline ScriptStationList_CargoWaitingByVia &GetParam(ForceType, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(ScriptStationList_CargoWaitingByVia *)instance; } + template <> inline const ScriptStationList_CargoWaitingByVia *GetParam(ForceType, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (ScriptStationList_CargoWaitingByVia *)instance; } + template <> inline const ScriptStationList_CargoWaitingByVia &GetParam(ForceType, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(ScriptStationList_CargoWaitingByVia *)instance; } + template <> inline int Return(HSQUIRRELVM vm, ScriptStationList_CargoWaitingByVia *res) { if (res == NULL) { sq_pushnull(vm); return 1; } res->AddRef(); Squirrel::CreateClassInstanceVM(vm, "StationList_CargoWaitingByVia", res, NULL, DefSQDestructorCallback, true); return 1; } +} // namespace SQConvert + +namespace SQConvert { + /* Allow ScriptStationList_CargoWaitingFromByVia to be used as Squirrel parameter */ + template <> inline ScriptStationList_CargoWaitingFromByVia *GetParam(ForceType, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (ScriptStationList_CargoWaitingFromByVia *)instance; } + template <> inline ScriptStationList_CargoWaitingFromByVia &GetParam(ForceType, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(ScriptStationList_CargoWaitingFromByVia *)instance; } + template <> inline const ScriptStationList_CargoWaitingFromByVia *GetParam(ForceType, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (ScriptStationList_CargoWaitingFromByVia *)instance; } + template <> inline const ScriptStationList_CargoWaitingFromByVia &GetParam(ForceType, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(ScriptStationList_CargoWaitingFromByVia *)instance; } + template <> inline int Return(HSQUIRRELVM vm, ScriptStationList_CargoWaitingFromByVia *res) { if (res == NULL) { sq_pushnull(vm); return 1; } res->AddRef(); Squirrel::CreateClassInstanceVM(vm, "StationList_CargoWaitingFromByVia", res, NULL, DefSQDestructorCallback, true); return 1; } +} // namespace SQConvert + +namespace SQConvert { + /* Allow ScriptStationList_CargoPlannedByFrom to be used as Squirrel parameter */ + template <> inline ScriptStationList_CargoPlannedByFrom *GetParam(ForceType, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (ScriptStationList_CargoPlannedByFrom *)instance; } + template <> inline ScriptStationList_CargoPlannedByFrom &GetParam(ForceType, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(ScriptStationList_CargoPlannedByFrom *)instance; } + template <> inline const ScriptStationList_CargoPlannedByFrom *GetParam(ForceType, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (ScriptStationList_CargoPlannedByFrom *)instance; } + template <> inline const ScriptStationList_CargoPlannedByFrom &GetParam(ForceType, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(ScriptStationList_CargoPlannedByFrom *)instance; } + template <> inline int Return(HSQUIRRELVM vm, ScriptStationList_CargoPlannedByFrom *res) { if (res == NULL) { sq_pushnull(vm); return 1; } res->AddRef(); Squirrel::CreateClassInstanceVM(vm, "StationList_CargoPlannedByFrom", res, NULL, DefSQDestructorCallback, true); return 1; } +} // namespace SQConvert + +namespace SQConvert { + /* Allow ScriptStationList_CargoPlannedViaByFrom to be used as Squirrel parameter */ + template <> inline ScriptStationList_CargoPlannedViaByFrom *GetParam(ForceType, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (ScriptStationList_CargoPlannedViaByFrom *)instance; } + template <> inline ScriptStationList_CargoPlannedViaByFrom &GetParam(ForceType, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(ScriptStationList_CargoPlannedViaByFrom *)instance; } + template <> inline const ScriptStationList_CargoPlannedViaByFrom *GetParam(ForceType, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (ScriptStationList_CargoPlannedViaByFrom *)instance; } + template <> inline const ScriptStationList_CargoPlannedViaByFrom &GetParam(ForceType, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(ScriptStationList_CargoPlannedViaByFrom *)instance; } + template <> inline int Return(HSQUIRRELVM vm, ScriptStationList_CargoPlannedViaByFrom *res) { if (res == NULL) { sq_pushnull(vm); return 1; } res->AddRef(); Squirrel::CreateClassInstanceVM(vm, "StationList_CargoPlannedViaByFrom", res, NULL, DefSQDestructorCallback, true); return 1; } +} // namespace SQConvert + +namespace SQConvert { + /* Allow ScriptStationList_CargoPlannedByVia to be used as Squirrel parameter */ + template <> inline ScriptStationList_CargoPlannedByVia *GetParam(ForceType, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (ScriptStationList_CargoPlannedByVia *)instance; } + template <> inline ScriptStationList_CargoPlannedByVia &GetParam(ForceType, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(ScriptStationList_CargoPlannedByVia *)instance; } + template <> inline const ScriptStationList_CargoPlannedByVia *GetParam(ForceType, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (ScriptStationList_CargoPlannedByVia *)instance; } + template <> inline const ScriptStationList_CargoPlannedByVia &GetParam(ForceType, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(ScriptStationList_CargoPlannedByVia *)instance; } + template <> inline int Return(HSQUIRRELVM vm, ScriptStationList_CargoPlannedByVia *res) { if (res == NULL) { sq_pushnull(vm); return 1; } res->AddRef(); Squirrel::CreateClassInstanceVM(vm, "StationList_CargoPlannedByVia", res, NULL, DefSQDestructorCallback, true); return 1; } +} // namespace SQConvert + +namespace SQConvert { + /* Allow ScriptStationList_CargoPlannedFromByVia to be used as Squirrel parameter */ + template <> inline ScriptStationList_CargoPlannedFromByVia *GetParam(ForceType, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (ScriptStationList_CargoPlannedFromByVia *)instance; } + template <> inline ScriptStationList_CargoPlannedFromByVia &GetParam(ForceType, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(ScriptStationList_CargoPlannedFromByVia *)instance; } + template <> inline const ScriptStationList_CargoPlannedFromByVia *GetParam(ForceType, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (ScriptStationList_CargoPlannedFromByVia *)instance; } + template <> inline const ScriptStationList_CargoPlannedFromByVia &GetParam(ForceType, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(ScriptStationList_CargoPlannedFromByVia *)instance; } + template <> inline int Return(HSQUIRRELVM vm, ScriptStationList_CargoPlannedFromByVia *res) { if (res == NULL) { sq_pushnull(vm); return 1; } res->AddRef(); Squirrel::CreateClassInstanceVM(vm, "StationList_CargoPlannedFromByVia", res, NULL, DefSQDestructorCallback, true); return 1; } +} // namespace SQConvert + namespace SQConvert { /* Allow ScriptStationList_Vehicle to be used as Squirrel parameter */ template <> inline ScriptStationList_Vehicle *GetParam(ForceType, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (ScriptStationList_Vehicle *)instance; } diff --git a/src/script/api/template/template_window.hpp.sq b/src/script/api/template/template_window.hpp.sq index 9f01e42d5a..a21a75ab89 100644 --- a/src/script/api/template/template_window.hpp.sq +++ b/src/script/api/template/template_window.hpp.sq @@ -161,6 +161,8 @@ namespace SQConvert { template <> inline int Return(HSQUIRRELVM vm, ScriptWindow::NewGRFParametersWidgets res) { sq_pushinteger(vm, (int32)res); return 1; } template <> inline ScriptWindow::NewGRFStateWidgets GetParam(ForceType, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQInteger tmp; sq_getinteger(vm, index, &tmp); return (ScriptWindow::NewGRFStateWidgets)tmp; } template <> inline int Return(HSQUIRRELVM vm, ScriptWindow::NewGRFStateWidgets res) { sq_pushinteger(vm, (int32)res); return 1; } + template <> inline ScriptWindow::SavePresetWidgets GetParam(ForceType, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQInteger tmp; sq_getinteger(vm, index, &tmp); return (ScriptWindow::SavePresetWidgets)tmp; } + template <> inline int Return(HSQUIRRELVM vm, ScriptWindow::SavePresetWidgets res) { sq_pushinteger(vm, (int32)res); return 1; } template <> inline ScriptWindow::ScanProgressWidgets GetParam(ForceType, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQInteger tmp; sq_getinteger(vm, index, &tmp); return (ScriptWindow::ScanProgressWidgets)tmp; } template <> inline int Return(HSQUIRRELVM vm, ScriptWindow::ScanProgressWidgets res) { sq_pushinteger(vm, (int32)res); return 1; } template <> inline ScriptWindow::NewsWidgets GetParam(ForceType, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQInteger tmp; sq_getinteger(vm, index, &tmp); return (ScriptWindow::NewsWidgets)tmp; } diff --git a/src/script/script_config.cpp b/src/script/script_config.cpp index a46f5f3923..a6e41476e8 100644 --- a/src/script/script_config.cpp +++ b/src/script/script_config.cpp @@ -14,11 +14,14 @@ #include "../core/random_func.hpp" #include "script_info.hpp" #include "../textfile_gui.h" +#include "../string_func.h" + +#include "../safeguards.h" void ScriptConfig::Change(const char *name, int version, bool force_exact_match, bool is_random) { free(this->name); - this->name = (name == NULL) ? NULL : strdup(name); + this->name = (name == NULL) ? NULL : stredup(name); this->info = (name == NULL) ? NULL : this->FindInfo(this->name, version, force_exact_match); this->version = (info == NULL) ? -1 : info->GetVersion(); this->is_random = is_random; @@ -42,14 +45,14 @@ void ScriptConfig::Change(const char *name, int version, bool force_exact_match, ScriptConfig::ScriptConfig(const ScriptConfig *config) { - this->name = (config->name == NULL) ? NULL : strdup(config->name); + this->name = (config->name == NULL) ? NULL : stredup(config->name); this->info = config->info; this->version = config->version; this->config_list = NULL; this->is_random = config->is_random; for (SettingValueList::const_iterator it = config->settings.begin(); it != config->settings.end(); it++) { - this->settings[strdup((*it).first)] = (*it).second; + this->settings[stredup((*it).first)] = (*it).second; } this->AddRandomDeviation(); } @@ -114,7 +117,7 @@ void ScriptConfig::SetSetting(const char *name, int value) if (it != this->settings.end()) { (*it).second = value; } else { - this->settings[strdup(name)] = value; + this->settings[stredup(name)] = value; } } @@ -157,7 +160,7 @@ int ScriptConfig::GetVersion() const void ScriptConfig::StringToSettings(const char *value) { - char *value_copy = strdup(value); + char *value_copy = stredup(value); char *s = value_copy; while (s != NULL) { @@ -181,27 +184,27 @@ void ScriptConfig::StringToSettings(const char *value) free(value_copy); } -void ScriptConfig::SettingsToString(char *string, size_t size) const +void ScriptConfig::SettingsToString(char *string, const char *last) const { - string[0] = '\0'; + char *s = string; + *s = '\0'; for (SettingValueList::const_iterator it = this->settings.begin(); it != this->settings.end(); it++) { char no[10]; - snprintf(no, sizeof(no), "%d", (*it).second); + seprintf(no, lastof(no), "%d", (*it).second); /* Check if the string would fit in the destination */ - size_t needed_size = strlen((*it).first) + 1 + strlen(no) + 1; + size_t needed_size = strlen((*it).first) + 1 + strlen(no); /* If it doesn't fit, skip the next settings */ - if (size <= needed_size) break; - size -= needed_size; + if (string + needed_size > last) break; - strcat(string, (*it).first); - strcat(string, "="); - strcat(string, no); - strcat(string, ","); + s = strecat(s, (*it).first, last); + s = strecat(s, "=", last); + s = strecat(s, no, last); + s = strecat(s, ",", last); } + /* Remove the last ',', but only if at least one setting was saved. */ - size_t len = strlen(string); - if (len > 0) string[len - 1] = '\0'; + if (s != string) s[-1] = '\0'; } const char *ScriptConfig::GetTextfile(TextfileType type, CompanyID slot) const diff --git a/src/script/script_config.hpp b/src/script/script_config.hpp index 0350f8ded9..dfc675473c 100644 --- a/src/script/script_config.hpp +++ b/src/script/script_config.hpp @@ -172,7 +172,7 @@ public: * Convert the custom settings to a string that can be stored in the config * file or savegames. */ - void SettingsToString(char *string, size_t size) const; + void SettingsToString(char *string, const char *last) const; /** * Search a textfile file next to this script. diff --git a/src/script/script_info.cpp b/src/script/script_info.cpp index 8b84966f23..b95c6e366d 100644 --- a/src/script/script_info.cpp +++ b/src/script/script_info.cpp @@ -17,6 +17,8 @@ #include "script_info.hpp" #include "script_scanner.hpp" +#include "../safeguards.h" + ScriptInfo::~ScriptInfo() { /* Free all allocated strings */ @@ -48,7 +50,7 @@ bool ScriptInfo::CheckMethod(const char *name) const { if (!this->engine->MethodExists(*this->SQ_instance, name)) { char error[1024]; - snprintf(error, sizeof(error), "your info.nut/library.nut doesn't have the method '%s'", name); + seprintf(error, lastof(error), "your info.nut/library.nut doesn't have the method '%s'", name); this->engine->ThrowError(error); return false; } @@ -81,9 +83,9 @@ bool ScriptInfo::CheckMethod(const char *name) const } /* Get location information of the scanner */ - info->main_script = strdup(info->scanner->GetMainScript()); + info->main_script = stredup(info->scanner->GetMainScript()); const char *tar_name = info->scanner->GetTarFile(); - if (tar_name != NULL) info->tar_file = strdup(tar_name); + if (tar_name != NULL) info->tar_file = stredup(tar_name); /* Cache the data the info file gives us. */ if (!info->engine->CallStringMethodStrdup(*info->SQ_instance, "GetAuthor", &info->author, MAX_GET_OPS)) return SQ_ERROR; @@ -123,15 +125,14 @@ SQInteger ScriptInfo::AddSetting(HSQUIRRELVM vm) /* Read the table, and find all properties we care about */ sq_pushnull(vm); while (SQ_SUCCEEDED(sq_next(vm, -2))) { - const SQChar *sqkey; - if (SQ_FAILED(sq_getstring(vm, -2, &sqkey))) return SQ_ERROR; - const char *key = SQ2OTTD(sqkey); + const SQChar *key; + if (SQ_FAILED(sq_getstring(vm, -2, &key))) return SQ_ERROR; ValidateString(key); if (strcmp(key, "name") == 0) { const SQChar *sqvalue; if (SQ_FAILED(sq_getstring(vm, -1, &sqvalue))) return SQ_ERROR; - char *name = strdup(SQ2OTTD(sqvalue)); + char *name = stredup(sqvalue); char *s; ValidateString(name); @@ -144,7 +145,7 @@ SQInteger ScriptInfo::AddSetting(HSQUIRRELVM vm) } else if (strcmp(key, "description") == 0) { const SQChar *sqdescription; if (SQ_FAILED(sq_getstring(vm, -1, &sqdescription))) return SQ_ERROR; - config.description = strdup(SQ2OTTD(sqdescription)); + config.description = stredup(sqdescription); ValidateString(config.description); items |= 0x002; } else if (strcmp(key, "min_value") == 0) { @@ -193,7 +194,7 @@ SQInteger ScriptInfo::AddSetting(HSQUIRRELVM vm) items |= 0x100; } else { char error[1024]; - snprintf(error, sizeof(error), "unknown setting property '%s'", key); + seprintf(error, lastof(error), "unknown setting property '%s'", key); this->engine->ThrowError(error); return SQ_ERROR; } @@ -206,7 +207,7 @@ SQInteger ScriptInfo::AddSetting(HSQUIRRELVM vm) * be set for the same config item. */ if ((items & 0x200) != 0 && (config.flags & SCRIPTCONFIG_RANDOM) != 0) { char error[1024]; - snprintf(error, sizeof(error), "Setting both random_deviation and SCRIPTCONFIG_RANDOM is not allowed"); + seprintf(error, lastof(error), "Setting both random_deviation and SCRIPTCONFIG_RANDOM is not allowed"); this->engine->ThrowError(error); return SQ_ERROR; } @@ -217,7 +218,7 @@ SQInteger ScriptInfo::AddSetting(HSQUIRRELVM vm) uint mask = (config.flags & SCRIPTCONFIG_BOOLEAN) ? 0x1F3 : 0x1FF; if (items != mask) { char error[1024]; - snprintf(error, sizeof(error), "please define all properties of a setting (min/max not allowed for booleans)"); + seprintf(error, lastof(error), "please define all properties of a setting (min/max not allowed for booleans)"); this->engine->ThrowError(error); return SQ_ERROR; } @@ -228,9 +229,8 @@ SQInteger ScriptInfo::AddSetting(HSQUIRRELVM vm) SQInteger ScriptInfo::AddLabels(HSQUIRRELVM vm) { - const SQChar *sq_setting_name; - if (SQ_FAILED(sq_getstring(vm, -2, &sq_setting_name))) return SQ_ERROR; - const char *setting_name = SQ2OTTD(sq_setting_name); + const SQChar *setting_name; + if (SQ_FAILED(sq_getstring(vm, -2, &setting_name))) return SQ_ERROR; ValidateString(setting_name); ScriptConfigItem *config = NULL; @@ -240,7 +240,7 @@ SQInteger ScriptInfo::AddLabels(HSQUIRRELVM vm) if (config == NULL) { char error[1024]; - snprintf(error, sizeof(error), "Trying to add labels for non-defined setting '%s'", setting_name); + seprintf(error, lastof(error), "Trying to add labels for non-defined setting '%s'", setting_name); this->engine->ThrowError(error); return SQ_ERROR; } @@ -251,19 +251,17 @@ SQInteger ScriptInfo::AddLabels(HSQUIRRELVM vm) /* Read the table and find all labels */ sq_pushnull(vm); while (SQ_SUCCEEDED(sq_next(vm, -2))) { - const SQChar *sq_key; - const SQChar *sq_label; - if (SQ_FAILED(sq_getstring(vm, -2, &sq_key))) return SQ_ERROR; - if (SQ_FAILED(sq_getstring(vm, -1, &sq_label))) return SQ_ERROR; + const SQChar *key_string; + const SQChar *label; + if (SQ_FAILED(sq_getstring(vm, -2, &key_string))) return SQ_ERROR; + if (SQ_FAILED(sq_getstring(vm, -1, &label))) return SQ_ERROR; /* Because squirrel doesn't support identifiers starting with a digit, * we skip the first character. */ - const char *key_string = SQ2OTTD(sq_key); int key = atoi(key_string + 1); - const char *label = SQ2OTTD(sq_label); ValidateString(label); - /* !Contains() prevents strdup from leaking. */ - if (!config->labels->Contains(key)) config->labels->Insert(key, strdup(label)); + /* !Contains() prevents stredup from leaking. */ + if (!config->labels->Contains(key)) config->labels->Insert(key, stredup(label)); sq_pop(vm, 2); } diff --git a/src/script/script_info_dummy.cpp b/src/script/script_info_dummy.cpp index b846303325..e11c631512 100644 --- a/src/script/script_info_dummy.cpp +++ b/src/script/script_info_dummy.cpp @@ -9,12 +9,14 @@ /** @file script_info_dummy.cpp Implementation of a dummy Script. */ -#include #include "../stdafx.h" +#include #include "../string_func.h" #include "../strings_func.h" +#include "../safeguards.h" + /* The reason this exists in C++, is that a user can trash his ai/ or game/ dir, * leaving no Scripts available. The complexity to solve this is insane, and * therefore the alternative is used, and make sure there is always a Script @@ -39,12 +41,12 @@ void Script_CreateDummyInfo(HSQUIRRELVM vm, const char *type, const char *dir) dp += seprintf(dp, lastof(dummy_script), "function CreateInstance() { return \"Dummy%s\"; }\n", type); dp += seprintf(dp, lastof(dummy_script), "} RegisterDummy%s(Dummy%s());\n", type, type); - const SQChar *sq_dummy_script = OTTD2SQ(dummy_script); + const SQChar *sq_dummy_script = dummy_script; sq_pushroottable(vm); /* Load and run the script */ - if (SQ_SUCCEEDED(sq_compilebuffer(vm, sq_dummy_script, scstrlen(sq_dummy_script), _SC("dummy"), SQTrue))) { + if (SQ_SUCCEEDED(sq_compilebuffer(vm, sq_dummy_script, strlen(sq_dummy_script), "dummy", SQTrue))) { sq_push(vm, -2); if (SQ_SUCCEEDED(sq_call(vm, 1, SQFalse, SQTrue))) { sq_pop(vm, 1); @@ -95,11 +97,11 @@ void Script_CreateDummy(HSQUIRRELVM vm, StringID string, const char *type) /* 3) We translate the error message in the character format that Squirrel wants. * We can use the fact that the wchar string printing also uses %s to print * old style char strings, which is what was generated during the script generation. */ - const SQChar *sq_dummy_script = OTTD2SQ(dummy_script); + const SQChar *sq_dummy_script = dummy_script; /* And finally we load and run the script */ sq_pushroottable(vm); - if (SQ_SUCCEEDED(sq_compilebuffer(vm, sq_dummy_script, scstrlen(sq_dummy_script), _SC("dummy"), SQTrue))) { + if (SQ_SUCCEEDED(sq_compilebuffer(vm, sq_dummy_script, strlen(sq_dummy_script), "dummy", SQTrue))) { sq_push(vm, -2); if (SQ_SUCCEEDED(sq_call(vm, 1, SQFalse, SQTrue))) { sq_pop(vm, 1); diff --git a/src/script/script_instance.cpp b/src/script/script_instance.cpp index 7e4766fdbf..5df06ad890 100644 --- a/src/script/script_instance.cpp +++ b/src/script/script_instance.cpp @@ -29,6 +29,8 @@ #include "../company_func.h" #include "../fileio_func.h" +#include "../safeguards.h" + ScriptStorage::~ScriptStorage() { /* Free our pointers */ @@ -44,7 +46,7 @@ ScriptStorage::~ScriptStorage() static void PrintFunc(bool error_msg, const SQChar *message) { /* Convert to OpenTTD internal capable string */ - ScriptController::Print(error_msg, SQ2OTTD(message)); + ScriptController::Print(error_msg, message); } ScriptInstance::ScriptInstance(const char *APIName) : @@ -114,8 +116,8 @@ bool ScriptInstance::LoadCompatibilityScripts(const char *api_version, Subdirect char buf[MAX_PATH]; Searchpath sp; FOR_ALL_SEARCHPATHS(sp) { - FioAppendDirectory(buf, MAX_PATH, sp, dir); - ttd_strlcat(buf, script_name, MAX_PATH); + FioAppendDirectory(buf, lastof(buf), sp, dir); + strecat(buf, script_name, lastof(buf)); if (!FileExists(buf)) continue; if (this->engine->LoadScript(buf)) return true; @@ -365,11 +367,8 @@ static const SaveLoad _script_byte[] = { _script_sl_byte = SQSL_STRING; SlObject(NULL, _script_byte); } - const SQChar *res; - sq_getstring(vm, index, &res); - /* @bug if a string longer than 512 characters is given to SQ2OTTD, the - * internal buffer overflows. */ - const char *buf = SQ2OTTD(res); + const SQChar *buf; + sq_getstring(vm, index, &buf); size_t len = strlen(buf) + 1; if (len >= 255) { ScriptLog::Error("Maximum string length is 254 chars. No data saved."); @@ -567,7 +566,7 @@ bool ScriptInstance::IsPaused() SlObject(NULL, _script_byte); static char buf[256]; SlArray(buf, _script_sl_byte, SLE_CHAR); - if (vm != NULL) sq_pushstring(vm, OTTD2SQ(buf), -1); + if (vm != NULL) sq_pushstring(vm, buf, -1); return true; } @@ -592,7 +591,7 @@ bool ScriptInstance::IsPaused() case SQSL_BOOL: { SlObject(NULL, _script_byte); - if (vm != NULL) sq_pushinteger(vm, (SQBool)(_script_sl_byte != 0)); + if (vm != NULL) sq_pushbool(vm, (SQBool)(_script_sl_byte != 0)); return true; } @@ -656,7 +655,7 @@ bool ScriptInstance::CallLoad() /* Go to the instance-root */ sq_pushobject(vm, *this->instance); /* Find the function-name inside the script */ - sq_pushstring(vm, OTTD2SQ("Load"), -1); + sq_pushstring(vm, "Load", -1); /* Change the "Load" string in a function pointer */ sq_get(vm, -2); /* Push the main instance as "this" object */ diff --git a/src/script/script_scanner.cpp b/src/script/script_scanner.cpp index 2197a55058..57265669f9 100644 --- a/src/script/script_scanner.cpp +++ b/src/script/script_scanner.cpp @@ -18,15 +18,23 @@ #include "script_scanner.hpp" #include "script_info.hpp" +#if defined(ENABLE_NETWORK) +#include "../network/network_content.h" +#include "../3rdparty/md5/md5.h" +#include "../tar_type.h" +#endif /* ENABLE_NETWORK */ + +#include "../safeguards.h" + bool ScriptScanner::AddFile(const char *filename, size_t basepath_length, const char *tar_filename) { free(this->main_script); - this->main_script = strdup(filename); + this->main_script = stredup(filename); if (this->main_script == NULL) return false; free(this->tar_file); if (tar_filename != NULL) { - this->tar_file = strdup(tar_filename); + this->tar_file = stredup(tar_filename); if (this->tar_file == NULL) return false; } else { this->tar_file = NULL; @@ -45,9 +53,9 @@ bool ScriptScanner::AddFile(const char *filename, size_t basepath_length, const if (!FioCheckFileExists(filename, this->subdir) || !FioCheckFileExists(this->main_script, this->subdir)) return false; - /* We don't care if one of the other scripts failed to load. */ - this->engine->ResetCrashed(); + this->ResetEngine(); this->engine->LoadScript(filename); + return true; } @@ -58,17 +66,20 @@ ScriptScanner::ScriptScanner() : { } +void ScriptScanner::ResetEngine() +{ + this->engine->Reset(); + this->engine->SetGlobalPointer(this); + this->RegisterAPI(this->engine); +} + void ScriptScanner::Initialize(const char *name) { this->engine = new Squirrel(name); - /* Mark this class as global pointer */ - this->engine->SetGlobalPointer(this); - - this->RegisterAPI(this->engine); this->RescanDir(); - this->engine->ResetCrashed(); + this->ResetEngine(); } ScriptScanner::~ScriptScanner() @@ -108,11 +119,11 @@ void ScriptScanner::Reset() void ScriptScanner::RegisterScript(ScriptInfo *info) { char script_original_name[1024]; - this->GetScriptName(info, script_original_name, sizeof(script_original_name)); + this->GetScriptName(info, script_original_name, lastof(script_original_name)); strtolower(script_original_name); char script_name[1024]; - snprintf(script_name, sizeof(script_name), "%s.%d", script_original_name, info->GetVersion()); + seprintf(script_name, lastof(script_name), "%s.%d", script_original_name, info->GetVersion()); /* Check if GetShortName follows the rules */ if (strlen(info->GetShortName()) != 4) { @@ -142,13 +153,13 @@ void ScriptScanner::RegisterScript(ScriptInfo *info) return; } - this->info_list[strdup(script_name)] = info; + this->info_list[stredup(script_name)] = info; if (!info->IsDeveloperOnly() || _settings_client.gui.ai_developer_tools) { /* Add the script to the 'unique' script list, where only the highest version * of the script is registered. */ if (this->info_single_list.find(script_original_name) == this->info_single_list.end()) { - this->info_single_list[strdup(script_original_name)] = info; + this->info_single_list[stredup(script_original_name)] = info; } else if (this->info_single_list[script_original_name]->GetVersion() < info->GetVersion()) { this->info_single_list[script_original_name] = info; } @@ -170,9 +181,6 @@ char *ScriptScanner::GetConsoleList(char *p, const char *last, bool newest_only) } #if defined(ENABLE_NETWORK) -#include "../network/network_content.h" -#include "../3rdparty/md5/md5.h" -#include "../tar_type.h" /** Helper for creating a MD5sum of all files within of a script. */ struct ScriptFileChecksumCreator : FileScanner { diff --git a/src/script/script_scanner.hpp b/src/script/script_scanner.hpp index 792d36bae7..50dad02ad2 100644 --- a/src/script/script_scanner.hpp +++ b/src/script/script_scanner.hpp @@ -101,7 +101,7 @@ protected: /** * Get the script name how to store the script in memory. */ - virtual void GetScriptName(ScriptInfo *info, char *name, int len) = 0; + virtual void GetScriptName(ScriptInfo *info, char *name, const char *last) = 0; /** * Get the filename to scan for this type of script. @@ -128,6 +128,10 @@ protected: */ void Reset(); + /** + * Reset the engine to ensure a clean environment for further steps. + */ + void ResetEngine(); }; #endif /* SCRIPT_SCANNER_HPP */ diff --git a/src/script/squirrel.cpp b/src/script/squirrel.cpp index ce73f9a640..e38067480d 100644 --- a/src/script/squirrel.cpp +++ b/src/script/squirrel.cpp @@ -19,22 +19,20 @@ #include <../squirrel/sqpcheader.h> #include <../squirrel/sqvm.h> +#include "../safeguards.h" + void Squirrel::CompileError(HSQUIRRELVM vm, const SQChar *desc, const SQChar *source, SQInteger line, SQInteger column) { SQChar buf[1024]; -#ifdef _SQ64 - scsnprintf(buf, lengthof(buf), _SC("Error %s:%ld/%ld: %s"), source, line, column, desc); -#else - scsnprintf(buf, lengthof(buf), _SC("Error %s:%d/%d: %s"), source, line, column, desc); -#endif + seprintf(buf, lastof(buf), "Error %s:" OTTD_PRINTF64 "/" OTTD_PRINTF64 ": %s", source, line, column, desc); /* Check if we have a custom print function */ Squirrel *engine = (Squirrel *)sq_getforeignptr(vm); engine->crashed = true; SQPrintFunc *func = engine->print_func; if (func == NULL) { - DEBUG(misc, 0, "[Squirrel] Compile error: %s", SQ2OTTD(buf)); + DEBUG(misc, 0, "[Squirrel] Compile error: %s", buf); } else { (*func)(true, buf); } @@ -46,13 +44,13 @@ void Squirrel::ErrorPrintFunc(HSQUIRRELVM vm, const SQChar *s, ...) SQChar buf[1024]; va_start(arglist, s); - scvsnprintf(buf, lengthof(buf), s, arglist); + vseprintf(buf, lastof(buf), s, arglist); va_end(arglist); /* Check if we have a custom print function */ SQPrintFunc *func = ((Squirrel *)sq_getforeignptr(vm))->print_func; if (func == NULL) { - scfprintf(stderr, _SC("%s"), buf); + fprintf(stderr, "%s", buf); } else { (*func)(true, buf); } @@ -66,11 +64,11 @@ void Squirrel::RunError(HSQUIRRELVM vm, const SQChar *error) /* Check if we have a custom print function */ SQChar buf[1024]; - scsnprintf(buf, lengthof(buf), _SC("Your script made an error: %s\n"), error); + seprintf(buf, lastof(buf), "Your script made an error: %s\n", error); Squirrel *engine = (Squirrel *)sq_getforeignptr(vm); SQPrintFunc *func = engine->print_func; if (func == NULL) { - scfprintf(stderr, _SC("%s"), buf); + fprintf(stderr, "%s", buf); } else { (*func)(true, buf); } @@ -92,7 +90,7 @@ SQInteger Squirrel::_RunError(HSQUIRRELVM vm) } } - Squirrel::RunError(vm, _SC("unknown error")); + Squirrel::RunError(vm, "unknown error"); return 0; } @@ -102,14 +100,14 @@ void Squirrel::PrintFunc(HSQUIRRELVM vm, const SQChar *s, ...) SQChar buf[1024]; va_start(arglist, s); - scvsnprintf(buf, lengthof(buf) - 2, s, arglist); + vseprintf(buf, lastof(buf) - 2, s, arglist); va_end(arglist); - scstrcat(buf, _SC("\n")); + strecat(buf, "\n", lastof(buf)); /* Check if we have a custom print function */ SQPrintFunc *func = ((Squirrel *)sq_getforeignptr(vm))->print_func; if (func == NULL) { - scprintf(_SC("%s"), buf); + printf("%s", buf); } else { (*func)(false, buf); } @@ -117,7 +115,7 @@ void Squirrel::PrintFunc(HSQUIRRELVM vm, const SQChar *s, ...) void Squirrel::AddMethod(const char *method_name, SQFUNCTION proc, uint nparam, const char *params, void *userdata, int size) { - sq_pushstring(this->vm, OTTD2SQ(method_name), -1); + sq_pushstring(this->vm, method_name, -1); if (size != 0) { void *ptr = sq_newuserdata(vm, size); @@ -125,21 +123,21 @@ void Squirrel::AddMethod(const char *method_name, SQFUNCTION proc, uint nparam, } sq_newclosure(this->vm, proc, size != 0 ? 1 : 0); - if (nparam != 0) sq_setparamscheck(this->vm, nparam, OTTD2SQ(params)); - sq_setnativeclosurename(this->vm, -1, OTTD2SQ(method_name)); + if (nparam != 0) sq_setparamscheck(this->vm, nparam, params); + sq_setnativeclosurename(this->vm, -1, method_name); sq_newslot(this->vm, -3, SQFalse); } void Squirrel::AddConst(const char *var_name, int value) { - sq_pushstring(this->vm, OTTD2SQ(var_name), -1); + sq_pushstring(this->vm, var_name, -1); sq_pushinteger(this->vm, value); sq_newslot(this->vm, -3, SQTrue); } void Squirrel::AddConst(const char *var_name, bool value) { - sq_pushstring(this->vm, OTTD2SQ(var_name), -1); + sq_pushstring(this->vm, var_name, -1); sq_pushbool(this->vm, value); sq_newslot(this->vm, -3, SQTrue); } @@ -147,15 +145,15 @@ void Squirrel::AddConst(const char *var_name, bool value) void Squirrel::AddClassBegin(const char *class_name) { sq_pushroottable(this->vm); - sq_pushstring(this->vm, OTTD2SQ(class_name), -1); + sq_pushstring(this->vm, class_name, -1); sq_newclass(this->vm, SQFalse); } void Squirrel::AddClassBegin(const char *class_name, const char *parent_class) { sq_pushroottable(this->vm); - sq_pushstring(this->vm, OTTD2SQ(class_name), -1); - sq_pushstring(this->vm, OTTD2SQ(parent_class), -1); + sq_pushstring(this->vm, class_name, -1); + sq_pushstring(this->vm, parent_class, -1); if (SQ_FAILED(sq_get(this->vm, -3))) { DEBUG(misc, 0, "[squirrel] Failed to initialize class '%s' based on parent class '%s'", class_name, parent_class); DEBUG(misc, 0, "[squirrel] Make sure that '%s' exists before trying to define '%s'", parent_class, class_name); @@ -177,7 +175,7 @@ bool Squirrel::MethodExists(HSQOBJECT instance, const char *method_name) /* Go to the instance-root */ sq_pushobject(this->vm, instance); /* Find the function-name inside the script */ - sq_pushstring(this->vm, OTTD2SQ(method_name), -1); + sq_pushstring(this->vm, method_name, -1); if (SQ_FAILED(sq_get(this->vm, -2))) { sq_settop(this->vm, top); return false; @@ -228,7 +226,7 @@ bool Squirrel::CallMethod(HSQOBJECT instance, const char *method_name, HSQOBJECT /* Go to the instance-root */ sq_pushobject(this->vm, instance); /* Find the function-name inside the script */ - sq_pushstring(this->vm, OTTD2SQ(method_name), -1); + sq_pushstring(this->vm, method_name, -1); if (SQ_FAILED(sq_get(this->vm, -2))) { DEBUG(misc, 0, "[squirrel] Could not find '%s' in the class", method_name); sq_settop(this->vm, top); @@ -252,7 +250,7 @@ bool Squirrel::CallStringMethodStrdup(HSQOBJECT instance, const char *method_nam HSQOBJECT ret; if (!this->CallMethod(instance, method_name, &ret, suspend)) return false; if (ret._type != OT_STRING) return false; - *res = strdup(ObjectToString(&ret)); + *res = stredup(ObjectToString(&ret)); ValidateString(*res); return true; } @@ -285,12 +283,13 @@ bool Squirrel::CallBoolMethod(HSQOBJECT instance, const char *method_name, bool sq_pushroottable(vm); if (prepend_API_name) { - char *class_name2 = (char *)alloca(strlen(class_name) + strlen(engine->GetAPIName()) + 1); - sprintf(class_name2, "%s%s", engine->GetAPIName(), class_name); + size_t len = strlen(class_name) + strlen(engine->GetAPIName()) + 1; + char *class_name2 = (char *)alloca(len); + seprintf(class_name2, class_name2 + len - 1, "%s%s", engine->GetAPIName(), class_name); - sq_pushstring(vm, OTTD2SQ(class_name2), -1); + sq_pushstring(vm, class_name2, -1); } else { - sq_pushstring(vm, OTTD2SQ(class_name), -1); + sq_pushstring(vm, class_name, -1); } if (SQ_FAILED(sq_get(vm, -2))) { @@ -330,12 +329,17 @@ bool Squirrel::CreateClassInstance(const char *class_name, void *real_instance, } Squirrel::Squirrel(const char *APIName) : - global_pointer(NULL), - print_func(NULL), - crashed(false), - overdrawn_ops(0), APIName(APIName) { + this->Initialize(); +} + +void Squirrel::Initialize() +{ + this->global_pointer = NULL; + this->print_func = NULL; + this->crashed = false; + this->overdrawn_ops = 0; this->vm = sq_open(1024); /* Handle compile-errors ourself, so we can display it nicely */ @@ -376,58 +380,45 @@ public: } }; -static SQInteger _io_file_lexfeed_ASCII(SQUserPointer file) +static WChar _io_file_lexfeed_ASCII(SQUserPointer file) { - char c; + unsigned char c; if (((SQFile *)file)->Read(&c, sizeof(c), 1) > 0) return c; return 0; } -static SQInteger _io_file_lexfeed_UTF8(SQUserPointer file) +static WChar _io_file_lexfeed_UTF8(SQUserPointer file) { - static const SQInteger utf8_lengths[16] = - { - 1, 1, 1, 1, 1, 1, 1, 1, /* 0000 to 0111 : 1 byte (plain ASCII) */ - 0, 0, 0, 0, /* 1000 to 1011 : not valid */ - 2, 2, /* 1100, 1101 : 2 bytes */ - 3, /* 1110 : 3 bytes */ - 4 /* 1111 : 4 bytes */ - }; - static unsigned char byte_masks[5] = {0, 0, 0x1F, 0x0F, 0x07}; - unsigned char inchar; - SQInteger c = 0; - if (((SQFile *)file)->Read(&inchar, sizeof(inchar), 1) != 1) return 0; - c = inchar; + char buffer[5]; - if (c >= 0x80) { - SQInteger tmp; - SQInteger codelen = utf8_lengths[c >> 4]; - if (codelen == 0) return 0; + /* Read the first character, and get the length based on UTF-8 specs. If invalid, bail out. */ + if (((SQFile *)file)->Read(buffer, sizeof(buffer[0]), 1) != 1) return 0; + uint len = Utf8EncodedCharLen(buffer[0]); + if (len == 0) return -1; + + /* Read the remaining bits. */ + if (len > 1 && ((SQFile *)file)->Read(buffer + 1, sizeof(buffer[0]), len - 1) != len - 1) return 0; + + /* Convert the character, and when definitely invalid, bail out as well. */ + WChar c; + if (Utf8Decode(&c, buffer) != len) return -1; - tmp = c & byte_masks[codelen]; - for (SQInteger n = 0; n < codelen - 1; n++) { - tmp <<= 6; - if (((SQFile *)file)->Read(&inchar, sizeof(inchar), 1) != 1) return 0; - tmp |= inchar & 0x3F; - } - c = tmp; - } return c; } -static SQInteger _io_file_lexfeed_UCS2_no_swap(SQUserPointer file) +static WChar _io_file_lexfeed_UCS2_no_swap(SQUserPointer file) { - wchar_t c; - if (((SQFile *)file)->Read(&c, sizeof(c), 1) > 0) return (SQChar)c; + unsigned short c; + if (((SQFile *)file)->Read(&c, sizeof(c), 1) > 0) return (WChar)c; return 0; } -static SQInteger _io_file_lexfeed_UCS2_swap(SQUserPointer file) +static WChar _io_file_lexfeed_UCS2_swap(SQUserPointer file) { unsigned short c; if (((SQFile *)file)->Read(&c, sizeof(c), 1) > 0) { c = ((c >> 8) & 0x00FF)| ((c << 8) & 0xFF00); - return (SQChar)c; + return (WChar)c; } return 0; } @@ -468,14 +459,14 @@ SQRESULT Squirrel::LoadFile(HSQUIRRELVM vm, const char *filename, SQBool printer case SQ_BYTECODE_STREAM_TAG: { // BYTECODE if (fseek(file, -2, SEEK_CUR) < 0) { FioFCloseFile(file); - return sq_throwerror(vm, _SC("cannot seek the file")); + return sq_throwerror(vm, "cannot seek the file"); } if (SQ_SUCCEEDED(sq_readclosure(vm, _io_file_read, &f))) { FioFCloseFile(file); return SQ_OK; } FioFCloseFile(file); - return sq_throwerror(vm, _SC("Couldn't read bytecode")); + return sq_throwerror(vm, "Couldn't read bytecode"); } case 0xFFFE: /* Either this file is encoded as big-endian and we're on a little-endian @@ -488,11 +479,11 @@ SQRESULT Squirrel::LoadFile(HSQUIRRELVM vm, const char *filename, SQBool printer case 0xEFBB: // UTF-8 on big-endian machine if (fread(&uc, 1, sizeof(uc), file) == 0) { FioFCloseFile(file); - return sq_throwerror(vm, _SC("I/O error")); + return sq_throwerror(vm, "I/O error"); } if (uc != 0xBF) { FioFCloseFile(file); - return sq_throwerror(vm, _SC("Unrecognized encoding")); + return sq_throwerror(vm, "Unrecognized encoding"); } func = _io_file_lexfeed_UTF8; break; @@ -500,19 +491,19 @@ SQRESULT Squirrel::LoadFile(HSQUIRRELVM vm, const char *filename, SQBool printer func = _io_file_lexfeed_ASCII; if (fseek(file, -2, SEEK_CUR) < 0) { FioFCloseFile(file); - return sq_throwerror(vm, _SC("cannot seek the file")); + return sq_throwerror(vm, "cannot seek the file"); } break; } - if (SQ_SUCCEEDED(sq_compile(vm, func, &f, OTTD2SQ(filename), printerror))) { + if (SQ_SUCCEEDED(sq_compile(vm, func, &f, filename, printerror))) { FioFCloseFile(file); return SQ_OK; } FioFCloseFile(file); return SQ_ERROR; } - return sq_throwerror(vm, _SC("cannot open the file")); + return sq_throwerror(vm, "cannot open the file"); } bool Squirrel::LoadScript(HSQUIRRELVM vm, const char *script, bool in_root) @@ -543,12 +534,23 @@ bool Squirrel::LoadScript(const char *script) } Squirrel::~Squirrel() +{ + this->Uninitialize(); +} + +void Squirrel::Uninitialize() { /* Clean up the stuff */ sq_pop(this->vm, 1); sq_close(this->vm); } +void Squirrel::Reset() +{ + this->Uninitialize(); + this->Initialize(); +} + void Squirrel::InsertResult(bool result) { sq_pushbool(this->vm, result); @@ -582,11 +584,6 @@ bool Squirrel::HasScriptCrashed() return this->crashed; } -void Squirrel::ResetCrashed() -{ - this->crashed = false; -} - void Squirrel::CrashOccurred() { this->crashed = true; diff --git a/src/script/squirrel.hpp b/src/script/squirrel.hpp index 4e31d3247e..9e1d113a80 100644 --- a/src/script/squirrel.hpp +++ b/src/script/squirrel.hpp @@ -41,6 +41,11 @@ private: */ const char *GetAPIName() { return this->APIName; } + /** Perform all initialization steps to create the engine. */ + void Initialize(); + /** Perform all the cleanups for the engine. */ + void Uninitialize(); + protected: /** * The CompileError handler. @@ -194,7 +199,7 @@ public: /** * Convert a Squirrel-object to a string. */ - static const char *ObjectToString(HSQOBJECT *ptr) { return SQ2OTTD(sq_objtostring(ptr)); } + static const char *ObjectToString(HSQOBJECT *ptr) { return sq_objtostring(ptr); } /** * Convert a Squirrel-object to an integer. @@ -225,7 +230,7 @@ public: /** * Throw a Squirrel error that will be nicely displayed to the user. */ - void ThrowError(const char *error) { sq_throwerror(this->vm, OTTD2SQ(error)); } + void ThrowError(const char *error) { sq_throwerror(this->vm, error); } /** * Release a SQ object. @@ -248,11 +253,6 @@ public: */ bool HasScriptCrashed(); - /** - * Reset the crashed status. - */ - void ResetCrashed(); - /** * Set the script status to crashed. */ @@ -267,6 +267,11 @@ public: * How many operations can we execute till suspension? */ SQInteger GetOpsTillSuspend(); + + /** + * Completely reset the engine; start from scratch. + */ + void Reset(); }; #endif /* SQUIRREL_HPP */ diff --git a/src/script/squirrel_helper.hpp b/src/script/squirrel_helper.hpp index 3e37643847..22d738d4f7 100644 --- a/src/script/squirrel_helper.hpp +++ b/src/script/squirrel_helper.hpp @@ -26,7 +26,7 @@ template const char *GetClassName(); namespace SQConvert { /** * Pointers assigned to this class will be free'd when this instance - * comes out of scope. Useful to make sure you can use strdup(), + * comes out of scope. Useful to make sure you can use stredup(), * without leaking memory. */ struct SQAutoFreePointers : SmallVector { @@ -85,11 +85,11 @@ namespace SQConvert { template <> inline int Return (HSQUIRRELVM vm, int8 res) { sq_pushinteger(vm, res); return 1; } template <> inline int Return (HSQUIRRELVM vm, int16 res) { sq_pushinteger(vm, res); return 1; } template <> inline int Return (HSQUIRRELVM vm, int32 res) { sq_pushinteger(vm, res); return 1; } - template <> inline int Return (HSQUIRRELVM vm, int64 res) { sq_pushinteger(vm, ClampToI32(res)); return 1; } - template <> inline int Return (HSQUIRRELVM vm, Money res) { sq_pushinteger(vm, ClampToI32(res)); return 1; } + template <> inline int Return (HSQUIRRELVM vm, int64 res) { sq_pushinteger(vm, res); return 1; } + template <> inline int Return (HSQUIRRELVM vm, Money res) { sq_pushinteger(vm, res); return 1; } template <> inline int Return (HSQUIRRELVM vm, bool res) { sq_pushbool (vm, res); return 1; } - template <> inline int Return (HSQUIRRELVM vm, char *res) { if (res == NULL) sq_pushnull(vm); else { sq_pushstring(vm, OTTD2SQ(res), -1); free(res); } return 1; } - template <> inline int Return(HSQUIRRELVM vm, const char *res) { if (res == NULL) sq_pushnull(vm); else { sq_pushstring(vm, OTTD2SQ(res), -1); } return 1; } + template <> inline int Return (HSQUIRRELVM vm, char *res) { if (res == NULL) sq_pushnull(vm); else { sq_pushstring(vm, res, -1); free(res); } return 1; } + template <> inline int Return(HSQUIRRELVM vm, const char *res) { if (res == NULL) sq_pushnull(vm); else { sq_pushstring(vm, res, -1); } return 1; } template <> inline int Return (HSQUIRRELVM vm, void *res) { sq_pushuserpointer(vm, res); return 1; } template <> inline int Return (HSQUIRRELVM vm, HSQOBJECT res) { sq_pushobject(vm, res); return 1; } @@ -104,6 +104,8 @@ namespace SQConvert { template <> inline int8 GetParam(ForceType , HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQInteger tmp; sq_getinteger (vm, index, &tmp); return tmp; } template <> inline int16 GetParam(ForceType , HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQInteger tmp; sq_getinteger (vm, index, &tmp); return tmp; } template <> inline int32 GetParam(ForceType , HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQInteger tmp; sq_getinteger (vm, index, &tmp); return tmp; } + template <> inline int64 GetParam(ForceType , HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQInteger tmp; sq_getinteger (vm, index, &tmp); return tmp; } + template <> inline Money GetParam(ForceType , HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQInteger tmp; sq_getinteger (vm, index, &tmp); return tmp; } template <> inline bool GetParam(ForceType , HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQBool tmp; sq_getbool (vm, index, &tmp); return tmp != 0; } template <> inline void *GetParam(ForceType , HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer tmp; sq_getuserpointer(vm, index, &tmp); return tmp; } template <> inline const char *GetParam(ForceType, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) @@ -113,7 +115,7 @@ namespace SQConvert { const SQChar *tmp; sq_getstring(vm, -1, &tmp); - char *tmp_str = strdup(SQ2OTTD(tmp)); + char *tmp_str = stredup(tmp); sq_poptop(vm); *ptr->Append() = (void *)tmp_str; str_validate(tmp_str, tmp_str + strlen(tmp_str)); @@ -123,7 +125,7 @@ namespace SQConvert { template <> inline Array *GetParam(ForceType, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { /* Sanity check of the size. */ - if (sq_getsize(vm, index) > UINT16_MAX) throw sq_throwerror(vm, _SC("an array used as parameter to a function is too large")); + if (sq_getsize(vm, index) > UINT16_MAX) throw sq_throwerror(vm, "an array used as parameter to a function is too large"); SQObject obj; sq_getstackobj(vm, index, &obj); @@ -138,7 +140,7 @@ namespace SQConvert { *data.Append() = (int32)tmp; } else { sq_pop(vm, 4); - throw sq_throwerror(vm, _SC("a member of an array used as parameter to a function is not numeric")); + throw sq_throwerror(vm, "a member of an array used as parameter to a function is not numeric"); } sq_pop(vm, 2); @@ -747,17 +749,17 @@ namespace SQConvert { /* Protect against calls to a non-static method in a static way */ sq_pushroottable(vm); const char *className = GetClassName(); - sq_pushstring(vm, OTTD2SQ(className), -1); + sq_pushstring(vm, className, -1); sq_get(vm, -2); sq_pushobject(vm, instance); - if (sq_instanceof(vm) != SQTrue) return sq_throwerror(vm, _SC("class method is non-static")); + if (sq_instanceof(vm) != SQTrue) return sq_throwerror(vm, "class method is non-static"); sq_pop(vm, 3); /* Get the 'real' instance of this class */ sq_getinstanceup(vm, 1, &real_instance, 0); /* Get the real function pointer */ sq_getuserdata(vm, nparam, &ptr, 0); - if (real_instance == NULL) return sq_throwerror(vm, _SC("couldn't detect real instance of class for non-static call")); + if (real_instance == NULL) return sq_throwerror(vm, "couldn't detect real instance of class for non-static call"); /* Remove the userdata from the stack */ sq_pop(vm, 1); @@ -789,17 +791,17 @@ namespace SQConvert { /* Protect against calls to a non-static method in a static way */ sq_pushroottable(vm); const char *className = GetClassName(); - sq_pushstring(vm, OTTD2SQ(className), -1); + sq_pushstring(vm, className, -1); sq_get(vm, -2); sq_pushobject(vm, instance); - if (sq_instanceof(vm) != SQTrue) return sq_throwerror(vm, _SC("class method is non-static")); + if (sq_instanceof(vm) != SQTrue) return sq_throwerror(vm, "class method is non-static"); sq_pop(vm, 3); /* Get the 'real' instance of this class */ sq_getinstanceup(vm, 1, &real_instance, 0); /* Get the real function pointer */ sq_getuserdata(vm, nparam, &ptr, 0); - if (real_instance == NULL) return sq_throwerror(vm, _SC("couldn't detect real instance of class for non-static call")); + if (real_instance == NULL) return sq_throwerror(vm, "couldn't detect real instance of class for non-static call"); /* Remove the userdata from the stack */ sq_pop(vm, 1); diff --git a/src/script/squirrel_std.cpp b/src/script/squirrel_std.cpp index 9de119e1e1..96f087a2a7 100644 --- a/src/script/squirrel_std.cpp +++ b/src/script/squirrel_std.cpp @@ -9,13 +9,16 @@ /** @file squirrel_std.cpp Implements the Squirrel Standard Function class */ +#include "../stdafx.h" #include #include -#include "../stdafx.h" #include "../debug.h" #include "squirrel_std.hpp" #include "../core/alloc_func.hpp" #include "../core/math_func.hpp" +#include "../string_func.h" + +#include "../safeguards.h" SQInteger SquirrelStd::min(HSQUIRRELVM vm) @@ -42,7 +45,6 @@ SQInteger SquirrelStd::require(HSQUIRRELVM vm) { SQInteger top = sq_gettop(vm); const SQChar *filename; - SQChar *real_filename; sq_getstring(vm, 2, &filename); @@ -53,31 +55,26 @@ SQInteger SquirrelStd::require(HSQUIRRELVM vm) DEBUG(misc, 0, "[squirrel] Couldn't detect the script-name of the 'require'-caller; this should never happen!"); return SQ_ERROR; } - real_filename = scstrdup(si.source); + + char path[MAX_PATH]; + strecpy(path, si.source, lastof(path)); /* Keep the dir, remove the rest */ - SQChar *s = scstrrchr(real_filename, PATHSEPCHAR); + SQChar *s = strrchr(path, PATHSEPCHAR); if (s != NULL) { /* Keep the PATHSEPCHAR there, remove the rest */ s++; *s = '\0'; } - /* And now we concat, so we are relative from the current script - * First, we have to make sure we have enough space for the full path */ - real_filename = ReallocT(real_filename, scstrlen(real_filename) + scstrlen(filename) + 1); - scstrcat(real_filename, filename); - /* Tars dislike opening files with '/' on Windows.. so convert it to '\\' ;) */ - char *filen = strdup(SQ2OTTD(real_filename)); + strecat(path, filename, lastof(path)); #if (PATHSEPCHAR != '/') - for (char *n = filen; *n != '\0'; n++) if (*n == '/') *n = PATHSEPCHAR; + for (char *n = path; *n != '\0'; n++) if (*n == '/') *n = PATHSEPCHAR; #endif Squirrel *engine = (Squirrel *)sq_getforeignptr(vm); - bool ret = engine->LoadScript(vm, filen); + bool ret = engine->LoadScript(vm, path); /* Reset the top, so the stack stays correct */ sq_settop(vm, top); - free(real_filename); - free(filen); return ret ? 0 : SQ_ERROR; } diff --git a/src/sdl.cpp b/src/sdl.cpp index 91d52d917a..79e9ed2927 100644 --- a/src/sdl.cpp +++ b/src/sdl.cpp @@ -79,6 +79,8 @@ static const char *LoadSdlDLL() #endif /* DYNAMICALLY_LOADED_SDL */ +#include "safeguards.h" + /** * Open the SDL library. * @param x The subsystem to load. diff --git a/src/settings.cpp b/src/settings.cpp index 970c169b4a..e6754bb905 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -71,6 +71,8 @@ #include "table/strings.h" #include "table/settings.h" +#include "safeguards.h" + ClientSettings _settings_client; GameSettings _settings_game; ///< Game settings of a running game or the scenario editor. GameSettings _settings_newgame; ///< Game settings for new games (updated from the intro screen). @@ -524,13 +526,13 @@ static void IniLoadSettings(IniFile *ini, const SettingDesc *sd, const char *grp switch (GetVarMemType(sld->conv)) { case SLE_VAR_STRB: case SLE_VAR_STRBQ: - if (p != NULL) ttd_strlcpy((char*)ptr, (const char*)p, sld->length); + if (p != NULL) strecpy((char*)ptr, (const char*)p, (char*)ptr + sld->length - 1); break; case SLE_VAR_STR: case SLE_VAR_STRQ: free(*(char**)ptr); - *(char**)ptr = p == NULL ? NULL : strdup((const char*)p); + *(char**)ptr = p == NULL ? NULL : stredup((const char*)p); break; case SLE_VAR_CHAR: if (p != NULL) *(char *)ptr = *(const char *)p; break; @@ -685,7 +687,7 @@ static void IniSaveSettings(IniFile *ini, const SettingDesc *sd, const char *grp /* The value is different, that means we have to write it to the ini */ free(item->value); - item->value = strdup(buf); + item->value = stredup(buf); } } @@ -707,7 +709,7 @@ static void IniLoadSettingList(IniFile *ini, const char *grpname, StringList *li list->Clear(); for (const IniItem *item = group->item; item != NULL; item = item->next) { - if (item->name != NULL) *list->Append() = strdup(item->name); + if (item->name != NULL) *list->Append() = stredup(item->name); } } @@ -1066,6 +1068,12 @@ static bool ZoomMinMaxChanged(int32 p1) extern void ConstrainAllViewportsZoom(); ConstrainAllViewportsZoom(); GfxClearSpriteCache(); + if (_settings_client.gui.zoom_min > _gui_zoom) { + /* Restrict GUI zoom if it is no longer available. */ + _gui_zoom = _settings_client.gui.zoom_min; + UpdateCursorSize(); + LoadStringWidthTable(); + } return true; } @@ -1139,7 +1147,7 @@ static bool InvalidateCompanyWindow(int32 p1) static void ValidateSettings() { /* Do not allow a custom sea level with the original land generator. */ - if (_settings_newgame.game_creation.land_generator == 0 && + if (_settings_newgame.game_creation.land_generator == LG_ORIGINAL && _settings_newgame.difficulty.quantity_sea_lakes == CUSTOM_SEA_LEVEL_NUMBER_DIFFICULTY) { _settings_newgame.difficulty.quantity_sea_lakes = CUSTOM_SEA_LEVEL_MIN_PERCENTAGE; } @@ -1269,12 +1277,40 @@ static bool ChangeDynamicEngines(int32 p1) return true; } +static bool ChangeMaxHeightLevel(int32 p1) +{ + if (_game_mode == GM_NORMAL) return false; + if (_game_mode != GM_EDITOR) return true; + + /* Check if at least one mountain on the map is higher than the new value. + * If yes, disallow the change. */ + for (TileIndex t = 0; t < MapSize(); t++) { + if ((int32)TileHeight(t) > p1) { + ShowErrorMessage(STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN, INVALID_STRING_ID, WL_ERROR); + /* Return old, unchanged value */ + return false; + } + } + + /* The smallmap uses an index from heightlevels to colours. Trigger rebuilding it. */ + InvalidateWindowClassesData(WC_SMALLMAP, 2); + + return true; +} + static bool StationCatchmentChanged(int32 p1) { Station::RecomputeIndustriesNearForAll(); return true; } +static bool MaxVehiclesChanged(int32 p1) +{ + InvalidateWindowClassesData(WC_BUILD_TOOLBAR); + MarkWholeScreenDirty(); + return true; +} + #ifdef ENABLE_NETWORK @@ -1405,6 +1441,40 @@ static void GameLoadConfig(IniFile *ini, const char *grpname) if (item->value != NULL) config->StringToSettings(item->value); } +/** + * Convert a character to a hex nibble value, or \c -1 otherwise. + * @param c Character to convert. + * @return Hex value of the character, or \c -1 if not a hex digit. + */ +static int DecodeHexNibble(char c) +{ + if (c >= '0' && c <= '9') return c - '0'; + if (c >= 'A' && c <= 'F') return c + 10 - 'A'; + if (c >= 'a' && c <= 'f') return c + 10 - 'a'; + return -1; +} + +/** + * Parse a sequence of characters (supposedly hex digits) into a sequence of bytes. + * After the hex number should be a \c '|' character. + * @param pos First character to convert. + * @param dest [out] Output byte array to write the bytes. + * @param dest_size Number of bytes in \a dest. + * @return Whether reading was successful. + */ +static bool DecodeHexText(char *pos, uint8 *dest, size_t dest_size) +{ + while (dest_size > 0) { + int hi = DecodeHexNibble(pos[0]); + int lo = (hi >= 0) ? DecodeHexNibble(pos[1]) : -1; + if (lo < 0) return false; + *dest++ = (hi << 4) | lo; + pos += 2; + dest_size--; + } + return *pos == '|'; +} + /** * Load a GRF configuration * @param ini The configuration to read from. @@ -1421,16 +1491,41 @@ static GRFConfig *GRFLoadConfig(IniFile *ini, const char *grpname, bool is_stati if (group == NULL) return NULL; for (item = group->item; item != NULL; item = item->next) { - GRFConfig *c = new GRFConfig(item->name); + GRFConfig *c = NULL; + + uint8 grfid_buf[4], md5sum[16]; + char *filename = item->name; + bool has_grfid = false; + bool has_md5sum = false; + + /* Try reading "|" and on success, "|". */ + has_grfid = DecodeHexText(filename, grfid_buf, lengthof(grfid_buf)); + if (has_grfid) { + filename += 1 + 2 * lengthof(grfid_buf); + has_md5sum = DecodeHexText(filename, md5sum, lengthof(md5sum)); + if (has_md5sum) filename += 1 + 2 * lengthof(md5sum); + + uint32 grfid = grfid_buf[0] | (grfid_buf[1] << 8) | (grfid_buf[2] << 16) | (grfid_buf[3] << 24); + if (has_md5sum) { + const GRFConfig *s = FindGRFConfig(grfid, FGCM_EXACT, md5sum); + if (s != NULL) c = new GRFConfig(*s); + } + if (c == NULL && !FioCheckFileExists(filename, NEWGRF_DIR)) { + const GRFConfig *s = FindGRFConfig(grfid, FGCM_NEWEST_VALID); + if (s != NULL) c = new GRFConfig(*s); + } + } + if (c == NULL) c = new GRFConfig(filename); /* Parse parameters */ if (!StrEmpty(item->value)) { - c->num_params = ParseIntList(item->value, (int*)c->param, lengthof(c->param)); - if (c->num_params == (byte)-1) { - SetDParamStr(0, item->name); + int count = ParseIntList(item->value, (int*)c->param, lengthof(c->param)); + if (count < 0) { + SetDParamStr(0, filename); ShowErrorMessage(STR_CONFIG_ERROR, STR_CONFIG_ERROR_ARRAY, WL_CRITICAL); - c->num_params = 0; + count = 0; } + c->num_params = count; } /* Check if item is valid */ @@ -1447,7 +1542,7 @@ static GRFConfig *GRFLoadConfig(IniFile *ini, const char *grpname, bool is_stati SetDParam(1, STR_CONFIG_ERROR_INVALID_GRF_UNKNOWN); } - SetDParamStr(0, item->name); + SetDParamStr(0, StrEmpty(filename) ? item->name : filename); ShowErrorMessage(STR_CONFIG_ERROR, STR_CONFIG_ERROR_INVALID_GRF, WL_CRITICAL); delete c; continue; @@ -1457,7 +1552,7 @@ static GRFConfig *GRFLoadConfig(IniFile *ini, const char *grpname, bool is_stati bool duplicate = false; for (const GRFConfig *gc = first; gc != NULL; gc = gc->next) { if (gc->ident.grfid == c->ident.grfid) { - SetDParamStr(0, item->name); + SetDParamStr(0, c->filename); SetDParamStr(1, gc->filename); ShowErrorMessage(STR_CONFIG_ERROR, STR_CONFIG_ERROR_DUPLICATE_GRFID, WL_CRITICAL); duplicate = true; @@ -1491,7 +1586,7 @@ static void AISaveConfig(IniFile *ini, const char *grpname) AIConfig *config = AIConfig::GetConfig(c, AIConfig::SSS_FORCE_NEWGAME); const char *name; char value[1024]; - config->SettingsToString(value, lengthof(value)); + config->SettingsToString(value, lastof(value)); if (config->HasScript()) { name = config->GetName(); @@ -1499,7 +1594,7 @@ static void AISaveConfig(IniFile *ini, const char *grpname) name = "none"; } - IniItem *item = new IniItem(group, name, strlen(name)); + IniItem *item = new IniItem(group, name); item->SetValue(value); } } @@ -1514,7 +1609,7 @@ static void GameSaveConfig(IniFile *ini, const char *grpname) GameConfig *config = GameConfig::GetConfig(AIConfig::SSS_FORCE_NEWGAME); const char *name; char value[1024]; - config->SettingsToString(value, lengthof(value)); + config->SettingsToString(value, lastof(value)); if (config->HasScript()) { name = config->GetName(); @@ -1522,7 +1617,7 @@ static void GameSaveConfig(IniFile *ini, const char *grpname) name = "none"; } - IniItem *item = new IniItem(group, name, strlen(name)); + IniItem *item = new IniItem(group, name); item->SetValue(value); } @@ -1535,7 +1630,7 @@ static void SaveVersionInConfig(IniFile *ini) IniGroup *group = ini->GetGroup("version"); char version[9]; - snprintf(version, lengthof(version), "%08X", _openttd_newgrf_version); + seprintf(version, lastof(version), "%08X", _openttd_newgrf_version); const char * const versions[][2] = { { "version_string", _openttd_revision }, @@ -1555,10 +1650,15 @@ static void GRFSaveConfig(IniFile *ini, const char *grpname, const GRFConfig *li const GRFConfig *c; for (c = list; c != NULL; c = c->next) { + /* Hex grfid (4 bytes in nibbles), "|", hex md5sum (16 bytes in nibbles), "|", file system path. */ + char key[4 * 2 + 1 + 16 * 2 + 1 + MAX_PATH]; char params[512]; GRFBuildParamList(params, c, lastof(params)); - group->GetItem(c->filename, true)->SetValue(params); + char *pos = key + seprintf(key, lastof(key), "%08X|", BSWAP32(c->ident.grfid)); + pos = md5sumToString(pos, lastof(key), c->ident.md5sum); + seprintf(pos, lastof(key), "|%s", c->filename); + group->GetItem(key, true)->SetValue(params); } } @@ -1657,7 +1757,7 @@ void GetGRFPresetList(GRFPresetList *list) IniGroup *group; for (group = ini->group; group != NULL; group = group->next) { if (strncmp(group->name, "preset-", 7) == 0) { - *list->Append() = strdup(group->name + 7); + *list->Append() = stredup(group->name + 7); } } @@ -1672,8 +1772,9 @@ void GetGRFPresetList(GRFPresetList *list) */ GRFConfig *LoadGRFPresetFromConfig(const char *config_name) { - char *section = (char*)alloca(strlen(config_name) + 8); - sprintf(section, "preset-%s", config_name); + size_t len = strlen(config_name) + 8; + char *section = (char*)alloca(len); + seprintf(section, section + len - 1, "preset-%s", config_name); IniFile *ini = IniLoadConfig(); GRFConfig *config = GRFLoadConfig(ini, section, false); @@ -1690,8 +1791,9 @@ GRFConfig *LoadGRFPresetFromConfig(const char *config_name) */ void SaveGRFPresetToConfig(const char *config_name, GRFConfig *config) { - char *section = (char*)alloca(strlen(config_name) + 8); - sprintf(section, "preset-%s", config_name); + size_t len = strlen(config_name) + 8; + char *section = (char*)alloca(len); + seprintf(section, section + len - 1, "preset-%s", config_name); IniFile *ini = IniLoadConfig(); GRFSaveConfig(ini, section, config); @@ -1705,8 +1807,9 @@ void SaveGRFPresetToConfig(const char *config_name, GRFConfig *config) */ void DeleteGRFPresetFromConfig(const char *config_name) { - char *section = (char*)alloca(strlen(config_name) + 8); - sprintf(section, "preset-%s", config_name); + size_t len = strlen(config_name) + 8; + char *section = (char*)alloca(len); + seprintf(section, section + len - 1, "preset-%s", config_name); IniFile *ini = IniLoadConfig(); ini->RemoveGroup(section); @@ -1924,10 +2027,10 @@ bool SetSettingValue(uint index, const char *value, bool force_newgame) if (GetVarMemType(sd->save.conv) == SLE_VAR_STRQ) { char **var = (char**)GetVariableAddress((_game_mode == GM_MENU || force_newgame) ? &_settings_newgame : &_settings_game, &sd->save); free(*var); - *var = strcmp(value, "(null)") == 0 ? NULL : strdup(value); + *var = strcmp(value, "(null)") == 0 ? NULL : stredup(value); } else { char *var = (char*)GetVariableAddress(NULL, &sd->save); - ttd_strlcpy(var, value, sd->save.length); + strecpy(var, value, &var[sd->save.length - 1]); } if (sd->desc.proc != NULL) sd->desc.proc(0); @@ -2038,9 +2141,9 @@ void IConsoleGetSetting(const char *name, bool force_newgame) IConsolePrintF(CC_WARNING, "Current value for '%s' is: '%s'", name, (GetVarMemType(sd->save.conv) == SLE_VAR_STRQ) ? *(const char * const *)ptr : (const char *)ptr); } else { if (sd->desc.cmd == SDT_BOOLX) { - snprintf(value, sizeof(value), (*(const bool*)ptr != 0) ? "on" : "off"); + seprintf(value, lastof(value), (*(const bool*)ptr != 0) ? "on" : "off"); } else { - snprintf(value, sizeof(value), sd->desc.min < 0 ? "%d" : "%u", (int32)ReadValue(ptr, sd->save.conv)); + seprintf(value, lastof(value), sd->desc.min < 0 ? "%d" : "%u", (int32)ReadValue(ptr, sd->save.conv)); } IConsolePrintF(CC_WARNING, "Current value for '%s' is: '%s' (min: %s%d, max: %u)", @@ -2064,11 +2167,11 @@ void IConsoleListSettings(const char *prefilter) const void *ptr = GetVariableAddress(&GetGameSettings(), &sd->save); if (sd->desc.cmd == SDT_BOOLX) { - snprintf(value, lengthof(value), (*(const bool *)ptr != 0) ? "on" : "off"); + seprintf(value, lastof(value), (*(const bool *)ptr != 0) ? "on" : "off"); } else if (sd->desc.cmd == SDT_STRING) { - snprintf(value, sizeof(value), "%s", (GetVarMemType(sd->save.conv) == SLE_VAR_STRQ) ? *(const char * const *)ptr : (const char *)ptr); + seprintf(value, lastof(value), "%s", (GetVarMemType(sd->save.conv) == SLE_VAR_STRQ) ? *(const char * const *)ptr : (const char *)ptr); } else { - snprintf(value, lengthof(value), sd->desc.min < 0 ? "%d" : "%u", (int32)ReadValue(ptr, sd->save.conv)); + seprintf(value, lastof(value), sd->desc.min < 0 ? "%d" : "%u", (int32)ReadValue(ptr, sd->save.conv)); } IConsolePrintF(CC_DEFAULT, "%s = %s", sd->desc.name, value); } diff --git a/src/settings_gui.cpp b/src/settings_gui.cpp index 908ddadbf6..f1af4804e4 100644 --- a/src/settings_gui.cpp +++ b/src/settings_gui.cpp @@ -15,7 +15,6 @@ #include "settings_gui.h" #include "textbuf_gui.h" #include "command_func.h" -#include "screenshot.h" #include "network/network.h" #include "town.h" #include "settings_internal.h" @@ -38,6 +37,10 @@ #include "stringfilter_type.h" #include "querystring_gui.h" +#include + +#include "safeguards.h" + static const StringID _driveside_dropdown[] = { STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT, @@ -54,10 +57,19 @@ static const StringID _autosave_dropdown[] = { INVALID_STRING_ID, }; +static const StringID _gui_zoom_dropdown[] = { + STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL, + STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM, + STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM, + INVALID_STRING_ID, +}; + int _nb_orig_names = SPECSTR_TOWNNAME_LAST - SPECSTR_TOWNNAME_START + 1; ///< Number of original town names. static StringID *_grf_names = NULL; ///< Pointer to town names defined by NewGRFs. static int _nb_grf_names = 0; ///< Number of town names defined by NewGRFs. +static Dimension _circle_size; ///< Dimension of the circle +/- icon. This is here as not all users are within the class of the settings window. + static const void *ResolveVariableAddress(const GameSettings *settings_ptr, const SettingDesc *sd); /** Allocate memory for the NewGRF town names. */ @@ -265,6 +277,8 @@ struct GameOptionsWindow : Window { } case WID_GO_RESOLUTION_DROPDOWN: // Setup resolution dropdown + if (_num_resolutions == 0) break; + list = new DropDownList(); *selected_index = GetCurRes(); for (int i = 0; i < _num_resolutions; i++) { @@ -272,14 +286,15 @@ struct GameOptionsWindow : Window { } break; - case WID_GO_SCREENSHOT_DROPDOWN: // Setup screenshot format dropdown + case WID_GO_GUI_ZOOM_DROPDOWN: { list = new DropDownList(); - *selected_index = _cur_screenshot_format; - for (uint i = 0; i < _num_screenshot_formats; i++) { - if (!GetScreenshotFormatSupports_32bpp(i) && BlitterFactory::GetCurrentBlitter()->GetScreenDepth() == 32) continue; - *list->Append() = new DropDownListStringItem(SPECSTR_SCREENSHOT_START + i, i, false); + *selected_index = ZOOM_LVL_OUT_4X - _gui_zoom; + const StringID *items = _gui_zoom_dropdown; + for (int i = 0; *items != INVALID_STRING_ID; items++, i++) { + *list->Append() = new DropDownListStringItem(*items, i, _settings_client.gui.zoom_min > ZOOM_LVL_OUT_4X - i); } break; + } case WID_GO_BASE_GRF_DROPDOWN: list = BuiltSetDropDownList(selected_index); @@ -309,7 +324,7 @@ struct GameOptionsWindow : Window { case WID_GO_AUTOSAVE_DROPDOWN: SetDParam(0, _autosave_dropdown[_settings_client.gui.autosave]); break; case WID_GO_LANG_DROPDOWN: SetDParamStr(0, _current_language->own_name); break; case WID_GO_RESOLUTION_DROPDOWN: SetDParam(0, GetCurRes() == _num_resolutions ? STR_GAME_OPTIONS_RESOLUTION_OTHER : SPECSTR_RESOLUTION_START + GetCurRes()); break; - case WID_GO_SCREENSHOT_DROPDOWN: SetDParam(0, SPECSTR_SCREENSHOT_START + _cur_screenshot_format); break; + case WID_GO_GUI_ZOOM_DROPDOWN: SetDParam(0, _gui_zoom_dropdown[ZOOM_LVL_OUT_4X - _gui_zoom]); break; case WID_GO_BASE_GRF_DROPDOWN: SetDParamStr(0, BaseGraphics::GetUsedSet()->name); break; case WID_GO_BASE_GRF_STATUS: SetDParam(0, BaseGraphics::GetUsedSet()->GetNumInvalid()); break; case WID_GO_BASE_SFX_DROPDOWN: SetDParamStr(0, BaseSounds::GetUsedSet()->name); break; @@ -440,6 +455,8 @@ struct GameOptionsWindow : Window { DropDownList *list = this->BuildDropDownList(widget, &selected); if (list != NULL) { ShowDropDownList(this, list, selected, widget); + } else { + if (widget == WID_GO_RESOLUTION_DROPDOWN) ShowErrorMessage(STR_ERROR_RESOLUTION_LIST_FAILED, INVALID_STRING_ID, WL_ERROR); } break; } @@ -458,7 +475,7 @@ struct GameOptionsWindow : Window { const char *name = T::GetSet(index)->name; free(T::ini_set); - T::ini_set = strdup(name); + T::ini_set = stredup(name); T::SetSet(name); this->reload = true; @@ -510,9 +527,11 @@ struct GameOptionsWindow : Window { } break; - case WID_GO_SCREENSHOT_DROPDOWN: // Change screenshot format - SetScreenshotFormat(index); - this->SetDirty(); + case WID_GO_GUI_ZOOM_DROPDOWN: + GfxClearSpriteCache(); + _gui_zoom = (ZoomLevel)(ZOOM_LVL_OUT_4X - index); + UpdateCursorSize(); + LoadStringWidthTable(); break; case WID_GO_BASE_GRF_DROPDOWN: @@ -561,9 +580,6 @@ static const NWidgetPart _nested_game_options_widgets[] = { NWidget(WWT_PANEL, COLOUR_GREY, WID_GO_BACKGROUND), SetPIP(6, 6, 10), NWidget(NWID_HORIZONTAL), SetPIP(10, 10, 10), NWidget(NWID_VERTICAL), SetPIP(0, 6, 0), - NWidget(WWT_FRAME, COLOUR_GREY), SetDataTip(STR_GAME_OPTIONS_CURRENCY_UNITS_FRAME, STR_NULL), - NWidget(WWT_DROPDOWN, COLOUR_GREY, WID_GO_CURRENCY_DROPDOWN), SetMinimalSize(150, 12), SetDataTip(STR_BLACK_STRING, STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP), SetFill(1, 0), - EndContainer(), NWidget(WWT_FRAME, COLOUR_GREY), SetDataTip(STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME, STR_NULL), NWidget(WWT_DROPDOWN, COLOUR_GREY, WID_GO_ROADSIDE_DROPDOWN), SetMinimalSize(150, 12), SetDataTip(STR_BLACK_STRING, STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_TOOLTIP), SetFill(1, 0), EndContainer(), @@ -577,6 +593,9 @@ static const NWidgetPart _nested_game_options_widgets[] = { NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_GO_FULLSCREEN_BUTTON), SetMinimalSize(21, 9), SetDataTip(STR_EMPTY, STR_GAME_OPTIONS_FULLSCREEN_TOOLTIP), EndContainer(), EndContainer(), + NWidget(WWT_FRAME, COLOUR_GREY), SetDataTip(STR_GAME_OPTIONS_GUI_ZOOM_FRAME, STR_NULL), + NWidget(WWT_DROPDOWN, COLOUR_GREY, WID_GO_GUI_ZOOM_DROPDOWN), SetMinimalSize(150, 12), SetDataTip(STR_BLACK_STRING, STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP), SetFill(1, 0), + EndContainer(), EndContainer(), NWidget(NWID_VERTICAL), SetPIP(0, 6, 0), @@ -586,8 +605,8 @@ static const NWidgetPart _nested_game_options_widgets[] = { NWidget(WWT_FRAME, COLOUR_GREY), SetDataTip(STR_GAME_OPTIONS_LANGUAGE, STR_NULL), NWidget(WWT_DROPDOWN, COLOUR_GREY, WID_GO_LANG_DROPDOWN), SetMinimalSize(150, 12), SetDataTip(STR_BLACK_RAW_STRING, STR_GAME_OPTIONS_LANGUAGE_TOOLTIP), SetFill(1, 0), EndContainer(), - NWidget(WWT_FRAME, COLOUR_GREY), SetDataTip(STR_GAME_OPTIONS_SCREENSHOT_FORMAT, STR_NULL), - NWidget(WWT_DROPDOWN, COLOUR_GREY, WID_GO_SCREENSHOT_DROPDOWN), SetMinimalSize(150, 12), SetDataTip(STR_BLACK_STRING, STR_GAME_OPTIONS_SCREENSHOT_FORMAT_TOOLTIP), SetFill(1, 0), + NWidget(WWT_FRAME, COLOUR_GREY), SetDataTip(STR_GAME_OPTIONS_CURRENCY_UNITS_FRAME, STR_NULL), + NWidget(WWT_DROPDOWN, COLOUR_GREY, WID_GO_CURRENCY_DROPDOWN), SetMinimalSize(150, 12), SetDataTip(STR_BLACK_STRING, STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP), SetFill(1, 0), EndContainer(), NWidget(NWID_SPACER), SetMinimalSize(0, 0), SetFill(0, 1), EndContainer(), @@ -662,27 +681,6 @@ enum SettingEntryFlags { SEF_LAST_FIELD = 0x04, ///< This entry is the last one in a (sub-)page SEF_FILTERED = 0x08, ///< Entry is hidden by the string filter - - /* Entry kind */ - SEF_SETTING_KIND = 0x10, ///< Entry kind: Entry is a setting - SEF_SUBTREE_KIND = 0x20, ///< Entry kind: Entry is a sub-tree - SEF_KIND_MASK = (SEF_SETTING_KIND | SEF_SUBTREE_KIND), ///< Bit-mask for fetching entry kind -}; - -struct SettingsPage; // Forward declaration - -/** Data fields for a sub-page (#SEF_SUBTREE_KIND kind)*/ -struct SettingEntrySubtree { - SettingsPage *page; ///< Pointer to the sub-page - bool folded; ///< Sub-page is folded (not visible except for its title) - StringID title; ///< Title of the sub-page -}; - -/** Data fields for a single setting (#SEF_SETTING_KIND kind) */ -struct SettingEntrySetting { - const char *name; ///< Name of the setting - const SettingDesc *setting; ///< Setting description of the setting - uint index; ///< Index of the setting in the settings table }; /** How the list of advanced settings is filtered. */ @@ -706,21 +704,16 @@ struct SettingFilter { }; /** Data structure describing a single setting in a tab */ -struct SettingEntry { +struct BaseSettingEntry { byte flags; ///< Flags of the setting entry. @see SettingEntryFlags byte level; ///< Nesting level of this setting entry - union { - SettingEntrySetting entry; ///< Data fields if entry is a setting - SettingEntrySubtree sub; ///< Data fields if entry is a sub-page - } d; ///< Data fields for each kind - SettingEntry(const char *nm); - SettingEntry(SettingsPage *sub, StringID title); + BaseSettingEntry() : flags(0), level(0) {} + virtual ~BaseSettingEntry() {} - void Init(byte level); - void FoldAll(); - void UnFoldAll(); - void SetButtons(byte new_val); + virtual void Init(byte level = 0); + virtual void FoldAll() {} + virtual void UnFoldAll() {} /** * Set whether this is the last visible entry of the parent node. @@ -728,38 +721,70 @@ struct SettingEntry { */ void SetLastField(bool last_field) { if (last_field) SETBITS(this->flags, SEF_LAST_FIELD); else CLRBITS(this->flags, SEF_LAST_FIELD); } - uint Length() const; - void GetFoldingState(bool &all_folded, bool &all_unfolded) const; - bool IsVisible(const SettingEntry *item) const; - SettingEntry *FindEntry(uint row, uint *cur_row); - uint GetMaxHelpHeight(int maxw); + virtual uint Length() const = 0; + virtual void GetFoldingState(bool &all_folded, bool &all_unfolded) const {} + virtual bool IsVisible(const BaseSettingEntry *item) const; + virtual BaseSettingEntry *FindEntry(uint row, uint *cur_row); + virtual uint GetMaxHelpHeight(int maxw) { return 0; } - bool IsFiltered() const; - bool UpdateFilterState(SettingFilter &filter, bool force_visible); + /** + * Check whether an entry is hidden due to filters + * @return true if hidden. + */ + bool IsFiltered() const { return (this->flags & SEF_FILTERED) != 0; } - uint Draw(GameSettings *settings_ptr, int base_x, int base_y, int max_x, uint first_row, uint max_row, uint cur_row, uint parent_last, SettingEntry *selected); + virtual bool UpdateFilterState(SettingFilter &filter, bool force_visible) = 0; + + virtual uint Draw(GameSettings *settings_ptr, int left, int right, int y, uint first_row, uint max_row, BaseSettingEntry *selected, uint cur_row = 0, uint parent_last = 0) const; + +protected: + virtual void DrawSetting(GameSettings *settings_ptr, int left, int right, int y, bool highlight) const = 0; +}; + +/** Standard setting */ +struct SettingEntry : BaseSettingEntry { + const char *name; ///< Name of the setting + const SettingDesc *setting; ///< Setting description of the setting + uint index; ///< Index of the setting in the settings table + + SettingEntry(const char *name); + + virtual void Init(byte level = 0); + virtual uint Length() const; + virtual uint GetMaxHelpHeight(int maxw); + virtual bool UpdateFilterState(SettingFilter &filter, bool force_visible); + + void SetButtons(byte new_val); /** * Get the help text of a single setting. * @return The requested help text. */ - inline StringID GetHelpText() + inline StringID GetHelpText() const { - assert((this->flags & SEF_KIND_MASK) == SEF_SETTING_KIND); - return this->d.entry.setting->desc.str_help; + return this->setting->desc.str_help; } - void SetValueDParams(uint first_param, int32 value); + void SetValueDParams(uint first_param, int32 value) const; + +protected: + virtual void DrawSetting(GameSettings *settings_ptr, int left, int right, int y, bool highlight) const; private: - void DrawSetting(GameSettings *settings_ptr, int x, int y, int max_x, int state, bool highlight); bool IsVisibleByRestrictionMode(RestrictionMode mode) const; }; -/** Data structure describing one page of settings in the settings window. */ -struct SettingsPage { - SettingEntry *entries; ///< Array of setting entries of the page. - byte num; ///< Number of entries on the page (statically filled). +/** Containers for BaseSettingEntry */ +struct SettingsContainer { + typedef std::vector EntryVector; + EntryVector entries; ///< Settings on this page + + template + T *Add(T *item) + { + this->entries.push_back(item); + return item; + } void Init(byte level = 0); void FoldAll(); @@ -767,122 +792,49 @@ struct SettingsPage { uint Length() const; void GetFoldingState(bool &all_folded, bool &all_unfolded) const; - bool IsVisible(const SettingEntry *item) const; - SettingEntry *FindEntry(uint row, uint *cur_row) const; + bool IsVisible(const BaseSettingEntry *item) const; + BaseSettingEntry *FindEntry(uint row, uint *cur_row); uint GetMaxHelpHeight(int maxw); bool UpdateFilterState(SettingFilter &filter, bool force_visible); - uint Draw(GameSettings *settings_ptr, int base_x, int base_y, int max_x, uint first_row, uint max_row, SettingEntry *selected, uint cur_row = 0, uint parent_last = 0) const; + uint Draw(GameSettings *settings_ptr, int left, int right, int y, uint first_row, uint max_row, BaseSettingEntry *selected, uint cur_row = 0, uint parent_last = 0) const; }; +/** Data structure describing one page of settings in the settings window. */ +struct SettingsPage : BaseSettingEntry, SettingsContainer { + StringID title; ///< Title of the sub-page + bool folded; ///< Sub-page is folded (not visible except for its title) -/* == SettingEntry methods == */ + SettingsPage(StringID title); -/** - * Constructor for a single setting in the 'advanced settings' window - * @param nm Name of the setting in the setting table - */ -SettingEntry::SettingEntry(const char *nm) -{ - this->flags = SEF_SETTING_KIND; - this->level = 0; - this->d.entry.name = nm; - this->d.entry.setting = NULL; - this->d.entry.index = 0; -} + virtual void Init(byte level = 0); + virtual void FoldAll(); + virtual void UnFoldAll(); -/** - * Constructor for a sub-page in the 'advanced settings' window - * @param sub Sub-page - * @param title Title of the sub-page - */ -SettingEntry::SettingEntry(SettingsPage *sub, StringID title) -{ - this->flags = SEF_SUBTREE_KIND; - this->level = 0; - this->d.sub.page = sub; - this->d.sub.folded = true; - this->d.sub.title = title; -} + virtual uint Length() const; + virtual void GetFoldingState(bool &all_folded, bool &all_unfolded) const; + virtual bool IsVisible(const BaseSettingEntry *item) const; + virtual BaseSettingEntry *FindEntry(uint row, uint *cur_row); + virtual uint GetMaxHelpHeight(int maxw) { return SettingsContainer::GetMaxHelpHeight(maxw); } + + virtual bool UpdateFilterState(SettingFilter &filter, bool force_visible); + + virtual uint Draw(GameSettings *settings_ptr, int left, int right, int y, uint first_row, uint max_row, BaseSettingEntry *selected, uint cur_row = 0, uint parent_last = 0) const; + +protected: + virtual void DrawSetting(GameSettings *settings_ptr, int left, int right, int y, bool highlight) const; +}; + +/* == BaseSettingEntry methods == */ /** * Initialization of a setting entry * @param level Page nesting level of this entry */ -void SettingEntry::Init(byte level) +void BaseSettingEntry::Init(byte level) { this->level = level; - - switch (this->flags & SEF_KIND_MASK) { - case SEF_SETTING_KIND: - this->d.entry.setting = GetSettingFromName(this->d.entry.name, &this->d.entry.index); - assert(this->d.entry.setting != NULL); - break; - case SEF_SUBTREE_KIND: - this->d.sub.page->Init(level + 1); - break; - default: NOT_REACHED(); - } -} - -/** Recursively close all (filtered) folds of sub-pages */ -void SettingEntry::FoldAll() -{ - if (this->IsFiltered()) return; - switch (this->flags & SEF_KIND_MASK) { - case SEF_SETTING_KIND: - break; - - case SEF_SUBTREE_KIND: - this->d.sub.folded = true; - this->d.sub.page->FoldAll(); - break; - - default: NOT_REACHED(); - } -} - -/** Recursively open all (filtered) folds of sub-pages */ -void SettingEntry::UnFoldAll() -{ - if (this->IsFiltered()) return; - switch (this->flags & SEF_KIND_MASK) { - case SEF_SETTING_KIND: - break; - - case SEF_SUBTREE_KIND: - this->d.sub.folded = false; - this->d.sub.page->UnFoldAll(); - break; - - default: NOT_REACHED(); - } -} - -/** - * Recursively accumulate the folding state of the (filtered) tree. - * @param[in,out] all_folded Set to false, if one entry is not folded. - * @param[in,out] all_unfolded Set to false, if one entry is folded. - */ -void SettingEntry::GetFoldingState(bool &all_folded, bool &all_unfolded) const -{ - if (this->IsFiltered()) return; - switch (this->flags & SEF_KIND_MASK) { - case SEF_SETTING_KIND: - break; - - case SEF_SUBTREE_KIND: - if (this->d.sub.folded) { - all_unfolded = false; - } else { - all_folded = false; - } - this->d.sub.page->GetFoldingState(all_folded, all_unfolded); - break; - - default: NOT_REACHED(); - } } /** @@ -891,20 +843,112 @@ void SettingEntry::GetFoldingState(bool &all_folded, bool &all_unfolded) const * @param item Entry to search for. * @return true if entry is visible. */ -bool SettingEntry::IsVisible(const SettingEntry *item) const +bool BaseSettingEntry::IsVisible(const BaseSettingEntry *item) const { if (this->IsFiltered()) return false; if (this == item) return true; + return false; +} - switch (this->flags & SEF_KIND_MASK) { - case SEF_SETTING_KIND: - return false; +/** + * Find setting entry at row \a row_num + * @param row_num Index of entry to return + * @param cur_row Current row number + * @return The requested setting entry or \c NULL if it not found (folded or filtered) + */ +BaseSettingEntry *BaseSettingEntry::FindEntry(uint row_num, uint *cur_row) +{ + if (this->IsFiltered()) return NULL; + if (row_num == *cur_row) return this; + (*cur_row)++; + return NULL; +} - case SEF_SUBTREE_KIND: - return !this->d.sub.folded && this->d.sub.page->IsVisible(item); +/** + * Draw a row in the settings panel. + * + * The scrollbar uses rows of the page, while the page data structure is a tree of #SettingsPage and #SettingEntry objects. + * As a result, the drawing routing traverses the tree from top to bottom, counting rows in \a cur_row until it reaches \a first_row. + * Then it enables drawing rows while traversing until \a max_row is reached, at which point drawing is terminated. + * + * The \a parent_last parameter ensures that the vertical lines at the left are + * only drawn when another entry follows, that it prevents output like + * \verbatim + * |-- setting + * |-- (-) - Title + * | |-- setting + * | |-- setting + * \endverbatim + * The left-most vertical line is not wanted. It is prevented by setting the + * appropriate bit in the \a parent_last parameter. + * + * @param settings_ptr Pointer to current values of all settings + * @param left Left-most position in window/panel to start drawing \a first_row + * @param right Right-most x position to draw strings at. + * @param y Upper-most position in window/panel to start drawing \a first_row + * @param first_row First row number to draw + * @param max_row Row-number to stop drawing (the row-number of the row below the last row to draw) + * @param selected Selected entry by the user. + * @param cur_row Current row number (internal variable) + * @param parent_last Last-field booleans of parent page level (page level \e i sets bit \e i to 1 if it is its last field) + * @return Row number of the next row to draw + */ +uint BaseSettingEntry::Draw(GameSettings *settings_ptr, int left, int right, int y, uint first_row, uint max_row, BaseSettingEntry *selected, uint cur_row, uint parent_last) const +{ + if (this->IsFiltered()) return cur_row; + if (cur_row >= max_row) return cur_row; - default: NOT_REACHED(); + bool rtl = _current_text_dir == TD_RTL; + int offset = rtl ? -4 : 4; + int level_width = rtl ? -LEVEL_WIDTH : LEVEL_WIDTH; + + int x = rtl ? right : left; + if (cur_row >= first_row) { + int colour = _colour_gradient[COLOUR_ORANGE][4]; + y += (cur_row - first_row) * SETTING_HEIGHT; // Compute correct y start position + + /* Draw vertical for parent nesting levels */ + for (uint lvl = 0; lvl < this->level; lvl++) { + if (!HasBit(parent_last, lvl)) GfxDrawLine(x + offset, y, x + offset, y + SETTING_HEIGHT - 1, colour); + x += level_width; + } + /* draw own |- prefix */ + int halfway_y = y + SETTING_HEIGHT / 2; + int bottom_y = (flags & SEF_LAST_FIELD) ? halfway_y : y + SETTING_HEIGHT - 1; + GfxDrawLine(x + offset, y, x + offset, bottom_y, colour); + /* Small horizontal line from the last vertical line */ + GfxDrawLine(x + offset, halfway_y, x + level_width - offset, halfway_y, colour); + x += level_width; + + this->DrawSetting(settings_ptr, rtl ? left : x, rtl ? x : right, y, this == selected); } + cur_row++; + + return cur_row; +} + +/* == SettingEntry methods == */ + +/** + * Constructor for a single setting in the 'advanced settings' window + * @param name Name of the setting in the setting table + */ +SettingEntry::SettingEntry(const char *name) +{ + this->name = name; + this->setting = NULL; + this->index = 0; +} + +/** + * Initialization of a setting entry + * @param level Page nesting level of this entry + */ +void SettingEntry::Init(byte level) +{ + BaseSettingEntry::Init(level); + this->setting = GetSettingFromName(this->name, &this->index); + assert(this->setting != NULL); } /** @@ -918,47 +962,10 @@ void SettingEntry::SetButtons(byte new_val) this->flags = (this->flags & ~SEF_BUTTONS_MASK) | new_val; } -/** Return numbers of rows needed to display the (filtered) entry */ +/** Return number of rows needed to display the (filtered) entry */ uint SettingEntry::Length() const { - if (this->IsFiltered()) return 0; - switch (this->flags & SEF_KIND_MASK) { - case SEF_SETTING_KIND: - return 1; - case SEF_SUBTREE_KIND: - if (this->d.sub.folded) return 1; // Only displaying the title - - return 1 + this->d.sub.page->Length(); // 1 extra row for the title - default: NOT_REACHED(); - } -} - -/** - * Find setting entry at row \a row_num - * @param row_num Index of entry to return - * @param cur_row Current row number - * @return The requested setting entry or \c NULL if it not found (folded or filtered) - */ -SettingEntry *SettingEntry::FindEntry(uint row_num, uint *cur_row) -{ - if (this->IsFiltered()) return NULL; - if (row_num == *cur_row) return this; - - switch (this->flags & SEF_KIND_MASK) { - case SEF_SETTING_KIND: - (*cur_row)++; - break; - case SEF_SUBTREE_KIND: - (*cur_row)++; // add one for row containing the title - if (this->d.sub.folded) { - break; - } - - /* sub-page is visible => search it too */ - return this->d.sub.page->FindEntry(row_num, cur_row); - default: NOT_REACHED(); - } - return NULL; + return this->IsFiltered() ? 0 : 1; } /** @@ -968,20 +975,7 @@ SettingEntry *SettingEntry::FindEntry(uint row_num, uint *cur_row) */ uint SettingEntry::GetMaxHelpHeight(int maxw) { - switch (this->flags & SEF_KIND_MASK) { - case SEF_SETTING_KIND: return GetStringHeight(this->GetHelpText(), maxw); - case SEF_SUBTREE_KIND: return this->d.sub.page->GetMaxHelpHeight(maxw); - default: NOT_REACHED(); - } -} - -/** - * Check whether an entry is hidden due to filters - * @return true if hidden. - */ -bool SettingEntry::IsFiltered() const -{ - return (this->flags & SEF_FILTERED) != 0; + return GetStringHeight(this->GetHelpText(), maxw); } /** @@ -995,11 +989,10 @@ bool SettingEntry::IsVisibleByRestrictionMode(RestrictionMode mode) const if (mode == RM_ALL) return true; GameSettings *settings_ptr = &GetGameSettings(); - assert((this->flags & SEF_KIND_MASK) == SEF_SETTING_KIND); - const SettingDesc *sd = this->d.entry.setting; + const SettingDesc *sd = this->setting; - if (mode == RM_BASIC) return (this->d.entry.setting->desc.cat & SC_BASIC_LIST) != 0; - if (mode == RM_ADVANCED) return (this->d.entry.setting->desc.cat & SC_ADVANCED_LIST) != 0; + if (mode == RM_BASIC) return (this->setting->desc.cat & SC_BASIC_LIST) != 0; + if (mode == RM_ADVANCED) return (this->setting->desc.cat & SC_ADVANCED_LIST) != 0; /* Read the current value. */ const void *var = ResolveVariableAddress(settings_ptr, sd); @@ -1039,43 +1032,30 @@ bool SettingEntry::UpdateFilterState(SettingFilter &filter, bool force_visible) CLRBITS(this->flags, SEF_FILTERED); bool visible = true; - switch (this->flags & SEF_KIND_MASK) { - case SEF_SETTING_KIND: { - const SettingDesc *sd = this->d.entry.setting; - if (!force_visible && !filter.string.IsEmpty()) { - /* Process the search text filter for this item. */ - filter.string.ResetState(); - const SettingDescBase *sdb = &sd->desc; + const SettingDesc *sd = this->setting; + if (!force_visible && !filter.string.IsEmpty()) { + /* Process the search text filter for this item. */ + filter.string.ResetState(); - SetDParam(0, STR_EMPTY); - filter.string.AddLine(sdb->str); - filter.string.AddLine(this->GetHelpText()); + const SettingDescBase *sdb = &sd->desc; - visible = filter.string.GetState(); - } - if (visible) { - if (filter.type != ST_ALL && sd->GetType() != filter.type) { - filter.type_hides = true; - visible = false; - } - if (!this->IsVisibleByRestrictionMode(filter.mode)) { - while (filter.min_cat < RM_ALL && (filter.min_cat == filter.mode || !this->IsVisibleByRestrictionMode(filter.min_cat))) filter.min_cat++; - visible = false; - } - } - break; + SetDParam(0, STR_EMPTY); + filter.string.AddLine(sdb->str); + filter.string.AddLine(this->GetHelpText()); + + visible = filter.string.GetState(); + } + + if (visible) { + if (filter.type != ST_ALL && sd->GetType() != filter.type) { + filter.type_hides = true; + visible = false; } - case SEF_SUBTREE_KIND: { - if (!force_visible && !filter.string.IsEmpty()) { - filter.string.ResetState(); - filter.string.AddLine(this->d.sub.title); - force_visible = filter.string.GetState(); - } - visible = this->d.sub.page->UpdateFilterState(filter, force_visible); - break; + if (!this->IsVisibleByRestrictionMode(filter.mode)) { + while (filter.min_cat < RM_ALL && (filter.min_cat == filter.mode || !this->IsVisibleByRestrictionMode(filter.min_cat))) filter.min_cat++; + visible = false; } - default: NOT_REACHED(); } if (!visible) SETBITS(this->flags, SEF_FILTERED); @@ -1083,91 +1063,6 @@ bool SettingEntry::UpdateFilterState(SettingFilter &filter, bool force_visible) } - -/** - * Draw a row in the settings panel. - * - * See SettingsPage::Draw() for an explanation about how drawing is performed. - * - * The \a parent_last parameter ensures that the vertical lines at the left are - * only drawn when another entry follows, that it prevents output like - * \verbatim - * |-- setting - * |-- (-) - Title - * | |-- setting - * | |-- setting - * \endverbatim - * The left-most vertical line is not wanted. It is prevented by setting the - * appropriate bit in the \a parent_last parameter. - * - * @param settings_ptr Pointer to current values of all settings - * @param left Left-most position in window/panel to start drawing \a first_row - * @param right Right-most x position to draw strings at. - * @param base_y Upper-most position in window/panel to start drawing \a first_row - * @param first_row First row number to draw - * @param max_row Row-number to stop drawing (the row-number of the row below the last row to draw) - * @param cur_row Current row number (internal variable) - * @param parent_last Last-field booleans of parent page level (page level \e i sets bit \e i to 1 if it is its last field) - * @param selected Selected entry by the user. - * @return Row number of the next row to draw - */ -uint SettingEntry::Draw(GameSettings *settings_ptr, int left, int right, int base_y, uint first_row, uint max_row, uint cur_row, uint parent_last, SettingEntry *selected) -{ - if (this->IsFiltered()) return cur_row; - if (cur_row >= max_row) return cur_row; - - bool rtl = _current_text_dir == TD_RTL; - int offset = rtl ? -4 : 4; - int level_width = rtl ? -LEVEL_WIDTH : LEVEL_WIDTH; - - int x = rtl ? right : left; - int y = base_y; - if (cur_row >= first_row) { - int colour = _colour_gradient[COLOUR_ORANGE][4]; - y = base_y + (cur_row - first_row) * SETTING_HEIGHT; // Compute correct y start position - - /* Draw vertical for parent nesting levels */ - for (uint lvl = 0; lvl < this->level; lvl++) { - if (!HasBit(parent_last, lvl)) GfxDrawLine(x + offset, y, x + offset, y + SETTING_HEIGHT - 1, colour); - x += level_width; - } - /* draw own |- prefix */ - int halfway_y = y + SETTING_HEIGHT / 2; - int bottom_y = (flags & SEF_LAST_FIELD) ? halfway_y : y + SETTING_HEIGHT - 1; - GfxDrawLine(x + offset, y, x + offset, bottom_y, colour); - /* Small horizontal line from the last vertical line */ - GfxDrawLine(x + offset, halfway_y, x + level_width - offset, halfway_y, colour); - x += level_width; - } - - switch (this->flags & SEF_KIND_MASK) { - case SEF_SETTING_KIND: - if (cur_row >= first_row) { - this->DrawSetting(settings_ptr, rtl ? left : x, rtl ? x : right, y, this->flags & SEF_BUTTONS_MASK, - this == selected); - } - cur_row++; - break; - case SEF_SUBTREE_KIND: - if (cur_row >= first_row) { - DrawSprite((this->d.sub.folded ? SPR_CIRCLE_FOLDED : SPR_CIRCLE_UNFOLDED), PAL_NONE, rtl ? x - 8 : x, y + (SETTING_HEIGHT - 11) / 2); - DrawString(rtl ? left : x + 12, rtl ? x - 12 : right, y, this->d.sub.title); - } - cur_row++; - if (!this->d.sub.folded) { - if (this->flags & SEF_LAST_FIELD) { - assert(this->level < sizeof(parent_last)); - SetBit(parent_last, this->level); // Add own last-field state - } - - cur_row = this->d.sub.page->Draw(settings_ptr, left, right, base_y, first_row, max_row, selected, cur_row, parent_last); - } - break; - default: NOT_REACHED(); - } - return cur_row; -} - static const void *ResolveVariableAddress(const GameSettings *settings_ptr, const SettingDesc *sd) { if ((sd->desc.flags & SGF_PER_COMPANY) != 0) { @@ -1186,10 +1081,9 @@ static const void *ResolveVariableAddress(const GameSettings *settings_ptr, cons * @param first_param First DParam to use * @param value Setting value to set params for. */ -void SettingEntry::SetValueDParams(uint first_param, int32 value) +void SettingEntry::SetValueDParams(uint first_param, int32 value) const { - assert((this->flags & SEF_KIND_MASK) == SEF_SETTING_KIND); - const SettingDescBase *sdb = &this->d.entry.setting->desc; + const SettingDescBase *sdb = &this->setting->desc; if (sdb->cmd == SDT_BOOLX) { SetDParam(first_param++, value != 0 ? STR_CONFIG_SETTING_ON : STR_CONFIG_SETTING_OFF); } else { @@ -1206,19 +1100,19 @@ void SettingEntry::SetValueDParams(uint first_param, int32 value) } /** - * Private function to draw setting value (button + text + current value) + * Function to draw setting value (button + text + current value) * @param settings_ptr Pointer to current values of all settings * @param left Left-most position in window/panel to start drawing * @param right Right-most position in window/panel to draw * @param y Upper-most position in window/panel to start drawing - * @param state State of the left + right arrow buttons to draw for the setting * @param highlight Highlight entry. */ -void SettingEntry::DrawSetting(GameSettings *settings_ptr, int left, int right, int y, int state, bool highlight) +void SettingEntry::DrawSetting(GameSettings *settings_ptr, int left, int right, int y, bool highlight) const { - const SettingDesc *sd = this->d.entry.setting; + const SettingDesc *sd = this->setting; const SettingDescBase *sdb = &sd->desc; const void *var = ResolveVariableAddress(settings_ptr, sd); + int state = this->flags & SEF_BUTTONS_MASK; bool rtl = _current_text_dir == TD_RTL; uint buttons_left = rtl ? right + 1 - SETTING_BUTTON_WIDTH : left; @@ -1243,36 +1137,35 @@ void SettingEntry::DrawSetting(GameSettings *settings_ptr, int left, int right, editable && value != (sdb->flags & SGF_0ISDISABLED ? 0 : sdb->min), editable && (uint32)value != sdb->max); } this->SetValueDParams(1, value); - DrawString(text_left, text_right, y, sdb->str, highlight ? TC_WHITE : TC_LIGHT_BLUE); + DrawString(text_left, text_right, y + (SETTING_HEIGHT - FONT_HEIGHT_NORMAL) / 2, sdb->str, highlight ? TC_WHITE : TC_LIGHT_BLUE); } - -/* == SettingsPage methods == */ +/* == SettingsContainer methods == */ /** * Initialization of an entire setting page * @param level Nesting level of this page (internal variable, do not provide a value for it when calling) */ -void SettingsPage::Init(byte level) +void SettingsContainer::Init(byte level) { - for (uint field = 0; field < this->num; field++) { - this->entries[field].Init(level); + for (EntryVector::iterator it = this->entries.begin(); it != this->entries.end(); ++it) { + (*it)->Init(level); } } /** Recursively close all folds of sub-pages */ -void SettingsPage::FoldAll() +void SettingsContainer::FoldAll() { - for (uint field = 0; field < this->num; field++) { - this->entries[field].FoldAll(); + for (EntryVector::iterator it = this->entries.begin(); it != this->entries.end(); ++it) { + (*it)->FoldAll(); } } /** Recursively open all folds of sub-pages */ -void SettingsPage::UnFoldAll() +void SettingsContainer::UnFoldAll() { - for (uint field = 0; field < this->num; field++) { - this->entries[field].UnFoldAll(); + for (EntryVector::iterator it = this->entries.begin(); it != this->entries.end(); ++it) { + (*it)->UnFoldAll(); } } @@ -1281,10 +1174,10 @@ void SettingsPage::UnFoldAll() * @param[in,out] all_folded Set to false, if one entry is not folded. * @param[in,out] all_unfolded Set to false, if one entry is folded. */ -void SettingsPage::GetFoldingState(bool &all_folded, bool &all_unfolded) const +void SettingsContainer::GetFoldingState(bool &all_folded, bool &all_unfolded) const { - for (uint field = 0; field < this->num; field++) { - this->entries[field].GetFoldingState(all_folded, all_unfolded); + for (EntryVector::const_iterator it = this->entries.begin(); it != this->entries.end(); ++it) { + (*it)->GetFoldingState(all_folded, all_unfolded); } } @@ -1294,13 +1187,13 @@ void SettingsPage::GetFoldingState(bool &all_folded, bool &all_unfolded) const * @param force_visible Whether to force all items visible, no matter what * @return true if item remains visible */ -bool SettingsPage::UpdateFilterState(SettingFilter &filter, bool force_visible) +bool SettingsContainer::UpdateFilterState(SettingFilter &filter, bool force_visible) { bool visible = false; bool first_visible = true; - for (int field = this->num - 1; field >= 0; field--) { - visible |= this->entries[field].UpdateFilterState(filter, force_visible); - this->entries[field].SetLastField(first_visible); + for (EntryVector::reverse_iterator it = this->entries.rbegin(); it != this->entries.rend(); ++it) { + visible |= (*it)->UpdateFilterState(filter, force_visible); + (*it)->SetLastField(first_visible); if (visible && first_visible) first_visible = false; } return visible; @@ -1309,24 +1202,24 @@ bool SettingsPage::UpdateFilterState(SettingFilter &filter, bool force_visible) /** * Check whether an entry is visible and not folded or filtered away. - * Note: This does not consider the scrolling range; it might still require scrolling ot make the setting really visible. + * Note: This does not consider the scrolling range; it might still require scrolling to make the setting really visible. * @param item Entry to search for. * @return true if entry is visible. */ -bool SettingsPage::IsVisible(const SettingEntry *item) const +bool SettingsContainer::IsVisible(const BaseSettingEntry *item) const { - for (uint field = 0; field < this->num; field++) { - if (this->entries[field].IsVisible(item)) return true; + for (EntryVector::const_iterator it = this->entries.begin(); it != this->entries.end(); ++it) { + if ((*it)->IsVisible(item)) return true; } return false; } /** Return number of rows needed to display the whole page */ -uint SettingsPage::Length() const +uint SettingsContainer::Length() const { uint length = 0; - for (uint field = 0; field < this->num; field++) { - length += this->entries[field].Length(); + for (EntryVector::const_iterator it = this->entries.begin(); it != this->entries.end(); ++it) { + length += (*it)->Length(); } return length; } @@ -1337,12 +1230,11 @@ uint SettingsPage::Length() const * @param cur_row Variable used for keeping track of the current row number. Should point to memory initialized to \c 0 when first called. * @return The requested setting entry or \c NULL if it does not exist */ -SettingEntry *SettingsPage::FindEntry(uint row_num, uint *cur_row) const +BaseSettingEntry *SettingsContainer::FindEntry(uint row_num, uint *cur_row) { - SettingEntry *pe = NULL; - - for (uint field = 0; field < this->num; field++) { - pe = this->entries[field].FindEntry(row_num, cur_row); + BaseSettingEntry *pe = NULL; + for (EntryVector::iterator it = this->entries.begin(); it != this->entries.end(); ++it) { + pe = (*it)->FindEntry(row_num, cur_row); if (pe != NULL) { break; } @@ -1355,39 +1247,34 @@ SettingEntry *SettingsPage::FindEntry(uint row_num, uint *cur_row) const * @param maxw Maximal width of a line help text. * @return Biggest height needed to display any help text of this (sub-)tree. */ -uint SettingsPage::GetMaxHelpHeight(int maxw) +uint SettingsContainer::GetMaxHelpHeight(int maxw) { uint biggest = 0; - for (uint field = 0; field < this->num; field++) { - biggest = max(biggest, this->entries[field].GetMaxHelpHeight(maxw)); + for (EntryVector::const_iterator it = this->entries.begin(); it != this->entries.end(); ++it) { + biggest = max(biggest, (*it)->GetMaxHelpHeight(maxw)); } return biggest; } + /** - * Draw a selected part of the settings page. - * - * The scrollbar uses rows of the page, while the page data structure is a tree of #SettingsPage and #SettingEntry objects. - * As a result, the drawing routing traverses the tree from top to bottom, counting rows in \a cur_row until it reaches \a first_row. - * Then it enables drawing rows while traversing until \a max_row is reached, at which point drawing is terminated. + * Draw a row in the settings panel. * * @param settings_ptr Pointer to current values of all settings - * @param left Left-most position in window/panel to start drawing of each setting row - * @param right Right-most position in window/panel to draw at - * @param base_y Upper-most position in window/panel to start drawing of row number \a first_row - * @param first_row Number of first row to draw + * @param left Left-most position in window/panel to start drawing \a first_row + * @param right Right-most x position to draw strings at. + * @param y Upper-most position in window/panel to start drawing \a first_row + * @param first_row First row number to draw * @param max_row Row-number to stop drawing (the row-number of the row below the last row to draw) + * @param selected Selected entry by the user. * @param cur_row Current row number (internal variable) * @param parent_last Last-field booleans of parent page level (page level \e i sets bit \e i to 1 if it is its last field) - * @param selected Selected entry by the user. * @return Row number of the next row to draw */ -uint SettingsPage::Draw(GameSettings *settings_ptr, int left, int right, int base_y, uint first_row, uint max_row, SettingEntry *selected, uint cur_row, uint parent_last) const +uint SettingsContainer::Draw(GameSettings *settings_ptr, int left, int right, int y, uint first_row, uint max_row, BaseSettingEntry *selected, uint cur_row, uint parent_last) const { - if (cur_row >= max_row) return cur_row; - - for (uint i = 0; i < this->num; i++) { - cur_row = this->entries[i].Draw(settings_ptr, left, right, base_y, first_row, max_row, cur_row, parent_last, selected); + for (EntryVector::const_iterator it = this->entries.begin(); it != this->entries.end(); ++it) { + cur_row = (*it)->Draw(settings_ptr, left, right, y, first_row, max_row, selected, cur_row, parent_last); if (cur_row >= max_row) { break; } @@ -1395,325 +1282,470 @@ uint SettingsPage::Draw(GameSettings *settings_ptr, int left, int right, int bas return cur_row; } +/* == SettingsPage methods == */ -static SettingEntry _settings_ui_localisation[] = { - SettingEntry("locale.units_velocity"), - SettingEntry("locale.units_power"), - SettingEntry("locale.units_weight"), - SettingEntry("locale.units_volume"), - SettingEntry("locale.units_force"), - SettingEntry("locale.units_height"), -}; -/** Localisation options sub-page */ -static SettingsPage _settings_ui_localisation_page = {_settings_ui_localisation, lengthof(_settings_ui_localisation)}; +/** + * Constructor for a sub-page in the 'advanced settings' window + * @param title Title of the sub-page + */ +SettingsPage::SettingsPage(StringID title) +{ + this->title = title; + this->folded = true; +} -static SettingEntry _settings_ui_display[] = { - SettingEntry("gui.date_format_in_default_names"), - SettingEntry("gui.population_in_label"), - SettingEntry("gui.measure_tooltip"), - SettingEntry("gui.loading_indicators"), - SettingEntry("gui.liveries"), - SettingEntry("gui.show_track_reservation"), - SettingEntry("gui.expenses_layout"), - SettingEntry("gui.smallmap_land_colour"), - SettingEntry("gui.zoom_min"), - SettingEntry("gui.zoom_max"), - SettingEntry("gui.graph_line_thickness"), -}; -/** Display options sub-page */ -static SettingsPage _settings_ui_display_page = {_settings_ui_display, lengthof(_settings_ui_display)}; +/** + * Initialization of an entire setting page + * @param level Nesting level of this page (internal variable, do not provide a value for it when calling) + */ +void SettingsPage::Init(byte level) +{ + BaseSettingEntry::Init(level); + SettingsContainer::Init(level + 1); +} -static SettingEntry _settings_ui_interaction[] = { - SettingEntry("gui.window_snap_radius"), - SettingEntry("gui.window_soft_limit"), - SettingEntry("gui.link_terraform_toolbar"), - SettingEntry("gui.prefer_teamchat"), - SettingEntry("gui.auto_scrolling"), - SettingEntry("gui.reverse_scroll"), - SettingEntry("gui.smooth_scroll"), - SettingEntry("gui.left_mouse_btn_scrolling"), - /* While the horizontal scrollwheel scrolling is written as general code, only - * the cocoa (OSX) driver generates input for it. - * Since it's also able to completely disable the scrollwheel will we display it on all platforms anyway */ - SettingEntry("gui.scrollwheel_scrolling"), - SettingEntry("gui.scrollwheel_multiplier"), - SettingEntry("gui.osk_activation"), +/** Recursively close all (filtered) folds of sub-pages */ +void SettingsPage::FoldAll() +{ + if (this->IsFiltered()) return; + this->folded = true; + + SettingsContainer::FoldAll(); +} + +/** Recursively open all (filtered) folds of sub-pages */ +void SettingsPage::UnFoldAll() +{ + if (this->IsFiltered()) return; + this->folded = false; + + SettingsContainer::UnFoldAll(); +} + +/** + * Recursively accumulate the folding state of the (filtered) tree. + * @param[in,out] all_folded Set to false, if one entry is not folded. + * @param[in,out] all_unfolded Set to false, if one entry is folded. + */ +void SettingsPage::GetFoldingState(bool &all_folded, bool &all_unfolded) const +{ + if (this->IsFiltered()) return; + + if (this->folded) { + all_unfolded = false; + } else { + all_folded = false; + } + + SettingsContainer::GetFoldingState(all_folded, all_unfolded); +} + +/** + * Update the filter state. + * @param filter Filter + * @param force_visible Whether to force all items visible, no matter what (due to filter text; not affected by restriction drop down box). + * @return true if item remains visible + */ +bool SettingsPage::UpdateFilterState(SettingFilter &filter, bool force_visible) +{ + if (!force_visible && !filter.string.IsEmpty()) { + filter.string.ResetState(); + filter.string.AddLine(this->title); + force_visible = filter.string.GetState(); + } + + bool visible = SettingsContainer::UpdateFilterState(filter, force_visible); + if (visible) { + CLRBITS(this->flags, SEF_FILTERED); + } else { + SETBITS(this->flags, SEF_FILTERED); + } + return visible; +} + +/** + * Check whether an entry is visible and not folded or filtered away. + * Note: This does not consider the scrolling range; it might still require scrolling to make the setting really visible. + * @param item Entry to search for. + * @return true if entry is visible. + */ +bool SettingsPage::IsVisible(const BaseSettingEntry *item) const +{ + if (this->IsFiltered()) return false; + if (this == item) return true; + if (this->folded) return false; + + return SettingsContainer::IsVisible(item); +} + +/** Return number of rows needed to display the (filtered) entry */ +uint SettingsPage::Length() const +{ + if (this->IsFiltered()) return 0; + if (this->folded) return 1; // Only displaying the title + + return 1 + SettingsContainer::Length(); +} + +/** + * Find setting entry at row \a row_num + * @param row_num Index of entry to return + * @param cur_row Current row number + * @return The requested setting entry or \c NULL if it not found (folded or filtered) + */ +BaseSettingEntry *SettingsPage::FindEntry(uint row_num, uint *cur_row) +{ + if (this->IsFiltered()) return NULL; + if (row_num == *cur_row) return this; + (*cur_row)++; + if (this->folded) return NULL; + + return SettingsContainer::FindEntry(row_num, cur_row); +} + +/** + * Draw a row in the settings panel. + * + * @param settings_ptr Pointer to current values of all settings + * @param left Left-most position in window/panel to start drawing \a first_row + * @param right Right-most x position to draw strings at. + * @param y Upper-most position in window/panel to start drawing \a first_row + * @param first_row First row number to draw + * @param max_row Row-number to stop drawing (the row-number of the row below the last row to draw) + * @param selected Selected entry by the user. + * @param cur_row Current row number (internal variable) + * @param parent_last Last-field booleans of parent page level (page level \e i sets bit \e i to 1 if it is its last field) + * @return Row number of the next row to draw + */ +uint SettingsPage::Draw(GameSettings *settings_ptr, int left, int right, int y, uint first_row, uint max_row, BaseSettingEntry *selected, uint cur_row, uint parent_last) const +{ + if (this->IsFiltered()) return cur_row; + if (cur_row >= max_row) return cur_row; + + cur_row = BaseSettingEntry::Draw(settings_ptr, left, right, y, first_row, max_row, selected, cur_row, parent_last); + + if (!this->folded) { + if (this->flags & SEF_LAST_FIELD) { + assert(this->level < 8 * sizeof(parent_last)); + SetBit(parent_last, this->level); // Add own last-field state + } + + cur_row = SettingsContainer::Draw(settings_ptr, left, right, y, first_row, max_row, selected, cur_row, parent_last); + } + + return cur_row; +} + +/** + * Function to draw setting value (button + text + current value) + * @param settings_ptr Pointer to current values of all settings + * @param left Left-most position in window/panel to start drawing + * @param right Right-most position in window/panel to draw + * @param y Upper-most position in window/panel to start drawing + * @param highlight Highlight entry. + */ +void SettingsPage::DrawSetting(GameSettings *settings_ptr, int left, int right, int y, bool highlight) const +{ + bool rtl = _current_text_dir == TD_RTL; + DrawSprite((this->folded ? SPR_CIRCLE_FOLDED : SPR_CIRCLE_UNFOLDED), PAL_NONE, rtl ? right - _circle_size.width : left, y + (SETTING_HEIGHT - _circle_size.height) / 2); + DrawString(rtl ? left : left + _circle_size.width + 2, rtl ? right - _circle_size.width - 2 : right, y + (SETTING_HEIGHT - FONT_HEIGHT_NORMAL) / 2, this->title); +} + +/** Construct settings tree */ +static SettingsContainer &GetSettingsTree() +{ + static SettingsContainer *main = NULL; + + if (main == NULL) + { + /* Build up the dynamic settings-array only once per OpenTTD session */ + main = new SettingsContainer(); + + SettingsPage *localisation = main->Add(new SettingsPage(STR_CONFIG_SETTING_LOCALISATION)); + { + localisation->Add(new SettingEntry("locale.units_velocity")); + localisation->Add(new SettingEntry("locale.units_power")); + localisation->Add(new SettingEntry("locale.units_weight")); + localisation->Add(new SettingEntry("locale.units_volume")); + localisation->Add(new SettingEntry("locale.units_force")); + localisation->Add(new SettingEntry("locale.units_height")); + localisation->Add(new SettingEntry("gui.date_format_in_default_names")); + } + + SettingsPage *graphics = main->Add(new SettingsPage(STR_CONFIG_SETTING_GRAPHICS)); + { + graphics->Add(new SettingEntry("gui.zoom_min")); + graphics->Add(new SettingEntry("gui.zoom_max")); + graphics->Add(new SettingEntry("gui.smallmap_land_colour")); + graphics->Add(new SettingEntry("gui.graph_line_thickness")); + } + + SettingsPage *sound = main->Add(new SettingsPage(STR_CONFIG_SETTING_SOUND)); + { + sound->Add(new SettingEntry("sound.click_beep")); + sound->Add(new SettingEntry("sound.confirm")); + sound->Add(new SettingEntry("sound.news_ticker")); + sound->Add(new SettingEntry("sound.news_full")); + sound->Add(new SettingEntry("sound.new_year")); + sound->Add(new SettingEntry("sound.disaster")); + sound->Add(new SettingEntry("sound.vehicle")); + sound->Add(new SettingEntry("sound.ambient")); + } + + SettingsPage *interface = main->Add(new SettingsPage(STR_CONFIG_SETTING_INTERFACE)); + { + SettingsPage *general = interface->Add(new SettingsPage(STR_CONFIG_SETTING_INTERFACE_GENERAL)); + { + general->Add(new SettingEntry("gui.osk_activation")); + general->Add(new SettingEntry("gui.hover_delay_ms")); + general->Add(new SettingEntry("gui.errmsg_duration")); + general->Add(new SettingEntry("gui.window_snap_radius")); + general->Add(new SettingEntry("gui.window_soft_limit")); + } + + SettingsPage *viewports = interface->Add(new SettingsPage(STR_CONFIG_SETTING_INTERFACE_VIEWPORTS)); + { + viewports->Add(new SettingEntry("gui.auto_scrolling")); + viewports->Add(new SettingEntry("gui.reverse_scroll")); + viewports->Add(new SettingEntry("gui.smooth_scroll")); + viewports->Add(new SettingEntry("gui.left_mouse_btn_scrolling")); + /* While the horizontal scrollwheel scrolling is written as general code, only + * the cocoa (OSX) driver generates input for it. + * Since it's also able to completely disable the scrollwheel will we display it on all platforms anyway */ + viewports->Add(new SettingEntry("gui.scrollwheel_scrolling")); + viewports->Add(new SettingEntry("gui.scrollwheel_multiplier")); #ifdef __APPLE__ - /* We might need to emulate a right mouse button on mac */ - SettingEntry("gui.right_mouse_btn_emulation"), + /* We might need to emulate a right mouse button on mac */ + viewports->Add(new SettingEntry("gui.right_mouse_btn_emulation")); #endif -}; -/** Interaction sub-page */ -static SettingsPage _settings_ui_interaction_page = {_settings_ui_interaction, lengthof(_settings_ui_interaction)}; + viewports->Add(new SettingEntry("gui.population_in_label")); + viewports->Add(new SettingEntry("gui.liveries")); + viewports->Add(new SettingEntry("construction.train_signal_side")); + viewports->Add(new SettingEntry("gui.measure_tooltip")); + viewports->Add(new SettingEntry("gui.loading_indicators")); + viewports->Add(new SettingEntry("gui.show_track_reservation")); + } -static SettingEntry _settings_ui_sound[] = { - SettingEntry("sound.click_beep"), - SettingEntry("sound.confirm"), - SettingEntry("sound.news_ticker"), - SettingEntry("sound.news_full"), - SettingEntry("sound.new_year"), - SettingEntry("sound.disaster"), - SettingEntry("sound.vehicle"), - SettingEntry("sound.ambient"), -}; -/** Sound effects sub-page */ -static SettingsPage _settings_ui_sound_page = {_settings_ui_sound, lengthof(_settings_ui_sound)}; + SettingsPage *construction = interface->Add(new SettingsPage(STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION)); + { + construction->Add(new SettingEntry("gui.link_terraform_toolbar")); + construction->Add(new SettingEntry("gui.enable_signal_gui")); + construction->Add(new SettingEntry("gui.persistent_buildingtools")); + construction->Add(new SettingEntry("gui.quick_goto")); + construction->Add(new SettingEntry("gui.default_rail_type")); + construction->Add(new SettingEntry("gui.disable_unsuitable_building")); + } -static SettingEntry _settings_ui_news[] = { - SettingEntry("news_display.arrival_player"), - SettingEntry("news_display.arrival_other"), - SettingEntry("news_display.accident"), - SettingEntry("news_display.company_info"), - SettingEntry("news_display.open"), - SettingEntry("news_display.close"), - SettingEntry("news_display.economy"), - SettingEntry("news_display.production_player"), - SettingEntry("news_display.production_other"), - SettingEntry("news_display.production_nobody"), - SettingEntry("news_display.advice"), - SettingEntry("news_display.new_vehicles"), - SettingEntry("news_display.acceptance"), - SettingEntry("news_display.subsidies"), - SettingEntry("news_display.general"), - SettingEntry("gui.coloured_news_year"), -}; -/** News sub-page */ -static SettingsPage _settings_ui_news_page = {_settings_ui_news, lengthof(_settings_ui_news)}; + interface->Add(new SettingEntry("gui.autosave")); + interface->Add(new SettingEntry("gui.toolbar_pos")); + interface->Add(new SettingEntry("gui.statusbar_pos")); + interface->Add(new SettingEntry("gui.prefer_teamchat")); + interface->Add(new SettingEntry("gui.advanced_vehicle_list")); + interface->Add(new SettingEntry("gui.timetable_in_ticks")); + interface->Add(new SettingEntry("gui.timetable_arrival_departure")); + interface->Add(new SettingEntry("gui.expenses_layout")); + } -static SettingEntry _settings_ui[] = { - SettingEntry(&_settings_ui_localisation_page, STR_CONFIG_SETTING_LOCALISATION), - SettingEntry(&_settings_ui_display_page, STR_CONFIG_SETTING_DISPLAY_OPTIONS), - SettingEntry(&_settings_ui_interaction_page, STR_CONFIG_SETTING_INTERACTION), - SettingEntry(&_settings_ui_sound_page, STR_CONFIG_SETTING_SOUND), - SettingEntry(&_settings_ui_news_page, STR_CONFIG_SETTING_NEWS), - SettingEntry("gui.show_finances"), - SettingEntry("gui.errmsg_duration"), - SettingEntry("gui.hover_delay"), - SettingEntry("gui.toolbar_pos"), - SettingEntry("gui.statusbar_pos"), - SettingEntry("gui.newgrf_default_palette"), - SettingEntry("gui.pause_on_newgame"), - SettingEntry("gui.advanced_vehicle_list"), - SettingEntry("gui.timetable_in_ticks"), - SettingEntry("gui.timetable_arrival_departure"), - SettingEntry("gui.quick_goto"), - SettingEntry("gui.default_rail_type"), - SettingEntry("gui.disable_unsuitable_building"), - SettingEntry("gui.persistent_buildingtools"), -}; -/** Interface subpage */ -static SettingsPage _settings_ui_page = {_settings_ui, lengthof(_settings_ui)}; + SettingsPage *advisors = main->Add(new SettingsPage(STR_CONFIG_SETTING_ADVISORS)); + { + advisors->Add(new SettingEntry("gui.coloured_news_year")); + advisors->Add(new SettingEntry("news_display.general")); + advisors->Add(new SettingEntry("news_display.new_vehicles")); + advisors->Add(new SettingEntry("news_display.accident")); + advisors->Add(new SettingEntry("news_display.company_info")); + advisors->Add(new SettingEntry("news_display.acceptance")); + advisors->Add(new SettingEntry("news_display.arrival_player")); + advisors->Add(new SettingEntry("news_display.arrival_other")); + advisors->Add(new SettingEntry("news_display.advice")); + advisors->Add(new SettingEntry("gui.order_review_system")); + advisors->Add(new SettingEntry("gui.vehicle_income_warn")); + advisors->Add(new SettingEntry("gui.lost_vehicle_warn")); + advisors->Add(new SettingEntry("gui.show_finances")); + advisors->Add(new SettingEntry("news_display.economy")); + advisors->Add(new SettingEntry("news_display.subsidies")); + advisors->Add(new SettingEntry("news_display.open")); + advisors->Add(new SettingEntry("news_display.close")); + advisors->Add(new SettingEntry("news_display.production_player")); + advisors->Add(new SettingEntry("news_display.production_other")); + advisors->Add(new SettingEntry("news_display.production_nobody")); + } -static SettingEntry _settings_construction_signals[] = { - SettingEntry("construction.train_signal_side"), - SettingEntry("gui.enable_signal_gui"), - SettingEntry("gui.drag_signals_fixed_distance"), - SettingEntry("gui.semaphore_build_before"), - SettingEntry("gui.default_signal_type"), - SettingEntry("gui.cycle_signal_types"), -}; -/** Signals subpage */ -static SettingsPage _settings_construction_signals_page = {_settings_construction_signals, lengthof(_settings_construction_signals)}; + SettingsPage *company = main->Add(new SettingsPage(STR_CONFIG_SETTING_COMPANY)); + { + company->Add(new SettingEntry("gui.semaphore_build_before")); + company->Add(new SettingEntry("gui.default_signal_type")); + company->Add(new SettingEntry("gui.cycle_signal_types")); + company->Add(new SettingEntry("gui.drag_signals_fixed_distance")); + company->Add(new SettingEntry("gui.new_nonstop")); + company->Add(new SettingEntry("gui.stop_location")); + company->Add(new SettingEntry("company.engine_renew")); + company->Add(new SettingEntry("company.engine_renew_months")); + company->Add(new SettingEntry("company.engine_renew_money")); + company->Add(new SettingEntry("vehicle.servint_ispercent")); + company->Add(new SettingEntry("vehicle.servint_trains")); + company->Add(new SettingEntry("vehicle.servint_roadveh")); + company->Add(new SettingEntry("vehicle.servint_ships")); + company->Add(new SettingEntry("vehicle.servint_aircraft")); + } -static SettingEntry _settings_construction[] = { - SettingEntry(&_settings_construction_signals_page, STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS), - SettingEntry("construction.build_on_slopes"), - SettingEntry("construction.autoslope"), - SettingEntry("construction.extra_dynamite"), - SettingEntry("construction.max_bridge_length"), - SettingEntry("construction.max_tunnel_length"), - SettingEntry("station.never_expire_airports"), - SettingEntry("construction.freeform_edges"), - SettingEntry("construction.extra_tree_placement"), - SettingEntry("construction.command_pause_level"), -}; -/** Construction sub-page */ -static SettingsPage _settings_construction_page = {_settings_construction, lengthof(_settings_construction)}; + SettingsPage *accounting = main->Add(new SettingsPage(STR_CONFIG_SETTING_ACCOUNTING)); + { + accounting->Add(new SettingEntry("economy.inflation")); + accounting->Add(new SettingEntry("difficulty.initial_interest")); + accounting->Add(new SettingEntry("difficulty.max_loan")); + accounting->Add(new SettingEntry("difficulty.subsidy_multiplier")); + accounting->Add(new SettingEntry("economy.feeder_payment_share")); + accounting->Add(new SettingEntry("economy.infrastructure_maintenance")); + accounting->Add(new SettingEntry("difficulty.vehicle_costs")); + accounting->Add(new SettingEntry("difficulty.construction_cost")); + } -static SettingEntry _settings_stations_cargo[] = { - SettingEntry("order.improved_load"), - SettingEntry("order.gradual_loading"), - SettingEntry("order.selectgoods"), -}; -/** Cargo handling sub-page */ -static SettingsPage _settings_stations_cargo_page = {_settings_stations_cargo, lengthof(_settings_stations_cargo)}; + SettingsPage *vehicles = main->Add(new SettingsPage(STR_CONFIG_SETTING_VEHICLES)); + { + SettingsPage *physics = vehicles->Add(new SettingsPage(STR_CONFIG_SETTING_VEHICLES_PHYSICS)); + { + physics->Add(new SettingEntry("vehicle.train_acceleration_model")); + physics->Add(new SettingEntry("vehicle.train_slope_steepness")); + physics->Add(new SettingEntry("vehicle.wagon_speed_limits")); + physics->Add(new SettingEntry("vehicle.freight_trains")); + physics->Add(new SettingEntry("vehicle.roadveh_acceleration_model")); + physics->Add(new SettingEntry("vehicle.roadveh_slope_steepness")); + physics->Add(new SettingEntry("vehicle.smoke_amount")); + physics->Add(new SettingEntry("vehicle.plane_speed")); + } -static SettingEntry _settings_stations[] = { - SettingEntry(&_settings_stations_cargo_page, STR_CONFIG_SETTING_STATIONS_CARGOHANDLING), - SettingEntry("station.adjacent_stations"), - SettingEntry("station.distant_join_stations"), - SettingEntry("station.station_spread"), - SettingEntry("economy.station_noise_level"), - SettingEntry("station.modified_catchment"), - SettingEntry("construction.road_stop_on_town_road"), - SettingEntry("construction.road_stop_on_competitor_road"), -}; -/** Stations sub-page */ -static SettingsPage _settings_stations_page = {_settings_stations, lengthof(_settings_stations)}; + SettingsPage *routing = vehicles->Add(new SettingsPage(STR_CONFIG_SETTING_VEHICLES_ROUTING)); + { + routing->Add(new SettingEntry("pf.pathfinder_for_trains")); + routing->Add(new SettingEntry("difficulty.line_reverse_mode")); + routing->Add(new SettingEntry("pf.reverse_at_signals")); + routing->Add(new SettingEntry("pf.forbid_90_deg")); + routing->Add(new SettingEntry("pf.pathfinder_for_roadvehs")); + routing->Add(new SettingEntry("pf.pathfinder_for_ships")); + } -static SettingEntry _settings_economy_towns[] = { - SettingEntry("difficulty.town_council_tolerance"), - SettingEntry("economy.bribe"), - SettingEntry("economy.exclusive_rights"), - SettingEntry("economy.fund_roads"), - SettingEntry("economy.fund_buildings"), - SettingEntry("economy.town_layout"), - SettingEntry("economy.allow_town_roads"), - SettingEntry("economy.allow_town_level_crossings"), - SettingEntry("economy.found_town"), - SettingEntry("economy.mod_road_rebuild"), - SettingEntry("economy.town_growth_rate"), - SettingEntry("economy.larger_towns"), - SettingEntry("economy.initial_city_size"), -}; -/** Towns sub-page */ -static SettingsPage _settings_economy_towns_page = {_settings_economy_towns, lengthof(_settings_economy_towns)}; + vehicles->Add(new SettingEntry("order.no_servicing_if_no_breakdowns")); + vehicles->Add(new SettingEntry("order.serviceathelipad")); + } -static SettingEntry _settings_economy_industries[] = { - SettingEntry("construction.raw_industry_construction"), - SettingEntry("construction.industry_platform"), - SettingEntry("economy.multiple_industry_per_town"), - SettingEntry("game_creation.oil_refinery_limit"), -}; -/** Industries sub-page */ -static SettingsPage _settings_economy_industries_page = {_settings_economy_industries, lengthof(_settings_economy_industries)}; + SettingsPage *limitations = main->Add(new SettingsPage(STR_CONFIG_SETTING_LIMITATIONS)); + { + limitations->Add(new SettingEntry("construction.command_pause_level")); + limitations->Add(new SettingEntry("construction.autoslope")); + limitations->Add(new SettingEntry("construction.extra_dynamite")); + limitations->Add(new SettingEntry("construction.max_heightlevel")); + limitations->Add(new SettingEntry("construction.max_bridge_length")); + limitations->Add(new SettingEntry("construction.max_bridge_height")); + limitations->Add(new SettingEntry("construction.max_tunnel_length")); + limitations->Add(new SettingEntry("station.never_expire_airports")); + limitations->Add(new SettingEntry("vehicle.never_expire_vehicles")); + limitations->Add(new SettingEntry("vehicle.max_trains")); + limitations->Add(new SettingEntry("vehicle.max_roadveh")); + limitations->Add(new SettingEntry("vehicle.max_aircraft")); + limitations->Add(new SettingEntry("vehicle.max_ships")); + limitations->Add(new SettingEntry("vehicle.max_train_length")); + limitations->Add(new SettingEntry("station.station_spread")); + limitations->Add(new SettingEntry("station.distant_join_stations")); + limitations->Add(new SettingEntry("construction.road_stop_on_town_road")); + limitations->Add(new SettingEntry("construction.road_stop_on_competitor_road")); + limitations->Add(new SettingEntry("vehicle.disable_elrails")); + } + SettingsPage *disasters = main->Add(new SettingsPage(STR_CONFIG_SETTING_ACCIDENTS)); + { + disasters->Add(new SettingEntry("difficulty.disasters")); + disasters->Add(new SettingEntry("difficulty.economy")); + disasters->Add(new SettingEntry("difficulty.vehicle_breakdowns")); + disasters->Add(new SettingEntry("vehicle.plane_crashes")); + } -static SettingEntry _settings_economy[] = { - SettingEntry(&_settings_economy_towns_page, STR_CONFIG_SETTING_ECONOMY_TOWNS), - SettingEntry(&_settings_economy_industries_page, STR_CONFIG_SETTING_ECONOMY_INDUSTRIES), - SettingEntry("economy.inflation"), - SettingEntry("difficulty.initial_interest"), - SettingEntry("difficulty.max_loan"), - SettingEntry("difficulty.subsidy_multiplier"), - SettingEntry("difficulty.economy"), - SettingEntry("economy.smooth_economy"), - SettingEntry("economy.feeder_payment_share"), - SettingEntry("economy.infrastructure_maintenance"), - SettingEntry("difficulty.vehicle_costs"), - SettingEntry("difficulty.construction_cost"), - SettingEntry("difficulty.disasters"), -}; -/** Economy sub-page */ -static SettingsPage _settings_economy_page = {_settings_economy, lengthof(_settings_economy)}; + SettingsPage *genworld = main->Add(new SettingsPage(STR_CONFIG_SETTING_GENWORLD)); + { + genworld->Add(new SettingEntry("game_creation.landscape")); + genworld->Add(new SettingEntry("game_creation.land_generator")); + genworld->Add(new SettingEntry("difficulty.terrain_type")); + genworld->Add(new SettingEntry("game_creation.tgen_smoothness")); + genworld->Add(new SettingEntry("game_creation.variety")); + genworld->Add(new SettingEntry("game_creation.snow_line_height")); + genworld->Add(new SettingEntry("game_creation.amount_of_rivers")); + genworld->Add(new SettingEntry("game_creation.tree_placer")); + genworld->Add(new SettingEntry("vehicle.road_side")); + genworld->Add(new SettingEntry("economy.larger_towns")); + genworld->Add(new SettingEntry("economy.initial_city_size")); + genworld->Add(new SettingEntry("economy.town_layout")); + genworld->Add(new SettingEntry("difficulty.industry_density")); + genworld->Add(new SettingEntry("gui.pause_on_newgame")); + } -static SettingEntry _settings_linkgraph[] = { - SettingEntry("linkgraph.recalc_time"), - SettingEntry("linkgraph.recalc_interval"), - SettingEntry("linkgraph.distribution_pax"), - SettingEntry("linkgraph.distribution_mail"), - SettingEntry("linkgraph.distribution_armoured"), - SettingEntry("linkgraph.distribution_default"), - SettingEntry("linkgraph.accuracy"), - SettingEntry("linkgraph.demand_distance"), - SettingEntry("linkgraph.demand_size"), - SettingEntry("linkgraph.short_path_saturation"), -}; -/** Linkgraph sub-page */ -static SettingsPage _settings_linkgraph_page = {_settings_linkgraph, lengthof(_settings_linkgraph)}; + SettingsPage *environment = main->Add(new SettingsPage(STR_CONFIG_SETTING_ENVIRONMENT)); + { + SettingsPage *authorities = environment->Add(new SettingsPage(STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES)); + { + authorities->Add(new SettingEntry("difficulty.town_council_tolerance")); + authorities->Add(new SettingEntry("economy.bribe")); + authorities->Add(new SettingEntry("economy.exclusive_rights")); + authorities->Add(new SettingEntry("economy.fund_roads")); + authorities->Add(new SettingEntry("economy.fund_buildings")); + authorities->Add(new SettingEntry("economy.station_noise_level")); + } -static SettingEntry _settings_ai_npc[] = { - SettingEntry("script.settings_profile"), - SettingEntry("script.script_max_opcode_till_suspend"), - SettingEntry("difficulty.competitor_speed"), - SettingEntry("ai.ai_in_multiplayer"), - SettingEntry("ai.ai_disable_veh_train"), - SettingEntry("ai.ai_disable_veh_roadveh"), - SettingEntry("ai.ai_disable_veh_aircraft"), - SettingEntry("ai.ai_disable_veh_ship"), -}; -/** Computer players sub-page */ -static SettingsPage _settings_ai_npc_page = {_settings_ai_npc, lengthof(_settings_ai_npc)}; + SettingsPage *towns = environment->Add(new SettingsPage(STR_CONFIG_SETTING_ENVIRONMENT_TOWNS)); + { + towns->Add(new SettingEntry("economy.town_growth_rate")); + towns->Add(new SettingEntry("economy.allow_town_roads")); + towns->Add(new SettingEntry("economy.allow_town_level_crossings")); + towns->Add(new SettingEntry("economy.found_town")); + } -static SettingEntry _settings_ai[] = { - SettingEntry(&_settings_ai_npc_page, STR_CONFIG_SETTING_AI_NPC), - SettingEntry("economy.give_money"), - SettingEntry("economy.allow_shares"), -}; -/** AI sub-page */ -static SettingsPage _settings_ai_page = {_settings_ai, lengthof(_settings_ai)}; + SettingsPage *industries = environment->Add(new SettingsPage(STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES)); + { + industries->Add(new SettingEntry("construction.raw_industry_construction")); + industries->Add(new SettingEntry("construction.industry_platform")); + industries->Add(new SettingEntry("economy.multiple_industry_per_town")); + industries->Add(new SettingEntry("game_creation.oil_refinery_limit")); + industries->Add(new SettingEntry("economy.smooth_economy")); + } -static SettingEntry _settings_vehicles_routing[] = { - SettingEntry("pf.pathfinder_for_trains"), - SettingEntry("pf.forbid_90_deg"), - SettingEntry("pf.pathfinder_for_roadvehs"), - SettingEntry("pf.roadveh_queue"), - SettingEntry("pf.pathfinder_for_ships"), -}; -/** Autorenew sub-page */ -static SettingsPage _settings_vehicles_routing_page = {_settings_vehicles_routing, lengthof(_settings_vehicles_routing)}; + SettingsPage *cdist = environment->Add(new SettingsPage(STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST)); + { + cdist->Add(new SettingEntry("linkgraph.recalc_time")); + cdist->Add(new SettingEntry("linkgraph.recalc_interval")); + cdist->Add(new SettingEntry("linkgraph.distribution_pax")); + cdist->Add(new SettingEntry("linkgraph.distribution_mail")); + cdist->Add(new SettingEntry("linkgraph.distribution_armoured")); + cdist->Add(new SettingEntry("linkgraph.distribution_default")); + cdist->Add(new SettingEntry("linkgraph.accuracy")); + cdist->Add(new SettingEntry("linkgraph.demand_distance")); + cdist->Add(new SettingEntry("linkgraph.demand_size")); + cdist->Add(new SettingEntry("linkgraph.short_path_saturation")); + } -static SettingEntry _settings_vehicles_autorenew[] = { - SettingEntry("company.engine_renew"), - SettingEntry("company.engine_renew_months"), - SettingEntry("company.engine_renew_money"), -}; -/** Autorenew sub-page */ -static SettingsPage _settings_vehicles_autorenew_page = {_settings_vehicles_autorenew, lengthof(_settings_vehicles_autorenew)}; + environment->Add(new SettingEntry("station.modified_catchment")); + environment->Add(new SettingEntry("construction.extra_tree_placement")); + } -static SettingEntry _settings_vehicles_servicing[] = { - SettingEntry("vehicle.servint_ispercent"), - SettingEntry("vehicle.servint_trains"), - SettingEntry("vehicle.servint_roadveh"), - SettingEntry("vehicle.servint_ships"), - SettingEntry("vehicle.servint_aircraft"), - SettingEntry("difficulty.vehicle_breakdowns"), - SettingEntry("order.no_servicing_if_no_breakdowns"), - SettingEntry("order.serviceathelipad"), -}; -/** Servicing sub-page */ -static SettingsPage _settings_vehicles_servicing_page = {_settings_vehicles_servicing, lengthof(_settings_vehicles_servicing)}; + SettingsPage *ai = main->Add(new SettingsPage(STR_CONFIG_SETTING_AI)); + { + SettingsPage *npc = ai->Add(new SettingsPage(STR_CONFIG_SETTING_AI_NPC)); + { + npc->Add(new SettingEntry("script.settings_profile")); + npc->Add(new SettingEntry("script.script_max_opcode_till_suspend")); + npc->Add(new SettingEntry("difficulty.competitor_speed")); + npc->Add(new SettingEntry("ai.ai_in_multiplayer")); + npc->Add(new SettingEntry("ai.ai_disable_veh_train")); + npc->Add(new SettingEntry("ai.ai_disable_veh_roadveh")); + npc->Add(new SettingEntry("ai.ai_disable_veh_aircraft")); + npc->Add(new SettingEntry("ai.ai_disable_veh_ship")); + } -static SettingEntry _settings_vehicles_trains[] = { - SettingEntry("difficulty.line_reverse_mode"), - SettingEntry("pf.reverse_at_signals"), - SettingEntry("vehicle.train_acceleration_model"), - SettingEntry("vehicle.train_slope_steepness"), - SettingEntry("vehicle.max_train_length"), - SettingEntry("vehicle.wagon_speed_limits"), - SettingEntry("vehicle.disable_elrails"), - SettingEntry("vehicle.freight_trains"), - SettingEntry("gui.stop_location"), -}; -/** Trains sub-page */ -static SettingsPage _settings_vehicles_trains_page = {_settings_vehicles_trains, lengthof(_settings_vehicles_trains)}; + ai->Add(new SettingEntry("economy.give_money")); + ai->Add(new SettingEntry("economy.allow_shares")); + } -static SettingEntry _settings_vehicles[] = { - SettingEntry(&_settings_vehicles_routing_page, STR_CONFIG_SETTING_VEHICLES_ROUTING), - SettingEntry(&_settings_vehicles_autorenew_page, STR_CONFIG_SETTING_VEHICLES_AUTORENEW), - SettingEntry(&_settings_vehicles_servicing_page, STR_CONFIG_SETTING_VEHICLES_SERVICING), - SettingEntry(&_settings_vehicles_trains_page, STR_CONFIG_SETTING_VEHICLES_TRAINS), - SettingEntry("gui.new_nonstop"), - SettingEntry("gui.order_review_system"), - SettingEntry("gui.vehicle_income_warn"), - SettingEntry("gui.lost_vehicle_warn"), - SettingEntry("vehicle.never_expire_vehicles"), - SettingEntry("vehicle.max_trains"), - SettingEntry("vehicle.max_roadveh"), - SettingEntry("vehicle.max_aircraft"), - SettingEntry("vehicle.max_ships"), - SettingEntry("vehicle.plane_speed"), - SettingEntry("vehicle.plane_crashes"), - SettingEntry("vehicle.dynamic_engines"), - SettingEntry("vehicle.roadveh_acceleration_model"), - SettingEntry("vehicle.roadveh_slope_steepness"), - SettingEntry("vehicle.smoke_amount"), -}; -/** Vehicles sub-page */ -static SettingsPage _settings_vehicles_page = {_settings_vehicles, lengthof(_settings_vehicles)}; - -static SettingEntry _settings_main[] = { - SettingEntry(&_settings_ui_page, STR_CONFIG_SETTING_GUI), - SettingEntry(&_settings_construction_page, STR_CONFIG_SETTING_CONSTRUCTION), - SettingEntry(&_settings_vehicles_page, STR_CONFIG_SETTING_VEHICLES), - SettingEntry(&_settings_stations_page, STR_CONFIG_SETTING_STATIONS), - SettingEntry(&_settings_economy_page, STR_CONFIG_SETTING_ECONOMY), - SettingEntry(&_settings_linkgraph_page, STR_CONFIG_SETTING_LINKGRAPH), - SettingEntry(&_settings_ai_page, STR_CONFIG_SETTING_AI), -}; - -/** Main page, holding all advanced settings */ -static SettingsPage _settings_main_page = {_settings_main, lengthof(_settings_main)}; + main->Init(); + } + return *main; +} static const StringID _game_settings_restrict_dropdown[] = { STR_CONFIG_SETTING_RESTRICT_BASIC, // RM_BASIC @@ -1757,8 +1789,6 @@ struct GameSettingsWindow : Window { GameSettingsWindow(WindowDesc *desc) : Window(desc), filter_editbox(50) { - static bool first_time = true; - this->warn_missing = WHR_NONE; this->warn_lines = 0; this->filter.mode = (RestrictionMode)_settings_client.gui.settings_restriction_mode; @@ -1767,13 +1797,8 @@ struct GameSettingsWindow : Window { this->filter.type_hides = false; this->settings_ptr = &GetGameSettings(); - /* Build up the dynamic settings-array only once per OpenTTD session */ - if (first_time) { - _settings_main_page.Init(); - first_time = false; - } else { - _settings_main_page.FoldAll(); // Close all sub-pages - } + _circle_size = maxdim(GetSpriteSize(SPR_CIRCLE_FOLDED), GetSpriteSize(SPR_CIRCLE_UNFOLDED)); + GetSettingsTree().FoldAll(); // Close all sub-pages this->valuewindow_entry = NULL; // No setting entry for which a entry window is opened this->clicked_entry = NULL; // No numeric setting buttons are depressed @@ -1797,7 +1822,7 @@ struct GameSettingsWindow : Window { { switch (widget) { case WID_GS_OPTIONSPANEL: - resize->height = SETTING_HEIGHT = max(11, FONT_HEIGHT_NORMAL + 1); + resize->height = SETTING_HEIGHT = max(max(_circle_size.height, SETTING_BUTTON_HEIGHT), FONT_HEIGHT_NORMAL) + 1; resize->width = 1; size->height = 5 * resize->height + SETTINGTREE_TOP_OFFSET + SETTINGTREE_BOTTOM_OFFSET; @@ -1814,7 +1839,7 @@ struct GameSettingsWindow : Window { size->width = max(size->width, GetStringBoundingBox(STR_CONFIG_SETTING_TYPE).width); } size->height = 2 * FONT_HEIGHT_NORMAL + WD_PAR_VSEP_NORMAL + - max(size->height, _settings_main_page.GetMaxHelpHeight(size->width)); + max(size->height, GetSettingsTree().GetMaxHelpHeight(size->width)); break; } @@ -1920,7 +1945,7 @@ struct GameSettingsWindow : Window { case WID_GS_OPTIONSPANEL: { int top_pos = r.top + SETTINGTREE_TOP_OFFSET + 1 + this->warn_lines * FONT_HEIGHT_NORMAL; uint last_row = this->vscroll->GetPosition() + this->vscroll->GetCapacity() - this->warn_lines; - int next_row = _settings_main_page.Draw(settings_ptr, r.left + SETTINGTREE_LEFT_OFFSET, r.right - SETTINGTREE_RIGHT_OFFSET, top_pos, + int next_row = GetSettingsTree().Draw(settings_ptr, r.left + SETTINGTREE_LEFT_OFFSET, r.right - SETTINGTREE_RIGHT_OFFSET, top_pos, this->vscroll->GetPosition(), last_row, this->last_clicked); if (next_row == 0) DrawString(r.left + SETTINGTREE_LEFT_OFFSET, r.right - SETTINGTREE_RIGHT_OFFSET, top_pos, STR_CONFIG_SETTINGS_NONE); break; @@ -1928,7 +1953,7 @@ struct GameSettingsWindow : Window { case WID_GS_HELP_TEXT: if (this->last_clicked != NULL) { - const SettingDesc *sd = this->last_clicked->d.entry.setting; + const SettingDesc *sd = this->last_clicked->setting; int y = r.top; switch (sd->GetType()) { @@ -1969,13 +1994,13 @@ struct GameSettingsWindow : Window { switch (widget) { case WID_GS_EXPAND_ALL: this->manually_changed_folding = true; - _settings_main_page.UnFoldAll(); + GetSettingsTree().UnFoldAll(); this->InvalidateData(); break; case WID_GS_COLLAPSE_ALL: this->manually_changed_folding = true; - _settings_main_page.FoldAll(); + GetSettingsTree().FoldAll(); this->InvalidateData(); break; @@ -2003,16 +2028,17 @@ struct GameSettingsWindow : Window { btn -= this->warn_lines; uint cur_row = 0; - SettingEntry *pe = _settings_main_page.FindEntry(btn, &cur_row); + BaseSettingEntry *clicked_entry = GetSettingsTree().FindEntry(btn, &cur_row); - if (pe == NULL) return; // Clicked below the last setting of the page + if (clicked_entry == NULL) return; // Clicked below the last setting of the page - int x = (_current_text_dir == TD_RTL ? this->width - 1 - pt.x : pt.x) - SETTINGTREE_LEFT_OFFSET - (pe->level + 1) * LEVEL_WIDTH; // Shift x coordinate + int x = (_current_text_dir == TD_RTL ? this->width - 1 - pt.x : pt.x) - SETTINGTREE_LEFT_OFFSET - (clicked_entry->level + 1) * LEVEL_WIDTH; // Shift x coordinate if (x < 0) return; // Clicked left of the entry - if ((pe->flags & SEF_KIND_MASK) == SEF_SUBTREE_KIND) { + SettingsPage *clicked_page = dynamic_cast(clicked_entry); + if (clicked_page != NULL) { this->SetDisplayedHelpText(NULL); - pe->d.sub.folded = !pe->d.sub.folded; // Flip 'folded'-ness of the sub-page + clicked_page->folded = !clicked_page->folded; // Flip 'folded'-ness of the sub-page this->manually_changed_folding = true; @@ -2020,8 +2046,9 @@ struct GameSettingsWindow : Window { return; } - assert((pe->flags & SEF_KIND_MASK) == SEF_SETTING_KIND); - const SettingDesc *sd = pe->d.entry.setting; + SettingEntry *pe = dynamic_cast(clicked_entry); + assert(pe != NULL); + const SettingDesc *sd = pe->setting; /* return if action is only active in network, or only settable by server */ if (!sd->IsEditable()) { @@ -2125,9 +2152,9 @@ struct GameSettingsWindow : Window { if (value != oldvalue) { if ((sd->desc.flags & SGF_PER_COMPANY) != 0) { - SetCompanySetting(pe->d.entry.index, value); + SetCompanySetting(pe->index, value); } else { - SetSettingValue(pe->d.entry.index, value); + SetSettingValue(pe->index, value); } this->SetDirty(); } @@ -2160,8 +2187,7 @@ struct GameSettingsWindow : Window { if (str == NULL) return; assert(this->valuewindow_entry != NULL); - assert((this->valuewindow_entry->flags & SEF_KIND_MASK) == SEF_SETTING_KIND); - const SettingDesc *sd = this->valuewindow_entry->d.entry.setting; + const SettingDesc *sd = this->valuewindow_entry->setting; int32 value; if (!StrEmpty(str)) { @@ -2174,9 +2200,9 @@ struct GameSettingsWindow : Window { } if ((sd->desc.flags & SGF_PER_COMPANY) != 0) { - SetCompanySetting(this->valuewindow_entry->d.entry.index, value); + SetCompanySetting(this->valuewindow_entry->index, value); } else { - SetSettingValue(this->valuewindow_entry->d.entry.index, value); + SetSettingValue(this->valuewindow_entry->index, value); } this->SetDirty(); } @@ -2191,8 +2217,8 @@ struct GameSettingsWindow : Window { if (!this->manually_changed_folding) { /* Expand all when selecting 'changes'. Update the filter state first, in case it becomes less restrictive in some cases. */ - _settings_main_page.UpdateFilterState(this->filter, false); - _settings_main_page.UnFoldAll(); + GetSettingsTree().UpdateFilterState(this->filter, false); + GetSettingsTree().UnFoldAll(); } } else { /* Non-'changes' filter. Save as default. */ @@ -2210,13 +2236,13 @@ struct GameSettingsWindow : Window { if (widget < 0) { /* Deal with drop down boxes on the panel. */ assert(this->valuedropdown_entry != NULL); - const SettingDesc *sd = this->valuedropdown_entry->d.entry.setting; + const SettingDesc *sd = this->valuedropdown_entry->setting; assert(sd->desc.flags & SGF_MULTISTRING); if ((sd->desc.flags & SGF_PER_COMPANY) != 0) { - SetCompanySetting(this->valuedropdown_entry->d.entry.index, index); + SetCompanySetting(this->valuedropdown_entry->index, index); } else { - SetSettingValue(this->valuedropdown_entry->d.entry.index, index); + SetSettingValue(this->valuedropdown_entry->index, index); } this->SetDirty(); @@ -2252,7 +2278,7 @@ struct GameSettingsWindow : Window { RestrictionMode min_level = (this->filter.mode <= RM_ALL) ? this->filter.mode : RM_BASIC; this->filter.min_cat = min_level; this->filter.type_hides = false; - _settings_main_page.UpdateFilterState(this->filter, false); + GetSettingsTree().UpdateFilterState(this->filter, false); if (this->filter.string.IsEmpty()) { this->warn_missing = WHR_NONE; @@ -2261,15 +2287,15 @@ struct GameSettingsWindow : Window { } else { this->warn_missing = this->filter.type_hides ? WHR_TYPE : WHR_NONE; } - this->vscroll->SetCount(_settings_main_page.Length() + this->warn_lines); + this->vscroll->SetCount(GetSettingsTree().Length() + this->warn_lines); - if (this->last_clicked != NULL && !_settings_main_page.IsVisible(this->last_clicked)) { + if (this->last_clicked != NULL && !GetSettingsTree().IsVisible(this->last_clicked)) { this->SetDisplayedHelpText(NULL); } bool all_folded = true; bool all_unfolded = true; - _settings_main_page.GetFoldingState(all_folded, all_unfolded); + GetSettingsTree().GetFoldingState(all_folded, all_unfolded); this->SetWidgetDisabledState(WID_GS_EXPAND_ALL, all_unfolded); this->SetWidgetDisabledState(WID_GS_COLLAPSE_ALL, all_folded); } @@ -2281,7 +2307,7 @@ struct GameSettingsWindow : Window { if (!this->filter.string.IsEmpty() && !this->manually_changed_folding) { /* User never expanded/collapsed single pages and entered a filter term. * Expand everything, to save weird expand clicks, */ - _settings_main_page.UnFoldAll(); + GetSettingsTree().UnFoldAll(); } this->InvalidateData(); } @@ -2298,7 +2324,7 @@ GameSettings *GameSettingsWindow::settings_ptr = NULL; static const NWidgetPart _nested_settings_selection_widgets[] = { NWidget(NWID_HORIZONTAL), NWidget(WWT_CLOSEBOX, COLOUR_MAUVE), - NWidget(WWT_CAPTION, COLOUR_MAUVE), SetDataTip(STR_CONFIG_SETTING_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS), + NWidget(WWT_CAPTION, COLOUR_MAUVE), SetDataTip(STR_CONFIG_SETTING_TREE_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS), NWidget(WWT_DEFSIZEBOX, COLOUR_MAUVE), EndContainer(), NWidget(WWT_PANEL, COLOUR_MAUVE), @@ -2321,23 +2347,18 @@ static const NWidgetPart _nested_settings_selection_widgets[] = { EndContainer(), NWidget(NWID_HORIZONTAL), NWidget(WWT_PANEL, COLOUR_MAUVE, WID_GS_OPTIONSPANEL), SetMinimalSize(400, 174), SetScrollbar(WID_GS_SCROLLBAR), EndContainer(), - NWidget(NWID_VERTICAL), - NWidget(NWID_VSCROLLBAR, COLOUR_MAUVE, WID_GS_SCROLLBAR), - EndContainer(), + NWidget(NWID_VSCROLLBAR, COLOUR_MAUVE, WID_GS_SCROLLBAR), EndContainer(), NWidget(WWT_PANEL, COLOUR_MAUVE), SetMinimalSize(400, 40), NWidget(WWT_EMPTY, INVALID_COLOUR, WID_GS_HELP_TEXT), SetMinimalSize(300, 25), SetFill(1, 1), SetResize(1, 0), SetPadding(WD_FRAMETEXT_TOP, WD_FRAMETEXT_RIGHT, WD_FRAMETEXT_BOTTOM, WD_FRAMETEXT_LEFT), - NWidget(NWID_HORIZONTAL), - NWidget(WWT_PANEL, COLOUR_MAUVE), - NWidget(NWID_HORIZONTAL), - NWidget(WWT_PUSHTXTBTN, COLOUR_MAUVE, WID_GS_EXPAND_ALL), SetDataTip(STR_CONFIG_SETTING_EXPAND_ALL, STR_NULL), - NWidget(WWT_PUSHTXTBTN, COLOUR_MAUVE, WID_GS_COLLAPSE_ALL), SetDataTip(STR_CONFIG_SETTING_COLLAPSE_ALL, STR_NULL), - NWidget(NWID_SPACER, INVALID_COLOUR), SetFill(1, 1), SetResize(1, 0), - EndContainer(), - EndContainer(), - NWidget(WWT_RESIZEBOX, COLOUR_MAUVE), + EndContainer(), + NWidget(NWID_HORIZONTAL), + NWidget(WWT_PUSHTXTBTN, COLOUR_MAUVE, WID_GS_EXPAND_ALL), SetDataTip(STR_CONFIG_SETTING_EXPAND_ALL, STR_NULL), + NWidget(WWT_PUSHTXTBTN, COLOUR_MAUVE, WID_GS_COLLAPSE_ALL), SetDataTip(STR_CONFIG_SETTING_COLLAPSE_ALL, STR_NULL), + NWidget(WWT_PANEL, COLOUR_MAUVE), SetFill(1, 0), SetResize(1, 0), EndContainer(), + NWidget(WWT_RESIZEBOX, COLOUR_MAUVE), EndContainer(), }; @@ -2368,19 +2389,20 @@ void ShowGameSettings() void DrawArrowButtons(int x, int y, Colours button_colour, byte state, bool clickable_left, bool clickable_right) { int colour = _colour_gradient[button_colour][2]; + Dimension dim = NWidgetScrollbar::GetHorizontalDimension(); - DrawFrameRect(x, y, x + SETTING_BUTTON_WIDTH / 2 - 1, y + SETTING_BUTTON_HEIGHT - 1, button_colour, (state == 1) ? FR_LOWERED : FR_NONE); - DrawFrameRect(x + SETTING_BUTTON_WIDTH / 2, y, x + SETTING_BUTTON_WIDTH - 1, y + SETTING_BUTTON_HEIGHT - 1, button_colour, (state == 2) ? FR_LOWERED : FR_NONE); + DrawFrameRect(x, y, x + dim.width - 1, y + dim.height - 1, button_colour, (state == 1) ? FR_LOWERED : FR_NONE); + DrawFrameRect(x + dim.width, y, x + dim.width + dim.width - 1, y + dim.height - 1, button_colour, (state == 2) ? FR_LOWERED : FR_NONE); DrawSprite(SPR_ARROW_LEFT, PAL_NONE, x + WD_IMGBTN_LEFT, y + WD_IMGBTN_TOP); - DrawSprite(SPR_ARROW_RIGHT, PAL_NONE, x + WD_IMGBTN_LEFT + SETTING_BUTTON_WIDTH / 2, y + WD_IMGBTN_TOP); + DrawSprite(SPR_ARROW_RIGHT, PAL_NONE, x + WD_IMGBTN_LEFT + dim.width, y + WD_IMGBTN_TOP); /* Grey out the buttons that aren't clickable */ bool rtl = _current_text_dir == TD_RTL; if (rtl ? !clickable_right : !clickable_left) { - GfxFillRect(x + 1, y, x + SETTING_BUTTON_WIDTH / 2 - 1, y + SETTING_BUTTON_HEIGHT - 2, colour, FILLRECT_CHECKER); + GfxFillRect(x + 1, y, x + dim.width - 1, y + dim.height - 2, colour, FILLRECT_CHECKER); } if (rtl ? !clickable_left : !clickable_right) { - GfxFillRect(x + SETTING_BUTTON_WIDTH / 2 + 1, y, x + SETTING_BUTTON_WIDTH - 1, y + SETTING_BUTTON_HEIGHT - 2, colour, FILLRECT_CHECKER); + GfxFillRect(x + dim.width + 1, y, x + dim.width + dim.width - 1, y + dim.height - 2, colour, FILLRECT_CHECKER); } } @@ -2394,12 +2416,10 @@ void DrawArrowButtons(int x, int y, Colours button_colour, byte state, bool clic */ void DrawDropDownButton(int x, int y, Colours button_colour, bool state, bool clickable) { - static const char *DOWNARROW = "\xEE\x8A\xAA"; - int colour = _colour_gradient[button_colour][2]; DrawFrameRect(x, y, x + SETTING_BUTTON_WIDTH - 1, y + SETTING_BUTTON_HEIGHT - 1, button_colour, state ? FR_LOWERED : FR_NONE); - DrawString(x + (state ? 1 : 0), x + SETTING_BUTTON_WIDTH - (state ? 0 : 1), y + (state ? 2 : 1), DOWNARROW, TC_BLACK, SA_HOR_CENTER); + DrawSprite(SPR_ARROW_DOWN, PAL_NONE, x + (SETTING_BUTTON_WIDTH - NWidgetScrollbar::GetVerticalDimension().width) / 2 + state, y + 2 + state); if (!clickable) { GfxFillRect(x + 1, y, x + SETTING_BUTTON_WIDTH - 1, y + SETTING_BUTTON_HEIGHT - 2, colour, FILLRECT_CHECKER); diff --git a/src/settings_gui.h b/src/settings_gui.h index 2ca418b11f..05955aa557 100644 --- a/src/settings_gui.h +++ b/src/settings_gui.h @@ -14,8 +14,10 @@ #include "gfx_type.h" -static const int SETTING_BUTTON_WIDTH = 20; ///< Width of setting buttons -static const int SETTING_BUTTON_HEIGHT = 10; ///< Height of setting buttons +/** Width of setting buttons */ +#define SETTING_BUTTON_WIDTH ((int)NWidgetScrollbar::GetHorizontalDimension().width * 2) +/** Height of setting buttons */ +#define SETTING_BUTTON_HEIGHT ((int)NWidgetScrollbar::GetHorizontalDimension().height) void DrawArrowButtons(int x, int y, Colours button_colour, byte state, bool clickable_left, bool clickable_right); void DrawDropDownButton(int x, int y, Colours button_colour, bool state, bool clickable); diff --git a/src/settings_type.h b/src/settings_type.h index 7731e40c9c..41366a7719 100644 --- a/src/settings_type.h +++ b/src/settings_type.h @@ -83,7 +83,7 @@ struct GUISettings { uint8 stop_location; ///< what is the default stop location of trains? uint8 auto_scrolling; ///< scroll when moving mouse to the edge (see #ViewportAutoscrolling) byte errmsg_duration; ///< duration of error message - byte hover_delay; ///< time required to activate a hover event, in seconds + uint16 hover_delay_ms; ///< time required to activate a hover event, in milliseconds bool link_terraform_toolbar; ///< display terraform toolbar when displaying rail, road, water and airport toolbars uint8 smallmap_land_colour; ///< colour used for land and heightmap at the smallmap bool reverse_scroll; ///< right-Click-Scrolling scrolls in the opposite direction @@ -144,7 +144,7 @@ struct GUISettings { uint8 station_gui_sort_by; ///< sort cargo entries in the station gui by station name or amount uint8 station_gui_sort_order; ///< the sort order of entries in the station gui - ascending or descending #ifdef ENABLE_NETWORK - uint16 network_chat_box_width; ///< width of the chat box in pixels + uint16 network_chat_box_width_pct; ///< width of the chat box in percent uint8 network_chat_box_height; ///< height of the chat box in lines uint16 network_chat_timeout; ///< timeout of chat messages in seconds #endif @@ -278,7 +278,7 @@ struct GameCreationSettings { uint8 map_y; ///< Y size of map byte land_generator; ///< the landscape generator byte oil_refinery_limit; ///< distance oil refineries allowed from map edge - byte snow_line_height; ///< a number 0-15 that configured snow line height + byte snow_line_height; ///< the configured snow line height byte tgen_smoothness; ///< how rough is the terrain from 0-3 byte tree_placer; ///< the tree placer algorithm byte heightmap_rotation; ///< rotation director for the heightmap @@ -296,9 +296,11 @@ struct GameCreationSettings { /** Settings related to construction in-game */ struct ConstructionSettings { + uint8 max_heightlevel; ///< maximum allowed heightlevel bool build_on_slopes; ///< allow building on slopes bool autoslope; ///< allow terraforming under things uint16 max_bridge_length; ///< maximum length of bridges + byte max_bridge_height; ///< maximum height of bridges uint16 max_tunnel_length; ///< maximum length of tunnels byte train_signal_side; ///< show signals on left / driving / right side bool extra_dynamite; ///< extra dynamite diff --git a/src/settingsgen/settingsgen.cpp b/src/settingsgen/settingsgen.cpp index d975822477..dd92e2627b 100644 --- a/src/settingsgen/settingsgen.cpp +++ b/src/settingsgen/settingsgen.cpp @@ -30,6 +30,8 @@ #define stderr stdout #endif /* __MORPHOS__ */ +#include "../safeguards.h" + /** * Report a fatal error. * @param s Format string. @@ -40,7 +42,7 @@ void NORETURN CDECL error(const char *s, ...) char buf[1024]; va_list va; va_start(va, s); - vsnprintf(buf, lengthof(buf), s, va); + vseprintf(buf, lastof(buf), s, va); va_end(va); fprintf(stderr, "FATAL: %s\n", buf); exit(1); diff --git a/src/ship.h b/src/ship.h index 29f4439d49..18f04c8faf 100644 --- a/src/ship.h +++ b/src/ship.h @@ -37,7 +37,7 @@ struct Ship FINAL : public SpecializedVehicle { SpriteID GetImage(Direction direction, EngineImageType image_type) const; int GetDisplaySpeed() const { return this->cur_speed / 2; } int GetDisplayMaxSpeed() const { return this->vcache.cached_max_speed / 2; } - int GetCurrentMaxSpeed() const { return min(this->vcache.cached_max_speed, this->current_order.max_speed * 2); } + int GetCurrentMaxSpeed() const { return min(this->vcache.cached_max_speed, this->current_order.GetMaxSpeed() * 2); } Money GetRunningCost() const; bool IsInDepot() const { return this->state == TRACK_BIT_DEPOT; } bool Tick(); diff --git a/src/ship_cmd.cpp b/src/ship_cmd.cpp index f1d09d40c7..a24fb35104 100644 --- a/src/ship_cmd.cpp +++ b/src/ship_cmd.cpp @@ -36,6 +36,8 @@ #include "table/strings.h" +#include "safeguards.h" + /** * Determine the effective #WaterClass for a ship travelling on a tile. * @param tile Tile of interest @@ -88,7 +90,9 @@ void DrawShipEngine(int left, int right, int preferred_x, int y, EngineID engine { SpriteID sprite = GetShipIcon(engine, image_type); const Sprite *real_sprite = GetSprite(sprite, ST_NORMAL); - preferred_x = Clamp(preferred_x, left - UnScaleByZoom(real_sprite->x_offs, ZOOM_LVL_GUI), right - UnScaleByZoom(real_sprite->width, ZOOM_LVL_GUI) - UnScaleByZoom(real_sprite->x_offs, ZOOM_LVL_GUI)); + preferred_x = Clamp(preferred_x, + left - UnScaleGUI(real_sprite->x_offs), + right - UnScaleGUI(real_sprite->width) - UnScaleGUI(real_sprite->x_offs)); DrawSprite(sprite, pal, preferred_x, y); } @@ -105,10 +109,10 @@ void GetShipSpriteSize(EngineID engine, uint &width, uint &height, int &xoffs, i { const Sprite *spr = GetSprite(GetShipIcon(engine, image_type), ST_NORMAL); - width = UnScaleByZoom(spr->width, ZOOM_LVL_GUI); - height = UnScaleByZoom(spr->height, ZOOM_LVL_GUI); - xoffs = UnScaleByZoom(spr->x_offs, ZOOM_LVL_GUI); - yoffs = UnScaleByZoom(spr->y_offs, ZOOM_LVL_GUI); + width = UnScaleGUI(spr->width); + height = UnScaleGUI(spr->height); + xoffs = UnScaleGUI(spr->x_offs); + yoffs = UnScaleGUI(spr->y_offs); } SpriteID Ship::GetImage(Direction direction, EngineImageType image_type) const @@ -376,7 +380,7 @@ static bool ShipAccelerate(Vehicle *v) byte t; spd = min(v->cur_speed + 1, v->vcache.cached_max_speed); - spd = min(spd, v->current_order.max_speed * 2); + spd = min(spd, v->current_order.GetMaxSpeed() * 2); /* updates statusbar only if speed have changed to save CPU time */ if (spd != v->cur_speed) { @@ -623,8 +627,8 @@ static void ShipController(Ship *v) if (!IsTileType(gp.new_tile, MP_TUNNELBRIDGE) || !HasBit(VehicleEnterTile(v, gp.new_tile, gp.x, gp.y), VETS_ENTERED_WORMHOLE)) { v->x_pos = gp.x; v->y_pos = gp.y; - VehicleUpdatePosition(v); - if ((v->vehstatus & VS_HIDDEN) == 0) VehicleUpdateViewport(v, true); + v->UpdatePosition(); + if ((v->vehstatus & VS_HIDDEN) == 0) v->Vehicle::UpdateViewport(true); return; } } @@ -636,7 +640,7 @@ static void ShipController(Ship *v) v->z_pos = GetSlopePixelZ(gp.x, gp.y); getout: - VehicleUpdatePosition(v); + v->UpdatePosition(); v->UpdateViewport(true, true); return; @@ -720,7 +724,7 @@ CommandCost CmdBuildShip(TileIndex tile, DoCommandFlag flags, const Engine *e, u v->InvalidateNewGRFCacheOfChain(); - VehicleUpdatePosition(v); + v->UpdatePosition(); } return CommandCost(); diff --git a/src/ship_gui.cpp b/src/ship_gui.cpp index 10cf78922b..7ad2e8473a 100644 --- a/src/ship_gui.cpp +++ b/src/ship_gui.cpp @@ -21,6 +21,8 @@ #include "table/strings.h" +#include "safeguards.h" + /** * Draws an image of a ship * @param v Front vehicle @@ -36,16 +38,17 @@ void DrawShipImage(const Vehicle *v, int left, int right, int y, VehicleID selec SpriteID sprite = v->GetImage(rtl ? DIR_E : DIR_W, image_type); const Sprite *real_sprite = GetSprite(sprite, ST_NORMAL); - int width = UnScaleByZoom(real_sprite->width, ZOOM_LVL_GUI); - int x_offs = UnScaleByZoom(real_sprite->x_offs, ZOOM_LVL_GUI); + int width = UnScaleGUI(real_sprite->width); + int x_offs = UnScaleGUI(real_sprite->x_offs); int x = rtl ? right - width - x_offs : left - x_offs; - DrawSprite(sprite, GetVehiclePalette(v), x, y + 10); + y += ScaleGUITrad(10); + DrawSprite(sprite, GetVehiclePalette(v), x, y); if (v->index == selection) { x += x_offs; - y += UnScaleByZoom(real_sprite->y_offs, ZOOM_LVL_GUI) + 10; - DrawFrameRect(x - 1, y - 1, x + width + 1, y + UnScaleByZoom(real_sprite->height, ZOOM_LVL_GUI) + 1, COLOUR_WHITE, FR_BORDERONLY); + y += UnScaleGUI(real_sprite->y_offs); + DrawFrameRect(x - 1, y - 1, x + width + 1, y + UnScaleGUI(real_sprite->height) + 1, COLOUR_WHITE, FR_BORDERONLY); } } diff --git a/src/signal.cpp b/src/signal.cpp index e8a6690fcb..8e870b53db 100644 --- a/src/signal.cpp +++ b/src/signal.cpp @@ -18,6 +18,8 @@ #include "train.h" #include "company_base.h" +#include "safeguards.h" + /** these are the maximums used for updating signal blocks */ static const uint SIG_TBU_SIZE = 64; ///< number of signals entering to block diff --git a/src/signs.cpp b/src/signs.cpp index 53465fc8a1..2a23a43c9c 100644 --- a/src/signs.cpp +++ b/src/signs.cpp @@ -18,6 +18,8 @@ #include "table/strings.h" +#include "safeguards.h" + /** Initialize the sign-pool */ SignPool _sign_pool("Sign"); INSTANTIATE_POOL_METHODS(Sign) diff --git a/src/signs_cmd.cpp b/src/signs_cmd.cpp index 3109d1ef03..4badd36050 100644 --- a/src/signs_cmd.cpp +++ b/src/signs_cmd.cpp @@ -21,6 +21,8 @@ #include "table/strings.h" +#include "safeguards.h" + /** The last built sign. */ SignID _new_sign_id; @@ -53,7 +55,7 @@ CommandCost CmdPlaceSign(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 si->y = y; si->z = GetSlopePixelZ(x, y); if (!StrEmpty(text)) { - si->name = strdup(text); + si->name = stredup(text); } si->UpdateVirtCoord(); InvalidateWindowData(WC_SIGN_LIST, 0, 0); @@ -88,7 +90,7 @@ CommandCost CmdRenameSign(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 /* Delete the old name */ free(si->name); /* Assign the new one */ - si->name = strdup(text); + si->name = stredup(text); if (_game_mode != GM_EDITOR) si->owner = _current_company; si->UpdateVirtCoord(); diff --git a/src/signs_gui.cpp b/src/signs_gui.cpp index aeac02eb96..a34f1db077 100644 --- a/src/signs_gui.cpp +++ b/src/signs_gui.cpp @@ -33,6 +33,8 @@ #include "table/strings.h" #include "table/sprites.h" +#include "safeguards.h" + struct SignList { /** * A GUIList contains signs and uses a StringFilter for filtering. @@ -158,7 +160,6 @@ struct SignListWindow : Window, SignList { /* Initialize the text edit widget */ this->querystrings[WID_SIL_FILTER_TEXT] = &this->filter_editbox; - this->filter_editbox.ok_button = WID_SIL_FILTER_ENTER_BTN; this->filter_editbox.cancel_button = QueryString::ACTION_CLEAR; /* Initialize the filtering variables */ diff --git a/src/smallmap_gui.cpp b/src/smallmap_gui.cpp index b4137038fc..80d4ae2a89 100644 --- a/src/smallmap_gui.cpp +++ b/src/smallmap_gui.cpp @@ -28,6 +28,10 @@ #include "table/strings.h" +#include + +#include "safeguards.h" + static int _smallmap_industry_count; ///< Number of used industries static int _smallmap_company_count; ///< Number of entries in the owner legend. static int _smallmap_cargo_count; ///< Number of cargos in the link stats legend. @@ -48,7 +52,7 @@ static const uint8 PC_WATER = 0xCA; ///< Dark blue palette colour for #define MK(a, b) {a, b, INVALID_INDUSTRYTYPE, 0, INVALID_COMPANY, true, false, false} /** Macro for a height legend entry with configurable colour. */ -#define MC(height) {0, STR_TINY_BLACK_HEIGHT, INVALID_INDUSTRYTYPE, height, INVALID_COMPANY, true, false, false} +#define MC(col_break) {0, STR_TINY_BLACK_HEIGHT, INVALID_INDUSTRYTYPE, 0, INVALID_COMPANY, true, false, col_break} /** Macro for non-company owned property entry of LegendAndColour */ #define MO(a, b) {a, b, INVALID_INDUSTRYTYPE, 0, INVALID_COMPANY, true, false, false} @@ -67,18 +71,27 @@ static const uint8 PC_WATER = 0xCA; ///< Dark blue palette colour for /** Legend text giving the colours to look for on the minimap */ static LegendAndColour _legend_land_contours[] = { - /* The colours for the following values are set at BuildLandLegend() based on each colour scheme. */ - MC(0), - MC(4), - MC(8), - MC(12), - MC(14), - - MS(PC_BLACK, STR_SMALLMAP_LEGENDA_ROADS), + MK(PC_BLACK, STR_SMALLMAP_LEGENDA_ROADS), MK(PC_GREY, STR_SMALLMAP_LEGENDA_RAILROADS), MK(PC_LIGHT_BLUE, STR_SMALLMAP_LEGENDA_STATIONS_AIRPORTS_DOCKS), MK(PC_DARK_RED, STR_SMALLMAP_LEGENDA_BUILDINGS_INDUSTRIES), MK(PC_WHITE, STR_SMALLMAP_LEGENDA_VEHICLES), + + /* Placeholders for the colours and heights of the legend. + * The following values are set at BuildLandLegend() based + * on each colour scheme and the maximum map height. */ + MC(true), + MC(false), + MC(false), + MC(false), + MC(false), + MC(false), + MC(true), + MC(false), + MC(false), + MC(false), + MC(false), + MC(false), MKEND() }; @@ -164,7 +177,7 @@ void BuildIndustriesLegend() uint j = 0; /* Add each name */ - for (uint8 i = 0; i < NUM_INDUSTRYTYPES; i++) { + for (uint i = 0; i < NUM_INDUSTRYTYPES; i++) { IndustryType ind = _sorted_industry_types[i]; const IndustrySpec *indsp = GetIndustrySpec(ind); if (indsp->enabled) { @@ -246,80 +259,21 @@ static const LegendAndColour * const _legend_table[] = { #define MKCOLOUR_F00F MKCOLOUR_X00X(0xFF) #define MKCOLOUR_FFFF MKCOLOUR_XXXX(0xFF) -/** Height map colours for the green colour scheme, ordered by height. */ -static const uint32 _green_map_heights[] = { - MKCOLOUR_XXXX(0x5A), - MKCOLOUR_XYXY(0x5A, 0x5B), - MKCOLOUR_XXXX(0x5B), - MKCOLOUR_XYXY(0x5B, 0x5C), - MKCOLOUR_XXXX(0x5C), - MKCOLOUR_XYXY(0x5C, 0x5D), - MKCOLOUR_XXXX(0x5D), - MKCOLOUR_XYXY(0x5D, 0x5E), - MKCOLOUR_XXXX(0x5E), - MKCOLOUR_XYXY(0x5E, 0x5F), - MKCOLOUR_XXXX(0x5F), - MKCOLOUR_XYXY(0x5F, 0x1F), - MKCOLOUR_XXXX(0x1F), - MKCOLOUR_XYXY(0x1F, 0x27), - MKCOLOUR_XXXX(0x27), - MKCOLOUR_XXXX(0x27), -}; -assert_compile(lengthof(_green_map_heights) == MAX_TILE_HEIGHT + 1); - -/** Height map colours for the dark green colour scheme, ordered by height. */ -static const uint32 _dark_green_map_heights[] = { - MKCOLOUR_XXXX(0x60), - MKCOLOUR_XYXY(0x60, 0x61), - MKCOLOUR_XXXX(0x61), - MKCOLOUR_XYXY(0x61, 0x62), - MKCOLOUR_XXXX(0x62), - MKCOLOUR_XYXY(0x62, 0x63), - MKCOLOUR_XXXX(0x63), - MKCOLOUR_XYXY(0x63, 0x64), - MKCOLOUR_XXXX(0x64), - MKCOLOUR_XYXY(0x64, 0x65), - MKCOLOUR_XXXX(0x65), - MKCOLOUR_XYXY(0x65, 0x66), - MKCOLOUR_XXXX(0x66), - MKCOLOUR_XYXY(0x66, 0x67), - MKCOLOUR_XXXX(0x67), - MKCOLOUR_XXXX(0x67), -}; -assert_compile(lengthof(_dark_green_map_heights) == MAX_TILE_HEIGHT + 1); - -/** Height map colours for the violet colour scheme, ordered by height. */ -static const uint32 _violet_map_heights[] = { - MKCOLOUR_XXXX(0x80), - MKCOLOUR_XYXY(0x80, 0x81), - MKCOLOUR_XXXX(0x81), - MKCOLOUR_XYXY(0x81, 0x82), - MKCOLOUR_XXXX(0x82), - MKCOLOUR_XYXY(0x82, 0x83), - MKCOLOUR_XXXX(0x83), - MKCOLOUR_XYXY(0x83, 0x84), - MKCOLOUR_XXXX(0x84), - MKCOLOUR_XYXY(0x84, 0x85), - MKCOLOUR_XXXX(0x85), - MKCOLOUR_XYXY(0x85, 0x86), - MKCOLOUR_XXXX(0x86), - MKCOLOUR_XYXY(0x86, 0x87), - MKCOLOUR_XXXX(0x87), - MKCOLOUR_XXXX(0x87), -}; -assert_compile(lengthof(_violet_map_heights) == MAX_TILE_HEIGHT + 1); +#include "table/heightmap_colours.h" /** Colour scheme of the smallmap. */ struct SmallMapColourScheme { - const uint32 *height_colours; ///< Colour of each level in a heightmap. - uint32 default_colour; ///< Default colour of the land. + uint32 *height_colours; ///< Cached colours for each level in a map. + const uint32 *height_colours_base; ///< Base table for determining the colours + size_t colour_count; ///< The number of colours. + uint32 default_colour; ///< Default colour of the land. }; /** Available colour schemes for height maps. */ -static const SmallMapColourScheme _heightmap_schemes[] = { - {_green_map_heights, MKCOLOUR_XXXX(0x54)}, ///< Green colour scheme. - {_dark_green_map_heights, MKCOLOUR_XXXX(0x62)}, ///< Dark green colour scheme. - {_violet_map_heights, MKCOLOUR_XXXX(0x82)}, ///< Violet colour scheme. +static SmallMapColourScheme _heightmap_schemes[] = { + {NULL, _green_map_heights, lengthof(_green_map_heights), MKCOLOUR_XXXX(0x54)}, ///< Green colour scheme. + {NULL, _dark_green_map_heights, lengthof(_dark_green_map_heights), MKCOLOUR_XXXX(0x62)}, ///< Dark green colour scheme. + {NULL, _violet_map_heights, lengthof(_violet_map_heights), MKCOLOUR_XXXX(0x82)}, ///< Violet colour scheme. }; /** @@ -327,9 +281,50 @@ static const SmallMapColourScheme _heightmap_schemes[] = { */ void BuildLandLegend() { - for (LegendAndColour *lc = _legend_land_contours; lc->legend == STR_TINY_BLACK_HEIGHT; lc++) { - lc->colour = _heightmap_schemes[_settings_client.gui.smallmap_land_colour].height_colours[lc->height]; + /* The smallmap window has never been initialized, so no need to change the legend. */ + if (_heightmap_schemes[0].height_colours == NULL) return; + + /* + * The general idea of this function is to fill the legend with an appropriate evenly spaced + * selection of height levels. All entries with STR_TINY_BLACK_HEIGHT are reserved for this. + * At the moment there are twelve of these. + * + * The table below defines up to which height level a particular delta in the legend should be + * used. One could opt for just dividing the maximum height and use that as delta, but that + * creates many "ugly" legend labels, e.g. once every 950 meter. As a result, this table will + * reduce the number of deltas to 7: every 100m, 200m, 300m, 500m, 750m, 1000m and 1250m. The + * deltas are closer together at the lower numbers because going from 12 entries to just 4, as + * would happen when replacing 200m and 300m by 250m, would mean the legend would be short and + * that might not be considered appropriate. + * + * The current method yields at least 7 legend entries and at most 12. It can be increased to + * 8 by adding a 150m and 400m option, but especially 150m creates ugly heights. + * + * It tries to evenly space the legend items over the two columns that are there for the legend. + */ + + /* Table for delta; if max_height is less than the first column, use the second column as value. */ + uint deltas[][2] = { { 24, 2 }, { 48, 4 }, { 72, 6 }, { 120, 10 }, { 180, 15 }, { 240, 20 }, { MAX_TILE_HEIGHT + 1, 25 }}; + uint i = 0; + for (; _settings_game.construction.max_heightlevel >= deltas[i][0]; i++) { + /* Nothing to do here. */ } + uint delta = deltas[i][1]; + + int total_entries = (_settings_game.construction.max_heightlevel / delta) + 1; + int rows = CeilDiv(total_entries, 2); + int j = 0; + + for (i = 0; i < lengthof(_legend_land_contours) - 1 && j < total_entries; i++) { + if (_legend_land_contours[i].legend != STR_TINY_BLACK_HEIGHT) continue; + + _legend_land_contours[i].col_break = j % rows == 0; + _legend_land_contours[i].end = false; + _legend_land_contours[i].height = j * delta; + _legend_land_contours[i].colour = _heightmap_schemes[_settings_client.gui.smallmap_land_colour].height_colours[j * delta]; + j++; + } + _legend_land_contours[i].end = true; } /** @@ -854,7 +849,7 @@ void SmallMapWindow::DrawVehicles(const DrawPixelInfo *dpi, Blitter *blitter) co if (v->vehstatus & (VS_HIDDEN | VS_UNCLICKABLE)) continue; /* Remap into flat coordinates. */ - Point pt = this->RemapTile(v->x_pos / TILE_SIZE, v->y_pos / TILE_SIZE); + Point pt = this->RemapTile(v->x_pos / (int)TILE_SIZE, v->y_pos / (int)TILE_SIZE); int y = pt.y - dpi->top; if (!IsInsideMM(y, 0, dpi->height)) continue; // y is out of bounds. @@ -914,19 +909,20 @@ void SmallMapWindow::DrawMapIndicators() const /* Find main viewport. */ const ViewPort *vp = FindWindowById(WC_MAIN_WINDOW, 0)->viewport; - Point tile = InverseRemapCoords(vp->virtual_left, vp->virtual_top); - Point tl = this->RemapTile(tile.x >> 4, tile.y >> 4); - tl.x -= this->subscroll; + Point upper_left_smallmap_coord = TranslateXYToTileCoord(vp, vp->left, vp->top, false); + Point lower_right_smallmap_coord = TranslateXYToTileCoord(vp, vp->left + vp->width - 1, vp->top + vp->height - 1, false); - tile = InverseRemapCoords(vp->virtual_left + vp->virtual_width, vp->virtual_top + vp->virtual_height); - Point br = this->RemapTile(tile.x >> 4, tile.y >> 4); - br.x -= this->subscroll; + Point upper_left = this->RemapTile(upper_left_smallmap_coord.x / (int)TILE_SIZE, upper_left_smallmap_coord.y / (int)TILE_SIZE); + upper_left.x -= this->subscroll; - SmallMapWindow::DrawVertMapIndicator(tl.x, tl.y, br.y); - SmallMapWindow::DrawVertMapIndicator(br.x, tl.y, br.y); + Point lower_right = this->RemapTile(lower_right_smallmap_coord.x / (int)TILE_SIZE, lower_right_smallmap_coord.y / (int)TILE_SIZE); + lower_right.x -= this->subscroll; - SmallMapWindow::DrawHorizMapIndicator(tl.x, br.x, tl.y); - SmallMapWindow::DrawHorizMapIndicator(tl.x, br.x, br.y); + SmallMapWindow::DrawVertMapIndicator(upper_left.x, upper_left.y, lower_right.y); + SmallMapWindow::DrawVertMapIndicator(lower_right.x, upper_left.y, lower_right.y); + + SmallMapWindow::DrawHorizMapIndicator(upper_left.x, lower_right.x, upper_left.y); + SmallMapWindow::DrawHorizMapIndicator(upper_left.x, lower_right.x, lower_right.y); } /** @@ -1053,7 +1049,8 @@ SmallMapWindow::SmallMapWindow(WindowDesc *desc, int window_number) : Window(des this->InitNested(window_number); this->LowerWidget(this->map_type + WID_SM_CONTOUR); - BuildLandLegend(); + this->RebuildColourIndexIfNecessary(); + this->SetWidgetLoweredState(WID_SM_SHOW_HEIGHT, _smallmap_show_heightmap); this->SetWidgetLoweredState(WID_SM_TOGGLETOWNNAME, this->show_towns); @@ -1065,6 +1062,31 @@ SmallMapWindow::SmallMapWindow(WindowDesc *desc, int window_number) : Window(des this->SetOverlayCargoMask(); } +/** + * Rebuilds the colour indices used for fast access to the smallmap contour colours based on the heightlevel. + */ +void SmallMapWindow::RebuildColourIndexIfNecessary() +{ + /* Rebuild colour indices if necessary. */ + if (SmallMapWindow::max_heightlevel == _settings_game.construction.max_heightlevel) return; + + for (uint n = 0; n < lengthof(_heightmap_schemes); n++) { + /* The heights go from 0 up to and including maximum. */ + int heights = _settings_game.construction.max_heightlevel + 1; + _heightmap_schemes[n].height_colours = ReallocT(_heightmap_schemes[n].height_colours, heights); + + for (int z = 0; z < heights; z++) { + uint access_index = (_heightmap_schemes[n].colour_count * z) / heights; + + /* Choose colour by mapping the range (0..max heightlevel) on the complete colour table. */ + _heightmap_schemes[n].height_colours[z] = _heightmap_schemes[n].height_colours_base[access_index]; + } + } + + SmallMapWindow::max_heightlevel = _settings_game.construction.max_heightlevel; + BuildLandLegend(); +} + /* virtual */ void SmallMapWindow::SetStringParameters(int widget) const { switch (widget) { @@ -1370,12 +1392,7 @@ int SmallMapWindow::GetPositionOnLegend(Point pt) Window *w = FindWindowById(WC_MAIN_WINDOW, 0); int sub; pt = this->PixelToTile(pt.x - wid->pos_x, pt.y - wid->pos_y, &sub); - pt = RemapCoords(this->scroll_x + pt.x * TILE_SIZE + this->zoom * (TILE_SIZE - sub * TILE_SIZE / 4), - this->scroll_y + pt.y * TILE_SIZE + sub * this->zoom * TILE_SIZE / 4, 0); - - w->viewport->follow_vehicle = INVALID_VEHICLE; - w->viewport->dest_scrollpos_x = pt.x - (w->viewport->virtual_width >> 1); - w->viewport->dest_scrollpos_y = pt.y - (w->viewport->virtual_height >> 1); + ScrollWindowTo(this->scroll_x + pt.x * TILE_SIZE, this->scroll_y + pt.y * TILE_SIZE, -1, w); this->SetDirty(); break; @@ -1478,11 +1495,13 @@ int SmallMapWindow::GetPositionOnLegend(Point pt) * @param data Information about the changed data. * - data = 0: Displayed industries at the industry chain window have changed. * - data = 1: Companies have changed. + * - data = 2: Cheat changing the maximum heightlevel has been used, rebuild our heightlevel-to-colour index * @param gui_scope Whether the call is done from GUI scope. You may not do everything when not in GUI scope. See #InvalidateWindowData() for details. */ /* virtual */ void SmallMapWindow::OnInvalidateData(int data, bool gui_scope) { if (!gui_scope) return; + switch (data) { case 1: /* The owner legend has already been rebuilt. */ @@ -1490,15 +1509,19 @@ int SmallMapWindow::GetPositionOnLegend(Point pt) break; case 0: { - extern uint64 _displayed_industries; + extern std::bitset _displayed_industries; if (this->map_type != SMT_INDUSTRY) this->SwitchMapType(SMT_INDUSTRY); for (int i = 0; i != _smallmap_industry_count; i++) { - _legend_from_industries[i].show_on_map = HasBit(_displayed_industries, _legend_from_industries[i].type); + _legend_from_industries[i].show_on_map = _displayed_industries.test(_legend_from_industries[i].type); } break; } + case 2: + this->RebuildColourIndexIfNecessary(); + break; + default: NOT_REACHED(); } this->SetDirty(); @@ -1593,14 +1616,18 @@ void SmallMapWindow::SetNewScroll(int sx, int sy, int sub) this->SetDirty(); } +/** + * Center the small map on the current center of the viewport. + */ void SmallMapWindow::SmallMapCenterOnCurrentPos() { const ViewPort *vp = FindWindowById(WC_MAIN_WINDOW, 0)->viewport; - Point pt = InverseRemapCoords(vp->virtual_left + vp->virtual_width / 2, vp->virtual_top + vp->virtual_height / 2); + Point viewport_center = TranslateXYToTileCoord(vp, vp->left + vp->width / 2, vp->top + vp->height / 2); int sub; const NWidgetBase *wid = this->GetWidget(WID_SM_MAP); - Point sxy = this->ComputeScroll(pt.x / TILE_SIZE, pt.y / TILE_SIZE, max(0, (int)wid->current_x / 2 - 2), wid->current_y / 2, &sub); + Point sxy = this->ComputeScroll(viewport_center.x / (int)TILE_SIZE, viewport_center.y / (int)TILE_SIZE, + max(0, (int)wid->current_x / 2 - 2), wid->current_y / 2, &sub); this->SetNewScroll(sxy.x, sxy.y, sub); this->SetDirty(); } @@ -1625,6 +1652,7 @@ Point SmallMapWindow::GetStationMiddle(const Station *st) const SmallMapWindow::SmallMapType SmallMapWindow::map_type = SMT_CONTOUR; bool SmallMapWindow::show_towns = true; +int SmallMapWindow::max_heightlevel = -1; /** * Custom container class for displaying smallmap with a vertically resizing legend panel. @@ -1770,17 +1798,15 @@ static const NWidgetPart _nested_smallmap_widgets[] = { NWidgetFunction(SmallMapDisplay), // Smallmap display and legend bar + image buttons. /* Bottom button row and resize box. */ NWidget(NWID_HORIZONTAL), - NWidget(WWT_PANEL, COLOUR_BROWN), - NWidget(NWID_HORIZONTAL), - NWidget(NWID_SELECTION, INVALID_COLOUR, WID_SM_SELECT_BUTTONS), - NWidget(NWID_HORIZONTAL, NC_EQUALSIZE), - NWidget(WWT_PUSHTXTBTN, COLOUR_BROWN, WID_SM_ENABLE_ALL), SetDataTip(STR_SMALLMAP_ENABLE_ALL, STR_NULL), - NWidget(WWT_PUSHTXTBTN, COLOUR_BROWN, WID_SM_DISABLE_ALL), SetDataTip(STR_SMALLMAP_DISABLE_ALL, STR_NULL), - NWidget(WWT_TEXTBTN, COLOUR_BROWN, WID_SM_SHOW_HEIGHT), SetDataTip(STR_SMALLMAP_SHOW_HEIGHT, STR_SMALLMAP_TOOLTIP_SHOW_HEIGHT), - EndContainer(), - NWidget(NWID_SPACER), SetFill(1, 1), + NWidget(NWID_SELECTION, INVALID_COLOUR, WID_SM_SELECT_BUTTONS), + NWidget(NWID_HORIZONTAL, NC_EQUALSIZE), + NWidget(WWT_PUSHTXTBTN, COLOUR_BROWN, WID_SM_ENABLE_ALL), SetDataTip(STR_SMALLMAP_ENABLE_ALL, STR_NULL), + NWidget(WWT_PUSHTXTBTN, COLOUR_BROWN, WID_SM_DISABLE_ALL), SetDataTip(STR_SMALLMAP_DISABLE_ALL, STR_NULL), + NWidget(WWT_TEXTBTN, COLOUR_BROWN, WID_SM_SHOW_HEIGHT), SetDataTip(STR_SMALLMAP_SHOW_HEIGHT, STR_SMALLMAP_TOOLTIP_SHOW_HEIGHT), + NWidget(WWT_PANEL, COLOUR_BROWN), SetFill(1, 0), SetResize(1, 0), EndContainer(), - NWidget(NWID_SPACER), SetFill(1, 0), SetResize(1, 0), + EndContainer(), + NWidget(WWT_PANEL, COLOUR_BROWN), SetFill(1, 0), SetResize(1, 0), EndContainer(), EndContainer(), NWidget(WWT_RESIZEBOX, COLOUR_BROWN), diff --git a/src/smallmap_gui.h b/src/smallmap_gui.h index 6652f83d8c..2903544a69 100644 --- a/src/smallmap_gui.h +++ b/src/smallmap_gui.h @@ -63,6 +63,7 @@ protected: static SmallMapType map_type; ///< Currently displayed legends. static bool show_towns; ///< Display town names in the smallmap. + static int max_heightlevel; ///< Currently used/cached maximum heightlevel. static const uint LEGEND_BLOB_WIDTH = 8; ///< Width of the coloured blob in front of a line text in the #WID_SM_LEGEND widget. static const uint INDUSTRY_MIN_NUMBER_OF_COLUMNS = 2; ///< Minimal number of columns in the #WID_SM_LEGEND widget for the #SMT_INDUSTRY legend. @@ -146,6 +147,7 @@ protected: return Company::IsValidID(_local_company) ? 1U << _local_company : 0xffffffff; } + void RebuildColourIndexIfNecessary(); uint GetNumberRowsLegend(uint columns) const; void SelectLegendItem(int click_pos, LegendAndColour *legend, int end_legend_item, int begin_legend_item = 0); void SwitchMapType(SmallMapType map_type); diff --git a/src/sound.cpp b/src/sound.cpp index 9bad9d6bd2..79dd988bfa 100644 --- a/src/sound.cpp +++ b/src/sound.cpp @@ -21,6 +21,8 @@ #define SET_TYPE "sounds" #include "base_media_func.h" +#include "safeguards.h" + static SoundEntry _original_sounds[ORIGINAL_SAMPLE_COUNT]; static void OpenBankFile(const char *filename) diff --git a/src/sound/allegro_s.cpp b/src/sound/allegro_s.cpp index 76a1e1e91d..88a723ff85 100644 --- a/src/sound/allegro_s.cpp +++ b/src/sound/allegro_s.cpp @@ -18,6 +18,8 @@ #include "allegro_s.h" #include +#include "../safeguards.h" + static FSoundDriver_Allegro iFSoundDriver_Allegro; /** The stream we are writing too */ static AUDIOSTREAM *_stream = NULL; diff --git a/src/sound/cocoa_s.cpp b/src/sound/cocoa_s.cpp index 1dc2a25d4a..8cf4a632bc 100644 --- a/src/sound/cocoa_s.cpp +++ b/src/sound/cocoa_s.cpp @@ -30,6 +30,8 @@ #undef Rect #undef Point +#include "../safeguards.h" + static FSoundDriver_Cocoa iFSoundDriver_Cocoa; static AudioUnit _outputAudioUnit; diff --git a/src/sound/null_s.cpp b/src/sound/null_s.cpp index 953bf5764a..3dc95c46ff 100644 --- a/src/sound/null_s.cpp +++ b/src/sound/null_s.cpp @@ -12,5 +12,7 @@ #include "../stdafx.h" #include "null_s.h" +#include "../safeguards.h" + /** The factory for the null sound driver. */ static FSoundDriver_Null iFSoundDriver_Null; diff --git a/src/sound/sdl_s.cpp b/src/sound/sdl_s.cpp index 7e1c3e9936..e3fb99eaa7 100644 --- a/src/sound/sdl_s.cpp +++ b/src/sound/sdl_s.cpp @@ -18,6 +18,8 @@ #include "sdl_s.h" #include +#include "../safeguards.h" + /** Factory for the SDL sound driver. */ static FSoundDriver_SDL iFSoundDriver_SDL; diff --git a/src/sound/sound_driver.hpp b/src/sound/sound_driver.hpp index 2b9cf145d0..0df69b8b45 100644 --- a/src/sound/sound_driver.hpp +++ b/src/sound/sound_driver.hpp @@ -19,9 +19,15 @@ class SoundDriver : public Driver { public: /** Called once every tick */ virtual void MainLoop() {} + + /** + * Get the currently active instance of the sound driver. + */ + static SoundDriver *GetInstance() { + return static_cast(*DriverFactoryBase::GetActiveDriver(Driver::DT_SOUND)); + } }; -extern SoundDriver *_sound_driver; extern char *_ini_sounddriver; #endif /* SOUND_SOUND_DRIVER_HPP */ diff --git a/src/sound/win32_s.cpp b/src/sound/win32_s.cpp index d241f45c81..0cd632714c 100644 --- a/src/sound/win32_s.cpp +++ b/src/sound/win32_s.cpp @@ -20,6 +20,8 @@ #include #include +#include "../safeguards.h" + static FSoundDriver_Win32 iFSoundDriver_Win32; static HWAVEOUT _waveout; diff --git a/src/sprite.cpp b/src/sprite.cpp index 513ca014fa..22210712a9 100644 --- a/src/sprite.cpp +++ b/src/sprite.cpp @@ -16,6 +16,8 @@ #include "spritecache.h" #include "zoom_func.h" +#include "safeguards.h" + /** * Draws a tile sprite sequence. @@ -117,15 +119,15 @@ void DrawCommonTileSeqInGUI(int x, int y, const DrawTileSprites *dts, int32 orig if (dtss->IsParentSprite()) { Point pt = RemapCoords(dtss->delta_x, dtss->delta_y, dtss->delta_z); - DrawSprite(image, pal, x + UnScaleByZoom(pt.x, ZOOM_LVL_GUI), y + UnScaleByZoom(pt.y, ZOOM_LVL_GUI)); + DrawSprite(image, pal, x + UnScaleGUI(pt.x), y + UnScaleGUI(pt.y)); const Sprite *spr = GetSprite(image & SPRITE_MASK, ST_NORMAL); - child_offset.x = UnScaleByZoom(pt.x + spr->x_offs, ZOOM_LVL_GUI); - child_offset.y = UnScaleByZoom(pt.y + spr->y_offs, ZOOM_LVL_GUI); + child_offset.x = UnScaleGUI(pt.x + spr->x_offs); + child_offset.y = UnScaleGUI(pt.y + spr->y_offs); } else { int offs_x = child_offset_is_unsigned ? (uint8)dtss->delta_x : dtss->delta_x; int offs_y = child_offset_is_unsigned ? (uint8)dtss->delta_y : dtss->delta_y; - DrawSprite(image, pal, x + child_offset.x + offs_x, y + child_offset.y + offs_y); + DrawSprite(image, pal, x + child_offset.x + ScaleGUITrad(offs_x), y + child_offset.y + ScaleGUITrad(offs_y)); } } } diff --git a/src/spritecache.cpp b/src/spritecache.cpp index 49f2d7ff4b..908e7599ab 100644 --- a/src/spritecache.cpp +++ b/src/spritecache.cpp @@ -24,6 +24,8 @@ #include "table/strings.h" #include "table/palette_convert.h" +#include "safeguards.h" + /* Default of 4MB spritecache */ uint _sprite_cache_size = 4; @@ -436,12 +438,20 @@ static void *ReadSprite(const SpriteCache *sc, SpriteID id, SpriteType sprite_ty return s; } - if (sprite_type == ST_NORMAL) { - if (!ResizeSprites(sprite, sprite_avail, file_slot, sc->id)) { - if (id == SPR_IMG_QUERY) usererror("Okay... something went horribly wrong. I couldn't resize the fallback sprite. What should I do?"); - return (void*)GetRawSprite(SPR_IMG_QUERY, ST_NORMAL, allocator); - } + if (!ResizeSprites(sprite, sprite_avail, file_slot, sc->id)) { + if (id == SPR_IMG_QUERY) usererror("Okay... something went horribly wrong. I couldn't resize the fallback sprite. What should I do?"); + return (void*)GetRawSprite(SPR_IMG_QUERY, ST_NORMAL, allocator); } + + if (sprite->type == ST_FONT && ZOOM_LVL_GUI != ZOOM_LVL_NORMAL) { + /* Make ZOOM_LVL_GUI be ZOOM_LVL_NORMAL */ + sprite[ZOOM_LVL_NORMAL].width = sprite[ZOOM_LVL_GUI].width; + sprite[ZOOM_LVL_NORMAL].height = sprite[ZOOM_LVL_GUI].height; + sprite[ZOOM_LVL_NORMAL].x_offs = sprite[ZOOM_LVL_GUI].x_offs; + sprite[ZOOM_LVL_NORMAL].y_offs = sprite[ZOOM_LVL_GUI].y_offs; + sprite[ZOOM_LVL_NORMAL].data = sprite[ZOOM_LVL_GUI].data; + } + return BlitterFactory::GetCurrentBlitter()->Encode(sprite, allocator); } diff --git a/src/spriteloader/grf.cpp b/src/spriteloader/grf.cpp index 678ebb79a6..b21e70b1db 100644 --- a/src/spriteloader/grf.cpp +++ b/src/spriteloader/grf.cpp @@ -21,6 +21,8 @@ #include "../core/bitmath_func.hpp" #include "grf.hpp" +#include "../safeguards.h" + extern const byte _palmap_w2d[]; /** The different colour components a sprite can have. */ @@ -228,7 +230,7 @@ uint8 LoadSpriteV1(SpriteLoader::Sprite *sprite, uint8 file_slot, size_t file_po /* Type 0xFF indicates either a colourmap or some other non-sprite info; we do not handle them here */ if (type == 0xFF) return 0; - ZoomLevel zoom_lvl = (sprite_type == ST_NORMAL) ? ZOOM_LVL_OUT_4X : ZOOM_LVL_NORMAL; + ZoomLevel zoom_lvl = (sprite_type != ST_MAPGEN) ? ZOOM_LVL_OUT_4X : ZOOM_LVL_NORMAL; sprite[zoom_lvl].height = FioReadByte(); sprite[zoom_lvl].width = FioReadWord(); @@ -273,8 +275,8 @@ uint8 LoadSpriteV2(SpriteLoader::Sprite *sprite, uint8 file_slot, size_t file_po byte colour = type & SCC_MASK; byte zoom = FioReadByte(); - if (colour != 0 && (load_32bpp ? colour != SCC_PAL : colour == SCC_PAL) && (sprite_type == ST_NORMAL ? zoom < lengthof(zoom_lvl_map) : zoom == 0)) { - ZoomLevel zoom_lvl = (sprite_type == ST_NORMAL) ? zoom_lvl_map[zoom] : ZOOM_LVL_NORMAL; + if (colour != 0 && (load_32bpp ? colour != SCC_PAL : colour == SCC_PAL) && (sprite_type != ST_MAPGEN ? zoom < lengthof(zoom_lvl_map) : zoom == 0)) { + ZoomLevel zoom_lvl = (sprite_type != ST_MAPGEN) ? zoom_lvl_map[zoom] : ZOOM_LVL_NORMAL; if (HasBit(loaded_sprites, zoom_lvl)) { /* We already have this zoom level, skip sprite. */ diff --git a/src/station.cpp b/src/station.cpp index 49554aaeff..456262dea4 100644 --- a/src/station.cpp +++ b/src/station.cpp @@ -29,6 +29,8 @@ #include "table/strings.h" +#include "safeguards.h" + /** The pool of stations. */ StationPool _station_pool("Station"); INSTANTIATE_POOL_METHODS(Station) @@ -43,13 +45,10 @@ BaseStation::~BaseStation() if (CleaningPool()) return; - Owner owner = this->owner; - if (!Company::IsValidID(owner)) owner = _local_company; - if (!Company::IsValidID(owner)) return; // Spectators - DeleteWindowById(WC_TRAINS_LIST, VehicleListIdentifier(VL_STATION_LIST, VEH_TRAIN, owner, this->index).Pack()); - DeleteWindowById(WC_ROADVEH_LIST, VehicleListIdentifier(VL_STATION_LIST, VEH_ROAD, owner, this->index).Pack()); - DeleteWindowById(WC_SHIPS_LIST, VehicleListIdentifier(VL_STATION_LIST, VEH_SHIP, owner, this->index).Pack()); - DeleteWindowById(WC_AIRCRAFT_LIST, VehicleListIdentifier(VL_STATION_LIST, VEH_AIRCRAFT, owner, this->index).Pack()); + DeleteWindowById(WC_TRAINS_LIST, VehicleListIdentifier(VL_STATION_LIST, VEH_TRAIN, this->owner, this->index).Pack()); + DeleteWindowById(WC_ROADVEH_LIST, VehicleListIdentifier(VL_STATION_LIST, VEH_ROAD, this->owner, this->index).Pack()); + DeleteWindowById(WC_SHIPS_LIST, VehicleListIdentifier(VL_STATION_LIST, VEH_SHIP, this->owner, this->index).Pack()); + DeleteWindowById(WC_AIRCRAFT_LIST, VehicleListIdentifier(VL_STATION_LIST, VEH_AIRCRAFT, this->owner, this->index).Pack()); this->sign.MarkDirty(); } @@ -107,7 +106,7 @@ Station::~Station() } lg->RemoveNode(this->goods[c].node); if (lg->Size() == 0) { - LinkGraphSchedule::Instance()->Unqueue(lg); + LinkGraphSchedule::instance.Unqueue(lg); delete lg; } } diff --git a/src/station_base.h b/src/station_base.h index a4ad69547e..af4d206ba0 100644 --- a/src/station_base.h +++ b/src/station_base.h @@ -37,6 +37,8 @@ class FlowStat { public: typedef std::map SharesMap; + static const SharesMap empty_sharesmap; + /** * Invalid constructor. This can't be called as a FlowStat must not be * empty. However, the constructor must be defined and reachable for @@ -48,12 +50,13 @@ public: * Create a FlowStat with an initial entry. * @param st Station the initial entry refers to. * @param flow Amount of flow for the initial entry. + * @param restricted If the flow to be added is restricted. */ - inline FlowStat(StationID st, uint flow) + inline FlowStat(StationID st, uint flow, bool restricted = false) { assert(flow > 0); this->shares[flow] = st; - this->unrestricted = flow; + this->unrestricted = restricted ? 0 : flow; } /** @@ -148,6 +151,11 @@ private: /** Flow descriptions by origin stations. */ class FlowStatMap : public std::map { public: + uint GetFlow() const; + uint GetFlowVia(StationID via) const; + uint GetFlowFrom(StationID from) const; + uint GetFlowFromVia(StationID from, StationID via) const; + void AddFlow(StationID origin, StationID via, uint amount); void PassOnFlow(StationID origin, StationID via, uint amount); StationIDStack DeleteFlows(StationID via); @@ -169,13 +177,14 @@ struct GoodsEntry { GES_ACCEPTANCE, /** - * Set when the cargo was ever waiting at the station. + * This indicates whether a cargo has a rating at the station. + * Set when cargo was ever waiting at the station. * It is set when cargo supplied by surrounding tiles is moved to the station, or when * arriving vehicles unload/transfer cargo without it being a final delivery. - * This also indicates, whether a cargo has a rating at the station. - * This flag is never cleared. + * + * This flag is cleared after 255 * STATION_RATING_TICKS of not having seen a pickup. */ - GES_PICKUP, + GES_RATING, /** * Set when a vehicle ever delivered cargo to the station for final delivery. @@ -203,7 +212,7 @@ struct GoodsEntry { }; GoodsEntry() : - acceptance_pickup(0), + status(0), time_since_pickup(255), rating(INITIAL_STATION_RATING), last_speed(0), @@ -214,7 +223,7 @@ struct GoodsEntry { max_waiting_cargo(0) {} - byte acceptance_pickup; ///< Status of this cargo, see #GoodsEntryStatus. + byte status; ///< Status of this cargo, see #GoodsEntryStatus. /** * Number of rating-intervals (up to 255) since the last vehicle tried to load this cargo. @@ -252,22 +261,20 @@ struct GoodsEntry { /** * Reports whether a vehicle has ever tried to load the cargo at this station. - * This does not imply that there was cargo available for loading. Refer to GES_PICKUP for that. + * This does not imply that there was cargo available for loading. Refer to GES_RATING for that. * @return true if vehicle tried to load. */ bool HasVehicleEverTriedLoading() const { return this->last_speed != 0; } /** * Does this cargo have a rating at this station? - * @return true if the cargo has a rating, i.e. pickup has been attempted. + * @return true if the cargo has a rating, i.e. cargo has been moved to the station. */ inline bool HasRating() const { - return HasBit(this->acceptance_pickup, GES_PICKUP); + return HasBit(this->status, GES_RATING); } - uint GetSumFlowVia(StationID via) const; - /** * Get the best next hop for a cargo packet from station source. * @param source Source of the packet. @@ -301,7 +308,7 @@ struct Airport : public TileArea { uint64 flags; ///< stores which blocks on the airport are taken. was 16 bit earlier on, then 32 byte type; ///< Type of this airport, @see AirportTypes byte layout; ///< Airport layout number. - Direction rotation; ///< How this airport is rotated. + DirectionByte rotation; ///< How this airport is rotated. PersistentStorage *psa; ///< Persistent storage for NewGRF airports. diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp index cf449df94a..eb90c29ab5 100644 --- a/src/station_cmd.cpp +++ b/src/station_cmd.cpp @@ -56,6 +56,15 @@ #include "table/strings.h" +#include "safeguards.h" + +/** + * Static instance of FlowStat::SharesMap. + * Note: This instance is created on task start. + * Lazy creation on first usage results in a data race between the CDist threads. + */ +/* static */ const FlowStat::SharesMap FlowStat::empty_sharesmap; + /** * Check whether the given tile is a hangar. * @param t the tile to of whether it is a hangar. @@ -436,7 +445,7 @@ static uint GetAcceptanceMask(const Station *st) uint mask = 0; for (CargoID i = 0; i < NUM_CARGO; i++) { - if (HasBit(st->goods[i].acceptance_pickup, GoodsEntry::GES_ACCEPTANCE)) mask |= 1 << i; + if (HasBit(st->goods[i].status, GoodsEntry::GES_ACCEPTANCE)) mask |= 1 << i; } return mask; } @@ -579,7 +588,7 @@ void UpdateStationAcceptance(Station *st, bool show_msg) } GoodsEntry &ge = st->goods[i]; - SB(ge.acceptance_pickup, GoodsEntry::GES_ACCEPTANCE, 1, amt >= 8); + SB(ge.status, GoodsEntry::GES_ACCEPTANCE, 1, amt >= 8); if (LinkGraph::IsValidID(ge.link_graph)) { (*LinkGraph::Get(ge.link_graph))[ge.node].SetDemand(amt / 8); } @@ -647,7 +656,7 @@ static void UpdateStationSignCoord(BaseStation *st) for (CargoID c = 0; c < NUM_CARGO; ++c) { LinkGraphID lg = full_station->goods[c].link_graph; if (!LinkGraph::IsValidID(lg)) continue; - LinkGraph::Get(lg)->UpdateDistances(full_station->goods[c].node, st->xy); + (*LinkGraph::Get(lg))[full_station->goods[c].node].UpdateLocation(st->xy); } } @@ -719,7 +728,7 @@ CommandCost ClearTile_Station(TileIndex tile, DoCommandFlag flags); */ CommandCost CheckBuildableTile(TileIndex tile, uint invalid_dirs, int &allowed_z, bool allow_steep, bool check_bridge = true) { - if (check_bridge && MayHaveBridgeAbove(tile) && IsBridgeAbove(tile)) { + if (check_bridge && IsBridgeAbove(tile)) { return_cmd_error(STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST); } @@ -954,7 +963,11 @@ static CommandCost CheckFlatLandRoadStop(TileArea tile_area, DoCommandFlag flags /* There is a tram, check if we can build road+tram stop over it. */ if (HasBit(cur_rts, ROADTYPE_TRAM)) { Owner tram_owner = GetRoadOwner(cur_tile, ROADTYPE_TRAM); - if (!_settings_game.construction.road_stop_on_competitor_road && tram_owner != OWNER_NONE) { + if (Company::IsValidID(tram_owner) && + (!_settings_game.construction.road_stop_on_competitor_road || + /* Disallow breaking end-of-line of someone else + * so trams can still reverse on this tile. */ + HasExactlyOneBit(GetRoadBits(cur_tile, ROADTYPE_TRAM)))) { CommandCost ret = CheckOwnership(tram_owner); if (ret.Failed()) return ret; } @@ -1614,11 +1627,12 @@ CommandCost CmdRemoveFromRailWaypoint(TileIndex start, DoCommandFlag flags, uint * Remove a rail station/waypoint * @param st The station/waypoint to remove the rail part from * @param flags operation to perform + * @param removal_cost the cost for removing a tile * @tparam T the type of station to remove * @return cost or failure of operation */ template -CommandCost RemoveRailStation(T *st, DoCommandFlag flags) +CommandCost RemoveRailStation(T *st, DoCommandFlag flags, Money removal_cost) { /* Current company owns the station? */ if (_current_company != OWNER_WATER) { @@ -1635,49 +1649,14 @@ CommandCost RemoveRailStation(T *st, DoCommandFlag flags) /* clear all areas of the station */ TILE_AREA_LOOP(tile, ta) { /* only remove tiles that are actually train station tiles */ - if (!st->TileBelongsToRailStation(tile)) continue; - - CommandCost ret = EnsureNoVehicleOnGround(tile); - if (ret.Failed()) return ret; - - cost.AddCost(_price[PR_CLEAR_STATION_RAIL]); - if (flags & DC_EXEC) { - /* read variables before the station tile is removed */ - Track track = GetRailStationTrack(tile); - Owner owner = GetTileOwner(tile); // _current_company can be OWNER_WATER - Train *v = NULL; - if (HasStationReservation(tile)) { - v = GetTrainForReservation(tile, track); - if (v != NULL) FreeTrainTrackReservation(v); - } - if (!IsStationTileBlocked(tile)) Company::Get(owner)->infrastructure.rail[GetRailType(tile)]--; - Company::Get(owner)->infrastructure.station--; - DoClearSquare(tile); - DeleteNewGRFInspectWindow(GSF_STATIONS, tile); - AddTrackToSignalBuffer(tile, track, owner); - YapfNotifyTrackLayoutChange(tile, track); - if (v != NULL) TryPathReserve(v, true); + if (st->TileBelongsToRailStation(tile)) { + SmallVector affected_stations; // dummy + CommandCost ret = RemoveFromRailBaseStation(TileArea(tile, 1, 1), affected_stations, flags, removal_cost, false); + if (ret.Failed()) return ret; + cost.AddCost(ret); } } - if (flags & DC_EXEC) { - st->rect.AfterRemoveRect(st, st->train_station); - - st->train_station.Clear(); - - st->facilities &= ~FACIL_TRAIN; - - free(st->speclist); - st->num_specs = 0; - st->speclist = NULL; - st->cached_anim_triggers = 0; - - DirtyCompanyInfrastructureWindows(st->owner); - SetWindowWidgetDirty(WC_STATION_VIEW, st->index, WID_SV_TRAINS); - st->UpdateVirtCoord(); - DeleteStationIfEmpty(st); - } - return cost; } @@ -1695,7 +1674,7 @@ static CommandCost RemoveRailStation(TileIndex tile, DoCommandFlag flags) } Station *st = Station::GetByTile(tile); - CommandCost cost = RemoveRailStation(st, flags); + CommandCost cost = RemoveRailStation(st, flags, _price[PR_CLEAR_STATION_RAIL]); if (flags & DC_EXEC) st->RecomputeIndustriesNear(); @@ -1715,7 +1694,7 @@ static CommandCost RemoveRailWaypoint(TileIndex tile, DoCommandFlag flags) return DoCommand(tile, 0, 0, DC_EXEC, CMD_REMOVE_FROM_RAIL_WAYPOINT); } - return RemoveRailStation(Waypoint::GetByTile(tile), flags); + return RemoveRailStation(Waypoint::GetByTile(tile), flags, _price[PR_CLEAR_WAYPOINT_RAIL]); } @@ -1978,6 +1957,7 @@ static CommandCost RemoveRoadStop(TileIndex tile, DoCommandFlag flags) } } Company::Get(st->owner)->infrastructure.station--; + DirtyCompanyInfrastructureWindows(st->owner); if (IsDriveThroughStopTile(tile)) { /* Clears the tile for us */ @@ -2024,6 +2004,7 @@ static CommandCost RemoveRoadStop(TileIndex tile, DoCommandFlag flags) * @param p1 bit 0..7: Width of the removal area. * bit 8..15: Height of the removal area. * @param p2 bit 0: 0 For bus stops, 1 for truck stops. + * @param p2 bit 1: 0 to keep roads of all drive-through stops, 1 to remove them. * @param text Unused. * @return The cost of this operation or an error. */ @@ -2031,38 +2012,52 @@ CommandCost CmdRemoveRoadStop(TileIndex tile, DoCommandFlag flags, uint32 p1, ui { uint8 width = (uint8)GB(p1, 0, 8); uint8 height = (uint8)GB(p1, 8, 8); + bool keep_drive_through_roads = !HasBit(p2, 1); /* Check for incorrect width / height. */ if (width == 0 || height == 0) return CMD_ERROR; /* Check if the first tile and the last tile are valid */ if (!IsValidTile(tile) || TileAddWrap(tile, width - 1, height - 1) == INVALID_TILE) return CMD_ERROR; + /* Bankrupting company is not supposed to remove roads, there may be road vehicles. */ + if (!keep_drive_through_roads && (flags & DC_BANKRUPT)) return CMD_ERROR; TileArea roadstop_area(tile, width, height); - int quantity = 0; CommandCost cost(EXPENSES_CONSTRUCTION); + CommandCost last_error(STR_ERROR_THERE_IS_NO_STATION); + bool had_success = false; + TILE_AREA_LOOP(cur_tile, roadstop_area) { /* Make sure the specified tile is a road stop of the correct type */ if (!IsTileType(cur_tile, MP_STATION) || !IsRoadStop(cur_tile) || (uint32)GetRoadStopType(cur_tile) != GB(p2, 0, 1)) continue; - /* Save the stop info before it is removed */ - bool is_drive_through = IsDriveThroughStopTile(cur_tile); - RoadTypes rts = GetRoadTypes(cur_tile); - RoadBits road_bits = IsDriveThroughStopTile(cur_tile) ? - ((GetRoadStopDir(cur_tile) == DIAGDIR_NE) ? ROAD_X : ROAD_Y) : - DiagDirToRoadBits(GetRoadStopDir(cur_tile)); + /* Save information on to-be-restored roads before the stop is removed. */ + RoadTypes rts = ROADTYPES_NONE; + RoadBits road_bits = ROAD_NONE; + Owner road_owner[] = { OWNER_NONE, OWNER_NONE }; + assert_compile(lengthof(road_owner) == ROADTYPE_END); + if (IsDriveThroughStopTile(cur_tile)) { + RoadType rt; + FOR_EACH_SET_ROADTYPE(rt, GetRoadTypes(cur_tile)) { + road_owner[rt] = GetRoadOwner(cur_tile, rt); + /* If we don't want to preserve our roads then restore only roads of others. */ + if (keep_drive_through_roads || road_owner[rt] != _current_company) SetBit(rts, rt); + } + road_bits = AxisToRoadBits(DiagDirToAxis(GetRoadStopDir(cur_tile))); + } - Owner road_owner = GetRoadOwner(cur_tile, ROADTYPE_ROAD); - Owner tram_owner = GetRoadOwner(cur_tile, ROADTYPE_TRAM); CommandCost ret = RemoveRoadStop(cur_tile, flags); - if (ret.Failed()) return ret; + if (ret.Failed()) { + last_error = ret; + continue; + } cost.AddCost(ret); + had_success = true; - quantity++; - /* If the stop was a drive-through stop replace the road */ - if ((flags & DC_EXEC) && is_drive_through) { + /* Restore roads. */ + if ((flags & DC_EXEC) && rts != ROADTYPES_NONE) { MakeRoadNormal(cur_tile, road_bits, rts, ClosestTownFromTile(cur_tile, UINT_MAX)->index, - road_owner, tram_owner); + road_owner[ROADTYPE_ROAD], road_owner[ROADTYPE_TRAM]); /* Update company infrastructure counts. */ RoadType rt; @@ -2076,9 +2071,7 @@ CommandCost CmdRemoveRoadStop(TileIndex tile, DoCommandFlag flags, uint32 p1, ui } } - if (quantity == 0) return_cmd_error(STR_ERROR_THERE_IS_NO_STATION); - - return cost; + return had_success ? cost : last_error; } /** @@ -2487,7 +2480,7 @@ CommandCost CmdBuildDock(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 CommandCost ret = CheckIfAuthorityAllowsNewStation(tile, flags); if (ret.Failed()) return ret; - if (MayHaveBridgeAbove(tile) && IsBridgeAbove(tile)) return_cmd_error(STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST); + if (IsBridgeAbove(tile)) return_cmd_error(STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST); ret = DoCommand(tile, 0, 0, flags, CMD_LANDSCAPE_CLEAR); if (ret.Failed()) return ret; @@ -2498,7 +2491,7 @@ CommandCost CmdBuildDock(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 return_cmd_error(STR_ERROR_SITE_UNSUITABLE); } - if (MayHaveBridgeAbove(tile_cur) && IsBridgeAbove(tile_cur)) return_cmd_error(STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST); + if (IsBridgeAbove(tile_cur)) return_cmd_error(STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST); /* Get the water class of the water tile before it is cleared.*/ WaterClass wc = GetWaterClass(tile_cur); @@ -3189,7 +3182,7 @@ void TriggerWatchedCargoCallbacks(Station *st) /* Collect cargoes accepted since the last big tick. */ uint cargoes = 0; for (CargoID cid = 0; cid < NUM_CARGO; cid++) { - if (HasBit(st->goods[cid].acceptance_pickup, GoodsEntry::GES_ACCEPTED_BIGTICK)) SetBit(cargoes, cid); + if (HasBit(st->goods[cid].status, GoodsEntry::GES_ACCEPTED_BIGTICK)) SetBit(cargoes, cid); } /* Anything to do? */ @@ -3222,7 +3215,7 @@ static bool StationHandleBigTick(BaseStation *st) TriggerWatchedCargoCallbacks(Station::From(st)); for (CargoID i = 0; i < NUM_CARGO; i++) { - ClrBit(Station::From(st)->goods[i].acceptance_pickup, GoodsEntry::GES_ACCEPTED_BIGTICK); + ClrBit(Station::From(st)->goods[i].status, GoodsEntry::GES_ACCEPTED_BIGTICK); } } @@ -3238,6 +3231,28 @@ static inline void byte_inc_sat(byte *p) if (b != 0) *p = b; } +/** + * Truncate the cargo by a specific amount. + * @param cs The type of cargo to perform the truncation for. + * @param ge The goods entry, of the station, to truncate. + * @param amount The amount to truncate the cargo by. + */ +static void TruncateCargo(const CargoSpec *cs, GoodsEntry *ge, uint amount = UINT_MAX) +{ + /* If truncating also punish the source stations' ratings to + * decrease the flow of incoming cargo. */ + + StationCargoAmountMap waiting_per_source; + ge->cargo.Truncate(amount, &waiting_per_source); + for (StationCargoAmountMap::iterator i(waiting_per_source.begin()); i != waiting_per_source.end(); ++i) { + Station *source_station = Station::GetIfValid(i->first); + if (source_station == NULL) continue; + + GoodsEntry &source_ge = source_station->goods[cs->Index()]; + source_ge.max_waiting_cargo = max(source_ge.max_waiting_cargo, i->second); + } +} + static void UpdateStationRating(Station *st) { bool waiting_changed = false; @@ -3258,10 +3273,17 @@ static void UpdateStationRating(Station *st) /* Only change the rating if we are moving this cargo */ if (ge->HasRating()) { byte_inc_sat(&ge->time_since_pickup); + if (ge->time_since_pickup == 255 && _settings_game.order.selectgoods) { + ClrBit(ge->status, GoodsEntry::GES_RATING); + ge->last_speed = 0; + TruncateCargo(cs, ge); + waiting_changed = true; + continue; + } bool skip = false; int rating = 0; - uint waiting = ge->cargo.TotalCount(); + uint waiting = ge->cargo.AvailableCount(); /* num_dests is at least 1 if there is any cargo as * INVALID_STATION is also a destination. @@ -3371,18 +3393,7 @@ static void UpdateStationRating(Station *st) * next rating calculation. */ ge->max_waiting_cargo = 0; - /* If truncating also punish the source stations' ratings to - * decrease the flow of incoming cargo. */ - - StationCargoAmountMap waiting_per_source; - ge->cargo.Truncate(ge->cargo.AvailableCount() - waiting, &waiting_per_source); - for (StationCargoAmountMap::iterator i(waiting_per_source.begin()); i != waiting_per_source.end(); ++i) { - Station *source_station = Station::GetIfValid(i->first); - if (source_station == NULL) continue; - - GoodsEntry &source_ge = source_station->goods[cs->Index()]; - source_ge.max_waiting_cargo = max(source_ge.max_waiting_cargo, i->second); - } + TruncateCargo(cs, ge, ge->cargo.AvailableCount() - waiting); } else { /* If the average number per next hop is low, be more forgiving. */ ge->max_waiting_cargo = waiting_avg; @@ -3503,9 +3514,10 @@ void DeleteStaleLinks(Station *from) * @param cargo Cargo to increase stat for. * @param next_station_id Station the consist will be travelling to next. * @param capacity Capacity to add to link stat. - * @param usage Usage to add to link stat. If UINT_MAX refresh the link instead of increasing. + * @param usage Usage to add to link stat. + * @param mode Update mode to be applied. */ -void IncreaseStats(Station *st, CargoID cargo, StationID next_station_id, uint capacity, uint usage) +void IncreaseStats(Station *st, CargoID cargo, StationID next_station_id, uint capacity, uint usage, EdgeUpdateMode mode) { GoodsEntry &ge1 = st->goods[cargo]; Station *st2 = Station::Get(next_station_id); @@ -3515,7 +3527,7 @@ void IncreaseStats(Station *st, CargoID cargo, StationID next_station_id, uint c if (ge2.link_graph == INVALID_LINK_GRAPH) { if (LinkGraph::CanAllocateItem()) { lg = new LinkGraph(cargo); - LinkGraphSchedule::Instance()->Queue(lg); + LinkGraphSchedule::instance.Queue(lg); ge2.link_graph = lg->index; ge2.node = lg->AddNode(st2); } else { @@ -3537,17 +3549,17 @@ void IncreaseStats(Station *st, CargoID cargo, StationID next_station_id, uint c if (ge1.link_graph != ge2.link_graph) { LinkGraph *lg2 = LinkGraph::Get(ge2.link_graph); if (lg->Size() < lg2->Size()) { - LinkGraphSchedule::Instance()->Unqueue(lg); + LinkGraphSchedule::instance.Unqueue(lg); lg2->Merge(lg); // Updates GoodsEntries of lg lg = lg2; } else { - LinkGraphSchedule::Instance()->Unqueue(lg2); + LinkGraphSchedule::instance.Unqueue(lg2); lg->Merge(lg2); // Updates GoodsEntries of lg2 } } } if (lg != NULL) { - (*lg)[ge1.node].UpdateEdge(ge2.node, capacity, usage); + (*lg)[ge1.node].UpdateEdge(ge2.node, capacity, usage, mode); } } @@ -3568,7 +3580,7 @@ void IncreaseStats(Station *st, const Vehicle *front, StationID next_station_id) * As usage is not such an important figure anyway we just * ignore the additional cargo then.*/ IncreaseStats(st, v->cargo_type, next_station_id, v->refit_cap, - min(v->refit_cap, v->cargo.StoredCount())); + min(v->refit_cap, v->cargo.StoredCount()), EUM_INCREASE); } } } @@ -3618,8 +3630,8 @@ void StationMonthlyLoop() FOR_ALL_STATIONS(st) { for (CargoID i = 0; i < NUM_CARGO; i++) { GoodsEntry *ge = &st->goods[i]; - SB(ge->acceptance_pickup, GoodsEntry::GES_LAST_MONTH, 1, GB(ge->acceptance_pickup, GoodsEntry::GES_CURRENT_MONTH, 1)); - ClrBit(ge->acceptance_pickup, GoodsEntry::GES_CURRENT_MONTH); + SB(ge->status, GoodsEntry::GES_LAST_MONTH, 1, GB(ge->status, GoodsEntry::GES_CURRENT_MONTH, 1)); + ClrBit(ge->status, GoodsEntry::GES_CURRENT_MONTH); } } } @@ -3635,7 +3647,7 @@ void ModifyStationRatingAround(TileIndex tile, Owner owner, int amount, uint rad for (CargoID i = 0; i < NUM_CARGO; i++) { GoodsEntry *ge = &st->goods[i]; - if (ge->acceptance_pickup != 0) { + if (ge->status != 0) { ge->rating = Clamp(ge->rating + amount, 0, 255); } } @@ -3663,7 +3675,7 @@ static uint UpdateStationWaiting(Station *st, CargoID type, uint amount, SourceT if (ge.link_graph == INVALID_LINK_GRAPH) { if (LinkGraph::CanAllocateItem()) { lg = new LinkGraph(type); - LinkGraphSchedule::Instance()->Queue(lg); + LinkGraphSchedule::instance.Queue(lg); ge.link_graph = lg->index; ge.node = lg->AddNode(st); } else { @@ -3676,7 +3688,7 @@ static uint UpdateStationWaiting(Station *st, CargoID type, uint amount, SourceT if (!ge.HasRating()) { InvalidateWindowData(WC_STATION_LIST, st->index); - SetBit(ge.acceptance_pickup, GoodsEntry::GES_PICKUP); + SetBit(ge.status, GoodsEntry::GES_RATING); } TriggerStationRandomisation(st, st->xy, SRT_NEW_CARGO, type); @@ -3725,7 +3737,7 @@ CommandCost CmdRenameStation(TileIndex tile, DoCommandFlag flags, uint32 p1, uin if (flags & DC_EXEC) { free(st->name); - st->name = reset ? NULL : strdup(text); + st->name = reset ? NULL : stredup(text); st->UpdateVirtCoord(); InvalidateWindowData(WC_STATION_LIST, st->owner, 1); @@ -4436,19 +4448,57 @@ void FlowStatMap::ReleaseFlows(StationID via) } /** - * Get the sum of flows via a specific station from this GoodsEntry. - * @param via Remote station to look for. - * @return a FlowStat with all flows for 'via' added up. + * Get the sum of all flows from this FlowStatMap. + * @return sum of all flows. */ -uint GoodsEntry::GetSumFlowVia(StationID via) const +uint FlowStatMap::GetFlow() const { uint ret = 0; - for (FlowStatMap::const_iterator i = this->flows.begin(); i != this->flows.end(); ++i) { + for (FlowStatMap::const_iterator i = this->begin(); i != this->end(); ++i) { + ret += (--(i->second.GetShares()->end()))->first; + } + return ret; +} + +/** + * Get the sum of flows via a specific station from this FlowStatMap. + * @param via Remote station to look for. + * @return all flows for 'via' added up. + */ +uint FlowStatMap::GetFlowVia(StationID via) const +{ + uint ret = 0; + for (FlowStatMap::const_iterator i = this->begin(); i != this->end(); ++i) { ret += i->second.GetShare(via); } return ret; } +/** + * Get the sum of flows from a specific station from this FlowStatMap. + * @param from Origin station to look for. + * @return all flows from 'from' added up. + */ +uint FlowStatMap::GetFlowFrom(StationID from) const +{ + FlowStatMap::const_iterator i = this->find(from); + if (i == this->end()) return 0; + return (--(i->second.GetShares()->end()))->first; +} + +/** + * Get the flow from a specific station via a specific other station. + * @param from Origin station to look for. + * @param via Remote station to look for. + * @return flow share originating at 'from' and going to 'via'. + */ +uint FlowStatMap::GetFlowFromVia(StationID from, StationID via) const +{ + FlowStatMap::const_iterator i = this->find(from); + if (i == this->end()) return 0; + return i->second.GetShare(via); +} + extern const TileTypeProcs _tile_type_station_procs = { DrawTile_Station, // draw_tile_proc GetSlopePixelZ_Station, // get_slope_z_proc diff --git a/src/station_func.h b/src/station_func.h index 39b8f5bb3d..f33dbd21fb 100644 --- a/src/station_func.h +++ b/src/station_func.h @@ -18,6 +18,7 @@ #include "vehicle_type.h" #include "economy_func.h" #include "rail.h" +#include "linkgraph/linkgraph_type.h" void ModifyStationRatingAround(TileIndex tile, Owner owner, int amount, uint radius); @@ -49,7 +50,7 @@ void UpdateAirportsNoise(); bool SplitGroundSpriteForOverlay(const TileInfo *ti, SpriteID *ground, RailTrackOffset *overlay_offset); void IncreaseStats(Station *st, const Vehicle *v, StationID next_station_id); -void IncreaseStats(Station *st, CargoID cargo, StationID next_station_id, uint capacity, uint usage); +void IncreaseStats(Station *st, CargoID cargo, StationID next_station_id, uint capacity, uint usage, EdgeUpdateMode mode); void RerouteCargo(Station *st, CargoID c, StationID avoid, StationID avoid2); /** diff --git a/src/station_gui.cpp b/src/station_gui.cpp index e658c1f20e..666e66d8b5 100644 --- a/src/station_gui.cpp +++ b/src/station_gui.cpp @@ -19,6 +19,7 @@ #include "cargotype.h" #include "station_gui.h" #include "strings_func.h" +#include "string_func.h" #include "window_func.h" #include "viewport_func.h" #include "widgets/dropdown_func.h" @@ -31,6 +32,7 @@ #include "vehiclelist.h" #include "town.h" #include "linkgraph/linkgraph.h" +#include "zoom_func.h" #include "widgets/station_widget.h" @@ -39,6 +41,8 @@ #include #include +#include "safeguards.h" + /** * Calculates and draws the accepted or supplied cargo around the selected tile(s) * @param left x position where the string is to be drawn @@ -219,7 +223,9 @@ protected: GetString(buf_cache, STR_STATION_NAME, lastof(buf_cache)); } - return strcmp(buf, buf_cache); + int r = strnatcmp(buf, buf_cache); // Sort by name (natural sorting). + if (r == 0) return (*a)->index - (*b)->index; + return r; } /** Sort stations by their type */ @@ -336,7 +342,7 @@ public: switch (widget) { case WID_STL_SORTBY: { Dimension d = GetStringBoundingBox(this->GetWidget(widget)->widget_data); - d.width += padding.width + WD_SORTBUTTON_ARROW_WIDTH * 2; // Doubled since the string is centred and it also looks better. + d.width += padding.width + Window::SortButtonWidth() * 2; // Doubled since the string is centred and it also looks better. d.height += padding.height; *size = maxdim(*size, d); break; @@ -800,15 +806,16 @@ static const NWidgetPart _nested_station_view_widgets[] = { */ static void DrawCargoIcons(CargoID i, uint waiting, int left, int right, int y) { - uint num = min((waiting + 5) / 10, (right - left) / 10); // maximum is width / 10 icons so it won't overflow + int width = ScaleGUITrad(10); + uint num = min((waiting + (width / 2)) / width, (right - left) / width); // maximum is width / 10 icons so it won't overflow if (num == 0) return; SpriteID sprite = CargoSpec::Get(i)->GetCargoIcon(); - int x = _current_text_dir == TD_RTL ? left : right - num * 10; + int x = _current_text_dir == TD_RTL ? left : right - num * width; do { DrawSprite(sprite, PAL_NONE, x, y); - x += 10; + x += width; } while (--num); } @@ -1182,7 +1189,7 @@ bool CargoSorter::SortStation(StationID st1, StationID st2) const SetDParam(0, st2); GetString(buf2, STR_STATION_NAME, lastof(buf2)); - int res = strcmp(buf1, buf2); + int res = strnatcmp(buf1, buf2); // Sort by name (natural sorting). if (res == 0) { return this->SortId(st1, st2); } else { @@ -1299,17 +1306,15 @@ struct StationViewWindow : public Window { this->SelectSortBy(_settings_client.gui.station_gui_sort_by); this->sort_orders[0] = SO_ASCENDING; this->SelectSortOrder((SortOrder)_settings_client.gui.station_gui_sort_order); - Owner owner = Station::Get(window_number)->owner; - if (owner != OWNER_NONE) this->owner = owner; + this->owner = Station::Get(window_number)->owner; } ~StationViewWindow() { - Owner owner = Station::Get(this->window_number)->owner; - DeleteWindowById(WC_TRAINS_LIST, VehicleListIdentifier(VL_STATION_LIST, VEH_TRAIN, owner, this->window_number).Pack(), false); - DeleteWindowById(WC_ROADVEH_LIST, VehicleListIdentifier(VL_STATION_LIST, VEH_ROAD, owner, this->window_number).Pack(), false); - DeleteWindowById(WC_SHIPS_LIST, VehicleListIdentifier(VL_STATION_LIST, VEH_SHIP, owner, this->window_number).Pack(), false); - DeleteWindowById(WC_AIRCRAFT_LIST, VehicleListIdentifier(VL_STATION_LIST, VEH_AIRCRAFT, owner, this->window_number).Pack(), false); + DeleteWindowById(WC_TRAINS_LIST, VehicleListIdentifier(VL_STATION_LIST, VEH_TRAIN, this->owner, this->window_number).Pack(), false); + DeleteWindowById(WC_ROADVEH_LIST, VehicleListIdentifier(VL_STATION_LIST, VEH_ROAD, this->owner, this->window_number).Pack(), false); + DeleteWindowById(WC_SHIPS_LIST, VehicleListIdentifier(VL_STATION_LIST, VEH_SHIP, this->owner, this->window_number).Pack(), false); + DeleteWindowById(WC_AIRCRAFT_LIST, VehicleListIdentifier(VL_STATION_LIST, VEH_AIRCRAFT, this->owner, this->window_number).Pack(), false); } /** @@ -1796,7 +1801,7 @@ struct StationViewWindow : public Window { uint32 cargo_mask = 0; for (CargoID i = 0; i < NUM_CARGO; i++) { - if (HasBit(st->goods[i].acceptance_pickup, GoodsEntry::GES_ACCEPTANCE)) SetBit(cargo_mask, i); + if (HasBit(st->goods[i].status, GoodsEntry::GES_ACCEPTANCE)) SetBit(cargo_mask, i); } SetDParam(0, cargo_mask); int bottom = DrawStringMultiLine(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, r.top + WD_FRAMERECT_TOP, INT32_MAX, STR_STATION_VIEW_ACCEPTS_CARGO); diff --git a/src/station_map.h b/src/station_map.h index 67f41f1d75..7ca9bd7204 100644 --- a/src/station_map.h +++ b/src/station_map.h @@ -45,7 +45,7 @@ static const int GFX_TRUCK_BUS_DRIVETHROUGH_OFFSET = 4; ///< The offset for the static inline StationType GetStationType(TileIndex t) { assert(IsTileType(t, MP_STATION)); - return (StationType)GB(_m[t].m6, 3, 3); + return (StationType)GB(_me[t].m6, 3, 3); } /** @@ -394,7 +394,7 @@ static inline bool IsCompatibleTrainStationTile(TileIndex test_tile, TileIndex s static inline bool HasStationReservation(TileIndex t) { assert(HasStationRail(t)); - return HasBit(_m[t].m6, 2); + return HasBit(_me[t].m6, 2); } /** @@ -406,7 +406,7 @@ static inline bool HasStationReservation(TileIndex t) static inline void SetRailStationReservation(TileIndex t, bool b) { assert(HasStationRail(t)); - SB(_m[t].m6, 2, 1, b ? 1 : 0); + SB(_me[t].m6, 2, 1, b ? 1 : 0); } /** @@ -539,8 +539,8 @@ static inline void MakeStation(TileIndex t, Owner o, StationID sid, StationType _m[t].m3 = 0; _m[t].m4 = 0; _m[t].m5 = section; - SB(_m[t].m6, 2, 1, 0); - SB(_m[t].m6, 3, 3, st); + SB(_me[t].m6, 2, 1, 0); + SB(_me[t].m6, 3, 3, st); _me[t].m7 = 0; } diff --git a/src/statusbar_gui.cpp b/src/statusbar_gui.cpp index 62799e18bf..25efa6bb1c 100644 --- a/src/statusbar_gui.cpp +++ b/src/statusbar_gui.cpp @@ -24,6 +24,7 @@ #include "saveload/saveload.h" #include "window_func.h" #include "statusbar_gui.h" +#include "toolbar_gui.h" #include "core/geometry_func.hpp" #include "widgets/statusbar_widget.h" @@ -31,6 +32,8 @@ #include "table/strings.h" #include "table/sprites.h" +#include "safeguards.h" + static bool DrawScrollingStatusText(const NewsItem *ni, int scroll_pos, int left, int right, int top, int bottom) { CopyInDParam(0, ni->params, lengthof(ni->params)); @@ -99,6 +102,11 @@ struct StatusBarWindow : Window { return pt; } + virtual void FindWindowPlacementAndResize(int def_width, int def_height) + { + Window::FindWindowPlacementAndResize(_toolbar_width, def_height); + } + virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) { Dimension d; @@ -236,7 +244,7 @@ static const NWidgetPart _nested_main_status_widgets[] = { }; static WindowDesc _main_status_desc( - WDP_MANUAL, NULL, 640, 12, + WDP_MANUAL, NULL, 0, 0, WC_STATUS_BAR, WC_NONE, WDF_NO_FOCUS, _nested_main_status_widgets, lengthof(_nested_main_status_widgets) diff --git a/src/stdafx.h b/src/stdafx.h index 951ab1c38a..d68605c196 100644 --- a/src/stdafx.h +++ b/src/stdafx.h @@ -21,6 +21,7 @@ #include #define _GNU_SOURCE #define TROUBLED_INTS + #include #elif defined(__NDS__) #include #define TROUBLED_INTS @@ -232,7 +233,6 @@ #define WARN_FORMAT(string, args) #define FINAL sealed - int CDECL snprintf(char *str, size_t size, const char *format, ...) WARN_FORMAT(3, 4); #if defined(WINCE) int CDECL vsnprintf(char *str, size_t size, const char *format, va_list ap); #endif @@ -266,6 +266,8 @@ #define strncasecmp strnicmp #endif + #define strtoull _strtoui64 + /* MSVC doesn't have these :( */ #define S_ISDIR(mode) (mode & S_IFDIR) #define S_ISREG(mode) (mode & S_IFREG) @@ -282,7 +284,7 @@ #endif #if defined(WINCE) - #define strdup _strdup + #define stredup _stredup #endif /* WINCE */ /* NOTE: the string returned by these functions is only valid until the next @@ -302,14 +304,10 @@ const char *FS2OTTD(const TCHAR *name); const TCHAR *OTTD2FS(const char *name, bool console_cp = false); - #define SQ2OTTD(name) FS2OTTD(name) - #define OTTD2SQ(name) OTTD2FS(name) #else #define fopen(file, mode) fopen(OTTD2FS(file), mode) const char *FS2OTTD(const char *name); const char *OTTD2FS(const char *name); - #define SQ2OTTD(name) (name) - #define OTTD2SQ(name) (name) #endif /* WIN32 */ #endif /* STRGEN || SETTINGSGEN */ @@ -502,12 +500,16 @@ static inline void free(const void *ptr) #define HELPER0(x) #x #define HELPER1(x) HELPER0(GCC diagnostic ignored x) #define HELPER2(y) HELPER1(#y) +#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) #define IGNORE_UNINITIALIZED_WARNING_START \ _Pragma("GCC diagnostic push") \ _Pragma(HELPER2(-Wuninitialized)) \ _Pragma(HELPER2(-Wmaybe-uninitialized)) #define IGNORE_UNINITIALIZED_WARNING_STOP _Pragma("GCC diagnostic pop") -#else +#endif +#endif + +#ifndef IGNORE_UNINITIALIZED_WARNING_START #define IGNORE_UNINITIALIZED_WARNING_START #define IGNORE_UNINITIALIZED_WARNING_STOP #endif diff --git a/src/story.cpp b/src/story.cpp index da44c27437..b74842f41a 100644 --- a/src/story.cpp +++ b/src/story.cpp @@ -24,6 +24,8 @@ #include "window_func.h" #include "gui.h" +#include "safeguards.h" + StoryPageElementID _new_story_page_element_id; StoryPageID _new_story_page_id; @@ -79,10 +81,10 @@ static void UpdateElement(StoryPageElement &pe, TileIndex tile, uint32 reference { switch (pe.type) { case SPET_TEXT: - pe.text = strdup(text); + pe.text = stredup(text); break; case SPET_LOCATION: - pe.text = strdup(text); + pe.text = stredup(text); pe.referenced_id = tile; break; case SPET_GOAL: @@ -124,7 +126,7 @@ CommandCost CmdCreateStoryPage(TileIndex tile, DoCommandFlag flags, uint32 p1, u if (StrEmpty(text)) { s->title = NULL; } else { - s->title = strdup(text); + s->title = stredup(text); } InvalidateWindowClassesData(WC_STORY_BOOK, -1); @@ -241,7 +243,7 @@ CommandCost CmdSetStoryPageTitle(TileIndex tile, DoCommandFlag flags, uint32 p1, if (StrEmpty(text)) { p->title = NULL; } else { - p->title = strdup(text); + p->title = stredup(text); } InvalidateWindowClassesData(WC_STORY_BOOK, page_id); diff --git a/src/story_gui.cpp b/src/story_gui.cpp index 872ed0a9a2..003843310e 100644 --- a/src/story_gui.cpp +++ b/src/story_gui.cpp @@ -31,6 +31,8 @@ #include "table/strings.h" #include "table/sprites.h" +#include "safeguards.h" + typedef GUIList GUIStoryPageList; typedef GUIList GUIStoryPageElementList; @@ -566,10 +568,10 @@ public: if (widget != WID_SB_SEL_PAGE && widget != WID_SB_PAGE_PANEL) return; Dimension d; - d.height= FONT_HEIGHT_NORMAL; + d.height = FONT_HEIGHT_NORMAL; d.width = 0; - switch(widget) { + switch (widget) { case WID_SB_SEL_PAGE: { /* Get max title width. */ @@ -756,13 +758,15 @@ static WindowDesc _story_book_desc( _nested_story_book_widgets, lengthof(_nested_story_book_widgets) ); +/** + * Raise or create the story book window for \a company, at page \a page_id. + * @param company 'Owner' of the story book, may be #INVALID_COMPANY. + * @param page_id Page to open, may be #INVALID_STORY_PAGE. + */ void ShowStoryBook(CompanyID company, uint16 page_id) { if (!Company::IsValidID(company)) company = (CompanyID)INVALID_COMPANY; - StoryBookWindow *w = AllocateWindowDescFront(&_story_book_desc, company); - if (page_id != INVALID_STORY_PAGE) { - if (w == NULL) w = (StoryBookWindow *)FindWindowById(WC_STORY_BOOK, company); - w->SetSelectedPage(page_id); - } + StoryBookWindow *w = AllocateWindowDescFront(&_story_book_desc, company, true); + if (page_id != INVALID_STORY_PAGE) w->SetSelectedPage(page_id); } diff --git a/src/strgen/strgen.cpp b/src/strgen/strgen.cpp index 5d04538413..85b83f2b57 100644 --- a/src/strgen/strgen.cpp +++ b/src/strgen/strgen.cpp @@ -39,6 +39,8 @@ #include "../table/strgen_tables.h" +#include "../safeguards.h" + #ifdef _MSC_VER # define LINE_NUM_FMT(s) "%s (%d): warning: %s (" s ")\n" @@ -51,7 +53,7 @@ void CDECL strgen_warning(const char *s, ...) char buf[1024]; va_list va; va_start(va, s); - vsnprintf(buf, lengthof(buf), s, va); + vseprintf(buf, lastof(buf), s, va); va_end(va); fprintf(stderr, LINE_NUM_FMT("warning"), _file, _cur_line, buf); _warnings++; @@ -62,7 +64,7 @@ void CDECL strgen_error(const char *s, ...) char buf[1024]; va_list va; va_start(va, s); - vsnprintf(buf, lengthof(buf), s, va); + vseprintf(buf, lastof(buf), s, va); va_end(va); fprintf(stderr, LINE_NUM_FMT("error"), _file, _cur_line, buf); _errors++; @@ -73,7 +75,7 @@ void NORETURN CDECL strgen_fatal(const char *s, ...) char buf[1024]; va_list va; va_start(va, s); - vsnprintf(buf, lengthof(buf), s, va); + vseprintf(buf, lastof(buf), s, va); va_end(va); fprintf(stderr, LINE_NUM_FMT("FATAL"), _file, _cur_line, buf); #ifdef _MSC_VER @@ -87,7 +89,7 @@ void NORETURN CDECL error(const char *s, ...) char buf[1024]; va_list va; va_start(va, s); - vsnprintf(buf, lengthof(buf), s, va); + vseprintf(buf, lastof(buf), s, va); va_end(va); fprintf(stderr, LINE_NUM_FMT("FATAL"), _file, _cur_line, buf); #ifdef _MSC_VER @@ -120,9 +122,9 @@ struct FileStringReader : StringReader { fclose(this->fh); } - /* virtual */ char *ReadLine(char *buffer, size_t size) + /* virtual */ char *ReadLine(char *buffer, const char *last) { - return fgets(buffer, size, this->fh); + return fgets(buffer, ClampToU16(last - buffer + 1), this->fh); } /* virtual */ void HandlePragma(char *str); @@ -245,7 +247,7 @@ struct FileWriter { */ FileWriter(const char *filename) { - this->filename = strdup(filename); + this->filename = stredup(filename); this->fh = fopen(this->filename, "wb"); if (this->fh == NULL) { @@ -283,7 +285,7 @@ struct HeaderFileWriter : HeaderWriter, FileWriter { * @param filename The file to open. */ HeaderFileWriter(const char *filename) : FileWriter("tmp.xxx"), - real_filename(strdup(filename)), prev(0) + real_filename(stredup(filename)), prev(0) { fprintf(this->fh, "/* This file is automatically generated. Do not modify */\n\n"); fprintf(this->fh, "#ifndef TABLE_STRINGS_H\n"); @@ -384,13 +386,13 @@ static inline void ottd_mkdir(const char *directory) * path separator and the filename. The separator is only appended if the path * does not already end with a separator */ -static inline char *mkpath(char *buf, size_t buflen, const char *path, const char *file) +static inline char *mkpath(char *buf, const char *last, const char *path, const char *file) { - ttd_strlcpy(buf, path, buflen); // copy directory into buffer + strecpy(buf, path, last); // copy directory into buffer char *p = strchr(buf, '\0'); // add path separator if necessary - if (p[-1] != PATHSEPCHAR && (size_t)(p - buf) + 1 < buflen) *p++ = PATHSEPCHAR; - ttd_strlcpy(p, file, buflen - (size_t)(p - buf)); // concatenate filename at end of buffer + if (p[-1] != PATHSEPCHAR && p != last) *p++ = PATHSEPCHAR; + strecpy(p, file, last); // concatenate filename at end of buffer return buf; } @@ -520,7 +522,7 @@ int CDECL main(int argc, char *argv[]) * with a (free) parameter the program will translate that language to destination * directory. As input english.txt is parsed from the source directory */ if (mgo.numleft == 0) { - mkpath(pathbuf, lengthof(pathbuf), src_dir, "english.txt"); + mkpath(pathbuf, lastof(pathbuf), src_dir, "english.txt"); /* parse master file */ StringData data(TAB_COUNT); @@ -530,7 +532,7 @@ int CDECL main(int argc, char *argv[]) /* write strings.h */ ottd_mkdir(dest_dir); - mkpath(pathbuf, lengthof(pathbuf), dest_dir, "strings.h"); + mkpath(pathbuf, lastof(pathbuf), dest_dir, "strings.h"); HeaderFileWriter writer(pathbuf); writer.WriteHeader(data); @@ -538,7 +540,7 @@ int CDECL main(int argc, char *argv[]) } else if (mgo.numleft >= 1) { char *r; - mkpath(pathbuf, lengthof(pathbuf), src_dir, "english.txt"); + mkpath(pathbuf, lastof(pathbuf), src_dir, "english.txt"); StringData data(TAB_COUNT); /* parse master file and check if target file is correct */ @@ -556,12 +558,12 @@ int CDECL main(int argc, char *argv[]) /* get the targetfile, strip any directories and append to destination path */ r = strrchr(mgo.argv[i], PATHSEPCHAR); - mkpath(pathbuf, lengthof(pathbuf), dest_dir, (r != NULL) ? &r[1] : mgo.argv[i]); + mkpath(pathbuf, lastof(pathbuf), dest_dir, (r != NULL) ? &r[1] : mgo.argv[i]); /* rename the .txt (input-extension) to .lng */ r = strrchr(pathbuf, '.'); if (r == NULL || strcmp(r, ".txt") != 0) r = strchr(pathbuf, '\0'); - ttd_strlcpy(r, ".lng", (size_t)(r - pathbuf)); + strecpy(r, ".lng", lastof(pathbuf)); LanguageFileWriter writer(pathbuf); writer.WriteLang(data); diff --git a/src/strgen/strgen.h b/src/strgen/strgen.h index 22b24a2660..ecae71a72a 100644 --- a/src/strgen/strgen.h +++ b/src/strgen/strgen.h @@ -72,10 +72,10 @@ struct StringReader { /** * Read a single line from the source of strings. * @param buffer The buffer to read the data in to. - * @param size The size of the buffer. + * @param last The last element in the buffer. * @return The buffer, or NULL if at the end of the file. */ - virtual char *ReadLine(char *buffer, size_t size) = 0; + virtual char *ReadLine(char *buffer, const char *last) = 0; /** * Handle the pragma of the file. diff --git a/src/strgen/strgen_base.cpp b/src/strgen/strgen_base.cpp index be825fac06..c41f3d9b40 100644 --- a/src/strgen/strgen_base.cpp +++ b/src/strgen/strgen_base.cpp @@ -19,6 +19,8 @@ #include "../table/strgen_tables.h" +#include "../safeguards.h" + /* Compiles a list of strings into a compiled string list */ static bool _translated; ///< Whether the current language is not the master language @@ -38,7 +40,7 @@ static const CmdStruct *ParseCommandString(const char **str, char *param, int *a * @param next The next chained case. */ Case::Case(int caseidx, const char *string, Case *next) : - caseidx(caseidx), string(strdup(string)), next(next) + caseidx(caseidx), string(stredup(string)), next(next) { } @@ -57,7 +59,7 @@ Case::~Case() * @param line The line this string was found on. */ LangString::LangString(const char *name, const char *english, int index, int line) : - name(strdup(name)), english(strdup(english)), translated(NULL), + name(stredup(name)), english(stredup(english)), translated(NULL), hash_next(0), index(index), line(line), translated_case(NULL) { } @@ -386,7 +388,7 @@ static void EmitWordList(Buffer *buffer, const char * const *words, uint nw) void EmitPlural(Buffer *buffer, char *buf, int value) { int argidx = _cur_argidx; - int offset = 0; + int offset = -1; int expected = _plural_forms[_lang.plural_form].plural_count; const char **words = AllocaM(const char *, max(expected, MAX_PLURALS)); int nw = 0; @@ -394,6 +396,15 @@ void EmitPlural(Buffer *buffer, char *buf, int value) /* Parse out the number, if one exists. Otherwise default to prev arg. */ if (!ParseRelNum(&buf, &argidx, &offset)) argidx--; + const CmdStruct *cmd = _cur_pcs.cmd[argidx]; + if (offset == -1) { + /* Use default offset */ + if (cmd == NULL || cmd->default_plural_offset < 0) { + strgen_fatal("Command '%s' has no (default) plural position", cmd == NULL ? "" : cmd->cmd); + } + offset = cmd->default_plural_offset; + } + /* Parse each string */ for (nw = 0; nw < MAX_PLURALS; nw++) { words[nw] = ParseWord(&buf); @@ -575,7 +586,7 @@ static const CmdStruct *ParseCommandString(const char **str, char *param, int *a * @param translation Are we reading a translation? */ StringReader::StringReader(StringData &data, const char *file, bool master, bool translation) : - data(data), file(strdup(file)), master(master), translation(translation) + data(data), file(stredup(file)), master(master), translation(translation) { } @@ -612,7 +623,7 @@ static void ExtractCommandString(ParsedCommandStruct *p, const char *s, bool war } else if (!(ar->flags & C_DONTCOUNT)) { // Ignore some of them if (p->np >= lengthof(p->pairs)) strgen_fatal("too many commands in string, max " PRINTF_SIZE, lengthof(p->pairs)); p->pairs[p->np].a = ar; - p->pairs[p->np].v = param[0] != '\0' ? strdup(param) : ""; + p->pairs[p->np].v = param[0] != '\0' ? stredup(param) : ""; p->np++; } } @@ -776,7 +787,7 @@ void StringReader::HandleString(char *str) if (casep != NULL) { ent->translated_case = new Case(ResolveCaseName(casep, strlen(casep)), s, ent->translated_case); } else { - ent->translated = strdup(s); + ent->translated = stredup(s); /* If the string was translated, use the line from the * translated language so errors in the translated file * are properly referenced to. */ @@ -819,7 +830,7 @@ void StringReader::ParseFile() strecpy(_lang.digit_decimal_separator, ".", lastof(_lang.digit_decimal_separator)); _cur_line = 1; - while (this->ReadLine(buf, sizeof(buf)) != NULL) { + while (this->ReadLine(buf, lastof(buf)) != NULL) { rstrip(buf); this->HandleString(buf); _cur_line++; diff --git a/src/string.cpp b/src/string.cpp index 983f79edff..6bc9319c1c 100644 --- a/src/string.cpp +++ b/src/string.cpp @@ -32,6 +32,11 @@ #include "gfx_func.h" #endif /* WITH_ICU */ +/* The function vsnprintf is used internally to perform the required formatting + * tasks. As such this one must be allowed, and makes sure it's terminated. */ +#include "safeguards.h" +#undef vsnprintf + /** * Safer implementation of vsnprintf; same as vsnprintf except: * - last instead of size, i.e. replace sizeof with lastof. @@ -42,63 +47,13 @@ * @param ap the list of arguments for the format * @return the number of added characters */ -static int CDECL vseprintf(char *str, const char *last, const char *format, va_list ap) +int CDECL vseprintf(char *str, const char *last, const char *format, va_list ap) { ptrdiff_t diff = last - str; if (diff < 0) return 0; return min((int)diff, vsnprintf(str, diff + 1, format, ap)); } -/** - * Appends characters from one string to another. - * - * Appends the source string to the destination string with respect of the - * terminating null-character and the maximum size of the destination - * buffer. - * - * @note usage ttd_strlcat(dst, src, lengthof(dst)); - * @note lengthof() applies only to fixed size arrays - * - * @param dst The buffer containing the target string - * @param src The buffer containing the string to append - * @param size The maximum size of the destination buffer - */ -void ttd_strlcat(char *dst, const char *src, size_t size) -{ - assert(size > 0); - while (size > 0 && *dst != '\0') { - size--; - dst++; - } - - ttd_strlcpy(dst, src, size); -} - - -/** - * Copies characters from one buffer to another. - * - * Copies the source string to the destination buffer with respect of the - * terminating null-character and the maximum size of the destination - * buffer. - * - * @note usage ttd_strlcpy(dst, src, lengthof(dst)); - * @note lengthof() applies only to fixed size arrays - * - * @param dst The destination buffer - * @param src The buffer containing the string to copy - * @param size The maximum size of the destination buffer - */ -void ttd_strlcpy(char *dst, const char *src, size_t size) -{ - assert(size > 0); - while (--size > 0 && *src != '\0') { - *dst++ = *src++; - } - *dst = '\0'; -} - - /** * Appends characters from one string to another. * @@ -161,6 +116,21 @@ char *strecpy(char *dst, const char *src, const char *last) return dst; } +/** + * Create a duplicate of the given string. + * @param s The string to duplicate. + * @param last The last character that is safe to duplicate. If NULL, the whole string is duplicated. + * @note The maximum length of the resulting string might therefore be last - s + 1. + * @return The duplicate of the string. + */ +char *stredup(const char *s, const char *last) +{ + size_t len = last == NULL ? strlen(s) : ttd_strnlen(s, last - s + 1); + char *tmp = CallocT(len + 1); + memcpy(tmp, s, len); + return tmp; +} + /** * Format, "printf", into a newly allocated string. * @param str The formatting string. @@ -379,20 +349,6 @@ bool IsValidChar(WChar key, CharSetFilter afilter) } #ifdef WIN32 -/* Since version 3.14, MinGW Runtime has snprintf() and vsnprintf() conform to C99 but it's not the case for older versions */ -#if (__MINGW32_MAJOR_VERSION < 3) || ((__MINGW32_MAJOR_VERSION == 3) && (__MINGW32_MINOR_VERSION < 14)) -int CDECL snprintf(char *str, size_t size, const char *format, ...) -{ - va_list ap; - int ret; - - va_start(ap, format); - ret = vsnprintf(str, size, format, ap); - va_end(ap); - return ret; -} -#endif /* MinGW Runtime < 3.14 */ - #ifdef _MSC_VER /** * Almost POSIX compliant implementation of \c vsnprintf for VC compiler. @@ -572,16 +528,6 @@ size_t Utf8TrimString(char *s, size_t maxlen) return length; } -#ifdef DEFINE_STRNDUP -char *strndup(const char *s, size_t len) -{ - len = ttd_strnlen(s, len); - char *tmp = CallocT(len + 1); - memcpy(tmp, s, len); - return tmp; -} -#endif /* DEFINE_STRNDUP */ - #ifdef DEFINE_STRCASESTR char *strcasestr(const char *haystack, const char *needle) { @@ -698,7 +644,7 @@ public: size_t idx = s - string_base; WChar c = Utf8Consume(&s); - if (c < 0x10000) { + if (c < 0x10000) { *this->utf16_str.Append() = (UChar)c; } else { /* Make a surrogate pair. */ diff --git a/src/string_func.h b/src/string_func.h index d7056f1be1..ff12f3747a 100644 --- a/src/string_func.h +++ b/src/string_func.h @@ -26,16 +26,17 @@ #ifndef STRING_FUNC_H #define STRING_FUNC_H +#include + #include "core/bitmath_func.hpp" #include "string_type.h" -void ttd_strlcat(char *dst, const char *src, size_t size); -void ttd_strlcpy(char *dst, const char *src, size_t size); - char *strecat(char *dst, const char *src, const char *last); char *strecpy(char *dst, const char *src, const char *last); +char *stredup(const char *src, const char *last = NULL); int CDECL seprintf(char *str, const char *last, const char *format, ...) WARN_FORMAT(3, 4); +int CDECL vseprintf(char *str, const char *last, const char *format, va_list ap); char *CDECL str_fmt(const char *str, ...) WARN_FORMAT(1, 2); @@ -248,14 +249,6 @@ static inline bool IsWhitespace(WChar c) #include #endif -/* strndup is a GNU extension */ -#if defined(_GNU_SOURCE) || (defined(__NetBSD_Version__) && 400000000 <= __NetBSD_Version__) || (defined(__FreeBSD_version) && 701101 <= __FreeBSD_version) || (defined(__DARWIN_C_LEVEL) && __DARWIN_C_LEVEL >= 200809L) -# undef DEFINE_STRNDUP -#else -# define DEFINE_STRNDUP -char *strndup(const char *s, size_t len); -#endif /* strndup is available */ - /* strcasestr is available for _GNU_SOURCE, BSD and some Apple */ #if defined(_GNU_SOURCE) || (defined(__BSD_VISIBLE) && __BSD_VISIBLE) || (defined(__APPLE__) && (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE))) || defined(_NETBSD_SOURCE) # undef DEFINE_STRCASESTR diff --git a/src/stringfilter.cpp b/src/stringfilter.cpp index e021c57b57..6045c19ef4 100644 --- a/src/stringfilter.cpp +++ b/src/stringfilter.cpp @@ -15,6 +15,8 @@ #include "stringfilter_type.h" #include "gfx_func.h" +#include "safeguards.h" + static const WChar STATE_WHITESPACE = ' '; static const WChar STATE_WORD = 'w'; static const WChar STATE_QUOTE1 = '\''; @@ -32,7 +34,7 @@ void StringFilter::SetFilterTerm(const char *str) assert(str != NULL); - char *dest = (char *)malloc(strlen(str) + 1); + char *dest = MallocT(strlen(str) + 1); this->filter_buffer = dest; WChar state = STATE_WHITESPACE; diff --git a/src/strings.cpp b/src/strings.cpp index dcaa6ae292..9c88b70c77 100644 --- a/src/strings.cpp +++ b/src/strings.cpp @@ -13,7 +13,6 @@ #include "currency.h" #include "station_base.h" #include "town.h" -#include "screenshot.h" #include "waypoint_base.h" #include "depot_base.h" #include "industry.h" @@ -36,11 +35,14 @@ #include "window_func.h" #include "debug.h" #include "game/game_text.hpp" +#include "network/network_content_gui.h" #include #include "table/strings.h" #include "table/control_codes.h" +#include "safeguards.h" + char _config_language_file[MAX_PATH]; ///< The file (name) stored in the configuration. LanguageList _languages; ///< The actual list of language meta data. const LanguageMetadata *_current_language = NULL; ///< The currently loaded language. @@ -163,7 +165,7 @@ void CopyOutDParam(uint64 *dst, const char **strings, StringID string, int num) MemCpyT(dst, _global_string_params.GetPointerToOffset(0), num); for (int i = 0; i < num; i++) { if (_global_string_params.HasTypeInformation() && _global_string_params.GetTypeAtOffset(i) == SCC_RAW_STRING_POINTER) { - strings[i] = strdup((const char *)(size_t)_global_string_params.GetParam(i)); + strings[i] = stredup((const char *)(size_t)_global_string_params.GetParam(i)); dst[i] = (size_t)strings[i]; } else { strings[i] = NULL; @@ -398,7 +400,7 @@ static char *FormatBytes(char *buff, int64 number, const char *last) } assert(id < lengthof(iec_prefixes)); - buff += seprintf(buff, last, " %sB", iec_prefixes[id]); + buff += seprintf(buff, last, NBSP "%sB", iec_prefixes[id]); return buff; } @@ -408,7 +410,7 @@ static char *FormatYmdString(char *buff, Date date, const char *last, uint case_ YearMonthDay ymd; ConvertDateToYMD(date, &ymd); - int64 args[] = {ymd.day + STR_ORDINAL_NUMBER_1ST - 1, STR_MONTH_ABBREV_JAN + ymd.month, ymd.year}; + int64 args[] = {ymd.day + STR_DAY_NUMBER_1ST - 1, STR_MONTH_ABBREV_JAN + ymd.month, ymd.year}; StringParameters tmp_params(args); return FormatString(buff, GetStringPtr(STR_FORMAT_DATE_LONG), &tmp_params, last, case_index); } @@ -431,8 +433,8 @@ static char *FormatTinyOrISODate(char *buff, Date date, StringID str, const char char day[3]; char month[3]; /* We want to zero-pad the days and months */ - snprintf(day, lengthof(day), "%02i", ymd.day); - snprintf(month, lengthof(month), "%02i", ymd.month + 1); + seprintf(day, lastof(day), "%02i", ymd.day); + seprintf(month, lastof(month), "%02i", ymd.month + 1); int64 args[] = {(int64)(size_t)day, (int64)(size_t)month, ymd.year}; StringParameters tmp_params(args); @@ -467,10 +469,10 @@ static char *FormatGenericCurrency(char *buff, const CurrencySpec *spec, Money n * and 1 000 M is inconsistent, so always use 1 000 M. */ if (number >= 1000000000 - 500) { number = (number + 500000) / 1000000; - multiplier = "M"; + multiplier = NBSP "M"; } else if (number >= 1000000) { number = (number + 500) / 1000; - multiplier = "k"; + multiplier = NBSP "k"; } } @@ -873,7 +875,7 @@ static char *FormatString(char *buff, const char *str_arg, StringParameters *arg bool lookup = (l == SCC_ENCODED); if (lookup) s += len; - param = (int32)strtoul(s, &p, 16); + param = strtoull(s, &p, 16); if (lookup) { if (param >= TAB_SIZE) { @@ -887,7 +889,7 @@ static char *FormatString(char *buff, const char *str_arg, StringParameters *arg sub_args.SetParam(i++, param); } else { - char *g = strdup(s); + char *g = stredup(s); g[p - s] = '\0'; sub_args_need_free[i] = true; @@ -1680,12 +1682,6 @@ static char *GetSpecialNameString(char *buff, int ind, StringParameters *args, c return buff; } - /* screenshot format name? */ - if (IsInsideMM(ind, (SPECSTR_SCREENSHOT_START - 0x70E4), (SPECSTR_SCREENSHOT_END - 0x70E4) + 1)) { - int i = ind - (SPECSTR_SCREENSHOT_START - 0x70E4); - return strecpy(buff, GetScreenshotFormatDesc(i), last); - } - NOT_REACHED(); } @@ -1819,6 +1815,7 @@ bool ReadLanguagePack(const LanguageMetadata *lang) SortIndustryTypes(); BuildIndustriesLegend(); SortNetworkLanguages(); + BuildContentTypeStringList(); InvalidateWindowClassesData(WC_BUILD_VEHICLE); // Build vehicle window. InvalidateWindowClassesData(WC_TRAINS_LIST); // Train group window. InvalidateWindowClassesData(WC_ROADVEH_LIST); // Road vehicle group window. @@ -1869,7 +1866,7 @@ int CDECL StringIDSorter(const StringID *a, const StringID *b) GetString(stra, *a, lastof(stra)); GetString(strb, *b, lastof(strb)); - return strcmp(stra, strb); + return strnatcmp(stra, strb); } /** @@ -1952,7 +1949,7 @@ void InitializeLanguagePacks() FOR_ALL_SEARCHPATHS(sp) { char path[MAX_PATH]; - FioAppendDirectory(path, lengthof(path), sp, LANG_DIR); + FioAppendDirectory(path, lastof(path), sp, LANG_DIR); GetLanguageList(path); } if (_languages.Length() == 0) usererror("No available language packs (invalid versions?)"); @@ -2122,7 +2119,7 @@ void CheckForMissingGlyphs(bool base_font, MissingGlyphSearcher *searcher) * properly we have to set the colour of the string, otherwise we end up with a lot of artifacts. * The colour 'character' might change in the future, so for safety we just Utf8 Encode it into * the string, which takes exactly three characters, so it replaces the "XXX" with the colour marker. */ - static char *err_str = strdup("XXXThe current font is missing some of the characters used in the texts for this language. Read the readme to see how to solve this."); + static char *err_str = stredup("XXXThe current font is missing some of the characters used in the texts for this language. Read the readme to see how to solve this."); Utf8Encode(err_str, SCC_YELLOW); SetDParamStr(0, err_str); ShowErrorMessage(STR_JUST_RAW_STRING, INVALID_STRING_ID, WL_WARNING); @@ -2150,7 +2147,7 @@ void CheckForMissingGlyphs(bool base_font, MissingGlyphSearcher *searcher) * the colour marker. */ if (_current_text_dir != TD_LTR) { - static char *err_str = strdup("XXXThis version of OpenTTD does not support right-to-left languages. Recompile with icu enabled."); + static char *err_str = stredup("XXXThis version of OpenTTD does not support right-to-left languages. Recompile with icu enabled."); Utf8Encode(err_str, SCC_YELLOW); SetDParamStr(0, err_str); ShowErrorMessage(STR_JUST_RAW_STRING, INVALID_STRING_ID, WL_ERROR); diff --git a/src/strings_type.h b/src/strings_type.h index 35f22e5fc2..c6eebd54d8 100644 --- a/src/strings_type.h +++ b/src/strings_type.h @@ -69,10 +69,6 @@ enum SpecialStrings { /* reserve 32 strings for various screen resolutions */ SPECSTR_RESOLUTION_START = SPECSTR_LANGUAGE_END + 1, SPECSTR_RESOLUTION_END = SPECSTR_RESOLUTION_START + 0x1F, - - /* reserve 32 strings for screenshot formats */ - SPECSTR_SCREENSHOT_START = SPECSTR_RESOLUTION_END + 1, - SPECSTR_SCREENSHOT_END = SPECSTR_SCREENSHOT_START + 0x1F, }; #endif /* STRINGS_TYPE_H */ diff --git a/src/subsidy.cpp b/src/subsidy.cpp index 0cccd92d54..62b463ced3 100644 --- a/src/subsidy.cpp +++ b/src/subsidy.cpp @@ -24,9 +24,12 @@ #include "core/random_func.hpp" #include "game/game.hpp" #include "command_func.h" +#include "string_func.h" #include "table/strings.h" +#include "safeguards.h" + SubsidyPool _subsidy_pool("Subsidy"); ///< Pool for the subsidies. INSTANTIATE_POOL_METHODS(Subsidy) @@ -45,7 +48,7 @@ void Subsidy::AwardTo(CompanyID company) SetDParam(0, company); GetString(company_name, STR_COMPANY_NAME, lastof(company_name)); - char *cn = strdup(company_name); + char *cn = stredup(company_name); /* Add a news item */ Pair reftype = SetupSubsidyDecodeParam(this, false); diff --git a/src/subsidy_gui.cpp b/src/subsidy_gui.cpp index 298a8bb571..04e5ae262b 100644 --- a/src/subsidy_gui.cpp +++ b/src/subsidy_gui.cpp @@ -25,6 +25,8 @@ #include "table/strings.h" +#include "safeguards.h" + struct SubsidyListWindow : Window { Scrollbar *vscroll; diff --git a/src/table/build_industry.h b/src/table/build_industry.h index 9c9a28d48f..5ae93bc7ed 100644 --- a/src/table/build_industry.h +++ b/src/table/build_industry.h @@ -254,7 +254,6 @@ static const IndustryTileTable _tile_table_oil_rig_0[] = { MK(1, 0, 26), MK(1, 1, 27), MK(1, 2, 28), - MK(-4, -5, 255), MK(-4, -4, 255), MK(-4, -3, 255), MK(-4, -2, 255), @@ -265,9 +264,10 @@ static const IndustryTileTable _tile_table_oil_rig_0[] = { MK(-4, 3, 255), MK(-4, 4, 255), MK(-4, 5, 255), - MK(-3, 5, 255), - MK(-2, 5, 255), - MK(-1, 5, 255), + MK(-4, 6, 255), + MK(-3, 6, 255), + MK(-2, 6, 255), + MK(-1, 6, 255), MK(0, 6, 255), MK(1, 6, 255), MK(2, 6, 255), @@ -289,9 +289,9 @@ static const IndustryTileTable _tile_table_oil_rig_0[] = { MK(2, -4, 255), MK(1, -4, 255), MK(0, -4, 255), - MK(-1, -5, 255), - MK(-2, -5, 255), - MK(-3, -5, 255), + MK(-1, -4, 255), + MK(-2, -4, 255), + MK(-3, -4, 255), MK(2, 0, 255), MKEND }; diff --git a/src/table/heightmap_colours.h b/src/table/heightmap_colours.h new file mode 100644 index 0000000000..42b99eeca1 --- /dev/null +++ b/src/table/heightmap_colours.h @@ -0,0 +1,344 @@ +/* $Id$ */ + +/* + * 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. + * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see . + */ + +/** + * @file heightmap_colours.h The colour tables for heightmaps. + */ + +/** Height map colours for the green colour scheme, ordered by height. */ +static const uint32 _green_map_heights[] = { + MKCOLOUR(0x59595958), + MKCOLOUR(0x59595958), + MKCOLOUR(0x59595959), + MKCOLOUR(0x5959595A), + MKCOLOUR(0x59595A59), + MKCOLOUR(0x59595A5A), + MKCOLOUR(0x595A5959), + MKCOLOUR(0x595A595A), + MKCOLOUR(0x595A5A59), + MKCOLOUR(0x595A5A5A), + MKCOLOUR(0x5A595959), + MKCOLOUR(0x5A59595A), + MKCOLOUR(0x5A595A59), + MKCOLOUR(0x5A595A5A), + MKCOLOUR(0x5A5A5959), + MKCOLOUR(0x5A5A595A), + MKCOLOUR(0x5A5A5A59), + MKCOLOUR(0x5A5A5A5A), + MKCOLOUR(0x5A5A5A5B), + MKCOLOUR(0x5A5A5B5A), + MKCOLOUR(0x5A5A5B5B), + MKCOLOUR(0x5A5B5A5A), + MKCOLOUR(0x5A5B5A5B), + MKCOLOUR(0x5A5B5B5A), + MKCOLOUR(0x5A5B5B5B), + MKCOLOUR(0x5B5A5A5A), + MKCOLOUR(0x5B5A5A5B), + MKCOLOUR(0x5B5A5B5A), + MKCOLOUR(0x5B5A5B5B), + MKCOLOUR(0x5B5B5A5A), + MKCOLOUR(0x5B5B5A5B), + MKCOLOUR(0x5B5B5B5B), + MKCOLOUR(0x5B5B5B5C), + MKCOLOUR(0x5B5B5C5B), + MKCOLOUR(0x5B5B5C5C), + MKCOLOUR(0x5B5C5B5B), + MKCOLOUR(0x5B5C5B5C), + MKCOLOUR(0x5B5C5C5B), + MKCOLOUR(0x5B5C5C5C), + MKCOLOUR(0x5C5B5B5B), + MKCOLOUR(0x5C5B5B5C), + MKCOLOUR(0x5C5B5C5B), + MKCOLOUR(0x5C5B5C5C), + MKCOLOUR(0x5C5C5B5B), + MKCOLOUR(0x5C5C5B5C), + MKCOLOUR(0x5C5C5C5C), + MKCOLOUR(0x5C5C5C5D), + MKCOLOUR(0x5C5C5D5C), + MKCOLOUR(0x5C5C5D5D), + MKCOLOUR(0x5C5D5C5C), + MKCOLOUR(0x5C5D5C5D), + MKCOLOUR(0x5C5D5D5C), + MKCOLOUR(0x5C5D5D5D), + MKCOLOUR(0x5D5C5C5C), + MKCOLOUR(0x5D5C5C5D), + MKCOLOUR(0x5D5C5D5C), + MKCOLOUR(0x5D5C5D5D), + MKCOLOUR(0x5D5D5C5C), + MKCOLOUR(0x5D5D5C5D), + MKCOLOUR(0x5D5D5D5D), + MKCOLOUR(0x5D5D5D5E), + MKCOLOUR(0x5D5D5E5D), + MKCOLOUR(0x5D5D5E5E), + MKCOLOUR(0x5D5E5D5D), + MKCOLOUR(0x5D5E5D5E), + MKCOLOUR(0x5D5E5E5D), + MKCOLOUR(0x5D5E5E5E), + MKCOLOUR(0x5E5D5D5D), + MKCOLOUR(0x5E5D5D5E), + MKCOLOUR(0x5E5D5E5D), + MKCOLOUR(0x5E5D5E5E), + MKCOLOUR(0x5E5D5D5D), + MKCOLOUR(0x5E5D5D5E), + MKCOLOUR(0x5E5E5E5E), + MKCOLOUR(0x5E5E5E5F), + MKCOLOUR(0x5E5E5F5E), + MKCOLOUR(0x5E5E5F5F), + MKCOLOUR(0x5E5F5E5E), + MKCOLOUR(0x5E5F5E5F), + MKCOLOUR(0x5E5F5F5E), + MKCOLOUR(0x5E5F5F5F), + MKCOLOUR(0x5F5E5E5E), + MKCOLOUR(0x5F5E5E5F), + MKCOLOUR(0x5F5E5F5E), + MKCOLOUR(0x5F5E5F5F), + MKCOLOUR(0x5F5F5E5E), + MKCOLOUR(0x5F5F5E5F), + MKCOLOUR(0x5F5F5F5F), + MKCOLOUR(0x5F5F5F1F), + MKCOLOUR(0x5F5F1F5F), + MKCOLOUR(0x5F5F1F1F), + MKCOLOUR(0x5F1F5F1F), + MKCOLOUR(0x5F1F1F1F), + MKCOLOUR(0x1F5F5F5F), + MKCOLOUR(0x1F5F5F1F), + MKCOLOUR(0x1F5F1F5F), + MKCOLOUR(0x1F5F1F1F), + MKCOLOUR(0x1F1F5F5F), + MKCOLOUR(0x1F1F5F1F), + MKCOLOUR(0x1F1F1F5F), + MKCOLOUR(0x1F1F1F1F), + MKCOLOUR(0x1F1F1F27), + MKCOLOUR(0x1F1F271F), + MKCOLOUR(0x1F1F2727), + MKCOLOUR(0x1F271F1F), + MKCOLOUR(0x1F271F27), + MKCOLOUR(0x1F272727), + MKCOLOUR(0x271F1F1F), + MKCOLOUR(0x271F1F27), + MKCOLOUR(0x271F271F), + MKCOLOUR(0x271F2727), + MKCOLOUR(0x27271F1F), + MKCOLOUR(0x27271F27), + MKCOLOUR(0x2727271F), + MKCOLOUR(0x27272727), +}; + +/** Height map colours for the dark green colour scheme, ordered by height. */ +static const uint32 _dark_green_map_heights[] = { + MKCOLOUR(0x60606060), + MKCOLOUR(0x60606061), + MKCOLOUR(0x60606160), + MKCOLOUR(0x60606161), + MKCOLOUR(0x60616060), + MKCOLOUR(0x60616061), + MKCOLOUR(0x60616160), + MKCOLOUR(0x60616161), + MKCOLOUR(0x61606060), + MKCOLOUR(0x61606061), + MKCOLOUR(0x61606160), + MKCOLOUR(0x61606161), + MKCOLOUR(0x61616060), + MKCOLOUR(0x61616061), + MKCOLOUR(0x61616160), + MKCOLOUR(0x61616161), + MKCOLOUR(0x61616162), + MKCOLOUR(0x61616261), + MKCOLOUR(0x61616262), + MKCOLOUR(0x61626161), + MKCOLOUR(0x61626162), + MKCOLOUR(0x61626261), + MKCOLOUR(0x61626262), + MKCOLOUR(0x62616161), + MKCOLOUR(0x62616162), + MKCOLOUR(0x62616261), + MKCOLOUR(0x62616262), + MKCOLOUR(0x62626161), + MKCOLOUR(0x62626162), + MKCOLOUR(0x62626261), + MKCOLOUR(0x62626262), + MKCOLOUR(0x62626263), + MKCOLOUR(0x62626362), + MKCOLOUR(0x62626363), + MKCOLOUR(0x62636262), + MKCOLOUR(0x62636263), + MKCOLOUR(0x62636362), + MKCOLOUR(0x62636363), + MKCOLOUR(0x63626262), + MKCOLOUR(0x63626263), + MKCOLOUR(0x63626362), + MKCOLOUR(0x63626363), + MKCOLOUR(0x63636262), + MKCOLOUR(0x63636263), + MKCOLOUR(0x63636362), + MKCOLOUR(0x63636363), + MKCOLOUR(0x63636364), + MKCOLOUR(0x63636463), + MKCOLOUR(0x63636464), + MKCOLOUR(0x63646363), + MKCOLOUR(0x63646364), + MKCOLOUR(0x63646463), + MKCOLOUR(0x63646464), + MKCOLOUR(0x64636363), + MKCOLOUR(0x64636364), + MKCOLOUR(0x64636463), + MKCOLOUR(0x64636464), + MKCOLOUR(0x64646363), + MKCOLOUR(0x64646364), + MKCOLOUR(0x64646463), + MKCOLOUR(0x64646464), + MKCOLOUR(0x64646465), + MKCOLOUR(0x64646564), + MKCOLOUR(0x64646565), + MKCOLOUR(0x64656464), + MKCOLOUR(0x64656465), + MKCOLOUR(0x64656564), + MKCOLOUR(0x64656565), + MKCOLOUR(0x65646464), + MKCOLOUR(0x65646465), + MKCOLOUR(0x65646564), + MKCOLOUR(0x65646565), + MKCOLOUR(0x65656464), + MKCOLOUR(0x65656465), + MKCOLOUR(0x65656564), + MKCOLOUR(0x65656565), + MKCOLOUR(0x65656566), + MKCOLOUR(0x65656665), + MKCOLOUR(0x65656666), + MKCOLOUR(0x65666565), + MKCOLOUR(0x65666566), + MKCOLOUR(0x65666665), + MKCOLOUR(0x65666666), + MKCOLOUR(0x66656565), + MKCOLOUR(0x66656566), + MKCOLOUR(0x66656665), + MKCOLOUR(0x66656666), + MKCOLOUR(0x66666565), + MKCOLOUR(0x66666566), + MKCOLOUR(0x66666665), + MKCOLOUR(0x66666666), + MKCOLOUR(0x66666667), + MKCOLOUR(0x66666766), + MKCOLOUR(0x66666767), + MKCOLOUR(0x66676666), + MKCOLOUR(0x66676667), + MKCOLOUR(0x66676766), + MKCOLOUR(0x66676767), + MKCOLOUR(0x67676767), +}; + +/** Height map colours for the violet colour scheme, ordered by height. */ +static const uint32 _violet_map_heights[] = { + MKCOLOUR(0x80808080), + MKCOLOUR(0x80808081), + MKCOLOUR(0x80808180), + MKCOLOUR(0x80808181), + MKCOLOUR(0x80818080), + MKCOLOUR(0x80818081), + MKCOLOUR(0x80818180), + MKCOLOUR(0x80818181), + MKCOLOUR(0x81808080), + MKCOLOUR(0x81808081), + MKCOLOUR(0x81808180), + MKCOLOUR(0x81808181), + MKCOLOUR(0x81818080), + MKCOLOUR(0x81818081), + MKCOLOUR(0x81818180), + MKCOLOUR(0x81818181), + MKCOLOUR(0x81818182), + MKCOLOUR(0x81818281), + MKCOLOUR(0x81818282), + MKCOLOUR(0x81828181), + MKCOLOUR(0x81828182), + MKCOLOUR(0x81828281), + MKCOLOUR(0x81828282), + MKCOLOUR(0x82818181), + MKCOLOUR(0x82818182), + MKCOLOUR(0x82818281), + MKCOLOUR(0x82818282), + MKCOLOUR(0x82828181), + MKCOLOUR(0x82828182), + MKCOLOUR(0x82828281), + MKCOLOUR(0x82828282), + MKCOLOUR(0x82828283), + MKCOLOUR(0x82828382), + MKCOLOUR(0x82828383), + MKCOLOUR(0x82838282), + MKCOLOUR(0x82838283), + MKCOLOUR(0x82838382), + MKCOLOUR(0x82838383), + MKCOLOUR(0x83828282), + MKCOLOUR(0x83828283), + MKCOLOUR(0x83828382), + MKCOLOUR(0x83828383), + MKCOLOUR(0x83838282), + MKCOLOUR(0x83838283), + MKCOLOUR(0x83838382), + MKCOLOUR(0x83838383), + MKCOLOUR(0x83838384), + MKCOLOUR(0x83838483), + MKCOLOUR(0x83838484), + MKCOLOUR(0x83848383), + MKCOLOUR(0x83848384), + MKCOLOUR(0x83848483), + MKCOLOUR(0x83848484), + MKCOLOUR(0x84838383), + MKCOLOUR(0x84838384), + MKCOLOUR(0x84838483), + MKCOLOUR(0x84838484), + MKCOLOUR(0x84848383), + MKCOLOUR(0x84848384), + MKCOLOUR(0x84848483), + MKCOLOUR(0x84848484), + MKCOLOUR(0x84848485), + MKCOLOUR(0x84848584), + MKCOLOUR(0x84848585), + MKCOLOUR(0x84858484), + MKCOLOUR(0x84858485), + MKCOLOUR(0x84858584), + MKCOLOUR(0x84858585), + MKCOLOUR(0x85848484), + MKCOLOUR(0x85848485), + MKCOLOUR(0x85848584), + MKCOLOUR(0x85848585), + MKCOLOUR(0x85858484), + MKCOLOUR(0x85858485), + MKCOLOUR(0x85858584), + MKCOLOUR(0x85858585), + MKCOLOUR(0x85858586), + MKCOLOUR(0x85858685), + MKCOLOUR(0x85858686), + MKCOLOUR(0x85868585), + MKCOLOUR(0x85868586), + MKCOLOUR(0x85868685), + MKCOLOUR(0x85868686), + MKCOLOUR(0x85868585), + MKCOLOUR(0x85868586), + MKCOLOUR(0x85868685), + MKCOLOUR(0x85868686), + MKCOLOUR(0x86868585), + MKCOLOUR(0x86868586), + MKCOLOUR(0x86868685), + MKCOLOUR(0x86868686), + MKCOLOUR(0x86868687), + MKCOLOUR(0x86868786), + MKCOLOUR(0x86868787), + MKCOLOUR(0x86878686), + MKCOLOUR(0x86878687), + MKCOLOUR(0x86878786), + MKCOLOUR(0x86878787), + MKCOLOUR(0x87868686), + MKCOLOUR(0x87868687), + MKCOLOUR(0x87868786), + MKCOLOUR(0x87868787), + MKCOLOUR(0x87878686), + MKCOLOUR(0x87878687), + MKCOLOUR(0x87878786), + MKCOLOUR(0x87878787), +}; diff --git a/src/table/misc_settings.ini b/src/table/misc_settings.ini index 1a2b5ef6b8..52ca2d16ef 100644 --- a/src/table/misc_settings.ini +++ b/src/table/misc_settings.ini @@ -9,12 +9,15 @@ [pre-amble] extern char _config_language_file[MAX_PATH]; +static const char *_support8bppmodes = "no|system|hardware"; + static const SettingDescGlobVarList _misc_settings[] = { [post-amble] }; [templates] SDTG_LIST = SDTG_LIST($name, $type, $length, $flags, $guiflags, $var, $def, $str, $strhelp, $strval, $proc, $from, $to, $cat), SDTG_MMANY = SDTG_MMANY($name, $type, $flags, $guiflags, $var, $def, $full, $str, $strhelp, $strval, $proc, $from, $to, $cat), +SDTG_OMANY = SDTG_OMANY($name, $type, $flags, $guiflags, $var, $def, $max, $full, $str, $strhelp, $strval, $proc, $from, $to, $cat), SDTG_STR = SDTG_STR($name, $type, $flags, $guiflags, $var, $def, $str, $strhelp, $strval, $proc, $from, $to, $cat), SDTG_BOOL = SDTG_BOOL($name, $flags, $guiflags, $var, $def, $str, $strhelp, $strval, $proc, $from, $to, $cat), SDTG_VAR = SDTG_VAR($name, $type, $flags, $guiflags, $var, $def, $min, $max, $interval, $str, $strhelp, $strval, $proc, $from, $to, $cat), @@ -48,6 +51,15 @@ var = _fullscreen def = false cat = SC_BASIC +[SDTG_OMANY] +name = ""support8bpp"" +type = SLE_UINT8 +var = _support8bpp +def = 0 +max = 2 +full = _support8bppmodes +cat = SC_BASIC + [SDTG_STR] name = ""graphicsset"" type = SLE_STRQ @@ -287,5 +299,14 @@ min = 0 max = UINT32_MAX cat = SC_EXPERT +[SDTG_VAR] +name = ""gui_zoom"" +type = SLE_UINT8 +var = _gui_zoom +def = ZOOM_LVL_OUT_4X +min = ZOOM_LVL_MIN +max = ZOOM_LVL_OUT_4X +cat = SC_BASIC + [SDTG_END] diff --git a/src/table/newgrf_debug_data.h b/src/table/newgrf_debug_data.h index 4814ae50ce..c731409341 100644 --- a/src/table/newgrf_debug_data.h +++ b/src/table/newgrf_debug_data.h @@ -61,7 +61,7 @@ static const NIVariable _niv_vehicles[] = { NIV(0x4A, "current rail type info"), NIV(0x4B, "long date of last service"), NIV(0x4C, "current max speed"), - NIV(0x4A, "position in articulated vehicle"), + NIV(0x4D, "position in articulated vehicle"), NIV(0x60, "count vehicle id occurrences"), // 0x61 not useful, since it requires register 0x10F NIV(0x62, "Curvature/position difference to other vehicle"), diff --git a/src/table/object_land.h b/src/table/object_land.h index 035b1ee8e4..a19b2cb089 100644 --- a/src/table/object_land.h +++ b/src/table/object_land.h @@ -123,7 +123,7 @@ static const DrawTileSprites _object_hq[] = { #undef TILE_SPRITE_LINE -#define M(name, size, build_cost_multiplier, clear_cost_multiplier, height, climate, gen_amount, flags) { GRFFilePropsBase<2>(), INVALID_OBJECT_CLASS, name, climate, size, build_cost_multiplier, clear_cost_multiplier, 0, 0xFFFFFFFF, flags, {0, 0, 0, 0}, 0, height, 1, gen_amount, true } +#define M(name, size, build_cost_multiplier, clear_cost_multiplier, height, climate, gen_amount, flags) { GRFFilePropsBase<2>(), INVALID_OBJECT_CLASS, name, climate, size, build_cost_multiplier, clear_cost_multiplier, 0, MAX_DAY + 1, flags, {0, 0, 0, 0}, 0, height, 1, gen_amount, true } /* Climates * T = Temperate diff --git a/src/table/palettes.h b/src/table/palettes.h index e190134c9b..93cb7385e1 100644 --- a/src/table/palettes.h +++ b/src/table/palettes.h @@ -147,24 +147,3 @@ static const ExtraPaletteValues _extra_palette_values = { M(116, 180, 196), M(148, 200, 216), M(180, 220, 232) } }; #undef M - -/** Colour mapping for the TextColours. */ -static const byte _string_colourmap[17] = { - 150, // TC_BLUE - 12, // TC_SILVER - 189, // TC_GOLD - 184, // TC_RED - 174, // TC_PURPLE - 30, // TC_LIGHT_BROWN - 195, // TC_ORANGE - 209, // TC_GREEN - 68, // TC_YELLOW - 95, // TC_DARK_GREEN - 79, // TC_CREAM - 116, // TC_BROWN - 15, // TC_WHITE - 152, // TC_LIGHT_BLUE - 6, // TC_GREY - 133, // TC_DARK_BLUE - 1, // TC_BLACK -}; diff --git a/src/table/settings.ini b/src/table/settings.ini index 7c55ae9ef6..f314f21e92 100644 --- a/src/table/settings.ini +++ b/src/table/settings.ini @@ -28,6 +28,7 @@ static bool TownFoundingChanged(int32 p1); static bool DifficultyNoiseChange(int32 i); static bool MaxNoAIsChange(int32 i); static bool CheckRoadSide(int p1); +static bool ChangeMaxHeightLevel(int32 p1); static bool CheckFreeformEdges(int32 p1); static bool ChangeDynamicEngines(int32 p1); static bool StationCatchmentChanged(int32 p1); @@ -40,6 +41,7 @@ static bool RedrawTownAuthority(int32 p1); static bool InvalidateCompanyInfrastructureWindow(int32 p1); static bool InvalidateCompanyWindow(int32 p1); static bool ZoomMinMaxChanged(int32 p1); +static bool MaxVehiclesChanged(int32 p1); #ifdef ENABLE_NETWORK static bool UpdateClientName(int32 p1); @@ -129,11 +131,13 @@ base = GameSettings var = difficulty.industry_density type = SLE_UINT8 from = 97 -guiflags = SGF_NEWGAME_ONLY +guiflags = SGF_MULTISTRING def = ID_END - 1 min = 0 max = ID_END - 1 interval = 1 +str = STR_CONFIG_SETTING_INDUSTRY_DENSITY +strhelp = STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT strval = STR_FUNDING_ONLY cat = SC_BASIC @@ -250,11 +254,13 @@ base = GameSettings var = difficulty.terrain_type type = SLE_UINT8 from = 97 -guiflags = SGF_NEWGAME_ONLY +guiflags = SGF_MULTISTRING | SGF_NEWGAME_ONLY def = 1 min = 0 -max = 3 +max = 4 interval = 1 +str = STR_CONFIG_SETTING_TERRAIN_TYPE +strhelp = STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT strval = STR_TERRAIN_TYPE_VERY_FLAT cat = SC_BASIC @@ -341,11 +347,14 @@ base = GameSettings var = game_creation.landscape type = SLE_UINT8 from = 97 -guiflags = SGF_NO_NETWORK +guiflags = SGF_MULTISTRING | SGF_NEWGAME_ONLY def = 0 max = 3 full = _climates load = ConvertLandscape +str = STR_CONFIG_SETTING_LANDSCAPE +strhelp = STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT +strval = STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE cat = SC_BASIC ; Snow line (or snow_line_height * TILE_HEIGHT) @@ -359,21 +368,38 @@ base = GameSettings var = vehicle.road_side type = SLE_UINT8 from = 97 -guiflags = SGF_NO_NETWORK +guiflags = SGF_MULTISTRING | SGF_NO_NETWORK def = 1 max = 1 full = _roadsides +str = STR_CONFIG_SETTING_ROAD_SIDE +strhelp = STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT +strval = STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT proc = CheckRoadSide ; Construction +[SDT_VAR] +base = GameSettings +var = construction.max_heightlevel +type = SLE_UINT8 +from = 194 +guiflags = SGF_NEWGAME_ONLY | SGF_SCENEDIT_TOO +def = DEF_MAX_HEIGHTLEVEL +min = MIN_MAX_HEIGHTLEVEL +max = MAX_MAX_HEIGHTLEVEL +interval = 1 +str = STR_CONFIG_SETTING_MAX_HEIGHTLEVEL +strhelp = STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT +strval = STR_JUST_INT +proc = ChangeMaxHeightLevel +cat = SC_BASIC + [SDT_BOOL] base = GameSettings var = construction.build_on_slopes guiflags = SGF_NO_NETWORK def = true -str = STR_CONFIG_SETTING_BUILDONSLOPES -strhelp = STR_CONFIG_SETTING_BUILDONSLOPES_HELPTEXT cat = SC_EXPERT [SDT_VAR] @@ -486,6 +512,21 @@ str = STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH strhelp = STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT strval = STR_CONFIG_SETTING_TILE_LENGTH +[SDT_VAR] +base = GameSettings +var = construction.max_bridge_height +type = SLE_UINT8 +from = 194 +guiflags = SGF_NO_NETWORK +def = 12 +min = 1 +max = MAX_TILE_HEIGHT +interval = 1 +str = STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT +strhelp = STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT +strval = STR_JUST_COMMA +cat = SC_EXPERT + [SDT_VAR] base = GameSettings var = construction.max_tunnel_length @@ -824,8 +865,6 @@ to = 158 base = GameSettings var = pf.roadveh_queue def = true -str = STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING -strhelp = STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING_HELPTEXT cat = SC_EXPERT [SDT_BOOL] @@ -923,7 +962,7 @@ max = 5000 str = STR_CONFIG_SETTING_MAX_TRAINS strhelp = STR_CONFIG_SETTING_MAX_TRAINS_HELPTEXT strval = STR_JUST_COMMA -proc = RedrawScreen +proc = MaxVehiclesChanged cat = SC_BASIC [SDT_VAR] @@ -936,7 +975,7 @@ max = 5000 str = STR_CONFIG_SETTING_MAX_ROAD_VEHICLES strhelp = STR_CONFIG_SETTING_MAX_ROAD_VEHICLES_HELPTEXT strval = STR_JUST_COMMA -proc = RedrawScreen +proc = MaxVehiclesChanged cat = SC_BASIC [SDT_VAR] @@ -949,7 +988,7 @@ max = 5000 str = STR_CONFIG_SETTING_MAX_AIRCRAFT strhelp = STR_CONFIG_SETTING_MAX_AIRCRAFT_HELPTEXT strval = STR_JUST_COMMA -proc = RedrawScreen +proc = MaxVehiclesChanged cat = SC_BASIC [SDT_VAR] @@ -962,7 +1001,7 @@ max = 5000 str = STR_CONFIG_SETTING_MAX_SHIPS strhelp = STR_CONFIG_SETTING_MAX_SHIPS_HELPTEXT strval = STR_JUST_COMMA -proc = RedrawScreen +proc = MaxVehiclesChanged cat = SC_BASIC [SDTG_BOOL] @@ -1079,8 +1118,6 @@ var = vehicle.dynamic_engines from = 95 guiflags = SGF_NO_NETWORK def = true -str = STR_CONFIG_SETTING_DYNAMIC_ENGINES -strhelp = STR_CONFIG_SETTING_DYNAMIC_ENGINES_HELPTEXT proc = ChangeDynamicEngines cat = SC_EXPERT @@ -1115,16 +1152,13 @@ base = GameSettings var = order.improved_load guiflags = SGF_NO_NETWORK def = true -str = STR_CONFIG_SETTING_IMPROVEDLOAD -strhelp = STR_CONFIG_SETTING_IMPROVEDLOAD_HELPTEXT cat = SC_EXPERT [SDT_BOOL] base = GameSettings var = order.selectgoods def = true -str = STR_CONFIG_SETTING_SELECTGOODS -strhelp = STR_CONFIG_SETTING_SELECTGOODS_HELPTEXT +cat = SC_EXPERT [SDTC_BOOL] var = gui.sg_new_nonstop @@ -1173,8 +1207,6 @@ var = order.gradual_loading from = 40 guiflags = SGF_NO_NETWORK def = true -str = STR_CONFIG_SETTING_GRADUAL_LOADING -strhelp = STR_CONFIG_SETTING_GRADUAL_LOADING_HELPTEXT cat = SC_EXPERT [SDT_BOOL] @@ -1200,8 +1232,6 @@ base = GameSettings var = station.adjacent_stations from = 62 def = true -str = STR_CONFIG_SETTING_ADJACENT_STATIONS -strhelp = STR_CONFIG_SETTING_ADJACENT_STATIONS_HELPTEXT cat = SC_EXPERT [SDT_BOOL] @@ -1322,10 +1352,12 @@ cat = SC_BASIC base = GameSettings var = game_creation.snow_line_height type = SLE_UINT8 +guiflags = SGF_NO_NETWORK def = DEF_SNOWLINE_HEIGHT min = MIN_SNOWLINE_HEIGHT max = MAX_SNOWLINE_HEIGHT str = STR_CONFIG_SETTING_SNOWLINE_HEIGHT +strhelp = STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT strval = STR_JUST_COMMA cat = SC_BASIC @@ -1424,8 +1456,6 @@ base = GameSettings var = economy.mod_road_rebuild from = 77 def = true -str = STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD -strhelp = STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD_HELPTEXT cat = SC_EXPERT ; previously ai-new setting. @@ -2121,11 +2151,12 @@ base = GameSettings var = game_creation.land_generator type = SLE_UINT8 from = 30 -guiflags = SGF_MULTISTRING +guiflags = SGF_MULTISTRING | SGF_NEWGAME_ONLY def = 1 min = 0 max = 1 str = STR_CONFIG_SETTING_LAND_GENERATOR +strhelp = STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT strval = STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL [SDT_VAR] @@ -2145,11 +2176,12 @@ base = GameSettings var = game_creation.tgen_smoothness type = SLE_UINT8 from = 30 -guiflags = SGF_MULTISTRING +guiflags = SGF_MULTISTRING | SGF_NEWGAME_ONLY def = 1 -min = 0 -max = 3 +min = TGEN_SMOOTHNESS_BEGIN +max = TGEN_SMOOTHNESS_END - 1 str = STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN +strhelp = STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT strval = STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH cat = SC_BASIC @@ -2158,9 +2190,13 @@ base = GameSettings var = game_creation.variety type = SLE_UINT8 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC +guiflags = SGF_MULTISTRING | SGF_NEWGAME_ONLY def = 0 min = 0 max = 5 +str = STR_CONFIG_SETTING_VARIETY +strhelp = STR_CONFIG_SETTING_VARIETY_HELPTEXT +strval = STR_VARIETY_NONE [SDT_VAR] base = GameSettings @@ -2177,11 +2213,12 @@ base = GameSettings var = game_creation.tree_placer type = SLE_UINT8 from = 30 -guiflags = SGF_MULTISTRING +guiflags = SGF_MULTISTRING | SGF_NEWGAME_ONLY | SGF_SCENEDIT_TOO def = 2 min = 0 max = 2 str = STR_CONFIG_SETTING_TREE_PLACER +strhelp = STR_CONFIG_SETTING_TREE_PLACER_HELPTEXT strval = STR_CONFIG_SETTING_TREE_PLACER_NONE [SDT_VAR] @@ -2235,8 +2272,6 @@ base = GameSettings var = construction.freeform_edges from = 111 def = true -str = STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES -strhelp = STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES_HELPTEXT proc = CheckFreeformEdges cat = SC_EXPERT @@ -2308,9 +2343,13 @@ base = GameSettings var = game_creation.amount_of_rivers type = SLE_UINT8 from = 163 +guiflags = SGF_MULTISTRING | SGF_NEWGAME_ONLY def = 2 min = 0 max = 3 +str = STR_CONFIG_SETTING_RIVER_AMOUNT +strhelp = STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT +strval = STR_RIVERS_NONE ; locale @@ -2473,9 +2512,13 @@ cat = SC_BASIC var = gui.autosave type = SLE_UINT8 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC +guiflags = SGF_MULTISTRING def = 1 max = 4 full = _autosave_interval +str = STR_CONFIG_SETTING_AUTOSAVE +strhelp = STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT +strval = STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF cat = SC_BASIC [SDTC_BOOL] @@ -2560,13 +2603,14 @@ strhelp = STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT strval = STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE [SDTC_VAR] -var = gui.hover_delay -type = SLE_UINT8 +var = gui.hover_delay_ms +type = SLE_UINT16 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC guiflags = SGF_0ISDISABLED -def = 2 -min = 1 -max = 5 +def = 250 +min = 50 +max = 6000 +interval = 50 str = STR_CONFIG_SETTING_HOVER_DELAY strhelp = STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT strval = STR_CONFIG_SETTING_HOVER_DELAY_VALUE @@ -2647,7 +2691,7 @@ flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC guiflags = SGF_MULTISTRING def = ZOOM_LVL_MIN min = ZOOM_LVL_MIN -max = ZOOM_LVL_GUI +max = ZOOM_LVL_OUT_4X str = STR_CONFIG_SETTING_ZOOM_MIN strhelp = STR_CONFIG_SETTING_ZOOM_MIN_HELPTEXT strval = STR_CONFIG_SETTING_ZOOM_LVL_MIN @@ -3153,9 +3197,6 @@ guiflags = SGF_MULTISTRING def = 1 min = 0 max = 1 -str = STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE -strhelp = STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_HELPTEXT -strval = STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_DOS proc = UpdateNewGRFConfigPalette cat = SC_EXPERT @@ -3469,12 +3510,12 @@ strval = STR_CONFIG_SETTING_NEWS_MESSAGES_OFF [SDTC_VAR] ifdef = ENABLE_NETWORK -var = gui.network_chat_box_width +var = gui.network_chat_box_width_pct type = SLE_UINT16 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC -def = 620 -min = 200 -max = 65535 +def = 40 +min = 10 +max = 100 cat = SC_EXPERT [SDTC_VAR] diff --git a/src/table/sprites.h b/src/table/sprites.h index 5d42caccb6..81d5388f99 100644 --- a/src/table/sprites.h +++ b/src/table/sprites.h @@ -85,6 +85,8 @@ static const SpriteID SPR_SHARED_ORDERS_ICON = SPR_OPENTTD_BASE + 50; static const SpriteID SPR_PIN_UP = SPR_OPENTTD_BASE + 51; // pin icon static const SpriteID SPR_PIN_DOWN = SPR_OPENTTD_BASE + 52; +static const SpriteID SPR_CLOSEBOX = 143; + static const SpriteID SPR_CIRCLE_FOLDED = SPR_OPENTTD_BASE + 147; // (+) icon static const SpriteID SPR_CIRCLE_UNFOLDED = SPR_OPENTTD_BASE + 148; // (-) icon @@ -290,8 +292,12 @@ static const uint16 RAILTYPE_TUNNEL_BASE_COUNT = 16; static const SpriteID SPR_EMPTY_BOUNDING_BOX = SPR_RAILTYPE_TUNNEL_BASE + RAILTYPE_TUNNEL_BASE_COUNT; static const uint16 EMPTY_BOUNDING_BOX_SPRITE_COUNT = 1; +/* Black palette sprite, needed for painting (fictive) tiles outside map */ +static const SpriteID SPR_PALETTE_BASE = SPR_EMPTY_BOUNDING_BOX + EMPTY_BOUNDING_BOX_SPRITE_COUNT; +static const uint16 PALETTE_SPRITE_COUNT = 1; + /* From where can we start putting NewGRFs? */ -static const SpriteID SPR_NEWGRFS_BASE = SPR_EMPTY_BOUNDING_BOX + EMPTY_BOUNDING_BOX_SPRITE_COUNT; +static const SpriteID SPR_NEWGRFS_BASE = SPR_PALETTE_BASE + PALETTE_SPRITE_COUNT; /* Manager face sprites */ static const SpriteID SPR_GRADIENT = 874; // background gradient behind manager face @@ -993,10 +999,10 @@ static const SpriteID SPR_CNST1_TOWNHOUSE_06_V1 = 1444; static const SpriteID SPR_CNST2_TOWNHOUSE_06_V1 = 1445; static const SpriteID SPR_BUILD_TOWNHOUSE_06_V1 = 1446; // 1st variation static const SpriteID SPR_GRND_TOWNHOUSE_06_V1 = 1447; -static const SpriteID SPR_GRND_STADIUM_N = 1479; //stadium ground at north -static const SpriteID SPR_GRND_STADIUM_E = 1480; //stadium ground at east -static const SpriteID SPR_GRND_STADIUM_W = 1481; //stadium ground at west -static const SpriteID SPR_GRND_STADIUM_S = 1482; //stadium ground at south +static const SpriteID SPR_GRND_STADIUM_N = 1479; // stadium ground at north +static const SpriteID SPR_GRND_STADIUM_E = 1480; // stadium ground at east +static const SpriteID SPR_GRND_STADIUM_W = 1481; // stadium ground at west +static const SpriteID SPR_GRND_STADIUM_S = 1482; // stadium ground at south static const SpriteID SPR_CNST1_TOWNHOUSE_06_V2 = 1501; // used as ground, but is stage1 static const SpriteID SPR_CNST1_TOWNHOUSE_06_V2_P = 1502; // pipes extensions for previous static const SpriteID SPR_CNST2_TOWNHOUSE_06_V2_G = 1503; // Ground of cnst stage 2 @@ -1475,11 +1481,15 @@ static const CursorID ANIMCURSOR_BUILDSIGNALS = ANIMCURSOR_FLAG | 4; ///< 1292 - * bits used for the recolouring process. For transparency, it must be 0x322. */ enum SpriteSetup { + /* These bits are applied to sprite ID */ TRANSPARENT_BIT = 31, ///< toggles transparency in the sprite RECOLOUR_BIT = 30, ///< toggles recolouring in the sprite CUSTOM_BIT = 29, OPAQUE_BIT = 28, + /* This bit is applied to palette ID */ + PALETTE_TEXT_RECOLOUR = 31, ///< Set if palette is actually a magic text recolour + PALETTE_WIDTH = 24, ///< number of bits of the sprite containing the recolour palette SPRITE_WIDTH = 24, ///< number of bits for the sprite number }; @@ -1562,4 +1572,6 @@ static const PaletteID PALETTE_CRASH = 804; ///< Recolour sprite static const PaletteID PALETTE_CHURCH_RED = 1438; ///< Recolour sprite for reddish churches static const PaletteID PALETTE_CHURCH_CREAM = 1439; ///< Recolour sprite for white churches +static const PaletteID PALETTE_ALL_BLACK = SPR_PALETTE_BASE; ///< Exchange any color by black, needed for painting fictive tiles outside map + #endif /* SPRITES_H */ diff --git a/src/table/strgen_tables.h b/src/table/strgen_tables.h index e6924e29c4..322f1bc6bf 100644 --- a/src/table/strgen_tables.h +++ b/src/table/strgen_tables.h @@ -27,6 +27,7 @@ struct CmdStruct { ParseCmdProc proc; long value; uint8 consumes; + int8 default_plural_offset; CmdFlags flags; }; @@ -36,115 +37,115 @@ extern void EmitGender(Buffer *buffer, char *buf, int value); static const CmdStruct _cmd_structs[] = { /* Font size */ - {"TINY_FONT", EmitSingleChar, SCC_TINYFONT, 0, C_NONE}, - {"BIG_FONT", EmitSingleChar, SCC_BIGFONT, 0, C_NONE}, + {"TINY_FONT", EmitSingleChar, SCC_TINYFONT, 0, -1, C_NONE}, + {"BIG_FONT", EmitSingleChar, SCC_BIGFONT, 0, -1, C_NONE}, /* Colours */ - {"BLUE", EmitSingleChar, SCC_BLUE, 0, C_DONTCOUNT}, - {"SILVER", EmitSingleChar, SCC_SILVER, 0, C_DONTCOUNT}, - {"GOLD", EmitSingleChar, SCC_GOLD, 0, C_DONTCOUNT}, - {"RED", EmitSingleChar, SCC_RED, 0, C_DONTCOUNT}, - {"PURPLE", EmitSingleChar, SCC_PURPLE, 0, C_DONTCOUNT}, - {"LTBROWN", EmitSingleChar, SCC_LTBROWN, 0, C_DONTCOUNT}, - {"ORANGE", EmitSingleChar, SCC_ORANGE, 0, C_DONTCOUNT}, - {"GREEN", EmitSingleChar, SCC_GREEN, 0, C_DONTCOUNT}, - {"YELLOW", EmitSingleChar, SCC_YELLOW, 0, C_DONTCOUNT}, - {"DKGREEN", EmitSingleChar, SCC_DKGREEN, 0, C_DONTCOUNT}, - {"CREAM", EmitSingleChar, SCC_CREAM, 0, C_DONTCOUNT}, - {"BROWN", EmitSingleChar, SCC_BROWN, 0, C_DONTCOUNT}, - {"WHITE", EmitSingleChar, SCC_WHITE, 0, C_DONTCOUNT}, - {"LTBLUE", EmitSingleChar, SCC_LTBLUE, 0, C_DONTCOUNT}, - {"GRAY", EmitSingleChar, SCC_GRAY, 0, C_DONTCOUNT}, - {"DKBLUE", EmitSingleChar, SCC_DKBLUE, 0, C_DONTCOUNT}, - {"BLACK", EmitSingleChar, SCC_BLACK, 0, C_DONTCOUNT}, + {"BLUE", EmitSingleChar, SCC_BLUE, 0, -1, C_DONTCOUNT}, + {"SILVER", EmitSingleChar, SCC_SILVER, 0, -1, C_DONTCOUNT}, + {"GOLD", EmitSingleChar, SCC_GOLD, 0, -1, C_DONTCOUNT}, + {"RED", EmitSingleChar, SCC_RED, 0, -1, C_DONTCOUNT}, + {"PURPLE", EmitSingleChar, SCC_PURPLE, 0, -1, C_DONTCOUNT}, + {"LTBROWN", EmitSingleChar, SCC_LTBROWN, 0, -1, C_DONTCOUNT}, + {"ORANGE", EmitSingleChar, SCC_ORANGE, 0, -1, C_DONTCOUNT}, + {"GREEN", EmitSingleChar, SCC_GREEN, 0, -1, C_DONTCOUNT}, + {"YELLOW", EmitSingleChar, SCC_YELLOW, 0, -1, C_DONTCOUNT}, + {"DKGREEN", EmitSingleChar, SCC_DKGREEN, 0, -1, C_DONTCOUNT}, + {"CREAM", EmitSingleChar, SCC_CREAM, 0, -1, C_DONTCOUNT}, + {"BROWN", EmitSingleChar, SCC_BROWN, 0, -1, C_DONTCOUNT}, + {"WHITE", EmitSingleChar, SCC_WHITE, 0, -1, C_DONTCOUNT}, + {"LTBLUE", EmitSingleChar, SCC_LTBLUE, 0, -1, C_DONTCOUNT}, + {"GRAY", EmitSingleChar, SCC_GRAY, 0, -1, C_DONTCOUNT}, + {"DKBLUE", EmitSingleChar, SCC_DKBLUE, 0, -1, C_DONTCOUNT}, + {"BLACK", EmitSingleChar, SCC_BLACK, 0, -1, C_DONTCOUNT}, - {"REV", EmitSingleChar, SCC_REVISION, 0, C_NONE}, // openttd revision string + {"REV", EmitSingleChar, SCC_REVISION, 0, -1, C_NONE}, // openttd revision string - {"STRING1", EmitSingleChar, SCC_STRING1, 2, C_CASE | C_GENDER}, // included string that consumes the string id and ONE argument - {"STRING2", EmitSingleChar, SCC_STRING2, 3, C_CASE | C_GENDER}, // included string that consumes the string id and TWO arguments - {"STRING3", EmitSingleChar, SCC_STRING3, 4, C_CASE | C_GENDER}, // included string that consumes the string id and THREE arguments - {"STRING4", EmitSingleChar, SCC_STRING4, 5, C_CASE | C_GENDER}, // included string that consumes the string id and FOUR arguments - {"STRING5", EmitSingleChar, SCC_STRING5, 6, C_CASE | C_GENDER}, // included string that consumes the string id and FIVE arguments - {"STRING6", EmitSingleChar, SCC_STRING6, 7, C_CASE | C_GENDER}, // included string that consumes the string id and SIX arguments - {"STRING7", EmitSingleChar, SCC_STRING7, 8, C_CASE | C_GENDER}, // included string that consumes the string id and SEVEN arguments + {"STRING1", EmitSingleChar, SCC_STRING1, 2, -1, C_CASE | C_GENDER}, // included string that consumes the string id and ONE argument + {"STRING2", EmitSingleChar, SCC_STRING2, 3, -1, C_CASE | C_GENDER}, // included string that consumes the string id and TWO arguments + {"STRING3", EmitSingleChar, SCC_STRING3, 4, -1, C_CASE | C_GENDER}, // included string that consumes the string id and THREE arguments + {"STRING4", EmitSingleChar, SCC_STRING4, 5, -1, C_CASE | C_GENDER}, // included string that consumes the string id and FOUR arguments + {"STRING5", EmitSingleChar, SCC_STRING5, 6, -1, C_CASE | C_GENDER}, // included string that consumes the string id and FIVE arguments + {"STRING6", EmitSingleChar, SCC_STRING6, 7, -1, C_CASE | C_GENDER}, // included string that consumes the string id and SIX arguments + {"STRING7", EmitSingleChar, SCC_STRING7, 8, -1, C_CASE | C_GENDER}, // included string that consumes the string id and SEVEN arguments - {"STATION_FEATURES", EmitSingleChar, SCC_STATION_FEATURES, 1, C_NONE}, // station features string, icons of the features - {"INDUSTRY", EmitSingleChar, SCC_INDUSTRY_NAME, 1, C_CASE | C_GENDER}, // industry, takes an industry #, can have cases - {"CARGO_LONG", EmitSingleChar, SCC_CARGO_LONG, 2, C_NONE | C_GENDER}, - {"CARGO_SHORT", EmitSingleChar, SCC_CARGO_SHORT, 2, C_NONE}, // short cargo description, only ### tons, or ### litres - {"CARGO_TINY", EmitSingleChar, SCC_CARGO_TINY, 2, C_NONE}, // tiny cargo description with only the amount, not a specifier for the amount or the actual cargo name - {"CARGO_LIST", EmitSingleChar, SCC_CARGO_LIST, 1, C_CASE}, - {"POWER", EmitSingleChar, SCC_POWER, 1, C_NONE}, - {"VOLUME_LONG", EmitSingleChar, SCC_VOLUME_LONG, 1, C_NONE}, - {"VOLUME_SHORT", EmitSingleChar, SCC_VOLUME_SHORT, 1, C_NONE}, - {"WEIGHT_LONG", EmitSingleChar, SCC_WEIGHT_LONG, 1, C_NONE}, - {"WEIGHT_SHORT", EmitSingleChar, SCC_WEIGHT_SHORT, 1, C_NONE}, - {"FORCE", EmitSingleChar, SCC_FORCE, 1, C_NONE}, - {"VELOCITY", EmitSingleChar, SCC_VELOCITY, 1, C_NONE}, - {"HEIGHT", EmitSingleChar, SCC_HEIGHT, 1, C_NONE}, + {"STATION_FEATURES", EmitSingleChar, SCC_STATION_FEATURES, 1, -1, C_NONE}, // station features string, icons of the features + {"INDUSTRY", EmitSingleChar, SCC_INDUSTRY_NAME, 1, -1, C_CASE | C_GENDER}, // industry, takes an industry #, can have cases + {"CARGO_LONG", EmitSingleChar, SCC_CARGO_LONG, 2, 1, C_NONE | C_GENDER}, + {"CARGO_SHORT", EmitSingleChar, SCC_CARGO_SHORT, 2, 1, C_NONE}, // short cargo description, only ### tons, or ### litres + {"CARGO_TINY", EmitSingleChar, SCC_CARGO_TINY, 2, 1, C_NONE}, // tiny cargo description with only the amount, not a specifier for the amount or the actual cargo name + {"CARGO_LIST", EmitSingleChar, SCC_CARGO_LIST, 1, -1, C_CASE}, + {"POWER", EmitSingleChar, SCC_POWER, 1, 0, C_NONE}, + {"VOLUME_LONG", EmitSingleChar, SCC_VOLUME_LONG, 1, 0, C_NONE}, + {"VOLUME_SHORT", EmitSingleChar, SCC_VOLUME_SHORT, 1, 0, C_NONE}, + {"WEIGHT_LONG", EmitSingleChar, SCC_WEIGHT_LONG, 1, 0, C_NONE}, + {"WEIGHT_SHORT", EmitSingleChar, SCC_WEIGHT_SHORT, 1, 0, C_NONE}, + {"FORCE", EmitSingleChar, SCC_FORCE, 1, 0, C_NONE}, + {"VELOCITY", EmitSingleChar, SCC_VELOCITY, 1, 0, C_NONE}, + {"HEIGHT", EmitSingleChar, SCC_HEIGHT, 1, 0, C_NONE}, - {"P", EmitPlural, 0, 0, C_DONTCOUNT}, // plural specifier - {"G", EmitGender, 0, 0, C_DONTCOUNT}, // gender specifier + {"P", EmitPlural, 0, 0, -1, C_DONTCOUNT}, // plural specifier + {"G", EmitGender, 0, 0, -1, C_DONTCOUNT}, // gender specifier - {"DATE_TINY", EmitSingleChar, SCC_DATE_TINY, 1, C_NONE}, - {"DATE_SHORT", EmitSingleChar, SCC_DATE_SHORT, 1, C_CASE}, - {"DATE_LONG", EmitSingleChar, SCC_DATE_LONG, 1, C_CASE}, - {"DATE_ISO", EmitSingleChar, SCC_DATE_ISO, 1, C_NONE}, + {"DATE_TINY", EmitSingleChar, SCC_DATE_TINY, 1, -1, C_NONE}, + {"DATE_SHORT", EmitSingleChar, SCC_DATE_SHORT, 1, -1, C_CASE}, + {"DATE_LONG", EmitSingleChar, SCC_DATE_LONG, 1, -1, C_CASE}, + {"DATE_ISO", EmitSingleChar, SCC_DATE_ISO, 1, -1, C_NONE}, - {"STRING", EmitSingleChar, SCC_STRING, 1, C_CASE | C_GENDER}, - {"RAW_STRING", EmitSingleChar, SCC_RAW_STRING_POINTER, 1, C_NONE | C_GENDER}, + {"STRING", EmitSingleChar, SCC_STRING, 1, -1, C_CASE | C_GENDER}, + {"RAW_STRING", EmitSingleChar, SCC_RAW_STRING_POINTER, 1, -1, C_NONE | C_GENDER}, /* Numbers */ - {"COMMA", EmitSingleChar, SCC_COMMA, 1, C_NONE}, // Number with comma - {"DECIMAL", EmitSingleChar, SCC_DECIMAL, 2, C_NONE}, // Number with comma and fractional part. Second parameter is number of fractional digits, first parameter is number times 10**(second parameter). - {"NUM", EmitSingleChar, SCC_NUM, 1, C_NONE}, // Signed number - {"ZEROFILL_NUM", EmitSingleChar, SCC_ZEROFILL_NUM, 2, C_NONE}, // Unsigned number with zero fill, e.g. "02". First parameter is number, second minimum length - {"BYTES", EmitSingleChar, SCC_BYTES, 1, C_NONE}, // Unsigned number with "bytes", i.e. "1.02 MiB or 123 KiB" - {"HEX", EmitSingleChar, SCC_HEX, 1, C_NONE}, // Hexadecimally printed number + {"COMMA", EmitSingleChar, SCC_COMMA, 1, 0, C_NONE}, // Number with comma + {"DECIMAL", EmitSingleChar, SCC_DECIMAL, 2, 0, C_NONE}, // Number with comma and fractional part. Second parameter is number of fractional digits, first parameter is number times 10**(second parameter). + {"NUM", EmitSingleChar, SCC_NUM, 1, 0, C_NONE}, // Signed number + {"ZEROFILL_NUM", EmitSingleChar, SCC_ZEROFILL_NUM, 2, 0, C_NONE}, // Unsigned number with zero fill, e.g. "02". First parameter is number, second minimum length + {"BYTES", EmitSingleChar, SCC_BYTES, 1, 0, C_NONE}, // Unsigned number with "bytes", i.e. "1.02 MiB or 123 KiB" + {"HEX", EmitSingleChar, SCC_HEX, 1, 0, C_NONE}, // Hexadecimally printed number - {"CURRENCY_LONG", EmitSingleChar, SCC_CURRENCY_LONG, 1, C_NONE}, - {"CURRENCY_SHORT", EmitSingleChar, SCC_CURRENCY_SHORT, 1, C_NONE}, // compact currency + {"CURRENCY_LONG", EmitSingleChar, SCC_CURRENCY_LONG, 1, 0, C_NONE}, + {"CURRENCY_SHORT", EmitSingleChar, SCC_CURRENCY_SHORT, 1, 0, C_NONE}, // compact currency - {"WAYPOINT", EmitSingleChar, SCC_WAYPOINT_NAME, 1, C_NONE | C_GENDER}, // waypoint name - {"STATION", EmitSingleChar, SCC_STATION_NAME, 1, C_NONE | C_GENDER}, - {"DEPOT", EmitSingleChar, SCC_DEPOT_NAME, 2, C_NONE | C_GENDER}, - {"TOWN", EmitSingleChar, SCC_TOWN_NAME, 1, C_NONE | C_GENDER}, - {"GROUP", EmitSingleChar, SCC_GROUP_NAME, 1, C_NONE | C_GENDER}, - {"SIGN", EmitSingleChar, SCC_SIGN_NAME, 1, C_NONE | C_GENDER}, - {"ENGINE", EmitSingleChar, SCC_ENGINE_NAME, 1, C_NONE | C_GENDER}, - {"VEHICLE", EmitSingleChar, SCC_VEHICLE_NAME, 1, C_NONE | C_GENDER}, - {"COMPANY", EmitSingleChar, SCC_COMPANY_NAME, 1, C_NONE | C_GENDER}, - {"COMPANY_NUM", EmitSingleChar, SCC_COMPANY_NUM, 1, C_NONE}, - {"PRESIDENT_NAME", EmitSingleChar, SCC_PRESIDENT_NAME, 1, C_NONE | C_GENDER}, + {"WAYPOINT", EmitSingleChar, SCC_WAYPOINT_NAME, 1, -1, C_NONE | C_GENDER}, // waypoint name + {"STATION", EmitSingleChar, SCC_STATION_NAME, 1, -1, C_NONE | C_GENDER}, + {"DEPOT", EmitSingleChar, SCC_DEPOT_NAME, 2, -1, C_NONE | C_GENDER}, + {"TOWN", EmitSingleChar, SCC_TOWN_NAME, 1, -1, C_NONE | C_GENDER}, + {"GROUP", EmitSingleChar, SCC_GROUP_NAME, 1, -1, C_NONE | C_GENDER}, + {"SIGN", EmitSingleChar, SCC_SIGN_NAME, 1, -1, C_NONE | C_GENDER}, + {"ENGINE", EmitSingleChar, SCC_ENGINE_NAME, 1, -1, C_NONE | C_GENDER}, + {"VEHICLE", EmitSingleChar, SCC_VEHICLE_NAME, 1, -1, C_NONE | C_GENDER}, + {"COMPANY", EmitSingleChar, SCC_COMPANY_NAME, 1, -1, C_NONE | C_GENDER}, + {"COMPANY_NUM", EmitSingleChar, SCC_COMPANY_NUM, 1, -1, C_NONE}, + {"PRESIDENT_NAME", EmitSingleChar, SCC_PRESIDENT_NAME, 1, -1, C_NONE | C_GENDER}, - {"", EmitSingleChar, '\n', 0, C_DONTCOUNT}, - {"{", EmitSingleChar, '{', 0, C_DONTCOUNT}, - {"UP_ARROW", EmitSingleChar, SCC_UP_ARROW, 0, C_DONTCOUNT}, - {"SMALL_UP_ARROW", EmitSingleChar, SCC_SMALL_UP_ARROW, 0, C_DONTCOUNT}, - {"SMALL_DOWN_ARROW", EmitSingleChar, SCC_SMALL_DOWN_ARROW, 0, C_DONTCOUNT}, - {"TRAIN", EmitSingleChar, SCC_TRAIN, 0, C_DONTCOUNT}, - {"LORRY", EmitSingleChar, SCC_LORRY, 0, C_DONTCOUNT}, - {"BUS", EmitSingleChar, SCC_BUS, 0, C_DONTCOUNT}, - {"PLANE", EmitSingleChar, SCC_PLANE, 0, C_DONTCOUNT}, - {"SHIP", EmitSingleChar, SCC_SHIP, 0, C_DONTCOUNT}, - {"NBSP", EmitSingleChar, 0xA0, 0, C_DONTCOUNT}, - {"COPYRIGHT", EmitSingleChar, 0xA9, 0, C_DONTCOUNT}, - {"DOWN_ARROW", EmitSingleChar, SCC_DOWN_ARROW, 0, C_DONTCOUNT}, - {"CHECKMARK", EmitSingleChar, SCC_CHECKMARK, 0, C_DONTCOUNT}, - {"CROSS", EmitSingleChar, SCC_CROSS, 0, C_DONTCOUNT}, - {"RIGHT_ARROW", EmitSingleChar, SCC_RIGHT_ARROW, 0, C_DONTCOUNT}, - {"SMALL_LEFT_ARROW", EmitSingleChar, SCC_LESS_THAN, 0, C_DONTCOUNT}, - {"SMALL_RIGHT_ARROW", EmitSingleChar, SCC_GREATER_THAN, 0, C_DONTCOUNT}, + {"", EmitSingleChar, '\n', 0, -1, C_DONTCOUNT}, + {"{", EmitSingleChar, '{', 0, -1, C_DONTCOUNT}, + {"UP_ARROW", EmitSingleChar, SCC_UP_ARROW, 0, -1, C_DONTCOUNT}, + {"SMALL_UP_ARROW", EmitSingleChar, SCC_SMALL_UP_ARROW, 0, -1, C_DONTCOUNT}, + {"SMALL_DOWN_ARROW", EmitSingleChar, SCC_SMALL_DOWN_ARROW, 0, -1, C_DONTCOUNT}, + {"TRAIN", EmitSingleChar, SCC_TRAIN, 0, -1, C_DONTCOUNT}, + {"LORRY", EmitSingleChar, SCC_LORRY, 0, -1, C_DONTCOUNT}, + {"BUS", EmitSingleChar, SCC_BUS, 0, -1, C_DONTCOUNT}, + {"PLANE", EmitSingleChar, SCC_PLANE, 0, -1, C_DONTCOUNT}, + {"SHIP", EmitSingleChar, SCC_SHIP, 0, -1, C_DONTCOUNT}, + {"NBSP", EmitSingleChar, 0xA0, 0, -1, C_DONTCOUNT}, + {"COPYRIGHT", EmitSingleChar, 0xA9, 0, -1, C_DONTCOUNT}, + {"DOWN_ARROW", EmitSingleChar, SCC_DOWN_ARROW, 0, -1, C_DONTCOUNT}, + {"CHECKMARK", EmitSingleChar, SCC_CHECKMARK, 0, -1, C_DONTCOUNT}, + {"CROSS", EmitSingleChar, SCC_CROSS, 0, -1, C_DONTCOUNT}, + {"RIGHT_ARROW", EmitSingleChar, SCC_RIGHT_ARROW, 0, -1, C_DONTCOUNT}, + {"SMALL_LEFT_ARROW", EmitSingleChar, SCC_LESS_THAN, 0, -1, C_DONTCOUNT}, + {"SMALL_RIGHT_ARROW", EmitSingleChar, SCC_GREATER_THAN, 0, -1, C_DONTCOUNT}, /* The following are directional formatting codes used to get the RTL strings right: * http://www.unicode.org/unicode/reports/tr9/#Directional_Formatting_Codes */ - {"LRM", EmitSingleChar, CHAR_TD_LRM, 0, C_DONTCOUNT}, - {"RLM", EmitSingleChar, CHAR_TD_RLM, 0, C_DONTCOUNT}, - {"LRE", EmitSingleChar, CHAR_TD_LRE, 0, C_DONTCOUNT}, - {"RLE", EmitSingleChar, CHAR_TD_RLE, 0, C_DONTCOUNT}, - {"LRO", EmitSingleChar, CHAR_TD_LRO, 0, C_DONTCOUNT}, - {"RLO", EmitSingleChar, CHAR_TD_RLO, 0, C_DONTCOUNT}, - {"PDF", EmitSingleChar, CHAR_TD_PDF, 0, C_DONTCOUNT}, + {"LRM", EmitSingleChar, CHAR_TD_LRM, 0, -1, C_DONTCOUNT}, + {"RLM", EmitSingleChar, CHAR_TD_RLM, 0, -1, C_DONTCOUNT}, + {"LRE", EmitSingleChar, CHAR_TD_LRE, 0, -1, C_DONTCOUNT}, + {"RLE", EmitSingleChar, CHAR_TD_RLE, 0, -1, C_DONTCOUNT}, + {"LRO", EmitSingleChar, CHAR_TD_LRO, 0, -1, C_DONTCOUNT}, + {"RLO", EmitSingleChar, CHAR_TD_RLO, 0, -1, C_DONTCOUNT}, + {"PDF", EmitSingleChar, CHAR_TD_PDF, 0, -1, C_DONTCOUNT}, }; /** Description of a plural form */ diff --git a/src/table/string_colours.h b/src/table/string_colours.h new file mode 100644 index 0000000000..1e3b02bd64 --- /dev/null +++ b/src/table/string_colours.h @@ -0,0 +1,31 @@ +/* $Id$ */ + +/* + * 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. + * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see . + */ + +/** @file string_colours.h The colour translation of GRF's strings. */ + +/** Colour mapping for the TextColours. */ +static const byte _string_colourmap[17] = { + 150, // TC_BLUE + 12, // TC_SILVER + 189, // TC_GOLD + 184, // TC_RED + 174, // TC_PURPLE + 30, // TC_LIGHT_BROWN + 195, // TC_ORANGE + 209, // TC_GREEN + 68, // TC_YELLOW + 95, // TC_DARK_GREEN + 79, // TC_CREAM + 116, // TC_BROWN + 15, // TC_WHITE + 152, // TC_LIGHT_BLUE + 6, // TC_GREY + 133, // TC_DARK_BLUE + 1, // TC_BLACK +}; diff --git a/src/table/townname.h b/src/table/townname.h index aac2d2b358..25c997d255 100644 --- a/src/table/townname.h +++ b/src/table/townname.h @@ -2612,7 +2612,7 @@ static const char * const _name_swiss_real[] = { "Sursee", "Schwyz", "Thalwil", - "Thônex", + "Th\xC3\xB4nex", "Thun", "Uster", "Uzwil", diff --git a/src/table/win32_settings.ini b/src/table/win32_settings.ini index 282c132725..1e0c9ad023 100644 --- a/src/table/win32_settings.ini +++ b/src/table/win32_settings.ini @@ -10,7 +10,7 @@ /* win32_v.cpp only settings */ #if defined(WIN32) && !defined(DEDICATED) extern bool _force_full_redraw, _window_maximize; -extern uint _display_hz, _fullscreen_bpp; +extern uint _display_hz; static const SettingDescGlobVarList _win32_settings[] = { [post-amble] @@ -51,15 +51,6 @@ var = _force_full_redraw def = false cat = SC_EXPERT -[SDTG_VAR] -name = ""fullscreen_bpp"" -type = SLE_UINT -var = _fullscreen_bpp -def = 8 -min = 8 -max = 32 -cat = SC_EXPERT - [SDTG_BOOL] name = ""window_maximize"" var = _window_maximize diff --git a/src/terraform_cmd.cpp b/src/terraform_cmd.cpp index 7321a6d837..68ebafab94 100644 --- a/src/terraform_cmd.cpp +++ b/src/terraform_cmd.cpp @@ -21,38 +21,20 @@ #include "table/strings.h" -/* - * In one terraforming command all four corners of a initial tile can be raised/lowered (though this is not available to the player). - * The maximal amount of height modifications is achieved when raising a complete flat land from sea level to MAX_TILE_HEIGHT or vice versa. - * This affects all corners with a manhatten distance smaller than MAX_TILE_HEIGHT to one of the initial 4 corners. - * Their maximal amount is computed to 4 * \sum_{i=1}^{h_max} i = 2 * h_max * (h_max + 1). - */ -static const int TERRAFORMER_MODHEIGHT_SIZE = 2 * MAX_TILE_HEIGHT * (MAX_TILE_HEIGHT + 1); +#include +#include -/* - * The maximal amount of affected tiles (i.e. the tiles that incident with one of the corners above, is computed similar to - * 1 + 4 * \sum_{i=1}^{h_max} (i+1) = 1 + 2 * h_max + (h_max + 3). - */ -static const int TERRAFORMER_TILE_TABLE_SIZE = 1 + 2 * MAX_TILE_HEIGHT * (MAX_TILE_HEIGHT + 3); +#include "safeguards.h" -struct TerraformerHeightMod { - TileIndex tile; ///< Referenced tile. - byte height; ///< New TileHeight (height of north corner) of the tile. -}; +/** Set of tiles. */ +typedef std::set TileIndexSet; +/** Mapping of tiles to their height. */ +typedef std::map TileIndexToHeightMap; +/** State of the terraforming. */ struct TerraformerState { - int modheight_count; ///< amount of entries in "modheight". - int tile_table_count; ///< amount of entries in "tile_table". - - /** - * Dirty tiles, i.e.\ at least one corner changed. - * - * This array contains the tiles which are or will be marked as dirty. - * - * @ingroup dirty - */ - TileIndex tile_table[TERRAFORMER_TILE_TABLE_SIZE]; - TerraformerHeightMod modheight[TERRAFORMER_MODHEIGHT_SIZE]; ///< Height modifications. + TileIndexSet dirty_tiles; ///< The tiles that need to be redrawn. + TileIndexToHeightMap tile_to_new_height; ///< The tiles for which the height has changed. }; TileIndex _terraform_err_tile; ///< first tile we couldn't terraform @@ -66,14 +48,8 @@ TileIndex _terraform_err_tile; ///< first tile we couldn't terraform */ static int TerraformGetHeightOfTile(const TerraformerState *ts, TileIndex tile) { - const TerraformerHeightMod *mod = ts->modheight; - - for (int count = ts->modheight_count; count != 0; count--, mod++) { - if (mod->tile == tile) return mod->height; - } - - /* TileHeight unchanged so far, read value from map. */ - return TileHeight(tile); + TileIndexToHeightMap::const_iterator it = ts->tile_to_new_height.find(tile); + return it != ts->tile_to_new_height.end() ? it->second : TileHeight(tile); } /** @@ -85,26 +61,7 @@ static int TerraformGetHeightOfTile(const TerraformerState *ts, TileIndex tile) */ static void TerraformSetHeightOfTile(TerraformerState *ts, TileIndex tile, int height) { - /* Find tile in the "modheight" table. - * Note: In a normal user-terraform command the tile will not be found in the "modheight" table. - * But during house- or industry-construction multiple corners can be terraformed at once. */ - TerraformerHeightMod *mod = ts->modheight; - int count = ts->modheight_count; - - while ((count > 0) && (mod->tile != tile)) { - mod++; - count--; - } - - /* New entry? */ - if (count == 0) { - assert(ts->modheight_count < TERRAFORMER_MODHEIGHT_SIZE); - ts->modheight_count++; - } - - /* Finally store the new value */ - mod->tile = tile; - mod->height = (byte)height; + ts->tile_to_new_height[tile] = height; } /** @@ -116,15 +73,7 @@ static void TerraformSetHeightOfTile(TerraformerState *ts, TileIndex tile, int h */ static void TerraformAddDirtyTile(TerraformerState *ts, TileIndex tile) { - int count = ts->tile_table_count; - - for (TileIndex *t = ts->tile_table; count != 0; count--, t++) { - if (*t == tile) return; - } - - assert(ts->tile_table_count < TERRAFORMER_TILE_TABLE_SIZE); - - ts->tile_table[ts->tile_table_count++] = tile; + ts->dirty_tiles.insert(tile); } /** @@ -157,7 +106,7 @@ static CommandCost TerraformTileHeight(TerraformerState *ts, TileIndex tile, int /* Check range of destination height */ if (height < 0) return_cmd_error(STR_ERROR_ALREADY_AT_SEA_LEVEL); - if (height > (int)MAX_TILE_HEIGHT) return_cmd_error(STR_ERROR_TOO_HIGH); + if (height > _settings_game.construction.max_heightlevel) return_cmd_error(STR_ERROR_TOO_HIGH); /* * Check if the terraforming has any effect. @@ -245,8 +194,6 @@ CommandCost CmdTerraformLand(TileIndex tile, DoCommandFlag flags, uint32 p1, uin int direction = (p2 != 0 ? 1 : -1); TerraformerState ts; - ts.modheight_count = ts.tile_table_count = 0; - /* Compute the costs and the terraforming result in a model of the landscape */ if ((p1 & SLOPE_W) != 0 && tile + TileDiffXY(1, 0) < MapSize()) { TileIndex t = tile + TileDiffXY(1, 0); @@ -280,10 +227,8 @@ CommandCost CmdTerraformLand(TileIndex tile, DoCommandFlag flags, uint32 p1, uin * Pass == 0: Collect tileareas which are caused to be auto-cleared. * Pass == 1: Collect the actual cost. */ for (int pass = 0; pass < 2; pass++) { - TileIndex *ti = ts.tile_table; - - for (int count = ts.tile_table_count; count != 0; count--, ti++) { - TileIndex tile = *ti; + for (TileIndexSet::const_iterator it = ts.dirty_tiles.begin(); it != ts.dirty_tiles.end(); it++) { + TileIndex tile = *it; assert(tile < MapSize()); /* MP_VOID tiles can be terraformed but as tunnels and bridges @@ -309,10 +254,20 @@ CommandCost CmdTerraformLand(TileIndex tile, DoCommandFlag flags, uint32 p1, uin if (pass == 0) { /* Check if bridge would take damage */ - if (direction == 1 && MayHaveBridgeAbove(tile) && IsBridgeAbove(tile) && - GetBridgeHeight(GetSouthernBridgeEnd(tile)) <= z_max) { - _terraform_err_tile = tile; // highlight the tile under the bridge - return_cmd_error(STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST); + if (IsBridgeAbove(tile)) { + int bridge_height = GetBridgeHeight(GetSouthernBridgeEnd(tile)); + + /* Check if bridge would take damage. */ + if (direction == 1 && bridge_height <= z_max) { + _terraform_err_tile = tile; // highlight the tile under the bridge + return_cmd_error(STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST); + } + + /* Is the bridge above not too high afterwards? */ + if (direction == -1 && bridge_height > (z_min + _settings_game.construction.max_bridge_height)) { + _terraform_err_tile = tile; + return_cmd_error(STR_ERROR_BRIDGE_TOO_HIGH_AFTER_LOWER_LAND); + } } /* Check if tunnel would take damage */ if (direction == -1 && IsTunnelInWay(tile, z_min)) { @@ -349,34 +304,106 @@ CommandCost CmdTerraformLand(TileIndex tile, DoCommandFlag flags, uint32 p1, uin } Company *c = Company::GetIfValid(_current_company); - if (c != NULL && (int)GB(c->terraform_limit, 16, 16) < ts.modheight_count) { + if (c != NULL && GB(c->terraform_limit, 16, 16) < ts.tile_to_new_height.size()) { return_cmd_error(STR_ERROR_TERRAFORM_LIMIT_REACHED); } if (flags & DC_EXEC) { /* change the height */ - { - int count; - TerraformerHeightMod *mod; + for (TileIndexToHeightMap::const_iterator it = ts.tile_to_new_height.begin(); + it != ts.tile_to_new_height.end(); it++) { + TileIndex tile = it->first; + int height = it->second; - mod = ts.modheight; - for (count = ts.modheight_count; count != 0; count--, mod++) { - TileIndex til = mod->tile; + SetTileHeight(tile, (uint)height); + } - SetTileHeight(til, mod->height); + /* Finally mark the dirty tiles dirty */ + for (TileIndexSet::const_iterator it = ts.dirty_tiles.begin(); it != ts.dirty_tiles.end(); it++) { + MarkTileDirtyByTile(*it); + + int height = TerraformGetHeightOfTile(&ts, *it); + + /* Now, if we alter the height of the map edge, we need to take care + * about repainting the affected areas outside map as well. + * Remember: + * Outside map, we assume that our landscape descends to + * height zero as fast as possible. + * Those simulated tiles (they don't exist as datastructure, + * only as concept in code) need to be repainted properly, + * otherwise we will get ugly glitches. + * + * Furthermore, note that we have to take care about the possibility, + * that landscape was higher before the change, + * so also tiles a bit outside need to be repainted. + */ + int x = TileX(*it); + int y = TileY(*it); + if (x == 0) { + if (y == 0) { + /* Height of the northern corner is altered. */ + for (int cx = 0; cx >= -height - 1; cx--) { + for (int cy = 0; cy >= -height - 1; cy--) { + /* This means, tiles in the sector north of that + * corner need to be repainted. + */ + if (cx + cy >= -height - 2) { + /* But only tiles that actually might have changed. */ + MarkTileDirtyByTileOutsideMap(cx, cy); + } + } + } + } else if (y < (int)MapMaxY()) { + for (int cx = 0; cx >= -height - 1; cx--) { + MarkTileDirtyByTileOutsideMap(cx, y); + } + } else { + for (int cx = 0; cx >= -height - 1; cx--) { + for (int cy = (int)MapMaxY(); cy <= (int)MapMaxY() + height + 1; cy++) { + if (cx + ((int)MapMaxY() - cy) >= -height - 2) { + MarkTileDirtyByTileOutsideMap(cx, cy); + } + } + } + } + } else if (x < (int)MapMaxX()) { + if (y == 0) { + for (int cy = 0; cy >= -height - 1; cy--) { + MarkTileDirtyByTileOutsideMap(x, cy); + } + } else if (y < (int)MapMaxY()) { + /* Nothing to be done here, we are inside the map. */ + } else { + for (int cy = (int)MapMaxY(); cy <= (int)MapMaxY() + height + 1; cy++) { + MarkTileDirtyByTileOutsideMap(x, cy); + } + } + } else { + if (y == 0) { + for (int cx = (int)MapMaxX(); cx <= (int)MapMaxX() + height + 1; cx++) { + for (int cy = 0; cy >= -height - 1; cy--) { + if (((int)MapMaxX() - cx) + cy >= -height - 2) { + MarkTileDirtyByTileOutsideMap(cx, cy); + } + } + } + } else if (y < (int)MapMaxY()) { + for (int cx = (int)MapMaxX(); cx <= (int)MapMaxX() + height + 1; cx++) { + MarkTileDirtyByTileOutsideMap(cx, y); + } + } else { + for (int cx = (int)MapMaxX(); cx <= (int)MapMaxX() + height + 1; cx++) { + for (int cy = (int)MapMaxY(); cy <= (int)MapMaxY() + height + 1; cy++) { + if (((int)MapMaxX() - cx) + ((int)MapMaxY() - cy) >= -height - 2) { + MarkTileDirtyByTileOutsideMap(cx, cy); + } + } + } + } } } - /* finally mark the dirty tiles dirty */ - { - int count; - TileIndex *ti = ts.tile_table; - for (count = ts.tile_table_count; count != 0; count--, ti++) { - MarkTileDirtyByTile(*ti); - } - } - - if (c != NULL) c->terraform_limit -= ts.modheight_count << 16; + if (c != NULL) c->terraform_limit -= ts.tile_to_new_height.size() << 16; } return total_cost; } @@ -413,7 +440,7 @@ CommandCost CmdLevelLand(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 } /* Check range of destination height */ - if (h > MAX_TILE_HEIGHT) return_cmd_error((oldh == 0) ? STR_ERROR_ALREADY_AT_SEA_LEVEL : STR_ERROR_TOO_HIGH); + if (h > _settings_game.construction.max_heightlevel) return_cmd_error((oldh == 0) ? STR_ERROR_ALREADY_AT_SEA_LEVEL : STR_ERROR_TOO_HIGH); Money money = GetAvailableMoneyForCommand(); CommandCost cost(EXPENSES_CONSTRUCTION); diff --git a/src/terraform_gui.cpp b/src/terraform_gui.cpp index 399b0a073b..acc277249c 100644 --- a/src/terraform_gui.cpp +++ b/src/terraform_gui.cpp @@ -32,11 +32,14 @@ #include "hotkeys.h" #include "engine_base.h" #include "terraform_gui.h" +#include "zoom_func.h" #include "widgets/terraform_widget.h" #include "table/strings.h" +#include "safeguards.h" + void CcTerraform(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2) { if (result.Succeeded()) { @@ -207,12 +210,7 @@ struct TerraformToolbarWindow : Window { break; case WID_TT_PLACE_OBJECT: // Place object button - /* Don't show the place object button when there are no objects to place. */ - if (ObjectClass::GetUIClassCount() == 0) return; - if (HandlePlacePushButton(this, WID_TT_PLACE_OBJECT, SPR_CURSOR_TRANSMITTER, HT_RECT)) { - ShowBuildObjectPicker(this); - this->last_user_action = widget; - } + ShowBuildObjectPicker(); break; default: NOT_REACHED(); @@ -246,10 +244,6 @@ struct TerraformToolbarWindow : Window { PlaceProc_Sign(tile); break; - case WID_TT_PLACE_OBJECT: // Place object button - PlaceProc_Object(tile); - break; - default: NOT_REACHED(); } } @@ -283,7 +277,6 @@ struct TerraformToolbarWindow : Window { virtual void OnPlaceObjectAbort() { - DeleteWindowById(WC_BUILD_OBJECT, 0); this->RaiseButtons(); } @@ -341,7 +334,7 @@ static const NWidgetPart _nested_terraform_widgets[] = { NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, WID_TT_PLACE_SIGN), SetMinimalSize(22, 22), SetFill(0, 1), SetDataTip(SPR_IMG_SIGN, STR_SCENEDIT_TOOLBAR_PLACE_SIGN), NWidget(NWID_SELECTION, INVALID_COLOUR, WID_TT_SHOW_PLACE_OBJECT), - NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, WID_TT_PLACE_OBJECT), SetMinimalSize(22, 22), + NWidget(WWT_PUSHIMGBTN, COLOUR_DARK_GREEN, WID_TT_PLACE_OBJECT), SetMinimalSize(22, 22), SetFill(0, 1), SetDataTip(SPR_IMG_TRANSMITTER, STR_SCENEDIT_TOOLBAR_PLACE_OBJECT), EndContainer(), EndContainer(), @@ -358,7 +351,7 @@ static WindowDesc _terraform_desc( /** * Show the toolbar for terraforming in the game. * @param link The toolbar we might want to link to. - * @return The allocated toolbar. + * @return The allocated toolbar if the window was newly opened, else \c NULL. */ Window *ShowTerraformToolbar(Window *link) { @@ -552,6 +545,14 @@ struct ScenarioEditorLandscapeGenerationWindow : Window { } } + virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) + { + if (widget != WID_ETT_DOTS) return; + + size->width = max(size->width, ScaleGUITrad(59)); + size->height = max(size->height, ScaleGUITrad(31)); + } + virtual void DrawWidget(const Rect &r, int widget) const { if (widget != WID_ETT_DOTS) return; @@ -564,7 +565,7 @@ struct ScenarioEditorLandscapeGenerationWindow : Window { assert(n != 0); do { - DrawSprite(SPR_WHITE_POINT, PAL_NONE, center_x + coords[0], center_y + coords[1]); + DrawSprite(SPR_WHITE_POINT, PAL_NONE, center_x + ScaleGUITrad(coords[0]), center_y + ScaleGUITrad(coords[1])); coords += 2; } while (--n); } @@ -605,10 +606,7 @@ struct ScenarioEditorLandscapeGenerationWindow : Window { break; case WID_ETT_PLACE_OBJECT: // Place transmitter button - if (HandlePlacePushButton(this, WID_ETT_PLACE_OBJECT, SPR_CURSOR_TRANSMITTER, HT_RECT)) { - ShowBuildObjectPicker(this); - this->last_user_action = widget; - } + ShowBuildObjectPicker(); break; case WID_ETT_INCREASE_SIZE: @@ -676,10 +674,6 @@ struct ScenarioEditorLandscapeGenerationWindow : Window { VpStartPlaceSizing(tile, VPM_X_AND_Y, DDSP_CREATE_DESERT); break; - case WID_ETT_PLACE_OBJECT: // Place transmitter button - PlaceProc_Object(tile); - break; - default: NOT_REACHED(); } } @@ -752,7 +746,7 @@ static WindowDesc _scen_edit_land_gen_desc( /** * Show the toolbar for terraforming in the scenario editor. - * @return The allocated toolbar. + * @return The allocated toolbar if the window was newly opened, else \c NULL. */ Window *ShowEditorTerraformToolbar() { diff --git a/src/textbuf.cpp b/src/textbuf.cpp index 766396fc66..3d219e916d 100644 --- a/src/textbuf.cpp +++ b/src/textbuf.cpp @@ -20,13 +20,17 @@ #include "window_func.h" #include "core/alloc_func.hpp" +#include "safeguards.h" + /** * Try to retrieve the current clipboard contents. * * @note OS-specific function. + * @param buffer Clipboard content. + * @param last The pointer to the last element of the destination buffer * @return True if some text could be retrieved. */ -bool GetClipboardContents(char *buffer, size_t buff_len); +bool GetClipboardContents(char *buffer, const char *last); int _caret_timer; @@ -224,7 +228,7 @@ bool Textbuf::InsertClipboard() { char utf8_buf[512]; - if (!GetClipboardContents(utf8_buf, lengthof(utf8_buf))) return false; + if (!GetClipboardContents(utf8_buf, lastof(utf8_buf))) return false; return this->InsertString(utf8_buf, false); } @@ -404,7 +408,7 @@ void Textbuf::Assign(StringID string) */ void Textbuf::Assign(const char *text) { - ttd_strlcpy(this->buf, text, this->max_bytes); + strecpy(this->buf, text, &this->buf[this->max_bytes - 1]); this->UpdateSize(); } @@ -415,7 +419,7 @@ void Textbuf::Print(const char *format, ...) { va_list va; va_start(va, format); - vsnprintf(this->buf, this->max_bytes, format, va); + vseprintf(this->buf, &this->buf[this->max_bytes - 1], format, va); va_end(va); this->UpdateSize(); } @@ -473,16 +477,10 @@ HandleKeyPressResult Textbuf::HandleKeyPress(WChar key, uint16 keycode) case WKC_RETURN: case WKC_NUM_ENTER: return HKPR_CONFIRM; -#ifdef WITH_COCOA - case (WKC_META | 'V'): -#endif case (WKC_CTRL | 'V'): edited = this->InsertClipboard(); break; -#ifdef WITH_COCOA - case (WKC_META | 'U'): -#endif case (WKC_CTRL | 'U'): this->DeleteAll(); edited = true; diff --git a/src/texteff.cpp b/src/texteff.cpp index fd20017161..cdb8b8ce6a 100644 --- a/src/texteff.cpp +++ b/src/texteff.cpp @@ -17,6 +17,8 @@ #include "viewport_func.h" #include "settings_type.h" +#include "safeguards.h" + /** Container for all information about a text effect */ struct TextEffect : public ViewportSign { uint64 params_1; ///< DParam parameter @@ -112,7 +114,7 @@ void DrawTextEffects(DrawPixelInfo *dpi) for (TextEffect *te = _text_effects.Begin(); te != end; te++) { if (te->string_id == INVALID_STRING_ID) continue; if (te->mode == TE_RISING || (_settings_client.gui.loading_indicators && !IsTransparencySet(TO_LOADING))) { - ViewportAddString(dpi, ZOOM_LVL_OUT_8X, te, te->string_id, te->string_id - 1, 0, te->params_1, te->params_2); + ViewportAddString(dpi, ZOOM_LVL_OUT_8X, te, te->string_id, te->string_id - 1, STR_NULL, te->params_1, te->params_2); } } } diff --git a/src/textfile_gui.cpp b/src/textfile_gui.cpp index 95f2b0d773..3efd98497e 100644 --- a/src/textfile_gui.cpp +++ b/src/textfile_gui.cpp @@ -21,6 +21,16 @@ #include "table/strings.h" +#if defined(WITH_ZLIB) +#include +#endif + +#if defined(WITH_LZMA) +#include +#endif + +#include "safeguards.h" + /** Widgets for the textfile window. */ static const NWidgetPart _nested_textfile_widgets[] = { NWidget(NWID_HORIZONTAL), @@ -191,6 +201,117 @@ void TextfileWindow::SetupScrollbars() #endif /* WITH_FREETYPE */ } +#if defined(WITH_ZLIB) + +/** + * Do an in-memory gunzip operation. This works on a raw deflate stream, + * or a file with gzip or zlib header. + * @param bufp A pointer to a buffer containing the input data. This + * buffer will be freed and replaced by a buffer containing + * the uncompressed data. + * @param sizep A pointer to the buffer size. Before the call, the value + * pointed to should contain the size of the input buffer. + * After the call, it contains the size of the uncompressed + * data. + * + * When decompressing fails, *bufp is set to NULL and *sizep to 0. The + * compressed buffer passed in is still freed in this case. + */ +static void Gunzip(byte **bufp, size_t *sizep) +{ + static const int BLOCKSIZE = 8192; + byte *buf = NULL; + size_t alloc_size = 0; + z_stream z; + int res; + + memset(&z, 0, sizeof(z)); + z.next_in = *bufp; + z.avail_in = *sizep; + + /* window size = 15, add 32 to enable gzip or zlib header processing */ + res = inflateInit2(&z, 15 + 32); + /* Z_BUF_ERROR just means we need more space */ + while (res == Z_OK || (res == Z_BUF_ERROR && z.avail_out == 0)) { + /* When we get here, we're either just starting, or + * inflate is out of output space - allocate more */ + alloc_size += BLOCKSIZE; + z.avail_out += BLOCKSIZE; + buf = ReallocT(buf, alloc_size); + z.next_out = buf + alloc_size - z.avail_out; + res = inflate(&z, Z_FINISH); + } + + free(*bufp); + inflateEnd(&z); + + if (res == Z_STREAM_END) { + *bufp = buf; + *sizep = alloc_size - z.avail_out; + } else { + /* Something went wrong */ + *bufp = NULL; + *sizep = 0; + free(buf); + } +} +#endif + +#if defined(WITH_LZMA) + +/** + * Do an in-memory xunzip operation. This works on a .xz or (legacy) + * .lzma file. + * @param bufp A pointer to a buffer containing the input data. This + * buffer will be freed and replaced by a buffer containing + * the uncompressed data. + * @param sizep A pointer to the buffer size. Before the call, the value + * pointed to should contain the size of the input buffer. + * After the call, it contains the size of the uncompressed + * data. + * + * When decompressing fails, *bufp is set to NULL and *sizep to 0. The + * compressed buffer passed in is still freed in this case. + */ +static void Xunzip(byte **bufp, size_t *sizep) +{ + static const int BLOCKSIZE = 8192; + byte *buf = NULL; + size_t alloc_size = 0; + lzma_stream z = LZMA_STREAM_INIT; + int res; + + z.next_in = *bufp; + z.avail_in = *sizep; + + res = lzma_auto_decoder(&z, UINT64_MAX, LZMA_CONCATENATED); + /* Z_BUF_ERROR just means we need more space */ + while (res == LZMA_OK || (res == LZMA_BUF_ERROR && z.avail_out == 0)) { + /* When we get here, we're either just starting, or + * inflate is out of output space - allocate more */ + alloc_size += BLOCKSIZE; + z.avail_out += BLOCKSIZE; + buf = ReallocT(buf, alloc_size); + z.next_out = buf + alloc_size - z.avail_out; + res = lzma_code(&z, LZMA_FINISH); + } + + free(*bufp); + lzma_end(&z); + + if (res == LZMA_STREAM_END) { + *bufp = buf; + *sizep = alloc_size - z.avail_out; + } else { + /* Something went wrong */ + *bufp = NULL; + *sizep = 0; + free(buf); + } +} +#endif + + /** * Loads the textfile text from file and setup #lines. */ @@ -205,12 +326,31 @@ void TextfileWindow::SetupScrollbars() FILE *handle = FioFOpenFile(textfile, "rb", dir, &filesize); if (handle == NULL) return; - this->text = ReallocT(this->text, filesize + 1); + this->text = ReallocT(this->text, filesize); size_t read = fread(this->text, 1, filesize, handle); fclose(handle); if (read != filesize) return; +#if defined(WITH_ZLIB) || defined(WITH_LZMA) + const char *suffix = strrchr(textfile, '.'); + if (suffix == NULL) return; +#endif + +#if defined(WITH_ZLIB) + /* In-place gunzip */ + if (strcmp(suffix, ".gz") == 0) Gunzip((byte**)&this->text, &filesize); +#endif + +#if defined(WITH_LZMA) + /* In-place xunzip */ + if (strcmp(suffix, ".xz") == 0) Xunzip((byte**)&this->text, &filesize); +#endif + + if (!this->text) return; + + /* Add space for trailing \0 */ + this->text = ReallocT(this->text, filesize + 1); this->text[filesize] = '\0'; /* Replace tabs and line feeds with a space since str_validate removes those. */ @@ -262,12 +402,25 @@ const char *GetTextfile(TextfileType type, Subdirectory dir, const char *filenam char *slash = strrchr(file_path, PATHSEPCHAR); if (slash == NULL) return NULL; - seprintf(slash + 1, lastof(file_path), "%s_%s.txt", prefix, GetCurrentLanguageIsoCode()); - if (FioCheckFileExists(file_path, dir)) return file_path; + static const char * const exts[] = { + "txt", +#if defined(WITH_ZLIB) + "txt.gz", +#endif +#if defined(WITH_LZMA) + "txt.xz", +#endif + }; - seprintf(slash + 1, lastof(file_path), "%s_%.2s.txt", prefix, GetCurrentLanguageIsoCode()); - if (FioCheckFileExists(file_path, dir)) return file_path; + for (size_t i = 0; i < lengthof(exts); i++) { + seprintf(slash + 1, lastof(file_path), "%s_%s.%s", prefix, GetCurrentLanguageIsoCode(), exts[i]); + if (FioCheckFileExists(file_path, dir)) return file_path; - seprintf(slash + 1, lastof(file_path), "%s.txt", prefix); - return FioCheckFileExists(file_path, dir) ? file_path : NULL; + seprintf(slash + 1, lastof(file_path), "%s_%.2s.%s", prefix, GetCurrentLanguageIsoCode(), exts[i]); + if (FioCheckFileExists(file_path, dir)) return file_path; + + seprintf(slash + 1, lastof(file_path), "%s.%s", prefix, exts[i]); + if (FioCheckFileExists(file_path, dir)) return file_path; + } + return NULL; } diff --git a/src/tgp.cpp b/src/tgp.cpp index 1fb3485ec5..436870b412 100644 --- a/src/tgp.cpp +++ b/src/tgp.cpp @@ -17,6 +17,8 @@ #include "core/random_func.hpp" #include "landscape_type.h" +#include "safeguards.h" + /* * * Quickie guide to Perlin Noise @@ -153,7 +155,6 @@ /** Fixed point type for heights */ typedef int16 height_t; static const int height_decimal_bits = 4; -static const height_t _invalid_height = -32768; /** Fixed point array for amplitudes (and percent values) */ typedef int amplitude_t; @@ -163,10 +164,12 @@ static const int amplitude_decimal_bits = 10; struct HeightMap { height_t *h; //< array of heights - uint dim_x; //< height map size_x MapSizeX() + 1 - uint total_size; //< height map total size - uint size_x; //< MapSizeX() - uint size_y; //< MapSizeY() + /* Even though the sizes are always positive, there are many cases where + * X and Y need to be signed integers due to subtractions. */ + int dim_x; //< height map size_x MapSizeX() + 1 + int total_size; //< height map total size + int size_x; //< MapSizeX() + int size_y; //< MapSizeY() /** * Height map accessor @@ -200,35 +203,89 @@ static HeightMap _height_map = {NULL, 0, 0, 0, 0}; /** Walk through all items of _height_map.h */ #define FOR_ALL_TILES_IN_HEIGHT(h) for (h = _height_map.h; h < &_height_map.h[_height_map.total_size]; h++) -/** Maximum index into array of noise amplitudes */ -static const int TGP_FREQUENCY_MAX = 6; - -/** - * Noise amplitudes (multiplied by 1024) - * - indexed by "smoothness setting" and log2(frequency) - */ -static const amplitude_t _amplitudes_by_smoothness_and_frequency[4][TGP_FREQUENCY_MAX + 1] = { - /* lowest frequncy.... ...highest (every corner) */ - /* Very smooth */ - {16000, 5600, 1968, 688, 240, 16, 16}, - /* Smooth */ - {16000, 16000, 6448, 3200, 1024, 128, 16}, - /* Rough */ - {16000, 19200, 12800, 8000, 3200, 256, 64}, - /* Very Rough */ - {24000, 16000, 19200, 16000, 8000, 512, 320}, -}; +/** Maximum number of TGP noise frequencies. */ +static const int MAX_TGP_FREQUENCIES = 10; /** Desired water percentage (100% == 1024) - indexed by _settings_game.difficulty.quantity_sea_lakes */ -static const amplitude_t _water_percent[4] = {20, 80, 250, 400}; +static const amplitude_t _water_percent[4] = {70, 170, 270, 420}; -/** Desired maximum height - indexed by _settings_game.difficulty.terrain_type */ -static const int8 _max_height[4] = { - 6, ///< Very flat - 9, ///< Flat - 12, ///< Hilly - 15, ///< Mountainous -}; +/** + * Gets the maximum allowed height while generating a map based on + * mapsize, terraintype, and the maximum height level. + * @return The maximum height for the map generation. + * @note Values should never be lower than 3 since the minimum snowline height is 2. + */ +static height_t TGPGetMaxHeight() +{ + /** + * Desired maximum height - indexed by: + * - _settings_game.difficulty.terrain_type + * - min(MapLogX(), MapLogY()) - MIN_MAP_SIZE_BITS + * + * It is indexed by map size as well as terrain type since the map size limits the height of + * a usable mountain. For example, on a 64x64 map a 24 high single peak mountain (as if you + * raised land 24 times in the center of the map) will leave only a ring of about 10 tiles + * around the mountain to build on. On a 4096x4096 map, it won't cover any major part of the map. + */ + static const int max_height[5][MAX_MAP_SIZE_BITS - MIN_MAP_SIZE_BITS + 1] = { + /* 64 128 256 512 1024 2048 4096 */ + { 3, 3, 3, 3, 4, 5, 7 }, ///< Very flat + { 5, 7, 8, 9, 14, 19, 31 }, ///< Flat + { 8, 9, 10, 15, 23, 37, 61 }, ///< Hilly + { 10, 11, 17, 19, 49, 63, 73 }, ///< Mountainous + { 12, 19, 25, 31, 67, 75, 87 }, ///< Alpinist + }; + + int max_height_from_table = max_height[_settings_game.difficulty.terrain_type][min(MapLogX(), MapLogY()) - MIN_MAP_SIZE_BITS]; + return I2H(min(max_height_from_table, _settings_game.construction.max_heightlevel)); +} + +/** + * Get the amplitude associated with the currently selected + * smoothness and maximum height level. + * @param frequency The frequency to get the amplitudes for + * @return The amplitudes to apply to the map. + */ +static amplitude_t GetAmplitude(int frequency) +{ + /* Base noise amplitudes (multiplied by 1024) and indexed by "smoothness setting" and log2(frequency). */ + static const amplitude_t amplitudes[][7] = { + /* lowest frequency ...... highest (every corner) */ + {16000, 5600, 1968, 688, 240, 16, 16}, ///< Very smooth + {24000, 12800, 6400, 2700, 1024, 128, 16}, ///< Smooth + {32000, 19200, 12800, 8000, 3200, 256, 64}, ///< Rough + {48000, 24000, 19200, 16000, 8000, 512, 320}, ///< Very rough + }; + /* + * Extrapolation factors for ranges before the table. + * The extrapolation is needed to account for the higher map heights. They need larger + * areas with a particular gradient so that we are able to create maps without too + * many steep slopes up to the wanted height level. It's definitely not perfect since + * it will bring larger rectangles with similar slopes which makes the rectangular + * behaviour of TGP more noticable. However, these height differentiations cannot + * happen over much smaller areas; we basically double the "range" to give a similar + * slope for every doubling of map height. + */ + static const double extrapolation_factors[] = { 3.3, 2.8, 2.3, 1.8 }; + + int smoothness = _settings_game.game_creation.tgen_smoothness; + + /* Get the table index, and return that value if possible. */ + int index = frequency - MAX_TGP_FREQUENCIES + lengthof(amplitudes[smoothness]); + amplitude_t amplitude = amplitudes[smoothness][max(0, index)]; + if (index >= 0) return amplitude; + + /* We need to extrapolate the amplitude. */ + double extrapolation_factor = extrapolation_factors[smoothness]; + int height_range = I2H(16); + do { + amplitude = (amplitude_t)(extrapolation_factor * (double)amplitude); + height_range <<= 1; + index++; + } while (index < 0); + + return Clamp((TGPGetMaxHeight() - height_range) / height_range, 0, 1) * amplitude; +} /** * Check if a X/Y set are within the map. @@ -236,9 +293,9 @@ static const int8 _max_height[4] = { * @param y coordinate y * @return true if within the map */ -static inline bool IsValidXY(uint x, uint y) +static inline bool IsValidXY(int x, int y) { - return ((int)x) >= 0 && x < _height_map.size_x && ((int)y) >= 0 && y < _height_map.size_y; + return x >= 0 && x < _height_map.size_x && y >= 0 && y < _height_map.size_y; } @@ -258,8 +315,8 @@ static inline bool AllocHeightMap() _height_map.dim_x = _height_map.size_x + 1; _height_map.h = CallocT(_height_map.total_size); - /* Iterate through height map initialize values */ - FOR_ALL_TILES_IN_HEIGHT(h) *h = _invalid_height; + /* Iterate through height map and initialise values. */ + FOR_ALL_TILES_IN_HEIGHT(h) *h = 0; return true; } @@ -267,7 +324,6 @@ static inline bool AllocHeightMap() /** Free height map */ static inline void FreeHeightMap() { - if (_height_map.h == NULL) return; free(_height_map.h); _height_map.h = NULL; } @@ -279,117 +335,74 @@ static inline void FreeHeightMap() */ static inline height_t RandomHeight(amplitude_t rMax) { - amplitude_t ra = (Random() << 16) | (Random() & 0x0000FFFF); - height_t rh; /* Spread height into range -rMax..+rMax */ - rh = A2H(ra % (2 * rMax + 1) - rMax); - return rh; + return A2H(RandomRange(2 * rMax + 1) - rMax); } /** - * One interpolation and noise round + * Base Perlin noise generator - fills height map with raw Perlin noise. * - * The heights on the map are generated in an iterative process. - * We start off with a frequency of 1 (log_frequency == 0), and generate heights only for corners on the most coarsest mesh - * (i.e. only for x/y coordinates which are multiples of the minimum edge length). - * - * After this initial step the frequency is doubled (log_frequency incremented) each iteration to generate corners on the next finer mesh. - * The heights of the newly added corners are first set by interpolating the heights from the previous iteration. - * Finally noise with the given amplitude is applied to all corners of the new mesh. - * - * Generation terminates, when the frequency has reached the map size. I.e. the mesh is as fine as the map, and every corner height - * has been set. - * - * @param log_frequency frequency (logarithmic) to apply noise for - * @param amplitude Amplitude for the noise - * @return false if we are finished (reached the minimal step size / highest frequency) + * This runs several iterations with increasing precision; the last iteration looks at areas + * of 1 by 1 tiles, the second to last at 2 by 2 tiles and the initial 2**MAX_TGP_FREQUENCIES + * by 2**MAX_TGP_FREQUENCIES tiles. */ -static bool ApplyNoise(uint log_frequency, amplitude_t amplitude) +static void HeightMapGenerate() { - uint size_min = min(_height_map.size_x, _height_map.size_y); - uint step = size_min >> log_frequency; - uint x, y; - /* Trying to apply noise to uninitialized height map */ assert(_height_map.h != NULL); - /* Are we finished? */ - if (step == 0) return false; + int start = max(MAX_TGP_FREQUENCIES - (int)min(MapLogX(), MapLogY()), 0); + bool first = true; - if (log_frequency == 0) { - /* This is first round, we need to establish base heights with step = size_min */ - for (y = 0; y <= _height_map.size_y; y += step) { - for (x = 0; x <= _height_map.size_x; x += step) { - height_t height = (amplitude > 0) ? RandomHeight(amplitude) : 0; - _height_map.height(x, y) = height; + for (int frequency = start; frequency < MAX_TGP_FREQUENCIES; frequency++) { + const amplitude_t amplitude = GetAmplitude(frequency); + + /* Ignore zero amplitudes; it means our map isn't height enough for this + * amplitude, so ignore it and continue with the next set of amplitude. */ + if (amplitude == 0) continue; + + const int step = 1 << (MAX_TGP_FREQUENCIES - frequency - 1); + + if (first) { + /* This is first round, we need to establish base heights with step = size_min */ + for (int y = 0; y <= _height_map.size_y; y += step) { + for (int x = 0; x <= _height_map.size_x; x += step) { + height_t height = (amplitude > 0) ? RandomHeight(amplitude) : 0; + _height_map.height(x, y) = height; + } + } + first = false; + continue; + } + + /* It is regular iteration round. + * Interpolate height values at odd x, even y tiles */ + for (int y = 0; y <= _height_map.size_y; y += 2 * step) { + for (int x = 0; x <= _height_map.size_x - 2 * step; x += 2 * step) { + height_t h00 = _height_map.height(x + 0 * step, y); + height_t h02 = _height_map.height(x + 2 * step, y); + height_t h01 = (h00 + h02) / 2; + _height_map.height(x + 1 * step, y) = h01; } } - return true; - } - /* It is regular iteration round. - * Interpolate height values at odd x, even y tiles */ - for (y = 0; y <= _height_map.size_y; y += 2 * step) { - for (x = 0; x < _height_map.size_x; x += 2 * step) { - height_t h00 = _height_map.height(x + 0 * step, y); - height_t h02 = _height_map.height(x + 2 * step, y); - height_t h01 = (h00 + h02) / 2; - _height_map.height(x + 1 * step, y) = h01; + /* Interpolate height values at odd y tiles */ + for (int y = 0; y <= _height_map.size_y - 2 * step; y += 2 * step) { + for (int x = 0; x <= _height_map.size_x; x += step) { + height_t h00 = _height_map.height(x, y + 0 * step); + height_t h20 = _height_map.height(x, y + 2 * step); + height_t h10 = (h00 + h20) / 2; + _height_map.height(x, y + 1 * step) = h10; + } + } + + /* Add noise for next higher frequency (smaller steps) */ + for (int y = 0; y <= _height_map.size_y; y += step) { + for (int x = 0; x <= _height_map.size_x; x += step) { + _height_map.height(x, y) += RandomHeight(amplitude); + } } } - - /* Interpolate height values at odd y tiles */ - for (y = 0; y < _height_map.size_y; y += 2 * step) { - for (x = 0; x <= _height_map.size_x; x += step) { - height_t h00 = _height_map.height(x, y + 0 * step); - height_t h20 = _height_map.height(x, y + 2 * step); - height_t h10 = (h00 + h20) / 2; - _height_map.height(x, y + 1 * step) = h10; - } - } - - /* Add noise for next higher frequency (smaller steps) */ - for (y = 0; y <= _height_map.size_y; y += step) { - for (x = 0; x <= _height_map.size_x; x += step) { - _height_map.height(x, y) += RandomHeight(amplitude); - } - } - - return (step > 1); -} - -/** Base Perlin noise generator - fills height map with raw Perlin noise */ -static void HeightMapGenerate() -{ - uint size_min = min(_height_map.size_x, _height_map.size_y); - uint iteration_round = 0; - amplitude_t amplitude; - bool continue_iteration; - int log_size_min, log_frequency_min; - int log_frequency; - - /* Find first power of two that fits, so that later log_frequency == TGP_FREQUENCY_MAX in the last iteration */ - for (log_size_min = TGP_FREQUENCY_MAX; (1U << log_size_min) < size_min; log_size_min++) { } - log_frequency_min = log_size_min - TGP_FREQUENCY_MAX; - - /* Zero must be part of the iteration, else initialization will fail. */ - assert(log_frequency_min >= 0); - - /* Keep increasing the frequency until we reach the step size equal to one tile */ - do { - log_frequency = iteration_round - log_frequency_min; - if (log_frequency >= 0) { - /* Apply noise for the next frequency */ - assert(log_frequency <= TGP_FREQUENCY_MAX); - amplitude = _amplitudes_by_smoothness_and_frequency[_settings_game.game_creation.tgen_smoothness][log_frequency]; - } else { - /* Amplitude for the low frequencies on big maps is 0, i.e. initialise with zero height */ - amplitude = 0; - } - continue_iteration = ApplyNoise(iteration_round, amplitude); - iteration_round++; - } while (continue_iteration); - assert(log_frequency == TGP_FREQUENCY_MAX); } /** Returns min, max and average height from height map */ @@ -507,7 +520,8 @@ static void HeightMapSineTransform(height_t h_min, height_t h_max) } } -/* Additional map variety is provided by applying different curve maps +/** + * Additional map variety is provided by applying different curve maps * to different parts of the map. A randomized low resolution grid contains * which curve map to use on each part of the make. This filtered non-linearly * to smooth out transitions between curves, so each tile could have between @@ -520,62 +534,55 @@ static void HeightMapSineTransform(height_t h_min, height_t h_max) * The level parameter dictates the resolution of the grid. A low resolution * grid will result in larger continuous areas of a land style, a higher * resolution grid splits the style into smaller areas. - * - * At this point in map generation, all height data has been normalized to 0 - * to 239. + * @param level Rough indication of the size of the grid sections to style. Small level means large grid sections. */ -struct control_point_t { - height_t x; - height_t y; -}; - -struct control_point_list_t { - size_t length; - const control_point_t *list; -}; - -static const control_point_t _curve_map_1[] = { - { 0, 0 }, { 48, 24 }, { 192, 32 }, { 240, 96 } -}; - -static const control_point_t _curve_map_2[] = { - { 0, 0 }, { 16, 24 }, { 128, 32 }, { 192, 64 }, { 240, 144 } -}; - -static const control_point_t _curve_map_3[] = { - { 0, 0 }, { 16, 24 }, { 128, 64 }, { 192, 144 }, { 240, 192 } -}; - -static const control_point_t _curve_map_4[] = { - { 0, 0 }, { 16, 24 }, { 96, 72 }, { 160, 192 }, { 220, 239 }, { 240, 239 } -}; - -static const control_point_list_t _curve_maps[] = { - { lengthof(_curve_map_1), _curve_map_1 }, - { lengthof(_curve_map_2), _curve_map_2 }, - { lengthof(_curve_map_3), _curve_map_3 }, - { lengthof(_curve_map_4), _curve_map_4 }, -}; - static void HeightMapCurves(uint level) { - height_t ht[lengthof(_curve_maps)]; + height_t mh = TGPGetMaxHeight() - I2H(1); // height levels above sea level only + + /** Basically scale height X to height Y. Everything in between is interpolated. */ + struct control_point_t { + height_t x; ///< The height to scale from. + height_t y; ///< The height to scale to. + }; + /* Scaled curve maps; value is in height_ts. */ +#define F(fraction) ((height_t)(fraction * mh)) + const control_point_t curve_map_1[] = { { F(0.0), F(0.0) }, { F(0.8), F(0.13) }, { F(1.0), F(0.4) } }; + const control_point_t curve_map_2[] = { { F(0.0), F(0.0) }, { F(0.53), F(0.13) }, { F(0.8), F(0.27) }, { F(1.0), F(0.6) } }; + const control_point_t curve_map_3[] = { { F(0.0), F(0.0) }, { F(0.53), F(0.27) }, { F(0.8), F(0.57) }, { F(1.0), F(0.8) } }; + const control_point_t curve_map_4[] = { { F(0.0), F(0.0) }, { F(0.4), F(0.3) }, { F(0.7), F(0.8) }, { F(0.92), F(0.99) }, { F(1.0), F(0.99) } }; +#undef F + + /** Helper structure to index the different curve maps. */ + struct control_point_list_t { + size_t length; ///< The length of the curve map. + const control_point_t *list; ///< The actual curve map. + }; + const control_point_list_t curve_maps[] = { + { lengthof(curve_map_1), curve_map_1 }, + { lengthof(curve_map_2), curve_map_2 }, + { lengthof(curve_map_3), curve_map_3 }, + { lengthof(curve_map_4), curve_map_4 }, + }; + + height_t ht[lengthof(curve_maps)]; MemSetT(ht, 0, lengthof(ht)); - /* Set up a grid to choose curve maps based on location */ - uint sx = Clamp(1 << level, 2, 32); - uint sy = Clamp(1 << level, 2, 32); + /* Set up a grid to choose curve maps based on location; attempt to get a somewhat square grid */ + float factor = sqrt((float)_height_map.size_x / (float)_height_map.size_y); + uint sx = Clamp((int)(((1 << level) * factor) + 0.5), 1, 128); + uint sy = Clamp((int)(((1 << level) / factor) + 0.5), 1, 128); byte *c = AllocaM(byte, sx * sy); for (uint i = 0; i < sx * sy; i++) { - c[i] = Random() % lengthof(_curve_maps); + c[i] = Random() % lengthof(curve_maps); } /* Apply curves */ - for (uint x = 0; x < _height_map.size_x; x++) { + for (int x = 0; x < _height_map.size_x; x++) { /* Get our X grid positions and bi-linear ratio */ - float fx = (float)(sx * x) / _height_map.size_x + 0.5f; + float fx = (float)(sx * x) / _height_map.size_x + 1.0f; uint x1 = (uint)fx; uint x2 = x1; float xr = 2.0f * (fx - x1) - 1.0f; @@ -589,10 +596,10 @@ static void HeightMapCurves(uint level) if (x2 >= sx) x2--; } - for (uint y = 0; y < _height_map.size_y; y++) { + for (int y = 0; y < _height_map.size_y; y++) { /* Get our Y grid position and bi-linear ratio */ - float fy = (float)(sy * y) / _height_map.size_y + 0.5f; + float fy = (float)(sy * y) / _height_map.size_y + 1.0f; uint y1 = (uint)fy; uint y2 = y1; float yr = 2.0f * (fy - y1) - 1.0f; @@ -621,24 +628,36 @@ static void HeightMapCurves(uint level) height_t *h = &_height_map.height(x, y); + /* Do not touch sea level */ + if (*h < I2H(1)) continue; + + /* Only scale above sea level */ + *h -= I2H(1); + /* Apply all curve maps that are used on this tile. */ - for (uint t = 0; t < lengthof(_curve_maps); t++) { + for (uint t = 0; t < lengthof(curve_maps); t++) { if (!HasBit(corner_bits, t)) continue; - const control_point_t *cm = _curve_maps[t].list; - for (uint i = 0; i < _curve_maps[t].length - 1; i++) { + bool found = false; + const control_point_t *cm = curve_maps[t].list; + for (uint i = 0; i < curve_maps[t].length - 1; i++) { const control_point_t &p1 = cm[i]; const control_point_t &p2 = cm[i + 1]; if (*h >= p1.x && *h < p2.x) { ht[t] = p1.y + (*h - p1.x) * (p2.y - p1.y) / (p2.x - p1.x); + found = true; break; } } + assert(found); } /* Apply interpolation of curve map results. */ *h = (height_t)((ht[corner_a] * yri + ht[corner_b] * yr) * xri + (ht[corner_c] * yri + ht[corner_d] * yr) * xr); + + /* Readd sea level */ + *h += I2H(1); } } } @@ -671,7 +690,7 @@ static void HeightMapAdjustWaterLevel(amplitude_t water_percent, height_t h_max_ * Transform the height map into new (normalized) height map: * values from range: h_min..h_water_level will become negative so it will be clamped to 0 * values from range: h_water_level..h_max are transformed into 0..h_max_new - * where h_max_new is 4, 8, 12 or 16 depending on terrain type (very flat, flat, hilly, mountains) + * where h_max_new is depending on terrain type and map size. */ FOR_ALL_TILES_IN_HEIGHT(h) { /* Transform height from range h_water_level..h_max into 0..h_max_new range */ @@ -710,7 +729,7 @@ static void HeightMapCoastLines(uint8 water_borders) { int smallest_size = min(_settings_game.game_creation.map_x, _settings_game.game_creation.map_y); const int margin = 4; - uint y, x; + int y, x; double max_x; double max_y; @@ -719,7 +738,7 @@ static void HeightMapCoastLines(uint8 water_borders) if (HasBit(water_borders, BORDER_NE)) { /* Top right */ max_x = abs((perlin_coast_noise_2D(_height_map.size_y - y, y, 0.9, 53) + 0.25) * 5 + (perlin_coast_noise_2D(y, y, 0.35, 179) + 1) * 12); - max_x = max((smallest_size * smallest_size / 16) + max_x, (smallest_size * smallest_size / 16) + margin - max_x); + max_x = max((smallest_size * smallest_size / 64) + max_x, (smallest_size * smallest_size / 64) + margin - max_x); if (smallest_size < 8 && max_x > 5) max_x /= 1.5; for (x = 0; x < max_x; x++) { _height_map.height(x, y) = 0; @@ -729,7 +748,7 @@ static void HeightMapCoastLines(uint8 water_borders) if (HasBit(water_borders, BORDER_SW)) { /* Bottom left */ max_x = abs((perlin_coast_noise_2D(_height_map.size_y - y, y, 0.85, 101) + 0.3) * 6 + (perlin_coast_noise_2D(y, y, 0.45, 67) + 0.75) * 8); - max_x = max((smallest_size * smallest_size / 16) + max_x, (smallest_size * smallest_size / 16) + margin - max_x); + max_x = max((smallest_size * smallest_size / 64) + max_x, (smallest_size * smallest_size / 64) + margin - max_x); if (smallest_size < 8 && max_x > 5) max_x /= 1.5; for (x = _height_map.size_x; x > (_height_map.size_x - 1 - max_x); x--) { _height_map.height(x, y) = 0; @@ -742,7 +761,7 @@ static void HeightMapCoastLines(uint8 water_borders) if (HasBit(water_borders, BORDER_NW)) { /* Top left */ max_y = abs((perlin_coast_noise_2D(x, _height_map.size_y / 2, 0.9, 167) + 0.4) * 5 + (perlin_coast_noise_2D(x, _height_map.size_y / 3, 0.4, 211) + 0.7) * 9); - max_y = max((smallest_size * smallest_size / 16) + max_y, (smallest_size * smallest_size / 16) + margin - max_y); + max_y = max((smallest_size * smallest_size / 64) + max_y, (smallest_size * smallest_size / 64) + margin - max_y); if (smallest_size < 8 && max_y > 5) max_y /= 1.5; for (y = 0; y < max_y; y++) { _height_map.height(x, y) = 0; @@ -752,7 +771,7 @@ static void HeightMapCoastLines(uint8 water_borders) if (HasBit(water_borders, BORDER_SE)) { /* Bottom right */ max_y = abs((perlin_coast_noise_2D(x, _height_map.size_y / 3, 0.85, 71) + 0.25) * 6 + (perlin_coast_noise_2D(x, _height_map.size_y / 3, 0.35, 193) + 0.75) * 12); - max_y = max((smallest_size * smallest_size / 16) + max_y, (smallest_size * smallest_size / 16) + margin - max_y); + max_y = max((smallest_size * smallest_size / 64) + max_y, (smallest_size * smallest_size / 64) + margin - max_y); if (smallest_size < 8 && max_y > 5) max_y /= 1.5; for (y = _height_map.size_y; y > (_height_map.size_y - 1 - max_y); y--) { _height_map.height(x, y) = 0; @@ -771,7 +790,7 @@ static void HeightMapSmoothCoastInDirection(int org_x, int org_y, int dir_x, int int ed; // coast distance from edge int depth; - height_t h_prev = 16; + height_t h_prev = I2H(1); height_t h; assert(IsValidXY(org_x, org_y)); @@ -779,7 +798,7 @@ static void HeightMapSmoothCoastInDirection(int org_x, int org_y, int dir_x, int /* Search for the coast (first non-water tile) */ for (x = org_x, y = org_y, ed = 0; IsValidXY(x, y) && ed < max_coast_dist_from_edge; x += dir_x, y += dir_y, ed++) { /* Coast found? */ - if (_height_map.height(x, y) > 15) break; + if (_height_map.height(x, y) >= I2H(1)) break; /* Coast found in the neighborhood? */ if (IsValidXY(x + dir_y, y + dir_x) && _height_map.height(x + dir_y, y + dir_x) > 0) break; @@ -801,7 +820,7 @@ static void HeightMapSmoothCoastInDirection(int org_x, int org_y, int dir_x, int /** Smooth coasts by modulating height of tiles close to map edges with cosine of distance from edge */ static void HeightMapSmoothCoasts(uint8 water_borders) { - uint x, y; + int x, y; /* First Smooth NW and SE coasts (y close to 0 and y close to size_y) */ for (x = 0; x < _height_map.size_x; x++) { if (HasBit(water_borders, BORDER_NW)) HeightMapSmoothCoastInDirection(x, 0, 0, 1); @@ -823,16 +842,15 @@ static void HeightMapSmoothCoasts(uint8 water_borders) */ static void HeightMapSmoothSlopes(height_t dh_max) { - int x, y; - for (y = 0; y <= (int)_height_map.size_y; y++) { - for (x = 0; x <= (int)_height_map.size_x; x++) { + for (int y = 0; y <= (int)_height_map.size_y; y++) { + for (int x = 0; x <= (int)_height_map.size_x; x++) { height_t h_max = min(_height_map.height(x > 0 ? x - 1 : x, y), _height_map.height(x, y > 0 ? y - 1 : y)) + dh_max; if (_height_map.height(x, y) > h_max) _height_map.height(x, y) = h_max; } } - for (y = _height_map.size_y; y >= 0; y--) { - for (x = _height_map.size_x; x >= 0; x--) { - height_t h_max = min(_height_map.height((uint)x < _height_map.size_x ? x + 1 : x, y), _height_map.height(x, (uint)y < _height_map.size_y ? y + 1 : y)) + dh_max; + for (int y = _height_map.size_y; y >= 0; y--) { + for (int x = _height_map.size_x; x >= 0; x--) { + height_t h_max = min(_height_map.height(x < _height_map.size_x ? x + 1 : x, y), _height_map.height(x, y < _height_map.size_y ? y + 1 : y)) + dh_max; if (_height_map.height(x, y) > h_max) _height_map.height(x, y) = h_max; } } @@ -849,7 +867,7 @@ static void HeightMapNormalize() { int sea_level_setting = _settings_game.difficulty.quantity_sea_lakes; const amplitude_t water_percent = sea_level_setting != (int)CUSTOM_SEA_LEVEL_NUMBER_DIFFICULTY ? _water_percent[sea_level_setting] : _settings_game.game_creation.custom_sea_level * 1024 / 100; - const height_t h_max_new = I2H(_max_height[_settings_game.difficulty.terrain_type]); + const height_t h_max_new = TGPGetMaxHeight(); const height_t roughness = 7 + 3 * _settings_game.game_creation.tgen_smoothness; HeightMapAdjustWaterLevel(water_percent, h_max_new); @@ -863,13 +881,13 @@ static void HeightMapNormalize() HeightMapSmoothCoasts(water_borders); HeightMapSmoothSlopes(roughness); - HeightMapSineTransform(12, h_max_new); + HeightMapSineTransform(I2H(1), h_max_new); if (_settings_game.game_creation.variety > 0) { HeightMapCurves(_settings_game.game_creation.variety); } - HeightMapSmoothSlopes(16); + HeightMapSmoothSlopes(I2H(1)); } /** @@ -932,9 +950,8 @@ static double interpolated_noise(const double x, const double y, const int prime static double perlin_coast_noise_2D(const double x, const double y, const double p, const int prime) { double total = 0.0; - int i; - for (i = 0; i < 6; i++) { + for (int i = 0; i < 6; i++) { const double frequency = (double)(1 << i); const double amplitude = pow(p, (double)i); @@ -965,8 +982,6 @@ static void TgenSetTileHeight(TileIndex tile, int height) */ void GenerateTerrainPerlin() { - uint x, y; - if (!AllocHeightMap()) return; GenerateWorldSetAbortCallback(FreeHeightMap); @@ -980,17 +995,16 @@ void GenerateTerrainPerlin() /* First make sure the tiles at the north border are void tiles if needed. */ if (_settings_game.construction.freeform_edges) { - for (y = 0; y < _height_map.size_y - 1; y++) MakeVoid(_height_map.size_x * y); - for (x = 0; x < _height_map.size_x; x++) MakeVoid(x); + for (int y = 0; y < _height_map.size_y - 1; y++) MakeVoid(_height_map.size_x * y); + for (int x = 0; x < _height_map.size_x; x++) MakeVoid(x); } + int max_height = H2I(TGPGetMaxHeight()); + /* Transfer height map into OTTD map */ - for (y = 0; y < _height_map.size_y; y++) { - for (x = 0; x < _height_map.size_x; x++) { - int height = H2I(_height_map.height(x, y)); - if (height < 0) height = 0; - if (height > 15) height = 15; - TgenSetTileHeight(TileXY(x, y), height); + for (int y = 0; y < _height_map.size_y; y++) { + for (int x = 0; x < _height_map.size_x; x++) { + TgenSetTileHeight(TileXY(x, y), Clamp(H2I(_height_map.height(x, y)), 0, max_height)); } } diff --git a/src/thread/thread_morphos.cpp b/src/thread/thread_morphos.cpp index abf2cf0ccc..cc6b2f9d3d 100644 --- a/src/thread/thread_morphos.cpp +++ b/src/thread/thread_morphos.cpp @@ -23,6 +23,8 @@ #include #include +#include "../safeguards.h" + /** * avoid name clashes with MorphOS API functions */ diff --git a/src/thread/thread_none.cpp b/src/thread/thread_none.cpp index 415a62d59d..afa799b239 100644 --- a/src/thread/thread_none.cpp +++ b/src/thread/thread_none.cpp @@ -12,6 +12,8 @@ #include "../stdafx.h" #include "thread.h" +#include "../safeguards.h" + /* static */ bool ThreadObject::New(OTTDThreadFunc proc, void *param, ThreadObject **thread) { if (thread != NULL) *thread = NULL; diff --git a/src/thread/thread_os2.cpp b/src/thread/thread_os2.cpp index d93fc0c710..2dcb8288f4 100644 --- a/src/thread/thread_os2.cpp +++ b/src/thread/thread_os2.cpp @@ -16,6 +16,8 @@ #include #include +#include "../safeguards.h" + /** * OS/2 version for ThreadObject. */ @@ -36,7 +38,7 @@ public: param(param), self_destruct(self_destruct) { - thread = _beginthread(stThreadProc, NULL, 32768, this); + thread = _beginthread(stThreadProc, NULL, 1048576, this); } /* virtual */ bool Exit() diff --git a/src/thread/thread_pthread.cpp b/src/thread/thread_pthread.cpp index 9d54a4d20b..ce407fd941 100644 --- a/src/thread/thread_pthread.cpp +++ b/src/thread/thread_pthread.cpp @@ -14,6 +14,8 @@ #include #include +#include "../safeguards.h" + /** * POSIX pthread version for ThreadObject. */ diff --git a/src/thread/thread_win32.cpp b/src/thread/thread_win32.cpp index 484cc55137..c37baf7c36 100644 --- a/src/thread/thread_win32.cpp +++ b/src/thread/thread_win32.cpp @@ -17,6 +17,8 @@ #include #include +#include "../safeguards.h" + /** * Win32 thread version for ThreadObject. */ diff --git a/src/tile_map.cpp b/src/tile_map.cpp index 1e30ba0d96..c566ad02cd 100644 --- a/src/tile_map.cpp +++ b/src/tile_map.cpp @@ -12,8 +12,102 @@ #include "stdafx.h" #include "tile_map.h" +#include "safeguards.h" + /** - * Return the slope of a given tile + * Returns the tile height for a coordinate outside map. Such a height is + * needed for painting the area outside map using completely black tiles. + * The idea is descending to heightlevel 0 as fast as possible. + * @param x The X-coordinate (same unit as TileX). + * @param y The Y-coordinate (same unit as TileY). + * @return The height in the same unit as TileHeight. + */ +uint TileHeightOutsideMap(int x, int y) +{ + /* In all cases: Descend to heightlevel 0 as fast as possible. + * So: If we are at the 0-side of the map (x<0 or y<0), we must + * subtract the distance to coordinate 0 from the heightlevel at + * coordinate 0. + * In other words: Subtract e.g. -x. If we are at the MapMax + * side of the map, we also need to subtract the distance to + * the edge of map, e.g. MapMaxX - x. + * + * NOTE: Assuming constant heightlevel outside map would be + * simpler here. However, then we run into painting problems, + * since whenever a heightlevel change at the map border occurs, + * we would need to repaint anything outside map. + * In contrast, by doing it this way, we can localize this change, + * which means we may assume constant heightlevel for all tiles + * at more than distance from the + * map border. + */ + if (x < 0) { + if (y < 0) { + return max((int)TileHeight(TileXY(0, 0)) - (-x) - (-y), 0); + } else if (y < (int)MapMaxY()) { + return max((int)TileHeight(TileXY(0, y)) - (-x), 0); + } else { + return max((int)TileHeight(TileXY(0, (int)MapMaxY())) - (-x) - (y - (int)MapMaxY()), 0); + } + } else if (x < (int)MapMaxX()) { + if (y < 0) { + return max((int)TileHeight(TileXY(x, 0)) - (-y), 0); + } else if (y < (int)MapMaxY()) { + return TileHeight(TileXY(x, y)); + } else { + return max((int)TileHeight(TileXY(x, (int)MapMaxY())) - (y - (int)MapMaxY()), 0); + } + } else { + if (y < 0) { + return max((int)TileHeight(TileXY((int)MapMaxX(), 0)) - (x - (int)MapMaxX()) - (-y), 0); + } else if (y < (int)MapMaxY()) { + return max((int)TileHeight(TileXY((int)MapMaxX(), y)) - (x - (int)MapMaxX()), 0); + } else { + return max((int)TileHeight(TileXY((int)MapMaxX(), (int)MapMaxY())) - (x - (int)MapMaxX()) - (y - (int)MapMaxY()), 0); + } + } +} + +/** + * Get a tile's slope given the heigh of its four corners. + * @param hnorth The height at the northern corner in the same unit as TileHeight. + * @param hwest The height at the western corner in the same unit as TileHeight. + * @param heast The height at the eastern corner in the same unit as TileHeight. + * @param hsouth The height at the southern corner in the same unit as TileHeight. + * @param [out] h The lowest height of the four corners. + * @return The slope. + */ +static Slope GetTileSlopeGivenHeight(int hnorth, int hwest, int heast, int hsouth, int *h) +{ + /* Due to the fact that tiles must connect with each other without leaving gaps, the + * biggest difference in height between any corner and 'min' is between 0, 1, or 2. + * + * Also, there is at most 1 corner with height difference of 2. + */ + int hminnw = min(hnorth, hwest); + int hmines = min(heast, hsouth); + int hmin = min(hminnw, hmines); + + if (h != NULL) *h = hmin; + + int hmaxnw = max(hnorth, hwest); + int hmaxes = max(heast, hsouth); + int hmax = max(hmaxnw, hmaxes); + + Slope r = SLOPE_FLAT; + + if (hnorth != hmin) r |= SLOPE_N; + if (hwest != hmin) r |= SLOPE_W; + if (heast != hmin) r |= SLOPE_E; + if (hsouth != hmin) r |= SLOPE_S; + + if (hmax - hmin == 2) r |= SLOPE_STEEP; + + return r; +} + +/** + * Return the slope of a given tile inside the map. * @param tile Tile to compute slope of * @param h If not \c NULL, pointer to storage of z height * @return Slope of the tile, except for the HALFTILE part @@ -22,40 +116,38 @@ Slope GetTileSlope(TileIndex tile, int *h) { assert(tile < MapSize()); - if (!IsInnerTile(tile)) { + uint x = TileX(tile); + uint y = TileY(tile); + if (x == MapMaxX() || y == MapMaxY()) { if (h != NULL) *h = TileHeight(tile); return SLOPE_FLAT; } - int a = TileHeight(tile); // Height of the N corner - int min = a; // Minimal height of all corners examined so far - int b = TileHeight(tile + TileDiffXY(1, 0)); // Height of the W corner - if (min > b) min = b; - int c = TileHeight(tile + TileDiffXY(0, 1)); // Height of the E corner - if (min > c) min = c; - int d = TileHeight(tile + TileDiffXY(1, 1)); // Height of the S corner - if (min > d) min = d; + int hnorth = TileHeight(tile); // Height of the North corner. + int hwest = TileHeight(tile + TileDiffXY(1, 0)); // Height of the West corner. + int heast = TileHeight(tile + TileDiffXY(0, 1)); // Height of the East corner. + int hsouth = TileHeight(tile + TileDiffXY(1, 1)); // Height of the South corner. - /* Due to the fact that tiles must connect with each other without leaving gaps, the - * biggest difference in height between any corner and 'min' is between 0, 1, or 2. - * - * Also, there is at most 1 corner with height difference of 2. - */ + return GetTileSlopeGivenHeight(hnorth, hwest, heast, hsouth, h); +} - uint r = SLOPE_FLAT; // Computed slope of the tile +/** + * Return the slope of a given tile outside the map. + * + * @param tile Tile outside the map to compute slope of. + * @param h If not \c NULL, pointer to storage of z height. + * @return Slope of the tile outside map, except for the HALFTILE part. + */ +Slope GetTilePixelSlopeOutsideMap(int x, int y, int *h) +{ + int hnorth = TileHeightOutsideMap(x, y); // N corner. + int hwest = TileHeightOutsideMap(x + 1, y); // W corner. + int heast = TileHeightOutsideMap(x, y + 1); // E corner. + int hsouth = TileHeightOutsideMap(x + 1, y + 1); // S corner. - /* For each corner if not equal to minimum height: - * - set the SLOPE_STEEP flag if the difference is 2 - * - add the corresponding SLOPE_X constant to the computed slope - */ - if ((a -= min) != 0) r += (--a << 4) + SLOPE_N; - if ((c -= min) != 0) r += (--c << 4) + SLOPE_E; - if ((d -= min) != 0) r += (--d << 4) + SLOPE_S; - if ((b -= min) != 0) r += (--b << 4) + SLOPE_W; - - if (h != NULL) *h = min; - - return (Slope)r; + Slope s = GetTileSlopeGivenHeight(hnorth, hwest, heast, hsouth, h); + if (h != NULL) *h *= TILE_HEIGHT; + return s; } /** @@ -91,7 +183,7 @@ int GetTileZ(TileIndex tile) { if (TileX(tile) == MapMaxX() || TileY(tile) == MapMaxY()) return 0; - int h = TileHeight(tile); // N corner + int h = TileHeight(tile); // N corner h = min(h, TileHeight(tile + TileDiffXY(1, 0))); // W corner h = min(h, TileHeight(tile + TileDiffXY(0, 1))); // E corner h = min(h, TileHeight(tile + TileDiffXY(1, 1))); // S corner @@ -100,18 +192,52 @@ int GetTileZ(TileIndex tile) } /** - * Get top height of the tile + * Get bottom height of the tile outside map. + * + * @param tile Tile outside the map to compute height of. + * @return Minimum height of the tile outside the map. + */ +int GetTilePixelZOutsideMap(int x, int y) +{ + uint h = TileHeightOutsideMap(x, y); // N corner. + h = min(h, TileHeightOutsideMap(x + 1, y)); // W corner. + h = min(h, TileHeightOutsideMap(x, y + 1)); // E corner. + h = min(h, TileHeightOutsideMap(x + 1, y + 1)); // S corner + + return h * TILE_HEIGHT; +} + +/** + * Get top height of the tile inside the map. * @param t Tile to compute height of * @return Maximum height of the tile */ int GetTileMaxZ(TileIndex t) { - if (TileX(t) == MapMaxX() || TileY(t) == MapMaxY()) return 0; + if (TileX(t) == MapMaxX() || TileY(t) == MapMaxY()) return TileHeightOutsideMap(TileX(t), TileY(t)); - int h = TileHeight(t); // N corner + int h = TileHeight(t); // N corner h = max(h, TileHeight(t + TileDiffXY(1, 0))); // W corner h = max(h, TileHeight(t + TileDiffXY(0, 1))); // E corner h = max(h, TileHeight(t + TileDiffXY(1, 1))); // S corner return h; } + +/** + * Get top height of the tile outside the map. + * + * @see Detailed description in header. + * + * @param tile Tile outside to compute height of. + * @return Maximum height of the tile. + */ +int GetTileMaxPixelZOutsideMap(int x, int y) +{ + uint h = TileHeightOutsideMap(x, y); + h = max(h, TileHeightOutsideMap(x + 1, y)); + h = max(h, TileHeightOutsideMap(x, y + 1)); + h = max(h, TileHeightOutsideMap(x + 1, y + 1)); + + return h * TILE_HEIGHT; +} diff --git a/src/tile_map.h b/src/tile_map.h index 98863eb599..4d5891d7ba 100644 --- a/src/tile_map.h +++ b/src/tile_map.h @@ -31,9 +31,11 @@ static inline uint TileHeight(TileIndex tile) { assert(tile < MapSize()); - return GB(_m[tile].type_height, 0, 4); + return _m[tile].height; } +uint TileHeightOutsideMap(int x, int y); + /** * Sets the height of a tile. * @@ -48,7 +50,7 @@ static inline void SetTileHeight(TileIndex tile, uint height) { assert(tile < MapSize()); assert(height <= MAX_TILE_HEIGHT); - SB(_m[tile].type_height, 0, 4, height); + _m[tile].height = height; } /** @@ -64,6 +66,19 @@ static inline uint TilePixelHeight(TileIndex tile) return TileHeight(tile) * TILE_HEIGHT; } +/** + * Returns the tile height for a coordinate outside map. Such a height is + * needed for painting the area outside map using completely black tiles. + * The idea is descending to heightlevel 0 as fast as possible. + * @param x The X-coordinate (same unit as TileX). + * @param y The Y-coordinate (same unit as TileY). + * @return The height in pixels in the same unit as TilePixelHeight. + */ +static inline uint TilePixelHeightOutsideMap(int x, int y) +{ + return TileHeightOutsideMap(x, y) * TILE_HEIGHT; +} + /** * Get the tiletype of a given tile. * @@ -74,7 +89,7 @@ static inline uint TilePixelHeight(TileIndex tile) static inline TileType GetTileType(TileIndex tile) { assert(tile < MapSize()); - return (TileType)GB(_m[tile].type_height, 4, 4); + return (TileType)GB(_m[tile].type, 4, 4); } /** @@ -113,7 +128,7 @@ static inline void SetTileType(TileIndex tile, TileType type) * edges of the map. If _settings_game.construction.freeform_edges is true, * the upper edges of the map are also VOID tiles. */ assert(IsInnerTile(tile) == (type != MP_VOID)); - SB(_m[tile].type_height, 4, 4, type); + SB(_m[tile].type, 4, 4, type); } /** @@ -204,7 +219,7 @@ static inline void SetTropicZone(TileIndex tile, TropicZone type) { assert(tile < MapSize()); assert(!IsTileType(tile, MP_VOID) || type == TROPICZONE_NORMAL); - SB(_m[tile].m6, 0, 2, type); + SB(_m[tile].type, 0, 2, type); } /** @@ -216,7 +231,7 @@ static inline void SetTropicZone(TileIndex tile, TropicZone type) static inline TropicZone GetTropicZone(TileIndex tile) { assert(tile < MapSize()); - return (TropicZone)GB(_m[tile].m6, 0, 2); + return (TropicZone)GB(_m[tile].type, 0, 2); } /** @@ -262,6 +277,8 @@ static inline Slope GetTilePixelSlope(TileIndex tile, int *h) return s; } +Slope GetTilePixelSlopeOutsideMap(int x, int y, int *h); + /** * Get bottom height of the tile * @param tile Tile to compute height of @@ -272,6 +289,8 @@ static inline int GetTilePixelZ(TileIndex tile) return GetTileZ(tile) * TILE_HEIGHT; } +int GetTilePixelZOutsideMap(int x, int y); + /** * Get top height of the tile * @param t Tile to compute height of @@ -282,6 +301,8 @@ static inline int GetTileMaxPixelZ(TileIndex tile) return GetTileMaxZ(tile) * TILE_HEIGHT; } +int GetTileMaxPixelZOutsideMap(int x, int y); + /** * Calculate a hash value from a tile position diff --git a/src/tile_type.h b/src/tile_type.h index 34543eb93e..0d720925da 100644 --- a/src/tile_type.h +++ b/src/tile_type.h @@ -12,15 +12,21 @@ #ifndef TILE_TYPE_H #define TILE_TYPE_H -static const uint TILE_SIZE = 16; ///< Tiles are 16x16 "units" in size -static const uint TILE_UNIT_MASK = TILE_SIZE - 1; ///< For masking in/out the inner-tile units. -static const uint TILE_PIXELS = 32; ///< a tile is 32x32 pixels -static const uint TILE_HEIGHT = 8; ///< The standard height-difference between tiles on two levels is 8 (z-diff 8) +static const uint TILE_SIZE = 16; ///< Tile size in world coordinates. +static const uint TILE_UNIT_MASK = TILE_SIZE - 1; ///< For masking in/out the inner-tile world coordinate units. +static const uint TILE_PIXELS = 32; ///< Pixel distance between tile columns/rows in #ZOOM_LVL_BASE. +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_TILE_HEIGHT = 15; ///< Maximum allowed tile height +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 uint MAX_TILE_HEIGHT = 255; ///< Maximum allowed tile height + +static const uint MIN_MAX_HEIGHTLEVEL = 15; ///< Lower bound of maximum allowed heightlevel (in the construction settings) +static const uint DEF_MAX_HEIGHTLEVEL = 30; ///< Default maximum allowed heightlevel (in the construction settings) +static const uint MAX_MAX_HEIGHTLEVEL = MAX_TILE_HEIGHT; ///< Upper bound of maximum allowed heightlevel (in the construction settings) static const uint MIN_SNOWLINE_HEIGHT = 2; ///< Minimum snowline height -static const uint DEF_SNOWLINE_HEIGHT = 7; ///< Default snowline height +static const uint DEF_SNOWLINE_HEIGHT = 15; ///< Default snowline height static const uint MAX_SNOWLINE_HEIGHT = (MAX_TILE_HEIGHT - 2); ///< Maximum allowed snowline height diff --git a/src/tilearea.cpp b/src/tilearea.cpp index 046e222214..ec3b9aafbb 100644 --- a/src/tilearea.cpp +++ b/src/tilearea.cpp @@ -13,6 +13,8 @@ #include "tilearea_type.h" +#include "safeguards.h" + /** * Construct this tile area based on two points. * @param start the start of the area diff --git a/src/timetable_cmd.cpp b/src/timetable_cmd.cpp index 5b7a69d8ea..29986c353d 100644 --- a/src/timetable_cmd.cpp +++ b/src/timetable_cmd.cpp @@ -20,51 +20,62 @@ #include "table/strings.h" +#include "safeguards.h" + /** * Change/update a particular timetable entry. * @param v The vehicle to change the timetable of. * @param order_number The index of the timetable in the order list. * @param val The new data of the timetable entry. * @param mtf Which part of the timetable entry to change. + * @param timetabled If the new value is explicitly timetabled. */ -static void ChangeTimetable(Vehicle *v, VehicleOrderID order_number, uint16 val, ModifyTimetableFlags mtf) +static void ChangeTimetable(Vehicle *v, VehicleOrderID order_number, uint16 val, ModifyTimetableFlags mtf, bool timetabled) { Order *order = v->GetOrder(order_number); - int delta = 0; + int total_delta = 0; + int timetable_delta = 0; switch (mtf) { case MTF_WAIT_TIME: - delta = val - order->wait_time; - order->wait_time = val; + total_delta = val - order->GetWaitTime(); + timetable_delta = (timetabled ? val : 0) - order->GetTimetabledWait(); + order->SetWaitTime(val); + order->SetWaitTimetabled(timetabled); break; case MTF_TRAVEL_TIME: - delta = val - order->travel_time; - order->travel_time = val; + total_delta = val - order->GetTravelTime(); + timetable_delta = (timetabled ? val : 0) - order->GetTimetabledTravel(); + order->SetTravelTime(val); + order->SetTravelTimetabled(timetabled); break; case MTF_TRAVEL_SPEED: - order->max_speed = val; + order->SetMaxSpeed(val); break; default: NOT_REACHED(); } - v->orders.list->UpdateOrderTimetable(delta); + v->orders.list->UpdateTotalDuration(total_delta); + v->orders.list->UpdateTimetableDuration(timetable_delta); for (v = v->FirstShared(); v != NULL; v = v->NextShared()) { if (v->cur_real_order_index == order_number && v->current_order.Equals(*order)) { switch (mtf) { case MTF_WAIT_TIME: - v->current_order.wait_time = val; + v->current_order.SetWaitTime(val); + v->current_order.SetWaitTimetabled(timetabled); break; case MTF_TRAVEL_TIME: - v->current_order.travel_time = val; + v->current_order.SetTravelTime(val); + v->current_order.SetTravelTimetabled(timetabled); break; case MTF_TRAVEL_SPEED: - v->current_order.max_speed = val; + v->current_order.SetMaxSpeed(val); break; default: @@ -85,6 +96,7 @@ static void ChangeTimetable(Vehicle *v, VehicleOrderID order_number, uint16 val, * - p1 = (bit 28-29) - Timetable data to change (@see ModifyTimetableFlags) * @param p2 The amount of time to wait. * - p2 = (bit 0-15) - The data to modify as specified by p1 bits 28-29. + * 0 to clear times, UINT16_MAX to clear speed limit. * @param text unused * @return the cost of this operation or an error */ @@ -105,9 +117,9 @@ CommandCost CmdChangeTimetable(TileIndex tile, DoCommandFlag flags, uint32 p1, u ModifyTimetableFlags mtf = Extract(p1); if (mtf >= MTF_END) return CMD_ERROR; - int wait_time = order->wait_time; - int travel_time = order->travel_time; - int max_speed = order->max_speed; + int wait_time = order->GetWaitTime(); + int travel_time = order->GetTravelTime(); + int max_speed = order->GetMaxSpeed(); switch (mtf) { case MTF_WAIT_TIME: wait_time = GB(p2, 0, 16); @@ -126,7 +138,7 @@ CommandCost CmdChangeTimetable(TileIndex tile, DoCommandFlag flags, uint32 p1, u NOT_REACHED(); } - if (wait_time != order->wait_time) { + if (wait_time != order->GetWaitTime()) { switch (order->GetType()) { case OT_GOTO_STATION: if (order->GetNonStopType() & ONSF_NO_STOP_AT_DESTINATION_STATION) return_cmd_error(STR_ERROR_TIMETABLE_NOT_STOPPING_HERE); @@ -139,13 +151,34 @@ CommandCost CmdChangeTimetable(TileIndex tile, DoCommandFlag flags, uint32 p1, u } } - if (travel_time != order->travel_time && order->IsType(OT_CONDITIONAL)) return CMD_ERROR; - if (max_speed != order->max_speed && (order->IsType(OT_CONDITIONAL) || v->type == VEH_AIRCRAFT)) return CMD_ERROR; + if (travel_time != order->GetTravelTime() && order->IsType(OT_CONDITIONAL)) return CMD_ERROR; + if (max_speed != order->GetMaxSpeed() && (order->IsType(OT_CONDITIONAL) || v->type == VEH_AIRCRAFT)) return CMD_ERROR; if (flags & DC_EXEC) { - if (wait_time != order->wait_time) ChangeTimetable(v, order_number, wait_time, MTF_WAIT_TIME); - if (travel_time != order->travel_time) ChangeTimetable(v, order_number, travel_time, MTF_TRAVEL_TIME); - if (max_speed != order->max_speed) ChangeTimetable(v, order_number, max_speed, MTF_TRAVEL_SPEED); + switch (mtf) { + case MTF_WAIT_TIME: + /* Set time if changing the value or confirming an estimated time as timetabled. */ + if (wait_time != order->GetWaitTime() || (wait_time > 0 && !order->IsWaitTimetabled())) { + ChangeTimetable(v, order_number, wait_time, MTF_WAIT_TIME, wait_time > 0); + } + break; + + case MTF_TRAVEL_TIME: + /* Set time if changing the value or confirming an estimated time as timetabled. */ + if (travel_time != order->GetTravelTime() || (travel_time > 0 && !order->IsTravelTimetabled())) { + ChangeTimetable(v, order_number, travel_time, MTF_TRAVEL_TIME, travel_time > 0); + } + break; + + case MTF_TRAVEL_SPEED: + if (max_speed != order->GetMaxSpeed()) { + ChangeTimetable(v, order_number, max_speed, MTF_TRAVEL_SPEED, max_speed != UINT16_MAX); + } + break; + + default: + break; + } } return CommandCost(); @@ -345,13 +378,15 @@ CommandCost CmdAutofillTimetable(TileIndex tile, DoCommandFlag flags, uint32 p1, */ void UpdateVehicleTimetable(Vehicle *v, bool travelling) { - uint timetabled = travelling ? v->current_order.travel_time : v->current_order.wait_time; uint time_taken = v->current_order_time; v->current_order_time = 0; if (v->current_order.IsType(OT_IMPLICIT)) return; // no timetabling of auto orders + if (v->cur_real_order_index >= v->GetNumOrders()) return; + Order *real_current_order = v->GetOrder(v->cur_real_order_index); + VehicleOrderID first_manual_order = 0; for (Order *o = v->GetFirstOrder(); o != NULL && o->IsType(OT_IMPLICIT); o = o->next) { ++first_manual_order; @@ -378,43 +413,52 @@ void UpdateVehicleTimetable(Vehicle *v, bool travelling) if (!HasBit(v->vehicle_flags, VF_TIMETABLE_STARTED)) return; - if (HasBit(v->vehicle_flags, VF_AUTOFILL_TIMETABLE)) { - if (travelling && !HasBit(v->vehicle_flags, VF_AUTOFILL_PRES_WAIT_TIME)) { - /* Need to clear that now as otherwise we are not able to reduce the wait time */ - v->current_order.wait_time = 0; - } + bool autofilling = HasBit(v->vehicle_flags, VF_AUTOFILL_TIMETABLE); + bool remeasure_wait_time = !real_current_order->IsWaitTimetabled() || + (autofilling && !HasBit(v->vehicle_flags, VF_AUTOFILL_PRES_WAIT_TIME)); - if (just_started) return; - - /* Modify station waiting time only if our new value is larger (this is - * always the case when we cleared the timetable). */ - if (!v->current_order.IsType(OT_CONDITIONAL) && (travelling || time_taken > v->current_order.wait_time)) { - /* Round the time taken up to the nearest day, as this will avoid - * confusion for people who are timetabling in days, and can be - * adjusted later by people who aren't. - * For trains/aircraft multiple movement cycles are done in one - * tick. This makes it possible to leave the station and process - * e.g. a depot order in the same tick, causing it to not fill - * the timetable entry like is done for road vehicles/ships. - * Thus always make sure at least one tick is used between the - * processing of different orders when filling the timetable. */ - time_taken = CeilDiv(max(time_taken, 1U), DAY_TICKS) * DAY_TICKS; - - ChangeTimetable(v, v->cur_real_order_index, time_taken, travelling ? MTF_TRAVEL_TIME : MTF_WAIT_TIME); - } - - if (v->cur_real_order_index == first_manual_order && travelling) { - /* If we just started we would have returned earlier and have not reached - * this code. So obviously, we have completed our round: So turn autofill - * off again. */ - ClrBit(v->vehicle_flags, VF_AUTOFILL_TIMETABLE); - ClrBit(v->vehicle_flags, VF_AUTOFILL_PRES_WAIT_TIME); - } - return; + if (travelling && remeasure_wait_time) { + /* We just finished travelling and want to remeasure the loading time, + * so do not apply any restrictions for the loading to finish. */ + v->current_order.SetWaitTime(0); } if (just_started) return; + /* Before modifying waiting times, check whether we want to preserve bigger ones. */ + if (!real_current_order->IsType(OT_CONDITIONAL) && + (travelling || time_taken > real_current_order->GetWaitTime() || remeasure_wait_time)) { + /* Round the time taken up to the nearest day, as this will avoid + * confusion for people who are timetabling in days, and can be + * adjusted later by people who aren't. + * For trains/aircraft multiple movement cycles are done in one + * tick. This makes it possible to leave the station and process + * e.g. a depot order in the same tick, causing it to not fill + * the timetable entry like is done for road vehicles/ships. + * Thus always make sure at least one tick is used between the + * processing of different orders when filling the timetable. */ + uint time_to_set = CeilDiv(max(time_taken, 1U), DAY_TICKS) * DAY_TICKS; + + if (travelling && (autofilling || !real_current_order->IsTravelTimetabled())) { + ChangeTimetable(v, v->cur_real_order_index, time_to_set, MTF_TRAVEL_TIME, autofilling); + } else if (!travelling && (autofilling || !real_current_order->IsWaitTimetabled())) { + ChangeTimetable(v, v->cur_real_order_index, time_to_set, MTF_WAIT_TIME, autofilling); + } + } + + if (v->cur_real_order_index == first_manual_order && travelling) { + /* If we just started we would have returned earlier and have not reached + * this code. So obviously, we have completed our round: So turn autofill + * off again. */ + ClrBit(v->vehicle_flags, VF_AUTOFILL_TIMETABLE); + ClrBit(v->vehicle_flags, VF_AUTOFILL_PRES_WAIT_TIME); + } + + if (autofilling) return; + + uint timetabled = travelling ? real_current_order->GetTimetabledTravel() : + real_current_order->GetTimetabledWait(); + /* Vehicles will wait at stations if they arrive early even if they are not * timetabled to wait there, so make sure the lateness counter is updated * when this happens. */ diff --git a/src/timetable_gui.cpp b/src/timetable_gui.cpp index 0a846915fa..ffea9a8642 100644 --- a/src/timetable_gui.cpp +++ b/src/timetable_gui.cpp @@ -30,6 +30,8 @@ #include "table/sprites.h" #include "table/strings.h" +#include "safeguards.h" + /** Container for the arrival/departure dates of a vehicle */ struct TimetableArrivalDeparture { Ticks arrival; ///< The arrival time @@ -53,18 +55,6 @@ void SetTimetableParams(int param1, int param2, Ticks ticks) } } -/** - * Sets the arrival or departure string and parameters. - * @param param1 the first DParam to fill - * @param param2 the second DParam to fill - * @param ticks the number of ticks to 'draw' - */ -static void SetArrivalDepartParams(int param1, int param2, Ticks ticks) -{ - SetDParam(param1, STR_JUST_DATE_TINY); - SetDParam(param2, _date + (ticks / DAY_TICKS)); -} - /** * Check whether it is possible to determine how long the order takes. * @param order the order to check. @@ -76,9 +66,12 @@ static bool CanDetermineTimeTaken(const Order *order, bool travelling) /* Current order is conditional */ if (order->IsType(OT_CONDITIONAL) || order->IsType(OT_IMPLICIT)) return false; /* No travel time and we have not already finished travelling */ - if (travelling && order->travel_time == 0) return false; + if (travelling && !order->IsTravelTimetabled()) return false; /* No wait time but we are loading at this timetabled station */ - if (!travelling && order->wait_time == 0 && order->IsType(OT_GOTO_STATION) && !(order->GetNonStopType() & ONSF_NO_STOP_AT_DESTINATION_STATION)) return false; + if (!travelling && !order->IsWaitTimetabled() && order->IsType(OT_GOTO_STATION) && + !(order->GetNonStopType() & ONSF_NO_STOP_AT_DESTINATION_STATION)) { + return false; + } return true; } @@ -116,12 +109,12 @@ static void FillTimetableArrivalDepartureTable(const Vehicle *v, VehicleOrderID if (!order->IsType(OT_IMPLICIT)) { if (travelling || i != start) { if (!CanDetermineTimeTaken(order, true)) return; - sum += order->travel_time; + sum += order->GetTimetabledTravel(); table[i].arrival = sum; } if (!CanDetermineTimeTaken(order, false)) return; - sum += order->wait_time; + sum += order->GetTimetabledWait(); table[i].departure = sum; } @@ -138,7 +131,7 @@ static void FillTimetableArrivalDepartureTable(const Vehicle *v, VehicleOrderID * travelling part of the first order. */ if (!travelling) { if (!CanDetermineTimeTaken(order, true)) return; - sum += order->travel_time; + sum += order->GetTimetabledTravel(); table[i].arrival = sum; } } @@ -396,13 +389,23 @@ struct TimetableWindow : Window { } else if (order->IsType(OT_IMPLICIT)) { string = STR_TIMETABLE_NOT_TIMETABLEABLE; colour = ((i == selected) ? TC_SILVER : TC_GREY) | TC_NO_SHADE; - } else if (order->travel_time == 0) { - string = order->max_speed != UINT16_MAX ? STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED : STR_TIMETABLE_TRAVEL_NOT_TIMETABLED; + } else if (!order->IsTravelTimetabled()) { + if (order->GetTravelTime() > 0) { + SetTimetableParams(0, 1, order->GetTravelTime()); + string = order->GetMaxSpeed() != UINT16_MAX ? + STR_TIMETABLE_TRAVEL_FOR_SPEED_ESTIMATED : + STR_TIMETABLE_TRAVEL_FOR_ESTIMATED; + } else { + string = order->GetMaxSpeed() != UINT16_MAX ? + STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED : + STR_TIMETABLE_TRAVEL_NOT_TIMETABLED; + } } else { - SetTimetableParams(0, 1, order->travel_time); - string = order->max_speed != UINT16_MAX ? STR_TIMETABLE_TRAVEL_FOR_SPEED : STR_TIMETABLE_TRAVEL_FOR; + SetTimetableParams(0, 1, order->GetTimetabledTravel()); + string = order->GetMaxSpeed() != UINT16_MAX ? + STR_TIMETABLE_TRAVEL_FOR_SPEED : STR_TIMETABLE_TRAVEL_FOR; } - SetDParam(2, order->max_speed); + SetDParam(2, order->GetMaxSpeed()); DrawString(rtl ? r.left + WD_FRAMERECT_LEFT : middle, rtl ? middle : r.right - WD_FRAMERECT_LEFT, y, string, colour); @@ -447,18 +450,20 @@ struct TimetableWindow : Window { if (arr_dep[i / 2].arrival != INVALID_TICKS) { DrawString(abbr_left, abbr_right, y, STR_TIMETABLE_ARRIVAL_ABBREVIATION, i == selected ? TC_WHITE : TC_BLACK); if (this->show_expected && i / 2 == earlyID) { - SetArrivalDepartParams(0, 1, arr_dep[i / 2].arrival); - DrawString(time_left, time_right, y, STR_GREEN_STRING, i == selected ? TC_WHITE : TC_BLACK); + SetDParam(0, _date + arr_dep[i / 2].arrival / DAY_TICKS); + DrawString(time_left, time_right, y, STR_JUST_DATE_TINY, TC_GREEN); } else { - SetArrivalDepartParams(0, 1, arr_dep[i / 2].arrival + offset); - DrawString(time_left, time_right, y, show_late ? STR_RED_STRING : STR_JUST_STRING, i == selected ? TC_WHITE : TC_BLACK); + SetDParam(0, _date + (arr_dep[i / 2].arrival + offset) / DAY_TICKS); + DrawString(time_left, time_right, y, STR_JUST_DATE_TINY, + show_late ? TC_RED : i == selected ? TC_WHITE : TC_BLACK); } } } else { if (arr_dep[i / 2].departure != INVALID_TICKS) { DrawString(abbr_left, abbr_right, y, STR_TIMETABLE_DEPARTURE_ABBREVIATION, i == selected ? TC_WHITE : TC_BLACK); - SetArrivalDepartParams(0, 1, arr_dep[i/2].departure + offset); - DrawString(time_left, time_right, y, show_late ? STR_RED_STRING : STR_JUST_STRING, i == selected ? TC_WHITE : TC_BLACK); + SetDParam(0, _date + (arr_dep[i/2].departure + offset) / DAY_TICKS); + DrawString(time_left, time_right, y, STR_JUST_DATE_TINY, + show_late ? TC_RED : i == selected ? TC_WHITE : TC_BLACK); } } y += FONT_HEIGHT_NORMAL; @@ -538,7 +543,7 @@ struct TimetableWindow : Window { StringID current = STR_EMPTY; if (order != NULL) { - uint time = (selected % 2 == 1) ? order->travel_time : order->wait_time; + uint time = (selected % 2 == 1) ? order->GetTravelTime() : order->GetWaitTime(); if (!_settings_client.gui.timetable_in_ticks) time /= DAY_TICKS; if (time != 0) { @@ -548,7 +553,7 @@ struct TimetableWindow : Window { } this->query_is_speed_query = false; - ShowQueryString(current, STR_TIMETABLE_CHANGE_TIME, 31, this, CS_NUMERAL, QSF_NONE); + ShowQueryString(current, STR_TIMETABLE_CHANGE_TIME, 31, this, CS_NUMERAL, QSF_ACCEPT_UNCHANGED); break; } @@ -561,8 +566,8 @@ struct TimetableWindow : Window { StringID current = STR_EMPTY; const Order *order = v->GetOrder(real); if (order != NULL) { - if (order->max_speed != UINT16_MAX) { - SetDParam(0, ConvertKmhishSpeedToDisplaySpeed(order->max_speed)); + if (order->GetMaxSpeed() != UINT16_MAX) { + SetDParam(0, ConvertKmhishSpeedToDisplaySpeed(order->GetMaxSpeed())); current = STR_JUST_INT; } } diff --git a/src/toolbar_gui.cpp b/src/toolbar_gui.cpp index 57bc4d4124..45d751dc56 100644 --- a/src/toolbar_gui.cpp +++ b/src/toolbar_gui.cpp @@ -46,6 +46,7 @@ #include "game/game.hpp" #include "goal_base.h" #include "story_base.h" +#include "toolbar_gui.h" #include "widgets/toolbar_widget.h" @@ -53,6 +54,11 @@ #include "network/network_gui.h" #include "network/network_func.h" +#include "safeguards.h" + + +/** Width of the toolbar, shared by statusbar. */ +uint _toolbar_width = 0; RailType _last_built_railtype; RoadType _last_built_roadtype; @@ -305,7 +311,7 @@ static CallBackFunction ToolbarOptionsClick(Window *w) { DropDownList *list = new DropDownList(); *list->Append() = new DropDownListStringItem(STR_SETTINGS_MENU_GAME_OPTIONS, OME_GAMEOPTIONS, false); - *list->Append() = new DropDownListStringItem(STR_SETTINGS_MENU_CONFIG_SETTINGS, OME_SETTINGS, false); + *list->Append() = new DropDownListStringItem(STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE, OME_SETTINGS, false); /* Changes to the per-AI settings don't get send from the server to the clients. Clients get * the settings once they join but never update it. As such don't show the window at all * to network clients. */ @@ -1119,7 +1125,7 @@ void SetStartingYear(Year year) _settings_game.game_creation.starting_year = Clamp(year, MIN_YEAR, MAX_YEAR); Date new_date = ConvertYMDToDate(_settings_game.game_creation.starting_year, 0, 1); /* If you open a savegame as scenario there may already be link graphs.*/ - LinkGraphSchedule::Instance()->ShiftDates(new_date - _date); + LinkGraphSchedule::instance.ShiftDates(new_date - _date); SetDate(new_date, 0); } @@ -1348,7 +1354,7 @@ public: child_wid->current_x = child_wid->smallest_x; } } - w->window_desc->default_width = nbuttons * this->smallest_x; + _toolbar_width = nbuttons * this->smallest_x; } void AssignSizePosition(SizingType sizing, uint x, uint y, uint given_width, uint given_height, bool rtl) @@ -1524,7 +1530,7 @@ class NWidgetScenarioToolbarContainer : public NWidgetToolbarContainer { assert(i < lengthof(this->panel_widths)); this->panel_widths[i++] = child_wid->current_x; - w->window_desc->default_width += child_wid->current_x; + _toolbar_width += child_wid->current_x; } } @@ -1664,6 +1670,11 @@ struct MainToolbarWindow : Window { DoZoomInOutWindow(ZOOM_NONE, this); } + virtual void FindWindowPlacementAndResize(int def_width, int def_height) + { + Window::FindWindowPlacementAndResize(_toolbar_width, def_height); + } + virtual void OnPaint() { /* If spectator, disable all construction buttons @@ -1898,7 +1909,7 @@ static const NWidgetPart _nested_toolbar_normal_widgets[] = { }; static WindowDesc _toolb_normal_desc( - WDP_MANUAL, NULL, 640, 22, + WDP_MANUAL, NULL, 0, 0, WC_MAIN_TOOLBAR, WC_NONE, WDF_NO_FOCUS, _nested_toolbar_normal_widgets, lengthof(_nested_toolbar_normal_widgets), @@ -1979,6 +1990,11 @@ struct ScenarioEditorToolbarWindow : Window { DoZoomInOutWindow(ZOOM_NONE, this); } + virtual void FindWindowPlacementAndResize(int def_width, int def_height) + { + Window::FindWindowPlacementAndResize(_toolbar_width, def_height); + } + virtual void OnPaint() { this->SetWidgetDisabledState(WID_TE_DATE_BACKWARD, _settings_game.game_creation.starting_year <= MIN_YEAR); @@ -2209,7 +2225,7 @@ static const NWidgetPart _nested_toolb_scen_widgets[] = { }; static WindowDesc _toolb_scen_desc( - WDP_MANUAL, NULL, 640, 22, + WDP_MANUAL, NULL, 0, 0, WC_MAIN_TOOLBAR, WC_NONE, WDF_NO_FOCUS, _nested_toolb_scen_widgets, lengthof(_nested_toolb_scen_widgets), diff --git a/src/toolbar_gui.h b/src/toolbar_gui.h index d3eba5b272..37fc8f0e9f 100644 --- a/src/toolbar_gui.h +++ b/src/toolbar_gui.h @@ -16,4 +16,6 @@ void AllocateToolbar(); void ToggleBoundingBoxes(); void ToggleDirtyBlocks(); +extern uint _toolbar_width; + #endif /* TOOLBAR_GUI_H */ diff --git a/src/town.h b/src/town.h index 67e580d6b5..6945f5617e 100644 --- a/src/town.h +++ b/src/town.h @@ -95,7 +95,7 @@ struct Town : TownPool::PoolItem<&_town_pool> { uint16 time_until_rebuild; ///< time until we rebuild a house - uint16 grow_counter; ///< counter to count when to grow + uint16 grow_counter; ///< counter to count when to grow, value is smaller than or equal to growth_rate uint16 growth_rate; ///< town growth rate byte fund_buildings_months; ///< fund buildings program in action? diff --git a/src/town_cmd.cpp b/src/town_cmd.cpp index 8b23a9afd3..db2b498e20 100644 --- a/src/town_cmd.cpp +++ b/src/town_cmd.cpp @@ -50,6 +50,8 @@ #include "table/strings.h" #include "table/town_land.h" +#include "safeguards.h" + TownID _new_town_id; uint32 _town_cargoes_accepted; ///< Bitmap of all cargoes accepted by houses. @@ -189,7 +191,7 @@ Money HouseSpec::GetRemovalCost() const return (_price[PR_CLEAR_HOUSE] * this->removal_cost) >> 8; } -// Local +/* Local */ static int _grow_town_result; /* Describe the possible states */ @@ -395,7 +397,7 @@ void Town::UpdateVirtCoord() Point pt = RemapCoords2(TileX(this->xy) * TILE_SIZE, TileY(this->xy) * TILE_SIZE); SetDParam(0, this->index); SetDParam(1, this->cache.population); - this->cache.sign.UpdatePosition(pt.x, pt.y - 24 * ZOOM_LVL_BASE, this->Label()); + this->cache.sign.UpdatePosition(pt.x, pt.y - 24 * ZOOM_LVL_BASE, this->Label(), STR_VIEWPORT_TOWN); SetWindowDirty(WC_TOWN_VIEW, this->index); } @@ -886,7 +888,7 @@ static bool IsRoadAllowedHere(Town *t, TileIndex tile, DiagDirection dir) if (DistanceFromEdge(tile) == 0) return false; /* Prevent towns from building roads under bridges along the bridge. Looks silly. */ - if (MayHaveBridgeAbove(tile) && IsBridgeAbove(tile) && GetBridgeAxis(tile) == DiagDirToAxis(dir)) return false; + if (IsBridgeAbove(tile) && GetBridgeAxis(tile) == DiagDirToAxis(dir)) return false; /* Check if there already is a road at this point? */ if (GetTownRoadBits(tile) == ROAD_NONE) { @@ -1314,13 +1316,56 @@ static void GrowTownInTile(TileIndex *tile_ptr, RoadBits cur_rb, DiagDirection t GrowTownWithRoad(t1, tile, rcmd); } +/** + * Checks whether a road can be followed or is a dead end, that can not be extended to the next tile. + * This only checks trivial but often cases. + * @param tile Start tile for road. + * @param dir Direction for road to follow or build. + * @return true If road is or can be connected in the specified direction. + */ +static bool CanFollowRoad(TileIndex tile, DiagDirection dir) +{ + TileIndex target_tile = tile + TileOffsByDiagDir(dir); + if (!IsValidTile(target_tile)) return false; + if (HasTileWaterGround(target_tile)) return false; + + RoadBits target_rb = GetTownRoadBits(target_tile); + if (_settings_game.economy.allow_town_roads || _generating_world) { + /* Check whether a road connection exists or can be build. */ + switch (GetTileType(target_tile)) { + case MP_ROAD: + return target_rb != ROAD_NONE; + + case MP_STATION: + return IsDriveThroughStopTile(target_tile); + + case MP_TUNNELBRIDGE: + return GetTunnelBridgeTransportType(target_tile) == TRANSPORT_ROAD; + + case MP_HOUSE: + case MP_INDUSTRY: + case MP_OBJECT: + return false; + + default: + /* Checked for void and water earlier */ + return true; + } + } else { + /* Check whether a road connection already exists, + * and it leads somewhere else. */ + RoadBits back_rb = DiagDirToRoadBits(ReverseDiagDir(dir)); + return (target_rb & back_rb) != 0 && (target_rb & ~back_rb) != 0; + } +} + /** * Returns "growth" if a house was built, or no if the build failed. * @param t town to inquiry * @param tile to inquiry - * @return something other than zero(0)if town expansion was possible + * @return true if town expansion was possible */ -static int GrowTownAtRoad(Town *t, TileIndex tile) +static bool GrowTownAtRoad(Town *t, TileIndex tile) { /* Special case. * @see GrowTownInTile Check the else if @@ -1357,7 +1402,7 @@ static int GrowTownAtRoad(Town *t, TileIndex tile) * and return if no more road blocks available */ if (IsValidDiagDirection(target_dir)) cur_rb &= ~DiagDirToRoadBits(ReverseDiagDir(target_dir)); if (cur_rb == ROAD_NONE) { - return _grow_town_result; + return _grow_town_result == GROWTH_SUCCEED; } if (IsTileType(tile, MP_TUNNELBRIDGE)) { @@ -1366,14 +1411,22 @@ static int GrowTownAtRoad(Town *t, TileIndex tile) } else { /* Select a random bit from the blockmask, walk a step * and continue the search from there. */ - do target_dir = RandomDiagDir(); while (!(cur_rb & DiagDirToRoadBits(target_dir))); + do { + if (cur_rb == ROAD_NONE) return false; + RoadBits target_bits; + do { + target_dir = RandomDiagDir(); + target_bits = DiagDirToRoadBits(target_dir); + } while (!(cur_rb & target_bits)); + cur_rb &= ~target_bits; + } while (!CanFollowRoad(tile, target_dir)); } tile = TileAddByDiagDir(tile, target_dir); if (IsTileType(tile, MP_ROAD) && !IsRoadDepot(tile) && HasTileRoadType(tile, ROADTYPE_ROAD)) { /* Don't allow building over roads of other cities */ if (IsRoadOwner(tile, ROADTYPE_ROAD, OWNER_TOWN) && Town::GetByTile(tile) != t) { - _grow_town_result = GROWTH_SUCCEED; + return false; } else if (IsRoadOwner(tile, ROADTYPE_ROAD, OWNER_NONE) && _game_mode == GM_EDITOR) { /* If we are in the SE, and this road-piece has no town owner yet, it just found an * owner :) (happy happy happy road now) */ @@ -1385,7 +1438,7 @@ static int GrowTownAtRoad(Town *t, TileIndex tile) /* Max number of times is checked. */ } while (--_grow_town_result >= 0); - return (_grow_town_result == -2); + return _grow_town_result == GROWTH_SUCCEED - 1; } /** @@ -1407,7 +1460,7 @@ static RoadBits GenRandomRoadBits() /** * Grow the town * @param t town to grow - * @return true iff a house was built + * @return true iff something (house, road, bridge, ...) was built */ static bool GrowTown(Town *t) { @@ -1436,9 +1489,9 @@ static bool GrowTown(Town *t) const TileIndexDiffC *ptr; for (ptr = _town_coord_mod; ptr != endof(_town_coord_mod); ++ptr) { if (GetTownRoadBits(tile) != ROAD_NONE) { - int r = GrowTownAtRoad(t, tile); + bool success = GrowTownAtRoad(t, tile); cur_company.Restore(); - return r != 0; + return success; } tile = TILE_ADD(tile, ToTileIndexDiff(*ptr)); } @@ -1723,7 +1776,7 @@ CommandCost CmdFoundTown(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 old_generating_world.Restore(); if (t != NULL && !StrEmpty(text)) { - t->name = strdup(text); + t->name = stredup(text); t->UpdateVirtCoord(); } @@ -1734,7 +1787,7 @@ CommandCost CmdFoundTown(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 SetDParam(0, _current_company); GetString(company_name, STR_COMPANY_NAME, lastof(company_name)); - char *cn = strdup(company_name); + char *cn = stredup(company_name); SetDParamStr(0, cn); SetDParam(1, t->index); @@ -2036,7 +2089,7 @@ static inline bool CanBuildHouseHere(TileIndex tile, TownID town, bool noslope) if ((noslope && slope != SLOPE_FLAT) || IsSteepSlope(slope)) return false; /* building under a bridge? */ - if (MayHaveBridgeAbove(tile) && IsBridgeAbove(tile)) return false; + if (IsBridgeAbove(tile)) return false; /* do not try to build over house owned by another town */ if (IsTileType(tile, MP_HOUSE) && GetTownIndex(tile) != town) return false; @@ -2466,7 +2519,7 @@ CommandCost CmdRenameTown(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 if (flags & DC_EXEC) { free(t->name); - t->name = reset ? NULL : strdup(text); + t->name = reset ? NULL : stredup(text); t->UpdateVirtCoord(); InvalidateWindowData(WC_TOWN_DIRECTORY, 0, 1); @@ -2543,7 +2596,7 @@ CommandCost CmdTownSetText(TileIndex tile, DoCommandFlag flags, uint32 p1, uint3 if (flags & DC_EXEC) { free(t->text); - t->text = StrEmpty(text) ? NULL : strdup(text); + t->text = StrEmpty(text) ? NULL : stredup(text); InvalidateWindowData(WC_TOWN_VIEW, p1); } @@ -2760,7 +2813,7 @@ static CommandCost TownActionRoadRebuild(Town *t, DoCommandFlag flags) SetDParam(0, _current_company); GetString(company_name, STR_COMPANY_NAME, lastof(company_name)); - char *cn = strdup(company_name); + char *cn = stredup(company_name); SetDParam(0, t->index); SetDParamStr(1, cn); @@ -2808,7 +2861,7 @@ static bool SearchTileForStatue(TileIndex tile, void *user_data) /* Statues can be build on slopes, just like houses. Only the steep slopes is a no go. */ if (IsSteepSlope(GetTileSlope(tile))) return false; /* Don't build statues under bridges. */ - if (MayHaveBridgeAbove(tile) && IsBridgeAbove(tile)) return false; + if (IsBridgeAbove(tile)) return false; /* A clear-able open space is always preferred. */ if ((IsTileType(tile, MP_CLEAR) || IsTileType(tile, MP_TREES)) && TryClearTile(tile)) { @@ -3135,9 +3188,7 @@ static void UpdateTownGrowRate(Town *t) if (t->larger_town) m /= 2; t->growth_rate = m / (t->cache.num_houses / 50 + 1); - if (m <= t->grow_counter) { - t->grow_counter = m; - } + t->grow_counter = min(t->growth_rate, t->grow_counter); SetBit(t->flags, TOWN_IS_GROWING); SetWindowDirty(WC_TOWN_VIEW, t->index); diff --git a/src/town_gui.cpp b/src/town_gui.cpp index b1fdace35e..222549ff73 100644 --- a/src/town_gui.cpp +++ b/src/town_gui.cpp @@ -37,6 +37,8 @@ #include "table/strings.h" +#include "safeguards.h" + typedef GUIList GUITownList; static const NWidgetPart _nested_town_authority_widgets[] = { @@ -404,7 +406,7 @@ public: if (this->town->text != NULL) { SetDParamStr(0, this->town->text); - DrawStringMultiLine(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_LEFT, y += FONT_HEIGHT_NORMAL, UINT16_MAX, STR_JUST_RAW_STRING, TC_BLACK); + DrawStringMultiLine(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, y += FONT_HEIGHT_NORMAL, UINT16_MAX, STR_JUST_RAW_STRING, TC_BLACK); } } @@ -482,7 +484,7 @@ public: if (this->town->text != NULL) { SetDParamStr(0, this->town->text); - aimed_height += GetStringHeight(STR_JUST_RAW_STRING, width); + aimed_height += GetStringHeight(STR_JUST_RAW_STRING, width - WD_FRAMERECT_LEFT - WD_FRAMERECT_RIGHT); } return aimed_height; @@ -795,7 +797,7 @@ public: switch (widget) { case WID_TD_SORT_ORDER: { Dimension d = GetStringBoundingBox(this->GetWidget(widget)->widget_data); - d.width += padding.width + WD_SORTBUTTON_ARROW_WIDTH * 2; // Doubled since the string is centred and it also looks better. + d.width += padding.width + Window::SortButtonWidth() * 2; // Doubled since the string is centred and it also looks better. d.height += padding.height; *size = maxdim(*size, d); break; @@ -1111,7 +1113,8 @@ public: bool success = DoCommandP(tile, this->town_size | this->city << 2 | this->town_layout << 3 | random << 6, townnameparts, CMD_FOUND_TOWN | CMD_MSG(errstr), cc, name); - if (success) this->RandomTownName(); + /* Rerandomise name, if success and no cost-estimation. */ + if (success && !_shift_pressed) this->RandomTownName(); } virtual void OnClick(Point pt, int widget, int click_count) diff --git a/src/town_map.h b/src/town_map.h index 41505871de..016ff9a6d2 100644 --- a/src/town_map.h +++ b/src/town_map.h @@ -126,7 +126,7 @@ static inline void HaltLift(TileIndex t) */ static inline byte GetLiftPosition(TileIndex t) { - return GB(_m[t].m6, 2, 6); + return GB(_me[t].m6, 2, 6); } /** @@ -136,7 +136,7 @@ static inline byte GetLiftPosition(TileIndex t) */ static inline void SetLiftPosition(TileIndex t, byte pos) { - SB(_m[t].m6, 2, 6, pos); + SB(_me[t].m6, 2, 6, pos); } /** @@ -315,7 +315,7 @@ static inline byte GetHouseTriggers(TileIndex t) static inline byte GetHouseProcessingTime(TileIndex t) { assert(IsTileType(t, MP_HOUSE)); - return GB(_m[t].m6, 2, 6); + return GB(_me[t].m6, 2, 6); } /** @@ -327,7 +327,7 @@ static inline byte GetHouseProcessingTime(TileIndex t) static inline void SetHouseProcessingTime(TileIndex t, byte time) { assert(IsTileType(t, MP_HOUSE)); - SB(_m[t].m6, 2, 6, time); + SB(_me[t].m6, 2, 6, time); } /** @@ -338,7 +338,7 @@ static inline void SetHouseProcessingTime(TileIndex t, byte time) static inline void DecHouseProcessingTime(TileIndex t) { assert(IsTileType(t, MP_HOUSE)); - _m[t].m6 -= 1 << 2; + _me[t].m6 -= 1 << 2; } /** diff --git a/src/townname.cpp b/src/townname.cpp index ad9b26fee6..2067fa1bb3 100644 --- a/src/townname.cpp +++ b/src/townname.cpp @@ -20,6 +20,8 @@ #include "table/townname.h" +#include "safeguards.h" + /** * Initializes this struct from town data @@ -200,7 +202,8 @@ static inline int32 SeedChanceBias(byte shift_by, int max, uint32 seed, int bias */ static void ReplaceWords(const char *org, const char *rep, char *buf) { - if (strncmp(buf, org, 4) == 0) strncpy(buf, rep, 4); // Safe as the string in buf is always more than 4 characters long. + assert(strlen(org) == 4 && strlen(rep) == 4 && strlen(buf) >= 4); + if (strncmp(buf, org, 4) == 0) memcpy(buf, rep, 4); // Safe as the string in buf is always more than 4 characters long. } @@ -632,7 +635,7 @@ static char *MakeCzechTownName(char *buf, const char *last, uint32 seed) choose = _name_czech_subst_full[stem].choose; allow = _name_czech_subst_full[stem].allow; } else { - unsigned int map[lengthof(_name_czech_subst_ending)]; + uint map[lengthof(_name_czech_subst_ending)]; int ending_start = -1, ending_stop = -1; /* Load the substantive */ diff --git a/src/train_cmd.cpp b/src/train_cmd.cpp index 0198ac58cb..8f20973b35 100644 --- a/src/train_cmd.cpp +++ b/src/train_cmd.cpp @@ -39,6 +39,8 @@ #include "table/strings.h" #include "table/train_cmd.h" +#include "safeguards.h" + static Track ChooseTrainTrack(Train *v, TileIndex tile, DiagDirection enterdir, TrackBits tracks, bool force_res, bool *got_reservation, bool mark_stuck); static bool TrainCheckIfLineEnds(Train *v, bool reverse = true); bool TrainController(Train *v, Vehicle *nomove, bool reverse = true); // Also used in vehicle_sl.cpp. @@ -430,7 +432,7 @@ int Train::GetCurrentMaxSpeed() const } } - max_speed = min(max_speed, this->current_order.max_speed); + max_speed = min(max_speed, this->current_order.GetMaxSpeed()); return min(max_speed, this->gcache.cached_max_track_speed); } @@ -462,10 +464,10 @@ int Train::GetDisplayImageWidth(Point *offset) const } if (offset != NULL) { - offset->x = reference_width / 2; - offset->y = vehicle_pitch; + offset->x = ScaleGUITrad(reference_width) / 2; + offset->y = ScaleGUITrad(vehicle_pitch); } - return this->gcache.cached_veh_length * reference_width / VEHICLE_LENGTH; + return ScaleGUITrad(this->gcache.cached_veh_length * reference_width / VEHICLE_LENGTH); } static SpriteID GetDefaultTrainSprite(uint8 spritenum, Direction direction) @@ -512,7 +514,7 @@ static SpriteID GetRailIcon(EngineID engine, bool rear_head, int &y, EngineImage SpriteID sprite = GetCustomVehicleIcon(engine, dir, image_type); if (sprite != 0) { if (e->GetGRF() != NULL) { - y += e->GetGRF()->traininfo_vehicle_pitch; + y += ScaleGUITrad(e->GetGRF()->traininfo_vehicle_pitch); } return sprite; } @@ -536,14 +538,18 @@ void DrawTrainEngine(int left, int right, int preferred_x, int y, EngineID engin const Sprite *real_spritef = GetSprite(spritef, ST_NORMAL); const Sprite *real_spriter = GetSprite(spriter, ST_NORMAL); - preferred_x = Clamp(preferred_x, left - UnScaleByZoom(real_spritef->x_offs, ZOOM_LVL_GUI) + 14, right - UnScaleByZoom(real_spriter->width, ZOOM_LVL_GUI) - UnScaleByZoom(real_spriter->x_offs, ZOOM_LVL_GUI) - 15); + preferred_x = Clamp(preferred_x, + left - UnScaleGUI(real_spritef->x_offs) + ScaleGUITrad(14), + right - UnScaleGUI(real_spriter->width) - UnScaleGUI(real_spriter->x_offs) - ScaleGUITrad(15)); - DrawSprite(spritef, pal, preferred_x - 14, yf); - DrawSprite(spriter, pal, preferred_x + 15, yr); + DrawSprite(spritef, pal, preferred_x - ScaleGUITrad(14), yf); + DrawSprite(spriter, pal, preferred_x + ScaleGUITrad(15), yr); } else { SpriteID sprite = GetRailIcon(engine, false, y, image_type); const Sprite *real_sprite = GetSprite(sprite, ST_NORMAL); - preferred_x = Clamp(preferred_x, left - UnScaleByZoom(real_sprite->x_offs, ZOOM_LVL_GUI), right - UnScaleByZoom(real_sprite->width, ZOOM_LVL_GUI) - UnScaleByZoom(real_sprite->x_offs, ZOOM_LVL_GUI)); + preferred_x = Clamp(preferred_x, + left - UnScaleGUI(real_sprite->x_offs), + right - UnScaleGUI(real_sprite->width) - UnScaleGUI(real_sprite->x_offs)); DrawSprite(sprite, pal, preferred_x, y); } } @@ -564,20 +570,20 @@ void GetTrainSpriteSize(EngineID engine, uint &width, uint &height, int &xoffs, SpriteID sprite = GetRailIcon(engine, false, y, image_type); const Sprite *real_sprite = GetSprite(sprite, ST_NORMAL); - width = UnScaleByZoom(real_sprite->width, ZOOM_LVL_GUI); - height = UnScaleByZoom(real_sprite->height, ZOOM_LVL_GUI); - xoffs = UnScaleByZoom(real_sprite->x_offs, ZOOM_LVL_GUI); - yoffs = UnScaleByZoom(real_sprite->y_offs, ZOOM_LVL_GUI); + width = UnScaleGUI(real_sprite->width); + height = UnScaleGUI(real_sprite->height); + xoffs = UnScaleGUI(real_sprite->x_offs); + yoffs = UnScaleGUI(real_sprite->y_offs); if (RailVehInfo(engine)->railveh_type == RAILVEH_MULTIHEAD) { sprite = GetRailIcon(engine, true, y, image_type); real_sprite = GetSprite(sprite, ST_NORMAL); /* Calculate values relative to an imaginary center between the two sprites. */ - width = TRAININFO_DEFAULT_VEHICLE_WIDTH + UnScaleByZoom(real_sprite->width, ZOOM_LVL_GUI) + UnScaleByZoom(real_sprite->x_offs, ZOOM_LVL_GUI) - xoffs; - height = max(height, UnScaleByZoom(real_sprite->height, ZOOM_LVL_GUI)); - xoffs = xoffs - TRAININFO_DEFAULT_VEHICLE_WIDTH / 2; - yoffs = min(yoffs, UnScaleByZoom(real_sprite->y_offs, ZOOM_LVL_GUI)); + width = ScaleGUITrad(TRAININFO_DEFAULT_VEHICLE_WIDTH) + UnScaleGUI(real_sprite->width) + UnScaleGUI(real_sprite->x_offs) - xoffs; + height = max(height, UnScaleGUI(real_sprite->height)); + xoffs = xoffs - ScaleGUITrad(TRAININFO_DEFAULT_VEHICLE_WIDTH) / 2; + yoffs = min(yoffs, UnScaleGUI(real_sprite->y_offs)); } } @@ -640,7 +646,7 @@ static CommandCost CmdBuildRailWagon(TileIndex tile, DoCommandFlag flags, const _new_vehicle_id = v->index; - VehicleUpdatePosition(v); + v->UpdatePosition(); v->First()->ConsistChanged(CCF_ARRANGE); UpdateTrainGroupID(v->First()); @@ -703,7 +709,7 @@ static void AddRearEngineToMultiheadedTrain(Train *v) v->SetMultiheaded(); u->SetMultiheaded(); v->SetNext(u); - VehicleUpdatePosition(u); + u->UpdatePosition(); /* Now we need to link the front and rear engines together */ v->other_multiheaded_part = u; @@ -775,7 +781,7 @@ CommandCost CmdBuildRailVehicle(TileIndex tile, DoCommandFlag flags, const Engin v->SetFrontEngine(); v->SetEngine(); - VehicleUpdatePosition(v); + v->UpdatePosition(); if (rvi->railveh_type == RAILVEH_MULTIHEAD) { AddRearEngineToMultiheadedTrain(v); @@ -1437,7 +1443,7 @@ void Train::UpdateDeltaXY(Direction direction) if (!IsDiagonalDirection(direction)) { static const int _sign_table[] = { - // x, y + /* x, y */ -1, -1, // DIR_N -1, 1, // DIR_E 1, 1, // DIR_S @@ -1563,14 +1569,14 @@ static void UpdateStatusAfterSwap(Train *v) /* We have just left the wormhole, possibly set the * "goingdown" bit. UpdateInclination() can be used * because we are at the border of the tile. */ - VehicleUpdatePosition(v); + v->UpdatePosition(); v->UpdateInclination(true, true); return; } } } - VehicleUpdatePosition(v); + v->UpdatePosition(); v->UpdateViewport(true, true); } @@ -2181,7 +2187,7 @@ static bool CheckTrainStayInDepot(Train *v) v->cur_speed = 0; v->UpdateViewport(true, true); - VehicleUpdatePosition(v); + v->UpdatePosition(); UpdateSignalsOnSegment(v->tile, INVALID_DIAGDIR, v->owner); v->UpdateAcceleration(); InvalidateWindowData(WC_VEHICLE_DEPOT, v->tile); @@ -2210,8 +2216,12 @@ static void ClearPathReservation(const Train *v, TileIndex tile, Trackdir track_ SetTunnelBridgeReservation(end, false); if (_settings_client.gui.show_track_reservation) { - MarkTileDirtyByTile(tile); - MarkTileDirtyByTile(end); + if (IsBridge(tile)) { + MarkBridgeDirty(tile); + } else { + MarkTileDirtyByTile(tile); + MarkTileDirtyByTile(end); + } } } } @@ -3332,8 +3342,8 @@ bool TrainController(Train *v, Vehicle *nomove, bool reverse) } else { v->x_pos = gp.x; v->y_pos = gp.y; - VehicleUpdatePosition(v); - if ((v->vehstatus & VS_HIDDEN) == 0) VehicleUpdateViewport(v, true); + v->UpdatePosition(); + if ((v->vehstatus & VS_HIDDEN) == 0) v->Vehicle::UpdateViewport(true); continue; } } @@ -3343,7 +3353,7 @@ bool TrainController(Train *v, Vehicle *nomove, bool reverse) v->x_pos = gp.x; v->y_pos = gp.y; - VehicleUpdatePosition(v); + v->UpdatePosition(); /* update the Z position of the vehicle */ int old_z = v->UpdateInclination(gp.new_tile != gp.old_tile, false); @@ -3513,7 +3523,7 @@ static void ChangeTrainDirRandomly(Train *v) * a bridge, because UpdateInclination() will put the vehicle under * the bridge in that case */ if (v->track != TRACK_BIT_WORMHOLE) { - VehicleUpdatePosition(v); + v->UpdatePosition(); v->UpdateInclination(false, false); } } diff --git a/src/train_gui.cpp b/src/train_gui.cpp index 24cecd5f1c..d9da097017 100644 --- a/src/train_gui.cpp +++ b/src/train_gui.cpp @@ -15,9 +15,12 @@ #include "train.h" #include "strings_func.h" #include "vehicle_func.h" +#include "zoom_func.h" #include "table/strings.h" +#include "safeguards.h" + /** * Callback for building wagons. * @param result The result of the command. @@ -71,7 +74,7 @@ static int HighlightDragPosition(int px, int max_width, VehicleID selection) if (drag_hlight_width > 0) { GfxFillRect(drag_hlight_left + WD_FRAMERECT_LEFT, WD_FRAMERECT_TOP + 1, - drag_hlight_right - WD_FRAMERECT_RIGHT, 13 - WD_FRAMERECT_BOTTOM, _colour_gradient[COLOUR_GREY][7]); + drag_hlight_right - WD_FRAMERECT_RIGHT, ScaleGUITrad(13) - WD_FRAMERECT_BOTTOM, _colour_gradient[COLOUR_GREY][7]); } return drag_hlight_width; @@ -97,8 +100,9 @@ void DrawTrainImage(const Train *v, int left, int right, int y, VehicleID select int highlight_l = 0; int highlight_r = 0; int max_width = right - left + 1; + int height = ScaleGUITrad(14); - if (!FillDrawPixelInfo(&tmp_dpi, left, y, max_width, 14)) return; + if (!FillDrawPixelInfo(&tmp_dpi, left, y, max_width, height)) return; old_dpi = _cur_dpi; _cur_dpi = &tmp_dpi; @@ -119,7 +123,7 @@ void DrawTrainImage(const Train *v, int left, int right, int y, VehicleID select if (rtl ? px + width > 0 : px - width < max_width) { PaletteID pal = (v->vehstatus & VS_CRASHED) ? PALETTE_CRASH : GetVehiclePalette(v); - DrawSprite(v->GetImage(dir, image_type), pal, px + (rtl ? -offset.x : offset.x), 7 + offset.y); + DrawSprite(v->GetImage(dir, image_type), pal, px + (rtl ? -offset.x : offset.x), height / 2 + offset.y); } if (!v->IsArticulatedPart()) sel_articulated = false; @@ -148,7 +152,7 @@ void DrawTrainImage(const Train *v, int left, int right, int y, VehicleID select if (highlight_l != highlight_r) { /* Draw the highlight. Now done after drawing all the engines, as * the next engine after the highlight could overlap it. */ - DrawFrameRect(highlight_l, 0, highlight_r, 13, COLOUR_WHITE, FR_BORDERONLY); + DrawFrameRect(highlight_l, 0, highlight_r, height - 1, COLOUR_WHITE, FR_BORDERONLY); } _cur_dpi = old_dpi; @@ -348,13 +352,19 @@ int GetTrainDetailsWndVScroll(VehicleID veh_id, TrainDetailsWindowTabs det_tab) */ void DrawTrainDetails(const Train *v, int left, int right, int y, int vscroll_pos, uint16 vscroll_cap, TrainDetailsWindowTabs det_tab) { + /* get rid of awkward offset */ + y -= WD_MATRIX_TOP; + + int sprite_height = ScaleGUITrad(GetVehicleHeight(VEH_TRAIN)); + int line_height = max(sprite_height, WD_MATRIX_TOP + FONT_HEIGHT_NORMAL + WD_MATRIX_BOTTOM); + int sprite_y_offset = line_height / 2; + int text_y_offset = (line_height - FONT_HEIGHT_NORMAL) / 2; + /* draw the first 3 details tabs */ if (det_tab != TDW_TAB_TOTALS) { bool rtl = _current_text_dir == TD_RTL; Direction dir = rtl ? DIR_E : DIR_W; int x = rtl ? right : left; - int sprite_y_offset = 4 + (FONT_HEIGHT_NORMAL - 10) / 2; - int line_height = WD_MATRIX_TOP + FONT_HEIGHT_NORMAL + WD_MATRIX_BOTTOM; for (; v != NULL && vscroll_pos > -vscroll_cap; v = v->GetNextVehicle()) { GetCargoSummaryOfArticulatedVehicle(v, &_cargo_summary); @@ -366,15 +376,20 @@ void DrawTrainDetails(const Train *v, int left, int right, int y, int vscroll_po Point offset; int width = u->GetDisplayImageWidth(&offset); if (vscroll_pos <= 0 && vscroll_pos > -vscroll_cap) { + int pitch = 0; + const Engine *e = Engine::Get(v->engine_type); + if (e->GetGRF() != NULL) { + pitch = ScaleGUITrad(e->GetGRF()->traininfo_vehicle_pitch); + } PaletteID pal = (v->vehstatus & VS_CRASHED) ? PALETTE_CRASH : GetVehiclePalette(v); - DrawSprite(u->GetImage(dir, EIT_IN_DETAILS), pal, px + (rtl ? -offset.x : offset.x), y - line_height * vscroll_pos + sprite_y_offset + offset.y); + DrawSprite(u->GetImage(dir, EIT_IN_DETAILS), pal, px + (rtl ? -offset.x : offset.x), y - line_height * vscroll_pos + sprite_y_offset + pitch); } px += rtl ? -width : width; dx += width; u = u->Next(); } while (u != NULL && u->IsArticulatedPart()); - bool separate_sprite_row = (dx > TRAIN_DETAILS_MAX_INDENT); + bool separate_sprite_row = (dx > (uint)ScaleGUITrad(TRAIN_DETAILS_MAX_INDENT)); if (separate_sprite_row) { vscroll_pos--; dx = 0; @@ -382,11 +397,11 @@ void DrawTrainDetails(const Train *v, int left, int right, int y, int vscroll_po uint num_lines = max(1u, _cargo_summary.Length()); for (uint i = 0; i < num_lines; i++) { - int sprite_width = max(dx, TRAIN_DETAILS_MIN_INDENT) + 3; + int sprite_width = max(dx, ScaleGUITrad(TRAIN_DETAILS_MIN_INDENT)) + 3; int data_left = left + (rtl ? 0 : sprite_width); int data_right = right - (rtl ? sprite_width : 0); if (vscroll_pos <= 0 && vscroll_pos > -vscroll_cap) { - int py = y - line_height * vscroll_pos; + int py = y - line_height * vscroll_pos + text_y_offset; if (i > 0 || separate_sprite_row) { if (vscroll_pos != 0) GfxFillRect(left, py - WD_MATRIX_TOP - 1, right, py - WD_MATRIX_TOP, _colour_gradient[COLOUR_GREY][5]); } @@ -430,8 +445,8 @@ void DrawTrainDetails(const Train *v, int left, int right, int y, int vscroll_po } /* draw total cargo tab */ - DrawString(left, right, y, STR_VEHICLE_DETAILS_TRAIN_TOTAL_CAPACITY_TEXT); - y += WD_MATRIX_TOP + FONT_HEIGHT_NORMAL + WD_MATRIX_BOTTOM; + DrawString(left, right, y + text_y_offset, STR_VEHICLE_DETAILS_TRAIN_TOTAL_CAPACITY_TEXT); + y += line_height; for (CargoID i = 0; i < NUM_CARGO; i++) { if (max_cargo[i] > 0 && --vscroll_pos < 0 && vscroll_pos > -vscroll_cap) { @@ -440,11 +455,11 @@ void DrawTrainDetails(const Train *v, int left, int right, int y, int vscroll_po SetDParam(2, i); // {SHORTCARGO} #1 SetDParam(3, max_cargo[i]); // {SHORTCARGO} #2 SetDParam(4, _settings_game.vehicle.freight_trains); - DrawString(left, right, y, FreightWagonMult(i) > 1 ? STR_VEHICLE_DETAILS_TRAIN_TOTAL_CAPACITY_MULT : STR_VEHICLE_DETAILS_TRAIN_TOTAL_CAPACITY); - y += WD_MATRIX_TOP + FONT_HEIGHT_NORMAL + WD_MATRIX_BOTTOM; + DrawString(left, right, y + text_y_offset, FreightWagonMult(i) > 1 ? STR_VEHICLE_DETAILS_TRAIN_TOTAL_CAPACITY_MULT : STR_VEHICLE_DETAILS_TRAIN_TOTAL_CAPACITY); + y += line_height; } } SetDParam(0, feeder_share); - DrawString(left, right, y, STR_VEHICLE_INFO_FEEDER_CARGO_VALUE); + DrawString(left, right, y + text_y_offset, STR_VEHICLE_INFO_FEEDER_CARGO_VALUE); } } diff --git a/src/transparency_gui.cpp b/src/transparency_gui.cpp index 9e00552b68..4bad2b0561 100644 --- a/src/transparency_gui.cpp +++ b/src/transparency_gui.cpp @@ -20,6 +20,8 @@ #include "table/sprites.h" #include "table/strings.h" +#include "safeguards.h" + TransparencyOptionBits _transparency_opt; ///< The bits that should be transparent. TransparencyOptionBits _transparency_lock; ///< Prevent these bits from flipping with X. TransparencyOptionBits _invisibility_opt; ///< The bits that should be invisible. diff --git a/src/tree_cmd.cpp b/src/tree_cmd.cpp index c30609e782..4fcda82d81 100644 --- a/src/tree_cmd.cpp +++ b/src/tree_cmd.cpp @@ -29,6 +29,8 @@ #include "table/tree_land.h" #include "table/clear_land.h" +#include "safeguards.h" + /** * List of tree placer algorithm. * diff --git a/src/tree_gui.cpp b/src/tree_gui.cpp index 784f4546da..f21eeaef2e 100644 --- a/src/tree_gui.cpp +++ b/src/tree_gui.cpp @@ -25,6 +25,8 @@ #include "table/strings.h" #include "table/tree_land.h" +#include "safeguards.h" + void PlaceTreesRandomly(); /** Tree Sprites with their palettes */ diff --git a/src/tree_map.h b/src/tree_map.h index 105eb8dca4..e614099fc9 100644 --- a/src/tree_map.h +++ b/src/tree_map.h @@ -279,7 +279,7 @@ static inline void MakeTree(TileIndex t, TreeType type, uint count, uint growth, _m[t].m3 = type; _m[t].m4 = 0 << 5 | 0 << 2; _m[t].m5 = count << 6 | growth; - SB(_m[t].m6, 2, 4, 0); + SB(_me[t].m6, 2, 4, 0); _me[t].m7 = 0; } diff --git a/src/tunnel_map.cpp b/src/tunnel_map.cpp index 7639fa9491..4e6d5a7e13 100644 --- a/src/tunnel_map.cpp +++ b/src/tunnel_map.cpp @@ -12,6 +12,8 @@ #include "stdafx.h" #include "tunnelbridge_map.h" +#include "safeguards.h" + /** * Gets the other end of the tunnel. Where a vehicle would reappear when it diff --git a/src/tunnel_map.h b/src/tunnel_map.h index c4f68f7296..e200a1275e 100644 --- a/src/tunnel_map.h +++ b/src/tunnel_map.h @@ -56,7 +56,7 @@ static inline void MakeRoadTunnel(TileIndex t, Owner o, DiagDirection d, RoadTyp _m[t].m3 = 0; _m[t].m4 = 0; _m[t].m5 = TRANSPORT_ROAD << 2 | d; - SB(_m[t].m6, 2, 4, 0); + SB(_me[t].m6, 2, 4, 0); _me[t].m7 = 0; SetRoadOwner(t, ROADTYPE_ROAD, o); if (o != OWNER_TOWN) SetRoadOwner(t, ROADTYPE_TRAM, o); @@ -78,7 +78,7 @@ static inline void MakeRailTunnel(TileIndex t, Owner o, DiagDirection d, RailTyp _m[t].m3 = r; _m[t].m4 = 0; _m[t].m5 = TRANSPORT_RAIL << 2 | d; - SB(_m[t].m6, 2, 4, 0); + SB(_me[t].m6, 2, 4, 0); _me[t].m7 = 0; } diff --git a/src/tunnelbridge.h b/src/tunnelbridge.h index ab8891f621..0a2c2293d5 100644 --- a/src/tunnelbridge.h +++ b/src/tunnelbridge.h @@ -14,6 +14,9 @@ #include "map_func.h" +void MarkBridgeDirty(TileIndex begin, TileIndex end, DiagDirection direction, uint bridge_height); +void MarkBridgeDirty(TileIndex tile); + /** * Calculates the length of a tunnel or a bridge (without end tiles) * @param begin The begin of the tunnel or bridge. diff --git a/src/tunnelbridge_cmd.cpp b/src/tunnelbridge_cmd.cpp index 2739fd7c49..5f2534b58c 100644 --- a/src/tunnelbridge_cmd.cpp +++ b/src/tunnelbridge_cmd.cpp @@ -44,12 +44,41 @@ #include "table/strings.h" #include "table/bridge_land.h" +#include "safeguards.h" + BridgeSpec _bridge[MAX_BRIDGES]; ///< The specification of all bridges. TileIndex _build_tunnel_endtile; ///< The end of a tunnel; as hidden return from the tunnel build command for GUI purposes. /** Z position of the bridge sprites relative to bridge height (downwards) */ static const int BRIDGE_Z_START = 3; + +/** + * Mark bridge tiles dirty. + * Note: The bridge does not need to exist, everything is passed via parameters. + * @param begin Start tile. + * @param end End tile. + * @param direction Direction from \a begin to \a end. + * @param bridge_height Bridge height level. + */ +void MarkBridgeDirty(TileIndex begin, TileIndex end, DiagDirection direction, uint bridge_height) +{ + TileIndexDiff delta = TileOffsByDiagDir(direction); + for (TileIndex t = begin; t != end; t += delta) { + MarkTileDirtyByTile(t, bridge_height - TileHeight(t)); + } + MarkTileDirtyByTile(end); +} + +/** + * Mark bridge tiles dirty. + * @param tile Bridge head. + */ +void MarkBridgeDirty(TileIndex tile) +{ + MarkBridgeDirty(tile, GetOtherTunnelBridgeEnd(tile), GetTunnelBridgeDirection(tile), GetBridgeHeight(tile)); +} + /** Reset the data been eventually changed by the grf loaded. */ void ResetBridges() { @@ -374,15 +403,13 @@ CommandCost CmdBuildBridge(TileIndex end_tile, DoCommandFlag flags, uint32 p1, u const TileIndex heads[] = {tile_start, tile_end}; for (int i = 0; i < 2; i++) { - if (MayHaveBridgeAbove(heads[i])) { - if (IsBridgeAbove(heads[i])) { - TileIndex north_head = GetNorthernBridgeEnd(heads[i]); + if (IsBridgeAbove(heads[i])) { + TileIndex north_head = GetNorthernBridgeEnd(heads[i]); - if (direction == GetBridgeAxis(heads[i])) return_cmd_error(STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST); + if (direction == GetBridgeAxis(heads[i])) return_cmd_error(STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST); - if (z_start + 1 == GetBridgeHeight(north_head)) { - return_cmd_error(STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST); - } + if (z_start + 1 == GetBridgeHeight(north_head)) { + return_cmd_error(STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST); } } } @@ -391,7 +418,17 @@ CommandCost CmdBuildBridge(TileIndex end_tile, DoCommandFlag flags, uint32 p1, u for (TileIndex tile = tile_start + delta; tile != tile_end; tile += delta) { if (GetTileMaxZ(tile) > z_start) return_cmd_error(STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN); - if (MayHaveBridgeAbove(tile) && IsBridgeAbove(tile)) { + if (z_start >= (GetTileZ(tile) + _settings_game.construction.max_bridge_height)) { + /* + * Disallow too high bridges. + * Properly rendering a map where very high bridges (might) exist is expensive. + * See http://www.tt-forums.net/viewtopic.php?f=33&t=40844&start=980#p1131762 + * for a detailed discussion. z_start here is one heightlevel below the bridge level. + */ + return_cmd_error(STR_ERROR_BRIDGE_TOO_HIGH_FOR_TERRAIN); + } + + if (IsBridgeAbove(tile)) { /* Disallow crossing bridges for the time being */ return_cmd_error(STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST); } @@ -450,7 +487,7 @@ CommandCost CmdBuildBridge(TileIndex end_tile, DoCommandFlag flags, uint32 p1, u if (flags & DC_EXEC) { DiagDirection dir = AxisToDiagDir(direction); - Company *c = Company::GetIfValid(owner); + Company *c = Company::GetIfValid(company); switch (transport_type) { case TRANSPORT_RAIL: /* Add to company infrastructure count if required. */ @@ -473,13 +510,11 @@ CommandCost CmdBuildBridge(TileIndex end_tile, DoCommandFlag flags, uint32 p1, u RoadType new_rt; FOR_EACH_SET_ROADTYPE(new_rt, roadtypes ^ prev_roadtypes) { /* A full diagonal road tile has two road bits. */ - Company::Get(owner)->infrastructure.road[new_rt] += (bridge_len + 2) * 2 * TUNNELBRIDGE_TRACKBIT_FACTOR; + c->infrastructure.road[new_rt] += (bridge_len + 2) * 2 * TUNNELBRIDGE_TRACKBIT_FACTOR; } } - Owner owner_road = owner; - Owner owner_tram = owner; - if (HasBit(prev_roadtypes, ROADTYPE_ROAD)) owner_road = GetRoadOwner(tile_start, ROADTYPE_ROAD); - if (HasBit(prev_roadtypes, ROADTYPE_TRAM)) owner_tram = GetRoadOwner(tile_start, ROADTYPE_TRAM); + Owner owner_road = HasBit(prev_roadtypes, ROADTYPE_ROAD) ? GetRoadOwner(tile_start, ROADTYPE_ROAD) : company; + Owner owner_tram = HasBit(prev_roadtypes, ROADTYPE_TRAM) ? GetRoadOwner(tile_start, ROADTYPE_TRAM) : company; MakeRoadBridgeRamp(tile_start, owner, owner_road, owner_tram, bridge_type, dir, roadtypes); MakeRoadBridgeRamp(tile_end, owner, owner_road, owner_tram, bridge_type, ReverseDiagDir(dir), roadtypes); break; @@ -496,11 +531,8 @@ CommandCost CmdBuildBridge(TileIndex end_tile, DoCommandFlag flags, uint32 p1, u } /* Mark all tiles dirty */ - TileIndexDiff delta = (direction == AXIS_X ? TileDiffXY(1, 0) : TileDiffXY(0, 1)); - for (TileIndex tile = tile_start; tile <= tile_end; tile += delta) { - MarkTileDirtyByTile(tile); - } - DirtyCompanyInfrastructureWindows(owner); + MarkBridgeDirty(tile_start, tile_end, AxisToDiagDir(direction), z_start); + DirtyCompanyInfrastructureWindows(company); } if ((flags & DC_EXEC) && transport_type == TRANSPORT_RAIL) { @@ -916,7 +948,7 @@ static CommandCost DoClearBridge(TileIndex tile, DoCommandFlag flags) if (height < minz) SetRoadside(c, ROADSIDE_PAVED); } ClearBridgeMiddle(c); - MarkTileDirtyByTile(c); + MarkTileDirtyByTile(c, height - TileHeight(c)); } if (rail) { @@ -1176,7 +1208,12 @@ static void DrawTile_TunnelBridge(TileInfo *ti) /* PBS debugging, draw reserved tracks darker */ if (_game_mode != GM_MENU && _settings_client.gui.show_track_reservation && HasTunnelBridgeReservation(ti->tile)) { - DrawGroundSprite(DiagDirToAxis(tunnelbridge_direction) == AXIS_X ? rti->base_sprites.single_x : rti->base_sprites.single_y, PALETTE_CRASH); + if (rti->UsesOverlay()) { + SpriteID overlay = GetCustomRailSprite(rti, ti->tile, RTSG_OVERLAY); + DrawGroundSprite(overlay + RTO_X + DiagDirToAxis(tunnelbridge_direction), PALETTE_CRASH); + } else { + DrawGroundSprite(DiagDirToAxis(tunnelbridge_direction) == AXIS_X ? rti->base_sprites.single_x : rti->base_sprites.single_y, PALETTE_CRASH); + } } if (HasCatenaryDrawn(GetRailType(ti->tile))) { @@ -1286,11 +1323,20 @@ static void DrawTile_TunnelBridge(TileInfo *ti) } /* PBS debugging, draw reserved tracks darker */ - if (_game_mode != GM_MENU &&_settings_client.gui.show_track_reservation && HasTunnelBridgeReservation(ti->tile)) { - if (HasBridgeFlatRamp(ti->tileh, DiagDirToAxis(tunnelbridge_direction))) { - AddSortableSpriteToDraw(DiagDirToAxis(tunnelbridge_direction) == AXIS_X ? rti->base_sprites.single_x : rti->base_sprites.single_y, PALETTE_CRASH, ti->x, ti->y, 16, 16, 0, ti->z + 8); + if (_game_mode != GM_MENU && _settings_client.gui.show_track_reservation && HasTunnelBridgeReservation(ti->tile)) { + if (rti->UsesOverlay()) { + SpriteID overlay = GetCustomRailSprite(rti, ti->tile, RTSG_OVERLAY); + if (HasBridgeFlatRamp(ti->tileh, DiagDirToAxis(tunnelbridge_direction))) { + AddSortableSpriteToDraw(overlay + RTO_X + DiagDirToAxis(tunnelbridge_direction), PALETTE_CRASH, ti->x, ti->y, 16, 16, 0, ti->z + 8); + } else { + AddSortableSpriteToDraw(overlay + RTO_SLOPE_NE + tunnelbridge_direction, PALETTE_CRASH, ti->x, ti->y, 16, 16, 8, ti->z); + } } else { - AddSortableSpriteToDraw(rti->base_sprites.single_sloped + tunnelbridge_direction, PALETTE_CRASH, ti->x, ti->y, 16, 16, 8, ti->z); + if (HasBridgeFlatRamp(ti->tileh, DiagDirToAxis(tunnelbridge_direction))) { + AddSortableSpriteToDraw(DiagDirToAxis(tunnelbridge_direction) == AXIS_X ? rti->base_sprites.single_x : rti->base_sprites.single_y, PALETTE_CRASH, ti->x, ti->y, 16, 16, 0, ti->z + 8); + } else { + AddSortableSpriteToDraw(rti->base_sprites.single_sloped + tunnelbridge_direction, PALETTE_CRASH, ti->x, ti->y, 16, 16, 8, ti->z); + } } } @@ -1433,6 +1479,16 @@ void DrawBridgeMiddle(const TileInfo *ti) AddSortableSpriteToDraw(surface + axis, PAL_NONE, x, y, 16, 16, 0, bridge_z, IsTransparencySet(TO_BRIDGES)); } } + + if (_game_mode != GM_MENU && _settings_client.gui.show_track_reservation && !IsInvisibilitySet(TO_BRIDGES) && HasTunnelBridgeReservation(rampnorth)) { + if (rti->UsesOverlay()) { + SpriteID overlay = GetCustomRailSprite(rti, ti->tile, RTSG_OVERLAY); + AddSortableSpriteToDraw(overlay + RTO_X + axis, PALETTE_CRASH, ti->x, ti->y, 16, 16, 0, bridge_z, IsTransparencySet(TO_BRIDGES)); + } else { + AddSortableSpriteToDraw(axis == AXIS_X ? rti->base_sprites.single_x : rti->base_sprites.single_y, PALETTE_CRASH, ti->x, ti->y, 16, 16, 0, bridge_z, IsTransparencySet(TO_BRIDGES)); + } + } + EndSpriteCombine(); if (HasCatenaryDrawn(GetRailType(rampsouth))) { diff --git a/src/vehicle.cpp b/src/vehicle.cpp index ceb345f469..46f98fe63b 100644 --- a/src/vehicle.cpp +++ b/src/vehicle.cpp @@ -55,6 +55,8 @@ #include "table/strings.h" +#include "safeguards.h" + #define GEN_HASH(x, y) ((GB((y), 6 + ZOOM_LVL_SHIFT, 6) << 6) + GB((x), 7 + ZOOM_LVL_SHIFT, 6)) VehicleID _new_vehicle_id; @@ -204,7 +206,7 @@ uint Vehicle::Crash(bool flooded) /* We do not transfer reserver cargo back, so TotalCount() instead of StoredCount() */ if (IsCargoInClass(v->cargo_type, CC_PASSENGERS)) pass += v->cargo.TotalCount(); v->vehstatus |= VS_CRASHED; - MarkSingleVehicleDirty(v); + v->MarkAllViewportsDirty(); } /* Dirty some windows */ @@ -233,6 +235,9 @@ void ShowNewGrfVehicleError(EngineID engine, StringID part1, StringID part2, GRF const Engine *e = Engine::Get(engine); GRFConfig *grfconfig = GetGRFConfig(e->GetGRFID()); + /* Missing GRF. Nothing useful can be done in this situation. */ + if (grfconfig == NULL) return; + if (!HasBit(grfconfig->grf_bugs, bug_type)) { SetBit(grfconfig->grf_bugs, bug_type); SetDParamStr(0, grfconfig->GetName()); @@ -804,7 +809,7 @@ Vehicle::~Vehicle() /* sometimes, eg. for disaster vehicles, when company bankrupts, when removing crashed/flooded vehicles, * it may happen that vehicle chain is deleted when visible */ - if (!(this->vehstatus & VS_HIDDEN)) MarkSingleVehicleDirty(this); + if (!(this->vehstatus & VS_HIDDEN)) this->MarkAllViewportsDirty(); Vehicle *v = this->Next(); this->SetNext(NULL); @@ -1201,9 +1206,10 @@ bool Vehicle::HandleBreakdown() this->cur_speed = 0; if (!PlayVehicleSound(this, VSE_BREAKDOWN)) { + bool train_or_ship = this->type == VEH_TRAIN || this->type == VEH_SHIP; SndPlayVehicleFx((_settings_game.game_creation.landscape != LT_TOYLAND) ? - (this->type == VEH_TRAIN ? SND_10_TRAIN_BREAKDOWN : SND_0F_VEHICLE_BREAKDOWN) : - (this->type == VEH_TRAIN ? SND_3A_COMEDY_BREAKDOWN_2 : SND_35_COMEDY_BREAKDOWN), this); + (train_or_ship ? SND_10_TRAIN_BREAKDOWN : SND_0F_VEHICLE_BREAKDOWN) : + (train_or_ship ? SND_3A_COMEDY_BREAKDOWN_2 : SND_35_COMEDY_BREAKDOWN), this); } if (!(this->vehstatus & VS_HIDDEN) && !HasBit(EngInfo(this->engine_type)->misc_flags, EF_NO_BREAKDOWN_SMOKE)) { @@ -1401,21 +1407,19 @@ void VehicleEnterDepot(Vehicle *v) SetWindowDirty(WC_VEHICLE_VIEW, v->index); const Order *real_order = v->GetOrder(v->cur_real_order_index); - Order t = v->current_order; - v->current_order.MakeDummy(); /* Test whether we are heading for this depot. If not, do nothing. * Note: The target depot for nearest-/manual-depot-orders is only updated on junctions, but we want to accept every depot. */ - if ((t.GetDepotOrderType() & ODTFB_PART_OF_ORDERS) && + if ((v->current_order.GetDepotOrderType() & ODTFB_PART_OF_ORDERS) && real_order != NULL && !(real_order->GetDepotActionType() & ODATFB_NEAREST_DEPOT) && - (v->type == VEH_AIRCRAFT ? t.GetDestination() != GetStationIndex(v->tile) : v->dest_tile != v->tile)) { + (v->type == VEH_AIRCRAFT ? v->current_order.GetDestination() != GetStationIndex(v->tile) : v->dest_tile != v->tile)) { /* We are heading for another depot, keep driving. */ return; } - if (t.IsRefit()) { + if (v->current_order.IsRefit()) { Backup cur_company(_current_company, v->owner, FILE_LINE); - CommandCost cost = DoCommand(v->tile, v->index, t.GetRefitCargo() | 0xFF << 8, DC_EXEC, GetCmdRefitVeh(v)); + CommandCost cost = DoCommand(v->tile, v->index, v->current_order.GetRefitCargo() | 0xFF << 8, DC_EXEC, GetCmdRefitVeh(v)); cur_company.Restore(); if (cost.Failed()) { @@ -1433,13 +1437,13 @@ void VehicleEnterDepot(Vehicle *v) } } - if (t.GetDepotOrderType() & ODTFB_PART_OF_ORDERS) { + if (v->current_order.GetDepotOrderType() & ODTFB_PART_OF_ORDERS) { /* Part of orders */ v->DeleteUnreachedImplicitOrders(); UpdateVehicleTimetable(v, true); v->IncrementImplicitOrderIndex(); } - if (t.GetDepotActionType() & ODATFB_HALT) { + if (v->current_order.GetDepotActionType() & ODATFB_HALT) { /* Vehicles are always stopped on entering depots. Do not restart this one. */ _vehicles_to_autoreplace[v] = false; /* Invalidate last_loading_station. As the link from the station @@ -1452,6 +1456,7 @@ void VehicleEnterDepot(Vehicle *v) } AI::NewEvent(v->owner, new ScriptEventVehicleWaitingInDepot(v->index)); } + v->current_order.MakeDummy(); } } @@ -1459,67 +1464,62 @@ void VehicleEnterDepot(Vehicle *v) /** * Update the position of the vehicle. This will update the hash that tells * which vehicles are on a tile. - * @param v The vehicle to update. */ -void VehicleUpdatePosition(Vehicle *v) +void Vehicle::UpdatePosition() { - UpdateVehicleTileHash(v, false); + UpdateVehicleTileHash(this, false); } /** * Update the vehicle on the viewport, updating the right hash and setting the * new coordinates. - * @param v The vehicle to update. * @param dirty Mark the (new and old) coordinates of the vehicle as dirty. */ -void VehicleUpdateViewport(Vehicle *v, bool dirty) +void Vehicle::UpdateViewport(bool dirty) { - int img = v->cur_image; - Point pt = RemapCoords(v->x_pos + v->x_offs, v->y_pos + v->y_offs, v->z_pos); + int img = this->cur_image; + Point pt = RemapCoords(this->x_pos + this->x_offs, this->y_pos + this->y_offs, this->z_pos); const Sprite *spr = GetSprite(img, ST_NORMAL); pt.x += spr->x_offs; pt.y += spr->y_offs; - UpdateVehicleViewportHash(v, pt.x, pt.y); + UpdateVehicleViewportHash(this, pt.x, pt.y); - Rect old_coord = v->coord; - v->coord.left = pt.x; - v->coord.top = pt.y; - v->coord.right = pt.x + spr->width + 2 * ZOOM_LVL_BASE; - v->coord.bottom = pt.y + spr->height + 2 * ZOOM_LVL_BASE; + Rect old_coord = this->coord; + this->coord.left = pt.x; + this->coord.top = pt.y; + this->coord.right = pt.x + spr->width + 2 * ZOOM_LVL_BASE; + this->coord.bottom = pt.y + spr->height + 2 * ZOOM_LVL_BASE; if (dirty) { if (old_coord.left == INVALID_COORD) { - MarkSingleVehicleDirty(v); + this->MarkAllViewportsDirty(); } else { - MarkAllViewportsDirty( - min(old_coord.left, v->coord.left), - min(old_coord.top, v->coord.top), - max(old_coord.right, v->coord.right) + 1 * ZOOM_LVL_BASE, - max(old_coord.bottom, v->coord.bottom) + 1 * ZOOM_LVL_BASE - ); + ::MarkAllViewportsDirty( + min(old_coord.left, this->coord.left), + min(old_coord.top, this->coord.top), + max(old_coord.right, this->coord.right), + max(old_coord.bottom, this->coord.bottom)); } } } /** * Update the position of the vehicle, and update the viewport. - * @param v The vehicle to update. */ -void VehicleUpdatePositionAndViewport(Vehicle *v) +void Vehicle::UpdatePositionAndViewport() { - VehicleUpdatePosition(v); - VehicleUpdateViewport(v, true); + this->UpdatePosition(); + this->UpdateViewport(true); } /** * Marks viewports dirty where the vehicle's image is. - * @param v vehicle to mark dirty */ -void MarkSingleVehicleDirty(const Vehicle *v) +void Vehicle::MarkAllViewportsDirty() const { - MarkAllViewportsDirty(v->coord.left, v->coord.top, v->coord.right + 1 * ZOOM_LVL_BASE, v->coord.bottom + 1 * ZOOM_LVL_BASE); + ::MarkAllViewportsDirty(this->coord.left, this->coord.top, this->coord.right, this->coord.bottom); } /** @@ -2135,7 +2135,7 @@ void Vehicle::HandleLoading(bool mode) { switch (this->current_order.GetType()) { case OT_LOADING: { - uint wait_time = max(this->current_order.wait_time - this->lateness_counter, 0); + uint wait_time = max(this->current_order.GetTimetabledWait() - this->lateness_counter, 0); /* Not the first call for this tick, or still loading */ if (mode || !HasBit(this->vehicle_flags, VF_LOADING_FINISHED) || this->current_order_time < wait_time) return; @@ -2339,6 +2339,61 @@ static const int8 _vehicle_smoke_pos[8] = { 1, 1, 1, 0, -1, -1, -1, 0 }; +/** + * Call CBID_VEHICLE_SPAWN_VISUAL_EFFECT and spawn requested effects. + * @param v Vehicle to create effects for. + */ +static void SpawnAdvancedVisualEffect(const Vehicle *v) +{ + uint16 callback = GetVehicleCallback(CBID_VEHICLE_SPAWN_VISUAL_EFFECT, 0, Random(), v->engine_type, v); + if (callback == CALLBACK_FAILED) return; + + uint count = GB(callback, 0, 2); + bool auto_center = HasBit(callback, 13); + bool auto_rotate = !HasBit(callback, 14); + + int8 l_center = 0; + if (auto_center) { + /* For road vehicles: Compute offset from vehicle position to vehicle center */ + if (v->type == VEH_ROAD) l_center = -(int)(VEHICLE_LENGTH - RoadVehicle::From(v)->gcache.cached_veh_length) / 2; + } else { + /* For trains: Compute offset from vehicle position to sprite position */ + if (v->type == VEH_TRAIN) l_center = (VEHICLE_LENGTH - Train::From(v)->gcache.cached_veh_length) / 2; + } + + Direction l_dir = v->direction; + if (v->type == VEH_TRAIN && HasBit(Train::From(v)->flags, VRF_REVERSE_DIRECTION)) l_dir = ReverseDir(l_dir); + Direction t_dir = ChangeDir(l_dir, DIRDIFF_90RIGHT); + + int8 x_center = _vehicle_smoke_pos[l_dir] * l_center; + int8 y_center = _vehicle_smoke_pos[t_dir] * l_center; + + for (uint i = 0; i < count; i++) { + uint32 reg = GetRegister(0x100 + i); + uint type = GB(reg, 0, 8); + int8 x = GB(reg, 8, 8); + int8 y = GB(reg, 16, 8); + int8 z = GB(reg, 24, 8); + + if (auto_rotate) { + int8 l = x; + int8 t = y; + x = _vehicle_smoke_pos[l_dir] * l + _vehicle_smoke_pos[t_dir] * t; + y = _vehicle_smoke_pos[t_dir] * l - _vehicle_smoke_pos[l_dir] * t; + } + + if (type >= 0xF0) { + switch (type) { + case 0xF1: CreateEffectVehicleRel(v, x_center + x, y_center + y, z, EV_STEAM_SMOKE); break; + case 0xF2: CreateEffectVehicleRel(v, x_center + x, y_center + y, z, EV_DIESEL_SMOKE); break; + case 0xF3: CreateEffectVehicleRel(v, x_center + x, y_center + y, z, EV_ELECTRIC_SPARK); break; + case 0xFA: CreateEffectVehicleRel(v, x_center + x, y_center + y, z, EV_BREAKDOWN_SMOKE_AIRCRAFT); break; + default: break; + } + } + } +} + /** * Draw visual effects (smoke and/or sparks) for a vehicle chain. * @pre this->IsPrimaryVehicle() @@ -2359,7 +2414,9 @@ void Vehicle::ShowVisualEffect() const return; } - uint max_speed = this->vcache.cached_max_speed; + /* Use the speed as limited by underground and orders. */ + uint max_speed = this->GetCurrentMaxSpeed(); + if (this->type == VEH_TRAIN) { const Train *t = Train::From(this); /* For trains, do not show any smoke when: @@ -2368,21 +2425,28 @@ void Vehicle::ShowVisualEffect() const */ if (HasBit(t->flags, VRF_REVERSING) || (IsRailStationTile(t->tile) && t->IsFrontEngine() && t->current_order.ShouldStopAtStation(t, GetStationIndex(t->tile)) && - t->cur_speed >= t->Train::GetCurrentMaxSpeed())) { + t->cur_speed >= max_speed)) { return; } - - max_speed = min(max_speed, t->gcache.cached_max_track_speed); - max_speed = min(max_speed, this->current_order.max_speed); } - if (this->type == VEH_ROAD || this->type == VEH_SHIP) max_speed = min(max_speed, this->current_order.max_speed * 2); const Vehicle *v = this; do { + bool advanced = HasBit(v->vcache.cached_vis_effect, VE_ADVANCED_EFFECT); int effect_offset = GB(v->vcache.cached_vis_effect, VE_OFFSET_START, VE_OFFSET_COUNT) - VE_OFFSET_CENTRE; - byte effect_type = GB(v->vcache.cached_vis_effect, VE_TYPE_START, VE_TYPE_COUNT); - bool disable_effect = HasBit(v->vcache.cached_vis_effect, VE_DISABLE_EFFECT); + VisualEffectSpawnModel effect_model = VESM_NONE; + if (advanced) { + effect_offset = VE_OFFSET_CENTRE; + effect_model = (VisualEffectSpawnModel)GB(v->vcache.cached_vis_effect, 0, VE_ADVANCED_EFFECT); + if (effect_model >= VESM_END) effect_model = VESM_NONE; // unknown spawning model + } else { + effect_model = (VisualEffectSpawnModel)GB(v->vcache.cached_vis_effect, VE_TYPE_START, VE_TYPE_COUNT); + assert(effect_model != (VisualEffectSpawnModel)VE_TYPE_DEFAULT); // should have been resolved by UpdateVisualEffect + assert_compile((uint)VESM_STEAM == (uint)VE_TYPE_STEAM); + assert_compile((uint)VESM_DIESEL == (uint)VE_TYPE_DIESEL); + assert_compile((uint)VESM_ELECTRIC == (uint)VE_TYPE_ELECTRIC); + } /* Show no smoke when: * - Smoke has been disabled for this vehicle @@ -2391,9 +2455,9 @@ void Vehicle::ShowVisualEffect() const * - The vehicle is on a depot tile * - The vehicle is on a tunnel tile * - The vehicle is a train engine that is currently unpowered */ - if (disable_effect || + if (effect_model == VESM_NONE || v->vehstatus & VS_HIDDEN || - (MayHaveBridgeAbove(v->tile) && IsBridgeAbove(v->tile)) || + IsBridgeAbove(v->tile) || IsDepotTile(v->tile) || IsTunnelTile(v->tile) || (v->type == VEH_TRAIN && @@ -2401,33 +2465,20 @@ void Vehicle::ShowVisualEffect() const continue; } - /* The effect offset is relative to a point 4 units behind the vehicle's - * front (which is the center of an 8/8 vehicle). Shorter vehicles need a - * correction factor. */ - if (v->type == VEH_TRAIN) effect_offset += (VEHICLE_LENGTH - Train::From(v)->gcache.cached_veh_length) / 2; - - int x = _vehicle_smoke_pos[v->direction] * effect_offset; - int y = _vehicle_smoke_pos[(v->direction + 2) % 8] * effect_offset; - - if (v->type == VEH_TRAIN && HasBit(Train::From(v)->flags, VRF_REVERSE_DIRECTION)) { - x = -x; - y = -y; - } - - switch (effect_type) { - case VE_TYPE_STEAM: + EffectVehicleType evt = EV_END; + switch (effect_model) { + case VESM_STEAM: /* Steam smoke - amount is gradually falling until vehicle reaches its maximum speed, after that it's normal. * Details: while vehicle's current speed is gradually increasing, steam plumes' density decreases by one third each * third of its maximum speed spectrum. Steam emission finally normalises at very close to vehicle's maximum speed. * REGULATION: * - instead of 1, 4 / 2^smoke_amount (max. 2) is used to provide sufficient regulation to steam puffs' amount. */ if (GB(v->tick_counter, 0, ((4 >> _settings_game.vehicle.smoke_amount) + ((this->cur_speed * 3) / max_speed))) == 0) { - CreateEffectVehicleRel(v, x, y, 10, EV_STEAM_SMOKE); - sound = true; + evt = EV_STEAM_SMOKE; } break; - case VE_TYPE_DIESEL: { + case VESM_DIESEL: { /* Diesel smoke - thicker when vehicle is starting, gradually subsiding till it reaches its maximum speed * when smoke emission stops. * Details: Vehicle's (max.) speed spectrum is divided into 32 parts. When max. speed is reached, chance for smoke @@ -2445,13 +2496,12 @@ void Vehicle::ShowVisualEffect() const } if (this->cur_speed < (max_speed >> (2 >> _settings_game.vehicle.smoke_amount)) && Chance16((64 - ((this->cur_speed << 5) / max_speed) + power_weight_effect), (512 >> _settings_game.vehicle.smoke_amount))) { - CreateEffectVehicleRel(v, x, y, 10, EV_DIESEL_SMOKE); - sound = true; + evt = EV_DIESEL_SMOKE; } break; } - case VE_TYPE_ELECTRIC: + case VESM_ELECTRIC: /* Electric train's spark - more often occurs when train is departing (more load) * Details: Electric locomotives are usually at least twice as powerful as their diesel counterparts, so spark * emissions are kept simple. Only when starting, creating huge force are sparks more likely to happen, but when @@ -2460,13 +2510,34 @@ void Vehicle::ShowVisualEffect() const * - in Chance16 the last value is 360 / 2^smoke_amount (max. sparks when 90 = smoke_amount of 2). */ if (GB(v->tick_counter, 0, 2) == 0 && Chance16((6 - ((this->cur_speed << 2) / max_speed)), (360 >> _settings_game.vehicle.smoke_amount))) { - CreateEffectVehicleRel(v, x, y, 10, EV_ELECTRIC_SPARK); - sound = true; + evt = EV_ELECTRIC_SPARK; } break; default: - break; + NOT_REACHED(); + } + + if (evt != EV_END && advanced) { + sound = true; + SpawnAdvancedVisualEffect(v); + } else if (evt != EV_END) { + sound = true; + + /* The effect offset is relative to a point 4 units behind the vehicle's + * front (which is the center of an 8/8 vehicle). Shorter vehicles need a + * correction factor. */ + if (v->type == VEH_TRAIN) effect_offset += (VEHICLE_LENGTH - Train::From(v)->gcache.cached_veh_length) / 2; + + int x = _vehicle_smoke_pos[v->direction] * effect_offset; + int y = _vehicle_smoke_pos[(v->direction + 2) % 8] * effect_offset; + + if (v->type == VEH_TRAIN && HasBit(Train::From(v)->flags, VRF_REVERSE_DIRECTION)) { + x = -x; + y = -y; + } + + CreateEffectVehicleRel(v, x, y, 10, evt); } } while ((v = v->Next()) != NULL); diff --git a/src/vehicle_base.h b/src/vehicle_base.h index 261b8ed035..59584da788 100644 --- a/src/vehicle_base.h +++ b/src/vehicle_base.h @@ -87,11 +87,22 @@ enum VisualEffect { VE_TYPE_ELECTRIC = 3, ///< Electric sparks VE_DISABLE_EFFECT = 6, ///< Flag to disable visual effect + VE_ADVANCED_EFFECT = VE_DISABLE_EFFECT, ///< Flag for advanced effects VE_DISABLE_WAGON_POWER = 7, ///< Flag to disable wagon power VE_DEFAULT = 0xFF, ///< Default value to indicate that visual effect should be based on engine class }; +/** Models for spawning visual effects. */ +enum VisualEffectSpawnModel { + VESM_NONE = 0, ///< No visual effect + VESM_STEAM, ///< Steam model + VESM_DIESEL, ///< Diesel model + VESM_ELECTRIC, ///< Electric model + + VESM_END +}; + /** * Enum to handle ground vehicle subtypes. * This is defined here instead of at #GroundVehicle because some common function require access to these flags. @@ -685,6 +696,11 @@ public: void UpdateVisualEffect(bool allow_power_change = true); void ShowVisualEffect() const; + void UpdatePosition(); + void UpdateViewport(bool dirty); + void UpdatePositionAndViewport(); + void MarkAllViewportsDirty() const; + inline uint16 GetServiceInterval() const { return this->service_interval; } inline void SetServiceInterval(uint16 interval) { this->service_interval = interval; } @@ -1056,14 +1072,12 @@ struct SpecializedVehicle : public Vehicle { */ inline void UpdateViewport(bool force_update, bool update_delta) { - extern void VehicleUpdateViewport(Vehicle *v, bool dirty); - /* Explicitly choose method to call to prevent vtable dereference - * it gives ~3% runtime improvements in games with many vehicles */ if (update_delta) ((T *)this)->T::UpdateDeltaXY(this->direction); SpriteID old_image = this->cur_image; this->cur_image = ((T *)this)->T::GetImage(this->direction, EIT_ON_MAP); - if (force_update || this->cur_image != old_image) VehicleUpdateViewport(this, true); + if (force_update || this->cur_image != old_image) this->Vehicle::UpdateViewport(true); } }; @@ -1074,28 +1088,6 @@ struct SpecializedVehicle : public Vehicle { */ #define FOR_ALL_VEHICLES_OF_TYPE(name, var) FOR_ALL_ITEMS_FROM(name, vehicle_index, var, 0) if (var->type == name::EXPECTED_TYPE) -/** - * Disasters, like submarines, skyrangers and their shadows, belong to this class. - */ -struct DisasterVehicle FINAL : public SpecializedVehicle { - SpriteID image_override; ///< Override for the default disaster vehicle sprite. - VehicleID big_ufo_destroyer_target; ///< The big UFO that this destroyer is supposed to bomb. - - /** We don't want GCC to zero our struct! It already is zeroed and has an index! */ - DisasterVehicle() : SpecializedVehicleBase() {} - /** We want to 'destruct' the right class. */ - virtual ~DisasterVehicle() {} - - void UpdateDeltaXY(Direction direction); - bool Tick(); -}; - -/** - * Iterate over disaster vehicles. - * @param var The variable used to iterate over. - */ -#define FOR_ALL_DISASTERVEHICLES(var) FOR_ALL_VEHICLES_OF_TYPE(DisasterVehicle, var) - /** Generates sequence of free UnitID numbers */ struct FreeUnitIDGenerator { bool *cache; ///< array of occupied unit id numbers diff --git a/src/vehicle_cmd.cpp b/src/vehicle_cmd.cpp index 78c62d20a2..72cff271a4 100644 --- a/src/vehicle_cmd.cpp +++ b/src/vehicle_cmd.cpp @@ -34,6 +34,8 @@ #include "table/strings.h" +#include "safeguards.h" + /* Tables used in vehicle.h to find the right command for a certain vehicle type */ const uint32 _veh_build_proc_table[] = { CMD_BUILD_VEHICLE | CMD_MSG(STR_ERROR_CAN_T_BUY_TRAIN), @@ -749,7 +751,7 @@ static void CloneVehicleName(const Vehicle *src, Vehicle *dst) /* Check the name is unique. */ if (IsUniqueVehicleName(buf)) { - dst->name = strdup(buf); + dst->name = stredup(buf); break; } } @@ -1027,7 +1029,7 @@ CommandCost CmdRenameVehicle(TileIndex tile, DoCommandFlag flags, uint32 p1, uin if (flags & DC_EXEC) { free(v->name); - v->name = reset ? NULL : strdup(text); + v->name = reset ? NULL : stredup(text); InvalidateWindowClassesData(GetWindowClassForVehicleType(v->type), 1); MarkWholeScreenDirty(); } diff --git a/src/vehicle_func.h b/src/vehicle_func.h index 757f1b6e6d..9eb6b91219 100644 --- a/src/vehicle_func.h +++ b/src/vehicle_func.h @@ -67,11 +67,6 @@ void CheckVehicleBreakdown(Vehicle *v); void AgeVehicle(Vehicle *v); void VehicleEnteredDepotThisTick(Vehicle *v); -void VehicleUpdatePosition(Vehicle *v); -void VehicleUpdateViewport(Vehicle *v, bool dirty); -void VehicleUpdatePositionAndViewport(Vehicle *v); -void MarkSingleVehicleDirty(const Vehicle *v); - UnitID GetFreeUnitNumber(VehicleType type); void VehicleEnterDepot(Vehicle *v); diff --git a/src/vehicle_gui.cpp b/src/vehicle_gui.cpp index b1cd7ce2be..4ace090dda 100644 --- a/src/vehicle_gui.cpp +++ b/src/vehicle_gui.cpp @@ -39,6 +39,8 @@ #include "tilehighlight_func.h" #include "zoom_func.h" +#include "safeguards.h" + Sorting _sorting; @@ -96,6 +98,30 @@ const StringID BaseVehicleListWindow::vehicle_depot_name[] = { STR_VEHICLE_LIST_SEND_AIRCRAFT_TO_HANGAR }; +/** + * Get the number of digits the biggest unit number of a set of vehicles has. + * @param vehicles The list of vehicles. + * @return The number of digits to allocate space for. + */ +uint GetUnitNumberDigits(VehicleList &vehicles) +{ + uint unitnumber = 0; + for (const Vehicle **v = vehicles.Begin(); v != vehicles.End(); v++) { + unitnumber = max(unitnumber, (*v)->unitnumber); + } + + if (unitnumber >= 10000) return 5; + if (unitnumber >= 1000) return 4; + if (unitnumber >= 100) return 3; + + /* + * When the smallest unit number is less than 10, it is + * quite likely that it will expand to become more than + * 10 quite soon. + */ + return 2; +} + void BaseVehicleListWindow::BuildVehicleList() { if (!this->vehicles.NeedRebuild()) return; @@ -104,21 +130,7 @@ void BaseVehicleListWindow::BuildVehicleList() GenerateVehicleSortList(&this->vehicles, this->vli); - uint unitnumber = 0; - for (const Vehicle **v = this->vehicles.Begin(); v != this->vehicles.End(); v++) { - unitnumber = max(unitnumber, (*v)->unitnumber); - } - - /* Because 111 is much less wide than e.g. 999 we use the - * wider numbers to determine the width instead of just - * the random number that it seems to be. */ - if (unitnumber >= 1000) { - this->unitnumber_digits = 4; - } else if (unitnumber >= 100) { - this->unitnumber_digits = 3; - } else { - this->unitnumber_digits = 2; - } + this->unitnumber_digits = GetUnitNumberDigits(this->vehicles); this->vehicles.RebuildDone(); this->vscroll->SetCount(this->vehicles.Length()); @@ -653,7 +665,7 @@ struct RefitWindow : public Window { break; case WID_VR_VEHICLE_PANEL_DISPLAY: - size->height = GetVehicleHeight(Vehicle::Get(this->window_number)->type); + size->height = ScaleGUITrad(GetVehicleHeight(Vehicle::Get(this->window_number)->type)); break; case WID_VR_INFO: @@ -750,7 +762,7 @@ struct RefitWindow : public Window { } if (left != right) { - DrawFrameRect(left, r.top + WD_FRAMERECT_TOP, right, r.top + WD_FRAMERECT_TOP + 13, COLOUR_WHITE, FR_BORDERONLY); + DrawFrameRect(left, r.top + WD_FRAMERECT_TOP, right, r.top + WD_FRAMERECT_TOP + ScaleGUITrad(14) - 1, COLOUR_WHITE, FR_BORDERONLY); } left = INT32_MIN; @@ -1276,6 +1288,9 @@ static void DrawSmallOrderList(const Vehicle *v, int left, int right, int y, Veh const Order *order = v->GetOrder(start); if (order == NULL) return; + bool rtl = _current_text_dir == TD_RTL; + int l_offset = rtl ? 0 : ScaleGUITrad(6); + int r_offset = rtl ? ScaleGUITrad(6) : 0; int i = 0; VehicleOrderID oid = start; @@ -1284,7 +1299,7 @@ static void DrawSmallOrderList(const Vehicle *v, int left, int right, int y, Veh if (order->IsType(OT_GOTO_STATION)) { SetDParam(0, order->GetDestination()); - DrawString(left + 6, right - 6, y, STR_TINY_BLACK_STATION); + DrawString(left + l_offset, right - r_offset, y, STR_TINY_BLACK_STATION); y += FONT_HEIGHT_SMALL; if (++i == 4) break; @@ -1328,7 +1343,7 @@ void DrawVehicleImage(const Vehicle *v, int left, int right, int y, VehicleID se uint GetVehicleListHeight(VehicleType type, uint divisor) { /* Name + vehicle + profit */ - uint base = GetVehicleHeight(type) + 2 * FONT_HEIGHT_SMALL; + uint base = ScaleGUITrad(GetVehicleHeight(type)) + 2 * FONT_HEIGHT_SMALL; /* Drawing of the 4 small orders + profit*/ if (type >= VEH_SHIP) base = max(base, 5U * FONT_HEIGHT_SMALL); @@ -1352,13 +1367,13 @@ void BaseVehicleListWindow::DrawVehicleListItems(VehicleID selected_vehicle, int int width = right - left; bool rtl = _current_text_dir == TD_RTL; - int text_offset = GetDigitWidth() * this->unitnumber_digits + WD_FRAMERECT_RIGHT; + int text_offset = max(GetSpriteSize(SPR_PROFIT_LOT).width, GetDigitWidth() * this->unitnumber_digits) + WD_FRAMERECT_RIGHT; int text_left = left + (rtl ? 0 : text_offset); int text_right = right - (rtl ? text_offset : 0); bool show_orderlist = this->vli.vtype >= VEH_SHIP; - int orderlist_left = left + (rtl ? 0 : max(100 + text_offset, width / 2)); - int orderlist_right = right - (rtl ? max(100 + text_offset, width / 2) : 0); + int orderlist_left = left + (rtl ? 0 : max(ScaleGUITrad(100) + text_offset, width / 2)); + int orderlist_right = right - (rtl ? max(ScaleGUITrad(100) + text_offset, width / 2) : 0); int image_left = (rtl && show_orderlist) ? orderlist_right : text_left; int image_right = (!rtl && show_orderlist) ? orderlist_left : text_right; @@ -1484,7 +1499,7 @@ public: case WID_VL_SORT_ORDER: { Dimension d = GetStringBoundingBox(this->GetWidget(widget)->widget_data); - d.width += padding.width + WD_SORTBUTTON_ARROW_WIDTH * 2; // Doubled since the string is centred and it also looks better. + d.width += padding.width + Window::SortButtonWidth() * 2; // Doubled since the string is centred and it also looks better. d.height += padding.height; *size = maxdim(*size, d); break; @@ -1894,7 +1909,7 @@ struct VehicleDetailsWindow : Window { uint desired_height; if (v->HasArticulatedPart()) { /* An articulated RV has its text drawn under the sprite instead of after it, hence 15 pixels extra. */ - desired_height = WD_FRAMERECT_TOP + 15 + 3 * FONT_HEIGHT_NORMAL + 2 + WD_FRAMERECT_BOTTOM; + desired_height = WD_FRAMERECT_TOP + ScaleGUITrad(15) + 3 * FONT_HEIGHT_NORMAL + 2 + WD_FRAMERECT_BOTTOM; /* Add space for the cargo amount for each part. */ for (const Vehicle *u = v; u != NULL; u = u->Next()) { if (u->cargo_cap != 0) desired_height += FONT_HEIGHT_NORMAL + 1; @@ -1951,7 +1966,7 @@ struct VehicleDetailsWindow : Window { } case WID_VD_MATRIX: - resize->height = WD_MATRIX_TOP + FONT_HEIGHT_NORMAL + WD_MATRIX_BOTTOM; + resize->height = max(ScaleGUITrad(14), WD_MATRIX_TOP + FONT_HEIGHT_NORMAL + WD_MATRIX_BOTTOM); size->height = 4 * resize->height; break; @@ -2078,7 +2093,9 @@ struct VehicleDetailsWindow : Window { case WID_VD_MIDDLE_DETAILS: { /* For other vehicles, at the place of the matrix. */ bool rtl = _current_text_dir == TD_RTL; - uint sprite_width = max(UnScaleByZoom(GetSprite(v->GetImage(rtl ? DIR_E : DIR_W, EIT_IN_DETAILS), ST_NORMAL)->width, ZOOM_LVL_GUI), 70U) + WD_FRAMERECT_LEFT + WD_FRAMERECT_RIGHT; + uint sprite_width = UnScaleGUI( + max(GetSprite(v->GetImage(rtl ? DIR_E : DIR_W, EIT_IN_DETAILS), ST_NORMAL)->width, 70U)) + + WD_FRAMERECT_LEFT + WD_FRAMERECT_RIGHT; uint text_left = r.left + (rtl ? 0 : sprite_width); uint text_right = r.right - (rtl ? sprite_width : 0); @@ -2830,7 +2847,7 @@ int GetVehicleWidth(Vehicle *v, EngineImageType image_type) bool rtl = _current_text_dir == TD_RTL; SpriteID sprite = v->GetImage(rtl ? DIR_E : DIR_W, image_type); const Sprite *real_sprite = GetSprite(sprite, ST_NORMAL); - vehicle_width = UnScaleByZoom(real_sprite->width, ZOOM_LVL_GUI); + vehicle_width = UnScaleGUI(real_sprite->width); break; } diff --git a/src/vehiclelist.cpp b/src/vehiclelist.cpp index fca9c5e466..7e42b25aa2 100644 --- a/src/vehiclelist.cpp +++ b/src/vehiclelist.cpp @@ -14,11 +14,13 @@ #include "vehiclelist.h" #include "group.h" +#include "safeguards.h" + /** * Pack a VehicleListIdentifier in a single uint32. * @return The packed identifier. */ -uint32 VehicleListIdentifier::Pack() +uint32 VehicleListIdentifier::Pack() const { byte c = this->company == OWNER_NONE ? 0xF : (byte)this->company; assert(c < (1 << 4)); diff --git a/src/vehiclelist.h b/src/vehiclelist.h index d09f196829..c96fb692ae 100644 --- a/src/vehiclelist.h +++ b/src/vehiclelist.h @@ -34,7 +34,7 @@ struct VehicleListIdentifier { CompanyID company; ///< The company associated with this list. uint32 index; ///< A vehicle list type specific index. - uint32 Pack(); + uint32 Pack() const; bool Unpack(uint32 data); /** @@ -55,5 +55,6 @@ typedef SmallVector VehicleList; bool GenerateVehicleSortList(VehicleList *list, const VehicleListIdentifier &identifier); void BuildDepotVehicleList(VehicleType type, TileIndex tile, VehicleList *engine_list, VehicleList *wagon_list, bool individual_wagons = false); +uint GetUnitNumberDigits(VehicleList &vehicles); #endif /* VEHICLELIST_H */ diff --git a/src/video/allegro_v.cpp b/src/video/allegro_v.cpp index f844c6d0d0..01628f99cd 100644 --- a/src/video/allegro_v.cpp +++ b/src/video/allegro_v.cpp @@ -27,6 +27,8 @@ #include "allegro_v.h" #include +#include "../safeguards.h" + #ifdef _DEBUG /* Allegro replaces SEGV/ABRT signals meaning that the debugger will never * be triggered, so rereplace the signals and make the debugger useful. */ @@ -222,7 +224,7 @@ static bool CreateMainSurface(uint w, uint h) InitPalette(); char caption[32]; - snprintf(caption, sizeof(caption), "OpenTTD %s", _openttd_revision); + seprintf(caption, lastof(caption), "OpenTTD %s", _openttd_revision); set_window_title(caption); enable_hardware_cursor(); @@ -386,22 +388,10 @@ static void PollEvent() } /* Mouse movement */ - int dx = mouse_x - _cursor.pos.x; - int dy = mouse_y - _cursor.pos.y; - if (dx != 0 || dy != 0) { - if (_cursor.fix_at) { - _cursor.delta.x = dx; - _cursor.delta.y = dy; - position_mouse(_cursor.pos.x, _cursor.pos.y); - } else { - _cursor.delta.x = dx; - _cursor.delta.y = dy; - _cursor.pos.x = mouse_x; - _cursor.pos.y = mouse_y; - _cursor.dirty = true; - } - mouse_action = true; + if (_cursor.UpdateCursorPosition(mouse_x, mouse_y, false)) { + position_mouse(_cursor.pos.x, _cursor.pos.y); } + if (_cursor.delta.x != 0 || _cursor.delta.y) mouse_action = true; static int prev_mouse_z = 0; if (prev_mouse_z != mouse_z) { diff --git a/src/video/cocoa/cocoa_v.mm b/src/video/cocoa/cocoa_v.mm index 4a95d1901b..4df7cb0035 100644 --- a/src/video/cocoa/cocoa_v.mm +++ b/src/video/cocoa/cocoa_v.mm @@ -597,16 +597,16 @@ void CocoaDialog(const char *title, const char *message, const char *buttonLabel _cocoa_video_dialog = true; bool wasstarted = _cocoa_video_started; - if (_video_driver == NULL) { + if (VideoDriver::GetInstance() == NULL) { setupApplication(); // Setup application before showing dialog - } else if (!_cocoa_video_started && _video_driver->Start(NULL) != NULL) { + } else if (!_cocoa_video_started && VideoDriver::GetInstance()->Start(NULL) != NULL) { fprintf(stderr, "%s: %s\n", title, message); return; } NSRunAlertPanel([ NSString stringWithUTF8String:title ], [ NSString stringWithUTF8String:message ], [ NSString stringWithUTF8String:buttonLabel ], nil, nil); - if (!wasstarted && _video_driver != NULL) _video_driver->Stop(); + if (!wasstarted && VideoDriver::GetInstance() != NULL) VideoDriver::GetInstance()->Stop(); _cocoa_video_dialog = false; } @@ -621,8 +621,8 @@ void cocoaSetApplicationBundleDir() char tmp[MAXPATHLEN]; CFURLRef url = CFBundleCopyResourcesDirectoryURL(CFBundleGetMainBundle()); if (CFURLGetFileSystemRepresentation(url, true, (unsigned char*)tmp, MAXPATHLEN)) { - AppendPathSeparator(tmp, lengthof(tmp)); - _searchpaths[SP_APPLICATION_BUNDLE_DIR] = strdup(tmp); + AppendPathSeparator(tmp, lastof(tmp)); + _searchpaths[SP_APPLICATION_BUNDLE_DIR] = stredup(tmp); } else { _searchpaths[SP_APPLICATION_BUNDLE_DIR] = NULL; } @@ -1088,6 +1088,140 @@ static const char *Utf8AdvanceByUtf16Units(const char *str, NSUInteger count) return 0; } +/** Delete single character left of the cursor. */ +- (void)deleteBackward:(id)sender +{ + if (EditBoxInGlobalFocus()) HandleKeypress(WKC_BACKSPACE, 0); +} + +/** Delete word left of the cursor. */ +- (void)deleteWordBackward:(id)sender +{ + if (EditBoxInGlobalFocus()) HandleKeypress(WKC_BACKSPACE | WKC_CTRL, 0); +} + +/** Delete single character right of the cursor. */ +- (void)deleteForward:(id)sender +{ + if (EditBoxInGlobalFocus()) HandleKeypress(WKC_DELETE, 0); +} + +/** Delete word right of the cursor. */ +- (void)deleteWordForward:(id)sender +{ + if (EditBoxInGlobalFocus()) HandleKeypress(WKC_DELETE | WKC_CTRL, 0); +} + +/** Move cursor one character left. */ +- (void)moveLeft:(id)sender +{ + if (EditBoxInGlobalFocus()) HandleKeypress(WKC_LEFT, 0); +} + +/** Move cursor one word left. */ +- (void)moveWordLeft:(id)sender +{ + if (EditBoxInGlobalFocus()) HandleKeypress(WKC_LEFT | WKC_CTRL, 0); +} + +/** Move cursor one character right. */ +- (void)moveRight:(id)sender +{ + if (EditBoxInGlobalFocus()) HandleKeypress(WKC_RIGHT, 0); +} + +/** Move cursor one word right. */ +- (void)moveWordRight:(id)sender +{ + if (EditBoxInGlobalFocus()) HandleKeypress(WKC_RIGHT | WKC_CTRL, 0); +} + +/** Move cursor one line up. */ +- (void)moveUp:(id)sender +{ + if (EditBoxInGlobalFocus()) HandleKeypress(WKC_UP, 0); +} + +/** Move cursor one line down. */ +- (void)moveDown:(id)sender +{ + if (EditBoxInGlobalFocus()) HandleKeypress(WKC_DOWN, 0); +} + +/** MScroll one line up. */ +- (void)moveUpAndModifySelection:(id)sender +{ + if (EditBoxInGlobalFocus()) HandleKeypress(WKC_UP | WKC_SHIFT, 0); +} + +/** Scroll one line down. */ +- (void)moveDownAndModifySelection:(id)sender +{ + if (EditBoxInGlobalFocus()) HandleKeypress(WKC_DOWN | WKC_SHIFT, 0); +} + +/** Move cursor to the start of the line. */ +- (void)moveToBeginningOfLine:(id)sender +{ + if (EditBoxInGlobalFocus()) HandleKeypress(WKC_HOME, 0); +} + +/** Move cursor to the end of the line. */ +- (void)moveToEndOfLine:(id)sender +{ + if (EditBoxInGlobalFocus()) HandleKeypress(WKC_END, 0); +} + +/** Scroll one page up. */ +- (void)scrollPageUp:(id)sender +{ + if (EditBoxInGlobalFocus()) HandleKeypress(WKC_PAGEUP, 0); +} + +/** Scroll one page down. */ +- (void)scrollPageDown:(id)sender +{ + if (EditBoxInGlobalFocus()) HandleKeypress(WKC_PAGEDOWN, 0); +} + +/** Move cursor (and selection) one page up. */ +- (void)pageUpAndModifySelection:(id)sender +{ + if (EditBoxInGlobalFocus()) HandleKeypress(WKC_PAGEUP | WKC_SHIFT, 0); +} + +/** Move cursor (and selection) one page down. */ +- (void)pageDownAndModifySelection:(id)sender +{ + if (EditBoxInGlobalFocus()) HandleKeypress(WKC_PAGEDOWN | WKC_SHIFT, 0); +} + +/** Scroll to the beginning of the document. */ +- (void)scrollToBeginningOfDocument:(id)sender +{ + /* For compatibility with OTTD on Win/Linux. */ + [ self moveToBeginningOfLine:sender ]; +} + +/** Scroll to the end of the document. */ +- (void)scrollToEndOfDocument:(id)sender +{ + /* For compatibility with OTTD on Win/Linux. */ + [ self moveToEndOfLine:sender ]; +} + +/** Return was pressed. */ +- (void)insertNewline:(id)sender +{ + if (EditBoxInGlobalFocus()) HandleKeypress(WKC_RETURN, '\r'); +} + +/** Escape was pressed. */ +- (void)cancelOperation:(id)sender +{ + if (EditBoxInGlobalFocus()) HandleKeypress(WKC_ESC, 0); +} + /** Invoke the selector if we implement it. */ - (void)doCommandBySelector:(SEL)aSelector { diff --git a/src/video/cocoa/event.mm b/src/video/cocoa/event.mm index b4f171a98a..c8d10717e3 100644 --- a/src/video/cocoa/event.mm +++ b/src/video/cocoa/event.mm @@ -287,7 +287,18 @@ static bool QZ_KeyEvent(unsigned short keycode, unsigned short unicode, BOOL dow case QZ_RETURN: case QZ_f: if (down && (_current_mods & NSCommandKeyMask)) { - _video_driver->ToggleFullscreen(!_fullscreen); + VideoDriver::GetInstance()->ToggleFullscreen(!_fullscreen); + } + break; + + case QZ_v: + if (down && EditBoxInGlobalFocus() && (_current_mods & (NSCommandKeyMask | NSControlKeyMask))) { + HandleKeypress(WKC_CTRL | 'V', unicode); + } + break; + case QZ_u: + if (down && EditBoxInGlobalFocus() && (_current_mods & (NSCommandKeyMask | NSControlKeyMask))) { + HandleKeypress(WKC_CTRL | 'U', unicode); } break; } @@ -297,7 +308,8 @@ static bool QZ_KeyEvent(unsigned short keycode, unsigned short unicode, BOOL dow static bool console = false; - if (pressed_key == WKC_BACKQUOTE && unicode == 0) { + /* The second backquote may have a character, which we don't want to interpret. */ + if (pressed_key == WKC_BACKQUOTE && (console || unicode == 0)) { if (!console) { /* Backquote is a dead key, require a double press for hotkey behaviour (i.e. console). */ console = true; @@ -310,7 +322,7 @@ static bool QZ_KeyEvent(unsigned short keycode, unsigned short unicode, BOOL dow console = false; /* Don't handle normal characters if an edit box has the focus. */ - if (!EditBoxInGlobalFocus() || ((pressed_key & ~WKC_SPECIAL_KEYS) <= WKC_TAB) || IsInsideMM(pressed_key & ~WKC_SPECIAL_KEYS, WKC_F1, WKC_PAUSE + 1)) { + if (!EditBoxInGlobalFocus() || IsInsideMM(pressed_key & ~WKC_SPECIAL_KEYS, WKC_F1, WKC_PAUSE + 1)) { HandleKeypress(pressed_key, unicode); } DEBUG(driver, 2, "cocoa_v: QZ_KeyEvent: %x (%x), down, mapping: %x", keycode, unicode, pressed_key); @@ -350,22 +362,8 @@ static void QZ_DoUnsidedModifiers(unsigned int newMods) static void QZ_MouseMovedEvent(int x, int y) { - if (_cursor.fix_at) { - int dx = x - _cursor.pos.x; - int dy = y - _cursor.pos.y; - - if (dx != 0 || dy != 0) { - _cursor.delta.x += dx; - _cursor.delta.y += dy; - - QZ_WarpCursor(_cursor.pos.x, _cursor.pos.y); - } - } else { - _cursor.delta.x = x - _cursor.pos.x; - _cursor.delta.y = y - _cursor.pos.y; - _cursor.pos.x = x; - _cursor.pos.y = y; - _cursor.dirty = true; + if (_cursor.UpdateCursorPosition(x, y, false)) { + QZ_WarpCursor(_cursor.pos.x, _cursor.pos.y); } HandleMouseEvents(); } @@ -527,7 +525,7 @@ static bool QZ_PollEvent() break; #endif - case NSKeyDown: + case NSKeyDown: { /* Quit, hide and minimize */ switch ([ event keyCode ]) { case QZ_q: @@ -539,22 +537,20 @@ static bool QZ_PollEvent() break; } + chars = [ event characters ]; + unsigned short unicode = [ chars length ] > 0 ? [ chars characterAtIndex:0 ] : 0; if (EditBoxInGlobalFocus()) { - if (QZ_KeyEvent([ event keyCode ], 0, YES)) { + if (QZ_KeyEvent([ event keyCode ], unicode, YES)) { [ _cocoa_subdriver->cocoaview interpretKeyEvents:[ NSArray arrayWithObject:event ] ]; } } else { - chars = [ event characters ]; - if ([ chars length ] == 0) { - QZ_KeyEvent([ event keyCode ], 0, YES); - } else { - QZ_KeyEvent([ event keyCode ], [ chars characterAtIndex:0 ], YES); - for (uint i = 1; i < [ chars length ]; i++) { - QZ_KeyEvent(0, [ chars characterAtIndex:i ], YES); - } + QZ_KeyEvent([ event keyCode ], unicode, YES); + for (uint i = 1; i < [ chars length ]; i++) { + QZ_KeyEvent(0, [ chars characterAtIndex:i ], YES); } } break; + } case NSKeyUp: /* Quit, hide and minimize */ diff --git a/src/video/cocoa/fullscreen.mm b/src/video/cocoa/fullscreen.mm index 4d2b1c5884..860866b336 100644 --- a/src/video/cocoa/fullscreen.mm +++ b/src/video/cocoa/fullscreen.mm @@ -70,7 +70,7 @@ struct OTTD_QuartzGammaTable { - (void) setFrame:(NSRect)frame { /* The 64 bits libraries don't seem to know about _frame, so this hack won't work. */ -#if !__LP64__ +#ifndef __LP64__ _frame = frame; #endif } diff --git a/src/video/dedicated_v.cpp b/src/video/dedicated_v.cpp index 9be1b2d3ce..bfe853e9a0 100644 --- a/src/video/dedicated_v.cpp +++ b/src/video/dedicated_v.cpp @@ -99,6 +99,9 @@ static void WINAPI CheckForConsoleInput() HANDLE hStdin = GetStdHandle(STD_INPUT_HANDLE); for (;;) { ReadFile(hStdin, _win_console_thread_buffer, lengthof(_win_console_thread_buffer), &nb, NULL); + if (nb >= lengthof(_win_console_thread_buffer)) nb = lengthof(_win_console_thread_buffer) - 1; + _win_console_thread_buffer[nb] = '\0'; + /* Signal input waiting that input is read and wait for it being handled * SignalObjectAndWait() should be used here, but it's unsupported in Win98< */ SetEvent(_hInputReady); @@ -131,6 +134,8 @@ static void CloseWindowsConsoleThread() #endif +#include "../safeguards.h" + static void *_dedicated_video_mem; @@ -243,9 +248,7 @@ static void DedicatedHandleKeyInput() SetEvent(_hWaitForInputHandling); #endif - /* strtok() does not 'forget' \r\n if the string starts with it, - * so we have to manually remove that! */ - strtok(input_line, "\r\n"); + /* Remove trailing \r or \n */ for (char *c = input_line; *c != '\0'; c++) { if (*c == '\n' || *c == '\r' || c == lastof(input_line)) { *c = '\0'; diff --git a/src/video/null_v.cpp b/src/video/null_v.cpp index f2f7fc5ed5..5037814e5b 100644 --- a/src/video/null_v.cpp +++ b/src/video/null_v.cpp @@ -14,6 +14,8 @@ #include "../blitter/factory.hpp" #include "null_v.h" +#include "../safeguards.h" + /** Factory for the null video driver. */ static FVideoDriver_Null iFVideoDriver_Null; diff --git a/src/video/sdl_v.cpp b/src/video/sdl_v.cpp index cad21955d0..ea68c21656 100644 --- a/src/video/sdl_v.cpp +++ b/src/video/sdl_v.cpp @@ -26,6 +26,8 @@ #include "sdl_v.h" #include +#include "../safeguards.h" + static FVideoDriver_SDL iFVideoDriver_SDL; static SDL_Surface *_sdl_screen; @@ -280,7 +282,7 @@ bool VideoDriver_SDL::CreateMainSurface(uint w, uint h) if (bpp == 0) usererror("Can't use a blitter that blits 0 bpp for normal visuals"); char icon_path[MAX_PATH]; - if (FioFindFullPath(icon_path, lengthof(icon_path), BASESET_DIR, "openttd.32.bmp") != NULL) { + if (FioFindFullPath(icon_path, lastof(icon_path), BASESET_DIR, "openttd.32.bmp") != NULL) { /* Give the application an icon */ icon = SDL_CALL SDL_LoadBMP(icon_path); if (icon != NULL) { @@ -315,7 +317,7 @@ bool VideoDriver_SDL::CreateMainSurface(uint w, uint h) * (which we can't force in 8bpp on 8bpp mode, * unfortunately). */ - want_hwpalette = (bpp == 8 && _fullscreen); + want_hwpalette = bpp == 8 && _fullscreen && _support8bpp == S8BPP_HARDWARE; } else { /* User specified a value manually */ want_hwpalette = _use_hwpalette; @@ -409,14 +411,14 @@ bool VideoDriver_SDL::CreateMainSurface(uint w, uint h) break; case Blitter::PALETTE_ANIMATION_BLITTER: - if (_video_driver != NULL) blitter->PaletteAnimate(_local_palette); + if (VideoDriver::GetInstance() != NULL) blitter->PaletteAnimate(_local_palette); break; default: NOT_REACHED(); } - snprintf(caption, sizeof(caption), "OpenTTD %s", _openttd_revision); + seprintf(caption, lastof(caption), "OpenTTD %s", _openttd_revision); SDL_CALL SDL_WM_SetCaption(caption, caption); GameSizeChanged(); @@ -543,20 +545,8 @@ int VideoDriver_SDL::PollEvent() switch (ev.type) { case SDL_MOUSEMOTION: - if (_cursor.fix_at) { - int dx = ev.motion.x - _cursor.pos.x; - int dy = ev.motion.y - _cursor.pos.y; - if (dx != 0 || dy != 0) { - _cursor.delta.x = dx; - _cursor.delta.y = dy; - SDL_CALL SDL_WarpMouse(_cursor.pos.x, _cursor.pos.y); - } - } else { - _cursor.delta.x = ev.motion.x - _cursor.pos.x; - _cursor.delta.y = ev.motion.y - _cursor.pos.y; - _cursor.pos.x = ev.motion.x; - _cursor.pos.y = ev.motion.y; - _cursor.dirty = true; + if (_cursor.UpdateCursorPosition(ev.motion.x, ev.motion.y, true)) { + SDL_CALL SDL_WarpMouse(_cursor.pos.x, _cursor.pos.y); } HandleMouseEvents(); break; diff --git a/src/video/video_driver.hpp b/src/video/video_driver.hpp index 190bfcc10f..916044d358 100644 --- a/src/video/video_driver.hpp +++ b/src/video/video_driver.hpp @@ -78,9 +78,15 @@ public: * An edit box lost the input focus. Abort character compositing if necessary. */ virtual void EditBoxLostFocus() {} + + /** + * Get the currently active instance of the video driver. + */ + static VideoDriver *GetInstance() { + return static_cast(*DriverFactoryBase::GetActiveDriver(Driver::DT_VIDEO)); + } }; -extern VideoDriver *_video_driver; extern char *_ini_videodriver; extern int _num_resolutions; extern Dimension _resolutions[32]; diff --git a/src/video/win32_v.cpp b/src/video/win32_v.cpp index c0da6db54e..4dcc9eb703 100644 --- a/src/video/win32_v.cpp +++ b/src/video/win32_v.cpp @@ -27,6 +27,8 @@ #include #include +#include "../safeguards.h" + /* Missing define in MinGW headers. */ #ifndef MAPVK_VK_TO_CHAR #define MAPVK_VK_TO_CHAR (2) @@ -50,7 +52,6 @@ static struct { bool _force_full_redraw; bool _window_maximize; uint _display_hz; -uint _fullscreen_bpp; static Dimension _bck_resolution; #if !defined(WINCE) || _WIN32_WCE >= 0x400 DWORD _imm_props; @@ -270,23 +271,21 @@ bool VideoDriver_Win32::MakeWindow(bool full_screen) if (full_screen) { DEVMODE settings; - /* Make sure we are always at least the screen-depth of the blitter */ - if (_fullscreen_bpp < BlitterFactory::GetCurrentBlitter()->GetScreenDepth()) _fullscreen_bpp = BlitterFactory::GetCurrentBlitter()->GetScreenDepth(); - memset(&settings, 0, sizeof(settings)); settings.dmSize = sizeof(settings); settings.dmFields = - (_fullscreen_bpp != 0 ? DM_BITSPERPEL : 0) | + DM_BITSPERPEL | DM_PELSWIDTH | DM_PELSHEIGHT | (_display_hz != 0 ? DM_DISPLAYFREQUENCY : 0); - settings.dmBitsPerPel = _fullscreen_bpp; + settings.dmBitsPerPel = BlitterFactory::GetCurrentBlitter()->GetScreenDepth(); settings.dmPelsWidth = _wnd.width_org; settings.dmPelsHeight = _wnd.height_org; settings.dmDisplayFrequency = _display_hz; /* Check for 8 bpp support. */ - if (settings.dmBitsPerPel != 32 && ChangeDisplaySettings(&settings, CDS_FULLSCREEN | CDS_TEST) != DISP_CHANGE_SUCCESSFUL) { + if (settings.dmBitsPerPel == 8 && + (_support8bpp != S8BPP_HARDWARE || ChangeDisplaySettings(&settings, CDS_FULLSCREEN | CDS_TEST) != DISP_CHANGE_SUCCESSFUL)) { settings.dmBitsPerPel = 32; } @@ -748,25 +747,11 @@ static LRESULT CALLBACK WndProcGdi(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lP SetTimer(hwnd, TID_POLLMOUSE, MOUSE_POLL_DELAY, (TIMERPROC)TrackMouseTimerProc); } - if (_cursor.fix_at) { - int dx = x - _cursor.pos.x; - int dy = y - _cursor.pos.y; - if (dx != 0 || dy != 0) { - _cursor.delta.x = dx; - _cursor.delta.y = dy; - - pt.x = _cursor.pos.x; - pt.y = _cursor.pos.y; - - ClientToScreen(hwnd, &pt); - SetCursorPos(pt.x, pt.y); - } - } else { - _cursor.delta.x = x - _cursor.pos.x; - _cursor.delta.y = y - _cursor.pos.y; - _cursor.pos.x = x; - _cursor.pos.y = y; - _cursor.dirty = true; + if (_cursor.UpdateCursorPosition(x, y, true)) { + pt.x = _cursor.pos.x; + pt.y = _cursor.pos.y; + ClientToScreen(hwnd, &pt); + SetCursorPos(pt.x, pt.y); } MyShowCursor(false); HandleMouseEvents(); @@ -1003,7 +988,7 @@ static LRESULT CALLBACK WndProcGdi(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lP if (active && minimized) { /* Restore the game window */ ShowWindow(hwnd, SW_RESTORE); - static_cast(_video_driver)->MakeWindow(true); + static_cast(VideoDriver::GetInstance())->MakeWindow(true); } else if (!active && !minimized) { /* Minimise the window and restore desktop */ ShowWindow(hwnd, SW_MINIMIZE); @@ -1046,7 +1031,7 @@ static bool AllocateDibSection(int w, int h, bool force) { BITMAPINFO *bi; HDC dc; - int bpp = BlitterFactory::GetCurrentBlitter()->GetScreenDepth(); + uint bpp = BlitterFactory::GetCurrentBlitter()->GetScreenDepth(); w = max(w, 64); h = max(h, 64); @@ -1105,11 +1090,14 @@ static void FindResolutions() uint i; DEVMODEA dm; + /* Check modes for the relevant fullscreen bpp */ + uint bpp = _support8bpp != S8BPP_HARDWARE ? 32 : BlitterFactory::GetCurrentBlitter()->GetScreenDepth(); + /* XXX - EnumDisplaySettingsW crashes with unicows.dll on Windows95 * Doesn't really matter since we don't pass a string anyways, but still * a letdown */ for (i = 0; EnumDisplaySettingsA(NULL, i, &dm) != 0; i++) { - if (dm.dmBitsPerPel == BlitterFactory::GetCurrentBlitter()->GetScreenDepth() && + if (dm.dmBitsPerPel == bpp && dm.dmPelsWidth >= 640 && dm.dmPelsHeight >= 480) { uint j; diff --git a/src/viewport.cpp b/src/viewport.cpp index 9dacd7d43e..2033988f5e 100644 --- a/src/viewport.cpp +++ b/src/viewport.cpp @@ -26,6 +26,42 @@ * \endverbatim */ +/** + * @defgroup vp_column_row Rows and columns in the viewport + * + * Columns are vertical sections of the viewport that are half a tile wide. + * The origin, i.e. column 0, is through the northern and southern most tile. + * This means that the column of e.g. Tile(0, 0) and Tile(100, 100) are in + * column number 0. The negative columns are towards the left of the screen, + * or towards the west, whereas the positive ones are towards respectively + * the right and east. + * With half a tile wide is meant that the next column of tiles directly west + * or east of the centre line are respectively column -1 and 1. Their tile + * centers are only half a tile from the center of their adjoining tile when + * looking only at the X-coordinate. + * + * \verbatim + * ╳ * + * ╱ ╲ * + * ╳ 0 ╳ * + * ╱ ╲ ╱ ╲ * + * ╳-1 ╳ 1 ╳ * + * ╱ ╲ ╱ ╲ ╱ ╲ * + * ╳-2 ╳ 0 ╳ 2 ╳ * + * ╲ ╱ ╲ ╱ ╲ ╱ * + * ╳-1 ╳ 1 ╳ * + * ╲ ╱ ╲ ╱ * + * ╳ 0 ╳ * + * ╲ ╱ * + * ╳ * + * \endverbatim + * + * + * Rows are horizontal sections of the viewport, also half a tile wide. + * This time the nothern most tile on the map defines 0 and + * everything south of that has a positive number. + */ + #include "stdafx.h" #include "landscape.h" #include "viewport_func.h" @@ -47,12 +83,23 @@ #include "window_gui.h" #include "linkgraph/linkgraph_gui.h" #include "viewport_sprite_sorter.h" +#include "bridge_map.h" + +#include #include "table/strings.h" -#include "table/palettes.h" +#include "table/string_colours.h" + +#include "safeguards.h" Point _tile_fract_coords; + +static const int MAX_TILE_EXTENT_LEFT = ZOOM_LVL_BASE * TILE_PIXELS; ///< Maximum left extent of tile relative to north corner. +static const int MAX_TILE_EXTENT_RIGHT = ZOOM_LVL_BASE * TILE_PIXELS; ///< Maximum right extent of tile relative to north corner. +static const int MAX_TILE_EXTENT_TOP = ZOOM_LVL_BASE * MAX_BUILDING_PIXELS; ///< Maximum top extent of tile relative to north corner (not considering bridges). +static const int MAX_TILE_EXTENT_BOTTOM = ZOOM_LVL_BASE * (TILE_PIXELS + 2 * TILE_HEIGHT); ///< Maximum bottom extent of tile relative to north corner (worst case: #SLOPE_STEEP_N). + struct StringSpriteToDraw { StringID string; Colours colour; @@ -203,8 +250,8 @@ void InitializeWindowViewport(Window *w, int x, int y, vp->overlay = NULL; w->viewport = vp; - vp->virtual_left = 0;//pt.x; - vp->virtual_top = 0;//pt.y; + vp->virtual_left = 0; // pt.x; + vp->virtual_top = 0; // pt.y; } static Point _vp_move_offs; @@ -352,9 +399,10 @@ ViewPort *IsPtInWindowViewport(const Window *w, int x, int y) * @param vp Viewport that contains the (\a x, \a y) screen coordinate * @param x Screen x coordinate * @param y Screen y coordinate + * @param clamp_to_map Clamp the coordinate outside of the map to the closest tile within the map. * @return Tile coordinate */ -static Point TranslateXYToTileCoord(const ViewPort *vp, int x, int y) +Point TranslateXYToTileCoord(const ViewPort *vp, int x, int y, bool clamp_to_map) { Point pt; int a, b; @@ -372,11 +420,15 @@ static Point TranslateXYToTileCoord(const ViewPort *vp, int x, int y) a = y - x; b = y + x; - /* we need to move variables in to the valid range, as the - * GetTileZoomCenterWindow() function can call here with invalid x and/or y, - * when the user tries to zoom out along the sides of the map */ - a = Clamp(a, -4 * (int)TILE_SIZE, (int)(MapMaxX() * TILE_SIZE) - 1); - b = Clamp(b, -4 * (int)TILE_SIZE, (int)(MapMaxY() * TILE_SIZE) - 1); + if (clamp_to_map) { + /* Bring the coordinates near to a valid range. This is mostly due to the + * tiles on the north side of the map possibly being drawn too high due to + * the extra height levels. So at the top we allow a number of extra tiles. + * This number is based on the tile height and pixels. */ + int extra_tiles = CeilDiv(_settings_game.construction.max_heightlevel * TILE_HEIGHT, TILE_PIXELS); + a = Clamp(a, -extra_tiles * TILE_SIZE, MapMaxX() * TILE_SIZE - 1); + b = Clamp(b, -extra_tiles * TILE_SIZE, MapMaxY() * TILE_SIZE - 1); + } /* (a, b) is the X/Y-world coordinate that belongs to (x,y) if the landscape would be completely flat on height 0. * Now find the Z-world coordinate by fix point iteration. @@ -393,8 +445,13 @@ static Point TranslateXYToTileCoord(const ViewPort *vp, int x, int y) for (int malus = 3; malus > 0; malus--) z = GetSlopePixelZ(Clamp(a + max(z, malus) - malus, min_coord, MapMaxX() * TILE_SIZE - 1), Clamp(b + max(z, malus) - malus, min_coord, MapMaxY() * TILE_SIZE - 1)) / 2; for (int i = 0; i < 5; i++) z = GetSlopePixelZ(Clamp(a + z, min_coord, MapMaxX() * TILE_SIZE - 1), Clamp(b + z, min_coord, MapMaxY() * TILE_SIZE - 1)) / 2; - pt.x = Clamp(a + z, min_coord, MapMaxX() * TILE_SIZE - 1); - pt.y = Clamp(b + z, min_coord, MapMaxY() * TILE_SIZE - 1); + if (clamp_to_map) { + pt.x = Clamp(a + z, min_coord, MapMaxX() * TILE_SIZE - 1); + pt.y = Clamp(b + z, min_coord, MapMaxY() * TILE_SIZE - 1); + } else { + pt.x = a + z; + pt.y = b + z; + } return pt; } @@ -1020,91 +1077,133 @@ draw_inner: } } +/** + * Returns the y coordinate in the viewport coordinate system where the given + * tile is painted. + * @param tile Any tile. + * @return The viewport y coordinate where the tile is painted. + */ +static int GetViewportY(Point tile) +{ + /* Each increment in X or Y direction moves down by half a tile, i.e. TILE_PIXELS / 2. */ + return (tile.y * (int)(TILE_PIXELS / 2) + tile.x * (int)(TILE_PIXELS / 2) - TilePixelHeightOutsideMap(tile.x, tile.y)) << ZOOM_LVL_SHIFT; +} + +/** + * Add the landscape to the viewport, i.e. all ground tiles and buildings. + */ static void ViewportAddLandscape() { - int x, y, width, height; - TileInfo ti; - bool direction; + assert(_vd.dpi.top <= _vd.dpi.top + _vd.dpi.height); + assert(_vd.dpi.left <= _vd.dpi.left + _vd.dpi.width); - _cur_ti = &ti; + Point upper_left = InverseRemapCoords(_vd.dpi.left, _vd.dpi.top); + Point upper_right = InverseRemapCoords(_vd.dpi.left + _vd.dpi.width, _vd.dpi.top); - /* Transform into tile coordinates and round to closest full tile */ - x = ((_vd.dpi.top >> (1 + ZOOM_LVL_SHIFT)) - (_vd.dpi.left >> (2 + ZOOM_LVL_SHIFT))) & ~TILE_UNIT_MASK; - y = ((_vd.dpi.top >> (1 + ZOOM_LVL_SHIFT)) + (_vd.dpi.left >> (2 + ZOOM_LVL_SHIFT)) - TILE_SIZE) & ~TILE_UNIT_MASK; + /* Transformations between tile coordinates and viewport rows/columns: See vp_column_row + * column = y - x + * row = x + y + * x = (row - column) / 2 + * y = (row + column) / 2 + * Note: (row, columns) pairs are only valid, if they are both even or both odd. + */ - /* determine size of area */ - { - Point pt = RemapCoords(x, y, 241); - width = (_vd.dpi.left + _vd.dpi.width - pt.x + 96 * ZOOM_LVL_BASE - 1) >> (6 + ZOOM_LVL_SHIFT); - height = (_vd.dpi.top + _vd.dpi.height - pt.y) >> (5 + ZOOM_LVL_SHIFT) << 1; - } + /* Columns overlap with neighbouring columns by a half tile. + * - Left column is column of upper_left (rounded down) and one column to the left. + * - Right column is column of upper_right (rounded up) and one column to the right. + * Note: Integer-division does not round down for negative numbers, so ensure rounding with another increment/decrement. + */ + int left_column = (upper_left.y - upper_left.x) / (int)TILE_SIZE - 2; + int right_column = (upper_right.y - upper_right.x) / (int)TILE_SIZE + 2; - assert(width > 0); - assert(height > 0); + int potential_bridge_height = ZOOM_LVL_BASE * TILE_HEIGHT * _settings_game.construction.max_bridge_height; - direction = false; + /* Rows overlap with neighbouring rows by a half tile. + * The first row that could possibly be visible is the row above upper_left (if it is at height 0). + * Due to integer-division not rounding down for negative numbers, we need another decrement. + */ + int row = (upper_left.x + upper_left.y) / (int)TILE_SIZE - 2; + bool last_row = false; + for (; !last_row; row++) { + last_row = true; + for (int column = left_column; column <= right_column; column++) { + /* Valid row/column? */ + if ((row + column) % 2 != 0) continue; - do { - int width_cur = width; - uint x_cur = x; - uint y_cur = y; + Point tilecoord; + tilecoord.x = (row - column) / 2; + tilecoord.y = (row + column) / 2; + assert(column == tilecoord.y - tilecoord.x); + assert(row == tilecoord.y + tilecoord.x); - do { - TileType tt = MP_VOID; + TileType tile_type; + TileInfo tile_info; + _cur_ti = &tile_info; + tile_info.x = tilecoord.x * TILE_SIZE; // FIXME tile_info should use signed integers + tile_info.y = tilecoord.y * TILE_SIZE; - ti.x = x_cur; - ti.y = y_cur; + if (IsInsideBS(tilecoord.x, 0, MapSizeX()) && IsInsideBS(tilecoord.y, 0, MapSizeY())) { + /* This includes the south border at MapMaxX / MapMaxY. When terraforming we still draw tile selections there. */ + tile_info.tile = TileXY(tilecoord.x, tilecoord.y); + tile_type = GetTileType(tile_info.tile); + } else { + tile_info.tile = INVALID_TILE; + tile_type = MP_VOID; + } - ti.z = 0; + if (tile_type != MP_VOID) { + /* We are inside the map => paint landscape. */ + tile_info.tileh = GetTilePixelSlope(tile_info.tile, &tile_info.z); + } else { + /* We are outside the map => paint black. */ + tile_info.tileh = GetTilePixelSlopeOutsideMap(tilecoord.x, tilecoord.y, &tile_info.z); + } - ti.tileh = SLOPE_FLAT; - ti.tile = INVALID_TILE; + int viewport_y = GetViewportY(tilecoord); - if (x_cur < MapMaxX() * TILE_SIZE && - y_cur < MapMaxY() * TILE_SIZE) { - TileIndex tile = TileVirtXY(x_cur, y_cur); + if (viewport_y + MAX_TILE_EXTENT_BOTTOM < _vd.dpi.top) { + /* The tile in this column is not visible yet. + * Tiles in other columns may be visible, but we need more rows in any case. */ + last_row = false; + continue; + } - if (!_settings_game.construction.freeform_edges || (TileX(tile) != 0 && TileY(tile) != 0)) { - if (x_cur == ((int)MapMaxX() - 1) * TILE_SIZE || y_cur == ((int)MapMaxY() - 1) * TILE_SIZE) { - uint maxh = max(TileHeight(tile), 1); - for (uint h = 0; h < maxh; h++) { - AddTileSpriteToDraw(SPR_SHADOW_CELL, PAL_NONE, ti.x, ti.y, h * TILE_HEIGHT); - } - } + int min_visible_height = viewport_y - (_vd.dpi.top + _vd.dpi.height); + bool tile_visible = min_visible_height <= 0; - ti.tile = tile; - ti.tileh = GetTilePixelSlope(tile, &ti.z); - tt = GetTileType(tile); + if (tile_type != MP_VOID) { + /* Is tile with buildings visible? */ + if (min_visible_height < MAX_TILE_EXTENT_TOP) tile_visible = true; + + if (IsBridgeAbove(tile_info.tile)) { + /* Is the bridge visible? */ + TileIndex bridge_tile = GetNorthernBridgeEnd(tile_info.tile); + int bridge_height = ZOOM_LVL_BASE * (GetBridgePixelHeight(bridge_tile) - TilePixelHeight(tile_info.tile)); + if (min_visible_height < bridge_height + MAX_TILE_EXTENT_TOP) tile_visible = true; } + + /* Would a higher bridge on a more southern tile be visible? + * If yes, we need to loop over more rows to possibly find one. */ + if (min_visible_height < potential_bridge_height + MAX_TILE_EXTENT_TOP) last_row = false; + } else { + /* Outside of map. If we are on the north border of the map, there may still be a bridge visible, + * so we need to loop over more rows to possibly find one. */ + if ((tilecoord.x <= 0 || tilecoord.y <= 0) && min_visible_height < potential_bridge_height + MAX_TILE_EXTENT_TOP) last_row = false; } - _vd.foundation_part = FOUNDATION_PART_NONE; - _vd.foundation[0] = -1; - _vd.foundation[1] = -1; - _vd.last_foundation_child[0] = NULL; - _vd.last_foundation_child[1] = NULL; + if (tile_visible) { + last_row = false; + _vd.foundation_part = FOUNDATION_PART_NONE; + _vd.foundation[0] = -1; + _vd.foundation[1] = -1; + _vd.last_foundation_child[0] = NULL; + _vd.last_foundation_child[1] = NULL; - _tile_type_procs[tt]->draw_tile_proc(&ti); - - if ((x_cur == (int)MapMaxX() * TILE_SIZE && IsInsideMM(y_cur, 0, MapMaxY() * TILE_SIZE + 1)) || - (y_cur == (int)MapMaxY() * TILE_SIZE && IsInsideMM(x_cur, 0, MapMaxX() * TILE_SIZE + 1))) { - TileIndex tile = TileVirtXY(x_cur, y_cur); - ti.tile = tile; - ti.tileh = GetTilePixelSlope(tile, &ti.z); - tt = GetTileType(tile); + _tile_type_procs[tile_type]->draw_tile_proc(&tile_info); + if (tile_info.tile != INVALID_TILE) DrawTileSelection(&tile_info); } - if (ti.tile != INVALID_TILE) DrawTileSelection(&ti); - - y_cur += 0x10; - x_cur -= 0x10; - } while (--width_cur); - - if ((direction ^= 1) != 0) { - y += 0x10; - } else { - x += 0x10; } - } while (--height); + } } /** @@ -1209,8 +1308,9 @@ static void ViewportAddSigns(DrawPixelInfo *dpi) * @param center the (preferred) center of the viewport sign * @param top the new top of the sign * @param str the string to show in the sign + * @param str_small the string to show when zoomed out. STR_NULL means same as \a str */ -void ViewportSign::UpdatePosition(int center, int top, StringID str) +void ViewportSign::UpdatePosition(int center, int top, StringID str, StringID str_small) { if (this->width_normal != 0) this->MarkDirty(); @@ -1223,6 +1323,9 @@ void ViewportSign::UpdatePosition(int center, int top, StringID str) this->center = center; /* zoomed out version */ + if (str_small != STR_NULL) { + GetString(buffer, str_small, lastof(buffer)); + } this->width_small = VPSM_LEFT + Align(GetStringBoundingBox(buffer, FS_SMALL).width, 2) + VPSM_RIGHT; this->MarkDirty(); @@ -1558,8 +1661,97 @@ void Window::DrawViewport() const dpi->top -= this->top; } +/** + * Continue criteria for the SearchMapEdge function. + * @param iter Value to check. + * @param iter_limit Maximum value for the iter + * @param sy Screen y coordinate calculated for the tile at hand + * @param sy_limit Limit to the screen y coordinate + * @return True when we should continue searching. + */ +typedef bool ContinueMapEdgeSearch(int iter, int iter_limit, int sy, int sy_limit); + +/** Continue criteria for searching a no-longer-visible tile in negative direction, starting at some tile. */ +static inline bool ContinueLowerMapEdgeSearch(int iter, int iter_limit, int sy, int sy_limit) { return iter > 0 && sy > sy_limit; } +/** Continue criteria for searching a no-longer-visible tile in positive direction, starting at some tile. */ +static inline bool ContinueUpperMapEdgeSearch(int iter, int iter_limit, int sy, int sy_limit) { return iter < iter_limit && sy < sy_limit; } + +/** + * Searches, starting at the given tile, by applying the given offset to iter, for a no longer visible tile. + * The whole sense of this function is keeping the to-be-written code small, thus it is a little bit abstracted + * so the same function can be used for both the X and Y locations. As such a reference to one of the elements + * in curr_tile was needed. + * @param curr_tile A tile + * @param iter Reference to either the X or Y of curr_tile. + * @param iter_limit Upper search limit for the iter value. + * @param offset Search in steps of this size + * @param sy_limit Search limit to be passed to the criteria + * @param continue_criteria Search as long as this criteria is true + * @return The final value of iter. + */ +static int SearchMapEdge(Point &curr_tile, int &iter, int iter_limit, int offset, int sy_limit, ContinueMapEdgeSearch continue_criteria) +{ + int sy; + do { + iter = Clamp(iter + offset, 0, iter_limit); + sy = GetViewportY(curr_tile); + } while (continue_criteria(iter, iter_limit, sy, sy_limit)); + + return iter; +} + +/** + * Determine the clamping of either the X or Y coordinate to the map. + * @param curr_tile A tile + * @param iter Reference to either the X or Y of curr_tile. + * @param iter_limit Upper search limit for the iter value. + * @param start Start value for the iteration. + * @param other_ref Reference to the opposite axis in curr_tile than of iter. + * @param other_value Start value for of the opposite axis + * @param vp_value Value of the viewport location in the opposite axis as for iter. + * @param other_limit Limit for the other value, so if iter is X, then other_limit is for Y. + * @param vp_top Top of the viewport. + * @param vp_bottom Bottom of the viewport. + * @return Clamped version of vp_value. + */ +static inline int ClampXYToMap(Point &curr_tile, int &iter, int iter_limit, int start, int &other_ref, int other_value, int vp_value, int other_limit, int vp_top, int vp_bottom) +{ + bool upper_edge = other_value < _settings_game.construction.max_heightlevel / 4; + + /* + * First get an estimate of the tiles relevant for us at that edge. Relevant in the sense + * "at least close to the visible area". Thus, we don't look at exactly each tile, inspecting + * e.g. every tenth should be enough. After all, the desired screen limit is set such that + * the bordermost tiles are painted in the middle of the screen when one hits the limit, + * i.e. it is no harm if there is some small error in that calculation + */ + + other_ref = upper_edge ? 0 : other_limit; + iter = start; + int min_iter = SearchMapEdge(curr_tile, iter, iter_limit, upper_edge ? -10 : +10, vp_top, upper_edge ? ContinueLowerMapEdgeSearch : ContinueUpperMapEdgeSearch); + iter = start; + int max_iter = SearchMapEdge(curr_tile, iter, iter_limit, upper_edge ? +10 : -10, vp_bottom, upper_edge ? ContinueUpperMapEdgeSearch : ContinueLowerMapEdgeSearch); + + max_iter = min(max_iter + _settings_game.construction.max_heightlevel / 4, iter_limit); + min_iter = min(min_iter, max_iter); + + /* Now, calculate the highest heightlevel of these tiles. Again just as an estimate. */ + int max_heightlevel_at_edge = 0; + for (iter = min_iter; iter <= max_iter; iter += 10) { + max_heightlevel_at_edge = max(max_heightlevel_at_edge, (int)TileHeight(TileXY(curr_tile.x, curr_tile.y))); + } + + /* Based on that heightlevel, calculate the limit. For the upper edge a tile with height zero would + * get a limit of zero, on the other side it depends on the number of tiles along the axis. */ + return upper_edge ? + max(vp_value, -max_heightlevel_at_edge * (int)(TILE_HEIGHT * 2 * ZOOM_LVL_BASE)) : + min(vp_value, (other_limit * TILE_SIZE * 4 - max_heightlevel_at_edge * TILE_HEIGHT * 2) * ZOOM_LVL_BASE); +} + static inline void ClampViewportToMap(const ViewPort *vp, int &x, int &y) { + int original_y = y; + /* Centre of the viewport is hot spot */ x += vp->virtual_width / 2; y += vp->virtual_height / 2; @@ -1569,9 +1761,14 @@ static inline void ClampViewportToMap(const ViewPort *vp, int &x, int &y) int vx = -x + y * 2; int vy = x + y * 2; - /* clamp to size of map */ - vx = Clamp(vx, 0, MapMaxX() * TILE_SIZE * 4 * ZOOM_LVL_BASE); - vy = Clamp(vy, 0, MapMaxY() * TILE_SIZE * 4 * ZOOM_LVL_BASE); + /* Find out which tile corresponds to (vx,vy) if one assumes height zero. The cast is necessary to prevent C++ from + * converting the result to an uint, which gives an overflow instead of a negative result... */ + int tx = vx / (int)(TILE_SIZE * 4 * ZOOM_LVL_BASE); + int ty = vy / (int)(TILE_SIZE * 4 * ZOOM_LVL_BASE); + + Point curr_tile; + vx = ClampXYToMap(curr_tile, curr_tile.y, MapMaxY(), ty, curr_tile.x, tx, vx, MapMaxX(), original_y, original_y + vp->virtual_height); + vy = ClampXYToMap(curr_tile, curr_tile.x, MapMaxX(), tx, curr_tile.y, ty, vy, MapMaxY(), original_y, original_y + vp->virtual_height); /* Convert map coordinates to viewport coordinates */ x = (-vx + vy) / 2; @@ -1637,6 +1834,10 @@ void UpdateViewportPosition(Window *w) */ static void MarkViewportDirty(const ViewPort *vp, int left, int top, int right, int bottom) { + /* Rounding wrt. zoom-out level */ + right += (1 << vp->zoom) - 1; + bottom += (1 << vp->zoom) - 1; + right -= vp->virtual_left; if (right <= 0) return; @@ -1661,10 +1862,10 @@ static void MarkViewportDirty(const ViewPort *vp, int left, int top, int right, /** * Mark all viewports that display an area as dirty (in need of repaint). - * @param left Left edge of area to repaint - * @param top Top edge of area to repaint - * @param right Right edge of area to repaint - * @param bottom Bottom edge of area to repaint + * @param left Left edge of area to repaint. (viewport coordinates, that is wrt. #ZOOM_LVL_NORMAL) + * @param top Top edge of area to repaint. (viewport coordinates, that is wrt. #ZOOM_LVL_NORMAL) + * @param right Right edge of area to repaint. (viewport coordinates, that is wrt. #ZOOM_LVL_NORMAL) + * @param bottom Bottom edge of area to repaint. (viewport coordinates, that is wrt. #ZOOM_LVL_NORMAL) * @ingroup dirty */ void MarkAllViewportsDirty(int left, int top, int right, int bottom) @@ -1696,17 +1897,33 @@ void ConstrainAllViewportsZoom() /** * Mark a tile given by its index dirty for repaint. * @param tile The tile to mark dirty. + * @param bridge_level_offset Height of bridge on tile to also mark dirty. (Height level relative to north corner.) * @ingroup dirty */ -void MarkTileDirtyByTile(TileIndex tile) +void MarkTileDirtyByTile(TileIndex tile, int bridge_level_offset) { - Point pt = RemapCoords(TileX(tile) * TILE_SIZE, TileY(tile) * TILE_SIZE, GetTilePixelZ(tile)); + Point pt = RemapCoords(TileX(tile) * TILE_SIZE, TileY(tile) * TILE_SIZE, TilePixelHeight(tile)); MarkAllViewportsDirty( - pt.x - 31 * ZOOM_LVL_BASE, - pt.y - 122 * ZOOM_LVL_BASE, - pt.x - 31 * ZOOM_LVL_BASE + 67 * ZOOM_LVL_BASE, - pt.y - 122 * ZOOM_LVL_BASE + 154 * ZOOM_LVL_BASE - ); + pt.x - MAX_TILE_EXTENT_LEFT, + pt.y - MAX_TILE_EXTENT_TOP - ZOOM_LVL_BASE * TILE_HEIGHT * bridge_level_offset, + pt.x + MAX_TILE_EXTENT_RIGHT, + pt.y + MAX_TILE_EXTENT_BOTTOM); +} + +/** + * Mark a (virtual) tile outside the map dirty for repaint. + * @param x Tile X position. + * @param y Tile Y position. + * @ingroup dirty + */ +void MarkTileDirtyByTileOutsideMap(int x, int y) +{ + Point pt = RemapCoords(x * TILE_SIZE, y * TILE_SIZE, TilePixelHeightOutsideMap(x, y)); + MarkAllViewportsDirty( + pt.x - MAX_TILE_EXTENT_LEFT, + pt.y, // no buildings outside of map + pt.x + MAX_TILE_EXTENT_RIGHT, + pt.y + MAX_TILE_EXTENT_BOTTOM); } /** @@ -1782,15 +1999,15 @@ static void SetSelectionTilesDirty() /* the 'x' coordinate of 'top' and 'bot' is the same (and always in the same distance from tile middle), * tile height/slope affects only the 'y' on-screen coordinate! */ - int l = top.x - (TILE_PIXELS - 2) * ZOOM_LVL_BASE; // 'x' coordinate of left side of dirty rectangle - int t = top.y; // 'y' coordinate of top side -//- - int r = top.x + (TILE_PIXELS - 2) * ZOOM_LVL_BASE; // right side of dirty rectangle - int b = bot.y; // bottom -//- + int l = top.x - TILE_PIXELS * ZOOM_LVL_BASE; // 'x' coordinate of left side of the dirty rectangle + int t = top.y; // 'y' coordinate of top side of the dirty rectangle + int r = top.x + TILE_PIXELS * ZOOM_LVL_BASE; // 'x' coordinate of right side of the dirty rectangle + int b = bot.y; // 'y' coordinate of bottom side of the dirty rectangle - static const int OVERLAY_WIDTH = 4 * ZOOM_LVL_BASE; // part of selection sprites is drawn outside the selected area + static const int OVERLAY_WIDTH = 4 * ZOOM_LVL_BASE; // part of selection sprites is drawn outside the selected area (in particular: terraforming) /* For halftile foundations on SLOPE_STEEP_S the sprite extents some more towards the top */ - MarkAllViewportsDirty(l - OVERLAY_WIDTH, t - OVERLAY_WIDTH - TILE_HEIGHT * ZOOM_LVL_BASE, r + OVERLAY_WIDTH, b + OVERLAY_WIDTH * ZOOM_LVL_BASE); + MarkAllViewportsDirty(l - OVERLAY_WIDTH, t - OVERLAY_WIDTH - TILE_HEIGHT * ZOOM_LVL_BASE, r + OVERLAY_WIDTH, b + OVERLAY_WIDTH); /* haven't we reached the topmost tile yet? */ if (top_x != x_start) { @@ -2004,7 +2221,14 @@ void RebuildViewportOverlay(Window *w) bool ScrollWindowTo(int x, int y, int z, Window *w, bool instant) { /* The slope cannot be acquired outside of the map, so make sure we are always within the map. */ - if (z == -1) z = GetSlopePixelZ(Clamp(x, 0, MapSizeX() * TILE_SIZE - 1), Clamp(y, 0, MapSizeY() * TILE_SIZE - 1)); + if (z == -1) { + if ( x >= 0 && x <= (int)MapSizeX() * (int)TILE_SIZE - 1 + && y >= 0 && y <= (int)MapSizeY() * (int)TILE_SIZE - 1) { + z = GetSlopePixelZ(x, y); + } else { + z = TileHeightOutsideMap(x / (int)TILE_SIZE, y / (int)TILE_SIZE); + } + } Point pt = MapXYZToViewport(w->viewport, x, y, z); w->viewport->follow_vehicle = INVALID_VEHICLE; @@ -2916,6 +3140,13 @@ EventState VpHandlePlaceSizingDrag() return ES_HANDLED; } +/** + * Change the cursor and mouse click/drag handling to a mode for performing special operations like tile area selection, object placement, etc. + * @param icon New shape of the mouse cursor. + * @param pal Palette to use. + * @param mode Mode to perform. + * @param w %Window requesting the mode change. + */ void SetObjectToPlaceWnd(CursorID icon, PaletteID pal, HighLightStyle mode, Window *w) { SetObjectToPlace(icon, pal, mode, w->window_class, w->window_number); @@ -2923,6 +3154,14 @@ void SetObjectToPlaceWnd(CursorID icon, PaletteID pal, HighLightStyle mode, Wind #include "table/animcursors.h" +/** + * Change the cursor and mouse click/drag handling to a mode for performing special operations like tile area selection, object placement, etc. + * @param icon New shape of the mouse cursor. + * @param pal Palette to use. + * @param mode Mode to perform. + * @param window_class %Window class of the window requesting the mode change. + * @param window_num Number of the window in its class requesting the mode change. + */ void SetObjectToPlace(CursorID icon, PaletteID pal, HighLightStyle mode, WindowClass window_class, WindowNumber window_num) { if (_thd.window_class != WC_INVALID) { @@ -2967,6 +3206,7 @@ void SetObjectToPlace(CursorID icon, PaletteID pal, HighLightStyle mode, WindowC } +/** Reset the cursor and mouse mode handling back to default (normal cursor, only clicking in windows). */ void ResetObjectToPlace() { SetObjectToPlace(SPR_CURSOR_MOUSE, PAL_NONE, HT_NONE, WC_MAIN_WINDOW, 0); diff --git a/src/viewport_func.h b/src/viewport_func.h index 7d86dda989..cbdcc5019a 100644 --- a/src/viewport_func.h +++ b/src/viewport_func.h @@ -25,6 +25,7 @@ void SetSelectionRed(bool); void DeleteWindowViewport(Window *w); void InitializeWindowViewport(Window *w, int x, int y, int width, int height, uint32 follow_flags, ZoomLevel zoom); ViewPort *IsPtInWindowViewport(const Window *w, int x, int y); +Point TranslateXYToTileCoord(const ViewPort *vp, int x, int y, bool clamp_to_map = true); Point GetTileBelowCursor(); void UpdateViewportPosition(Window *w); @@ -77,7 +78,9 @@ void UpdateAllVirtCoords(); extern Point _tile_fract_coords; -void MarkTileDirtyByTile(TileIndex tile); +void MarkTileDirtyByTile(TileIndex tile, int bridge_level_offset = 0); + +void MarkTileDirtyByTileOutsideMap(int x, int y); Point GetViewportStationMiddle(const ViewPort *vp, const Station *st); diff --git a/src/viewport_gui.cpp b/src/viewport_gui.cpp index ab8125fa1f..90b0e1468f 100644 --- a/src/viewport_gui.cpp +++ b/src/viewport_gui.cpp @@ -22,6 +22,8 @@ #include "table/strings.h" #include "table/sprites.h" +#include "safeguards.h" + /* Extra ViewPort Window Stuff */ static const NWidgetPart _nested_extra_view_port_widgets[] = { NWidget(NWID_HORIZONTAL), diff --git a/src/viewport_sprite_sorter_sse4.cpp b/src/viewport_sprite_sorter_sse4.cpp index 7cd48e7d9b..05a7f8aa1c 100644 --- a/src/viewport_sprite_sorter_sse4.cpp +++ b/src/viewport_sprite_sorter_sse4.cpp @@ -16,6 +16,8 @@ #include "smmintrin.h" #include "viewport_sprite_sorter.h" +#include "safeguards.h" + #ifdef _SQ64 assert_compile((sizeof(ParentSpriteToDraw) % 16) == 0); #define LOAD_128 _mm_load_si128 diff --git a/src/viewport_type.h b/src/viewport_type.h index 800c8b4952..07485c3243 100644 --- a/src/viewport_type.h +++ b/src/viewport_type.h @@ -14,6 +14,7 @@ #include "zoom_type.h" #include "strings_type.h" +#include "table/strings.h" class LinkGraphOverlay; @@ -50,7 +51,7 @@ struct ViewportSign { uint16 width_normal; ///< The width when not zoomed out (normal font) uint16 width_small; ///< The width when zoomed out (small font) - void UpdatePosition(int center, int top, StringID str); + void UpdatePosition(int center, int top, StringID str, StringID str_small = STR_NULL); void MarkDirty(ZoomLevel maxzoom = ZOOM_LVL_MAX) const; }; diff --git a/src/void_cmd.cpp b/src/void_cmd.cpp index cd8d9caa69..ffe54df992 100644 --- a/src/void_cmd.cpp +++ b/src/void_cmd.cpp @@ -13,13 +13,16 @@ #include "tile_cmd.h" #include "command_func.h" #include "viewport_func.h" +#include "slope_func.h" #include "table/strings.h" #include "table/sprites.h" +#include "safeguards.h" + static void DrawTile_Void(TileInfo *ti) { - DrawGroundSprite(SPR_SHADOW_CELL, PAL_NONE); + DrawGroundSprite(SPR_FLAT_BARE_LAND + SlopeToSpriteOffset(ti->tileh), PALETTE_ALL_BLACK); } diff --git a/src/void_map.h b/src/void_map.h index 53ca068b2c..5ccc4e9d7d 100644 --- a/src/void_map.h +++ b/src/void_map.h @@ -27,7 +27,7 @@ static inline void MakeVoid(TileIndex t) _m[t].m3 = 0; _m[t].m4 = 0; _m[t].m5 = 0; - _m[t].m6 = 0; + _me[t].m6 = 0; _me[t].m7 = 0; } diff --git a/src/water_cmd.cpp b/src/water_cmd.cpp index 15c57afd56..4392eb2103 100644 --- a/src/water_cmd.cpp +++ b/src/water_cmd.cpp @@ -42,6 +42,8 @@ #include "table/strings.h" +#include "safeguards.h" + /** * Describes from which directions a specific slope can be flooded (if the tile is floodable at all). */ @@ -107,8 +109,7 @@ CommandCost CmdBuildShipDepot(TileIndex tile, DoCommandFlag flags, uint32 p1, ui return_cmd_error(STR_ERROR_MUST_BE_BUILT_ON_WATER); } - if ((MayHaveBridgeAbove(tile) && IsBridgeAbove(tile)) || - (MayHaveBridgeAbove(tile2) && IsBridgeAbove(tile2))) return_cmd_error(STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST); + if (IsBridgeAbove(tile) || IsBridgeAbove(tile2)) return_cmd_error(STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST); if (!IsTileFlat(tile) || !IsTileFlat(tile2)) { /* Prevent depots on rapids */ @@ -262,8 +263,6 @@ static CommandCost DoBuildLock(TileIndex tile, DiagDirection dir, DoCommandFlag cost.AddCost(ret); /* lower tile */ - WaterClass wc_lower = IsWaterTile(tile - delta) ? GetWaterClass(tile - delta) : WATER_CLASS_CANAL; - if (!IsWaterTile(tile - delta)) { ret = DoCommand(tile - delta, 0, 0, flags, CMD_LANDSCAPE_CLEAR); if (ret.Failed()) return ret; @@ -273,10 +272,9 @@ static CommandCost DoBuildLock(TileIndex tile, DiagDirection dir, DoCommandFlag if (!IsTileFlat(tile - delta)) { return_cmd_error(STR_ERROR_LAND_SLOPED_IN_WRONG_DIRECTION); } + WaterClass wc_lower = IsWaterTile(tile - delta) ? GetWaterClass(tile - delta) : WATER_CLASS_CANAL; /* upper tile */ - WaterClass wc_upper = IsWaterTile(tile + delta) ? GetWaterClass(tile + delta) : WATER_CLASS_CANAL; - if (!IsWaterTile(tile + delta)) { ret = DoCommand(tile + delta, 0, 0, flags, CMD_LANDSCAPE_CLEAR); if (ret.Failed()) return ret; @@ -286,10 +284,9 @@ static CommandCost DoBuildLock(TileIndex tile, DiagDirection dir, DoCommandFlag if (!IsTileFlat(tile + delta)) { return_cmd_error(STR_ERROR_LAND_SLOPED_IN_WRONG_DIRECTION); } + WaterClass wc_upper = IsWaterTile(tile + delta) ? GetWaterClass(tile + delta) : WATER_CLASS_CANAL; - if ((MayHaveBridgeAbove(tile) && IsBridgeAbove(tile)) || - (MayHaveBridgeAbove(tile - delta) && IsBridgeAbove(tile - delta)) || - (MayHaveBridgeAbove(tile + delta) && IsBridgeAbove(tile + delta))) { + if (IsBridgeAbove(tile) || IsBridgeAbove(tile - delta) || IsBridgeAbove(tile + delta)) { return_cmd_error(STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST); } diff --git a/src/water_map.h b/src/water_map.h index cfec9cc38b..ab249a8279 100644 --- a/src/water_map.h +++ b/src/water_map.h @@ -360,7 +360,7 @@ static inline void MakeShore(TileIndex t) _m[t].m3 = 0; _m[t].m4 = 0; _m[t].m5 = WBL_TYPE_NORMAL << WBL_TYPE_BEGIN | 1 << WBL_COAST_FLAG; - SB(_m[t].m6, 2, 4, 0); + SB(_me[t].m6, 2, 4, 0); _me[t].m7 = 0; } @@ -380,7 +380,7 @@ static inline void MakeWater(TileIndex t, Owner o, WaterClass wc, uint8 random_b _m[t].m3 = 0; _m[t].m4 = random_bits; _m[t].m5 = WBL_TYPE_NORMAL << WBL_TYPE_BEGIN; - SB(_m[t].m6, 2, 4, 0); + SB(_me[t].m6, 2, 4, 0); _me[t].m7 = 0; } @@ -433,7 +433,7 @@ static inline void MakeShipDepot(TileIndex t, Owner o, DepotID did, DepotPart pa _m[t].m3 = 0; _m[t].m4 = 0; _m[t].m5 = WBL_TYPE_DEPOT << WBL_TYPE_BEGIN | part << WBL_DEPOT_PART | a << WBL_DEPOT_AXIS; - SB(_m[t].m6, 2, 4, 0); + SB(_me[t].m6, 2, 4, 0); _me[t].m7 = 0; } @@ -455,7 +455,7 @@ static inline void MakeLockTile(TileIndex t, Owner o, LockPart part, DiagDirecti _m[t].m3 = 0; _m[t].m4 = 0; _m[t].m5 = WBL_TYPE_LOCK << WBL_TYPE_BEGIN | part << WBL_LOCK_PART_BEGIN | dir << WBL_LOCK_ORIENT_BEGIN; - SB(_m[t].m6, 2, 4, 0); + SB(_me[t].m6, 2, 4, 0); _me[t].m7 = 0; } diff --git a/src/waypoint.cpp b/src/waypoint.cpp index 9500aba82b..857f8ba874 100644 --- a/src/waypoint.cpp +++ b/src/waypoint.cpp @@ -16,6 +16,8 @@ #include "newgrf_station.h" #include "waypoint_base.h" +#include "safeguards.h" + /** * Draw a waypoint * @param x coordinate diff --git a/src/waypoint_cmd.cpp b/src/waypoint_cmd.cpp index 1a3d6e6e94..efa48003f2 100644 --- a/src/waypoint_cmd.cpp +++ b/src/waypoint_cmd.cpp @@ -32,6 +32,8 @@ #include "table/strings.h" +#include "safeguards.h" + /** * Update the virtual coords needed to draw the waypoint sign. */ @@ -131,7 +133,7 @@ static CommandCost IsValidTileForWaypoint(TileIndex tile, Axis axis, StationID * return_cmd_error(STR_ERROR_FLAT_LAND_REQUIRED); } - if (MayHaveBridgeAbove(tile) && IsBridgeAbove(tile)) return_cmd_error(STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST); + if (IsBridgeAbove(tile)) return_cmd_error(STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST); return CommandCost(); } @@ -287,7 +289,7 @@ CommandCost CmdBuildRailWaypoint(TileIndex start_tile, DoCommandFlag flags, uint CommandCost CmdBuildBuoy(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 p2, const char *text) { if (tile == 0 || !HasTileWaterGround(tile)) return_cmd_error(STR_ERROR_SITE_UNSUITABLE); - if (MayHaveBridgeAbove(tile) && IsBridgeAbove(tile)) return_cmd_error(STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST); + if (IsBridgeAbove(tile)) return_cmd_error(STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST); if (!IsTileFlat(tile)) return_cmd_error(STR_ERROR_SITE_UNSUITABLE); @@ -414,7 +416,7 @@ CommandCost CmdRenameWaypoint(TileIndex tile, DoCommandFlag flags, uint32 p1, ui if (flags & DC_EXEC) { free(wp->name); - wp->name = reset ? NULL : strdup(text); + wp->name = reset ? NULL : stredup(text); wp->UpdateVirtCoord(); } diff --git a/src/waypoint_gui.cpp b/src/waypoint_gui.cpp index d02a96057e..fa4deaac68 100644 --- a/src/waypoint_gui.cpp +++ b/src/waypoint_gui.cpp @@ -27,6 +27,8 @@ #include "table/strings.h" +#include "safeguards.h" + /** GUI for accessing waypoints and buoys. */ struct WaypointWindow : Window { private: @@ -65,7 +67,7 @@ public: } this->FinishInitNested(window_number); - if (this->wp->owner != OWNER_NONE) this->owner = this->wp->owner; + this->owner = this->wp->owner; this->flags |= WF_DISABLE_VP_SCROLL; NWidgetViewport *nvp = this->GetWidget(WID_W_VIEWPORT); @@ -76,13 +78,7 @@ public: ~WaypointWindow() { - Owner owner = this->owner; - - /* Buoys have no owner and can be used by everyone. Show only 'our' vehicles */ - if (!Company::IsValidID(owner)) owner = _local_company; - - /* Well, spectators otoh */ - if (Company::IsValidID(owner)) DeleteWindowById(GetWindowClassForVehicleType(this->vt), VehicleListIdentifier(VL_STATION_LIST, this->vt, owner, this->window_number).Pack(), false); + DeleteWindowById(GetWindowClassForVehicleType(this->vt), VehicleListIdentifier(VL_STATION_LIST, this->vt, this->owner, this->window_number).Pack(), false); } virtual void SetStringParameters(int widget) const diff --git a/src/widget.cpp b/src/widget.cpp index 31c5ea8532..3b50f710d4 100644 --- a/src/widget.cpp +++ b/src/widget.cpp @@ -22,10 +22,9 @@ #include "table/sprites.h" #include "table/strings.h" -#include "table/palettes.h" +#include "table/string_colours.h" -static const char *UPARROW = "\xEE\x8A\xA0"; ///< String containing an upwards pointing arrow. -static const char *DOWNARROW = "\xEE\x8A\xAA"; ///< String containing a downwards pointing arrow. +#include "safeguards.h" /** * Compute the vertical position of the draggable part of scrollbar @@ -342,10 +341,10 @@ static inline void DrawVerticalScrollbar(const Rect &r, Colours colour, bool up_ /* draw up/down buttons */ DrawFrameRect(r.left, r.top, r.right, r.top + height - 1, colour, (up_clicked) ? FR_LOWERED : FR_NONE); - DrawString(r.left + up_clicked, r.right + up_clicked, r.top + up_clicked, UPARROW, TC_BLACK, SA_HOR_CENTER); + DrawSprite(SPR_ARROW_UP, PAL_NONE, r.left + 1 + up_clicked, r.top + 1 + up_clicked); DrawFrameRect(r.left, r.bottom - (height - 1), r.right, r.bottom, colour, (down_clicked) ? FR_LOWERED : FR_NONE); - DrawString(r.left + down_clicked, r.right + down_clicked, r.bottom - (height - 1) + down_clicked, DOWNARROW, TC_BLACK, SA_HOR_CENTER); + DrawSprite(SPR_ARROW_DOWN, PAL_NONE, r.left + 1 + down_clicked, r.bottom - (height - 2) + down_clicked); int c1 = _colour_gradient[colour & 0xF][3]; int c2 = _colour_gradient[colour & 0xF][7]; @@ -523,13 +522,11 @@ static inline void DrawResizeBox(const Rect &r, Colours colour, bool at_left, bo * Draw a close box. * @param r Rectangle of the box. * @param colour Colour of the close box. - * @param str Cross to draw (#STR_BLACK_CROSS or #STR_SILVER_CROSS). */ -static inline void DrawCloseBox(const Rect &r, Colours colour, StringID str) +static inline void DrawCloseBox(const Rect &r, Colours colour) { - assert(str == STR_BLACK_CROSS || str == STR_SILVER_CROSS); // black or silver cross - DrawFrameRect(r.left, r.top, r.right, r.bottom, colour, FR_NONE); - DrawString(r.left, r.right, r.top + WD_CLOSEBOX_TOP, str, TC_FROMSTRING, SA_HOR_CENTER); + 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); } /** @@ -541,10 +538,12 @@ static inline void DrawCloseBox(const Rect &r, Colours colour, StringID str) */ void DrawCaption(const Rect &r, Colours colour, Owner owner, StringID str) { - DrawFrameRect(r.left, r.top, r.right, r.bottom, colour, FR_BORDERONLY); - DrawFrameRect(r.left + 1, r.top + 1, r.right - 1, r.bottom - 1, colour, (owner == INVALID_OWNER) ? FR_LOWERED | FR_DARKENED : FR_LOWERED | FR_DARKENED | FR_BORDERONLY); + bool company_owned = owner < MAX_COMPANIES; - if (owner != INVALID_OWNER) { + DrawFrameRect(r.left, r.top, r.right, r.bottom, colour, FR_BORDERONLY); + DrawFrameRect(r.left + 1, r.top + 1, r.right - 1, r.bottom - 1, colour, company_owned ? FR_LOWERED | FR_DARKENED | FR_BORDERONLY : FR_LOWERED | FR_DARKENED); + + if (company_owned) { GfxFillRect(r.left + 2, r.top + 2, r.right - 2, r.bottom - 2, _colour_gradient[_company_colours[owner]][4]); } @@ -569,17 +568,19 @@ static inline void DrawButtonDropdown(const Rect &r, Colours colour, bool clicke { int text_offset = max(0, ((int)(r.bottom - r.top + 1) - FONT_HEIGHT_NORMAL) / 2); // Offset for rendering the text vertically centered - int dd_width = NWidgetLeaf::dropdown_dimension.width; + int dd_width = NWidgetLeaf::dropdown_dimension.width; + int dd_height = NWidgetLeaf::dropdown_dimension.height; + int image_offset = max(0, ((int)(r.bottom - r.top + 1) - dd_height) / 2); if (_current_text_dir == TD_LTR) { DrawFrameRect(r.left, r.top, r.right - dd_width, r.bottom, colour, clicked_button ? FR_LOWERED : FR_NONE); DrawFrameRect(r.right + 1 - dd_width, r.top, r.right, r.bottom, colour, clicked_dropdown ? FR_LOWERED : FR_NONE); - DrawString(r.right - dd_width + (clicked_dropdown ? 2 : 1), r.right, r.top + (clicked_dropdown ? 2 : 1), DOWNARROW, TC_BLACK, SA_HOR_CENTER); + DrawSprite(SPR_ARROW_DOWN, PAL_NONE, r.right - (dd_width - 2) + clicked_dropdown, r.top + image_offset + clicked_dropdown); if (str != STR_NULL) DrawString(r.left + WD_DROPDOWNTEXT_LEFT + clicked_button, r.right - dd_width - WD_DROPDOWNTEXT_RIGHT + clicked_button, r.top + text_offset + clicked_button, str, TC_BLACK); } else { DrawFrameRect(r.left + dd_width, r.top, r.right, r.bottom, colour, clicked_button ? FR_LOWERED : FR_NONE); DrawFrameRect(r.left, r.top, r.left + dd_width - 1, r.bottom, colour, clicked_dropdown ? FR_LOWERED : FR_NONE); - DrawString(r.left + (clicked_dropdown ? 2 : 1), r.left + dd_width, r.top + (clicked_dropdown ? 2 : 1), DOWNARROW, TC_BLACK, SA_HOR_CENTER); + DrawSprite(SPR_ARROW_DOWN, PAL_NONE, r.left + 1 + clicked_dropdown, r.top + image_offset + clicked_dropdown); if (str != STR_NULL) DrawString(r.left + dd_width + WD_DROPDOWNTEXT_LEFT + clicked_button, r.right - WD_DROPDOWNTEXT_RIGHT + clicked_button, r.top + text_offset + clicked_button, str, TC_BLACK); } } @@ -640,11 +641,22 @@ void Window::DrawSortButtonState(int widget, SortButtonState state) const assert(this->nested_array != NULL); const NWidgetBase *nwid = this->GetWidget(widget); + /* Sort button uses the same sprites as vertical scrollbar */ + Dimension dim = NWidgetScrollbar::GetVerticalDimension(); int offset = this->IsWidgetLowered(widget) ? 1 : 0; - int base = offset + nwid->pos_x + (_current_text_dir == TD_LTR ? nwid->current_x - WD_SORTBUTTON_ARROW_WIDTH : 0); - int top = nwid->pos_y; + int x = offset + nwid->pos_x + (_current_text_dir == TD_LTR ? nwid->current_x - dim.width : 0); + int y = offset + nwid->pos_y + (nwid->current_y - dim.height) / 2; - DrawString(base, base + WD_SORTBUTTON_ARROW_WIDTH, top + 1 + offset, state == SBS_DOWN ? DOWNARROW : UPARROW, TC_BLACK, SA_HOR_CENTER); + DrawSprite(state == SBS_DOWN ? SPR_ARROW_DOWN : SPR_ARROW_UP, PAL_NONE, x, y); +} + +/** + * Get width of up/down arrow of sort button state. + * @return Width of space required by sort button arrow. + */ +int Window::SortButtonWidth() +{ + return NWidgetScrollbar::GetVerticalDimension().width + 1; } @@ -803,8 +815,8 @@ NWidgetResizeBase::NWidgetResizeBase(WidgetType tp, uint fill_x, uint fill_y) : */ void NWidgetResizeBase::SetMinimalSize(uint min_x, uint min_y) { - this->min_x = min_x; - this->min_y = min_y; + this->min_x = max(this->min_x, min_x); + this->min_y = max(this->min_y, min_y); } /** @@ -1977,24 +1989,6 @@ NWidgetScrollbar::NWidgetScrollbar(WidgetType tp, Colours colour, int index) : N { assert(tp == NWID_HSCROLLBAR || tp == NWID_VSCROLLBAR); this->SetIndex(index); - - switch (this->type) { - case NWID_HSCROLLBAR: - this->SetMinimalSize(0, NWidgetScrollbar::GetHorizontalDimension().height); - this->SetResize(1, 0); - this->SetFill(1, 0); - this->SetDataTip(0x0, STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST); - break; - - case NWID_VSCROLLBAR: - this->SetMinimalSize(NWidgetScrollbar::GetVerticalDimension().width, 0); - this->SetResize(0, 1); - this->SetFill(0, 1); - this->SetDataTip(0x0, STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST); - break; - - default: NOT_REACHED(); - } } void NWidgetScrollbar::SetupSmallestSize(Window *w, bool init_array) @@ -2003,6 +1997,27 @@ void NWidgetScrollbar::SetupSmallestSize(Window *w, bool init_array) assert(w->nested_array_size > (uint)this->index); w->nested_array[this->index] = this; } + this->min_x = 0; + this->min_y = 0; + + switch (this->type) { + case NWID_HSCROLLBAR: + this->SetMinimalSize(NWidgetScrollbar::GetHorizontalDimension().width * 3, NWidgetScrollbar::GetHorizontalDimension().height); + this->SetResize(1, 0); + this->SetFill(1, 0); + this->SetDataTip(0x0, STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST); + break; + + case NWID_VSCROLLBAR: + this->SetMinimalSize(NWidgetScrollbar::GetVerticalDimension().width, NWidgetScrollbar::GetVerticalDimension().height * 3); + this->SetResize(0, 1); + this->SetFill(0, 1); + this->SetDataTip(0x0, STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST); + break; + + default: NOT_REACHED(); + } + this->smallest_x = this->min_x; this->smallest_y = this->min_y; } @@ -2094,11 +2109,12 @@ Dimension NWidgetLeaf::dropdown_dimension = {0, 0}; * @param data Data of the widget. * @param tip Tooltip of the widget. */ -NWidgetLeaf::NWidgetLeaf(WidgetType tp, Colours colour, int index, uint16 data, StringID tip) : NWidgetCore(tp, colour, 1, 1, data, tip) +NWidgetLeaf::NWidgetLeaf(WidgetType tp, Colours colour, int index, uint32 data, StringID tip) : NWidgetCore(tp, colour, 1, 1, data, tip) { assert(index >= 0 || tp == WWT_LABEL || tp == WWT_TEXT || tp == WWT_CAPTION || tp == WWT_RESIZEBOX || tp == WWT_SHADEBOX || tp == WWT_DEFSIZEBOX || tp == WWT_DEBUGBOX || tp == WWT_STICKYBOX || tp == WWT_CLOSEBOX); if (index >= 0) this->SetIndex(index); - this->SetMinimalSize(0, 0); + this->min_x = 0; + this->min_y = 0; this->SetResize(0, 0); switch (tp) { @@ -2122,12 +2138,9 @@ NWidgetLeaf::NWidgetLeaf(WidgetType tp, Colours colour, int index, uint16 data, this->SetFill(0, 0); break; - case WWT_EDITBOX: { - Dimension sprite_size = GetSpriteSize(_current_text_dir == TD_RTL ? SPR_IMG_DELETE_RIGHT : SPR_IMG_DELETE_LEFT); - this->SetMinimalSize(30 + sprite_size.width, sprite_size.height); + case WWT_EDITBOX: this->SetFill(0, 0); break; - } case WWT_CAPTION: this->SetFill(1, 0); @@ -2169,7 +2182,7 @@ NWidgetLeaf::NWidgetLeaf(WidgetType tp, Colours colour, int index, uint16 data, case WWT_CLOSEBOX: this->SetFill(0, 0); this->SetMinimalSize(WD_CLOSEBOX_WIDTH, WD_CAPTION_HEIGHT); - this->SetDataTip(STR_BLACK_CROSS, STR_TOOLTIP_CLOSE_WINDOW); + this->SetDataTip(STR_NULL, STR_TOOLTIP_CLOSE_WINDOW); break; case WWT_DROPDOWN: @@ -2269,9 +2282,12 @@ void NWidgetLeaf::SetupSmallestSize(Window *w, bool init_array) size = maxdim(size, NWidgetLeaf::resizebox_dimension); break; } - case WWT_EDITBOX: - size.height = max(size.height, GetStringBoundingBox("_").height + WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM); + case WWT_EDITBOX: { + 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 */ + } case WWT_PUSHBTN: { static const Dimension extra = {WD_FRAMERECT_LEFT + WD_FRAMERECT_RIGHT, WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM}; padding = &extra; @@ -2304,7 +2320,7 @@ void NWidgetLeaf::SetupSmallestSize(Window *w, bool init_array) static const Dimension extra = {WD_CLOSEBOX_LEFT + WD_CLOSEBOX_RIGHT, WD_CLOSEBOX_TOP + WD_CLOSEBOX_BOTTOM}; padding = &extra; if (NWidgetLeaf::closebox_dimension.width == 0) { - NWidgetLeaf::closebox_dimension = maxdim(GetStringBoundingBox(STR_BLACK_CROSS), GetStringBoundingBox(STR_SILVER_CROSS)); + NWidgetLeaf::closebox_dimension = GetSpriteSize(SPR_CLOSEBOX); NWidgetLeaf::closebox_dimension.width += extra.width; NWidgetLeaf::closebox_dimension.height += extra.height; } @@ -2355,7 +2371,7 @@ void NWidgetLeaf::SetupSmallestSize(Window *w, bool init_array) if (this->index >= 0) w->SetStringParameters(this->index); Dimension d2 = GetStringBoundingBox(this->widget_data); d2.width += extra.width; - d2.height += extra.height; + d2.height = max(d2.height, NWidgetLeaf::dropdown_dimension.height) + extra.height; size = maxdim(size, d2); break; } @@ -2474,7 +2490,7 @@ void NWidgetLeaf::Draw(const Window *w) break; case WWT_CLOSEBOX: - DrawCloseBox(r, this->colour, this->widget_data); + DrawCloseBox(r, this->colour); break; case WWT_DROPDOWN: @@ -2508,10 +2524,10 @@ void NWidgetLeaf::Draw(const Window *w) bool NWidgetLeaf::ButtonHit(const Point &pt) { if (_current_text_dir == TD_LTR) { - int button_width = this->pos_x + this->current_x - 12; + int button_width = this->pos_x + this->current_x - NWidgetLeaf::dropdown_dimension.width; return pt.x < button_width; } else { - int button_left = this->pos_x + 12; + int button_left = this->pos_x + NWidgetLeaf::dropdown_dimension.width; return pt.x >= button_left; } } diff --git a/src/widget_type.h b/src/widget_type.h index 6d8b32bc9c..39efbb4637 100644 --- a/src/widget_type.h +++ b/src/widget_type.h @@ -769,7 +769,7 @@ private: */ class NWidgetLeaf : public NWidgetCore { public: - NWidgetLeaf(WidgetType tp, Colours colour, int index, uint16 data, StringID tip); + NWidgetLeaf(WidgetType tp, Colours colour, int index, uint32 data, StringID tip); /* virtual */ void SetupSmallestSize(Window *w, bool init_array); /* virtual */ void Draw(const Window *w); @@ -856,7 +856,7 @@ static inline uint ComputeMaxSize(uint base, uint max_space, uint step) * @ingroup NestedWidgetParts */ struct NWidgetPartDataTip { - uint16 data; ///< Data value of the widget. + uint32 data; ///< Data value of the widget. StringID tooltip; ///< Tooltip of the widget. }; @@ -1011,7 +1011,7 @@ static inline NWidgetPart EndContainer() * @param tip Tooltip of the widget. * @ingroup NestedWidgetParts */ -static inline NWidgetPart SetDataTip(uint16 data, StringID tip) +static inline NWidgetPart SetDataTip(uint32 data, StringID tip) { NWidgetPart part; diff --git a/src/widgets/autoreplace_widget.h b/src/widgets/autoreplace_widget.h index a302eea29f..7a98b6cd72 100644 --- a/src/widgets/autoreplace_widget.h +++ b/src/widgets/autoreplace_widget.h @@ -16,6 +16,11 @@ enum ReplaceVehicleWidgets { WID_RV_CAPTION, ///< Caption of the window. + /* Sort dropdown at the right. */ + WID_RV_SORT_ASCENDING_DESCENDING, ///< Ascending/descending sort order button. + WID_RV_SHOW_HIDDEN_ENGINES, ///< Toggle whether to display the hidden vehicles. + WID_RV_SORT_DROPDOWN, ///< Dropdown for the sort criteria. + /* Left and right matrix + details. */ WID_RV_LEFT_MATRIX, ///< The matrix on the left. WID_RV_LEFT_SCROLLBAR, ///< The scrollbar for the matrix on the left. diff --git a/src/widgets/build_vehicle_widget.h b/src/widgets/build_vehicle_widget.h index 6acad3f814..ae548587e2 100644 --- a/src/widgets/build_vehicle_widget.h +++ b/src/widgets/build_vehicle_widget.h @@ -15,13 +15,15 @@ /** Widgets of the #BuildVehicleWindow class. */ enum BuildVehicleWidgets { WID_BV_CAPTION, ///< Caption of window. - WID_BV_SORT_ASSENDING_DESCENDING, ///< Sort direction. + WID_BV_SORT_ASCENDING_DESCENDING, ///< Sort direction. WID_BV_SORT_DROPDOWN, ///< Criteria of sorting dropdown. WID_BV_CARGO_FILTER_DROPDOWN, ///< Cargo filter dropdown. + WID_BV_SHOW_HIDDEN_ENGINES, ///< Toggle whether to display the hidden vehicles. WID_BV_LIST, ///< List of vehicles. WID_BV_SCROLLBAR, ///< Scrollbar of list. WID_BV_PANEL, ///< Button panel. WID_BV_BUILD, ///< Build panel. + WID_BV_SHOW_HIDE, ///< Button to hide or show the selected engine. WID_BV_BUILD_SEL, ///< Build button. WID_BV_RENAME, ///< Rename button. }; diff --git a/src/widgets/dropdown.cpp b/src/widgets/dropdown.cpp index 6b0f60e37d..aecfc6b2f0 100644 --- a/src/widgets/dropdown.cpp +++ b/src/widgets/dropdown.cpp @@ -18,6 +18,8 @@ #include "dropdown_widget.h" +#include "../safeguards.h" + void DropDownListItem::Draw(int left, int right, int top, int bottom, bool sel, int bg_colour) const { @@ -80,7 +82,7 @@ static const NWidgetPart _nested_dropdown_menu_widgets[] = { static WindowDesc _dropdown_desc( WDP_MANUAL, NULL, 0, 0, WC_DROPDOWN_MENU, WC_NONE, - 0, + WDF_NO_FOCUS, _nested_dropdown_menu_widgets, lengthof(_nested_dropdown_menu_widgets) ); @@ -114,6 +116,8 @@ struct DropdownWindow : Window { DropdownWindow(Window *parent, const DropDownList *list, int selected, int button, bool instant_close, const Point &position, const Dimension &size, Colours wi_colour, bool scroll) : Window(&_dropdown_desc) { + assert(list->Length() > 0); + this->position = position; this->CreateNestedTree(); @@ -340,27 +344,18 @@ void ShowDropDownListAt(Window *w, const DropDownList *list, int selected, int b /* The preferred width equals the calling widget */ uint width = wi_rect.right - wi_rect.left + 1; + /* Longest item in the list, if auto_width is enabled */ uint max_item_width = 0; - if (auto_width) { - /* Find the longest item in the list */ - for (const DropDownListItem * const *it = list->Begin(); it != list->End(); ++it) { - const DropDownListItem *item = *it; - max_item_width = max(max_item_width, item->Width() + 5); - } - } - /* Total length of list */ - int list_height = 0; + int height = 0; for (const DropDownListItem * const *it = list->Begin(); it != list->End(); ++it) { const DropDownListItem *item = *it; - list_height += item->Height(width); + height += item->Height(width); + if (auto_width) max_item_width = max(max_item_width, item->Width() + 5); } - /* Height of window visible */ - int height = list_height; - /* Check if the status bar is visible, as we don't want to draw over it */ int screen_bottom = GetMainViewBottom(); bool scroll = false; @@ -373,7 +368,7 @@ void ShowDropDownListAt(Window *w, const DropDownList *list, int selected, int b } else { /* ... and lastly if it won't, enable the scroll bar and fit the * list in below the widget */ - int avg_height = list_height / (int)list->Length(); + int avg_height = height / (int)list->Length(); int rows = (screen_bottom - 4 - top) / avg_height; height = rows * avg_height; scroll = true; diff --git a/src/widgets/genworld_widget.h b/src/widgets/genworld_widget.h index 10727f1034..877efbb921 100644 --- a/src/widgets/genworld_widget.h +++ b/src/widgets/genworld_widget.h @@ -25,11 +25,12 @@ enum GenerateLandscapeWidgets { WID_GL_TOWN_PULLDOWN, ///< Dropdown 'No. of towns'. WID_GL_INDUSTRY_PULLDOWN, ///< Dropdown 'No. of industries'. - WID_GL_RANDOM_EDITBOX, ///< 'Random seed' editbox. - WID_GL_RANDOM_BUTTON, ///< 'Randomise' button. - WID_GL_GENERATE_BUTTON, ///< 'Generate' button. + WID_GL_MAX_HEIGHTLEVEL_DOWN, ///< Decrease max. heightlevel + WID_GL_MAX_HEIGHTLEVEL_TEXT, ///< Max. heightlevel + WID_GL_MAX_HEIGHTLEVEL_UP, ///< Increase max. heightlevel + WID_GL_START_DATE_DOWN, ///< Decrease start year. WID_GL_START_DATE_TEXT, ///< Start year. WID_GL_START_DATE_UP, ///< Increase start year. diff --git a/src/widgets/newgrf_debug_widget.h b/src/widgets/newgrf_debug_widget.h index b719bcfc59..22a5cda40e 100644 --- a/src/widgets/newgrf_debug_widget.h +++ b/src/widgets/newgrf_debug_widget.h @@ -25,19 +25,21 @@ enum NewGRFInspectWidgets { /** Widgets of the #SpriteAlignerWindow class. */ enum SpriteAlignerWidgets { - WID_SA_CAPTION, ///< Caption of the window. - WID_SA_PREVIOUS, ///< Skip to the previous sprite. - WID_SA_GOTO, ///< Go to a given sprite. - WID_SA_NEXT, ///< Skip to the next sprite. - WID_SA_UP, ///< Move the sprite up. - WID_SA_LEFT, ///< Move the sprite to the left. - WID_SA_RIGHT, ///< Move the sprite to the right. - WID_SA_DOWN, ///< Move the sprite down. - WID_SA_SPRITE, ///< The actual sprite. - WID_SA_OFFSETS, ///< The sprite offsets. - WID_SA_PICKER, ///< Sprite picker. - WID_SA_LIST, ///< Queried sprite list. - WID_SA_SCROLLBAR, ///< Scrollbar for sprite list. + WID_SA_CAPTION, ///< Caption of the window. + WID_SA_PREVIOUS, ///< Skip to the previous sprite. + WID_SA_GOTO, ///< Go to a given sprite. + WID_SA_NEXT, ///< Skip to the next sprite. + WID_SA_UP, ///< Move the sprite up. + WID_SA_LEFT, ///< Move the sprite to the left. + WID_SA_RIGHT, ///< Move the sprite to the right. + WID_SA_DOWN, ///< Move the sprite down. + WID_SA_SPRITE, ///< The actual sprite. + WID_SA_OFFSETS_ABS, ///< The sprite offsets (absolute). + WID_SA_OFFSETS_REL, ///< The sprite offsets (relative). + WID_SA_PICKER, ///< Sprite picker. + WID_SA_LIST, ///< Queried sprite list. + WID_SA_SCROLLBAR, ///< Scrollbar for sprite list. + WID_SA_RESET_REL, ///< Reset relative sprite offset }; #endif /* WIDGETS_NEWGRF_DEBUG_WIDGET_H */ diff --git a/src/widgets/newgrf_widget.h b/src/widgets/newgrf_widget.h index 878dcb891e..271b6669ad 100644 --- a/src/widgets/newgrf_widget.h +++ b/src/widgets/newgrf_widget.h @@ -39,6 +39,7 @@ enum NewGRFStateWidgets { WID_NS_REMOVE, ///< Remove NewGRF from active list. WID_NS_MOVE_UP, ///< Move NewGRF up in active list. WID_NS_MOVE_DOWN, ///< Move NewGRF down in active list. + WID_NS_UPGRADE, ///< Upgrade NewGRFs that have a newer version available. WID_NS_FILTER, ///< Filter list of available NewGRFs. WID_NS_FILE_LIST, ///< List window of active NewGRFs. WID_NS_SCROLLBAR, ///< Scrollbar for active NewGRF list. @@ -60,6 +61,15 @@ enum NewGRFStateWidgets { WID_NS_SHOW_APPLY, ///< Select display of the buttons below the 'details'. }; +/** Widgets of the #SavePresetWindow class. */ +enum SavePresetWidgets { + WID_SVP_PRESET_LIST, ///< List with available preset names. + WID_SVP_SCROLLBAR, ///< Scrollbar for the list available preset names. + WID_SVP_EDITBOX, ///< Edit box for changing the preset name. + WID_SVP_CANCEL, ///< Button to cancel saving the preset. + WID_SVP_SAVE, ///< Button to save the preset. +}; + /** Widgets of the #ScanProgressWindow class. */ enum ScanProgressWidgets { WID_SP_PROGRESS_BAR, ///< Simple progress bar. diff --git a/src/widgets/settings_widget.h b/src/widgets/settings_widget.h index 6f045a2a25..661f788cd7 100644 --- a/src/widgets/settings_widget.h +++ b/src/widgets/settings_widget.h @@ -23,7 +23,7 @@ enum GameOptionsWidgets { WID_GO_LANG_DROPDOWN, ///< Language dropdown. WID_GO_RESOLUTION_DROPDOWN, ///< Dropdown for the resolution. WID_GO_FULLSCREEN_BUTTON, ///< Toggle fullscreen. - WID_GO_SCREENSHOT_DROPDOWN, ///< Select the screenshot type... please use PNG!. + WID_GO_GUI_ZOOM_DROPDOWN, ///< Dropdown for the GUI zoom level. WID_GO_BASE_GRF_DROPDOWN, ///< Use to select a base GRF. WID_GO_BASE_GRF_STATUS, ///< Info about missing files etc. WID_GO_BASE_GRF_TEXTFILE, ///< Open base GRF readme, changelog (+1) or license (+2). diff --git a/src/widgets/sign_widget.h b/src/widgets/sign_widget.h index 676e6741b1..f390793ceb 100644 --- a/src/widgets/sign_widget.h +++ b/src/widgets/sign_widget.h @@ -34,4 +34,4 @@ enum QueryEditSignWidgets { WID_QES_NEXT, ///< Next button. }; -#endif /* */ +#endif /* SIGN_WIDGET_H */ diff --git a/src/window.cpp b/src/window.cpp index 8f97693f60..18e8f35881 100644 --- a/src/window.cpp +++ b/src/window.cpp @@ -37,6 +37,8 @@ #include "game/game.hpp" #include "video/video_driver.hpp" +#include "safeguards.h" + /** Values for _settings_client.gui.auto_scrolling */ enum ViewportAutoscrolling { VA_DISABLED, //!< Do not autoscroll when mouse is at edge of viewport. @@ -85,12 +87,10 @@ static SmallVector *_window_descs = NULL; char *_windows_file; /** Window description constructor. */ -WindowDesc::WindowDesc(WindowPosition def_pos, const char *ini_key, int16 def_width, int16 def_height, +WindowDesc::WindowDesc(WindowPosition def_pos, const char *ini_key, int16 def_width_trad, int16 def_height_trad, WindowClass window_class, WindowClass parent_class, uint32 flags, const NWidgetPart *nwid_parts, int16 nwid_length, HotkeyList *hotkeys) : default_pos(def_pos), - default_width(def_width), - default_height(def_height), cls(window_class), parent_cls(parent_class), ini_key(ini_key), @@ -100,7 +100,9 @@ WindowDesc::WindowDesc(WindowPosition def_pos, const char *ini_key, int16 def_wi hotkeys(hotkeys), pref_sticky(false), pref_width(0), - pref_height(0) + pref_height(0), + default_width_trad(def_width_trad), + default_height_trad(def_height_trad) { if (_window_descs == NULL) _window_descs = new SmallVector(); *_window_descs->Append() = this; @@ -111,6 +113,26 @@ WindowDesc::~WindowDesc() _window_descs->Erase(_window_descs->Find(this)); } +/** + * Determine default width of window. + * This is either a stored user preferred size, or the build-in default. + * @return Width in pixels. + */ +int16 WindowDesc::GetDefaultWidth() const +{ + return this->pref_width != 0 ? this->pref_width : ScaleGUITrad(this->default_width_trad); +} + +/** + * Determine default height of window. + * This is either a stored user preferred size, or the build-in default. + * @return Height in pixels. + */ +int16 WindowDesc::GetDefaultHeight() const +{ + return this->pref_height != 0 ? this->pref_height : ScaleGUITrad(this->default_height_trad); +} + /** * Load all WindowDesc settings from _windows_file. */ @@ -446,7 +468,7 @@ bool EditBoxInGlobalFocus() void Window::UnfocusFocusedWidget() { if (this->nested_focus != NULL) { - if (this->nested_focus->type == WWT_EDITBOX) _video_driver->EditBoxLostFocus(); + if (this->nested_focus->type == WWT_EDITBOX) VideoDriver::GetInstance()->EditBoxLostFocus(); /* Repaint the widget that lost focus. A focused edit box may else leave the caret on the screen. */ this->nested_focus->SetDirty(this); @@ -470,7 +492,7 @@ bool Window::SetFocusedWidget(int widget_index) /* Repaint the widget that lost focus. A focused edit box may else leave the caret on the screen. */ this->nested_focus->SetDirty(this); - if (this->nested_focus->type == WWT_EDITBOX) _video_driver->EditBoxLostFocus(); + if (this->nested_focus->type == WWT_EDITBOX) VideoDriver::GetInstance()->EditBoxLostFocus(); } this->nested_focus = this->GetWidget(widget_index); return true; @@ -481,7 +503,7 @@ bool Window::SetFocusedWidget(int widget_index) */ void Window::OnFocusLost() { - if (this->nested_focus != NULL && this->nested_focus->type == WWT_EDITBOX) _video_driver->EditBoxLostFocus(); + if (this->nested_focus != NULL && this->nested_focus->type == WWT_EDITBOX) VideoDriver::GetInstance()->EditBoxLostFocus(); } /** @@ -750,7 +772,7 @@ static void DispatchRightClickEvent(Window *w, int x, int y) if (w->OnRightClick(pt, wid->index)) return; } - if (_settings_client.gui.hover_delay == 0 && wid->tool_tip != 0) GuiShowTooltips(w, wid->tool_tip, 0, NULL, TCC_RIGHT_CLICK); + if (_settings_client.gui.hover_delay_ms == 0 && wid->tool_tip != 0) GuiShowTooltips(w, wid->tool_tip, 0, NULL, TCC_RIGHT_CLICK); } /** @@ -1057,7 +1079,16 @@ Window::~Window() free(this->nested_array); // Contents is released through deletion of #nested_root. delete this->nested_root; - this->window_class = WC_INVALID; + /* + * Make fairly sure that this is written, and not "optimized" away. + * The delete operator is overwritten to not delete it; the deletion + * happens at a later moment in time after the window has been + * removed from the list of windows to prevent issues with items + * being removed during the iteration as not one but more windows + * may be removed by a single call to ~Window by means of the + * DeleteChildWindows function. + */ + const_cast(this->window_class) = WC_INVALID; } /** @@ -1265,6 +1296,7 @@ static uint GetWindowZPriority(const Window *w) case WC_CONFIRM_POPUP_QUERY: case WC_MODAL_PROGRESS: case WC_NETWORK_STATUS_WINDOW: + case WC_SAVE_PRESET: ++z_priority; case WC_GENERATE_LANDSCAPE: @@ -2876,7 +2908,7 @@ void HandleMouseEvents() static uint32 hover_time = 0; static Point hover_pos = {0, 0}; - if (_settings_client.gui.hover_delay > 0) { + if (_settings_client.gui.hover_delay_ms > 0) { if (!_cursor.in_window || click != MC_NONE || mousewheel != 0 || _left_button_down || _right_button_down || hover_pos.x == 0 || abs(_cursor.pos.x - hover_pos.x) >= MAX_OFFSET_HOVER || hover_pos.y == 0 || abs(_cursor.pos.y - hover_pos.y) >= MAX_OFFSET_HOVER) { @@ -2884,7 +2916,7 @@ void HandleMouseEvents() hover_time = _realtime_tick; _mouse_hovering = false; } else { - if (hover_time != 0 && _realtime_tick > hover_time + _settings_client.gui.hover_delay * 1000) { + if (hover_time != 0 && _realtime_tick > hover_time + _settings_client.gui.hover_delay_ms) { click = MC_HOVER; _input_events_this_tick++; _mouse_hovering = true; @@ -3261,6 +3293,9 @@ void ReInitAllWindows() NWidgetLeaf::InvalidateDimensionCache(); // Reset cached sizes of several widgets. NWidgetScrollbar::InvalidateDimensionCache(); + extern void InitDepotWindowBlockSizes(); + InitDepotWindowBlockSizes(); + Window *w; FOR_ALL_WINDOWS_FROM_BACK(w) { w->ReInit(); @@ -3382,7 +3417,7 @@ void RelocateAllWindows(int neww, int newh) continue; case WC_MAIN_TOOLBAR: - ResizeWindow(w, min(neww, w->window_desc->default_width) - w->width, 0, false); + ResizeWindow(w, min(neww, _toolbar_width) - w->width, 0, false); top = w->top; left = PositionMainToolbar(w); // changes toolbar orientation @@ -3394,14 +3429,15 @@ void RelocateAllWindows(int neww, int newh) break; case WC_STATUS_BAR: - ResizeWindow(w, min(neww, w->window_desc->default_width) - w->width, 0, false); + ResizeWindow(w, min(neww, _toolbar_width) - w->width, 0, false); top = newh - w->height; left = PositionStatusbar(w); break; case WC_SEND_NETWORK_MSG: - ResizeWindow(w, Clamp(neww, 320, 640) - w->width, 0, false); + ResizeWindow(w, min(neww, _toolbar_width) - w->width, 0, false); + top = newh - w->height - FindWindowById(WC_STATUS_BAR, 0)->height; left = PositionNetworkChatWindow(w); break; diff --git a/src/window_gui.h b/src/window_gui.h index bf8500f0f3..b81b06e391 100644 --- a/src/window_gui.h +++ b/src/window_gui.h @@ -136,8 +136,6 @@ enum WidgetDrawDistances { WD_DROPDOWNTEXT_TOP = 1, ///< Top offset of the dropdown widget string. WD_DROPDOWNTEXT_BOTTOM = 1, ///< Bottom offset of the dropdown widget string. - WD_SORTBUTTON_ARROW_WIDTH = 11, ///< Width of up/down arrow of sort button state. - WD_PAR_VSEP_NORMAL = 2, ///< Normal amount of vertical space between two paragraphs of text. WD_PAR_VSEP_WIDE = 8, ///< Large amount of vertical space between two paragraphs of text. }; @@ -169,15 +167,13 @@ struct HotkeyList; */ struct WindowDesc : ZeroedMemoryAllocator { - WindowDesc(WindowPosition default_pos, const char *ini_key, int16 def_width, int16 def_height, + WindowDesc(WindowPosition default_pos, const char *ini_key, int16 def_width_trad, int16 def_height_trad, WindowClass window_class, WindowClass parent_class, uint32 flags, const NWidgetPart *nwid_parts, int16 nwid_length, HotkeyList *hotkeys = NULL); ~WindowDesc(); WindowPosition default_pos; ///< Preferred position of the window. @see WindowPosition() - int16 default_width; ///< Preferred initial width of the window. - int16 default_height; ///< Preferred initial height of the window. WindowClass cls; ///< Class of the window, @see WindowClass. WindowClass parent_cls; ///< Class of the parent window. @see WindowClass const char *ini_key; ///< Key to store window defaults in openttd.cfg. \c NULL if nothing shall be stored. @@ -190,13 +186,16 @@ struct WindowDesc : ZeroedMemoryAllocator { int16 pref_width; ///< User-preferred width of the window. Zero if unset. int16 pref_height; ///< User-preferred height of the window. Zero if unset. - int16 GetDefaultWidth() const { return this->pref_width != 0 ? this->pref_width : this->default_width; } - int16 GetDefaultHeight() const { return this->pref_height != 0 ? this->pref_height : this->default_height; } + int16 GetDefaultWidth() const; + int16 GetDefaultHeight() const; static void LoadFromConfig(); static void SaveToConfig(); private: + int16 default_width_trad; ///< Preferred initial width of the window (pixels at 1x zoom). + int16 default_height_trad; ///< Preferred initial height of the window (pixels at 1x zoom). + /** * Dummy private copy constructor to prevent compilers from * copying the structure, which fails due to _window_descs. @@ -273,7 +272,7 @@ struct Window : ZeroedMemoryAllocator { protected: void InitializeData(WindowNumber window_number); void InitializePositionSize(int x, int y, int min_width, int min_height); - void FindWindowPlacementAndResize(int def_width, int def_height); + virtual void FindWindowPlacementAndResize(int def_width, int def_height); SmallVector scheduled_invalidation_data; ///< Data of scheduled OnInvalidateData() calls. @@ -509,6 +508,7 @@ public: void DrawWidgets() const; void DrawViewport() const; void DrawSortButtonState(int widget, SortButtonState state) const; + static int SortButtonWidth(); void DeleteChildWindows(WindowClass wc = WC_INVALID) const; @@ -849,14 +849,17 @@ Window *FindWindowFromPt(int x, int y); /** * Open a new window. + * @tparam Wcls %Window class to use if the window does not exist. * @param desc The pointer to the WindowDesc to be created * @param window_number the window number of the new window - * @return see Window pointer of the newly created window + * @param return_existing If set, also return the window if it already existed. + * @return %Window pointer of the newly created window, or the existing one if \a return_existing is set, or \c NULL. */ template -Wcls *AllocateWindowDescFront(WindowDesc *desc, int window_number) +Wcls *AllocateWindowDescFront(WindowDesc *desc, int window_number, bool return_existing = false) { - if (BringWindowToFrontById(desc->cls, window_number)) return NULL; + Wcls *w = static_cast(BringWindowToFrontById(desc->cls, window_number)); + if (w != NULL) return return_existing ? w : NULL; return new Wcls(desc, window_number); } diff --git a/src/window_type.h b/src/window_type.h index 9727cf9f12..809e81d485 100644 --- a/src/window_type.h +++ b/src/window_type.h @@ -446,7 +446,7 @@ enum WindowClass { /** * Generate landscape (newgame); %Window numbers: * - GLWM_SCENARIO = #CreateScenarioWidgets - * - #GenenerateLandscapeWindowMode = #GenerateLandscapeWidgets + * - #GenerateLandscapeWindowMode = #GenerateLandscapeWidgets */ WC_GENERATE_LANDSCAPE, @@ -670,11 +670,17 @@ enum WindowClass { WC_SPRITE_ALIGNER, /** - * Linkgraph legend; Window numbers: + * Linkgraph legend; %Window numbers: * - 0 = #LinkGraphWidgets */ WC_LINKGRAPH_LEGEND, + /** + * Save preset; %Window numbers: + * - 0 = #SavePresetWidgets + */ + WC_SAVE_PRESET, + WC_INVALID = 0xFFFF, ///< Invalid window. }; diff --git a/src/zoom_func.h b/src/zoom_func.h index 5f1bf830d9..1cb3d0c486 100644 --- a/src/zoom_func.h +++ b/src/zoom_func.h @@ -64,4 +64,24 @@ static inline int UnScaleByZoomLower(int value, ZoomLevel zoom) return value >> zoom; } +/** + * Short-hand to apply GUI zoom level. + * @param value Pixel amount at #ZOOM_LVL_BEGIN (full zoom in). + * @return value Pixel amount at #ZOOM_LVL_GUI. + */ +static inline int UnScaleGUI(int value) +{ + return UnScaleByZoom(value, ZOOM_LVL_GUI); +} + +/** + * Scale traditional pixel dimensions to GUI zoom level. + * @param value Pixel amount at 1x zoom level. + * @return value Pixel amount at #ZOOM_LVL_GUI. + */ +static inline int ScaleGUITrad(int value) +{ + return UnScaleGUI(value * ZOOM_LVL_BASE); +} + #endif /* ZOOM_FUNC_H */ diff --git a/src/zoom_type.h b/src/zoom_type.h index 37ffc153cd..c29f136cf3 100644 --- a/src/zoom_type.h +++ b/src/zoom_type.h @@ -33,7 +33,6 @@ enum ZoomLevel { /* Here we define in which zoom viewports are */ ZOOM_LVL_VIEWPORT = ZOOM_LVL_OUT_4X, ///< Default zoom level for viewports. - ZOOM_LVL_GUI = ZOOM_LVL_OUT_4X, ///< Default zoom level for GUI sprites. ZOOM_LVL_NEWS = ZOOM_LVL_OUT_4X, ///< Default zoom level for the news messages. ZOOM_LVL_INDUSTRY = ZOOM_LVL_OUT_8X, ///< Default zoom level for the industry view. ZOOM_LVL_TOWN = ZOOM_LVL_OUT_8X, ///< Default zoom level for the town view. @@ -53,4 +52,7 @@ DECLARE_POSTFIX_INCREMENT(ZoomLevel) /** Type for storing the zoom level in a byte. */ typedef SimpleTinyEnumT ZoomLevelByte; +extern ZoomLevelByte _gui_zoom; +#define ZOOM_LVL_GUI (_gui_zoom) + #endif /* ZOOM_TYPE_H */